aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--ChangeLog80
-rw-r--r--Makefile.am12
-rw-r--r--Makefile.in12
-rw-r--r--NEWS5
-rw-r--r--README2
-rw-r--r--README_d/ChangeLog8
-rw-r--r--README_d/README.VMS3
-rw-r--r--README_d/README.solaris23
-rw-r--r--awkgram.c2619
-rw-r--r--awkgram.y38
-rw-r--r--command.c1429
-rwxr-xr-xconfigure6
-rw-r--r--configure.ac8
-rw-r--r--dfa.c30
-rw-r--r--doc/ChangeLog55
-rw-r--r--doc/gawk.19
-rw-r--r--doc/gawk.info1738
-rw-r--r--doc/gawk.texi1027
-rw-r--r--doc/gawkinet.info72
-rw-r--r--doc/gawkinet.texi6
-rw-r--r--doc/gawktexi.in1017
-rw-r--r--doc/texinfo.tex210
-rw-r--r--extension/ChangeLog4
-rw-r--r--extension/time.c31
-rw-r--r--field.c6
-rw-r--r--getopt.c2
-rw-r--r--getopt.h2
-rw-r--r--getopt1.c2
-rw-r--r--getopt_int.h2
-rw-r--r--interpret.h2
-rw-r--r--pc/ChangeLog39
-rw-r--r--pc/Makefile.tst68
-rw-r--r--pc/config.h12
-rw-r--r--pc/popen.c23
-rw-r--r--po/LINGUAS1
-rw-r--r--po/ca.gmobin0 -> 43102 bytes
-rw-r--r--po/ca.po3439
-rw-r--r--po/fi.gmobin84089 -> 84555 bytes
-rw-r--r--po/fi.po1063
-rw-r--r--po/fr.gmobin85144 -> 85628 bytes
-rw-r--r--po/fr.po1423
-rw-r--r--po/gawk.pot1041
-rw-r--r--po/it.gmobin80497 -> 81018 bytes
-rw-r--r--po/it.po1042
-rw-r--r--po/nl.gmobin69748 -> 80863 bytes
-rw-r--r--po/nl.po1481
-rw-r--r--po/sv.gmobin80433 -> 80916 bytes
-rw-r--r--po/sv.po1297
-rw-r--r--po/vi.gmobin92142 -> 93025 bytes
-rw-r--r--po/vi.po1611
-rw-r--r--regex.c2
-rw-r--r--regex.h4
-rw-r--r--regex_internal.c2
-rw-r--r--regex_internal.h2
-rw-r--r--test/ChangeLog43
-rw-r--r--test/Makefile.am33
-rw-r--r--test/Makefile.in39
-rw-r--r--test/Maketests5
-rw-r--r--test/mpfrnegzero.awk15
-rw-r--r--test/mpfrnegzero.ok9
-rw-r--r--test/readdir0.awk25
-rw-r--r--test/split_after_fpat.awk11
-rw-r--r--test/split_after_fpat.in1
-rw-r--r--test/split_after_fpat.ok4
-rw-r--r--test/strftime.awk42
-rw-r--r--vms/ChangeLog15
-rw-r--r--vms/generate_config_vms_h_gawk.com40
-rw-r--r--vms/vms-notes1148
-rw-r--r--vms/vmstest.com17
70 files changed, 11994 insertions, 10466 deletions
diff --git a/.gitignore b/.gitignore
index 1d665c4d..71be0874 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,10 +11,7 @@ Makefile
config.h
config.log
config.status
-dgawk
gawk
-pgawk
stamp-h1
-libtool
test/fmtspcl.ok
diff --git a/ChangeLog b/ChangeLog
index 7a43b4f3..02da28db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,83 @@
+2014-02-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * regex.h, regex.c, regex_internal.c, regex_internal.h: Sync
+ with GLIBC. Mainly copyright updates.
+ * getopt.c, getopt.h, getopt1.c, getopt_int.h: Ditto.
+ * dfa.c (parse_bracket_exp): Sync with grep, where they restored
+ the buggy code. Sigh.
+
+ Unrelated:
+
+ * NEWS: Typo fix.
+ * interpret.h (r_interpret): Init a variable for BEGINFILE to avoid
+ compiler warnings. Thanks to Michal Jaegermann.
+
+2014-02-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awkgram.c, command.c: Regenerated - Bison 3.0.2.
+
+2014-02-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c (to_uchar): Make use of this. Syncs with GNU grep.
+
+2014-02-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awkgram.y (negate_num): Bracket `tval' in #ifdef MPFR since it's
+ only used in that code.
+
+2014-01-31 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (dist-hook): Improve creation of pc/config.h. We
+ have to jump through a lot of hoops for 'make distcheck' to
+ actually work.
+
+2014-01-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (dist-hook): Improve creation of pc/config.h to copy
+ the new file into the distribution directory being created.
+ Also, put the temporary files into /tmp.
+
+2014-01-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awkgram.y (negate_num): If just a double, return. Fixes a bug
+ that showed up on 32-bit systems with MPFR. Thanks to Eli Zaretskii
+ and Corinna Vinschen for the report. Also, free the MPZ integer.
+ Thanks to valgrind for the report.
+
+ Unrelated:
+
+ * dfa.c: Sync with GNU grep - removed some special cased code
+ for grep.
+
+2014-01-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ * configure.ac, field.c: Update copyright year.
+
+2014-01-19 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awkgram.y (negate_num): Handle the case of -0 for MPFR; the sign
+ was getting lost. Thanks to Hermann Peifer for the report.
+
+2014-01-18 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c (parse_bracket_exp): Sync with GNU grep, which now uses
+ gawk's code for RRI in single-byte locales! Hurray.
+
+2014-01-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * configure.ac: For z/OS, restore creation of do-nothing
+ Makefile in extension directory.
+
+2014-01-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * field.c (do_split): Make sure split() gets FS value if no
+ third arg even after FPAT was set. Thanks to Janis Papanagnou
+ for the report.
+
+2014-01-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * README: Fix John Malmberg's email address.
+
2014-01-12 Arnold D. Robbins <arnold@skeeve.com>
* awkgram.y: Update copyright year.
diff --git a/Makefile.am b/Makefile.am
index efb3711f..a8acdc48 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -172,10 +172,14 @@ check-local: gawk$(EXEEXT)
dist-hook:
cd $(distdir)/extension ; rm -f *.o *.so
cd $(srcdir)/pc ; \
- sed -n -f configpk.sed < ../configure.ac > tmp.sed ; \
- sed -f config.sed < ../configh.in > config.tmp ; \
- sed -f tmp.sed < config.tmp > config.h ; \
- $(RM) tmp.sed config.tmp
+ chmod u+w config.h ; \
+ sed -n -f configpk.sed < ../configure.ac > /tmp/tmp.sed ; \
+ sed -f config.sed < ../configh.in > /tmp/config.tmp ; \
+ sed -f /tmp/tmp.sed < /tmp/config.tmp > config.h ; \
+ $(RM) /tmp/tmp.sed /tmp/config.tmp
+ pwd
+ chmod u+w $(distdir)/pc/config.h
+ cp $(srcdir)/pc/config.h $(distdir)/pc/config.h
# Special rules for individual files
# Use of awk instead of $(AWK) is deliberate, in case gawk doesn't build
diff --git a/Makefile.in b/Makefile.in
index 25ee0da5..4fed13ff 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1171,10 +1171,14 @@ check-local: gawk$(EXEEXT)
dist-hook:
cd $(distdir)/extension ; rm -f *.o *.so
cd $(srcdir)/pc ; \
- sed -n -f configpk.sed < ../configure.ac > tmp.sed ; \
- sed -f config.sed < ../configh.in > config.tmp ; \
- sed -f tmp.sed < config.tmp > config.h ; \
- $(RM) tmp.sed config.tmp
+ chmod u+w config.h ; \
+ sed -n -f configpk.sed < ../configure.ac > /tmp/tmp.sed ; \
+ sed -f config.sed < ../configh.in > /tmp/config.tmp ; \
+ sed -f /tmp/tmp.sed < /tmp/config.tmp > config.h ; \
+ $(RM) /tmp/tmp.sed /tmp/config.tmp
+ pwd
+ chmod u+w $(distdir)/pc/config.h
+ cp $(srcdir)/pc/config.h $(distdir)/pc/config.h
# Special rules for individual files
# Use of awk instead of $(AWK) is deliberate, in case gawk doesn't build
diff --git a/NEWS b/NEWS
index 5295d106..fe841916 100644
--- a/NEWS
+++ b/NEWS
@@ -22,7 +22,7 @@ Changes from 4.1.0 to 4.1.1
1. The "stat" extension now includes a "devbsize" element which indicates
the units for the "nblocks" element
-2. The extension now facility works on MinGW. Many of the extensions can be
+2. The extension facility now works on MinGW. Many of the extensions can be
built and used directly.
3. A number of bugs in the pretty-printing / profiling code have been fixed.
@@ -37,7 +37,8 @@ Changes from 4.1.0 to 4.1.1
8. The --include option, documented since 4.0, now actually works.
-9. Infrastructure updated to automake 1.13.4 and libtool 2.4.2.418.
+9. Infrastructure updated to automake 1.13.4, bison 3.0.2, and
+ libtool 2.4.2.418.
10. The configure script now accepts a --disable-extensions option,
which disables checking for and building the extensions.
diff --git a/README b/README
index 6d87806b..85127f45 100644
--- a/README
+++ b/README
@@ -90,7 +90,7 @@ VMS:
r.pat.rankin@gmail.com
John Malmberg
- wb8tyw@gmail.com
+ wb8tyw@qsl.net
z/OS (OS/390):
Dave Pitts
diff --git a/README_d/ChangeLog b/README_d/ChangeLog
index 392ce0e2..a31eca7c 100644
--- a/README_d/ChangeLog
+++ b/README_d/ChangeLog
@@ -1,3 +1,11 @@
+2014-01-22 Arnold D. Robbins <arnold@skeeve.com>
+
+ * README.solaris: Updated.
+
+2014-01-12 John E. Malmberg <wb8tyw@qsl.net>
+
+ * README.VMS: document that the gawk.cld needs a fix.
+
2013-12-23 John E. Malmberg <wb8tyw@qsl.net>
* README.VMS: Add documentation about building dynamic
diff --git a/README_d/README.VMS b/README_d/README.VMS
index ef15a04d..0faabbc2 100644
--- a/README_d/README.VMS
+++ b/README_d/README.VMS
@@ -221,3 +221,6 @@ TO DO Items (not in order of priority)
3. Need gawk to accept logical names GNV$AWKPATH, GNV$AWKLIB, and
GNV$AWK_LIBARARY in addtion to the unprefixed names. This will allow
system wide default values to be set by an installation kit.
+
+4. Need to fix the gawk.cld file to not require a parameter for the options
+ that do not use the parameter.
diff --git a/README_d/README.solaris b/README_d/README.solaris
index 7aa44eeb..91e0c701 100644
--- a/README_d/README.solaris
+++ b/README_d/README.solaris
@@ -1,7 +1,8 @@
-Thu Nov 7 22:42:46 IST 2013
+Wed Jan 22 21:51:59 IST 2014
============================
-On Solaris 11 x86 with the Sun compiler you need to use
+On Solaris 10 x86, Solaris 11 x86, Solaris 10 sparc and Solaris 11 sparc,
+with the Sun compiler (Solaris Studio 12.3) you need to use
c99 -Xc -D_XPG6
@@ -9,23 +10,5 @@ to correctly compile gawk and the extensions.
Various tests can fail if the necessary locales aren't installed.
-Fri Jul 15 14:24:00 IDT 2011
-============================
-It looks like you need to use
-
- -Xc -D_XPG4_2
-
-on Solaris 10 with the Sun C compiler when compiling gawk in order for
-libsigsegv to be found correctly, and
-
- -Xc -D_XPG4_2 -Duint64_t=upad64_t
-
-on Solaris 9.
-
-Tue Apr 20 11:33:20 IDT 2010
-============================
-The lc_num1 test fails on Solaris 10 systems. This is a bug with Solaris,
-not gawk.
-
Arnold Robbins
arnold@skeeve.com
diff --git a/awkgram.c b/awkgram.c
index 9b7c875a..622799dc 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.12-4996. */
+/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.7.12-4996"
+#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -62,8 +62,7 @@
/* Copy the first part of user declarations. */
-/* Line 371 of yacc.c */
-#line 26 "awkgram.y"
+#line 26 "awkgram.y" /* yacc.c:339 */
#ifdef GAWKDEBUG
#define YYDEBUG 12
@@ -200,14 +199,13 @@ extern double fmod(double x, double y);
#define is_identchar(c) (isalnum(c) || (c) == '_')
-/* Line 371 of yacc.c */
-#line 205 "awkgram.c"
+#line 203 "awkgram.c" /* yacc.c:339 */
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
+# define YY_NULLPTR nullptr
# else
-# define YY_NULL 0
+# define YY_NULLPTR 0
# endif
# endif
@@ -220,7 +218,7 @@ extern double fmod(double x, double y);
#endif
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -228,64 +226,63 @@ extern double fmod(double x, double y);
extern int yydebug;
#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- FUNC_CALL = 258,
- NAME = 259,
- REGEXP = 260,
- FILENAME = 261,
- YNUMBER = 262,
- YSTRING = 263,
- RELOP = 264,
- IO_OUT = 265,
- IO_IN = 266,
- ASSIGNOP = 267,
- ASSIGN = 268,
- MATCHOP = 269,
- CONCAT_OP = 270,
- SUBSCRIPT = 271,
- LEX_BEGIN = 272,
- LEX_END = 273,
- LEX_IF = 274,
- LEX_ELSE = 275,
- LEX_RETURN = 276,
- LEX_DELETE = 277,
- LEX_SWITCH = 278,
- LEX_CASE = 279,
- LEX_DEFAULT = 280,
- LEX_WHILE = 281,
- LEX_DO = 282,
- LEX_FOR = 283,
- LEX_BREAK = 284,
- LEX_CONTINUE = 285,
- LEX_PRINT = 286,
- LEX_PRINTF = 287,
- LEX_NEXT = 288,
- LEX_EXIT = 289,
- LEX_FUNCTION = 290,
- LEX_BEGINFILE = 291,
- LEX_ENDFILE = 292,
- LEX_GETLINE = 293,
- LEX_NEXTFILE = 294,
- LEX_IN = 295,
- LEX_AND = 296,
- LEX_OR = 297,
- INCREMENT = 298,
- DECREMENT = 299,
- LEX_BUILTIN = 300,
- LEX_LENGTH = 301,
- LEX_EOF = 302,
- LEX_INCLUDE = 303,
- LEX_EVAL = 304,
- LEX_LOAD = 305,
- NEWLINE = 306,
- SLASH_BEFORE_EQUAL = 307,
- UNARY = 308
- };
+ enum yytokentype
+ {
+ FUNC_CALL = 258,
+ NAME = 259,
+ REGEXP = 260,
+ FILENAME = 261,
+ YNUMBER = 262,
+ YSTRING = 263,
+ RELOP = 264,
+ IO_OUT = 265,
+ IO_IN = 266,
+ ASSIGNOP = 267,
+ ASSIGN = 268,
+ MATCHOP = 269,
+ CONCAT_OP = 270,
+ SUBSCRIPT = 271,
+ LEX_BEGIN = 272,
+ LEX_END = 273,
+ LEX_IF = 274,
+ LEX_ELSE = 275,
+ LEX_RETURN = 276,
+ LEX_DELETE = 277,
+ LEX_SWITCH = 278,
+ LEX_CASE = 279,
+ LEX_DEFAULT = 280,
+ LEX_WHILE = 281,
+ LEX_DO = 282,
+ LEX_FOR = 283,
+ LEX_BREAK = 284,
+ LEX_CONTINUE = 285,
+ LEX_PRINT = 286,
+ LEX_PRINTF = 287,
+ LEX_NEXT = 288,
+ LEX_EXIT = 289,
+ LEX_FUNCTION = 290,
+ LEX_BEGINFILE = 291,
+ LEX_ENDFILE = 292,
+ LEX_GETLINE = 293,
+ LEX_NEXTFILE = 294,
+ LEX_IN = 295,
+ LEX_AND = 296,
+ LEX_OR = 297,
+ INCREMENT = 298,
+ DECREMENT = 299,
+ LEX_BUILTIN = 300,
+ LEX_LENGTH = 301,
+ LEX_EOF = 302,
+ LEX_INCLUDE = 303,
+ LEX_EVAL = 304,
+ LEX_LOAD = 305,
+ NEWLINE = 306,
+ SLASH_BEFORE_EQUAL = 307,
+ UNARY = 308
+ };
#endif
/* Tokens. */
#define FUNC_CALL 258
@@ -340,37 +337,23 @@ extern int yydebug;
#define SLASH_BEFORE_EQUAL 307
#define UNARY 308
-
-
+/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
+
extern YYSTYPE yylval;
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
/* Copy the second part of user declarations. */
-/* Line 390 of yacc.c */
-#line 374 "awkgram.c"
+#line 357 "awkgram.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -384,11 +367,8 @@ typedef unsigned char yytype_uint8;
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
#else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
@@ -408,8 +388,7 @@ typedef short int yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -431,11 +410,30 @@ typedef short int yytype_int16;
# endif
#endif
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if (! defined __GNUC__ || __GNUC__ < 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
-# define __attribute__(Spec) /* empty */
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+# define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@@ -446,25 +444,26 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(N) (N)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
#else
-static int
-YYID (yyi)
- int yyi;
+# define YY_INITIAL_VALUE(Value) Value
#endif
-{
- return yyi;
-}
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
+
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -482,8 +481,7 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
@@ -495,8 +493,8 @@ YYID (yyi)
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
@@ -512,7 +510,7 @@ YYID (yyi)
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
@@ -520,15 +518,13 @@ YYID (yyi)
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined malloc && ! defined EXIT_SUCCESS
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined free && ! defined EXIT_SUCCESS
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -538,7 +534,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -563,16 +559,16 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
#endif
@@ -591,7 +587,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (YYID (0))
+ while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -607,17 +603,19 @@ union yyalloc
#define YYNNTS 65
/* YYNRULES -- Number of rules. */
#define YYNRULES 188
-/* YYNRULES -- Number of states. */
+/* YYNSTATES -- Number of states. */
#define YYNSTATES 335
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 308
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -654,96 +652,7 @@ static const yytype_uint8 yytranslate[] =
};
#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint16 yyprhs[] =
-{
- 0, 0, 3, 4, 7, 10, 13, 16, 19, 22,
- 25, 30, 35, 37, 40, 42, 44, 47, 49, 50,
- 52, 57, 59, 61, 63, 65, 71, 73, 75, 77,
- 80, 82, 84, 91, 92, 96, 98, 100, 101, 104,
- 107, 109, 112, 115, 119, 121, 131, 138, 147, 156,
- 169, 181, 183, 186, 189, 192, 195, 199, 200, 205,
- 208, 209, 214, 215, 220, 225, 227, 228, 230, 231,
- 234, 237, 243, 248, 250, 253, 256, 258, 260, 262,
- 264, 266, 270, 271, 272, 276, 283, 293, 295, 298,
- 299, 301, 302, 305, 306, 308, 310, 314, 316, 319,
- 323, 324, 326, 327, 329, 331, 335, 337, 340, 344,
- 348, 352, 356, 360, 364, 368, 372, 378, 380, 382,
- 384, 387, 389, 391, 393, 395, 397, 399, 402, 404,
- 408, 412, 416, 420, 424, 428, 432, 435, 438, 444,
- 449, 453, 457, 461, 465, 469, 473, 475, 478, 482,
- 487, 492, 494, 496, 498, 501, 504, 506, 508, 511,
- 514, 516, 519, 524, 525, 527, 528, 531, 533, 536,
- 538, 542, 544, 547, 550, 552, 555, 557, 561, 563,
- 565, 566, 569, 572, 574, 575, 577, 579, 581
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int16 yyrhs[] =
-{
- 76, 0, -1, -1, 76, 77, -1, 76, 105, -1,
- 76, 47, -1, 76, 1, -1, 80, 81, -1, 80,
- 89, -1, 84, 81, -1, 69, 48, 78, 89, -1,
- 69, 50, 79, 89, -1, 6, -1, 6, 1, -1,
- 1, -1, 6, -1, 6, 1, -1, 1, -1, -1,
- 113, -1, 113, 55, 106, 113, -1, 17, -1, 18,
- -1, 36, -1, 37, -1, 133, 88, 134, 136, 106,
- -1, 4, -1, 3, -1, 83, -1, 69, 49, -1,
- 45, -1, 46, -1, 35, 82, 67, 108, 135, 106,
- -1, -1, 87, 86, 5, -1, 61, -1, 52, -1,
- -1, 88, 90, -1, 88, 1, -1, 105, -1, 137,
- 106, -1, 137, 106, -1, 133, 88, 134, -1, 104,
- -1, 23, 67, 113, 135, 106, 133, 97, 106, 134,
- -1, 26, 67, 113, 135, 106, 90, -1, 27, 106,
- 90, 26, 67, 113, 135, 106, -1, 28, 67, 4,
- 40, 130, 135, 106, 90, -1, 28, 67, 96, 137,
- 106, 113, 137, 106, 96, 135, 106, 90, -1, 28,
- 67, 96, 137, 106, 137, 106, 96, 135, 106, 90,
- -1, 91, -1, 29, 89, -1, 30, 89, -1, 33,
- 89, -1, 39, 89, -1, 34, 110, 89, -1, -1,
- 21, 92, 110, 89, -1, 93, 89, -1, -1, 100,
- 94, 101, 102, -1, -1, 22, 4, 95, 124, -1,
- 22, 67, 4, 68, -1, 113, -1, -1, 93, -1,
- -1, 97, 98, -1, 97, 1, -1, 24, 99, 138,
- 106, 88, -1, 25, 138, 106, 88, -1, 7, -1,
- 59, 7, -1, 58, 7, -1, 8, -1, 85, -1,
- 31, -1, 32, -1, 111, -1, 67, 112, 135, -1,
- -1, -1, 10, 103, 117, -1, 19, 67, 113, 135,
- 106, 90, -1, 19, 67, 113, 135, 106, 90, 20,
- 106, 90, -1, 51, -1, 105, 51, -1, -1, 105,
- -1, -1, 56, 118, -1, -1, 109, -1, 4, -1,
- 109, 139, 4, -1, 1, -1, 109, 1, -1, 109,
- 139, 1, -1, -1, 113, -1, -1, 112, -1, 113,
- -1, 112, 139, 113, -1, 1, -1, 112, 1, -1,
- 112, 1, 113, -1, 112, 139, 1, -1, 131, 114,
- 113, -1, 113, 41, 113, -1, 113, 42, 113, -1,
- 113, 14, 113, -1, 113, 40, 130, -1, 113, 116,
- 113, -1, 113, 53, 113, 54, 113, -1, 117, -1,
- 13, -1, 12, -1, 52, 13, -1, 9, -1, 56,
- -1, 115, -1, 57, -1, 118, -1, 119, -1, 117,
- 118, -1, 120, -1, 118, 65, 118, -1, 118, 60,
- 118, -1, 118, 61, 118, -1, 118, 62, 118, -1,
- 118, 58, 118, -1, 118, 59, 118, -1, 38, 123,
- 107, -1, 131, 43, -1, 131, 44, -1, 67, 112,
- 135, 40, 130, -1, 117, 11, 38, 123, -1, 119,
- 65, 118, -1, 119, 60, 118, -1, 119, 61, 118,
- -1, 119, 62, 118, -1, 119, 58, 118, -1, 119,
- 59, 118, -1, 85, -1, 63, 118, -1, 67, 113,
- 135, -1, 45, 67, 111, 135, -1, 46, 67, 111,
- 135, -1, 46, -1, 121, -1, 131, -1, 43, 131,
- -1, 44, 131, -1, 7, -1, 8, -1, 59, 118,
- -1, 58, 118, -1, 122, -1, 69, 122, -1, 3,
- 67, 111, 135, -1, -1, 131, -1, -1, 125, 16,
- -1, 126, -1, 125, 126, -1, 127, -1, 70, 112,
- 71, -1, 127, -1, 128, 127, -1, 128, 16, -1,
- 4, -1, 4, 129, -1, 130, -1, 66, 120, 132,
- -1, 43, -1, 44, -1, -1, 72, 106, -1, 73,
- 106, -1, 68, -1, -1, 137, -1, 74, -1, 54,
- -1, 55, 106, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 202, 202, 204, 209, 210, 216, 228, 232, 243,
@@ -797,13 +706,13 @@ static const char *const yytname[] =
"func_call", "direct_func_call", "opt_variable", "delete_subscript_list",
"delete_subscript", "delete_exp_list", "bracketed_exp_list", "subscript",
"subscript_list", "simple_variable", "variable", "opt_incdec", "l_brace",
- "r_brace", "r_paren", "opt_semi", "semi", "colon", "comma", YY_NULL
+ "r_brace", "r_paren", "opt_semi", "semi", "colon", "comma", YY_NULLPTR
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
@@ -817,110 +726,18 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 75, 76, 76, 76, 76, 76, 77, 77, 77,
- 77, 77, 78, 78, 78, 79, 79, 79, 80, 80,
- 80, 80, 80, 80, 80, 81, 82, 82, 82, 82,
- 83, 83, 84, 86, 85, 87, 87, 88, 88, 88,
- 89, 89, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 91, 91, 91, 91, 91, 92, 91, 91,
- 94, 93, 95, 93, 93, 93, 96, 96, 97, 97,
- 97, 98, 98, 99, 99, 99, 99, 99, 100, 100,
- 101, 101, 102, 103, 102, 104, 104, 105, 105, 106,
- 106, 107, 107, 108, 108, 109, 109, 109, 109, 109,
- 110, 110, 111, 111, 112, 112, 112, 112, 112, 112,
- 113, 113, 113, 113, 113, 113, 113, 113, 114, 114,
- 114, 115, 115, 116, 116, 117, 117, 117, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 119,
- 119, 119, 119, 119, 119, 119, 120, 120, 120, 120,
- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
- 121, 121, 122, 123, 123, 124, 124, 125, 125, 126,
- 127, 128, 128, 129, 130, 130, 131, 131, 132, 132,
- 132, 133, 134, 135, 136, 136, 137, 138, 139
-};
+#define YYPACT_NINF -273
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
- 4, 4, 1, 2, 1, 1, 2, 1, 0, 1,
- 4, 1, 1, 1, 1, 5, 1, 1, 1, 2,
- 1, 1, 6, 0, 3, 1, 1, 0, 2, 2,
- 1, 2, 2, 3, 1, 9, 6, 8, 8, 12,
- 11, 1, 2, 2, 2, 2, 3, 0, 4, 2,
- 0, 4, 0, 4, 4, 1, 0, 1, 0, 2,
- 2, 5, 4, 1, 2, 2, 1, 1, 1, 1,
- 1, 3, 0, 0, 3, 6, 9, 1, 2, 0,
- 1, 0, 2, 0, 1, 1, 3, 1, 2, 3,
- 0, 1, 0, 1, 1, 3, 1, 2, 3, 3,
- 3, 3, 3, 3, 3, 3, 5, 1, 1, 1,
- 2, 1, 1, 1, 1, 1, 1, 2, 1, 3,
- 3, 3, 3, 3, 3, 3, 2, 2, 5, 4,
- 3, 3, 3, 3, 3, 3, 1, 2, 3, 4,
- 4, 1, 1, 1, 2, 2, 1, 1, 2, 2,
- 1, 2, 4, 0, 1, 0, 2, 1, 2, 1,
- 3, 1, 2, 2, 1, 2, 1, 3, 1, 1,
- 0, 2, 2, 1, 0, 1, 1, 1, 2
-};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-273)))
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint8 yydefact[] =
-{
- 2, 0, 1, 6, 0, 174, 156, 157, 21, 22,
- 0, 23, 24, 163, 0, 0, 0, 151, 5, 87,
- 36, 0, 0, 35, 0, 0, 0, 0, 3, 0,
- 0, 146, 33, 4, 19, 117, 125, 126, 128, 152,
- 160, 176, 153, 0, 0, 171, 0, 175, 27, 26,
- 30, 31, 0, 0, 28, 91, 164, 154, 155, 0,
- 0, 0, 159, 153, 158, 147, 0, 180, 153, 106,
- 0, 104, 0, 0, 161, 89, 186, 7, 8, 40,
- 37, 89, 9, 0, 88, 121, 0, 0, 0, 0,
- 0, 89, 122, 124, 123, 0, 0, 127, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 119, 118, 136, 137, 0, 0, 0, 0, 104, 0,
- 173, 172, 29, 0, 0, 135, 0, 0, 0, 178,
- 179, 177, 107, 89, 183, 0, 0, 148, 14, 0,
- 0, 17, 0, 0, 90, 181, 0, 41, 34, 113,
- 114, 111, 112, 0, 0, 115, 163, 133, 134, 130,
- 131, 132, 129, 144, 145, 141, 142, 143, 140, 120,
- 110, 162, 170, 97, 95, 0, 0, 92, 149, 150,
- 108, 188, 0, 109, 105, 13, 10, 16, 11, 39,
- 0, 57, 0, 0, 0, 89, 0, 0, 0, 78,
- 79, 0, 100, 0, 89, 38, 51, 0, 60, 44,
- 65, 37, 184, 89, 0, 20, 139, 89, 98, 0,
- 138, 0, 100, 62, 0, 0, 0, 0, 66, 52,
- 53, 54, 0, 101, 55, 182, 59, 0, 0, 89,
- 185, 42, 116, 32, 99, 96, 0, 0, 165, 0,
- 0, 0, 0, 174, 67, 0, 56, 0, 82, 80,
- 43, 25, 89, 58, 63, 0, 167, 169, 64, 89,
- 89, 0, 0, 89, 0, 83, 61, 0, 166, 168,
- 0, 0, 0, 0, 0, 81, 0, 85, 68, 46,
- 0, 89, 0, 89, 84, 89, 0, 89, 0, 89,
- 66, 0, 70, 0, 0, 69, 0, 47, 48, 66,
- 0, 86, 73, 76, 0, 0, 77, 0, 187, 89,
- 45, 0, 89, 75, 74, 89, 37, 89, 0, 37,
- 0, 0, 50, 0, 49
-};
+#define YYTABLE_NINF -104
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
-{
- -1, 1, 28, 140, 143, 29, 77, 53, 54, 30,
- 31, 83, 32, 146, 78, 205, 206, 222, 207, 237,
- 248, 255, 296, 305, 317, 208, 258, 276, 286, 209,
- 144, 145, 125, 175, 176, 232, 116, 117, 210, 115,
- 94, 95, 35, 36, 37, 38, 39, 40, 55, 264,
- 265, 266, 45, 46, 47, 41, 42, 131, 211, 212,
- 137, 239, 213, 319, 136
-};
+#define yytable_value_is_error(Yytable_value) \
+ (!!((Yytable_value) == (-104)))
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -273
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
static const yytype_int16 yypact[] =
{
-273, 376, -273, -273, -27, -21, -273, -273, -273, -273,
@@ -959,7 +776,48 @@ static const yytype_int16 yypact[] =
448, 710, -273, 522, -273
};
-/* YYPGOTO[NTERM-NUM]. */
+ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 2, 0, 1, 6, 0, 174, 156, 157, 21, 22,
+ 0, 23, 24, 163, 0, 0, 0, 151, 5, 87,
+ 36, 0, 0, 35, 0, 0, 0, 0, 3, 0,
+ 0, 146, 33, 4, 19, 117, 125, 126, 128, 152,
+ 160, 176, 153, 0, 0, 171, 0, 175, 27, 26,
+ 30, 31, 0, 0, 28, 91, 164, 154, 155, 0,
+ 0, 0, 159, 153, 158, 147, 0, 180, 153, 106,
+ 0, 104, 0, 0, 161, 89, 186, 7, 8, 40,
+ 37, 89, 9, 0, 88, 121, 0, 0, 0, 0,
+ 0, 89, 122, 124, 123, 0, 0, 127, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 119, 118, 136, 137, 0, 0, 0, 0, 104, 0,
+ 173, 172, 29, 0, 0, 135, 0, 0, 0, 178,
+ 179, 177, 107, 89, 183, 0, 0, 148, 14, 0,
+ 0, 17, 0, 0, 90, 181, 0, 41, 34, 113,
+ 114, 111, 112, 0, 0, 115, 163, 133, 134, 130,
+ 131, 132, 129, 144, 145, 141, 142, 143, 140, 120,
+ 110, 162, 170, 97, 95, 0, 0, 92, 149, 150,
+ 108, 188, 0, 109, 105, 13, 10, 16, 11, 39,
+ 0, 57, 0, 0, 0, 89, 0, 0, 0, 78,
+ 79, 0, 100, 0, 89, 38, 51, 0, 60, 44,
+ 65, 37, 184, 89, 0, 20, 139, 89, 98, 0,
+ 138, 0, 100, 62, 0, 0, 0, 0, 66, 52,
+ 53, 54, 0, 101, 55, 182, 59, 0, 0, 89,
+ 185, 42, 116, 32, 99, 96, 0, 0, 165, 0,
+ 0, 0, 0, 174, 67, 0, 56, 0, 82, 80,
+ 43, 25, 89, 58, 63, 0, 167, 169, 64, 89,
+ 89, 0, 0, 89, 0, 83, 61, 0, 166, 168,
+ 0, 0, 0, 0, 0, 81, 0, 85, 68, 46,
+ 0, 89, 0, 89, 84, 89, 0, 89, 0, 89,
+ 66, 0, 70, 0, 0, 69, 0, 47, 48, 66,
+ 0, 86, 73, 76, 0, 0, 77, 0, 187, 89,
+ 45, 0, 89, 75, 74, 89, 37, 89, 0, 37,
+ 0, 0, 50, 0, 49
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-273, -273, -273, -273, -273, -273, 208, -273, -273, -273,
@@ -971,10 +829,21 @@ static const yytype_int16 yypgoto[] =
-46, -273, -25, -57, 85
};
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -104
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
+{
+ -1, 1, 28, 140, 143, 29, 77, 53, 54, 30,
+ 31, 83, 32, 146, 78, 205, 206, 222, 207, 237,
+ 248, 255, 296, 305, 317, 208, 258, 276, 286, 209,
+ 144, 145, 125, 175, 176, 232, 116, 117, 210, 115,
+ 94, 95, 35, 36, 37, 38, 39, 40, 55, 264,
+ 265, 266, 45, 46, 47, 41, 42, 131, 211, 212,
+ 137, 239, 213, 319, 136
+};
+
+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
34, 80, 80, 70, 81, 126, 127, 260, 121, 238,
@@ -1095,12 +964,6 @@ static const yytype_int16 yytable[] =
0, 90, 214, 0, 92, 93
};
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-273)))
-
-#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-104)))
-
static const yytype_int16 yycheck[] =
{
1, 29, 30, 26, 29, 59, 60, 238, 46, 211,
@@ -1221,8 +1084,8 @@ static const yytype_int16 yycheck[] =
-1, 53, 54, -1, 56, 57
};
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
0, 76, 0, 1, 3, 4, 7, 8, 17, 18,
@@ -1261,30 +1124,64 @@ static const yytype_uint8 yystos[] =
88, 106, 90, 88, 90
};
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. However,
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
- discussed. */
-
-#define YYFAIL goto yyerrlab
-#if defined YYFAIL
- /* This is here to suppress warnings from the GCC cpp's
- -Wunused-macros. Normally we don't worry about that warning, but
- some users do, and we want to make it easy for users to remove
- YYFAIL uses, which will produce warnings from Bison 2.5. */
-#endif
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 75, 76, 76, 76, 76, 76, 77, 77, 77,
+ 77, 77, 78, 78, 78, 79, 79, 79, 80, 80,
+ 80, 80, 80, 80, 80, 81, 82, 82, 82, 82,
+ 83, 83, 84, 86, 85, 87, 87, 88, 88, 88,
+ 89, 89, 90, 90, 90, 90, 90, 90, 90, 90,
+ 90, 90, 91, 91, 91, 91, 91, 92, 91, 91,
+ 94, 93, 95, 93, 93, 93, 96, 96, 97, 97,
+ 97, 98, 98, 99, 99, 99, 99, 99, 100, 100,
+ 101, 101, 102, 103, 102, 104, 104, 105, 105, 106,
+ 106, 107, 107, 108, 108, 109, 109, 109, 109, 109,
+ 110, 110, 111, 111, 112, 112, 112, 112, 112, 112,
+ 113, 113, 113, 113, 113, 113, 113, 113, 114, 114,
+ 114, 115, 115, 116, 116, 117, 117, 117, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 119,
+ 119, 119, 119, 119, 119, 119, 120, 120, 120, 120,
+ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
+ 121, 121, 122, 123, 123, 124, 124, 125, 125, 126,
+ 127, 128, 128, 129, 130, 130, 131, 131, 132, 132,
+ 132, 133, 134, 135, 136, 136, 137, 138, 139
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
+ 4, 4, 1, 2, 1, 1, 2, 1, 0, 1,
+ 4, 1, 1, 1, 1, 5, 1, 1, 1, 2,
+ 1, 1, 6, 0, 3, 1, 1, 0, 2, 2,
+ 1, 2, 2, 3, 1, 9, 6, 8, 8, 12,
+ 11, 1, 2, 2, 2, 2, 3, 0, 4, 2,
+ 0, 4, 0, 4, 4, 1, 0, 1, 0, 2,
+ 2, 5, 4, 1, 2, 2, 1, 1, 1, 1,
+ 1, 3, 0, 0, 3, 6, 9, 1, 2, 0,
+ 1, 0, 2, 0, 1, 1, 3, 1, 2, 3,
+ 0, 1, 0, 1, 1, 3, 1, 2, 3, 3,
+ 3, 3, 3, 3, 3, 3, 5, 1, 1, 1,
+ 2, 1, 1, 1, 1, 1, 1, 2, 1, 3,
+ 3, 3, 3, 3, 3, 3, 2, 2, 5, 4,
+ 3, 3, 3, 3, 3, 3, 1, 2, 3, 4,
+ 4, 1, 1, 1, 2, 2, 1, 1, 2, 2,
+ 1, 2, 4, 0, 1, 0, 2, 1, 2, 1,
+ 3, 1, 2, 2, 1, 2, 1, 3, 1, 1,
+ 0, 2, 2, 1, 0, 1, 1, 1, 2
+};
+
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
#define YYRECOVERING() (!!yyerrstatus)
@@ -1301,27 +1198,15 @@ do \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
+ YYERROR; \
+ } \
+while (0)
/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
-
-
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif
+#define YYTERROR 1
+#define YYERRCODE 256
-/* YYLEX -- calling `yylex' with the right arguments. */
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
/* Enable debugging if requested. */
#if YYDEBUG
@@ -1331,40 +1216,36 @@ while (YYID (0))
# define YYFPRINTF fprintf
# endif
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
-#endif
{
FILE *yyo = yyoutput;
YYUSE (yyo);
@@ -1373,8 +1254,6 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
# endif
YYUSE (yytype);
}
@@ -1384,22 +1263,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
-#endif
{
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+ YYFPRINTF (yyoutput, "%s %s (",
+ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
yy_symbol_value_print (yyoutput, yytype, yyvaluep);
YYFPRINTF (yyoutput, ")");
@@ -1410,16 +1278,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
| TOP (included). |
`------------------------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
-#endif
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -1430,49 +1290,42 @@ yy_stack_print (yybottom, yytop)
YYFPRINTF (stderr, "\n");
}
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
-#else
-static void
-yy_reduce_print (yyvsp, yyrule)
- YYSTYPE *yyvsp;
- int yyrule;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
{
+ unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
+ yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- );
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ );
YYFPRINTF (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, Rule); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -1486,7 +1339,7 @@ int yydebug;
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -1509,15 +1362,8 @@ int yydebug;
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
@@ -1533,16 +1379,8 @@ yystrlen (yystr)
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
{
char *yyd = yydest;
const char *yys = yysrc;
@@ -1572,27 +1410,27 @@ yytnamerr (char *yyres, const char *yystr)
char const *yyp = yystr;
for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
do_not_strip_quotes: ;
}
@@ -1615,11 +1453,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
- const char *yyformat = YY_NULL;
+ const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@@ -1627,10 +1465,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
int yycount = 0;
/* There are many possibilities here to consider:
- - Assume YYFAIL is not used. It's too flawed to consider. See
- <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
- for details. YYERROR is fine as it does not invoke this
- function.
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
@@ -1680,7 +1514,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@@ -1747,26 +1581,17 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
-#endif
{
YYUSE (yyvaluep);
-
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -1775,18 +1600,8 @@ yydestruct (yymsg, yytype, yyvaluep)
/* The lookahead symbol. */
int yychar;
-
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
-
+YYSTYPE yylval;
/* Number of syntax errors so far. */
int yynerrs;
@@ -1795,35 +1610,16 @@ int yynerrs;
| yyparse. |
`----------*/
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
int
yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
{
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
+ 'yyss': related to states.
+ 'yyvs': related to semantic values.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
@@ -1891,23 +1687,23 @@ yyparse ()
#ifdef yyoverflow
{
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
@@ -1915,22 +1711,22 @@ yyparse ()
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
+ yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
@@ -1939,10 +1735,10 @@ yyparse ()
yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -1971,7 +1767,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
+ yychar = yylex ();
}
if (yychar <= YYEOF)
@@ -2036,7 +1832,7 @@ yyreduce:
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
+ '$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
@@ -2050,27 +1846,26 @@ yyreduce:
switch (yyn)
{
case 3:
-/* Line 1787 of yacc.c */
-#line 205 "awkgram.y"
+#line 205 "awkgram.y" /* yacc.c:1646 */
{
rule = 0;
yyerrok;
}
+#line 1855 "awkgram.c" /* yacc.c:1646 */
break;
case 5:
-/* Line 1787 of yacc.c */
-#line 211 "awkgram.y"
+#line 211 "awkgram.y" /* yacc.c:1646 */
{
next_sourcefile();
if (sourcefile == srcfiles)
process_deferred();
}
+#line 1865 "awkgram.c" /* yacc.c:1646 */
break;
case 6:
-/* Line 1787 of yacc.c */
-#line 217 "awkgram.y"
+#line 217 "awkgram.y" /* yacc.c:1646 */
{
rule = 0;
/*
@@ -2079,277 +1874,277 @@ yyreduce:
*/
/* yyerrok; */
}
+#line 1878 "awkgram.c" /* yacc.c:1646 */
break;
case 7:
-/* Line 1787 of yacc.c */
-#line 229 "awkgram.y"
+#line 229 "awkgram.y" /* yacc.c:1646 */
{
- (void) append_rule((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+ (void) append_rule((yyvsp[-1]), (yyvsp[0]));
}
+#line 1886 "awkgram.c" /* yacc.c:1646 */
break;
case 8:
-/* Line 1787 of yacc.c */
-#line 233 "awkgram.y"
+#line 233 "awkgram.y" /* yacc.c:1646 */
{
if (rule != Rule) {
msg(_("%s blocks must have an action part"), ruletab[rule]);
errcount++;
- } else if ((yyvsp[(1) - (2)]) == NULL) {
+ } else if ((yyvsp[-1]) == NULL) {
msg(_("each rule must have a pattern or an action part"));
errcount++;
} else /* pattern rule with non-empty pattern */
- (void) append_rule((yyvsp[(1) - (2)]), NULL);
+ (void) append_rule((yyvsp[-1]), NULL);
}
+#line 1901 "awkgram.c" /* yacc.c:1646 */
break;
case 9:
-/* Line 1787 of yacc.c */
-#line 244 "awkgram.y"
+#line 244 "awkgram.y" /* yacc.c:1646 */
{
in_function = NULL;
- (void) mk_function((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+ (void) mk_function((yyvsp[-1]), (yyvsp[0]));
yyerrok;
}
+#line 1911 "awkgram.c" /* yacc.c:1646 */
break;
case 10:
-/* Line 1787 of yacc.c */
-#line 250 "awkgram.y"
+#line 250 "awkgram.y" /* yacc.c:1646 */
{
want_source = false;
yyerrok;
}
+#line 1920 "awkgram.c" /* yacc.c:1646 */
break;
case 11:
-/* Line 1787 of yacc.c */
-#line 255 "awkgram.y"
+#line 255 "awkgram.y" /* yacc.c:1646 */
{
want_source = false;
yyerrok;
}
+#line 1929 "awkgram.c" /* yacc.c:1646 */
break;
case 12:
-/* Line 1787 of yacc.c */
-#line 263 "awkgram.y"
+#line 263 "awkgram.y" /* yacc.c:1646 */
{
- if (include_source((yyvsp[(1) - (1)])) < 0)
+ if (include_source((yyvsp[0])) < 0)
YYABORT;
- efree((yyvsp[(1) - (1)])->lextok);
- bcfree((yyvsp[(1) - (1)]));
+ efree((yyvsp[0])->lextok);
+ bcfree((yyvsp[0]));
(yyval) = NULL;
}
+#line 1941 "awkgram.c" /* yacc.c:1646 */
break;
case 13:
-/* Line 1787 of yacc.c */
-#line 271 "awkgram.y"
+#line 271 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1947 "awkgram.c" /* yacc.c:1646 */
break;
case 14:
-/* Line 1787 of yacc.c */
-#line 273 "awkgram.y"
+#line 273 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1953 "awkgram.c" /* yacc.c:1646 */
break;
case 15:
-/* Line 1787 of yacc.c */
-#line 278 "awkgram.y"
+#line 278 "awkgram.y" /* yacc.c:1646 */
{
- if (load_library((yyvsp[(1) - (1)])) < 0)
+ if (load_library((yyvsp[0])) < 0)
YYABORT;
- efree((yyvsp[(1) - (1)])->lextok);
- bcfree((yyvsp[(1) - (1)]));
+ efree((yyvsp[0])->lextok);
+ bcfree((yyvsp[0]));
(yyval) = NULL;
}
+#line 1965 "awkgram.c" /* yacc.c:1646 */
break;
case 16:
-/* Line 1787 of yacc.c */
-#line 286 "awkgram.y"
+#line 286 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1971 "awkgram.c" /* yacc.c:1646 */
break;
case 17:
-/* Line 1787 of yacc.c */
-#line 288 "awkgram.y"
+#line 288 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1977 "awkgram.c" /* yacc.c:1646 */
break;
case 18:
-/* Line 1787 of yacc.c */
-#line 293 "awkgram.y"
+#line 293 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; rule = Rule; }
+#line 1983 "awkgram.c" /* yacc.c:1646 */
break;
case 19:
-/* Line 1787 of yacc.c */
-#line 295 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); rule = Rule; }
+#line 295 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); rule = Rule; }
+#line 1989 "awkgram.c" /* yacc.c:1646 */
break;
case 20:
-/* Line 1787 of yacc.c */
-#line 297 "awkgram.y"
+#line 297 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *tp;
- add_lint((yyvsp[(1) - (4)]), LINT_assign_in_cond);
- add_lint((yyvsp[(4) - (4)]), LINT_assign_in_cond);
+ add_lint((yyvsp[-3]), LINT_assign_in_cond);
+ add_lint((yyvsp[0]), LINT_assign_in_cond);
tp = instruction(Op_no_op);
- list_prepend((yyvsp[(1) - (4)]), bcalloc(Op_line_range, !!do_pretty_print + 1, 0));
- (yyvsp[(1) - (4)])->nexti->triggered = false;
- (yyvsp[(1) - (4)])->nexti->target_jmp = (yyvsp[(4) - (4)])->nexti;
+ list_prepend((yyvsp[-3]), bcalloc(Op_line_range, !!do_pretty_print + 1, 0));
+ (yyvsp[-3])->nexti->triggered = false;
+ (yyvsp[-3])->nexti->target_jmp = (yyvsp[0])->nexti;
- list_append((yyvsp[(1) - (4)]), instruction(Op_cond_pair));
- (yyvsp[(1) - (4)])->lasti->line_range = (yyvsp[(1) - (4)])->nexti;
- (yyvsp[(1) - (4)])->lasti->target_jmp = tp;
+ list_append((yyvsp[-3]), instruction(Op_cond_pair));
+ (yyvsp[-3])->lasti->line_range = (yyvsp[-3])->nexti;
+ (yyvsp[-3])->lasti->target_jmp = tp;
- list_append((yyvsp[(4) - (4)]), instruction(Op_cond_pair));
- (yyvsp[(4) - (4)])->lasti->line_range = (yyvsp[(1) - (4)])->nexti;
- (yyvsp[(4) - (4)])->lasti->target_jmp = tp;
+ list_append((yyvsp[0]), instruction(Op_cond_pair));
+ (yyvsp[0])->lasti->line_range = (yyvsp[-3])->nexti;
+ (yyvsp[0])->lasti->target_jmp = tp;
if (do_pretty_print) {
- ((yyvsp[(1) - (4)])->nexti + 1)->condpair_left = (yyvsp[(1) - (4)])->lasti;
- ((yyvsp[(1) - (4)])->nexti + 1)->condpair_right = (yyvsp[(4) - (4)])->lasti;
+ ((yyvsp[-3])->nexti + 1)->condpair_left = (yyvsp[-3])->lasti;
+ ((yyvsp[-3])->nexti + 1)->condpair_right = (yyvsp[0])->lasti;
}
- (yyval) = list_append(list_merge((yyvsp[(1) - (4)]), (yyvsp[(4) - (4)])), tp);
+ (yyval) = list_append(list_merge((yyvsp[-3]), (yyvsp[0])), tp);
rule = Rule;
}
+#line 2019 "awkgram.c" /* yacc.c:1646 */
break;
case 21:
-/* Line 1787 of yacc.c */
-#line 323 "awkgram.y"
+#line 323 "awkgram.y" /* yacc.c:1646 */
{
static int begin_seen = 0;
if (do_lint_old && ++begin_seen == 2)
- warning_ln((yyvsp[(1) - (1)])->source_line,
+ warning_ln((yyvsp[0])->source_line,
_("old awk does not support multiple `BEGIN' or `END' rules"));
- (yyvsp[(1) - (1)])->in_rule = rule = BEGIN;
- (yyvsp[(1) - (1)])->source_file = source;
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyvsp[0])->in_rule = rule = BEGIN;
+ (yyvsp[0])->source_file = source;
+ (yyval) = (yyvsp[0]);
}
+#line 2034 "awkgram.c" /* yacc.c:1646 */
break;
case 22:
-/* Line 1787 of yacc.c */
-#line 334 "awkgram.y"
+#line 334 "awkgram.y" /* yacc.c:1646 */
{
static int end_seen = 0;
if (do_lint_old && ++end_seen == 2)
- warning_ln((yyvsp[(1) - (1)])->source_line,
+ warning_ln((yyvsp[0])->source_line,
_("old awk does not support multiple `BEGIN' or `END' rules"));
- (yyvsp[(1) - (1)])->in_rule = rule = END;
- (yyvsp[(1) - (1)])->source_file = source;
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyvsp[0])->in_rule = rule = END;
+ (yyvsp[0])->source_file = source;
+ (yyval) = (yyvsp[0]);
}
+#line 2049 "awkgram.c" /* yacc.c:1646 */
break;
case 23:
-/* Line 1787 of yacc.c */
-#line 345 "awkgram.y"
+#line 345 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (1)])->in_rule = rule = BEGINFILE;
- (yyvsp[(1) - (1)])->source_file = source;
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyvsp[0])->in_rule = rule = BEGINFILE;
+ (yyvsp[0])->source_file = source;
+ (yyval) = (yyvsp[0]);
}
+#line 2059 "awkgram.c" /* yacc.c:1646 */
break;
case 24:
-/* Line 1787 of yacc.c */
-#line 351 "awkgram.y"
+#line 351 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (1)])->in_rule = rule = ENDFILE;
- (yyvsp[(1) - (1)])->source_file = source;
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyvsp[0])->in_rule = rule = ENDFILE;
+ (yyvsp[0])->source_file = source;
+ (yyval) = (yyvsp[0]);
}
+#line 2069 "awkgram.c" /* yacc.c:1646 */
break;
case 25:
-/* Line 1787 of yacc.c */
-#line 360 "awkgram.y"
+#line 360 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (5)]) == NULL)
+ if ((yyvsp[-3]) == NULL)
(yyval) = list_create(instruction(Op_no_op));
else
- (yyval) = (yyvsp[(2) - (5)]);
+ (yyval) = (yyvsp[-3]);
}
+#line 2080 "awkgram.c" /* yacc.c:1646 */
break;
case 26:
-/* Line 1787 of yacc.c */
-#line 370 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 370 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2086 "awkgram.c" /* yacc.c:1646 */
break;
case 27:
-/* Line 1787 of yacc.c */
-#line 372 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 372 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2092 "awkgram.c" /* yacc.c:1646 */
break;
case 28:
-/* Line 1787 of yacc.c */
-#line 374 "awkgram.y"
+#line 374 "awkgram.y" /* yacc.c:1646 */
{
yyerror(_("`%s' is a built-in function, it cannot be redefined"),
tokstart);
YYABORT;
}
+#line 2102 "awkgram.c" /* yacc.c:1646 */
break;
case 29:
-/* Line 1787 of yacc.c */
-#line 380 "awkgram.y"
- { (yyval) = (yyvsp[(2) - (2)]); }
+#line 380 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2108 "awkgram.c" /* yacc.c:1646 */
break;
case 32:
-/* Line 1787 of yacc.c */
-#line 390 "awkgram.y"
+#line 390 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (6)])->source_file = source;
- if (install_function((yyvsp[(2) - (6)])->lextok, (yyvsp[(1) - (6)]), (yyvsp[(4) - (6)])) < 0)
+ (yyvsp[-5])->source_file = source;
+ if (install_function((yyvsp[-4])->lextok, (yyvsp[-5]), (yyvsp[-2])) < 0)
YYABORT;
- in_function = (yyvsp[(2) - (6)])->lextok;
- (yyvsp[(2) - (6)])->lextok = NULL;
- bcfree((yyvsp[(2) - (6)]));
+ in_function = (yyvsp[-4])->lextok;
+ (yyvsp[-4])->lextok = NULL;
+ bcfree((yyvsp[-4]));
/* $4 already free'd in install_function */
- (yyval) = (yyvsp[(1) - (6)]);
+ (yyval) = (yyvsp[-5]);
}
+#line 2123 "awkgram.c" /* yacc.c:1646 */
break;
case 33:
-/* Line 1787 of yacc.c */
-#line 408 "awkgram.y"
+#line 408 "awkgram.y" /* yacc.c:1646 */
{ want_regexp = true; }
+#line 2129 "awkgram.c" /* yacc.c:1646 */
break;
case 34:
-/* Line 1787 of yacc.c */
-#line 410 "awkgram.y"
+#line 410 "awkgram.y" /* yacc.c:1646 */
{
NODE *n, *exp;
char *re;
size_t len;
- re = (yyvsp[(3) - (3)])->lextok;
- (yyvsp[(3) - (3)])->lextok = NULL;
+ re = (yyvsp[0])->lextok;
+ (yyvsp[0])->lextok = NULL;
len = strlen(re);
if (do_lint) {
if (len == 0)
- lintwarn_ln((yyvsp[(3) - (3)])->source_line,
+ lintwarn_ln((yyvsp[0])->source_line,
_("regexp constant `//' looks like a C++ comment, but is not"));
else if (re[0] == '*' && re[len-1] == '*')
/* possible C comment */
- lintwarn_ln((yyvsp[(3) - (3)])->source_line,
+ lintwarn_ln((yyvsp[0])->source_line,
_("regexp constant `/%s/' looks like a C comment, but is not"), re);
}
@@ -2359,83 +2154,83 @@ yyreduce:
unref(exp);
YYABORT;
}
- (yyval) = (yyvsp[(3) - (3)]);
+ (yyval) = (yyvsp[0]);
(yyval)->opcode = Op_match_rec;
(yyval)->memory = n;
}
+#line 2162 "awkgram.c" /* yacc.c:1646 */
break;
case 35:
-/* Line 1787 of yacc.c */
-#line 442 "awkgram.y"
- { bcfree((yyvsp[(1) - (1)])); }
+#line 442 "awkgram.y" /* yacc.c:1646 */
+ { bcfree((yyvsp[0])); }
+#line 2168 "awkgram.c" /* yacc.c:1646 */
break;
case 37:
-/* Line 1787 of yacc.c */
-#line 448 "awkgram.y"
+#line 448 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2174 "awkgram.c" /* yacc.c:1646 */
break;
case 38:
-/* Line 1787 of yacc.c */
-#line 450 "awkgram.y"
+#line 450 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)]) == NULL) {
+ if ((yyvsp[0]) == NULL) {
if (comment == NULL)
- (yyval) = (yyvsp[(1) - (2)]);
+ (yyval) = (yyvsp[-1]);
else
- (yyval) = list_prepend((yyvsp[(1) - (2)]), comment);
+ (yyval) = list_prepend((yyvsp[-1]), comment);
} else {
- add_lint((yyvsp[(2) - (2)]), LINT_no_effect);
- if ((yyvsp[(1) - (2)]) == NULL) {
+ add_lint((yyvsp[0]), LINT_no_effect);
+ if ((yyvsp[-1]) == NULL) {
if (comment == NULL)
- (yyval) = (yyvsp[(2) - (2)]);
+ (yyval) = (yyvsp[0]);
else
- (yyval) = list_prepend((yyvsp[(2) - (2)]), comment);
+ (yyval) = list_prepend((yyvsp[0]), comment);
} else {
if (comment != NULL)
- list_append((yyvsp[(1) - (2)]), comment);
- (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+ list_append((yyvsp[-1]), comment);
+ (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
}
comment = NULL;
yyerrok;
}
+#line 2201 "awkgram.c" /* yacc.c:1646 */
break;
case 39:
-/* Line 1787 of yacc.c */
-#line 473 "awkgram.y"
+#line 473 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2207 "awkgram.c" /* yacc.c:1646 */
break;
case 42:
-/* Line 1787 of yacc.c */
-#line 483 "awkgram.y"
+#line 483 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2213 "awkgram.c" /* yacc.c:1646 */
break;
case 43:
-/* Line 1787 of yacc.c */
-#line 485 "awkgram.y"
- { (yyval) = (yyvsp[(2) - (3)]); }
+#line 485 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-1]); }
+#line 2219 "awkgram.c" /* yacc.c:1646 */
break;
case 44:
-/* Line 1787 of yacc.c */
-#line 487 "awkgram.y"
+#line 487 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
- (yyval) = list_prepend((yyvsp[(1) - (1)]), instruction(Op_exec_count));
+ (yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
else
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyval) = (yyvsp[0]);
}
+#line 2230 "awkgram.c" /* yacc.c:1646 */
break;
case 45:
-/* Line 1787 of yacc.c */
-#line 494 "awkgram.y"
+#line 494 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *dflt, *curr = NULL, *cexp, *cstmt;
INSTRUCTION *ip, *nextc, *tbreak;
@@ -2450,9 +2245,9 @@ yyreduce:
dflt = instruction(Op_jmp);
dflt->target_jmp = tbreak; /* if no case match and no explicit default */
- if ((yyvsp[(7) - (9)]) != NULL) {
- curr = (yyvsp[(7) - (9)])->nexti;
- bcfree((yyvsp[(7) - (9)])); /* Op_list */
+ if ((yyvsp[-2]) != NULL) {
+ curr = (yyvsp[-2])->nexti;
+ bcfree((yyvsp[-2])); /* Op_list */
} /* else
curr = NULL; */
@@ -2508,13 +2303,13 @@ yyreduce:
if (case_values != NULL)
efree(case_values);
- ip = (yyvsp[(3) - (9)]);
+ ip = (yyvsp[-6]);
if (do_pretty_print) {
- (void) list_prepend(ip, (yyvsp[(1) - (9)]));
+ (void) list_prepend(ip, (yyvsp[-8]));
(void) list_prepend(ip, instruction(Op_exec_count));
- (yyvsp[(1) - (9)])->target_break = tbreak;
- ((yyvsp[(1) - (9)]) + 1)->switch_start = cexp->nexti;
- ((yyvsp[(1) - (9)]) + 1)->switch_end = cexp->lasti;
+ (yyvsp[-8])->target_break = tbreak;
+ ((yyvsp[-8]) + 1)->switch_start = cexp->nexti;
+ ((yyvsp[-8]) + 1)->switch_end = cexp->lasti;
}/* else
$1 is NULL */
@@ -2525,11 +2320,11 @@ yyreduce:
break_allowed--;
fix_break_continue(ip, tbreak, NULL);
}
+#line 2324 "awkgram.c" /* yacc.c:1646 */
break;
case 46:
-/* Line 1787 of yacc.c */
-#line 584 "awkgram.y"
+#line 584 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2547,22 +2342,22 @@ yyreduce:
INSTRUCTION *ip, *tbreak, *tcont;
tbreak = instruction(Op_no_op);
- add_lint((yyvsp[(3) - (6)]), LINT_assign_in_cond);
- tcont = (yyvsp[(3) - (6)])->nexti;
- ip = list_append((yyvsp[(3) - (6)]), instruction(Op_jmp_false));
+ add_lint((yyvsp[-3]), LINT_assign_in_cond);
+ tcont = (yyvsp[-3])->nexti;
+ ip = list_append((yyvsp[-3]), instruction(Op_jmp_false));
ip->lasti->target_jmp = tbreak;
if (do_pretty_print) {
(void) list_append(ip, instruction(Op_exec_count));
- (yyvsp[(1) - (6)])->target_break = tbreak;
- (yyvsp[(1) - (6)])->target_continue = tcont;
- ((yyvsp[(1) - (6)]) + 1)->while_body = ip->lasti;
- (void) list_prepend(ip, (yyvsp[(1) - (6)]));
+ (yyvsp[-5])->target_break = tbreak;
+ (yyvsp[-5])->target_continue = tcont;
+ ((yyvsp[-5]) + 1)->while_body = ip->lasti;
+ (void) list_prepend(ip, (yyvsp[-5]));
}/* else
$1 is NULL */
- if ((yyvsp[(6) - (6)]) != NULL)
- (void) list_merge(ip, (yyvsp[(6) - (6)]));
+ if ((yyvsp[0]) != NULL)
+ (void) list_merge(ip, (yyvsp[0]));
(void) list_append(ip, instruction(Op_jmp));
ip->lasti->target_jmp = tcont;
(yyval) = list_append(ip, tbreak);
@@ -2571,11 +2366,11 @@ yyreduce:
continue_allowed--;
fix_break_continue(ip, tbreak, tcont);
}
+#line 2370 "awkgram.c" /* yacc.c:1646 */
break;
case 47:
-/* Line 1787 of yacc.c */
-#line 626 "awkgram.y"
+#line 626 "awkgram.y" /* yacc.c:1646 */
{
/*
* -----------------
@@ -2592,12 +2387,12 @@ yyreduce:
INSTRUCTION *ip, *tbreak, *tcont;
tbreak = instruction(Op_no_op);
- tcont = (yyvsp[(6) - (8)])->nexti;
- add_lint((yyvsp[(6) - (8)]), LINT_assign_in_cond);
- if ((yyvsp[(3) - (8)]) != NULL)
- ip = list_merge((yyvsp[(3) - (8)]), (yyvsp[(6) - (8)]));
+ tcont = (yyvsp[-2])->nexti;
+ add_lint((yyvsp[-2]), LINT_assign_in_cond);
+ if ((yyvsp[-5]) != NULL)
+ ip = list_merge((yyvsp[-5]), (yyvsp[-2]));
else
- ip = list_prepend((yyvsp[(6) - (8)]), instruction(Op_no_op));
+ ip = list_prepend((yyvsp[-2]), instruction(Op_no_op));
if (do_pretty_print)
(void) list_prepend(ip, instruction(Op_exec_count));
(void) list_append(ip, instruction(Op_jmp_true));
@@ -2609,29 +2404,29 @@ yyreduce:
fix_break_continue(ip, tbreak, tcont);
if (do_pretty_print) {
- (yyvsp[(1) - (8)])->target_break = tbreak;
- (yyvsp[(1) - (8)])->target_continue = tcont;
- ((yyvsp[(1) - (8)]) + 1)->doloop_cond = tcont;
- (yyval) = list_prepend(ip, (yyvsp[(1) - (8)]));
- bcfree((yyvsp[(4) - (8)]));
+ (yyvsp[-7])->target_break = tbreak;
+ (yyvsp[-7])->target_continue = tcont;
+ ((yyvsp[-7]) + 1)->doloop_cond = tcont;
+ (yyval) = list_prepend(ip, (yyvsp[-7]));
+ bcfree((yyvsp[-4]));
} /* else
$1 and $4 are NULLs */
}
+#line 2416 "awkgram.c" /* yacc.c:1646 */
break;
case 48:
-/* Line 1787 of yacc.c */
-#line 668 "awkgram.y"
+#line 668 "awkgram.y" /* yacc.c:1646 */
{
INSTRUCTION *ip;
- char *var_name = (yyvsp[(3) - (8)])->lextok;
-
- if ((yyvsp[(8) - (8)]) != NULL
- && (yyvsp[(8) - (8)])->lasti->opcode == Op_K_delete
- && (yyvsp[(8) - (8)])->lasti->expr_count == 1
- && (yyvsp[(8) - (8)])->nexti->opcode == Op_push
- && ((yyvsp[(8) - (8)])->nexti->memory->type != Node_var || !((yyvsp[(8) - (8)])->nexti->memory->var_update))
- && strcmp((yyvsp[(8) - (8)])->nexti->memory->vname, var_name) == 0
+ char *var_name = (yyvsp[-5])->lextok;
+
+ if ((yyvsp[0]) != NULL
+ && (yyvsp[0])->lasti->opcode == Op_K_delete
+ && (yyvsp[0])->lasti->expr_count == 1
+ && (yyvsp[0])->nexti->opcode == Op_push
+ && ((yyvsp[0])->nexti->memory->type != Node_var || !((yyvsp[0])->nexti->memory->var_update))
+ && strcmp((yyvsp[0])->nexti->memory->vname, var_name) == 0
) {
/* Efficiency hack. Recognize the special case of
@@ -2648,25 +2443,25 @@ yyreduce:
*/
NODE *arr = NULL;
- ip = (yyvsp[(8) - (8)])->nexti->nexti;
- if ((yyvsp[(5) - (8)])->nexti->opcode == Op_push && (yyvsp[(5) - (8)])->lasti == (yyvsp[(5) - (8)])->nexti)
- arr = (yyvsp[(5) - (8)])->nexti->memory;
+ ip = (yyvsp[0])->nexti->nexti;
+ if ((yyvsp[-3])->nexti->opcode == Op_push && (yyvsp[-3])->lasti == (yyvsp[-3])->nexti)
+ arr = (yyvsp[-3])->nexti->memory;
if (arr != NULL
&& ip->opcode == Op_no_op
&& ip->nexti->opcode == Op_push_array
&& strcmp(ip->nexti->memory->vname, arr->vname) == 0
- && ip->nexti->nexti == (yyvsp[(8) - (8)])->lasti
+ && ip->nexti->nexti == (yyvsp[0])->lasti
) {
- (void) make_assignable((yyvsp[(8) - (8)])->nexti);
- (yyvsp[(8) - (8)])->lasti->opcode = Op_K_delete_loop;
- (yyvsp[(8) - (8)])->lasti->expr_count = 0;
- if ((yyvsp[(1) - (8)]) != NULL)
- bcfree((yyvsp[(1) - (8)]));
+ (void) make_assignable((yyvsp[0])->nexti);
+ (yyvsp[0])->lasti->opcode = Op_K_delete_loop;
+ (yyvsp[0])->lasti->expr_count = 0;
+ if ((yyvsp[-7]) != NULL)
+ bcfree((yyvsp[-7]));
efree(var_name);
- bcfree((yyvsp[(3) - (8)]));
- bcfree((yyvsp[(4) - (8)]));
- bcfree((yyvsp[(5) - (8)]));
- (yyval) = (yyvsp[(8) - (8)]);
+ bcfree((yyvsp[-5]));
+ bcfree((yyvsp[-4]));
+ bcfree((yyvsp[-3]));
+ (yyval) = (yyvsp[0]);
} else
goto regular_loop;
} else {
@@ -2683,50 +2478,50 @@ yyreduce:
* ib:[Op_arrayfor_final ]
*/
regular_loop:
- ip = (yyvsp[(5) - (8)]);
+ ip = (yyvsp[-3]);
ip->nexti->opcode = Op_push_array;
tbreak = instruction(Op_arrayfor_final);
- (yyvsp[(4) - (8)])->opcode = Op_arrayfor_incr;
- (yyvsp[(4) - (8)])->array_var = variable((yyvsp[(3) - (8)])->source_line, var_name, Node_var);
- (yyvsp[(4) - (8)])->target_jmp = tbreak;
- tcont = (yyvsp[(4) - (8)]);
- (yyvsp[(3) - (8)])->opcode = Op_arrayfor_init;
- (yyvsp[(3) - (8)])->target_jmp = tbreak;
- (void) list_append(ip, (yyvsp[(3) - (8)]));
+ (yyvsp[-4])->opcode = Op_arrayfor_incr;
+ (yyvsp[-4])->array_var = variable((yyvsp[-5])->source_line, var_name, Node_var);
+ (yyvsp[-4])->target_jmp = tbreak;
+ tcont = (yyvsp[-4]);
+ (yyvsp[-5])->opcode = Op_arrayfor_init;
+ (yyvsp[-5])->target_jmp = tbreak;
+ (void) list_append(ip, (yyvsp[-5]));
if (do_pretty_print) {
- (yyvsp[(1) - (8)])->opcode = Op_K_arrayfor;
- (yyvsp[(1) - (8)])->target_continue = tcont;
- (yyvsp[(1) - (8)])->target_break = tbreak;
- (void) list_append(ip, (yyvsp[(1) - (8)]));
+ (yyvsp[-7])->opcode = Op_K_arrayfor;
+ (yyvsp[-7])->target_continue = tcont;
+ (yyvsp[-7])->target_break = tbreak;
+ (void) list_append(ip, (yyvsp[-7]));
} /* else
$1 is NULL */
/* add update_FOO instruction if necessary */
- if ((yyvsp[(4) - (8)])->array_var->type == Node_var && (yyvsp[(4) - (8)])->array_var->var_update) {
+ if ((yyvsp[-4])->array_var->type == Node_var && (yyvsp[-4])->array_var->var_update) {
(void) list_append(ip, instruction(Op_var_update));
- ip->lasti->update_var = (yyvsp[(4) - (8)])->array_var->var_update;
+ ip->lasti->update_var = (yyvsp[-4])->array_var->var_update;
}
- (void) list_append(ip, (yyvsp[(4) - (8)]));
+ (void) list_append(ip, (yyvsp[-4]));
/* add set_FOO instruction if necessary */
- if ((yyvsp[(4) - (8)])->array_var->type == Node_var && (yyvsp[(4) - (8)])->array_var->var_assign) {
+ if ((yyvsp[-4])->array_var->type == Node_var && (yyvsp[-4])->array_var->var_assign) {
(void) list_append(ip, instruction(Op_var_assign));
- ip->lasti->assign_var = (yyvsp[(4) - (8)])->array_var->var_assign;
+ ip->lasti->assign_var = (yyvsp[-4])->array_var->var_assign;
}
if (do_pretty_print) {
(void) list_append(ip, instruction(Op_exec_count));
- ((yyvsp[(1) - (8)]) + 1)->forloop_cond = (yyvsp[(4) - (8)]);
- ((yyvsp[(1) - (8)]) + 1)->forloop_body = ip->lasti;
+ ((yyvsp[-7]) + 1)->forloop_cond = (yyvsp[-4]);
+ ((yyvsp[-7]) + 1)->forloop_body = ip->lasti;
}
- if ((yyvsp[(8) - (8)]) != NULL)
- (void) list_merge(ip, (yyvsp[(8) - (8)]));
+ if ((yyvsp[0]) != NULL)
+ (void) list_merge(ip, (yyvsp[0]));
(void) list_append(ip, instruction(Op_jmp));
- ip->lasti->target_jmp = (yyvsp[(4) - (8)]);
+ ip->lasti->target_jmp = (yyvsp[-4]);
(yyval) = list_append(ip, tbreak);
fix_break_continue(ip, tbreak, tcont);
}
@@ -2734,157 +2529,157 @@ regular_loop:
break_allowed--;
continue_allowed--;
}
+#line 2533 "awkgram.c" /* yacc.c:1646 */
break;
case 49:
-/* Line 1787 of yacc.c */
-#line 781 "awkgram.y"
+#line 781 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = mk_for_loop((yyvsp[(1) - (12)]), (yyvsp[(3) - (12)]), (yyvsp[(6) - (12)]), (yyvsp[(9) - (12)]), (yyvsp[(12) - (12)]));
+ (yyval) = mk_for_loop((yyvsp[-11]), (yyvsp[-9]), (yyvsp[-6]), (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
+#line 2544 "awkgram.c" /* yacc.c:1646 */
break;
case 50:
-/* Line 1787 of yacc.c */
-#line 788 "awkgram.y"
+#line 788 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = mk_for_loop((yyvsp[(1) - (11)]), (yyvsp[(3) - (11)]), (INSTRUCTION *) NULL, (yyvsp[(8) - (11)]), (yyvsp[(11) - (11)]));
+ (yyval) = mk_for_loop((yyvsp[-10]), (yyvsp[-8]), (INSTRUCTION *) NULL, (yyvsp[-3]), (yyvsp[0]));
break_allowed--;
continue_allowed--;
}
+#line 2555 "awkgram.c" /* yacc.c:1646 */
break;
case 51:
-/* Line 1787 of yacc.c */
-#line 795 "awkgram.y"
+#line 795 "awkgram.y" /* yacc.c:1646 */
{
if (do_pretty_print)
- (yyval) = list_prepend((yyvsp[(1) - (1)]), instruction(Op_exec_count));
+ (yyval) = list_prepend((yyvsp[0]), instruction(Op_exec_count));
else
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyval) = (yyvsp[0]);
}
+#line 2566 "awkgram.c" /* yacc.c:1646 */
break;
case 52:
-/* Line 1787 of yacc.c */
-#line 805 "awkgram.y"
+#line 805 "awkgram.y" /* yacc.c:1646 */
{
if (! break_allowed)
- error_ln((yyvsp[(1) - (2)])->source_line,
+ error_ln((yyvsp[-1])->source_line,
_("`break' is not allowed outside a loop or switch"));
- (yyvsp[(1) - (2)])->target_jmp = NULL;
- (yyval) = list_create((yyvsp[(1) - (2)]));
+ (yyvsp[-1])->target_jmp = NULL;
+ (yyval) = list_create((yyvsp[-1]));
}
+#line 2579 "awkgram.c" /* yacc.c:1646 */
break;
case 53:
-/* Line 1787 of yacc.c */
-#line 814 "awkgram.y"
+#line 814 "awkgram.y" /* yacc.c:1646 */
{
if (! continue_allowed)
- error_ln((yyvsp[(1) - (2)])->source_line,
+ error_ln((yyvsp[-1])->source_line,
_("`continue' is not allowed outside a loop"));
- (yyvsp[(1) - (2)])->target_jmp = NULL;
- (yyval) = list_create((yyvsp[(1) - (2)]));
+ (yyvsp[-1])->target_jmp = NULL;
+ (yyval) = list_create((yyvsp[-1]));
}
+#line 2592 "awkgram.c" /* yacc.c:1646 */
break;
case 54:
-/* Line 1787 of yacc.c */
-#line 823 "awkgram.y"
+#line 823 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule && rule != Rule)
- error_ln((yyvsp[(1) - (2)])->source_line,
+ error_ln((yyvsp[-1])->source_line,
_("`next' used in %s action"), ruletab[rule]);
- (yyvsp[(1) - (2)])->target_jmp = ip_rec;
- (yyval) = list_create((yyvsp[(1) - (2)]));
+ (yyvsp[-1])->target_jmp = ip_rec;
+ (yyval) = list_create((yyvsp[-1]));
}
+#line 2605 "awkgram.c" /* yacc.c:1646 */
break;
case 55:
-/* Line 1787 of yacc.c */
-#line 832 "awkgram.y"
+#line 832 "awkgram.y" /* yacc.c:1646 */
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule == BEGIN || rule == END || rule == ENDFILE)
- error_ln((yyvsp[(1) - (2)])->source_line,
+ error_ln((yyvsp[-1])->source_line,
_("`nextfile' used in %s action"), ruletab[rule]);
- (yyvsp[(1) - (2)])->target_newfile = ip_newfile;
- (yyvsp[(1) - (2)])->target_endfile = ip_endfile;
- (yyval) = list_create((yyvsp[(1) - (2)]));
+ (yyvsp[-1])->target_newfile = ip_newfile;
+ (yyvsp[-1])->target_endfile = ip_endfile;
+ (yyval) = list_create((yyvsp[-1]));
}
+#line 2620 "awkgram.c" /* yacc.c:1646 */
break;
case 56:
-/* Line 1787 of yacc.c */
-#line 843 "awkgram.y"
+#line 843 "awkgram.y" /* yacc.c:1646 */
{
/* Initialize the two possible jump targets, the actual target
* is resolved at run-time.
*/
- (yyvsp[(1) - (3)])->target_end = ip_end; /* first instruction in end_block */
- (yyvsp[(1) - (3)])->target_atexit = ip_atexit; /* cleanup and go home */
+ (yyvsp[-2])->target_end = ip_end; /* first instruction in end_block */
+ (yyvsp[-2])->target_atexit = ip_atexit; /* cleanup and go home */
- if ((yyvsp[(2) - (3)]) == NULL) {
- (yyval) = list_create((yyvsp[(1) - (3)]));
+ if ((yyvsp[-1]) == NULL) {
+ (yyval) = list_create((yyvsp[-2]));
(void) list_prepend((yyval), instruction(Op_push_i));
(yyval)->nexti->memory = dupnode(Nnull_string);
} else
- (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
+ (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
}
+#line 2639 "awkgram.c" /* yacc.c:1646 */
break;
case 57:
-/* Line 1787 of yacc.c */
-#line 858 "awkgram.y"
+#line 858 "awkgram.y" /* yacc.c:1646 */
{
if (! in_function)
yyerror(_("`return' used outside function context"));
}
+#line 2648 "awkgram.c" /* yacc.c:1646 */
break;
case 58:
-/* Line 1787 of yacc.c */
-#line 861 "awkgram.y"
+#line 861 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(3) - (4)]) == NULL) {
- (yyval) = list_create((yyvsp[(1) - (4)]));
+ if ((yyvsp[-1]) == NULL) {
+ (yyval) = list_create((yyvsp[-3]));
(void) list_prepend((yyval), instruction(Op_push_i));
(yyval)->nexti->memory = dupnode(Nnull_string);
} else {
if (do_optimize
- && (yyvsp[(3) - (4)])->lasti->opcode == Op_func_call
- && strcmp((yyvsp[(3) - (4)])->lasti->func_name, in_function) == 0
+ && (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[(3) - (4)])->lasti + 1)->tail_call = true;
+ ((yyvsp[-1])->lasti + 1)->tail_call = true;
}
- (yyval) = list_append((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
+ (yyval) = list_append((yyvsp[-1]), (yyvsp[-3]));
}
}
+#line 2673 "awkgram.c" /* yacc.c:1646 */
break;
case 60:
-/* Line 1787 of yacc.c */
-#line 893 "awkgram.y"
+#line 893 "awkgram.y" /* yacc.c:1646 */
{ in_print = true; in_parens = 0; }
+#line 2679 "awkgram.c" /* yacc.c:1646 */
break;
case 61:
-/* Line 1787 of yacc.c */
-#line 894 "awkgram.y"
+#line 894 "awkgram.y" /* yacc.c:1646 */
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -2892,12 +2687,12 @@ regular_loop:
* which is faster for these two cases.
*/
- if ((yyvsp[(1) - (4)])->opcode == Op_K_print &&
- ((yyvsp[(3) - (4)]) == NULL
- || ((yyvsp[(3) - (4)])->lasti->opcode == Op_field_spec
- && (yyvsp[(3) - (4)])->nexti->nexti->nexti == (yyvsp[(3) - (4)])->lasti
- && (yyvsp[(3) - (4)])->nexti->nexti->opcode == Op_push_i
- && (yyvsp[(3) - (4)])->nexti->nexti->memory->type == Node_val)
+ if ((yyvsp[-3])->opcode == Op_K_print &&
+ ((yyvsp[-1]) == NULL
+ || ((yyvsp[-1])->lasti->opcode == Op_field_spec
+ && (yyvsp[-1])->nexti->nexti->nexti == (yyvsp[-1])->lasti
+ && (yyvsp[-1])->nexti->nexti->opcode == Op_push_i
+ && (yyvsp[-1])->nexti->nexti->memory->type == Node_val)
)
) {
static bool warned = false;
@@ -2910,37 +2705,37 @@ regular_loop:
* [Op_K_print_rec | NULL | redir_type | expr_count]
*/
- if ((yyvsp[(3) - (4)]) != NULL) {
- NODE *n = (yyvsp[(3) - (4)])->nexti->nexti->memory;
+ if ((yyvsp[-1]) != NULL) {
+ NODE *n = (yyvsp[-1])->nexti->nexti->memory;
if (! iszero(n))
goto regular_print;
- bcfree((yyvsp[(3) - (4)])->lasti); /* Op_field_spec */
+ bcfree((yyvsp[-1])->lasti); /* Op_field_spec */
unref(n); /* Node_val */
- bcfree((yyvsp[(3) - (4)])->nexti->nexti); /* Op_push_i */
- bcfree((yyvsp[(3) - (4)])->nexti); /* Op_list */
- bcfree((yyvsp[(3) - (4)])); /* Op_list */
+ bcfree((yyvsp[-1])->nexti->nexti); /* Op_push_i */
+ bcfree((yyvsp[-1])->nexti); /* Op_list */
+ bcfree((yyvsp[-1])); /* Op_list */
} else {
if (do_lint && (rule == BEGIN || rule == END) && ! warned) {
warned = true;
- lintwarn_ln((yyvsp[(1) - (4)])->source_line,
+ lintwarn_ln((yyvsp[-3])->source_line,
_("plain `print' in BEGIN or END rule should probably be `print \"\"'"));
}
}
- (yyvsp[(1) - (4)])->expr_count = 0;
- (yyvsp[(1) - (4)])->opcode = Op_K_print_rec;
- if ((yyvsp[(4) - (4)]) == NULL) { /* no redircetion */
- (yyvsp[(1) - (4)])->redir_type = redirect_none;
- (yyval) = list_create((yyvsp[(1) - (4)]));
+ (yyvsp[-3])->expr_count = 0;
+ (yyvsp[-3])->opcode = Op_K_print_rec;
+ if ((yyvsp[0]) == NULL) { /* no redircetion */
+ (yyvsp[-3])->redir_type = redirect_none;
+ (yyval) = list_create((yyvsp[-3]));
} else {
INSTRUCTION *ip;
- ip = (yyvsp[(4) - (4)])->nexti;
- (yyvsp[(1) - (4)])->redir_type = ip->redir_type;
- (yyvsp[(4) - (4)])->nexti = ip->nexti;
+ ip = (yyvsp[0])->nexti;
+ (yyvsp[-3])->redir_type = ip->redir_type;
+ (yyvsp[0])->nexti = ip->nexti;
bcfree(ip);
- (yyval) = list_append((yyvsp[(4) - (4)]), (yyvsp[(1) - (4)]));
+ (yyval) = list_append((yyvsp[0]), (yyvsp[-3]));
}
} else {
/* -----------------
@@ -2953,59 +2748,59 @@ regular_loop:
*
*/
regular_print:
- if ((yyvsp[(4) - (4)]) == NULL) { /* no redirection */
- if ((yyvsp[(3) - (4)]) == NULL) { /* printf without arg */
- (yyvsp[(1) - (4)])->expr_count = 0;
- (yyvsp[(1) - (4)])->redir_type = redirect_none;
- (yyval) = list_create((yyvsp[(1) - (4)]));
+ if ((yyvsp[0]) == NULL) { /* no redirection */
+ if ((yyvsp[-1]) == NULL) { /* printf without arg */
+ (yyvsp[-3])->expr_count = 0;
+ (yyvsp[-3])->redir_type = redirect_none;
+ (yyval) = list_create((yyvsp[-3]));
} else {
- INSTRUCTION *t = (yyvsp[(3) - (4)]);
- (yyvsp[(1) - (4)])->expr_count = count_expressions(&t, false);
- (yyvsp[(1) - (4)])->redir_type = redirect_none;
- (yyval) = list_append(t, (yyvsp[(1) - (4)]));
+ INSTRUCTION *t = (yyvsp[-1]);
+ (yyvsp[-3])->expr_count = count_expressions(&t, false);
+ (yyvsp[-3])->redir_type = redirect_none;
+ (yyval) = list_append(t, (yyvsp[-3]));
}
} else {
INSTRUCTION *ip;
- ip = (yyvsp[(4) - (4)])->nexti;
- (yyvsp[(1) - (4)])->redir_type = ip->redir_type;
- (yyvsp[(4) - (4)])->nexti = ip->nexti;
+ ip = (yyvsp[0])->nexti;
+ (yyvsp[-3])->redir_type = ip->redir_type;
+ (yyvsp[0])->nexti = ip->nexti;
bcfree(ip);
- if ((yyvsp[(3) - (4)]) == NULL) {
- (yyvsp[(1) - (4)])->expr_count = 0;
- (yyval) = list_append((yyvsp[(4) - (4)]), (yyvsp[(1) - (4)]));
+ if ((yyvsp[-1]) == NULL) {
+ (yyvsp[-3])->expr_count = 0;
+ (yyval) = list_append((yyvsp[0]), (yyvsp[-3]));
} else {
- INSTRUCTION *t = (yyvsp[(3) - (4)]);
- (yyvsp[(1) - (4)])->expr_count = count_expressions(&t, false);
- (yyval) = list_append(list_merge((yyvsp[(4) - (4)]), t), (yyvsp[(1) - (4)]));
+ INSTRUCTION *t = (yyvsp[-1]);
+ (yyvsp[-3])->expr_count = count_expressions(&t, false);
+ (yyval) = list_append(list_merge((yyvsp[0]), t), (yyvsp[-3]));
}
}
}
}
+#line 2780 "awkgram.c" /* yacc.c:1646 */
break;
case 62:
-/* Line 1787 of yacc.c */
-#line 991 "awkgram.y"
+#line 991 "awkgram.y" /* yacc.c:1646 */
{ sub_counter = 0; }
+#line 2786 "awkgram.c" /* yacc.c:1646 */
break;
case 63:
-/* Line 1787 of yacc.c */
-#line 992 "awkgram.y"
+#line 992 "awkgram.y" /* yacc.c:1646 */
{
- char *arr = (yyvsp[(2) - (4)])->lextok;
+ char *arr = (yyvsp[-2])->lextok;
- (yyvsp[(2) - (4)])->opcode = Op_push_array;
- (yyvsp[(2) - (4)])->memory = variable((yyvsp[(2) - (4)])->source_line, arr, Node_var_new);
+ (yyvsp[-2])->opcode = Op_push_array;
+ (yyvsp[-2])->memory = variable((yyvsp[-2])->source_line, arr, Node_var_new);
if (! do_posix && ! do_traditional) {
- if ((yyvsp[(2) - (4)])->memory == symbol_table)
+ if ((yyvsp[-2])->memory == symbol_table)
fatal(_("`delete' is not allowed with SYMTAB"));
- else if ((yyvsp[(2) - (4)])->memory == func_table)
+ else if ((yyvsp[-2])->memory == func_table)
fatal(_("`delete' is not allowed with FUNCTAB"));
}
- if ((yyvsp[(4) - (4)]) == NULL) {
+ if ((yyvsp[0]) == NULL) {
/*
* As of September 2012, POSIX has added support
* for `delete array'. See:
@@ -3017,525 +2812,525 @@ regular_print:
* Also, since BWK awk supports it, we don't have to
* check do_traditional either.
*/
- (yyvsp[(1) - (4)])->expr_count = 0;
- (yyval) = list_append(list_create((yyvsp[(2) - (4)])), (yyvsp[(1) - (4)]));
+ (yyvsp[-3])->expr_count = 0;
+ (yyval) = list_append(list_create((yyvsp[-2])), (yyvsp[-3]));
} else {
- (yyvsp[(1) - (4)])->expr_count = sub_counter;
- (yyval) = list_append(list_append((yyvsp[(4) - (4)]), (yyvsp[(2) - (4)])), (yyvsp[(1) - (4)]));
+ (yyvsp[-3])->expr_count = sub_counter;
+ (yyval) = list_append(list_append((yyvsp[0]), (yyvsp[-2])), (yyvsp[-3]));
}
}
+#line 2823 "awkgram.c" /* yacc.c:1646 */
break;
case 64:
-/* Line 1787 of yacc.c */
-#line 1029 "awkgram.y"
+#line 1029 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
- char *arr = (yyvsp[(3) - (4)])->lextok;
+ char *arr = (yyvsp[-1])->lextok;
if (do_lint && ! warned) {
warned = true;
- lintwarn_ln((yyvsp[(1) - (4)])->source_line,
+ lintwarn_ln((yyvsp[-3])->source_line,
_("`delete(array)' is a non-portable tawk extension"));
}
if (do_traditional) {
- error_ln((yyvsp[(1) - (4)])->source_line,
+ error_ln((yyvsp[-3])->source_line,
_("`delete(array)' is a non-portable tawk extension"));
}
- (yyvsp[(3) - (4)])->memory = variable((yyvsp[(3) - (4)])->source_line, arr, Node_var_new);
- (yyvsp[(3) - (4)])->opcode = Op_push_array;
- (yyvsp[(1) - (4)])->expr_count = 0;
- (yyval) = list_append(list_create((yyvsp[(3) - (4)])), (yyvsp[(1) - (4)]));
+ (yyvsp[-1])->memory = variable((yyvsp[-1])->source_line, arr, Node_var_new);
+ (yyvsp[-1])->opcode = Op_push_array;
+ (yyvsp[-3])->expr_count = 0;
+ (yyval) = list_append(list_create((yyvsp[-1])), (yyvsp[-3]));
if (! do_posix && ! do_traditional) {
- if ((yyvsp[(3) - (4)])->memory == symbol_table)
+ if ((yyvsp[-1])->memory == symbol_table)
fatal(_("`delete' is not allowed with SYMTAB"));
- else if ((yyvsp[(3) - (4)])->memory == func_table)
+ else if ((yyvsp[-1])->memory == func_table)
fatal(_("`delete' is not allowed with FUNCTAB"));
}
}
+#line 2853 "awkgram.c" /* yacc.c:1646 */
break;
case 65:
-/* Line 1787 of yacc.c */
-#line 1055 "awkgram.y"
- { (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
+#line 1055 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = optimize_assignment((yyvsp[0])); }
+#line 2859 "awkgram.c" /* yacc.c:1646 */
break;
case 66:
-/* Line 1787 of yacc.c */
-#line 1060 "awkgram.y"
+#line 1060 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2865 "awkgram.c" /* yacc.c:1646 */
break;
case 67:
-/* Line 1787 of yacc.c */
-#line 1062 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1062 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2871 "awkgram.c" /* yacc.c:1646 */
break;
case 68:
-/* Line 1787 of yacc.c */
-#line 1067 "awkgram.y"
+#line 1067 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2877 "awkgram.c" /* yacc.c:1646 */
break;
case 69:
-/* Line 1787 of yacc.c */
-#line 1069 "awkgram.y"
+#line 1069 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (2)]) == NULL)
- (yyval) = list_create((yyvsp[(2) - (2)]));
+ if ((yyvsp[-1]) == NULL)
+ (yyval) = list_create((yyvsp[0]));
else
- (yyval) = list_prepend((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+ (yyval) = list_prepend((yyvsp[-1]), (yyvsp[0]));
}
+#line 2888 "awkgram.c" /* yacc.c:1646 */
break;
case 70:
-/* Line 1787 of yacc.c */
-#line 1076 "awkgram.y"
+#line 1076 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2894 "awkgram.c" /* yacc.c:1646 */
break;
case 71:
-/* Line 1787 of yacc.c */
-#line 1081 "awkgram.y"
+#line 1081 "awkgram.y" /* yacc.c:1646 */
{
- INSTRUCTION *casestmt = (yyvsp[(5) - (5)]);
- if ((yyvsp[(5) - (5)]) == NULL)
+ INSTRUCTION *casestmt = (yyvsp[0]);
+ if ((yyvsp[0]) == NULL)
casestmt = list_create(instruction(Op_no_op));
if (do_pretty_print)
(void) list_prepend(casestmt, instruction(Op_exec_count));
- (yyvsp[(1) - (5)])->case_exp = (yyvsp[(2) - (5)]);
- (yyvsp[(1) - (5)])->case_stmt = casestmt;
- bcfree((yyvsp[(3) - (5)]));
- (yyval) = (yyvsp[(1) - (5)]);
+ (yyvsp[-4])->case_exp = (yyvsp[-3]);
+ (yyvsp[-4])->case_stmt = casestmt;
+ bcfree((yyvsp[-2]));
+ (yyval) = (yyvsp[-4]);
}
+#line 2910 "awkgram.c" /* yacc.c:1646 */
break;
case 72:
-/* Line 1787 of yacc.c */
-#line 1093 "awkgram.y"
+#line 1093 "awkgram.y" /* yacc.c:1646 */
{
- INSTRUCTION *casestmt = (yyvsp[(4) - (4)]);
- if ((yyvsp[(4) - (4)]) == NULL)
+ INSTRUCTION *casestmt = (yyvsp[0]);
+ if ((yyvsp[0]) == NULL)
casestmt = list_create(instruction(Op_no_op));
if (do_pretty_print)
(void) list_prepend(casestmt, instruction(Op_exec_count));
- bcfree((yyvsp[(2) - (4)]));
- (yyvsp[(1) - (4)])->case_stmt = casestmt;
- (yyval) = (yyvsp[(1) - (4)]);
+ bcfree((yyvsp[-2]));
+ (yyvsp[-3])->case_stmt = casestmt;
+ (yyval) = (yyvsp[-3]);
}
+#line 2925 "awkgram.c" /* yacc.c:1646 */
break;
case 73:
-/* Line 1787 of yacc.c */
-#line 1107 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1107 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2931 "awkgram.c" /* yacc.c:1646 */
break;
case 74:
-/* Line 1787 of yacc.c */
-#line 1109 "awkgram.y"
+#line 1109 "awkgram.y" /* yacc.c:1646 */
{
- NODE *n = (yyvsp[(2) - (2)])->memory;
+ NODE *n = (yyvsp[0])->memory;
(void) force_number(n);
negate_num(n);
- bcfree((yyvsp[(1) - (2)]));
- (yyval) = (yyvsp[(2) - (2)]);
+ bcfree((yyvsp[-1]));
+ (yyval) = (yyvsp[0]);
}
+#line 2943 "awkgram.c" /* yacc.c:1646 */
break;
case 75:
-/* Line 1787 of yacc.c */
-#line 1117 "awkgram.y"
+#line 1117 "awkgram.y" /* yacc.c:1646 */
{
- bcfree((yyvsp[(1) - (2)]));
- (yyval) = (yyvsp[(2) - (2)]);
+ bcfree((yyvsp[-1]));
+ (yyval) = (yyvsp[0]);
}
+#line 2952 "awkgram.c" /* yacc.c:1646 */
break;
case 76:
-/* Line 1787 of yacc.c */
-#line 1122 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1122 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2958 "awkgram.c" /* yacc.c:1646 */
break;
case 77:
-/* Line 1787 of yacc.c */
-#line 1124 "awkgram.y"
+#line 1124 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (1)])->opcode = Op_push_re;
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyvsp[0])->opcode = Op_push_re;
+ (yyval) = (yyvsp[0]);
}
+#line 2967 "awkgram.c" /* yacc.c:1646 */
break;
case 78:
-/* Line 1787 of yacc.c */
-#line 1132 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1132 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2973 "awkgram.c" /* yacc.c:1646 */
break;
case 79:
-/* Line 1787 of yacc.c */
-#line 1134 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1134 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2979 "awkgram.c" /* yacc.c:1646 */
break;
case 81:
-/* Line 1787 of yacc.c */
-#line 1144 "awkgram.y"
+#line 1144 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = (yyvsp[(2) - (3)]);
+ (yyval) = (yyvsp[-1]);
}
+#line 2987 "awkgram.c" /* yacc.c:1646 */
break;
case 82:
-/* Line 1787 of yacc.c */
-#line 1151 "awkgram.y"
+#line 1151 "awkgram.y" /* yacc.c:1646 */
{
in_print = false;
in_parens = 0;
(yyval) = NULL;
}
+#line 2997 "awkgram.c" /* yacc.c:1646 */
break;
case 83:
-/* Line 1787 of yacc.c */
-#line 1156 "awkgram.y"
+#line 1156 "awkgram.y" /* yacc.c:1646 */
{ in_print = false; in_parens = 0; }
+#line 3003 "awkgram.c" /* yacc.c:1646 */
break;
case 84:
-/* Line 1787 of yacc.c */
-#line 1157 "awkgram.y"
+#line 1157 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
- && (yyvsp[(3) - (3)])->lasti->opcode == Op_K_getline_redir
- && (yyvsp[(3) - (3)])->lasti->redir_type == redirect_twoway)
+ if ((yyvsp[-2])->redir_type == redirect_twoway
+ && (yyvsp[0])->lasti->opcode == Op_K_getline_redir
+ && (yyvsp[0])->lasti->redir_type == redirect_twoway)
yyerror(_("multistage two-way pipelines don't work"));
- (yyval) = list_prepend((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)]));
+ (yyval) = list_prepend((yyvsp[0]), (yyvsp[-2]));
}
+#line 3015 "awkgram.c" /* yacc.c:1646 */
break;
case 85:
-/* Line 1787 of yacc.c */
-#line 1168 "awkgram.y"
+#line 1168 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), (yyvsp[(6) - (6)]), NULL, NULL);
+ (yyval) = mk_condition((yyvsp[-3]), (yyvsp[-5]), (yyvsp[0]), NULL, NULL);
}
+#line 3023 "awkgram.c" /* yacc.c:1646 */
break;
case 86:
-/* Line 1787 of yacc.c */
-#line 1173 "awkgram.y"
+#line 1173 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), (yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
+ (yyval) = mk_condition((yyvsp[-6]), (yyvsp[-8]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[0]));
}
+#line 3031 "awkgram.c" /* yacc.c:1646 */
break;
case 91:
-/* Line 1787 of yacc.c */
-#line 1190 "awkgram.y"
+#line 1190 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3037 "awkgram.c" /* yacc.c:1646 */
break;
case 92:
-/* Line 1787 of yacc.c */
-#line 1192 "awkgram.y"
+#line 1192 "awkgram.y" /* yacc.c:1646 */
{
- bcfree((yyvsp[(1) - (2)]));
- (yyval) = (yyvsp[(2) - (2)]);
+ bcfree((yyvsp[-1]));
+ (yyval) = (yyvsp[0]);
}
+#line 3046 "awkgram.c" /* yacc.c:1646 */
break;
case 93:
-/* Line 1787 of yacc.c */
-#line 1200 "awkgram.y"
+#line 1200 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3052 "awkgram.c" /* yacc.c:1646 */
break;
case 94:
-/* Line 1787 of yacc.c */
-#line 1202 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]) ; }
+#line 1202 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]) ; }
+#line 3058 "awkgram.c" /* yacc.c:1646 */
break;
case 95:
-/* Line 1787 of yacc.c */
-#line 1207 "awkgram.y"
+#line 1207 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (1)])->param_count = 0;
- (yyval) = list_create((yyvsp[(1) - (1)]));
+ (yyvsp[0])->param_count = 0;
+ (yyval) = list_create((yyvsp[0]));
}
+#line 3067 "awkgram.c" /* yacc.c:1646 */
break;
case 96:
-/* Line 1787 of yacc.c */
-#line 1212 "awkgram.y"
+#line 1212 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(3) - (3)])->param_count = (yyvsp[(1) - (3)])->lasti->param_count + 1;
- (yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
+ (yyvsp[0])->param_count = (yyvsp[-2])->lasti->param_count + 1;
+ (yyval) = list_append((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
+#line 3077 "awkgram.c" /* yacc.c:1646 */
break;
case 97:
-/* Line 1787 of yacc.c */
-#line 1218 "awkgram.y"
+#line 1218 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3083 "awkgram.c" /* yacc.c:1646 */
break;
case 98:
-/* Line 1787 of yacc.c */
-#line 1220 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (2)]); }
+#line 1220 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-1]); }
+#line 3089 "awkgram.c" /* yacc.c:1646 */
break;
case 99:
-/* Line 1787 of yacc.c */
-#line 1222 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (3)]); }
+#line 1222 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-2]); }
+#line 3095 "awkgram.c" /* yacc.c:1646 */
break;
case 100:
-/* Line 1787 of yacc.c */
-#line 1228 "awkgram.y"
+#line 1228 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3101 "awkgram.c" /* yacc.c:1646 */
break;
case 101:
-/* Line 1787 of yacc.c */
-#line 1230 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1230 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3107 "awkgram.c" /* yacc.c:1646 */
break;
case 102:
-/* Line 1787 of yacc.c */
-#line 1235 "awkgram.y"
+#line 1235 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3113 "awkgram.c" /* yacc.c:1646 */
break;
case 103:
-/* Line 1787 of yacc.c */
-#line 1237 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1237 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3119 "awkgram.c" /* yacc.c:1646 */
break;
case 104:
-/* Line 1787 of yacc.c */
-#line 1242 "awkgram.y"
- { (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
+#line 1242 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_expression_list(NULL, (yyvsp[0])); }
+#line 3125 "awkgram.c" /* yacc.c:1646 */
break;
case 105:
-/* Line 1787 of yacc.c */
-#line 1244 "awkgram.y"
+#line 1244 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
+ (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
yyerrok;
}
+#line 3134 "awkgram.c" /* yacc.c:1646 */
break;
case 106:
-/* Line 1787 of yacc.c */
-#line 1249 "awkgram.y"
+#line 1249 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3140 "awkgram.c" /* yacc.c:1646 */
break;
case 107:
-/* Line 1787 of yacc.c */
-#line 1251 "awkgram.y"
+#line 1251 "awkgram.y" /* yacc.c:1646 */
{
/*
* Returning the expression list instead of NULL lets
* snode get a list of arguments that it can count.
*/
- (yyval) = (yyvsp[(1) - (2)]);
+ (yyval) = (yyvsp[-1]);
}
+#line 3152 "awkgram.c" /* yacc.c:1646 */
break;
case 108:
-/* Line 1787 of yacc.c */
-#line 1259 "awkgram.y"
+#line 1259 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
- (yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
+ (yyval) = mk_expression_list((yyvsp[-2]), (yyvsp[0]));
}
+#line 3161 "awkgram.c" /* yacc.c:1646 */
break;
case 109:
-/* Line 1787 of yacc.c */
-#line 1264 "awkgram.y"
+#line 1264 "awkgram.y" /* yacc.c:1646 */
{
/* Ditto */
- (yyval) = (yyvsp[(1) - (3)]);
+ (yyval) = (yyvsp[-2]);
}
+#line 3170 "awkgram.c" /* yacc.c:1646 */
break;
case 110:
-/* Line 1787 of yacc.c */
-#line 1273 "awkgram.y"
+#line 1273 "awkgram.y" /* yacc.c:1646 */
{
- if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
- lintwarn_ln((yyvsp[(2) - (3)])->source_line,
+ 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[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)]));
+ (yyval) = mk_assignment((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1]));
}
+#line 3181 "awkgram.c" /* yacc.c:1646 */
break;
case 111:
-/* Line 1787 of yacc.c */
-#line 1280 "awkgram.y"
- { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1280 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3187 "awkgram.c" /* yacc.c:1646 */
break;
case 112:
-/* Line 1787 of yacc.c */
-#line 1282 "awkgram.y"
- { (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1282 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_boolean((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3193 "awkgram.c" /* yacc.c:1646 */
break;
case 113:
-/* Line 1787 of yacc.c */
-#line 1284 "awkgram.y"
+#line 1284 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
- warning_ln((yyvsp[(2) - (3)])->source_line,
+ if ((yyvsp[-2])->lasti->opcode == Op_match_rec)
+ warning_ln((yyvsp[-1])->source_line,
_("regular expression on left of `~' or `!~' operator"));
- if ((yyvsp[(3) - (3)])->lasti == (yyvsp[(3) - (3)])->nexti && (yyvsp[(3) - (3)])->nexti->opcode == Op_match_rec) {
- (yyvsp[(2) - (3)])->memory = (yyvsp[(3) - (3)])->nexti->memory;
- bcfree((yyvsp[(3) - (3)])->nexti); /* Op_match_rec */
- bcfree((yyvsp[(3) - (3)])); /* Op_list */
- (yyval) = list_append((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]));
+ if ((yyvsp[0])->lasti == (yyvsp[0])->nexti && (yyvsp[0])->nexti->opcode == Op_match_rec) {
+ (yyvsp[-1])->memory = (yyvsp[0])->nexti->memory;
+ bcfree((yyvsp[0])->nexti); /* Op_match_rec */
+ bcfree((yyvsp[0])); /* Op_list */
+ (yyval) = list_append((yyvsp[-2]), (yyvsp[-1]));
} else {
- (yyvsp[(2) - (3)])->memory = make_regnode(Node_dynregex, NULL);
- (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])), (yyvsp[(2) - (3)]));
+ (yyvsp[-1])->memory = make_regnode(Node_dynregex, NULL);
+ (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
}
+#line 3213 "awkgram.c" /* yacc.c:1646 */
break;
case 114:
-/* Line 1787 of yacc.c */
-#line 1300 "awkgram.y"
+#line 1300 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old)
- warning_ln((yyvsp[(2) - (3)])->source_line,
+ warning_ln((yyvsp[-1])->source_line,
_("old awk does not support the keyword `in' except after `for'"));
- (yyvsp[(3) - (3)])->nexti->opcode = Op_push_array;
- (yyvsp[(2) - (3)])->opcode = Op_in_array;
- (yyvsp[(2) - (3)])->expr_count = 1;
- (yyval) = list_append(list_merge((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])), (yyvsp[(2) - (3)]));
+ (yyvsp[0])->nexti->opcode = Op_push_array;
+ (yyvsp[-1])->opcode = Op_in_array;
+ (yyvsp[-1])->expr_count = 1;
+ (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
+#line 3227 "awkgram.c" /* yacc.c:1646 */
break;
case 115:
-/* Line 1787 of yacc.c */
-#line 1310 "awkgram.y"
+#line 1310 "awkgram.y" /* yacc.c:1646 */
{
- if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
- lintwarn_ln((yyvsp[(2) - (3)])->source_line,
+ 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[(1) - (3)]), (yyvsp[(3) - (3)])), (yyvsp[(2) - (3)]));
+ (yyval) = list_append(list_merge((yyvsp[-2]), (yyvsp[0])), (yyvsp[-1]));
}
+#line 3238 "awkgram.c" /* yacc.c:1646 */
break;
case 116:
-/* Line 1787 of yacc.c */
-#line 1317 "awkgram.y"
- { (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
+#line 1317 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_condition((yyvsp[-4]), (yyvsp[-3]), (yyvsp[-2]), (yyvsp[-1]), (yyvsp[0])); }
+#line 3244 "awkgram.c" /* yacc.c:1646 */
break;
case 117:
-/* Line 1787 of yacc.c */
-#line 1319 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1319 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3250 "awkgram.c" /* yacc.c:1646 */
break;
case 118:
-/* Line 1787 of yacc.c */
-#line 1324 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1324 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3256 "awkgram.c" /* yacc.c:1646 */
break;
case 119:
-/* Line 1787 of yacc.c */
-#line 1326 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1326 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3262 "awkgram.c" /* yacc.c:1646 */
break;
case 120:
-/* Line 1787 of yacc.c */
-#line 1328 "awkgram.y"
+#line 1328 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
- (yyval) = (yyvsp[(2) - (2)]);
+ (yyvsp[0])->opcode = Op_assign_quotient;
+ (yyval) = (yyvsp[0]);
}
+#line 3271 "awkgram.c" /* yacc.c:1646 */
break;
case 121:
-/* Line 1787 of yacc.c */
-#line 1336 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1336 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3277 "awkgram.c" /* yacc.c:1646 */
break;
case 122:
-/* Line 1787 of yacc.c */
-#line 1338 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1338 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3283 "awkgram.c" /* yacc.c:1646 */
break;
case 123:
-/* Line 1787 of yacc.c */
-#line 1343 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1343 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3289 "awkgram.c" /* yacc.c:1646 */
break;
case 124:
-/* Line 1787 of yacc.c */
-#line 1345 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1345 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3295 "awkgram.c" /* yacc.c:1646 */
break;
case 125:
-/* Line 1787 of yacc.c */
-#line 1350 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1350 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3301 "awkgram.c" /* yacc.c:1646 */
break;
case 126:
-/* Line 1787 of yacc.c */
-#line 1352 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1352 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3307 "awkgram.c" /* yacc.c:1646 */
break;
case 127:
-/* Line 1787 of yacc.c */
-#line 1354 "awkgram.y"
+#line 1354 "awkgram.y" /* yacc.c:1646 */
{
int count = 2;
bool is_simple_var = false;
- if ((yyvsp[(1) - (2)])->lasti->opcode == Op_concat) {
+ if ((yyvsp[-1])->lasti->opcode == Op_concat) {
/* multiple (> 2) adjacent strings optimization */
- is_simple_var = ((yyvsp[(1) - (2)])->lasti->concat_flag & CSVAR);
- count = (yyvsp[(1) - (2)])->lasti->expr_count + 1;
- (yyvsp[(1) - (2)])->lasti->opcode = Op_no_op;
+ is_simple_var = ((yyvsp[-1])->lasti->concat_flag & CSVAR);
+ count = (yyvsp[-1])->lasti->expr_count + 1;
+ (yyvsp[-1])->lasti->opcode = Op_no_op;
} else {
- is_simple_var = ((yyvsp[(1) - (2)])->nexti->opcode == Op_push
- && (yyvsp[(1) - (2)])->lasti == (yyvsp[(1) - (2)])->nexti); /* first exp. is a simple
+ is_simple_var = ((yyvsp[-1])->nexti->opcode == Op_push
+ && (yyvsp[-1])->lasti == (yyvsp[-1])->nexti); /* first exp. is a simple
* variable?; kludge for use
* in Op_assign_concat.
*/
}
if (do_optimize
- && (yyvsp[(1) - (2)])->nexti == (yyvsp[(1) - (2)])->lasti && (yyvsp[(1) - (2)])->nexti->opcode == Op_push_i
- && (yyvsp[(2) - (2)])->nexti == (yyvsp[(2) - (2)])->lasti && (yyvsp[(2) - (2)])->nexti->opcode == Op_push_i
+ && (yyvsp[-1])->nexti == (yyvsp[-1])->lasti && (yyvsp[-1])->nexti->opcode == Op_push_i
+ && (yyvsp[0])->nexti == (yyvsp[0])->lasti && (yyvsp[0])->nexti->opcode == Op_push_i
) {
- NODE *n1 = (yyvsp[(1) - (2)])->nexti->memory;
- NODE *n2 = (yyvsp[(2) - (2)])->nexti->memory;
+ NODE *n1 = (yyvsp[-1])->nexti->memory;
+ NODE *n2 = (yyvsp[0])->nexti->memory;
size_t nlen;
n1 = force_string(n1);
@@ -3548,193 +3343,193 @@ regular_print:
n1->flags &= ~(NUMCUR|NUMBER|NUMINT);
n1->flags |= (STRING|STRCUR);
unref(n2);
- bcfree((yyvsp[(2) - (2)])->nexti);
- bcfree((yyvsp[(2) - (2)]));
- (yyval) = (yyvsp[(1) - (2)]);
+ bcfree((yyvsp[0])->nexti);
+ bcfree((yyvsp[0]));
+ (yyval) = (yyvsp[-1]);
} else {
- (yyval) = list_append(list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])), instruction(Op_concat));
+ (yyval) = list_append(list_merge((yyvsp[-1]), (yyvsp[0])), instruction(Op_concat));
(yyval)->lasti->concat_flag = (is_simple_var ? CSVAR : 0);
(yyval)->lasti->expr_count = count;
if (count > max_args)
max_args = count;
}
}
+#line 3358 "awkgram.c" /* yacc.c:1646 */
break;
case 129:
-/* Line 1787 of yacc.c */
-#line 1406 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1406 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3364 "awkgram.c" /* yacc.c:1646 */
break;
case 130:
-/* Line 1787 of yacc.c */
-#line 1408 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1408 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3370 "awkgram.c" /* yacc.c:1646 */
break;
case 131:
-/* Line 1787 of yacc.c */
-#line 1410 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1410 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3376 "awkgram.c" /* yacc.c:1646 */
break;
case 132:
-/* Line 1787 of yacc.c */
-#line 1412 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1412 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3382 "awkgram.c" /* yacc.c:1646 */
break;
case 133:
-/* Line 1787 of yacc.c */
-#line 1414 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1414 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3388 "awkgram.c" /* yacc.c:1646 */
break;
case 134:
-/* Line 1787 of yacc.c */
-#line 1416 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1416 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3394 "awkgram.c" /* yacc.c:1646 */
break;
case 135:
-/* Line 1787 of yacc.c */
-#line 1418 "awkgram.y"
+#line 1418 "awkgram.y" /* yacc.c:1646 */
{
/*
* In BEGINFILE/ENDFILE, allow `getline var < file'
*/
if (rule == BEGINFILE || rule == ENDFILE) {
- if ((yyvsp[(2) - (3)]) != NULL && (yyvsp[(3) - (3)]) != NULL)
+ if ((yyvsp[-1]) != NULL && (yyvsp[0]) != NULL)
; /* all ok */
else {
- if ((yyvsp[(2) - (3)]) != NULL)
- error_ln((yyvsp[(1) - (3)])->source_line,
+ if ((yyvsp[-1]) != NULL)
+ error_ln((yyvsp[-2])->source_line,
_("`getline var' invalid inside `%s' rule"), ruletab[rule]);
else
- error_ln((yyvsp[(1) - (3)])->source_line,
+ error_ln((yyvsp[-2])->source_line,
_("`getline' invalid inside `%s' rule"), ruletab[rule]);
}
}
- if (do_lint && rule == END && (yyvsp[(3) - (3)]) == NULL)
- lintwarn_ln((yyvsp[(1) - (3)])->source_line,
+ if (do_lint && rule == END && (yyvsp[0]) == NULL)
+ lintwarn_ln((yyvsp[-2])->source_line,
_("non-redirected `getline' undefined inside END action"));
- (yyval) = mk_getline((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]), redirect_input);
+ (yyval) = mk_getline((yyvsp[-2]), (yyvsp[-1]), (yyvsp[0]), redirect_input);
}
+#line 3421 "awkgram.c" /* yacc.c:1646 */
break;
case 136:
-/* Line 1787 of yacc.c */
-#line 1441 "awkgram.y"
+#line 1441 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(2) - (2)])->opcode = Op_postincrement;
- (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
+ (yyvsp[0])->opcode = Op_postincrement;
+ (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
+#line 3430 "awkgram.c" /* yacc.c:1646 */
break;
case 137:
-/* Line 1787 of yacc.c */
-#line 1446 "awkgram.y"
+#line 1446 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(2) - (2)])->opcode = Op_postdecrement;
- (yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
+ (yyvsp[0])->opcode = Op_postdecrement;
+ (yyval) = mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
+#line 3439 "awkgram.c" /* yacc.c:1646 */
break;
case 138:
-/* Line 1787 of yacc.c */
-#line 1451 "awkgram.y"
+#line 1451 "awkgram.y" /* yacc.c:1646 */
{
if (do_lint_old) {
- warning_ln((yyvsp[(4) - (5)])->source_line,
+ warning_ln((yyvsp[-1])->source_line,
_("old awk does not support the keyword `in' except after `for'"));
- warning_ln((yyvsp[(4) - (5)])->source_line,
+ warning_ln((yyvsp[-1])->source_line,
_("old awk does not support multidimensional arrays"));
}
- (yyvsp[(5) - (5)])->nexti->opcode = Op_push_array;
- (yyvsp[(4) - (5)])->opcode = Op_in_array;
- if ((yyvsp[(2) - (5)]) == NULL) { /* error */
+ (yyvsp[0])->nexti->opcode = Op_push_array;
+ (yyvsp[-1])->opcode = Op_in_array;
+ if ((yyvsp[-3]) == NULL) { /* error */
errcount++;
- (yyvsp[(4) - (5)])->expr_count = 0;
- (yyval) = list_merge((yyvsp[(5) - (5)]), (yyvsp[(4) - (5)]));
+ (yyvsp[-1])->expr_count = 0;
+ (yyval) = list_merge((yyvsp[0]), (yyvsp[-1]));
} else {
- INSTRUCTION *t = (yyvsp[(2) - (5)]);
- (yyvsp[(4) - (5)])->expr_count = count_expressions(&t, false);
- (yyval) = list_append(list_merge(t, (yyvsp[(5) - (5)])), (yyvsp[(4) - (5)]));
+ INSTRUCTION *t = (yyvsp[-3]);
+ (yyvsp[-1])->expr_count = count_expressions(&t, false);
+ (yyval) = list_append(list_merge(t, (yyvsp[0])), (yyvsp[-1]));
}
}
+#line 3463 "awkgram.c" /* yacc.c:1646 */
break;
case 139:
-/* Line 1787 of yacc.c */
-#line 1476 "awkgram.y"
+#line 1476 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), (yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
- bcfree((yyvsp[(2) - (4)]));
+ (yyval) = mk_getline((yyvsp[-1]), (yyvsp[0]), (yyvsp[-3]), (yyvsp[-2])->redir_type);
+ bcfree((yyvsp[-2]));
}
+#line 3472 "awkgram.c" /* yacc.c:1646 */
break;
case 140:
-/* Line 1787 of yacc.c */
-#line 1482 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1482 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3478 "awkgram.c" /* yacc.c:1646 */
break;
case 141:
-/* Line 1787 of yacc.c */
-#line 1484 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1484 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3484 "awkgram.c" /* yacc.c:1646 */
break;
case 142:
-/* Line 1787 of yacc.c */
-#line 1486 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1486 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3490 "awkgram.c" /* yacc.c:1646 */
break;
case 143:
-/* Line 1787 of yacc.c */
-#line 1488 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1488 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3496 "awkgram.c" /* yacc.c:1646 */
break;
case 144:
-/* Line 1787 of yacc.c */
-#line 1490 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1490 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3502 "awkgram.c" /* yacc.c:1646 */
break;
case 145:
-/* Line 1787 of yacc.c */
-#line 1492 "awkgram.y"
- { (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
+#line 1492 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = mk_binary((yyvsp[-2]), (yyvsp[0]), (yyvsp[-1])); }
+#line 3508 "awkgram.c" /* yacc.c:1646 */
break;
case 146:
-/* Line 1787 of yacc.c */
-#line 1497 "awkgram.y"
+#line 1497 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = list_create((yyvsp[(1) - (1)]));
+ (yyval) = list_create((yyvsp[0]));
}
+#line 3516 "awkgram.c" /* yacc.c:1646 */
break;
case 147:
-/* Line 1787 of yacc.c */
-#line 1501 "awkgram.y"
+#line 1501 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
- (yyvsp[(2) - (2)])->opcode = Op_nomatch;
- (yyvsp[(1) - (2)])->opcode = Op_push_i;
- (yyvsp[(1) - (2)])->memory = make_number(0.0);
- (yyval) = list_append(list_append(list_create((yyvsp[(1) - (2)])),
- instruction(Op_field_spec)), (yyvsp[(2) - (2)]));
+ if ((yyvsp[0])->opcode == Op_match_rec) {
+ (yyvsp[0])->opcode = Op_nomatch;
+ (yyvsp[-1])->opcode = Op_push_i;
+ (yyvsp[-1])->memory = make_number(0.0);
+ (yyval) = list_append(list_append(list_create((yyvsp[-1])),
+ instruction(Op_field_spec)), (yyvsp[0]));
} else {
- if (do_optimize && (yyvsp[(2) - (2)])->nexti == (yyvsp[(2) - (2)])->lasti
- && (yyvsp[(2) - (2)])->nexti->opcode == Op_push_i
- && ((yyvsp[(2) - (2)])->nexti->memory->flags & (MPFN|MPZN)) == 0
+ if (do_optimize && (yyvsp[0])->nexti == (yyvsp[0])->lasti
+ && (yyvsp[0])->nexti->opcode == Op_push_i
+ && ((yyvsp[0])->nexti->memory->flags & (MPFN|MPZN)) == 0
) {
- NODE *n = (yyvsp[(2) - (2)])->nexti->memory;
+ NODE *n = (yyvsp[0])->nexti->memory;
if ((n->flags & (STRCUR|STRING)) != 0) {
n->numbr = (AWKNUM) (n->stlen == 0);
n->flags &= ~(STRCUR|STRING);
@@ -3744,139 +3539,139 @@ regular_print:
n->stlen = 0;
} else
n->numbr = (AWKNUM) (n->numbr == 0.0);
- bcfree((yyvsp[(1) - (2)]));
- (yyval) = (yyvsp[(2) - (2)]);
+ bcfree((yyvsp[-1]));
+ (yyval) = (yyvsp[0]);
} else {
- (yyvsp[(1) - (2)])->opcode = Op_not;
- add_lint((yyvsp[(2) - (2)]), LINT_assign_in_cond);
- (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+ (yyvsp[-1])->opcode = Op_not;
+ add_lint((yyvsp[0]), LINT_assign_in_cond);
+ (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
}
+#line 3552 "awkgram.c" /* yacc.c:1646 */
break;
case 148:
-/* Line 1787 of yacc.c */
-#line 1533 "awkgram.y"
- { (yyval) = (yyvsp[(2) - (3)]); }
+#line 1533 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-1]); }
+#line 3558 "awkgram.c" /* yacc.c:1646 */
break;
case 149:
-/* Line 1787 of yacc.c */
-#line 1535 "awkgram.y"
+#line 1535 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
+ (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
+#line 3568 "awkgram.c" /* yacc.c:1646 */
break;
case 150:
-/* Line 1787 of yacc.c */
-#line 1541 "awkgram.y"
+#line 1541 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
+ (yyval) = snode((yyvsp[-1]), (yyvsp[-3]));
if ((yyval) == NULL)
YYABORT;
}
+#line 3578 "awkgram.c" /* yacc.c:1646 */
break;
case 151:
-/* Line 1787 of yacc.c */
-#line 1547 "awkgram.y"
+#line 1547 "awkgram.y" /* yacc.c:1646 */
{
static bool warned = false;
if (do_lint && ! warned) {
warned = true;
- lintwarn_ln((yyvsp[(1) - (1)])->source_line,
+ lintwarn_ln((yyvsp[0])->source_line,
_("call of `length' without parentheses is not portable"));
}
- (yyval) = snode(NULL, (yyvsp[(1) - (1)]));
+ (yyval) = snode(NULL, (yyvsp[0]));
if ((yyval) == NULL)
YYABORT;
}
+#line 3595 "awkgram.c" /* yacc.c:1646 */
break;
case 154:
-/* Line 1787 of yacc.c */
-#line 1562 "awkgram.y"
+#line 1562 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (2)])->opcode = Op_preincrement;
- (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
+ (yyvsp[-1])->opcode = Op_preincrement;
+ (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
+#line 3604 "awkgram.c" /* yacc.c:1646 */
break;
case 155:
-/* Line 1787 of yacc.c */
-#line 1567 "awkgram.y"
+#line 1567 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (2)])->opcode = Op_predecrement;
- (yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
+ (yyvsp[-1])->opcode = Op_predecrement;
+ (yyval) = mk_assignment((yyvsp[0]), NULL, (yyvsp[-1]));
}
+#line 3613 "awkgram.c" /* yacc.c:1646 */
break;
case 156:
-/* Line 1787 of yacc.c */
-#line 1572 "awkgram.y"
+#line 1572 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = list_create((yyvsp[(1) - (1)]));
+ (yyval) = list_create((yyvsp[0]));
}
+#line 3621 "awkgram.c" /* yacc.c:1646 */
break;
case 157:
-/* Line 1787 of yacc.c */
-#line 1576 "awkgram.y"
+#line 1576 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = list_create((yyvsp[(1) - (1)]));
+ (yyval) = list_create((yyvsp[0]));
}
+#line 3629 "awkgram.c" /* yacc.c:1646 */
break;
case 158:
-/* Line 1787 of yacc.c */
-#line 1580 "awkgram.y"
+#line 1580 "awkgram.y" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
- && ((yyvsp[(2) - (2)])->lasti->memory->flags & (STRCUR|STRING)) == 0
+ if ((yyvsp[0])->lasti->opcode == Op_push_i
+ && ((yyvsp[0])->lasti->memory->flags & (STRCUR|STRING)) == 0
) {
- NODE *n = (yyvsp[(2) - (2)])->lasti->memory;
+ NODE *n = (yyvsp[0])->lasti->memory;
(void) force_number(n);
negate_num(n);
- (yyval) = (yyvsp[(2) - (2)]);
- bcfree((yyvsp[(1) - (2)]));
+ (yyval) = (yyvsp[0]);
+ bcfree((yyvsp[-1]));
} else {
- (yyvsp[(1) - (2)])->opcode = Op_unary_minus;
- (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+ (yyvsp[-1])->opcode = Op_unary_minus;
+ (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
}
+#line 3648 "awkgram.c" /* yacc.c:1646 */
break;
case 159:
-/* Line 1787 of yacc.c */
-#line 1595 "awkgram.y"
+#line 1595 "awkgram.y" /* yacc.c:1646 */
{
/*
* was: $$ = $2
* POSIX semantics: force a conversion to numeric type
*/
- (yyvsp[(1) - (2)])->opcode = Op_plus_i;
- (yyvsp[(1) - (2)])->memory = make_number(0.0);
- (yyval) = list_append((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+ (yyvsp[-1])->opcode = Op_plus_i;
+ (yyvsp[-1])->memory = make_number(0.0);
+ (yyval) = list_append((yyvsp[0]), (yyvsp[-1]));
}
+#line 3662 "awkgram.c" /* yacc.c:1646 */
break;
case 160:
-/* Line 1787 of yacc.c */
-#line 1608 "awkgram.y"
+#line 1608 "awkgram.y" /* yacc.c:1646 */
{
- func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
- (yyval) = (yyvsp[(1) - (1)]);
+ func_use((yyvsp[0])->lasti->func_name, FUNC_USE);
+ (yyval) = (yyvsp[0]);
}
+#line 3671 "awkgram.c" /* yacc.c:1646 */
break;
case 161:
-/* Line 1787 of yacc.c */
-#line 1613 "awkgram.y"
+#line 1613 "awkgram.y" /* yacc.c:1646 */
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -3892,7 +3687,7 @@ regular_print:
lintwarn("%s", msg);
}
- f = (yyvsp[(2) - (2)])->lasti;
+ f = (yyvsp[0])->lasti;
f->opcode = Op_indirect_func_call;
name = estrdup(f->func_name, strlen(f->func_name));
if (is_std_var(name))
@@ -3907,71 +3702,71 @@ regular_print:
* @f(f="real_fun")
*/
- (yyval) = list_prepend((yyvsp[(2) - (2)]), t);
+ (yyval) = list_prepend((yyvsp[0]), t);
}
+#line 3708 "awkgram.c" /* yacc.c:1646 */
break;
case 162:
-/* Line 1787 of yacc.c */
-#line 1649 "awkgram.y"
+#line 1649 "awkgram.y" /* yacc.c:1646 */
{
- param_sanity((yyvsp[(3) - (4)]));
- (yyvsp[(1) - (4)])->opcode = Op_func_call;
- (yyvsp[(1) - (4)])->func_body = NULL;
- if ((yyvsp[(3) - (4)]) == NULL) { /* no argument or error */
- ((yyvsp[(1) - (4)]) + 1)->expr_count = 0;
- (yyval) = list_create((yyvsp[(1) - (4)]));
+ param_sanity((yyvsp[-1]));
+ (yyvsp[-3])->opcode = Op_func_call;
+ (yyvsp[-3])->func_body = NULL;
+ if ((yyvsp[-1]) == NULL) { /* no argument or error */
+ ((yyvsp[-3]) + 1)->expr_count = 0;
+ (yyval) = list_create((yyvsp[-3]));
} else {
- INSTRUCTION *t = (yyvsp[(3) - (4)]);
- ((yyvsp[(1) - (4)]) + 1)->expr_count = count_expressions(&t, true);
- (yyval) = list_append(t, (yyvsp[(1) - (4)]));
+ INSTRUCTION *t = (yyvsp[-1]);
+ ((yyvsp[-3]) + 1)->expr_count = count_expressions(&t, true);
+ (yyval) = list_append(t, (yyvsp[-3]));
}
}
+#line 3726 "awkgram.c" /* yacc.c:1646 */
break;
case 163:
-/* Line 1787 of yacc.c */
-#line 1666 "awkgram.y"
+#line 1666 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3732 "awkgram.c" /* yacc.c:1646 */
break;
case 164:
-/* Line 1787 of yacc.c */
-#line 1668 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1668 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3738 "awkgram.c" /* yacc.c:1646 */
break;
case 165:
-/* Line 1787 of yacc.c */
-#line 1673 "awkgram.y"
+#line 1673 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3744 "awkgram.c" /* yacc.c:1646 */
break;
case 166:
-/* Line 1787 of yacc.c */
-#line 1675 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (2)]); }
+#line 1675 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-1]); }
+#line 3750 "awkgram.c" /* yacc.c:1646 */
break;
case 167:
-/* Line 1787 of yacc.c */
-#line 1680 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1680 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3756 "awkgram.c" /* yacc.c:1646 */
break;
case 168:
-/* Line 1787 of yacc.c */
-#line 1682 "awkgram.y"
+#line 1682 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+ (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
+#line 3764 "awkgram.c" /* yacc.c:1646 */
break;
case 169:
-/* Line 1787 of yacc.c */
-#line 1689 "awkgram.y"
+#line 1689 "awkgram.y" /* yacc.c:1646 */
{
- INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti;
+ INSTRUCTION *ip = (yyvsp[0])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
if (count > 1) {
/* change Op_subscript or Op_sub_array to Op_concat */
@@ -3981,152 +3776,152 @@ regular_print:
} else
ip->opcode = Op_no_op;
sub_counter++; /* count # of dimensions */
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyval) = (yyvsp[0]);
}
+#line 3782 "awkgram.c" /* yacc.c:1646 */
break;
case 170:
-/* Line 1787 of yacc.c */
-#line 1706 "awkgram.y"
+#line 1706 "awkgram.y" /* yacc.c:1646 */
{
- INSTRUCTION *t = (yyvsp[(2) - (3)]);
- if ((yyvsp[(2) - (3)]) == NULL) {
- error_ln((yyvsp[(3) - (3)])->source_line,
+ INSTRUCTION *t = (yyvsp[-1]);
+ if ((yyvsp[-1]) == NULL) {
+ error_ln((yyvsp[0])->source_line,
_("invalid subscript expression"));
/* install Null string as subscript. */
t = list_create(instruction(Op_push_i));
t->nexti->memory = dupnode(Nnull_string);
- (yyvsp[(3) - (3)])->sub_count = 1;
+ (yyvsp[0])->sub_count = 1;
} else
- (yyvsp[(3) - (3)])->sub_count = count_expressions(&t, false);
- (yyval) = list_append(t, (yyvsp[(3) - (3)]));
+ (yyvsp[0])->sub_count = count_expressions(&t, false);
+ (yyval) = list_append(t, (yyvsp[0]));
}
+#line 3800 "awkgram.c" /* yacc.c:1646 */
break;
case 171:
-/* Line 1787 of yacc.c */
-#line 1723 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 1723 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 3806 "awkgram.c" /* yacc.c:1646 */
break;
case 172:
-/* Line 1787 of yacc.c */
-#line 1725 "awkgram.y"
+#line 1725 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
+ (yyval) = list_merge((yyvsp[-1]), (yyvsp[0]));
}
+#line 3814 "awkgram.c" /* yacc.c:1646 */
break;
case 173:
-/* Line 1787 of yacc.c */
-#line 1732 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (2)]); }
+#line 1732 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-1]); }
+#line 3820 "awkgram.c" /* yacc.c:1646 */
break;
case 174:
-/* Line 1787 of yacc.c */
-#line 1737 "awkgram.y"
+#line 1737 "awkgram.y" /* yacc.c:1646 */
{
- char *var_name = (yyvsp[(1) - (1)])->lextok;
+ char *var_name = (yyvsp[0])->lextok;
- (yyvsp[(1) - (1)])->opcode = Op_push;
- (yyvsp[(1) - (1)])->memory = variable((yyvsp[(1) - (1)])->source_line, var_name, Node_var_new);
- (yyval) = list_create((yyvsp[(1) - (1)]));
+ (yyvsp[0])->opcode = Op_push;
+ (yyvsp[0])->memory = variable((yyvsp[0])->source_line, var_name, Node_var_new);
+ (yyval) = list_create((yyvsp[0]));
}
+#line 3832 "awkgram.c" /* yacc.c:1646 */
break;
case 175:
-/* Line 1787 of yacc.c */
-#line 1745 "awkgram.y"
+#line 1745 "awkgram.y" /* yacc.c:1646 */
{
- char *arr = (yyvsp[(1) - (2)])->lextok;
- (yyvsp[(1) - (2)])->memory = variable((yyvsp[(1) - (2)])->source_line, arr, Node_var_new);
- (yyvsp[(1) - (2)])->opcode = Op_push_array;
- (yyval) = list_prepend((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
+ 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 3843 "awkgram.c" /* yacc.c:1646 */
break;
case 176:
-/* Line 1787 of yacc.c */
-#line 1755 "awkgram.y"
+#line 1755 "awkgram.y" /* yacc.c:1646 */
{
- INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
+ INSTRUCTION *ip = (yyvsp[0])->nexti;
if (ip->opcode == Op_push
&& ip->memory->type == Node_var
&& ip->memory->var_update
) {
- (yyval) = list_prepend((yyvsp[(1) - (1)]), instruction(Op_var_update));
+ (yyval) = list_prepend((yyvsp[0]), instruction(Op_var_update));
(yyval)->nexti->update_var = ip->memory->var_update;
} else
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyval) = (yyvsp[0]);
}
+#line 3859 "awkgram.c" /* yacc.c:1646 */
break;
case 177:
-/* Line 1787 of yacc.c */
-#line 1767 "awkgram.y"
+#line 1767 "awkgram.y" /* yacc.c:1646 */
{
- (yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
- if ((yyvsp[(3) - (3)]) != NULL)
- mk_assignment((yyvsp[(2) - (3)]), NULL, (yyvsp[(3) - (3)]));
+ (yyval) = list_append((yyvsp[-1]), (yyvsp[-2]));
+ if ((yyvsp[0]) != NULL)
+ mk_assignment((yyvsp[-1]), NULL, (yyvsp[0]));
}
+#line 3869 "awkgram.c" /* yacc.c:1646 */
break;
case 178:
-/* Line 1787 of yacc.c */
-#line 1776 "awkgram.y"
+#line 1776 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (1)])->opcode = Op_postincrement;
+ (yyvsp[0])->opcode = Op_postincrement;
}
+#line 3877 "awkgram.c" /* yacc.c:1646 */
break;
case 179:
-/* Line 1787 of yacc.c */
-#line 1780 "awkgram.y"
+#line 1780 "awkgram.y" /* yacc.c:1646 */
{
- (yyvsp[(1) - (1)])->opcode = Op_postdecrement;
+ (yyvsp[0])->opcode = Op_postdecrement;
}
+#line 3885 "awkgram.c" /* yacc.c:1646 */
break;
case 180:
-/* Line 1787 of yacc.c */
-#line 1783 "awkgram.y"
+#line 1783 "awkgram.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 3891 "awkgram.c" /* yacc.c:1646 */
break;
case 182:
-/* Line 1787 of yacc.c */
-#line 1791 "awkgram.y"
+#line 1791 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
+#line 3897 "awkgram.c" /* yacc.c:1646 */
break;
case 183:
-/* Line 1787 of yacc.c */
-#line 1795 "awkgram.y"
+#line 1795 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
+#line 3903 "awkgram.c" /* yacc.c:1646 */
break;
case 186:
-/* Line 1787 of yacc.c */
-#line 1804 "awkgram.y"
+#line 1804 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
+#line 3909 "awkgram.c" /* yacc.c:1646 */
break;
case 187:
-/* Line 1787 of yacc.c */
-#line 1808 "awkgram.y"
- { (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
+#line 1808 "awkgram.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); yyerrok; }
+#line 3915 "awkgram.c" /* yacc.c:1646 */
break;
case 188:
-/* Line 1787 of yacc.c */
-#line 1812 "awkgram.y"
+#line 1812 "awkgram.y" /* yacc.c:1646 */
{ yyerrok; }
+#line 3921 "awkgram.c" /* yacc.c:1646 */
break;
-/* Line 1787 of yacc.c */
-#line 4130 "awkgram.c"
+#line 3925 "awkgram.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4148,7 +3943,7 @@ regular_print:
*++yyvsp = yyval;
- /* Now `shift' the result of the reduction. Determine what state
+ /* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -4163,9 +3958,9 @@ regular_print:
goto yynewstate;
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
@@ -4216,20 +4011,20 @@ yyerrlab:
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ error, discard it. */
if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
@@ -4248,7 +4043,7 @@ yyerrorlab:
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
@@ -4261,29 +4056,29 @@ yyerrorlab:
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
- YYABORT;
+ YYABORT;
yydestruct ("Error: popping",
- yystos[yystate], yyvsp);
+ yystos[yystate], yyvsp);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
@@ -4334,14 +4129,14 @@ yyreturn:
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
}
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
+ yystos[*yyssp], yyvsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -4352,13 +4147,9 @@ yyreturn:
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
+ return yyresult;
}
-
-
-/* Line 2050 of yacc.c */
-#line 1814 "awkgram.y"
+#line 1814 "awkgram.y" /* yacc.c:1906 */
struct token {
@@ -4525,15 +4316,39 @@ void
negate_num(NODE *n)
{
#ifdef HAVE_MPFR
- if (is_mpg_float(n)) {
- int tval;
- tval = mpfr_neg(n->mpg_numbr, n->mpg_numbr, ROUND_MODE);
- IEEE_FMT(n->mpg_numbr, tval);
- } else if (is_mpg_integer(n)) {
- mpz_neg(n->mpg_i, n->mpg_i);
- } else
+ int tval = 0;
#endif
+
+ if (! is_mpg_number(n)) {
n->numbr = -n->numbr;
+ return;
+ }
+
+#ifdef HAVE_MPFR
+ if (is_mpg_integer(n)) {
+ if (! iszero(n)) {
+ mpz_neg(n->mpg_i, n->mpg_i);
+ return;
+ }
+
+ /*
+ * 0 --> -0 conversion. Requires turning the MPG integer
+ * into an MPFR float.
+ */
+
+ mpz_clear(n->mpg_i); /* release the integer storage */
+
+ /* Convert and fall through. */
+ tval = mpfr_set_d(n->mpg_numbr, 0.0, ROUND_MODE);
+ IEEE_FMT(n->mpg_numbr, tval);
+ n->flags &= ~MPZN;
+ n->flags |= MPFN;
+ }
+
+ /* mpfr float case */
+ tval = mpfr_neg(n->mpg_numbr, n->mpg_numbr, ROUND_MODE);
+ IEEE_FMT(n->mpg_numbr, tval);
+#endif
}
/* print_included_from --- print `Included from ..' file names and locations */
diff --git a/awkgram.y b/awkgram.y
index a5707429..30ac56a9 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -1977,15 +1977,39 @@ void
negate_num(NODE *n)
{
#ifdef HAVE_MPFR
- if (is_mpg_float(n)) {
- int tval;
- tval = mpfr_neg(n->mpg_numbr, n->mpg_numbr, ROUND_MODE);
- IEEE_FMT(n->mpg_numbr, tval);
- } else if (is_mpg_integer(n)) {
- mpz_neg(n->mpg_i, n->mpg_i);
- } else
+ int tval = 0;
#endif
+
+ if (! is_mpg_number(n)) {
n->numbr = -n->numbr;
+ return;
+ }
+
+#ifdef HAVE_MPFR
+ if (is_mpg_integer(n)) {
+ if (! iszero(n)) {
+ mpz_neg(n->mpg_i, n->mpg_i);
+ return;
+ }
+
+ /*
+ * 0 --> -0 conversion. Requires turning the MPG integer
+ * into an MPFR float.
+ */
+
+ mpz_clear(n->mpg_i); /* release the integer storage */
+
+ /* Convert and fall through. */
+ tval = mpfr_set_d(n->mpg_numbr, 0.0, ROUND_MODE);
+ IEEE_FMT(n->mpg_numbr, tval);
+ n->flags &= ~MPZN;
+ n->flags |= MPFN;
+ }
+
+ /* mpfr float case */
+ tval = mpfr_neg(n->mpg_numbr, n->mpg_numbr, ROUND_MODE);
+ IEEE_FMT(n->mpg_numbr, tval);
+#endif
}
/* print_included_from --- print `Included from ..' file names and locations */
diff --git a/command.c b/command.c
index 91a8335e..c4fe1e48 100644
--- a/command.c
+++ b/command.c
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7.12-4996. */
+/* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.7.12-4996"
+#define YYBISON_VERSION "3.0.2"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -63,14 +63,14 @@
#define yyparse zzparse
#define yylex zzlex
#define yyerror zzerror
-#define yylval zzlval
-#define yychar zzchar
#define yydebug zzdebug
#define yynerrs zznerrs
+#define yylval zzlval
+#define yychar zzchar
+
/* Copy the first part of user declarations. */
-/* Line 371 of yacc.c */
-#line 26 "command.y"
+#line 26 "command.y" /* yacc.c:339 */
#include "awk.h"
#include "cmd.h"
@@ -137,14 +137,13 @@ static void append_cmdarg(CMDARG *arg);
static int find_argument(CMDARG *arg);
#define YYSTYPE CMDARG *
-/* Line 371 of yacc.c */
-#line 142 "command.c"
+#line 141 "command.c" /* yacc.c:339 */
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
+# define YY_NULLPTR nullptr
# else
-# define YY_NULL 0
+# define YY_NULLPTR 0
# endif
# endif
@@ -157,7 +156,7 @@ static int find_argument(CMDARG *arg);
#endif
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -165,59 +164,58 @@ static int find_argument(CMDARG *arg);
extern int zzdebug;
#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- D_BACKTRACE = 258,
- D_BREAK = 259,
- D_CLEAR = 260,
- D_CONTINUE = 261,
- D_DELETE = 262,
- D_DISABLE = 263,
- D_DOWN = 264,
- D_ENABLE = 265,
- D_FINISH = 266,
- D_FRAME = 267,
- D_HELP = 268,
- D_IGNORE = 269,
- D_INFO = 270,
- D_LIST = 271,
- D_NEXT = 272,
- D_NEXTI = 273,
- D_PRINT = 274,
- D_PRINTF = 275,
- D_QUIT = 276,
- D_RETURN = 277,
- D_RUN = 278,
- D_SET = 279,
- D_STEP = 280,
- D_STEPI = 281,
- D_TBREAK = 282,
- D_UP = 283,
- D_UNTIL = 284,
- D_DISPLAY = 285,
- D_UNDISPLAY = 286,
- D_WATCH = 287,
- D_UNWATCH = 288,
- D_DUMP = 289,
- D_TRACE = 290,
- D_INT = 291,
- D_STRING = 292,
- D_NODE = 293,
- D_VARIABLE = 294,
- D_OPTION = 295,
- D_COMMANDS = 296,
- D_END = 297,
- D_SILENT = 298,
- D_SOURCE = 299,
- D_SAVE = 300,
- D_EVAL = 301,
- D_CONDITION = 302,
- D_STATEMENT = 303
- };
+ enum yytokentype
+ {
+ D_BACKTRACE = 258,
+ D_BREAK = 259,
+ D_CLEAR = 260,
+ D_CONTINUE = 261,
+ D_DELETE = 262,
+ D_DISABLE = 263,
+ D_DOWN = 264,
+ D_ENABLE = 265,
+ D_FINISH = 266,
+ D_FRAME = 267,
+ D_HELP = 268,
+ D_IGNORE = 269,
+ D_INFO = 270,
+ D_LIST = 271,
+ D_NEXT = 272,
+ D_NEXTI = 273,
+ D_PRINT = 274,
+ D_PRINTF = 275,
+ D_QUIT = 276,
+ D_RETURN = 277,
+ D_RUN = 278,
+ D_SET = 279,
+ D_STEP = 280,
+ D_STEPI = 281,
+ D_TBREAK = 282,
+ D_UP = 283,
+ D_UNTIL = 284,
+ D_DISPLAY = 285,
+ D_UNDISPLAY = 286,
+ D_WATCH = 287,
+ D_UNWATCH = 288,
+ D_DUMP = 289,
+ D_TRACE = 290,
+ D_INT = 291,
+ D_STRING = 292,
+ D_NODE = 293,
+ D_VARIABLE = 294,
+ D_OPTION = 295,
+ D_COMMANDS = 296,
+ D_END = 297,
+ D_SILENT = 298,
+ D_SOURCE = 299,
+ D_SAVE = 300,
+ D_EVAL = 301,
+ D_CONDITION = 302,
+ D_STATEMENT = 303
+ };
#endif
/* Tokens. */
#define D_BACKTRACE 258
@@ -267,37 +265,23 @@ extern int zzdebug;
#define D_CONDITION 302
#define D_STATEMENT 303
-
-
+/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
+
extern YYSTYPE zzlval;
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int zzparse (void *YYPARSE_PARAM);
-#else
-int zzparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
int zzparse (void);
-#else
-int zzparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
/* Copy the second part of user declarations. */
-/* Line 390 of yacc.c */
-#line 301 "command.c"
+#line 285 "command.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -311,11 +295,8 @@ typedef unsigned char yytype_uint8;
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
#else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
@@ -335,8 +316,7 @@ typedef short int yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -358,11 +338,30 @@ typedef short int yytype_int16;
# endif
#endif
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if (! defined __GNUC__ || __GNUC__ < 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
-# define __attribute__(Spec) /* empty */
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+# define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
@@ -373,24 +372,25 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(N) (N)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
#else
-static int
-YYID (yyi)
- int yyi;
+# define YY_INITIAL_VALUE(Value) Value
#endif
-{
- return yyi;
-}
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
#if ! defined yyoverflow || YYERROR_VERBOSE
@@ -409,8 +409,7 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
@@ -422,8 +421,8 @@ YYID (yyi)
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
@@ -439,7 +438,7 @@ YYID (yyi)
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
@@ -447,15 +446,13 @@ YYID (yyi)
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined malloc && ! defined EXIT_SUCCESS
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined free && ! defined EXIT_SUCCESS
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -465,7 +462,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -490,16 +487,16 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
#endif
@@ -518,7 +515,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (YYID (0))
+ while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -534,17 +531,19 @@ union yyalloc
#define YYNNTS 55
/* YYNRULES -- Number of rules. */
#define YYNRULES 156
-/* YYNRULES -- Number of states. */
+/* YYNSTATES -- Number of states. */
#define YYNSTATES 203
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 303
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -581,73 +580,7 @@ static const yytype_uint8 yytranslate[] =
};
#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint16 yyprhs[] =
-{
- 0, 0, 3, 4, 7, 9, 12, 15, 17, 19,
- 21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
- 41, 43, 45, 46, 51, 52, 53, 58, 62, 66,
- 69, 71, 73, 75, 78, 81, 84, 88, 91, 92,
- 96, 97, 101, 104, 107, 110, 113, 114, 120, 123,
- 124, 128, 129, 133, 134, 139, 142, 145, 148, 151,
- 154, 156, 158, 161, 162, 167, 169, 171, 173, 175,
- 176, 178, 180, 183, 187, 189, 190, 192, 194, 196,
- 197, 199, 203, 205, 206, 208, 210, 214, 218, 219,
- 220, 224, 226, 227, 233, 237, 238, 240, 241, 243,
- 244, 246, 247, 249, 251, 254, 256, 259, 263, 265,
- 268, 272, 274, 276, 278, 280, 284, 286, 287, 289,
- 291, 293, 295, 297, 301, 305, 309, 313, 314, 316,
- 318, 320, 322, 325, 328, 330, 334, 336, 340, 344,
- 346, 349, 351, 354, 357, 359, 362, 365, 366, 368,
- 369, 371, 373, 376, 378, 381, 384
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int8 yyrhs[] =
-{
- 60, 0, -1, -1, 60, 61, -1, 113, -1, 71,
- 113, -1, 1, 113, -1, 6, -1, 17, -1, 18,
- -1, 25, -1, 26, -1, 31, -1, 33, -1, 8,
- -1, 7, -1, 28, -1, 9, -1, 3, -1, 12,
- -1, 4, -1, 27, -1, -1, 46, 66, 81, 113,
- -1, -1, -1, 68, 48, 69, 113, -1, 67, 68,
- 42, -1, 46, 66, 84, -1, 13, 94, -1, 21,
- -1, 23, -1, 11, -1, 62, 109, -1, 64, 110,
- -1, 15, 37, -1, 14, 111, 36, -1, 10, 95,
- -1, -1, 19, 72, 97, -1, -1, 20, 73, 99,
- -1, 16, 100, -1, 29, 87, -1, 5, 87, -1,
- 65, 88, -1, -1, 24, 74, 107, 49, 108, -1,
- 40, 85, -1, -1, 22, 75, 93, -1, -1, 30,
- 76, 91, -1, -1, 32, 77, 107, 79, -1, 63,
- 102, -1, 34, 92, -1, 44, 37, -1, 45, 37,
- -1, 41, 80, -1, 42, -1, 43, -1, 35, 37,
- -1, -1, 47, 111, 78, 79, -1, 70, -1, 83,
- -1, 109, -1, 1, -1, -1, 82, -1, 39, -1,
- 82, 39, -1, 82, 50, 39, -1, 1, -1, -1,
- 84, -1, 1, -1, 38, -1, -1, 37, -1, 37,
- 49, 37, -1, 37, -1, -1, 111, -1, 86, -1,
- 37, 51, 111, -1, 37, 51, 86, -1, -1, -1,
- 111, 89, 79, -1, 86, -1, -1, 37, 51, 111,
- 90, 79, -1, 37, 51, 86, -1, -1, 107, -1,
- -1, 37, -1, -1, 108, -1, -1, 37, -1, 102,
- -1, 37, 102, -1, 107, -1, 52, 39, -1, 52,
- 39, 106, -1, 96, -1, 97, 96, -1, 97, 50,
- 96, -1, 1, -1, 38, -1, 107, -1, 98, -1,
- 99, 50, 98, -1, 1, -1, -1, 53, -1, 54,
- -1, 111, -1, 86, -1, 101, -1, 37, 51, 111,
- -1, 37, 51, 86, -1, 37, 51, 101, -1, 111,
- 54, 111, -1, -1, 103, -1, 1, -1, 111, -1,
- 101, -1, 103, 111, -1, 103, 101, -1, 108, -1,
- 104, 50, 108, -1, 1, -1, 55, 104, 56, -1,
- 55, 104, 1, -1, 105, -1, 106, 105, -1, 39,
- -1, 57, 38, -1, 39, 106, -1, 38, -1, 53,
- 38, -1, 54, 38, -1, -1, 111, -1, -1, 112,
- -1, 36, -1, 53, 36, -1, 36, -1, 53, 36,
- -1, 54, 36, -1, 58, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 106, 106, 108, 126, 127, 177, 184, 185, 186,
@@ -693,13 +626,13 @@ static const char *const yytname[] =
"printf_args", "list_args", "integer_range", "opt_integer_list",
"integer_list", "exp_list", "subscript", "subscript_list", "variable",
"node", "opt_plus_integer", "opt_integer", "plus_integer", "integer",
- "nls", YY_NULL
+ "nls", YY_NULLPTR
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
@@ -711,90 +644,18 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 59, 60, 60, 61, 61, 61, 62, 62, 62,
- 62, 62, 63, 63, 63, 63, 64, 64, 64, 64,
- 65, 65, 66, 67, 68, 69, 68, 70, 70, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 72, 71,
- 73, 71, 71, 71, 71, 71, 74, 71, 71, 75,
- 71, 76, 71, 77, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 78, 71, 71, 79, 80, 80, 81,
- 81, 82, 82, 82, 82, 83, 83, 83, 84, 85,
- 85, 85, 86, 87, 87, 87, 87, 87, 88, 89,
- 88, 88, 90, 88, 88, 91, 91, 92, 92, 93,
- 93, 94, 94, 95, 95, 96, 96, 96, 97, 97,
- 97, 97, 98, 98, 99, 99, 99, 100, 100, 100,
- 100, 100, 100, 100, 100, 100, 101, 102, 102, 102,
- 103, 103, 103, 103, 104, 104, 104, 105, 105, 106,
- 106, 107, 107, 107, 108, 108, 108, 109, 109, 110,
- 110, 111, 111, 112, 112, 112, 113
-};
+#define YYPACT_NINF -151
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 0, 2, 1, 2, 2, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 4, 0, 0, 4, 3, 3, 2,
- 1, 1, 1, 2, 2, 2, 3, 2, 0, 3,
- 0, 3, 2, 2, 2, 2, 0, 5, 2, 0,
- 3, 0, 3, 0, 4, 2, 2, 2, 2, 2,
- 1, 1, 2, 0, 4, 1, 1, 1, 1, 0,
- 1, 1, 2, 3, 1, 0, 1, 1, 1, 0,
- 1, 3, 1, 0, 1, 1, 3, 3, 0, 0,
- 3, 1, 0, 5, 3, 0, 1, 0, 1, 0,
- 1, 0, 1, 1, 2, 1, 2, 3, 1, 2,
- 3, 1, 1, 1, 1, 3, 1, 0, 1, 1,
- 1, 1, 1, 3, 3, 3, 3, 0, 1, 1,
- 1, 1, 2, 2, 1, 3, 1, 3, 3, 1,
- 2, 1, 2, 2, 1, 2, 2, 0, 1, 0,
- 1, 1, 2, 1, 2, 2, 1
-};
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-151)))
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint8 yydefact[] =
-{
- 2, 0, 1, 0, 18, 20, 83, 7, 15, 14,
- 17, 0, 32, 19, 101, 0, 0, 117, 8, 9,
- 38, 40, 30, 49, 31, 46, 10, 11, 21, 16,
- 83, 51, 12, 53, 13, 97, 0, 79, 0, 60,
- 61, 0, 0, 22, 0, 156, 3, 147, 0, 149,
- 88, 24, 65, 0, 4, 6, 151, 82, 0, 85,
- 44, 84, 129, 0, 37, 131, 103, 128, 130, 102,
- 29, 0, 35, 82, 118, 119, 121, 42, 122, 120,
- 0, 0, 99, 0, 43, 95, 0, 98, 56, 62,
- 80, 48, 68, 59, 67, 148, 57, 58, 0, 63,
- 33, 55, 153, 0, 0, 34, 150, 82, 91, 45,
- 89, 0, 5, 0, 152, 104, 133, 132, 0, 36,
- 0, 111, 141, 0, 0, 108, 39, 105, 116, 112,
- 114, 41, 113, 144, 0, 0, 50, 100, 0, 52,
- 96, 0, 0, 74, 78, 71, 0, 70, 28, 0,
- 154, 155, 0, 0, 27, 25, 82, 87, 86, 126,
- 124, 125, 123, 0, 139, 143, 106, 142, 0, 109,
- 0, 145, 146, 0, 77, 54, 66, 76, 81, 23,
- 72, 0, 64, 94, 92, 90, 0, 136, 0, 134,
- 140, 107, 110, 115, 47, 73, 0, 26, 138, 0,
- 137, 93, 135
-};
+#define YYTABLE_NINF -148
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
-{
- -1, 1, 46, 47, 48, 49, 50, 98, 51, 111,
- 186, 52, 53, 80, 81, 83, 82, 85, 86, 149,
- 175, 93, 146, 147, 176, 177, 91, 59, 60, 109,
- 153, 196, 139, 88, 136, 70, 64, 125, 126, 130,
- 131, 77, 65, 66, 67, 188, 164, 165, 127, 137,
- 94, 105, 68, 106, 54
-};
+#define yytable_value_is_error(Yytable_value) \
+ 0
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -151
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
static const yytype_int16 yypact[] =
{
-151, 145, -151, -34, -151, -151, 50, -151, -151, -151,
@@ -820,7 +681,35 @@ static const yytype_int16 yypact[] =
-151, -151, -151
};
-/* YYPGOTO[NTERM-NUM]. */
+ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 2, 0, 1, 0, 18, 20, 83, 7, 15, 14,
+ 17, 0, 32, 19, 101, 0, 0, 117, 8, 9,
+ 38, 40, 30, 49, 31, 46, 10, 11, 21, 16,
+ 83, 51, 12, 53, 13, 97, 0, 79, 0, 60,
+ 61, 0, 0, 22, 0, 156, 3, 147, 0, 149,
+ 88, 24, 65, 0, 4, 6, 151, 82, 0, 85,
+ 44, 84, 129, 0, 37, 131, 103, 128, 130, 102,
+ 29, 0, 35, 82, 118, 119, 121, 42, 122, 120,
+ 0, 0, 99, 0, 43, 95, 0, 98, 56, 62,
+ 80, 48, 68, 59, 67, 148, 57, 58, 0, 63,
+ 33, 55, 153, 0, 0, 34, 150, 82, 91, 45,
+ 89, 0, 5, 0, 152, 104, 133, 132, 0, 36,
+ 0, 111, 141, 0, 0, 108, 39, 105, 116, 112,
+ 114, 41, 113, 144, 0, 0, 50, 100, 0, 52,
+ 96, 0, 0, 74, 78, 71, 0, 70, 28, 0,
+ 154, 155, 0, 0, 27, 25, 82, 87, 86, 126,
+ 124, 125, 123, 0, 139, 143, 106, 142, 0, 109,
+ 0, 145, 146, 0, 77, 54, 66, 76, 81, 23,
+ 72, 0, 64, 94, 92, 90, 0, 136, 0, 134,
+ 140, 107, 110, 115, 47, 73, 0, 26, 138, 0,
+ 137, 93, 135
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
@@ -831,10 +720,20 @@ static const yytype_int16 yypgoto[] =
97, -151, -5, -151, -3
};
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -148
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
+{
+ -1, 1, 46, 47, 48, 49, 50, 98, 51, 111,
+ 186, 52, 53, 80, 81, 83, 82, 85, 86, 149,
+ 175, 93, 146, 147, 176, 177, 91, 59, 60, 109,
+ 153, 196, 139, 88, 136, 70, 64, 125, 126, 130,
+ 131, 77, 65, 66, 67, 188, 164, 165, 127, 137,
+ 94, 105, 68, 106, 54
+};
+
+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
55, 61, 76, 78, 132, 121, 138, 174, 140, 141,
@@ -860,12 +759,6 @@ static const yytype_int16 yytable[] =
0, 0, 0, 45
};
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-151)))
-
-#define yytable_value_is_error(Yytable_value) \
- YYID (0)
-
static const yytype_int16 yycheck[] =
{
3, 6, 17, 17, 81, 1, 83, 1, 85, 86,
@@ -891,8 +784,8 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 58
};
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
0, 60, 0, 1, 3, 4, 5, 6, 7, 8,
@@ -918,30 +811,58 @@ static const yytype_uint8 yystos[] =
56, 79, 108
};
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. However,
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
- discussed. */
-
-#define YYFAIL goto yyerrlab
-#if defined YYFAIL
- /* This is here to suppress warnings from the GCC cpp's
- -Wunused-macros. Normally we don't worry about that warning, but
- some users do, and we want to make it easy for users to remove
- YYFAIL uses, which will produce warnings from Bison 2.5. */
-#endif
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 59, 60, 60, 61, 61, 61, 62, 62, 62,
+ 62, 62, 63, 63, 63, 63, 64, 64, 64, 64,
+ 65, 65, 66, 67, 68, 69, 68, 70, 70, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71, 72, 71,
+ 73, 71, 71, 71, 71, 71, 74, 71, 71, 75,
+ 71, 76, 71, 77, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 78, 71, 71, 79, 80, 80, 81,
+ 81, 82, 82, 82, 82, 83, 83, 83, 84, 85,
+ 85, 85, 86, 87, 87, 87, 87, 87, 88, 89,
+ 88, 88, 90, 88, 88, 91, 91, 92, 92, 93,
+ 93, 94, 94, 95, 95, 96, 96, 96, 97, 97,
+ 97, 97, 98, 98, 99, 99, 99, 100, 100, 100,
+ 100, 100, 100, 100, 100, 100, 101, 102, 102, 102,
+ 103, 103, 103, 103, 104, 104, 104, 105, 105, 106,
+ 106, 107, 107, 107, 108, 108, 108, 109, 109, 110,
+ 110, 111, 111, 112, 112, 112, 113
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 0, 2, 1, 2, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 4, 0, 0, 4, 3, 3, 2,
+ 1, 1, 1, 2, 2, 2, 3, 2, 0, 3,
+ 0, 3, 2, 2, 2, 2, 0, 5, 2, 0,
+ 3, 0, 3, 0, 4, 2, 2, 2, 2, 2,
+ 1, 1, 2, 0, 4, 1, 1, 1, 1, 0,
+ 1, 1, 2, 3, 1, 0, 1, 1, 1, 0,
+ 1, 3, 1, 0, 1, 1, 3, 3, 0, 0,
+ 3, 1, 0, 5, 3, 0, 1, 0, 1, 0,
+ 1, 0, 1, 1, 2, 1, 2, 3, 1, 2,
+ 3, 1, 1, 1, 1, 3, 1, 0, 1, 1,
+ 1, 1, 1, 3, 3, 3, 3, 0, 1, 1,
+ 1, 1, 2, 2, 1, 3, 1, 3, 3, 1,
+ 2, 1, 2, 2, 1, 2, 2, 0, 1, 0,
+ 1, 1, 2, 1, 2, 2, 1
+};
+
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
#define YYRECOVERING() (!!yyerrstatus)
@@ -958,27 +879,15 @@ do \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
+ YYERROR; \
+ } \
+while (0)
/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
+#define YYTERROR 1
+#define YYERRCODE 256
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments. */
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
/* Enable debugging if requested. */
#if YYDEBUG
@@ -988,40 +897,36 @@ while (YYID (0))
# define YYFPRINTF fprintf
# endif
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
-#endif
{
FILE *yyo = yyoutput;
YYUSE (yyo);
@@ -1030,8 +935,6 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
# endif
YYUSE (yytype);
}
@@ -1041,22 +944,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
-#endif
{
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+ YYFPRINTF (yyoutput, "%s %s (",
+ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
yy_symbol_value_print (yyoutput, yytype, yyvaluep);
YYFPRINTF (yyoutput, ")");
@@ -1067,16 +959,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
| TOP (included). |
`------------------------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
-#endif
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -1087,49 +971,42 @@ yy_stack_print (yybottom, yytop)
YYFPRINTF (stderr, "\n");
}
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
-#else
static void
-yy_reduce_print (yyvsp, yyrule)
- YYSTYPE *yyvsp;
- int yyrule;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
{
+ unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
+ yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- );
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ );
YYFPRINTF (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, Rule); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, Rule); \
+} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -1143,7 +1020,7 @@ int yydebug;
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -1166,15 +1043,8 @@ int yydebug;
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
@@ -1190,16 +1060,8 @@ yystrlen (yystr)
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
{
char *yyd = yydest;
const char *yys = yysrc;
@@ -1229,27 +1091,27 @@ yytnamerr (char *yyres, const char *yystr)
char const *yyp = yystr;
for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
do_not_strip_quotes: ;
}
@@ -1272,11 +1134,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
- const char *yyformat = YY_NULL;
+ const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
@@ -1284,10 +1146,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
int yycount = 0;
/* There are many possibilities here to consider:
- - Assume YYFAIL is not used. It's too flawed to consider. See
- <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
- for details. YYERROR is fine as it does not invoke this
- function.
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
@@ -1337,7 +1195,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@@ -1404,26 +1262,17 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
-#endif
{
YYUSE (yyvaluep);
-
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
}
@@ -1432,18 +1281,8 @@ yydestruct (yymsg, yytype, yyvaluep)
/* The lookahead symbol. */
int yychar;
-
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
-
+YYSTYPE yylval;
/* Number of syntax errors so far. */
int yynerrs;
@@ -1452,35 +1291,16 @@ int yynerrs;
| yyparse. |
`----------*/
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
int
yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
{
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
+ 'yyss': related to states.
+ 'yyvs': related to semantic values.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
@@ -1548,23 +1368,23 @@ yyparse ()
#ifdef yyoverflow
{
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
@@ -1572,22 +1392,22 @@ yyparse ()
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
+ yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
@@ -1596,10 +1416,10 @@ yyparse ()
yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -1628,7 +1448,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
+ yychar = yylex ();
}
if (yychar <= YYEOF)
@@ -1693,7 +1513,7 @@ yyreduce:
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
+ '$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
@@ -1707,8 +1527,7 @@ yyreduce:
switch (yyn)
{
case 3:
-/* Line 1787 of yacc.c */
-#line 109 "command.y"
+#line 109 "command.y" /* yacc.c:1646 */
{
cmd_idx = -1;
want_nodeval = false;
@@ -1723,11 +1542,11 @@ yyreduce:
arg_list = NULL;
}
}
+#line 1546 "command.c" /* yacc.c:1646 */
break;
case 5:
-/* Line 1787 of yacc.c */
-#line 128 "command.y"
+#line 128 "command.y" /* yacc.c:1646 */
{
if (errcount == 0 && cmd_idx >= 0) {
Func_cmd cmdfunc;
@@ -1777,25 +1596,25 @@ yyreduce:
YYACCEPT;
}
}
+#line 1600 "command.c" /* yacc.c:1646 */
break;
case 6:
-/* Line 1787 of yacc.c */
-#line 178 "command.y"
+#line 178 "command.y" /* yacc.c:1646 */
{
yyerrok;
}
+#line 1608 "command.c" /* yacc.c:1646 */
break;
case 22:
-/* Line 1787 of yacc.c */
-#line 212 "command.y"
+#line 212 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1614 "command.c" /* yacc.c:1646 */
break;
case 23:
-/* Line 1787 of yacc.c */
-#line 217 "command.y"
+#line 217 "command.y" /* yacc.c:1646 */
{
if (errcount == 0) {
/* don't free arg_list; passed on to statement_list
@@ -1811,11 +1630,11 @@ yyreduce:
in_eval = true;
}
}
+#line 1634 "command.c" /* yacc.c:1646 */
break;
case 24:
-/* Line 1787 of yacc.c */
-#line 236 "command.y"
+#line 236 "command.y" /* yacc.c:1646 */
{
(yyval) = append_statement(arg_list, (char *) start_EVAL);
if (read_a_line == read_commands_string) /* unserializing 'eval' in 'commands' */
@@ -1823,27 +1642,27 @@ yyreduce:
free_cmdarg(arg_list);
arg_list = NULL;
}
+#line 1646 "command.c" /* yacc.c:1646 */
break;
case 25:
-/* Line 1787 of yacc.c */
-#line 243 "command.y"
- { (yyval) = append_statement((yyvsp[(1) - (2)]), lexptr_begin); }
+#line 243 "command.y" /* yacc.c:1646 */
+ { (yyval) = append_statement((yyvsp[-1]), lexptr_begin); }
+#line 1652 "command.c" /* yacc.c:1646 */
break;
case 26:
-/* Line 1787 of yacc.c */
-#line 244 "command.y"
+#line 244 "command.y" /* yacc.c:1646 */
{
- (yyval) = (yyvsp[(3) - (4)]);
+ (yyval) = (yyvsp[-1]);
}
+#line 1660 "command.c" /* yacc.c:1646 */
break;
case 27:
-/* Line 1787 of yacc.c */
-#line 251 "command.y"
+#line 251 "command.y" /* yacc.c:1646 */
{
- arg_list = append_statement((yyvsp[(2) - (3)]), (char *) end_EVAL);
+ arg_list = append_statement((yyvsp[-1]), (char *) end_EVAL);
if (read_a_line == read_commands_string) { /* unserializing 'eval' in 'commands' */
char *str = arg_list->a_string;
size_t len = strlen(str);
@@ -1857,120 +1676,120 @@ yyreduce:
cmd_idx = find_command("eval", 4);
in_eval = false;
}
+#line 1680 "command.c" /* yacc.c:1646 */
break;
case 28:
-/* Line 1787 of yacc.c */
-#line 267 "command.y"
+#line 267 "command.y" /* yacc.c:1646 */
{
NODE *n;
CMDARG *arg;
- n = (yyvsp[(3) - (3)])->a_node;
+ n = (yyvsp[0])->a_node;
arg = append_statement(NULL, (char *) start_EVAL);
(void) append_statement(arg, n->stptr);
(void) append_statement(arg, (char *) end_EVAL);
free_cmdarg(arg_list);
arg_list = arg;
}
+#line 1695 "command.c" /* yacc.c:1646 */
break;
case 34:
-/* Line 1787 of yacc.c */
-#line 286 "command.y"
+#line 286 "command.y" /* yacc.c:1646 */
{
if (cmdtab[cmd_idx].class == D_FRAME
- && (yyvsp[(2) - (2)]) != NULL && (yyvsp[(2) - (2)])->a_int < 0)
- yyerror(_("invalid frame number: %d"), (yyvsp[(2) - (2)])->a_int);
+ && (yyvsp[0]) != NULL && (yyvsp[0])->a_int < 0)
+ yyerror(_("invalid frame number: %d"), (yyvsp[0])->a_int);
}
+#line 1705 "command.c" /* yacc.c:1646 */
break;
case 35:
-/* Line 1787 of yacc.c */
-#line 292 "command.y"
+#line 292 "command.y" /* yacc.c:1646 */
{
- int idx = find_argument((yyvsp[(2) - (2)]));
+ int idx = find_argument((yyvsp[0]));
if (idx < 0)
- yyerror(_("info: invalid option - \"%s\""), (yyvsp[(2) - (2)])->a_string);
+ yyerror(_("info: invalid option - \"%s\""), (yyvsp[0])->a_string);
else {
- efree((yyvsp[(2) - (2)])->a_string);
- (yyvsp[(2) - (2)])->a_string = NULL;
- (yyvsp[(2) - (2)])->type = D_argument;
- (yyvsp[(2) - (2)])->a_argument = argtab[idx].value;
+ efree((yyvsp[0])->a_string);
+ (yyvsp[0])->a_string = NULL;
+ (yyvsp[0])->type = D_argument;
+ (yyvsp[0])->a_argument = argtab[idx].value;
}
}
+#line 1721 "command.c" /* yacc.c:1646 */
break;
case 38:
-/* Line 1787 of yacc.c */
-#line 305 "command.y"
+#line 305 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1727 "command.c" /* yacc.c:1646 */
break;
case 40:
-/* Line 1787 of yacc.c */
-#line 306 "command.y"
+#line 306 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1733 "command.c" /* yacc.c:1646 */
break;
case 46:
-/* Line 1787 of yacc.c */
-#line 311 "command.y"
+#line 311 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1739 "command.c" /* yacc.c:1646 */
break;
case 49:
-/* Line 1787 of yacc.c */
-#line 313 "command.y"
+#line 313 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1745 "command.c" /* yacc.c:1646 */
break;
case 51:
-/* Line 1787 of yacc.c */
-#line 314 "command.y"
+#line 314 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1751 "command.c" /* yacc.c:1646 */
break;
case 53:
-/* Line 1787 of yacc.c */
-#line 315 "command.y"
+#line 315 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1757 "command.c" /* yacc.c:1646 */
break;
case 57:
-/* Line 1787 of yacc.c */
-#line 319 "command.y"
+#line 319 "command.y" /* yacc.c:1646 */
{
- if (in_cmd_src((yyvsp[(2) - (2)])->a_string))
- yyerror(_("source \"%s\": already sourced."), (yyvsp[(2) - (2)])->a_string);
+ if (in_cmd_src((yyvsp[0])->a_string))
+ yyerror(_("source \"%s\": already sourced."), (yyvsp[0])->a_string);
}
+#line 1766 "command.c" /* yacc.c:1646 */
break;
case 58:
-/* Line 1787 of yacc.c */
-#line 324 "command.y"
+#line 324 "command.y" /* yacc.c:1646 */
{
if (! input_from_tty)
- yyerror(_("save \"%s\": command not permitted."), (yyvsp[(2) - (2)])->a_string);
+ yyerror(_("save \"%s\": command not permitted."), (yyvsp[0])->a_string);
}
+#line 1775 "command.c" /* yacc.c:1646 */
break;
case 59:
-/* Line 1787 of yacc.c */
-#line 329 "command.y"
+#line 329 "command.y" /* yacc.c:1646 */
{
int type = 0;
int num;
- if ((yyvsp[(2) - (2)]) != NULL)
- num = (yyvsp[(2) - (2)])->a_int;
+ if ((yyvsp[0]) != NULL)
+ num = (yyvsp[0])->a_int;
if (errcount != 0)
;
else if (in_commands)
yyerror(_("Can't use command `commands' for breakpoint/watchpoint commands"));
- else if ((yyvsp[(2) - (2)]) == NULL && ! (type = has_break_or_watch_point(&num, true)))
+ else if ((yyvsp[0]) == NULL && ! (type = has_break_or_watch_point(&num, true)))
yyerror(_("no breakpoint/watchpoint has been set yet"));
- else if ((yyvsp[(2) - (2)]) != NULL && ! (type = has_break_or_watch_point(&num, false)))
+ else if ((yyvsp[0]) != NULL && ! (type = has_break_or_watch_point(&num, false)))
yyerror(_("invalid breakpoint/watchpoint number"));
if (type) {
in_commands = true;
@@ -1982,11 +1801,11 @@ yyreduce:
}
}
}
+#line 1805 "command.c" /* yacc.c:1646 */
break;
case 60:
-/* Line 1787 of yacc.c */
-#line 355 "command.y"
+#line 355 "command.y" /* yacc.c:1646 */
{
if (! in_commands)
yyerror(_("`end' valid only in command `commands' or `eval'"));
@@ -1996,54 +1815,54 @@ yyreduce:
in_commands = false;
}
}
+#line 1819 "command.c" /* yacc.c:1646 */
break;
case 61:
-/* Line 1787 of yacc.c */
-#line 365 "command.y"
+#line 365 "command.y" /* yacc.c:1646 */
{
if (! in_commands)
yyerror(_("`silent' valid only in command `commands'"));
}
+#line 1828 "command.c" /* yacc.c:1646 */
break;
case 62:
-/* Line 1787 of yacc.c */
-#line 370 "command.y"
+#line 370 "command.y" /* yacc.c:1646 */
{
- int idx = find_argument((yyvsp[(2) - (2)]));
+ int idx = find_argument((yyvsp[0]));
if (idx < 0)
- yyerror(_("trace: invalid option - \"%s\""), (yyvsp[(2) - (2)])->a_string);
+ yyerror(_("trace: invalid option - \"%s\""), (yyvsp[0])->a_string);
else {
- efree((yyvsp[(2) - (2)])->a_string);
- (yyvsp[(2) - (2)])->a_string = NULL;
- (yyvsp[(2) - (2)])->type = D_argument;
- (yyvsp[(2) - (2)])->a_argument = argtab[idx].value;
+ efree((yyvsp[0])->a_string);
+ (yyvsp[0])->a_string = NULL;
+ (yyvsp[0])->type = D_argument;
+ (yyvsp[0])->a_argument = argtab[idx].value;
}
}
+#line 1844 "command.c" /* yacc.c:1646 */
break;
case 63:
-/* Line 1787 of yacc.c */
-#line 381 "command.y"
+#line 381 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1850 "command.c" /* yacc.c:1646 */
break;
case 64:
-/* Line 1787 of yacc.c */
-#line 382 "command.y"
+#line 382 "command.y" /* yacc.c:1646 */
{
int type;
- int num = (yyvsp[(2) - (4)])->a_int;
+ int num = (yyvsp[-2])->a_int;
type = has_break_or_watch_point(&num, false);
if (! type)
yyerror(_("condition: invalid breakpoint/watchpoint number"));
}
+#line 1862 "command.c" /* yacc.c:1646 */
break;
case 65:
-/* Line 1787 of yacc.c */
-#line 390 "command.y"
+#line 390 "command.y" /* yacc.c:1646 */
{
if (in_commands) {
/* Prepend command 'eval' to argument list */
@@ -2054,387 +1873,387 @@ yyreduce:
arg_list = arg;
}
}
+#line 1877 "command.c" /* yacc.c:1646 */
break;
case 66:
-/* Line 1787 of yacc.c */
-#line 404 "command.y"
+#line 404 "command.y" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (1)]) != NULL) {
- NODE *n = (yyvsp[(1) - (1)])->a_node;
- (yyvsp[(1) - (1)])->type = D_string;
- (yyvsp[(1) - (1)])->a_string = n->stptr;
+ if ((yyvsp[0]) != NULL) {
+ NODE *n = (yyvsp[0])->a_node;
+ (yyvsp[0])->type = D_string;
+ (yyvsp[0])->a_string = n->stptr;
freenode(n);
}
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyval) = (yyvsp[0]);
}
+#line 1891 "command.c" /* yacc.c:1646 */
break;
case 68:
-/* Line 1787 of yacc.c */
-#line 418 "command.y"
+#line 418 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1897 "command.c" /* yacc.c:1646 */
break;
case 69:
-/* Line 1787 of yacc.c */
-#line 423 "command.y"
+#line 423 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1903 "command.c" /* yacc.c:1646 */
break;
case 74:
-/* Line 1787 of yacc.c */
-#line 432 "command.y"
+#line 432 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1909 "command.c" /* yacc.c:1646 */
break;
case 75:
-/* Line 1787 of yacc.c */
-#line 437 "command.y"
+#line 437 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1915 "command.c" /* yacc.c:1646 */
break;
case 77:
-/* Line 1787 of yacc.c */
-#line 440 "command.y"
+#line 440 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1921 "command.c" /* yacc.c:1646 */
break;
case 78:
-/* Line 1787 of yacc.c */
-#line 445 "command.y"
+#line 445 "command.y" /* yacc.c:1646 */
{
NODE *n;
- n = (yyvsp[(1) - (1)])->a_node;
+ n = (yyvsp[0])->a_node;
if ((n->flags & STRING) == 0)
yyerror(_("argument not a string"));
}
+#line 1932 "command.c" /* yacc.c:1646 */
break;
case 79:
-/* Line 1787 of yacc.c */
-#line 455 "command.y"
+#line 455 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1938 "command.c" /* yacc.c:1646 */
break;
case 80:
-/* Line 1787 of yacc.c */
-#line 457 "command.y"
+#line 457 "command.y" /* yacc.c:1646 */
{
- if (find_option((yyvsp[(1) - (1)])->a_string) < 0)
- yyerror(_("option: invalid parameter - \"%s\""), (yyvsp[(1) - (1)])->a_string);
+ if (find_option((yyvsp[0])->a_string) < 0)
+ yyerror(_("option: invalid parameter - \"%s\""), (yyvsp[0])->a_string);
}
+#line 1947 "command.c" /* yacc.c:1646 */
break;
case 81:
-/* Line 1787 of yacc.c */
-#line 462 "command.y"
+#line 462 "command.y" /* yacc.c:1646 */
{
- if (find_option((yyvsp[(1) - (3)])->a_string) < 0)
- yyerror(_("option: invalid parameter - \"%s\""), (yyvsp[(1) - (3)])->a_string);
+ if (find_option((yyvsp[-2])->a_string) < 0)
+ yyerror(_("option: invalid parameter - \"%s\""), (yyvsp[-2])->a_string);
}
+#line 1956 "command.c" /* yacc.c:1646 */
break;
case 82:
-/* Line 1787 of yacc.c */
-#line 470 "command.y"
+#line 470 "command.y" /* yacc.c:1646 */
{
NODE *n;
- n = lookup((yyvsp[(1) - (1)])->a_string);
+ n = lookup((yyvsp[0])->a_string);
if (n == NULL || n->type != Node_func)
- yyerror(_("no such function - \"%s\""), (yyvsp[(1) - (1)])->a_string);
+ yyerror(_("no such function - \"%s\""), (yyvsp[0])->a_string);
else {
- (yyvsp[(1) - (1)])->type = D_func;
- efree((yyvsp[(1) - (1)])->a_string);
- (yyvsp[(1) - (1)])->a_string = NULL;
- (yyvsp[(1) - (1)])->a_node = n;
+ (yyvsp[0])->type = D_func;
+ efree((yyvsp[0])->a_string);
+ (yyvsp[0])->a_string = NULL;
+ (yyvsp[0])->a_node = n;
}
}
+#line 1973 "command.c" /* yacc.c:1646 */
break;
case 83:
-/* Line 1787 of yacc.c */
-#line 486 "command.y"
+#line 486 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1979 "command.c" /* yacc.c:1646 */
break;
case 88:
-/* Line 1787 of yacc.c */
-#line 495 "command.y"
+#line 495 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 1985 "command.c" /* yacc.c:1646 */
break;
case 89:
-/* Line 1787 of yacc.c */
-#line 496 "command.y"
+#line 496 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1991 "command.c" /* yacc.c:1646 */
break;
case 92:
-/* Line 1787 of yacc.c */
-#line 498 "command.y"
+#line 498 "command.y" /* yacc.c:1646 */
{ want_nodeval = true; }
+#line 1997 "command.c" /* yacc.c:1646 */
break;
case 95:
-/* Line 1787 of yacc.c */
-#line 504 "command.y"
+#line 504 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2003 "command.c" /* yacc.c:1646 */
break;
case 97:
-/* Line 1787 of yacc.c */
-#line 510 "command.y"
+#line 510 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2009 "command.c" /* yacc.c:1646 */
break;
case 99:
-/* Line 1787 of yacc.c */
-#line 516 "command.y"
+#line 516 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2015 "command.c" /* yacc.c:1646 */
break;
case 104:
-/* Line 1787 of yacc.c */
-#line 528 "command.y"
+#line 528 "command.y" /* yacc.c:1646 */
{
- int idx = find_argument((yyvsp[(1) - (2)]));
+ int idx = find_argument((yyvsp[-1]));
if (idx < 0)
- yyerror(_("enable: invalid option - \"%s\""), (yyvsp[(1) - (2)])->a_string);
+ yyerror(_("enable: invalid option - \"%s\""), (yyvsp[-1])->a_string);
else {
- efree((yyvsp[(1) - (2)])->a_string);
- (yyvsp[(1) - (2)])->a_string = NULL;
- (yyvsp[(1) - (2)])->type = D_argument;
- (yyvsp[(1) - (2)])->a_argument = argtab[idx].value;
+ efree((yyvsp[-1])->a_string);
+ (yyvsp[-1])->a_string = NULL;
+ (yyvsp[-1])->type = D_argument;
+ (yyvsp[-1])->a_argument = argtab[idx].value;
}
}
+#line 2031 "command.c" /* yacc.c:1646 */
break;
case 106:
-/* Line 1787 of yacc.c */
-#line 544 "command.y"
+#line 544 "command.y" /* yacc.c:1646 */
{
- (yyvsp[(2) - (2)])->type = D_array; /* dump all items */
- (yyvsp[(2) - (2)])->a_count = 0;
+ (yyvsp[0])->type = D_array; /* dump all items */
+ (yyvsp[0])->a_count = 0;
}
+#line 2040 "command.c" /* yacc.c:1646 */
break;
case 107:
-/* Line 1787 of yacc.c */
-#line 549 "command.y"
+#line 549 "command.y" /* yacc.c:1646 */
{
- (yyvsp[(2) - (3)])->type = D_array;
- (yyvsp[(2) - (3)])->a_count = num_dim;
+ (yyvsp[-1])->type = D_array;
+ (yyvsp[-1])->a_count = num_dim;
}
+#line 2049 "command.c" /* yacc.c:1646 */
break;
case 117:
-/* Line 1787 of yacc.c */
-#line 575 "command.y"
+#line 575 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2055 "command.c" /* yacc.c:1646 */
break;
case 118:
-/* Line 1787 of yacc.c */
-#line 577 "command.y"
+#line 577 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2061 "command.c" /* yacc.c:1646 */
break;
case 119:
-/* Line 1787 of yacc.c */
-#line 579 "command.y"
+#line 579 "command.y" /* yacc.c:1646 */
{
CMDARG *a;
a = mk_cmdarg(D_int);
a->a_int = -1;
append_cmdarg(a);
}
+#line 2072 "command.c" /* yacc.c:1646 */
break;
case 126:
-/* Line 1787 of yacc.c */
-#line 595 "command.y"
+#line 595 "command.y" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (3)])->a_int > (yyvsp[(3) - (3)])->a_int)
+ if ((yyvsp[-2])->a_int > (yyvsp[0])->a_int)
yyerror(_("invalid range specification: %d - %d"),
- (yyvsp[(1) - (3)])->a_int, (yyvsp[(3) - (3)])->a_int);
+ (yyvsp[-2])->a_int, (yyvsp[0])->a_int);
else
- (yyvsp[(1) - (3)])->type = D_range;
- (yyval) = (yyvsp[(1) - (3)]);
+ (yyvsp[-2])->type = D_range;
+ (yyval) = (yyvsp[-2]);
}
+#line 2085 "command.c" /* yacc.c:1646 */
break;
case 127:
-/* Line 1787 of yacc.c */
-#line 607 "command.y"
+#line 607 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2091 "command.c" /* yacc.c:1646 */
break;
case 134:
-/* Line 1787 of yacc.c */
-#line 621 "command.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 621 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2097 "command.c" /* yacc.c:1646 */
break;
case 135:
-/* Line 1787 of yacc.c */
-#line 623 "command.y"
- { (yyval) = (yyvsp[(1) - (3)]); }
+#line 623 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-2]); }
+#line 2103 "command.c" /* yacc.c:1646 */
break;
case 137:
-/* Line 1787 of yacc.c */
-#line 629 "command.y"
+#line 629 "command.y" /* yacc.c:1646 */
{
CMDARG *a;
NODE *subs;
int count = 0;
- for (a = (yyvsp[(2) - (3)]); a != NULL; a = a->next)
+ for (a = (yyvsp[-1]); a != NULL; a = a->next)
count++;
- subs = concat_args((yyvsp[(2) - (3)]), count);
- free_cmdarg((yyvsp[(2) - (3)])->next);
- (yyvsp[(2) - (3)])->next = NULL;
- (yyvsp[(2) - (3)])->type = D_node;
- (yyvsp[(2) - (3)])->a_node = subs;
- (yyval) = (yyvsp[(2) - (3)]);
+ subs = concat_args((yyvsp[-1]), count);
+ free_cmdarg((yyvsp[-1])->next);
+ (yyvsp[-1])->next = NULL;
+ (yyvsp[-1])->type = D_node;
+ (yyvsp[-1])->a_node = subs;
+ (yyval) = (yyvsp[-1]);
}
+#line 2122 "command.c" /* yacc.c:1646 */
break;
case 139:
-/* Line 1787 of yacc.c */
-#line 648 "command.y"
- { (yyval) = (yyvsp[(1) - (1)]); num_dim = 1; }
+#line 648 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); num_dim = 1; }
+#line 2128 "command.c" /* yacc.c:1646 */
break;
case 140:
-/* Line 1787 of yacc.c */
-#line 650 "command.y"
- { (yyval) = (yyvsp[(1) - (2)]); num_dim++; }
+#line 650 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[-1]); num_dim++; }
+#line 2134 "command.c" /* yacc.c:1646 */
break;
case 142:
-/* Line 1787 of yacc.c */
-#line 656 "command.y"
+#line 656 "command.y" /* yacc.c:1646 */
{
- NODE *n = (yyvsp[(2) - (2)])->a_node;
+ NODE *n = (yyvsp[0])->a_node;
if ((n->flags & NUMBER) == 0)
yyerror(_("non-numeric value for field number"));
else
- (yyvsp[(2) - (2)])->type = D_field;
- (yyval) = (yyvsp[(2) - (2)]);
+ (yyvsp[0])->type = D_field;
+ (yyval) = (yyvsp[0]);
}
+#line 2147 "command.c" /* yacc.c:1646 */
break;
case 143:
-/* Line 1787 of yacc.c */
-#line 665 "command.y"
+#line 665 "command.y" /* yacc.c:1646 */
{
/* a_string is array name, a_count is dimension count */
- (yyvsp[(1) - (2)])->type = D_subscript;
- (yyvsp[(1) - (2)])->a_count = num_dim;
- (yyval) = (yyvsp[(1) - (2)]);
+ (yyvsp[-1])->type = D_subscript;
+ (yyvsp[-1])->a_count = num_dim;
+ (yyval) = (yyvsp[-1]);
}
+#line 2158 "command.c" /* yacc.c:1646 */
break;
case 144:
-/* Line 1787 of yacc.c */
-#line 675 "command.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 675 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2164 "command.c" /* yacc.c:1646 */
break;
case 145:
-/* Line 1787 of yacc.c */
-#line 677 "command.y"
+#line 677 "command.y" /* yacc.c:1646 */
{
- NODE *n = (yyvsp[(2) - (2)])->a_node;
+ NODE *n = (yyvsp[0])->a_node;
if ((n->flags & NUMBER) == 0)
yyerror(_("non-numeric value found, numeric expected"));
- (yyval) = (yyvsp[(2) - (2)]);
+ (yyval) = (yyvsp[0]);
}
+#line 2175 "command.c" /* yacc.c:1646 */
break;
case 146:
-/* Line 1787 of yacc.c */
-#line 684 "command.y"
+#line 684 "command.y" /* yacc.c:1646 */
{
- NODE *n = (yyvsp[(2) - (2)])->a_node;
+ NODE *n = (yyvsp[0])->a_node;
if ((n->flags & NUMBER) == 0)
yyerror(_("non-numeric value found, numeric expected"));
else
negate_num(n);
- (yyval) = (yyvsp[(2) - (2)]);
+ (yyval) = (yyvsp[0]);
}
+#line 2188 "command.c" /* yacc.c:1646 */
break;
case 147:
-/* Line 1787 of yacc.c */
-#line 696 "command.y"
+#line 696 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2194 "command.c" /* yacc.c:1646 */
break;
case 148:
-/* Line 1787 of yacc.c */
-#line 698 "command.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 698 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2200 "command.c" /* yacc.c:1646 */
break;
case 149:
-/* Line 1787 of yacc.c */
-#line 703 "command.y"
+#line 703 "command.y" /* yacc.c:1646 */
{ (yyval) = NULL; }
+#line 2206 "command.c" /* yacc.c:1646 */
break;
case 150:
-/* Line 1787 of yacc.c */
-#line 705 "command.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 705 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2212 "command.c" /* yacc.c:1646 */
break;
case 151:
-/* Line 1787 of yacc.c */
-#line 710 "command.y"
+#line 710 "command.y" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (1)])->a_int == 0)
+ if ((yyvsp[0])->a_int == 0)
yyerror(_("non-zero integer value"));
- (yyval) = (yyvsp[(1) - (1)]);
+ (yyval) = (yyvsp[0]);
}
+#line 2222 "command.c" /* yacc.c:1646 */
break;
case 152:
-/* Line 1787 of yacc.c */
-#line 716 "command.y"
+#line 716 "command.y" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)])->a_int == 0)
+ if ((yyvsp[0])->a_int == 0)
yyerror(_("non-zero integer value"));
- (yyval) = (yyvsp[(2) - (2)]);
+ (yyval) = (yyvsp[0]);
}
+#line 2232 "command.c" /* yacc.c:1646 */
break;
case 153:
-/* Line 1787 of yacc.c */
-#line 725 "command.y"
- { (yyval) = (yyvsp[(1) - (1)]); }
+#line 725 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2238 "command.c" /* yacc.c:1646 */
break;
case 154:
-/* Line 1787 of yacc.c */
-#line 727 "command.y"
- { (yyval) = (yyvsp[(2) - (2)]); }
+#line 727 "command.y" /* yacc.c:1646 */
+ { (yyval) = (yyvsp[0]); }
+#line 2244 "command.c" /* yacc.c:1646 */
break;
case 155:
-/* Line 1787 of yacc.c */
-#line 729 "command.y"
+#line 729 "command.y" /* yacc.c:1646 */
{
- (yyvsp[(2) - (2)])->a_int = - (yyvsp[(2) - (2)])->a_int;
- (yyval) = (yyvsp[(2) - (2)]);
+ (yyvsp[0])->a_int = - (yyvsp[0])->a_int;
+ (yyval) = (yyvsp[0]);
}
+#line 2253 "command.c" /* yacc.c:1646 */
break;
case 156:
-/* Line 1787 of yacc.c */
-#line 737 "command.y"
+#line 737 "command.y" /* yacc.c:1646 */
{
if (lexptr_begin != NULL) {
if (input_from_tty && lexptr_begin[0] != '\0')
@@ -2443,11 +2262,11 @@ yyreduce:
lexptr_begin = NULL;
}
}
+#line 2266 "command.c" /* yacc.c:1646 */
break;
-/* Line 1787 of yacc.c */
-#line 2451 "command.c"
+#line 2270 "command.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -2469,7 +2288,7 @@ yyreduce:
*++yyvsp = yyval;
- /* Now `shift' the result of the reduction. Determine what state
+ /* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -2484,9 +2303,9 @@ yyreduce:
goto yynewstate;
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
@@ -2537,20 +2356,20 @@ yyerrlab:
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ error, discard it. */
if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
@@ -2569,7 +2388,7 @@ yyerrorlab:
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
@@ -2582,29 +2401,29 @@ yyerrorlab:
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
- YYABORT;
+ YYABORT;
yydestruct ("Error: popping",
- yystos[yystate], yyvsp);
+ yystos[yystate], yyvsp);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
@@ -2655,14 +2474,14 @@ yyreturn:
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
}
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
+ yystos[*yyssp], yyvsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -2673,13 +2492,9 @@ yyreturn:
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
+ return yyresult;
}
-
-
-/* Line 2050 of yacc.c */
-#line 747 "command.y"
+#line 747 "command.y" /* yacc.c:1906 */
diff --git a/configure b/configure
index 9cac99cb..a9bf0805 100755
--- a/configure
+++ b/configure
@@ -10070,6 +10070,12 @@ if test "x$enable_extensions" != "xno"; then
case $host_os in
mirbsd*)
: ;;
+ openedition*) # OS/390 z/OS POSIX layer
+ cat << \EOF > extension/Makefile
+all dist check clean distclean install uninstall distcheck:
+ @exit 0
+EOF
+ ;;
*)
ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
if test "x$ac_cv_header_dlfcn_h" = xyes; then :
diff --git a/configure.ac b/configure.ac
index 8db997a6..ee100054 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
dnl
dnl configure.ac --- autoconf input file for gawk
dnl
-dnl Copyright (C) 1995-2013 the Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2014 the Free Software Foundation, Inc.
dnl
dnl This file is part of GAWK, the GNU implementation of the
dnl AWK Programming Language.
@@ -292,6 +292,12 @@ if test "x$enable_extensions" != "xno"; then
case $host_os in
mirbsd*)
: ;;
+ openedition*) # OS/390 z/OS POSIX layer
+ cat << \EOF > extension/Makefile
+all dist check clean distclean install uninstall distcheck:
+ @exit 0
+EOF
+ ;;
*)
AC_CHECK_HEADER(dlfcn.h,
[
diff --git a/dfa.c b/dfa.c
index 44bb220e..19ca737f 100644
--- a/dfa.c
+++ b/dfa.c
@@ -1136,7 +1136,6 @@ parse_bracket_exp (void)
work_mbc->range_ends[work_mbc->nranges++] =
case_fold ? towlower (wc2) : (wchar_t) wc2;
-#ifndef GREP
if (case_fold && (iswalpha (wc) || iswalpha (wc2)))
{
REALLOC_IF_NECESSARY (work_mbc->range_sts,
@@ -1146,11 +1145,19 @@ parse_bracket_exp (void)
range_ends_al, work_mbc->nranges + 1);
work_mbc->range_ends[work_mbc->nranges++] = towupper (wc2);
}
-#endif
}
else
{
-#ifndef GAWK
+#ifdef GAWK
+ c1 = c;
+ if (case_fold)
+ {
+ c1 = tolower (c1);
+ c2 = tolower (c2);
+ }
+ for (c = c1; c <= c2; c++)
+ setbit_case_fold_c (c, ccl);
+#else
/* Defer to the system regex library about the meaning
of range expressions. */
regex_t re;
@@ -1175,15 +1182,6 @@ parse_bracket_exp (void)
setbit_case_fold_c (c, ccl);
}
regfree (&re);
-#else
- c1 = c;
- if (case_fold)
- {
- c1 = tolower (c1);
- c2 = tolower (c2);
- }
- for (c = c1; c <= c2; c++)
- setbit_case_fold_c (c, ccl);
#endif
}
@@ -1209,11 +1207,7 @@ parse_bracket_exp (void)
work_mbc->nchars + 1);
work_mbc->chars[work_mbc->nchars++] = wc;
}
-#ifdef GREP
- continue;
-#else
wc = towupper (wc);
-#endif
}
if (!setbit_wc (wc, ccl))
{
@@ -1807,13 +1801,11 @@ atom (void)
else if (MBS_SUPPORT && tok == WCHAR)
{
addtok_wc (case_fold ? towlower (wctok) : wctok);
-#ifndef GREP
if (case_fold && iswalpha (wctok))
{
addtok_wc (towupper (wctok));
addtok (OR);
}
-#endif
tok = lex ();
}
@@ -3080,7 +3072,7 @@ match_mb_charset (struct dfa *d, state_num s, position pos, size_t idx)
/* Match in range 0-255? */
if (wc < NOTCHAR && work_mbc->cset != -1
- && tstbit ((unsigned char) wc, d->charclasses[work_mbc->cset]))
+ && tstbit (to_uchar (wc), d->charclasses[work_mbc->cset]))
goto charset_matched;
/* match with a character class? */
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 8508436e..52574058 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,58 @@
+2014-02-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Add a quote to the alarm clock program.
+
+2014-02-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ * texinfo.tex: Update to latest.
+
+2014-02-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Lots of small edits.
+
+2014-02-07 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: More minor fixes, update UPDATE_MONTH.
+
+2014-02-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: More minor fixes, in indexing.
+
+2014-02-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in, gawkinet.texi: Minor fixes, mostly in indexing.
+ * texinfo.tex: Update to latest.
+
+2014-01-31 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Add `()' to names of extension functions in indexing
+ commands and in one place in the text. Consistency, don'tcha know.
+
+2014-01-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Add a few missing STARTOFRANGE comments.
+ * gawk.1: Note that `(i, j) in array' doesn't work in for loops.
+ Update the copyright year.
+
+2014-01-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Update info for Anders Wallin.
+
+2014-01-25 Arnold D. Robbins <arnold@skeeve.com>
+
+ * texinfo.tex: Updated to current version.
+ * gawktexi.in: Add magic stuff so that PDFs have "dark red"
+ links like before.
+
+2014-01-23 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Feature History): New node.
+ (Common Extensions): Update features now in mawk, too.
+
+2014-12-14 John E. Malmberg <wb8tyw@qsl.net>
+
+ * gawktexi.in: Add information on building VMS PCSI kit.
+
2014-01-03 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Full Line Fields): New node.
diff --git a/doc/gawk.1 b/doc/gawk.1
index 8d343024..bd58b10c 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -13,7 +13,7 @@
. if \w'\(rq' .ds rq "\(rq
. \}
.\}
-.TH GAWK 1 "Aug 15 2013" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Jan 28 2014" "Free Software Foundation" "Utility Commands"
.SH NAME
gawk \- pattern scanning and processing language
.SH SYNOPSIS
@@ -1370,6 +1370,11 @@ The
construct may also be used in a
.B for
loop to iterate over all the elements of an array.
+However, the
+.B "(i, j) in array"
+construct only works in tests, not in
+.B for
+loops.
.PP
An element may be deleted from an array using the
.B delete
@@ -3968,7 +3973,7 @@ We thank him.
.SH COPYING PERMISSIONS
Copyright \(co 1989, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2009,
-2010, 2011, 2012, 2013
+2010, 2011, 2012, 2013, 2014
Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of
diff --git a/doc/gawk.info b/doc/gawk.info
index b60ecf82..5deb6482 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -193,7 +193,8 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
field.
* Command Line Field Separator:: Setting `FS' from the
command-line.
-* Full Line Fields:: Making the full line be a single field.
+* Full Line Fields:: Making the full line be a single
+ field.
* Field Splitting Summary:: Some final points and a summary table.
* Constant Size:: Reading constant width data.
* Splitting By Content:: Defining Fields By Content
@@ -583,6 +584,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b)
version of `awk'.
* POSIX/GNU:: The extensions in `gawk' not
in POSIX `awk'.
+* Feature History:: The history of the features in `gawk'.
* Common Extensions:: Common Extensions Summary.
* Ranges and Locales:: How locales used to affect regexp
ranges.
@@ -1268,11 +1270,11 @@ acknowledgements:
Dr. Nelson Beebe, Andreas Buening, Dr. Manuel Collado, Antonio
Colombo, Stephen Davies, Scott Deifik, Akim Demaille, Darrel Hankerson,
Michal Jaegermann, Ju"rgen Kahrs, Stepan Kasal, John Malmberg, Dave
-Pitts, Chet Ramey, Pat Rankin, Andrew Schorr, Corinna Vinschen, Anders
-Wallin, and Eli Zaretskii (in alphabetical order) make up the current
-`gawk' "crack portability team." Without their hard work and help,
-`gawk' would not be nearly the fine program it is today. It has been
-and continues to be a pleasure working with this team of fine people.
+Pitts, Chet Ramey, Pat Rankin, Andrew Schorr, Corinna Vinschen, and Eli
+Zaretskii (in alphabetical order) make up the current `gawk' "crack
+portability team." Without their hard work and help, `gawk' would not
+be nearly the fine program it is today. It has been and continues to
+be a pleasure working with this team of fine people.
Notable code and documentation contributions were made by a number
of people. *Note Contributors::, for the full list.
@@ -1814,18 +1816,8 @@ and the first four months of the current year.
Mar 24 75 70 495
Apr 21 70 74 514
- If you are reading this in GNU Emacs using Info, you can copy the
-regions of text showing these sample files into your own test files.
-This way you can try out the examples shown in the remainder of this
-document. You do this by using the command `M-x write-region' to copy
-text from the Info file into a file for use with `awk' (*Note
-Miscellaneous File Operations: (emacs)Misc File Ops, for more
-information). Using this information, create your own `BBS-list' and
-`inventory-shipped' files and practice what you learn in this Info file.
-
- If you are using the stand-alone version of Info, see *note Extract
-Program::, for an `awk' program that extracts these data files from
-`gawk.texi', the (generated) Texinfo source file for this Info file.
+ The sample files are included in the `gawk' distribution, in the
+directory `awklib/eg/data'.

File: gawk.info, Node: Very Simple, Next: Two Rules, Prev: Sample Data Files, Up: Getting Started
@@ -2236,7 +2228,7 @@ File: gawk.info, Node: Invoking Gawk, Next: Regexp, Prev: Getting Started, U
2 Running `awk' and `gawk'
**************************
-This major node covers how to run awk, both POSIX-standard and
+This major node covers how to run `awk', both POSIX-standard and
`gawk'-specific command-line options, and what `awk' and `gawk' do with
non-option arguments. It then proceeds to cover how `gawk' searches
for source files, reading standard input along with other files,
@@ -2312,22 +2304,8 @@ The following list describes options mandated by the POSIX standard:
`--file SOURCE-FILE'
Read `awk' program source from SOURCE-FILE instead of in the first
non-option argument. This option may be given multiple times; the
- `awk' program consists of the concatenation the contents of each
- specified SOURCE-FILE.
-
-`-i SOURCE-FILE'
-`--include SOURCE-FILE'
- Read `awk' source library from SOURCE-FILE. This option is
- completely equivalent to using the `@include' directive inside
- your program. This option is very similar to the `-f' option, but
- there are two important differences. First, when `-i' is used,
- the program source will not be loaded if it has been previously
- loaded, whereas the `-f' will always load the file. Second,
- because this option is intended to be used with code libraries,
- `gawk' does not recognize such files as constituting main program
- input. Thus, after processing an `-i' argument, `gawk' still
- expects to find the main source code via the `-f' option or on the
- command-line.
+ `awk' program consists of the concatenation of the contents of
+ each specified SOURCE-FILE.
`-v VAR=VAL'
`--assign VAR=VAL'
@@ -2456,6 +2434,20 @@ The following list describes options mandated by the POSIX standard:
Print a "usage" message summarizing the short and long style
options that `gawk' accepts and then exit.
+`-i SOURCE-FILE'
+`--include SOURCE-FILE'
+ Read `awk' source library from SOURCE-FILE. This option is
+ completely equivalent to using the `@include' directive inside
+ your program. This option is very similar to the `-f' option, but
+ there are two important differences. First, when `-i' is used,
+ the program source will not be loaded if it has been previously
+ loaded, whereas the `-f' will always load the file. Second,
+ because this option is intended to be used with code libraries,
+ `gawk' does not recognize such files as constituting main program
+ input. Thus, after processing an `-i' argument, `gawk' still
+ expects to find the main source code via the `-f' option or on the
+ command-line.
+
`-l LIB'
`--load LIB'
Load a shared library LIB. This searches for the library using the
@@ -4091,18 +4083,23 @@ use for `RS' in this case:
BEGIN { RS = "\0" } # whole file becomes one record?
`gawk' in fact accepts this, and uses the NUL character for the
-record separator. However, this usage is _not_ portable to other `awk'
-implementations.
+record separator. However, this usage is _not_ portable to most other
+`awk' implementations.
- All other `awk' implementations(1) store strings internally as
-C-style strings. C strings use the NUL character as the string
+ Almost all other `awk' implementations(1) store strings internally
+as C-style strings. C strings use the NUL character as the string
terminator. In effect, this means that `RS = "\0"' is the same as `RS
= ""'. (d.c.)
+ It happens that recent versions of `mawk' can use the NUL character
+as a record separator. However, this is a special case: `mawk' does not
+allow embedded NUL characters in strings.
+
The best way to treat a whole file as a single record is to simply
read the file in, one record at a time, concatenating each record onto
the end of the previous ones.
+
---------- Footnotes ----------
(1) At least that we know about.
@@ -4763,14 +4760,15 @@ File: gawk.info, Node: Constant Size, Next: Splitting By Content, Prev: Field
4.6 Reading Fixed-Width Data
============================
-(This minor node discusses an advanced feature of `awk'. If you are a
-novice `awk' user, you might want to skip it on the first reading.)
+ NOTE: This minor node discusses an advanced feature of `gawk'. If
+ you are a novice `awk' user, you might want to skip it on the
+ first reading.
-`gawk' provides a facility for dealing with fixed-width fields with no
-distinctive field separator. For example, data of this nature arises
-in the input for old Fortran programs where numbers are run together,
-or in the output of programs that did not anticipate the use of their
-output as input for other programs.
+ `gawk' provides a facility for dealing with fixed-width fields with
+no distinctive field separator. For example, data of this nature
+arises in the input for old Fortran programs where numbers are run
+together, or in the output of programs that did not anticipate the use
+of their output as input for other programs.
An example of the latter is a table where all the columns are lined
up by the use of a variable number of spaces and _empty fields are just
@@ -4869,10 +4867,11 @@ File: gawk.info, Node: Splitting By Content, Next: Multiple Line, Prev: Const
4.7 Defining Fields By Content
==============================
-(This minor node discusses an advanced feature of `awk'. If you are a
-novice `awk' user, you might want to skip it on the first reading.)
+ NOTE: This minor node discusses an advanced feature of `gawk'. If
+ you are a novice `awk' user, you might want to skip it on the
+ first reading.
-Normally, when using `FS', `gawk' defines the fields as the parts of
+ Normally, when using `FS', `gawk' defines the fields as the parts of
the record that occur in between each field separator. In other words,
`FS' defines what a field _is not_, instead of what a field _is_.
However, there are times when you really want to define the fields by
@@ -7177,7 +7176,7 @@ decimal point when reading the `awk' program source code, and for
command-line variable assignments (*note Other Arguments::). However,
when interpreting input data, for `print' and `printf' output, and for
number to string conversion, the local decimal point character is used.
-(d.c.). Here are some examples indicating the difference in behavior,
+(d.c.) Here are some examples indicating the difference in behavior,
on a GNU/Linux system:
$ export POSIXLY_CORRECT=1 Force POSIX behavior
@@ -7904,7 +7903,6 @@ of error is very difficult to spot when scanning the source code.
string comparison (true)
`a = 2; b = " +2"'
-
`a == b'
string comparison (false)
@@ -13993,7 +13991,7 @@ corresponding character. Both functions are written very nicely in
}
}
- Some explanation of the numbers used by `chr' is worthwhile. The
+ Some explanation of the numbers used by `chr()' is worthwhile. The
most prominent character set in use today is ASCII.(1) Although an
8-bit byte can hold 256 distinct values (from 0 to 255), ASCII only
defines characters that use the values from 0 to 127.(2) In the now
@@ -16668,6 +16666,8 @@ File: gawk.info, Node: Alarm Program, Next: Translate Program, Prev: Dupword
Nothing cures insomnia like a ringing alarm clock. -- Arnold
Robbins
+ Sleep is for web developers. -- Erik Quanstrom
+
The following program is a simple "alarm clock" program. You give
it a time of day and an optional message. At the specified time, it
prints the message on the standard output. In addition, you can give it
@@ -21888,11 +21888,8 @@ that use them.
allowing `gawk' to use them as it needs to.
`typedef enum awk_bool {'
-
` awk_false = 0,'
-
` awk_true'
-
`} awk_bool_t;'
A simple boolean type.
@@ -24910,6 +24907,7 @@ you can find more information.
`awk'.
* POSIX/GNU:: The extensions in `gawk' not in POSIX
`awk'.
+* Feature History:: The history of the features in `gawk'.
* Common Extensions:: Common Extensions Summary.
* Ranges and Locales:: How locales used to affect regexp ranges.
* Contributors:: The major contributors to `gawk'.
@@ -25088,7 +25086,7 @@ in his version of `awk'.
available in his `awk'.

-File: gawk.info, Node: POSIX/GNU, Next: Common Extensions, Prev: BTL, Up: Language History
+File: gawk.info, Node: POSIX/GNU, Next: Feature History, Prev: BTL, Up: Language History
A.5 Extensions in `gawk' Not in POSIX `awk'
===========================================
@@ -25245,9 +25243,391 @@ the current version of `gawk'.

-File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: POSIX/GNU, Up: Language History
+File: gawk.info, Node: Feature History, Next: Common Extensions, Prev: POSIX/GNU, Up: Language History
+
+A.6 History of `gawk' Features
+==============================
+
+This minor node describes the features in `gawk' over and above those
+in POSIX `awk', in the order they were added to `gawk'.
+
+ Version 2.10 of `gawk' introduced the following features:
+
+ * The `AWKPATH' environment variable for specifying a path search for
+ the `-f' command-line option (*note Options::).
+
+ * The `IGNORECASE' variable and its effects (*note
+ Case-sensitivity::).
+
+ * The `/dev/stdin', `/dev/stdout', `/dev/stderr' and `/dev/fd/N'
+ special file names (*note Special Files::).
+
+ Version 2.13 of `gawk' introduced the following features:
+
+ * The `FIELDWIDTHS' variable and its effects (*note Constant Size::).
+
+ * The `systime()' and `strftime()' built-in functions for obtaining
+ and printing timestamps (*note Time Functions::).
+
+ * Additional command-line options (*note Options::):
+
+ - The `-W lint' option to provide error and portability checking
+ for both the source code and at runtime.
+
+ - The `-W compat' option to turn off the GNU extensions.
+
+ - The `-W posix' option for full POSIX compliance.
+
+ Version 2.14 of `gawk' introduced the following feature:
+
+ * The `next file' statement for skipping to the next data file
+ (*note Nextfile Statement::).
+
+ Version 2.15 of `gawk' introduced the following features:
+
+ * New variables (*note Built-in Variables::):
+
+ - `ARGIND', which tracks the movement of `FILENAME' through
+ `ARGV'.
+
+ - `ERRNO', which contains the system error message when
+ `getline' returns -1 or `close()' fails.
+
+ * The `/dev/pid', `/dev/ppid', `/dev/pgrpid', and `/dev/user'
+ special file names. These have since been removed.
+
+ * The ability to delete all of an array at once with `delete ARRAY'
+ (*note Delete::).
+
+ * Command line option changes (*note Options::):
+
+ - The ability to use GNU-style long-named options that start
+ with `--'.
+
+ - The `--source' option for mixing command-line and library-file
+ source code.
+
+ Version 3.0 of `gawk' introduced the following features:
+
+ * New or changed variables:
+
+ - `IGNORECASE' changed, now applying to string comparison as
+ well as regexp operations (*note Case-sensitivity::).
+
+ - `RT', which contains the input text that matched `RS' (*note
+ Records::).
+
+ * Full support for both POSIX and GNU regexps (*note Regexp::).
+
+ * The `gensub()' function for more powerful text manipulation (*note
+ String Functions::).
+
+ * The `strftime()' function acquired a default time format, allowing
+ it to be called with no arguments (*note Time Functions::).
+
+ * The ability for `FS' and for the third argument to `split()' to be
+ null strings (*note Single Character Fields::).
+
+ * The ability for `RS' to be a regexp (*note Records::).
+
+ * The `next file' statement became `nextfile' (*note Nextfile
+ Statement::).
+
+ * The `fflush()' function from the Bell Laboratories research
+ version of `awk' (*note I/O Functions::).
+
+ * New command line options:
+
+ - The `--lint-old' option to warn about constructs that are not
+ available in the original Version 7 Unix version of `awk'
+ (*note V7/SVR3.1::).
+
+ - The `-m' option from the Bell Laboratories research version
+ of `awk' This was later removed.
+
+ - The `--re-interval' option to provide interval expressions in
+ regexps (*note Regexp Operators::).
+
+ - The `--traditional' option was added as a better name for
+ `--compat' (*note Options::).
+
+ * The use of GNU Autoconf to control the configuration process
+ (*note Quick Installation::).
+
+ * Amiga support.
+
+
+ Version 3.1 of `gawk' introduced the following features:
+
+ * New variables (*note Built-in Variables::):
+
+ - `BINMODE', for non-POSIX systems, which allows binary I/O for
+ input and/or output files (*note PC Using::).
+
+ - `LINT', which dynamically controls lint warnings.
+
+ - `PROCINFO', an array for providing process-related
+ information.
+
+ - `TEXTDOMAIN', for setting an application's
+ internationalization text domain (*note
+ Internationalization::).
+
+ * The ability to use octal and hexadecimal constants in `awk'
+ program source code (*note Nondecimal-numbers::).
+
+ * The `|&' operator for two-way I/O to a coprocess (*note Two-way
+ I/O::).
+
+ * The `/inet' special files for TCP/IP networking using `|&' (*note
+ TCP/IP Networking::).
+
+ * The optional second argument to `close()' that allows closing one
+ end of a two-way pipe to a coprocess (*note Two-way I/O::).
+
+ * The optional third argument to the `match()' function for
+ capturing text-matching subexpressions within a regexp (*note
+ String Functions::).
+
+ * Positional specifiers in `printf' formats for making translations
+ easier (*note Printf Ordering::).
+
+ * A number of new built-in functions:
+
+ - The `asort()' and `asorti()' functions for sorting arrays
+ (*note Array Sorting::).
+
+ - The `bindtextdomain()', `dcgettext()' and `dcngettext()'
+ functions for internationalization (*note Programmer i18n::).
+
+ - The `extension()' function and the ability to add new
+ built-in functions dynamically (*note Dynamic Extensions::).
+
+ - The `mktime()' function for creating timestamps (*note Time
+ Functions::).
+
+ - The `and()', `or()', `xor()', `compl()', `lshift()',
+ `rshift()', and `strtonum()' functions (*note Bitwise
+ Functions::).
+
+ * The support for `next file' as two words was removed completely
+ (*note Nextfile Statement::).
-A.6 Common Extensions Summary
+ * Additional commnd line options (*note Options::):
+
+ - The `--dump-variables' option to print a list of all global
+ variables.
+
+ - The `--exec' option, for use in CGI scripts.
+
+ - The `--gen-po' command-line option and the use of a leading
+ underscore to mark strings that should be translated (*note
+ String Extraction::).
+
+ - The `--non-decimal-data' option to allow non-decimal input
+ data (*note Nondecimal Data::).
+
+ - The `--profile' option and `pgawk', the profiling version of
+ `gawk', for producing execution profiles of `awk' programs
+ (*note Profiling::).
+
+ - The `--use-lc-numeric' option to force `gawk' to use the
+ locale's decimal point for parsing input data (*note
+ Conversion::).
+
+ * The use of GNU Automake to help in standardizing the configuration
+ process (*note Quick Installation::).
+
+ * The use of GNU `gettext' for `gawk''s own message output (*note
+ Gawk I18N::).
+
+ * BeOS support. This was later removed.
+
+ * Tandem support. This was later removed.
+
+ * The Atari port became officially unsupported.
+
+ * The source code changed to use ISO C standard-style function
+ definitions.
+
+ * POSIX compliance for `sub()' and `gsub()' (*note Gory Details::).
+
+ * The `length()' function was extended to accept an array argument
+ and return the number of elements in the array (*note String
+ Functions::).
+
+ * The `strftime()' function acquired a third argument to enable
+ printing times as UTC (*note Time Functions::).
+
+ Version 4.0 of `gawk' introduced the following features:
+
+ * Variable additions:
+
+ - `FPAT', which allows you to specify a regexp that matches the
+ fields, instead of matching the field separator (*note
+ Splitting By Content::).
+
+ - If `PROCINFO["sorted_in"]' exists, `for(iggy in foo)' loops
+ sort the indices before looping over them. The value of this
+ element provides control over how the indices are sorted
+ before the loop traversal starts (*note Controlling
+ Scanning::).
+
+ - `PROCINFO["strftime"]', which holds the default format for
+ `strftime()' (*note Time Functions::).
+
+ * The special files `/dev/pid', `/dev/ppid', `/dev/pgrpid' and
+ `/dev/user' were removed.
+
+ * Support for IPv6 was added via the `/inet6' special file.
+ `/inet4' forces IPv4 and `/inet' chooses the system default, which
+ is probably IPv4 (*note TCP/IP Networking::).
+
+ * The use of `\s' and `\S' escape sequences in regular expressions
+ (*note GNU Regexp Operators::).
+
+ * Interval expressions became part of default regular expressions
+ (*note Regexp Operators::).
+
+ * POSIX character classes work even with `--traditional' (*note
+ Regexp Operators::).
+
+ * `break' and `continue' became invalid outside a loop, even with
+ `--traditional' (*note Break Statement::, and also see *note
+ Continue Statement::).
+
+ * `fflush()', `nextfile', and `delete ARRAY' are allowed if
+ `--posix' or `--traditional', since they are all now part of POSIX.
+
+ * An optional third argument to `asort()' and `asorti()', specifying
+ how to sort (*note String Functions::).
+
+ * The behavior of `fflush()' changed to match Brian Kernighan's `awk'
+ and for POSIX; now both `fflush()' and `fflush("")' flush all open
+ output redirections (*note I/O Functions::).
+
+ * The `isarray()' function which distinguishes if an item is an array
+ or not, to make it possible to traverse multidimensional arrays
+ (*note Type Functions::).
+
+ * The `patsplit()' function which gives the same capability as
+ `FPAT', for splitting (*note String Functions::).
+
+ * An optional fourth argument to the `split()' function, which is an
+ array to hold the values of the separators (*note String
+ Functions::).
+
+ * Arrays of arrays (*note Arrays of Arrays::).
+
+ * The `BEGINFILE' and `ENDFILE' special patterns (*note
+ BEGINFILE/ENDFILE::).
+
+ * Indirect function calls (*note Indirect Calls::).
+
+ * `switch' / `case' are enabled by default (*note Switch
+ Statement::).
+
+ * Command line option changes (*note Options::):
+
+ - The `-b' and `--characters-as-bytes' options which prevent
+ `gawk' from treating input as a multibyte string.
+
+ - The redundant `--compat', `--copyleft', and `--usage' long
+ options were removed.
+
+ - The `--gen-po' option was finally renamed to the correct
+ `--gen-pot'.
+
+ - The `--sandbox' option which disables certain features.
+
+ - All long options acquired corresponding short options, for
+ use in `#!' scripts.
+
+ * Directories named on the command line now produce a warning, not a
+ fatal error, unless `--posix' or `--traditional' are used (*note
+ Command line directories::).
+
+ * The `gawk' internals were rewritten, bringing the `dgawk' debugger
+ and possibly improved performance (*note Debugger::).
+
+ * Per the GNU Coding Standards, dynamic extensions must now define a
+ global symbol indicating that they are GPL-compatible (*note
+ Plugin License::).
+
+ * In POSIX mode, string comparisons use `strcoll()' / `wcscoll()'
+ (*note POSIX String Comparison::).
+
+ * The option for raw sockets was removed, since it was never
+ implemented (*note TCP/IP Networking::).
+
+ * Ranges of the form `[d-h]' are treated as if they were in the C
+ locale, no matter what kind of regexp is being used, and even if
+ `--posix' (*note Ranges and Locales::).
+
+ * Support was removed for the following systems:
+
+ - Atari
+
+ - Amiga
+
+ - BeOS
+
+ - Cray
+
+ - MIPS RiscOS
+
+ - MS-DOS with Microsoft Compiler
+
+ - MS-Windows with Microsoft Compiler
+
+ - NeXT
+
+ - SunOS 3.x, Sun 386 (Road Runner)
+
+ - Tandem (non-POSIX)
+
+ - Prestandard VAX C compiler for VAX/VMS
+
+ Version 4.1 of `gawk' introduced the following features:
+
+ * Three new arrays: `SYMTAB', `FUNCTAB', and
+ `PROCINFO["identifiers"]' (*note Auto-set::).
+
+ * The three executables `gawk', `pgawk', and `dgawk', were merged
+ into one, named just `gawk'. As a result the command line options
+ changed.
+
+ * Command line option changes (*note Options::):
+
+ - The `-D' option invokes the debugger.
+
+ - The `-i' and `--include' options load `awk' library files.
+
+ - The `-l' and `--load' options for load compiled dynamic
+ extensions.
+
+ - The `-M' and `--bignum' options enable MPFR.
+
+ - The `-o' only does pretty-printing.
+
+ - The `-p' option is used for profiling.
+
+ - The `-R' option was removed.
+
+ * Support for high precision arithmetic with MPFR. (*note Gawk and
+ MPFR::).
+
+ * The `and()', `or()' and `xor()' functions allow any number of
+ arguments, with a minimum of two (*note Bitwise Functions::).
+
+ * The dynamic extension interface was completely redone (*note
+ Dynamic Extensions::).
+
+
+
+File: gawk.info, Node: Common Extensions, Next: Ranges and Locales, Prev: Feature History, Up: Language History
+
+A.7 Common Extensions Summary
=============================
This minor node summarizes the common extensions supported by `gawk',
@@ -25259,7 +25639,7 @@ Feature BWK Awk Mawk GNU Awk
`\x' Escape sequence X X X
`RS' as regexp X X
`FS' as null string X X X
-`/dev/stdin' special file X X
+`/dev/stdin' special file X X X
`/dev/stdout' special file X X X
`/dev/stderr' special file X X X
`**' and `**=' operators X X
@@ -25267,7 +25647,7 @@ Feature BWK Awk Mawk GNU Awk
`func' keyword X X
`nextfile' statement X X X
`delete' without subscript X X X
-`length()' of an array X X
+`length()' of an array X X X
`BINMODE' variable X X
Time related functions X X
@@ -25278,7 +25658,7 @@ POSIX.)

File: gawk.info, Node: Ranges and Locales, Next: Contributors, Prev: Common Extensions, Up: Language History
-A.7 Regexp Ranges and Locales: A Long Sad Story
+A.8 Regexp Ranges and Locales: A Long Sad Story
===============================================
This minor node describes the confusing history of ranges within
@@ -25384,7 +25764,7 @@ and its rationale

File: gawk.info, Node: Contributors, Prev: Ranges and Locales, Up: Language History
-A.8 Major Contributors to `gawk'
+A.9 Major Contributors to `gawk'
================================
Always give credit where credit is due. -- Anonymous
@@ -25484,6 +25864,8 @@ Info file, in approximate chronological order:
* Patrick T.J. McPhee contributed the code for dynamic loading in
Windows32 environments. (This is no longer supported)
+ * Anders Wallin helped keep the VMS port going for several years.
+
* John Haque made the following contributions:
- The modifications to convert `gawk' into a byte-code
@@ -26403,7 +26785,19 @@ directory tree, the program will be known as
`GNV$GNU:[bin]gnv$gawk.exe' and the help file will be
`GNV$GNU:[vms_help]gawk.hlp'.
- Optionally, the help entry can be loaded into a VMS help library:
+ The PCSI kit also installs a `GNV$GNU:[vms_bin]gawk_verb.cld' file
+which can be used to add `gawk' and `awk' as DCL commands.
+
+ For just the current process you can use:
+
+ $ set command gnv$gnu:[vms_bin]gawk_verb.cld
+
+ Or the system manager can use `GNV$GNU:[vms_bin]gawk_verb.cld' to
+add the `gawk' and `awk' to the system wide `DCLTABLES'.
+
+ The DCL syntax is documented in the `gawk.hlp' file.
+
+ Optionally, `gawk.hlp' entry can be loaded into a VMS help library:
$ LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp
@@ -26504,8 +26898,10 @@ reorganized to supply individual PCSI packages for each component. See
`https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/'.
The normal build procedure for `gawk' produces a program that is
-suitable for use with GNV. At this time work is being done to create
-the procedures for building a PCSI kit to replace the older `gawk' port.
+suitable for use with GNV.
+
+ The `vms/gawk_build_steps.txt' in the source documents the procedure
+for building a VMS PCSI kit that is compatible with GNV.

File: gawk.info, Node: VMS Old Gawk, Prev: VMS GNV, Up: VMS Installation
@@ -26595,7 +26991,7 @@ MS-DOS with DJGPP Scott Deifik, <scottd.mail@sbcglobal.net>.
MS-Windows with MINGW Eli Zaretskii, <eliz@gnu.org>.
OS/2 Andreas Buening, <andreas.buening@nexgo.de>.
VMS Pat Rankin, <r.pat.rankin@gmail.com>, and John
- Malmberg, <wb8tyw@gmail.com>.
+ Malmberg, <wb8tyw@qsl.net>.
z/OS (OS/390) Dave Pitts, <dpitts@cozx.com>.
If your bug is also reproducible under Unix, please send a copy of
@@ -29614,14 +30010,13 @@ Index
* - (hyphen), -- operator: Increment Ops. (line 48)
* - (hyphen), -= operator <1>: Precedence. (line 95)
* - (hyphen), -= operator: Assignment Ops. (line 129)
-* - (hyphen), filenames beginning with: Options. (line 73)
+* - (hyphen), filenames beginning with: Options. (line 59)
* - (hyphen), in bracket expressions: Bracket Expressions. (line 17)
-* --assign option: Options. (line 46)
+* --assign option: Options. (line 32)
* --bignum option: Options. (line 201)
-* --c option: Options. (line 95)
-* --characters-as-bytes option: Options. (line 82)
-* --copyright option: Options. (line 102)
-* --debug option: Options. (line 122)
+* --characters-as-bytes option: Options. (line 68)
+* --copyright option: Options. (line 88)
+* --debug option: Options. (line 108)
* --disable-extensions configuration option: Additional Configuration Options.
(line 9)
* --disable-lint configuration option: Additional Configuration Options.
@@ -29629,15 +30024,14 @@ Index
* --disable-nls configuration option: Additional Configuration Options.
(line 30)
* --dump-variables option <1>: Library Names. (line 45)
-* --dump-variables option: Options. (line 107)
-* --exec option: Options. (line 139)
+* --dump-variables option: Options. (line 93)
+* --exec option: Options. (line 125)
* --field-separator option: Options. (line 21)
* --file option: Options. (line 25)
* --gen-pot option <1>: String Extraction. (line 6)
-* --gen-pot option: Options. (line 161)
-* --help option: Options. (line 168)
-* --include option: Options. (line 32)
-* --L option: Options. (line 288)
+* --gen-pot option: Options. (line 147)
+* --help option: Options. (line 154)
+* --include option: Options. (line 159)
* --lint option <1>: Options. (line 182)
* --lint option: Command Line. (line 20)
* --lint-old option: Options. (line 288)
@@ -29659,19 +30053,20 @@ Index
* --sandbox option, input redirection with getline: Getline. (line 19)
* --sandbox option, output redirection with print, printf: Redirection.
(line 6)
-* --source option: Options. (line 131)
-* --traditional option: Options. (line 95)
+* --source option: Options. (line 117)
+* --traditional option: Options. (line 81)
* --traditional option, --posix option and: Options. (line 266)
* --use-lc-numeric option: Options. (line 215)
* --version option: Options. (line 293)
* --with-whiny-user-strftime configuration option: Additional Configuration Options.
(line 35)
-* -b option: Options. (line 82)
-* -C option: Options. (line 102)
-* -D option: Options. (line 122)
-* -d option: Options. (line 107)
-* -E option: Options. (line 139)
-* -e option: Options. (line 131)
+* -b option: Options. (line 68)
+* -C option: Options. (line 88)
+* -c option: Options. (line 81)
+* -D option: Options. (line 108)
+* -d option: Options. (line 93)
+* -E option: Options. (line 125)
+* -e option: Options. (line 117)
* -F option: Command Line Field Separator.
(line 6)
* -f option: Options. (line 25)
@@ -29679,9 +30074,10 @@ Index
* -f option: Long. (line 12)
* -F option, -Ft sets FS to TAB: Options. (line 301)
* -f option, multiple uses: Options. (line 306)
-* -g option: Options. (line 161)
-* -h option: Options. (line 168)
-* -i option: Options. (line 32)
+* -g option: Options. (line 147)
+* -h option: Options. (line 154)
+* -i option: Options. (line 159)
+* -L option: Options. (line 288)
* -l option: Options. (line 173)
* -M option: Options. (line 201)
* -N option: Options. (line 215)
@@ -29694,8 +30090,8 @@ Index
* -S option: Options. (line 279)
* -v option: Assignment Options. (line 12)
* -V option: Options. (line 293)
-* -v option: Options. (line 46)
-* -W option: Options. (line 60)
+* -v option: Options. (line 32)
+* -W option: Options. (line 46)
* . (period): Regexp Operators. (line 43)
* .gmo files: Explaining gettext. (line 41)
* .gmo files, converting from .po: I18N Example. (line 62)
@@ -29824,7 +30220,7 @@ Index
* Ada programming language: Glossary. (line 20)
* adding, features to gawk: Adding Code. (line 6)
* adding, fields: Changing Fields. (line 53)
-* advanced features, fixed-width data: Constant Size. (line 9)
+* advanced features, fixed-width data: Constant Size. (line 10)
* advanced features, gawk: Advanced Features. (line 6)
* advanced features, network connections, See Also networks, connections: Advanced Features.
(line 6)
@@ -29833,11 +30229,11 @@ Index
* advanced features, processes, communicating with: Two-way I/O.
(line 23)
* advanced features, specifying field content: Splitting By Content.
- (line 9)
+ (line 10)
* Aho, Alfred <1>: Contributors. (line 11)
* Aho, Alfred: History. (line 17)
-* alarm clock example program: Alarm Program. (line 9)
-* alarm.awk program: Alarm Program. (line 29)
+* alarm clock example program: Alarm Program. (line 11)
+* alarm.awk program: Alarm Program. (line 31)
* algorithms: Basic High Level. (line 68)
* Alpha (DEC): Manual History. (line 28)
* amazing awk assembler (aaa): Glossary. (line 12)
@@ -29935,7 +30331,7 @@ Index
* asterisk (*), *= operator: Assignment Ops. (line 129)
* atan2() function: Numeric Functions. (line 11)
* awf (amazingly workable formatter) program: Glossary. (line 25)
-* awk debugging, enabling: Options. (line 122)
+* awk debugging, enabling: Options. (line 108)
* awk language, POSIX version: Assignment Ops. (line 136)
* awk profiling, enabling: Options. (line 235)
* awk programs <1>: Two Rules. (line 6)
@@ -29972,7 +30368,7 @@ Index
* awk, POSIX and: Preface. (line 23)
* awk, POSIX and, See Also POSIX awk: Preface. (line 23)
* awk, regexp constants and: Comparison Operators.
- (line 103)
+ (line 102)
* awk, See Also gawk: Preface. (line 36)
* awk, terms describing: This Manual. (line 6)
* awk, uses for <1>: When. (line 6)
@@ -29993,7 +30389,7 @@ Index
* AWKPATH environment variable: AWKPATH Variable. (line 6)
* awkprof.out file: Profiling. (line 6)
* awksed.awk program: Simple Sed. (line 25)
-* awkvars.out file: Options. (line 107)
+* awkvars.out file: Options. (line 93)
* b debugger command (alias for break): Breakpoint Control. (line 11)
* backslash (\) <1>: Regexp Operators. (line 18)
* backslash (\) <2>: Quoting. (line 31)
@@ -30137,7 +30533,7 @@ Index
* built-in functions: Functions. (line 6)
* built-in functions, evaluation order: Calling Built-in. (line 30)
* built-in variables: Built-in Variables. (line 6)
-* built-in variables, -v option, setting with: Options. (line 54)
+* built-in variables, -v option, setting with: Options. (line 40)
* built-in variables, conveying information: Auto-set. (line 6)
* built-in variables, user-modifiable: User-modified. (line 6)
* Busybox Awk: Other Versions. (line 88)
@@ -30160,7 +30556,7 @@ Index
* case sensitivity, regexps and <1>: User-modified. (line 82)
* case sensitivity, regexps and: Case-sensitivity. (line 6)
* case sensitivity, string comparisons and: User-modified. (line 82)
-* CGI, awk scripts for: Options. (line 139)
+* CGI, awk scripts for: Options. (line 125)
* character lists, See bracket expressions: Regexp Operators. (line 55)
* character sets (machine character encodings) <1>: Glossary. (line 141)
* character sets (machine character encodings): Ordinal Functions.
@@ -30171,10 +30567,10 @@ Index
* characters, transliterating: Translate Program. (line 6)
* characters, values of as numbers: Ordinal Functions. (line 6)
* Chassell, Robert J.: Acknowledgments. (line 33)
-* chdir extension function: Extension Sample File Functions.
+* chdir() extension function: Extension Sample File Functions.
(line 12)
* chem utility: Glossary. (line 151)
-* chr extension function: Extension Sample Ord.
+* chr() extension function: Extension Sample Ord.
(line 15)
* chr() user-defined function: Ordinal Functions. (line 16)
* clear debugger command: Breakpoint Control. (line 36)
@@ -30213,7 +30609,7 @@ Index
(line 6)
* command line, options <2>: Options. (line 6)
* command line, options: Long. (line 12)
-* command line, options, end of: Options. (line 68)
+* command line, options, end of: Options. (line 54)
* command line, variables, assigning on: Assignment Options. (line 6)
* command-line options, processing: Getopt Function. (line 6)
* command-line options, string extraction: String Extraction. (line 6)
@@ -30240,14 +30636,14 @@ Index
(line 9)
* comparison expressions, as patterns: Expression Patterns. (line 14)
* comparison expressions, string vs. regexp: Comparison Operators.
- (line 79)
+ (line 78)
* compatibility mode (gawk), extensions: POSIX/GNU. (line 6)
* compatibility mode (gawk), file names: Special Caveats. (line 9)
* compatibility mode (gawk), hexadecimal numbers: Nondecimal-numbers.
(line 60)
* compatibility mode (gawk), octal numbers: Nondecimal-numbers.
(line 60)
-* compatibility mode (gawk), specifying: Options. (line 95)
+* compatibility mode (gawk), specifying: Options. (line 81)
* compiled programs <1>: Glossary. (line 165)
* compiled programs: Basic High Level. (line 15)
* compiling gawk for Cygwin: Cygwin. (line 6)
@@ -30352,7 +30748,7 @@ Index
* dark corner, split() function: String Functions. (line 358)
* dark corner, strings, storing: Records. (line 195)
* dark corner, value of ARGV[0]: Auto-set. (line 35)
-* data, fixed-width: Constant Size. (line 9)
+* data, fixed-width: Constant Size. (line 10)
* data-driven languages: Basic High Level. (line 85)
* database, group, reading: Group Functions. (line 6)
* database, users, reading: Passwd Functions. (line 6)
@@ -30740,7 +31136,7 @@ Index
* fields, single-character: Single Character Fields.
(line 6)
* FIELDWIDTHS variable <1>: User-modified. (line 35)
-* FIELDWIDTHS variable: Constant Size. (line 22)
+* FIELDWIDTHS variable: Constant Size. (line 23)
* file descriptors: Special FD. (line 6)
* file names, distinguishing: Auto-set. (line 52)
* file names, in compatibility mode: Special Caveats. (line 9)
@@ -30761,10 +31157,10 @@ Index
* files, /inet/... (gawk): TCP/IP Networking. (line 6)
* files, /inet4/... (gawk): TCP/IP Networking. (line 6)
* files, /inet6/... (gawk): TCP/IP Networking. (line 6)
-* files, as single records: Records. (line 200)
+* files, as single records: Records. (line 204)
* files, awk programs in: Long. (line 6)
* files, awkprof.out: Profiling. (line 6)
-* files, awkvars.out: Options. (line 107)
+* files, awkvars.out: Options. (line 93)
* files, closing: I/O Functions. (line 10)
* files, descriptors, See file descriptors: Special FD. (line 6)
* files, group: Group Functions. (line 6)
@@ -30791,7 +31187,7 @@ Index
* files, portable object template: Explaining gettext. (line 30)
* files, portable object, converting to message object files: I18N Example.
(line 62)
-* files, portable object, generating: Options. (line 161)
+* files, portable object, generating: Options. (line 147)
* files, processing, ARGIND variable and: Auto-set. (line 47)
* files, reading: Rewind Function. (line 6)
* files, reading, multiline records: Multiple Line. (line 6)
@@ -30803,7 +31199,7 @@ Index
* finish debugger command: Debugger Execution Control.
(line 39)
* Fish, Fred: Contributors. (line 50)
-* fixed-width data: Constant Size. (line 9)
+* fixed-width data: Constant Size. (line 10)
* flag variables <1>: Tee Program. (line 20)
* flag variables: Boolean Ops. (line 67)
* floating-point numbers, arbitrary precision: Arbitrary Precision Arithmetic.
@@ -30811,14 +31207,14 @@ Index
* floating-point, numbers <1>: Unexpected Results. (line 6)
* floating-point, numbers: General Arithmetic. (line 6)
* floating-point, VAX/VMS: VMS Running. (line 51)
-* fnmatch extension function: Extension Sample Fnmatch.
+* fnmatch() extension function: Extension Sample Fnmatch.
(line 6)
* FNR variable <1>: Auto-set. (line 112)
* FNR variable: Records. (line 6)
* FNR variable, changing: Auto-set. (line 323)
* for statement: For Statement. (line 6)
* for statement, looping over arrays: Scanning an Array. (line 20)
-* fork extension function: Extension Sample Fork.
+* fork() extension function: Extension Sample Fork.
(line 11)
* format specifiers, mixing regular with positional specifiers: Printf Ordering.
(line 57)
@@ -30837,7 +31233,7 @@ Index
* forward slash (/), patterns and: Expression Patterns. (line 24)
* FPAT variable <1>: User-modified. (line 45)
* FPAT variable: Splitting By Content.
- (line 26)
+ (line 27)
* frame debugger command: Execution Stack. (line 25)
* Free Documentation License (FDL): GNU Free Documentation License.
(line 6)
@@ -30860,7 +31256,7 @@ Index
* FSF (Free Software Foundation) <1>: Glossary. (line 305)
* FSF (Free Software Foundation) <2>: Getting. (line 10)
* FSF (Free Software Foundation): Manual History. (line 6)
-* fts extension function: Extension Sample File Functions.
+* fts() extension function: Extension Sample File Functions.
(line 77)
* FUNCTAB array: Auto-set. (line 128)
* function calls: Function Calls. (line 6)
@@ -30942,12 +31338,12 @@ Index
* gawk, features, advanced: Advanced Features. (line 6)
* gawk, field separators and: User-modified. (line 77)
* gawk, FIELDWIDTHS variable in <1>: User-modified. (line 35)
-* gawk, FIELDWIDTHS variable in: Constant Size. (line 22)
+* gawk, FIELDWIDTHS variable in: Constant Size. (line 23)
* gawk, file names in: Special Files. (line 6)
* gawk, format-control characters: Control Letters. (line 18)
* gawk, FPAT variable in <1>: User-modified. (line 45)
* gawk, FPAT variable in: Splitting By Content.
- (line 26)
+ (line 27)
* gawk, FUNCTAB array in: Auto-set. (line 128)
* gawk, function arguments and: Calling Built-in. (line 16)
* gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42)
@@ -30994,7 +31390,7 @@ Index
* gawk, RT variable in: Records. (line 117)
* gawk, See Also awk: Preface. (line 36)
* gawk, source code, obtaining: Getting. (line 6)
-* gawk, splitting fields and: Constant Size. (line 87)
+* gawk, splitting fields and: Constant Size. (line 88)
* gawk, string-translation functions: I18N Functions. (line 6)
* gawk, SYMTAB array in: Auto-set. (line 283)
* gawk, TEXTDOMAIN variable in: User-modified. (line 162)
@@ -31048,7 +31444,7 @@ Index
* gettext library: Explaining gettext. (line 6)
* gettext library, locale categories: Explaining gettext. (line 80)
* gettext() function (C library): Explaining gettext. (line 62)
-* gettimeofday extension function: Extension Sample Time.
+* gettimeofday() extension function: Extension Sample Time.
(line 13)
* GMP: Arbitrary Precision Arithmetic.
(line 6)
@@ -31060,7 +31456,7 @@ Index
* GNU Lesser General Public License: Glossary. (line 405)
* GNU long options <1>: Options. (line 6)
* GNU long options: Command Line. (line 13)
-* GNU long options, printing list of: Options. (line 168)
+* GNU long options, printing list of: Options. (line 154)
* GNU Project <1>: Glossary. (line 323)
* GNU Project: Manual History. (line 11)
* GNU/Linux <1>: Glossary. (line 624)
@@ -31068,7 +31464,7 @@ Index
* GNU/Linux: Manual History. (line 28)
* GPL (General Public License) <1>: Glossary. (line 314)
* GPL (General Public License): Manual History. (line 11)
-* GPL (General Public License), printing: Options. (line 102)
+* GPL (General Public License), printing: Options. (line 88)
* grcat program: Group Functions. (line 16)
* Grigera, Juan: Contributors. (line 57)
* group database, reading: Group Functions. (line 6)
@@ -31083,7 +31479,7 @@ Index
(line 66)
* Hankerson, Darrel <1>: Contributors. (line 60)
* Hankerson, Darrel: Acknowledgments. (line 60)
-* Haque, John: Contributors. (line 103)
+* Haque, John: Contributors. (line 105)
* Hartholz, Elaine: Acknowledgments. (line 38)
* Hartholz, Marshall: Acknowledgments. (line 38)
* Hasegawa, Isamu: Contributors. (line 94)
@@ -31099,7 +31495,7 @@ Index
* hyphen (-), -- operator: Increment Ops. (line 48)
* hyphen (-), -= operator <1>: Precedence. (line 95)
* hyphen (-), -= operator: Assignment Ops. (line 129)
-* hyphen (-), filenames beginning with: Options. (line 73)
+* hyphen (-), filenames beginning with: Options. (line 59)
* hyphen (-), in bracket expressions: Bracket Expressions. (line 17)
* i debugger command (alias for info): Debugger Info. (line 13)
* id utility: Id Program. (line 6)
@@ -31385,6 +31781,7 @@ Index
(line 19)
* next debugger command: Debugger Execution Control.
(line 43)
+* next file statement: Feature History. (line 168)
* next statement <1>: Next Statement. (line 6)
* next statement: Boolean Ops. (line 85)
* next statement, BEGIN/END patterns and: I/O And BEGIN/END. (line 37)
@@ -31491,17 +31888,17 @@ Index
(line 6)
* options, command-line <2>: Options. (line 6)
* options, command-line: Long. (line 12)
-* options, command-line, end of: Options. (line 68)
+* options, command-line, end of: Options. (line 54)
* options, command-line, invoking awk: Command Line. (line 6)
* options, command-line, processing: Getopt Function. (line 6)
* options, deprecated: Obsolete. (line 6)
* options, long <1>: Options. (line 6)
* options, long: Command Line. (line 13)
-* options, printing list of: Options. (line 168)
+* options, printing list of: Options. (line 154)
* OR bitwise operation: Bitwise Functions. (line 6)
* or Boolean-logic operator: Boolean Ops. (line 6)
* or() function (gawk): Bitwise Functions. (line 49)
-* ord extension function: Extension Sample Ord.
+* ord() extension function: Extension Sample Ord.
(line 12)
* ord() user-defined function: Ordinal Functions. (line 16)
* order of evaluation, concatenation: Concatenation. (line 41)
@@ -31593,7 +31990,7 @@ Index
* portable object files: Explaining gettext. (line 36)
* portable object files, converting to message object files: I18N Example.
(line 62)
-* portable object files, generating: Options. (line 161)
+* portable object files, generating: Options. (line 147)
* portable object template files: Explaining gettext. (line 30)
* porting gawk: New Ports. (line 6)
* positional specifiers, printf statement <1>: Printf Ordering.
@@ -31677,7 +32074,7 @@ Index
* printf statement, sprintf() function and: Round Function. (line 6)
* printf statement, syntax of: Basic Printf. (line 6)
* printing: Printing. (line 6)
-* printing, list of options: Options. (line 168)
+* printing, list of options: Options. (line 154)
* printing, mailing labels: Labels Program. (line 6)
* printing, unduplicated lines of text: Uniq Program. (line 6)
* printing, user information: Id Program. (line 6)
@@ -31720,6 +32117,7 @@ Index
* q debugger command (alias for quit): Miscellaneous Debugger Commands.
(line 99)
* QSE Awk: Other Versions. (line 130)
+* Quanstrom, Erik: Alarm Program. (line 8)
* question mark (?) regexp operator <1>: GNU Regexp Operators.
(line 59)
* question mark (?) regexp operator: Regexp Operators. (line 111)
@@ -31749,13 +32147,13 @@ Index
* Rankin, Pat <2>: Contributors. (line 37)
* Rankin, Pat <3>: Assignment Ops. (line 100)
* Rankin, Pat: Acknowledgments. (line 60)
-* reada extension function: Extension Sample Read write array.
+* reada() extension function: Extension Sample Read write array.
(line 15)
* readable data files, checking: File Checking. (line 6)
* readable.awk program: File Checking. (line 11)
* readdir extension: Extension Sample Readdir.
(line 9)
-* readfile extension function: Extension Sample Readfile.
+* readfile() extension function: Extension Sample Readfile.
(line 11)
* readfile() user-defined function: Readfile Function. (line 30)
* recipe for a programming language: History. (line 6)
@@ -31770,14 +32168,14 @@ Index
* records, printing: Print. (line 22)
* records, splitting input into: Records. (line 6)
* records, terminating: Records. (line 117)
-* records, treating files as: Records. (line 200)
+* records, treating files as: Records. (line 204)
* recursive functions: Definition Syntax. (line 73)
* redirection of input: Getline/File. (line 6)
* redirection of output: Redirection. (line 6)
* reference counting, sorting arrays: Array Sorting Functions.
(line 77)
* regexp constants <1>: Comparison Operators.
- (line 103)
+ (line 102)
* regexp constants <2>: Regexp Constants. (line 6)
* regexp constants: Regexp Usage. (line 57)
* regexp constants, /=.../, /= operator and: Assignment Ops. (line 147)
@@ -31847,7 +32245,7 @@ Index
* RLENGTH variable, match() function and: String Functions. (line 220)
* Robbins, Arnold <1>: Future Extensions. (line 6)
* Robbins, Arnold <2>: Bugs. (line 32)
-* Robbins, Arnold <3>: Contributors. (line 130)
+* Robbins, Arnold <3>: Contributors. (line 132)
* Robbins, Arnold <4>: Alarm Program. (line 6)
* Robbins, Arnold <5>: Passwd Functions. (line 90)
* Robbins, Arnold <6>: Getline/Pipe. (line 39)
@@ -31887,7 +32285,7 @@ Index
(line 68)
* sandbox mode: Options. (line 279)
* scalar values: Basic Data Typing. (line 13)
-* Schorr, Andrew <1>: Contributors. (line 126)
+* Schorr, Andrew <1>: Contributors. (line 128)
* Schorr, Andrew: Acknowledgments. (line 60)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
@@ -31999,9 +32397,9 @@ Index
* single-character fields: Single Character Fields.
(line 6)
* Skywalker, Luke: Undocumented. (line 6)
-* sleep extension function: Extension Sample Time.
+* sleep utility: Alarm Program. (line 111)
+* sleep() extension function: Extension Sample Time.
(line 23)
-* sleep utility: Alarm Program. (line 109)
* Solaris, POSIX-compliant awk: Other Versions. (line 96)
* sort function, arrays, sorting: Array Sorting Functions.
(line 6)
@@ -32017,7 +32415,7 @@ Index
* source code, jawk: Other Versions. (line 112)
* source code, libmawk: Other Versions. (line 120)
* source code, mawk: Other Versions. (line 44)
-* source code, mixing: Options. (line 131)
+* source code, mixing: Options. (line 117)
* source code, pawk: Other Versions. (line 78)
* source code, QSE Awk: Other Versions. (line 130)
* source code, QuikTrim Awk: Other Versions. (line 134)
@@ -32045,7 +32443,7 @@ Index
* standard input <1>: Special FD. (line 6)
* standard input: Read Terminal. (line 6)
* standard output: Special FD. (line 6)
-* stat extension function: Extension Sample File Functions.
+* stat() extension function: Extension Sample File Functions.
(line 18)
* statements, compound, control statements and: Statements. (line 10)
* statements, control, in actions: Statements. (line 6)
@@ -32119,7 +32517,6 @@ Index
* Texinfo <3>: Extract Program. (line 12)
* Texinfo <4>: Dupword Program. (line 17)
* Texinfo <5>: Library Functions. (line 33)
-* Texinfo <6>: Sample Data Files. (line 66)
* Texinfo: Conventions. (line 6)
* Texinfo, chapter beginnings in files: Regexp Operators. (line 22)
* Texinfo, extracting programs from source files: Extract Program.
@@ -32139,7 +32536,7 @@ Index
* tilde (~), ~ operator <5>: Computed Regexps. (line 6)
* tilde (~), ~ operator <6>: Case-sensitivity. (line 26)
* tilde (~), ~ operator: Regexp Usage. (line 19)
-* time, alarm clock example program: Alarm Program. (line 9)
+* time, alarm clock example program: Alarm Program. (line 11)
* time, localization and: Explaining gettext. (line 115)
* time, managing: Getlocaltime Function.
(line 6)
@@ -32163,7 +32560,7 @@ Index
(line 112)
* troubleshooting, division: Arithmetic Ops. (line 44)
* troubleshooting, fatal errors, field widths, specifying: Constant Size.
- (line 22)
+ (line 23)
* troubleshooting, fatal errors, printf format strings: Format Modifiers.
(line 159)
* troubleshooting, fflush() function: I/O Functions. (line 60)
@@ -32187,7 +32584,7 @@ Index
* troubleshooting, substr() function: String Functions. (line 496)
* troubleshooting, system() function: I/O Functions. (line 94)
* troubleshooting, typographical errors, global variables: Options.
- (line 112)
+ (line 98)
* true, logical: Truth Values. (line 6)
* Trueman, David <1>: Contributors. (line 30)
* Trueman, David <2>: Acknowledgments. (line 47)
@@ -32243,7 +32640,7 @@ Index
* variables, assigning on command line: Assignment Options. (line 6)
* variables, built-in <1>: Built-in Variables. (line 6)
* variables, built-in: Using Variables. (line 20)
-* variables, built-in, -v option, setting with: Options. (line 54)
+* variables, built-in, -v option, setting with: Options. (line 40)
* variables, built-in, conveying information: Auto-set. (line 6)
* variables, flag: Boolean Ops. (line 67)
* variables, getline command into, using <1>: Getline/Variable/Coprocess.
@@ -32254,12 +32651,12 @@ Index
(line 6)
* variables, getline command into, using: Getline/Variable. (line 6)
* variables, global, for library functions: Library Names. (line 11)
-* variables, global, printing list of: Options. (line 107)
+* variables, global, printing list of: Options. (line 93)
* variables, initializing: Using Variables. (line 20)
* variables, local: Variable Scope. (line 6)
* variables, names of: Arrays. (line 18)
* variables, private: Library Names. (line 11)
-* variables, setting: Options. (line 46)
+* variables, setting: Options. (line 32)
* variables, shadowing: Definition Syntax. (line 61)
* variables, types of: Assignment Ops. (line 40)
* variables, types of, comparison expressions and: Typing and Comparison.
@@ -32278,15 +32675,15 @@ Index
* Vinschen, Corinna: Acknowledgments. (line 60)
* w debugger command (alias for watch): Viewing And Changing Data.
(line 67)
-* w utility: Constant Size. (line 22)
-* wait extension function: Extension Sample Fork.
+* w utility: Constant Size. (line 23)
+* wait() extension function: Extension Sample Fork.
(line 22)
-* waitpid extension function: Extension Sample Fork.
+* waitpid() extension function: Extension Sample Fork.
(line 18)
* walk_array() user-defined function: Walking Arrays. (line 14)
* Wall, Larry <1>: Future Extensions. (line 6)
* Wall, Larry: Array Intro. (line 6)
-* Wallin, Anders: Acknowledgments. (line 60)
+* Wallin, Anders: Contributors. (line 103)
* warnings, issuing: Options. (line 182)
* watch debugger command: Viewing And Changing Data.
(line 67)
@@ -32313,12 +32710,12 @@ Index
* words, counting: Wc Program. (line 6)
* words, duplicate, searching for: Dupword Program. (line 6)
* words, usage counts, generating: Word Sorting. (line 6)
-* writea extension function: Extension Sample Read write array.
+* writea() extension function: Extension Sample Read write array.
(line 9)
* xgettext utility: String Extraction. (line 13)
* XOR bitwise operation: Bitwise Functions. (line 6)
* xor() function (gawk): Bitwise Functions. (line 55)
-* Yawitz, Efraim: Contributors. (line 124)
+* Yawitz, Efraim: Contributors. (line 126)
* Zaretskii, Eli <1>: Bugs. (line 70)
* Zaretskii, Eli <2>: Contributors. (line 55)
* Zaretskii, Eli: Acknowledgments. (line 60)
@@ -32353,524 +32750,525 @@ Index

Tag Table:
Node: Top1366
-Node: Foreword40737
-Node: Preface45082
-Ref: Preface-Footnote-148135
-Ref: Preface-Footnote-248231
-Node: History48463
-Node: Names50837
-Ref: Names-Footnote-152314
-Node: This Manual52386
-Ref: This Manual-Footnote-158160
-Node: Conventions58260
-Node: Manual History60416
-Ref: Manual History-Footnote-163864
-Ref: Manual History-Footnote-263905
-Node: How To Contribute63979
-Node: Acknowledgments65123
-Node: Getting Started69332
-Node: Running gawk71711
-Node: One-shot72897
-Node: Read Terminal74122
-Ref: Read Terminal-Footnote-175772
-Ref: Read Terminal-Footnote-276048
-Node: Long76219
-Node: Executable Scripts77595
-Ref: Executable Scripts-Footnote-179428
-Ref: Executable Scripts-Footnote-279530
-Node: Comments80077
-Node: Quoting82544
-Node: DOS Quoting87167
-Node: Sample Data Files87842
-Node: Very Simple90886
-Node: Two Rules95485
-Node: More Complex97632
-Ref: More Complex-Footnote-1100562
-Node: Statements/Lines100647
-Ref: Statements/Lines-Footnote-1105109
-Node: Other Features105374
-Node: When106302
-Node: Invoking Gawk108449
-Node: Command Line109910
-Node: Options110693
-Ref: Options-Footnote-1126085
-Node: Other Arguments126110
-Node: Naming Standard Input128768
-Node: Environment Variables129862
-Node: AWKPATH Variable130420
-Ref: AWKPATH Variable-Footnote-1133178
-Node: AWKLIBPATH Variable133438
-Node: Other Environment Variables134156
-Node: Exit Status137119
-Node: Include Files137794
-Node: Loading Shared Libraries141363
-Node: Obsolete142727
-Node: Undocumented143424
-Node: Regexp143666
-Node: Regexp Usage145055
-Node: Escape Sequences147081
-Node: Regexp Operators152750
-Ref: Regexp Operators-Footnote-1160130
-Ref: Regexp Operators-Footnote-2160277
-Node: Bracket Expressions160375
-Ref: table-char-classes162265
-Node: GNU Regexp Operators164788
-Node: Case-sensitivity168511
-Ref: Case-sensitivity-Footnote-1171479
-Ref: Case-sensitivity-Footnote-2171714
-Node: Leftmost Longest171822
-Node: Computed Regexps173023
-Node: Reading Files176360
-Node: Records178362
-Ref: Records-Footnote-1187251
-Node: Fields187288
-Ref: Fields-Footnote-1190321
-Node: Nonconstant Fields190407
-Node: Changing Fields192609
-Node: Field Separators198568
-Node: Default Field Splitting201270
-Node: Regexp Field Splitting202387
-Node: Single Character Fields205729
-Node: Command Line Field Separator206788
-Node: Full Line Fields210222
-Ref: Full Line Fields-Footnote-1210730
-Node: Field Splitting Summary210776
-Ref: Field Splitting Summary-Footnote-1213875
-Node: Constant Size213976
-Node: Splitting By Content218560
-Ref: Splitting By Content-Footnote-1222286
-Node: Multiple Line222326
-Ref: Multiple Line-Footnote-1228173
-Node: Getline228352
-Node: Plain Getline230568
-Node: Getline/Variable232663
-Node: Getline/File233810
-Node: Getline/Variable/File235151
-Ref: Getline/Variable/File-Footnote-1236750
-Node: Getline/Pipe236837
-Node: Getline/Variable/Pipe239536
-Node: Getline/Coprocess240643
-Node: Getline/Variable/Coprocess241895
-Node: Getline Notes242632
-Node: Getline Summary245419
-Ref: table-getline-variants245827
-Node: Read Timeout246739
-Ref: Read Timeout-Footnote-1250480
-Node: Command line directories250537
-Node: Printing251167
-Node: Print252798
-Node: Print Examples254135
-Node: Output Separators256919
-Node: OFMT258679
-Node: Printf260037
-Node: Basic Printf260943
-Node: Control Letters262482
-Node: Format Modifiers266294
-Node: Printf Examples272303
-Node: Redirection275018
-Node: Special Files281983
-Node: Special FD282516
-Ref: Special FD-Footnote-1286141
-Node: Special Network286215
-Node: Special Caveats287065
-Node: Close Files And Pipes287861
-Ref: Close Files And Pipes-Footnote-1294844
-Ref: Close Files And Pipes-Footnote-2294992
-Node: Expressions295142
-Node: Values296274
-Node: Constants296950
-Node: Scalar Constants297630
-Ref: Scalar Constants-Footnote-1298489
-Node: Nondecimal-numbers298671
-Node: Regexp Constants301671
-Node: Using Constant Regexps302146
-Node: Variables305201
-Node: Using Variables305856
-Node: Assignment Options307580
-Node: Conversion309452
-Ref: table-locale-affects314953
-Ref: Conversion-Footnote-1315577
-Node: All Operators315686
-Node: Arithmetic Ops316316
-Node: Concatenation318821
-Ref: Concatenation-Footnote-1321613
-Node: Assignment Ops321733
-Ref: table-assign-ops326721
-Node: Increment Ops328052
-Node: Truth Values and Conditions331486
-Node: Truth Values332569
-Node: Typing and Comparison333618
-Node: Variable Typing334411
-Ref: Variable Typing-Footnote-1338308
-Node: Comparison Operators338430
-Ref: table-relational-ops338840
-Node: POSIX String Comparison342389
-Ref: POSIX String Comparison-Footnote-1343345
-Node: Boolean Ops343483
-Ref: Boolean Ops-Footnote-1347561
-Node: Conditional Exp347652
-Node: Function Calls349384
-Node: Precedence352978
-Node: Locales356647
-Node: Patterns and Actions357736
-Node: Pattern Overview358790
-Node: Regexp Patterns360459
-Node: Expression Patterns361002
-Node: Ranges364687
-Node: BEGIN/END367653
-Node: Using BEGIN/END368415
-Ref: Using BEGIN/END-Footnote-1371146
-Node: I/O And BEGIN/END371252
-Node: BEGINFILE/ENDFILE373534
-Node: Empty376448
-Node: Using Shell Variables376764
-Node: Action Overview379049
-Node: Statements381406
-Node: If Statement383260
-Node: While Statement384759
-Node: Do Statement386803
-Node: For Statement387959
-Node: Switch Statement391111
-Node: Break Statement393208
-Node: Continue Statement395198
-Node: Next Statement396991
-Node: Nextfile Statement399381
-Node: Exit Statement402024
-Node: Built-in Variables404440
-Node: User-modified405535
-Ref: User-modified-Footnote-1413893
-Node: Auto-set413955
-Ref: Auto-set-Footnote-1427425
-Ref: Auto-set-Footnote-2427630
-Node: ARGC and ARGV427686
-Node: Arrays431537
-Node: Array Basics433042
-Node: Array Intro433868
-Node: Reference to Elements438185
-Node: Assigning Elements440455
-Node: Array Example440946
-Node: Scanning an Array442678
-Node: Controlling Scanning444992
-Ref: Controlling Scanning-Footnote-1450079
-Node: Delete450395
-Ref: Delete-Footnote-1453160
-Node: Numeric Array Subscripts453217
-Node: Uninitialized Subscripts455400
-Node: Multidimensional457027
-Node: Multiscanning460120
-Node: Arrays of Arrays461709
-Node: Functions466349
-Node: Built-in467168
-Node: Calling Built-in468246
-Node: Numeric Functions470234
-Ref: Numeric Functions-Footnote-1474066
-Ref: Numeric Functions-Footnote-2474423
-Ref: Numeric Functions-Footnote-3474471
-Node: String Functions474740
-Ref: String Functions-Footnote-1497660
-Ref: String Functions-Footnote-2497789
-Ref: String Functions-Footnote-3498037
-Node: Gory Details498124
-Ref: table-sub-escapes499803
-Ref: table-sub-posix-92501157
-Ref: table-sub-proposed502508
-Ref: table-posix-sub503862
-Ref: table-gensub-escapes505407
-Ref: Gory Details-Footnote-1506583
-Ref: Gory Details-Footnote-2506634
-Node: I/O Functions506785
-Ref: I/O Functions-Footnote-1513770
-Node: Time Functions513917
-Ref: Time Functions-Footnote-1524850
-Ref: Time Functions-Footnote-2524918
-Ref: Time Functions-Footnote-3525076
-Ref: Time Functions-Footnote-4525187
-Ref: Time Functions-Footnote-5525299
-Ref: Time Functions-Footnote-6525526
-Node: Bitwise Functions525792
-Ref: table-bitwise-ops526354
-Ref: Bitwise Functions-Footnote-1530575
-Node: Type Functions530759
-Node: I18N Functions531910
-Node: User-defined533537
-Node: Definition Syntax534341
-Ref: Definition Syntax-Footnote-1539251
-Node: Function Example539320
-Node: Function Caveats541914
-Node: Calling A Function542335
-Node: Variable Scope543450
-Node: Pass By Value/Reference546413
-Node: Return Statement549921
-Node: Dynamic Typing552902
-Node: Indirect Calls553833
-Node: Library Functions563518
-Ref: Library Functions-Footnote-1567031
-Ref: Library Functions-Footnote-2567174
-Node: Library Names567345
-Ref: Library Names-Footnote-1570816
-Ref: Library Names-Footnote-2571036
-Node: General Functions571122
-Node: Strtonum Function572150
-Node: Assert Function575080
-Node: Round Function578406
-Node: Cliff Random Function579949
-Node: Ordinal Functions580965
-Ref: Ordinal Functions-Footnote-1584035
-Ref: Ordinal Functions-Footnote-2584287
-Node: Join Function584496
-Ref: Join Function-Footnote-1586267
-Node: Getlocaltime Function586467
-Node: Readfile Function590208
-Node: Data File Management592047
-Node: Filetrans Function592679
-Node: Rewind Function596748
-Node: File Checking598135
-Node: Empty Files599229
-Node: Ignoring Assigns601459
-Node: Getopt Function603012
-Ref: Getopt Function-Footnote-1614315
-Node: Passwd Functions614518
-Ref: Passwd Functions-Footnote-1623493
-Node: Group Functions623581
-Node: Walking Arrays631665
-Node: Sample Programs633802
-Node: Running Examples634476
-Node: Clones635204
-Node: Cut Program636428
-Node: Egrep Program646273
-Ref: Egrep Program-Footnote-1654046
-Node: Id Program654156
-Node: Split Program657772
-Ref: Split Program-Footnote-1661291
-Node: Tee Program661419
-Node: Uniq Program664222
-Node: Wc Program671651
-Ref: Wc Program-Footnote-1675917
-Ref: Wc Program-Footnote-2676117
-Node: Miscellaneous Programs676209
-Node: Dupword Program677397
-Node: Alarm Program679428
-Node: Translate Program684181
-Ref: Translate Program-Footnote-1688568
-Ref: Translate Program-Footnote-2688816
-Node: Labels Program688950
-Ref: Labels Program-Footnote-1692321
-Node: Word Sorting692405
-Node: History Sorting696289
-Node: Extract Program698128
-Ref: Extract Program-Footnote-1705631
-Node: Simple Sed705759
-Node: Igawk Program708821
-Ref: Igawk Program-Footnote-1723978
-Ref: Igawk Program-Footnote-2724179
-Node: Anagram Program724317
-Node: Signature Program727385
-Node: Advanced Features728485
-Node: Nondecimal Data730371
-Node: Array Sorting731954
-Node: Controlling Array Traversal732651
-Node: Array Sorting Functions740935
-Ref: Array Sorting Functions-Footnote-1744804
-Node: Two-way I/O744998
-Ref: Two-way I/O-Footnote-1750430
-Node: TCP/IP Networking750500
-Node: Profiling753344
-Node: Internationalization760841
-Node: I18N and L10N762266
-Node: Explaining gettext762952
-Ref: Explaining gettext-Footnote-1768020
-Ref: Explaining gettext-Footnote-2768204
-Node: Programmer i18n768369
-Node: Translator i18n772571
-Node: String Extraction773364
-Ref: String Extraction-Footnote-1774325
-Node: Printf Ordering774411
-Ref: Printf Ordering-Footnote-1777195
-Node: I18N Portability777259
-Ref: I18N Portability-Footnote-1779708
-Node: I18N Example779771
-Ref: I18N Example-Footnote-1782409
-Node: Gawk I18N782481
-Node: Debugger783102
-Node: Debugging784073
-Node: Debugging Concepts784506
-Node: Debugging Terms786362
-Node: Awk Debugging788959
-Node: Sample Debugging Session789851
-Node: Debugger Invocation790371
-Node: Finding The Bug791703
-Node: List of Debugger Commands798191
-Node: Breakpoint Control799525
-Node: Debugger Execution Control803189
-Node: Viewing And Changing Data806549
-Node: Execution Stack809905
-Node: Debugger Info811372
-Node: Miscellaneous Debugger Commands815354
-Node: Readline Support820530
-Node: Limitations821361
-Node: Arbitrary Precision Arithmetic823613
-Ref: Arbitrary Precision Arithmetic-Footnote-1825262
-Node: General Arithmetic825410
-Node: Floating Point Issues827130
-Node: String Conversion Precision828011
-Ref: String Conversion Precision-Footnote-1829716
-Node: Unexpected Results829825
-Node: POSIX Floating Point Problems831978
-Ref: POSIX Floating Point Problems-Footnote-1835803
-Node: Integer Programming835841
-Node: Floating-point Programming837580
-Ref: Floating-point Programming-Footnote-1843911
-Ref: Floating-point Programming-Footnote-2844181
-Node: Floating-point Representation844445
-Node: Floating-point Context845610
-Ref: table-ieee-formats846449
-Node: Rounding Mode847833
-Ref: table-rounding-modes848312
-Ref: Rounding Mode-Footnote-1851327
-Node: Gawk and MPFR851506
-Node: Arbitrary Precision Floats852761
-Ref: Arbitrary Precision Floats-Footnote-1855204
-Node: Setting Precision855520
-Ref: table-predefined-precision-strings856206
-Node: Setting Rounding Mode858351
-Ref: table-gawk-rounding-modes858755
-Node: Floating-point Constants859942
-Node: Changing Precision861371
-Ref: Changing Precision-Footnote-1862768
-Node: Exact Arithmetic862942
-Node: Arbitrary Precision Integers866080
-Ref: Arbitrary Precision Integers-Footnote-1869098
-Node: Dynamic Extensions869245
-Node: Extension Intro870703
-Node: Plugin License871968
-Node: Extension Mechanism Outline872653
-Ref: load-extension873070
-Ref: load-new-function874548
-Ref: call-new-function875543
-Node: Extension API Description877558
-Node: Extension API Functions Introduction878771
-Node: General Data Types883637
-Ref: General Data Types-Footnote-1889242
-Node: Requesting Values889541
-Ref: table-value-types-returned890272
-Node: Constructor Functions891226
-Node: Registration Functions894246
-Node: Extension Functions894931
-Node: Exit Callback Functions897156
-Node: Extension Version String898405
-Node: Input Parsers899055
-Node: Output Wrappers908812
-Node: Two-way processors913322
-Node: Printing Messages915530
-Ref: Printing Messages-Footnote-1916607
-Node: Updating `ERRNO'916759
-Node: Accessing Parameters917498
-Node: Symbol Table Access918728
-Node: Symbol table by name919240
-Node: Symbol table by cookie920987
-Ref: Symbol table by cookie-Footnote-1925117
-Node: Cached values925180
-Ref: Cached values-Footnote-1928629
-Node: Array Manipulation928720
-Ref: Array Manipulation-Footnote-1929818
-Node: Array Data Types929857
-Ref: Array Data Types-Footnote-1932560
-Node: Array Functions932652
-Node: Flattening Arrays936418
-Node: Creating Arrays943270
-Node: Extension API Variables947995
-Node: Extension Versioning948631
-Node: Extension API Informational Variables950532
-Node: Extension API Boilerplate951618
-Node: Finding Extensions955422
-Node: Extension Example955982
-Node: Internal File Description956712
-Node: Internal File Ops960803
-Ref: Internal File Ops-Footnote-1972311
-Node: Using Internal File Ops972451
-Ref: Using Internal File Ops-Footnote-1974804
-Node: Extension Samples975070
-Node: Extension Sample File Functions976594
-Node: Extension Sample Fnmatch985079
-Node: Extension Sample Fork986805
-Node: Extension Sample Inplace988023
-Node: Extension Sample Ord989801
-Node: Extension Sample Readdir990637
-Node: Extension Sample Revout992169
-Node: Extension Sample Rev2way992762
-Node: Extension Sample Read write array993452
-Node: Extension Sample Readfile995335
-Node: Extension Sample API Tests996153
-Node: Extension Sample Time996678
-Node: gawkextlib998042
-Node: Language History1000823
-Node: V7/SVR3.11002345
-Node: SVR41004665
-Node: POSIX1006107
-Node: BTL1007493
-Node: POSIX/GNU1008227
-Node: Common Extensions1013828
-Node: Ranges and Locales1015134
-Ref: Ranges and Locales-Footnote-11019752
-Ref: Ranges and Locales-Footnote-21019779
-Ref: Ranges and Locales-Footnote-31020039
-Node: Contributors1020260
-Node: Installation1025335
-Node: Gawk Distribution1026229
-Node: Getting1026713
-Node: Extracting1027539
-Node: Distribution contents1029231
-Node: Unix Installation1034936
-Node: Quick Installation1035553
-Node: Additional Configuration Options1037997
-Node: Configuration Philosophy1039733
-Node: Non-Unix Installation1042087
-Node: PC Installation1042545
-Node: PC Binary Installation1043844
-Node: PC Compiling1045692
-Node: PC Testing1048636
-Node: PC Using1049812
-Node: Cygwin1053997
-Node: MSYS1054997
-Node: VMS Installation1055511
-Node: VMS Compilation1056275
-Ref: VMS Compilation-Footnote-11057890
-Node: VMS Dynamic Extensions1057948
-Node: VMS Installation Details1059321
-Node: VMS Running1061155
-Node: VMS GNV1063989
-Node: VMS Old Gawk1064698
-Node: Bugs1065168
-Node: Other Versions1069088
-Node: Notes1075172
-Node: Compatibility Mode1075972
-Node: Additions1076755
-Node: Accessing The Source1077682
-Node: Adding Code1079122
-Node: New Ports1085167
-Node: Derived Files1089302
-Ref: Derived Files-Footnote-11094623
-Ref: Derived Files-Footnote-21094657
-Ref: Derived Files-Footnote-31095257
-Node: Future Extensions1095355
-Node: Implementation Limitations1095938
-Node: Extension Design1097190
-Node: Old Extension Problems1098344
-Ref: Old Extension Problems-Footnote-11099852
-Node: Extension New Mechanism Goals1099909
-Ref: Extension New Mechanism Goals-Footnote-11103274
-Node: Extension Other Design Decisions1103460
-Node: Extension Future Growth1105566
-Node: Old Extension Mechanism1106402
-Node: Basic Concepts1108142
-Node: Basic High Level1108823
-Ref: figure-general-flow1109094
-Ref: figure-process-flow1109693
-Ref: Basic High Level-Footnote-11112922
-Node: Basic Data Typing1113107
-Node: Glossary1116462
-Node: Copying1141924
-Node: GNU Free Documentation License1179481
-Node: Index1204618
+Node: Foreword40856
+Node: Preface45201
+Ref: Preface-Footnote-148254
+Ref: Preface-Footnote-248350
+Node: History48582
+Node: Names50956
+Ref: Names-Footnote-152433
+Node: This Manual52505
+Ref: This Manual-Footnote-158279
+Node: Conventions58379
+Node: Manual History60535
+Ref: Manual History-Footnote-163983
+Ref: Manual History-Footnote-264024
+Node: How To Contribute64098
+Node: Acknowledgments65242
+Node: Getting Started69436
+Node: Running gawk71815
+Node: One-shot73001
+Node: Read Terminal74226
+Ref: Read Terminal-Footnote-175876
+Ref: Read Terminal-Footnote-276152
+Node: Long76323
+Node: Executable Scripts77699
+Ref: Executable Scripts-Footnote-179532
+Ref: Executable Scripts-Footnote-279634
+Node: Comments80181
+Node: Quoting82648
+Node: DOS Quoting87271
+Node: Sample Data Files87946
+Node: Very Simple90332
+Node: Two Rules94931
+Node: More Complex97078
+Ref: More Complex-Footnote-1100008
+Node: Statements/Lines100093
+Ref: Statements/Lines-Footnote-1104555
+Node: Other Features104820
+Node: When105748
+Node: Invoking Gawk107895
+Node: Command Line109358
+Node: Options110141
+Ref: Options-Footnote-1125536
+Node: Other Arguments125561
+Node: Naming Standard Input128219
+Node: Environment Variables129313
+Node: AWKPATH Variable129871
+Ref: AWKPATH Variable-Footnote-1132629
+Node: AWKLIBPATH Variable132889
+Node: Other Environment Variables133607
+Node: Exit Status136570
+Node: Include Files137245
+Node: Loading Shared Libraries140814
+Node: Obsolete142178
+Node: Undocumented142875
+Node: Regexp143117
+Node: Regexp Usage144506
+Node: Escape Sequences146532
+Node: Regexp Operators152201
+Ref: Regexp Operators-Footnote-1159581
+Ref: Regexp Operators-Footnote-2159728
+Node: Bracket Expressions159826
+Ref: table-char-classes161716
+Node: GNU Regexp Operators164239
+Node: Case-sensitivity167962
+Ref: Case-sensitivity-Footnote-1170930
+Ref: Case-sensitivity-Footnote-2171165
+Node: Leftmost Longest171273
+Node: Computed Regexps172474
+Node: Reading Files175811
+Node: Records177813
+Ref: Records-Footnote-1186901
+Node: Fields186938
+Ref: Fields-Footnote-1189971
+Node: Nonconstant Fields190057
+Node: Changing Fields192259
+Node: Field Separators198218
+Node: Default Field Splitting200920
+Node: Regexp Field Splitting202037
+Node: Single Character Fields205379
+Node: Command Line Field Separator206438
+Node: Full Line Fields209872
+Ref: Full Line Fields-Footnote-1210380
+Node: Field Splitting Summary210426
+Ref: Field Splitting Summary-Footnote-1213525
+Node: Constant Size213626
+Node: Splitting By Content218233
+Ref: Splitting By Content-Footnote-1221982
+Node: Multiple Line222022
+Ref: Multiple Line-Footnote-1227869
+Node: Getline228048
+Node: Plain Getline230264
+Node: Getline/Variable232359
+Node: Getline/File233506
+Node: Getline/Variable/File234847
+Ref: Getline/Variable/File-Footnote-1236446
+Node: Getline/Pipe236533
+Node: Getline/Variable/Pipe239232
+Node: Getline/Coprocess240339
+Node: Getline/Variable/Coprocess241591
+Node: Getline Notes242328
+Node: Getline Summary245115
+Ref: table-getline-variants245523
+Node: Read Timeout246435
+Ref: Read Timeout-Footnote-1250176
+Node: Command line directories250233
+Node: Printing250863
+Node: Print252494
+Node: Print Examples253831
+Node: Output Separators256615
+Node: OFMT258375
+Node: Printf259733
+Node: Basic Printf260639
+Node: Control Letters262178
+Node: Format Modifiers265990
+Node: Printf Examples271999
+Node: Redirection274714
+Node: Special Files281679
+Node: Special FD282212
+Ref: Special FD-Footnote-1285837
+Node: Special Network285911
+Node: Special Caveats286761
+Node: Close Files And Pipes287557
+Ref: Close Files And Pipes-Footnote-1294540
+Ref: Close Files And Pipes-Footnote-2294688
+Node: Expressions294838
+Node: Values295970
+Node: Constants296646
+Node: Scalar Constants297326
+Ref: Scalar Constants-Footnote-1298185
+Node: Nondecimal-numbers298367
+Node: Regexp Constants301367
+Node: Using Constant Regexps301842
+Node: Variables304897
+Node: Using Variables305552
+Node: Assignment Options307276
+Node: Conversion309148
+Ref: table-locale-affects314648
+Ref: Conversion-Footnote-1315272
+Node: All Operators315381
+Node: Arithmetic Ops316011
+Node: Concatenation318516
+Ref: Concatenation-Footnote-1321308
+Node: Assignment Ops321428
+Ref: table-assign-ops326416
+Node: Increment Ops327747
+Node: Truth Values and Conditions331181
+Node: Truth Values332264
+Node: Typing and Comparison333313
+Node: Variable Typing334106
+Ref: Variable Typing-Footnote-1338003
+Node: Comparison Operators338125
+Ref: table-relational-ops338535
+Node: POSIX String Comparison342083
+Ref: POSIX String Comparison-Footnote-1343039
+Node: Boolean Ops343177
+Ref: Boolean Ops-Footnote-1347255
+Node: Conditional Exp347346
+Node: Function Calls349078
+Node: Precedence352672
+Node: Locales356341
+Node: Patterns and Actions357430
+Node: Pattern Overview358484
+Node: Regexp Patterns360153
+Node: Expression Patterns360696
+Node: Ranges364381
+Node: BEGIN/END367347
+Node: Using BEGIN/END368109
+Ref: Using BEGIN/END-Footnote-1370840
+Node: I/O And BEGIN/END370946
+Node: BEGINFILE/ENDFILE373228
+Node: Empty376142
+Node: Using Shell Variables376458
+Node: Action Overview378743
+Node: Statements381100
+Node: If Statement382954
+Node: While Statement384453
+Node: Do Statement386497
+Node: For Statement387653
+Node: Switch Statement390805
+Node: Break Statement392902
+Node: Continue Statement394892
+Node: Next Statement396685
+Node: Nextfile Statement399075
+Node: Exit Statement401718
+Node: Built-in Variables404134
+Node: User-modified405229
+Ref: User-modified-Footnote-1413587
+Node: Auto-set413649
+Ref: Auto-set-Footnote-1427119
+Ref: Auto-set-Footnote-2427324
+Node: ARGC and ARGV427380
+Node: Arrays431231
+Node: Array Basics432736
+Node: Array Intro433562
+Node: Reference to Elements437879
+Node: Assigning Elements440149
+Node: Array Example440640
+Node: Scanning an Array442372
+Node: Controlling Scanning444686
+Ref: Controlling Scanning-Footnote-1449773
+Node: Delete450089
+Ref: Delete-Footnote-1452854
+Node: Numeric Array Subscripts452911
+Node: Uninitialized Subscripts455094
+Node: Multidimensional456721
+Node: Multiscanning459814
+Node: Arrays of Arrays461403
+Node: Functions466043
+Node: Built-in466862
+Node: Calling Built-in467940
+Node: Numeric Functions469928
+Ref: Numeric Functions-Footnote-1473760
+Ref: Numeric Functions-Footnote-2474117
+Ref: Numeric Functions-Footnote-3474165
+Node: String Functions474434
+Ref: String Functions-Footnote-1497354
+Ref: String Functions-Footnote-2497483
+Ref: String Functions-Footnote-3497731
+Node: Gory Details497818
+Ref: table-sub-escapes499497
+Ref: table-sub-posix-92500851
+Ref: table-sub-proposed502202
+Ref: table-posix-sub503556
+Ref: table-gensub-escapes505101
+Ref: Gory Details-Footnote-1506277
+Ref: Gory Details-Footnote-2506328
+Node: I/O Functions506479
+Ref: I/O Functions-Footnote-1513464
+Node: Time Functions513611
+Ref: Time Functions-Footnote-1524544
+Ref: Time Functions-Footnote-2524612
+Ref: Time Functions-Footnote-3524770
+Ref: Time Functions-Footnote-4524881
+Ref: Time Functions-Footnote-5524993
+Ref: Time Functions-Footnote-6525220
+Node: Bitwise Functions525486
+Ref: table-bitwise-ops526048
+Ref: Bitwise Functions-Footnote-1530269
+Node: Type Functions530453
+Node: I18N Functions531604
+Node: User-defined533231
+Node: Definition Syntax534035
+Ref: Definition Syntax-Footnote-1538945
+Node: Function Example539014
+Node: Function Caveats541608
+Node: Calling A Function542029
+Node: Variable Scope543144
+Node: Pass By Value/Reference546107
+Node: Return Statement549615
+Node: Dynamic Typing552596
+Node: Indirect Calls553527
+Node: Library Functions563212
+Ref: Library Functions-Footnote-1566725
+Ref: Library Functions-Footnote-2566868
+Node: Library Names567039
+Ref: Library Names-Footnote-1570510
+Ref: Library Names-Footnote-2570730
+Node: General Functions570816
+Node: Strtonum Function571844
+Node: Assert Function574774
+Node: Round Function578100
+Node: Cliff Random Function579643
+Node: Ordinal Functions580659
+Ref: Ordinal Functions-Footnote-1583731
+Ref: Ordinal Functions-Footnote-2583983
+Node: Join Function584192
+Ref: Join Function-Footnote-1585963
+Node: Getlocaltime Function586163
+Node: Readfile Function589904
+Node: Data File Management591743
+Node: Filetrans Function592375
+Node: Rewind Function596444
+Node: File Checking597831
+Node: Empty Files598925
+Node: Ignoring Assigns601155
+Node: Getopt Function602708
+Ref: Getopt Function-Footnote-1614011
+Node: Passwd Functions614214
+Ref: Passwd Functions-Footnote-1623189
+Node: Group Functions623277
+Node: Walking Arrays631361
+Node: Sample Programs633498
+Node: Running Examples634172
+Node: Clones634900
+Node: Cut Program636124
+Node: Egrep Program645969
+Ref: Egrep Program-Footnote-1653742
+Node: Id Program653852
+Node: Split Program657468
+Ref: Split Program-Footnote-1660987
+Node: Tee Program661115
+Node: Uniq Program663918
+Node: Wc Program671347
+Ref: Wc Program-Footnote-1675613
+Ref: Wc Program-Footnote-2675813
+Node: Miscellaneous Programs675905
+Node: Dupword Program677093
+Node: Alarm Program679124
+Node: Translate Program683931
+Ref: Translate Program-Footnote-1688318
+Ref: Translate Program-Footnote-2688566
+Node: Labels Program688700
+Ref: Labels Program-Footnote-1692071
+Node: Word Sorting692155
+Node: History Sorting696039
+Node: Extract Program697878
+Ref: Extract Program-Footnote-1705381
+Node: Simple Sed705509
+Node: Igawk Program708571
+Ref: Igawk Program-Footnote-1723728
+Ref: Igawk Program-Footnote-2723929
+Node: Anagram Program724067
+Node: Signature Program727135
+Node: Advanced Features728235
+Node: Nondecimal Data730121
+Node: Array Sorting731704
+Node: Controlling Array Traversal732401
+Node: Array Sorting Functions740685
+Ref: Array Sorting Functions-Footnote-1744554
+Node: Two-way I/O744748
+Ref: Two-way I/O-Footnote-1750180
+Node: TCP/IP Networking750250
+Node: Profiling753094
+Node: Internationalization760591
+Node: I18N and L10N762016
+Node: Explaining gettext762702
+Ref: Explaining gettext-Footnote-1767770
+Ref: Explaining gettext-Footnote-2767954
+Node: Programmer i18n768119
+Node: Translator i18n772321
+Node: String Extraction773114
+Ref: String Extraction-Footnote-1774075
+Node: Printf Ordering774161
+Ref: Printf Ordering-Footnote-1776945
+Node: I18N Portability777009
+Ref: I18N Portability-Footnote-1779458
+Node: I18N Example779521
+Ref: I18N Example-Footnote-1782159
+Node: Gawk I18N782231
+Node: Debugger782852
+Node: Debugging783823
+Node: Debugging Concepts784256
+Node: Debugging Terms786112
+Node: Awk Debugging788709
+Node: Sample Debugging Session789601
+Node: Debugger Invocation790121
+Node: Finding The Bug791453
+Node: List of Debugger Commands797941
+Node: Breakpoint Control799275
+Node: Debugger Execution Control802939
+Node: Viewing And Changing Data806299
+Node: Execution Stack809655
+Node: Debugger Info811122
+Node: Miscellaneous Debugger Commands815104
+Node: Readline Support820280
+Node: Limitations821111
+Node: Arbitrary Precision Arithmetic823363
+Ref: Arbitrary Precision Arithmetic-Footnote-1825012
+Node: General Arithmetic825160
+Node: Floating Point Issues826880
+Node: String Conversion Precision827761
+Ref: String Conversion Precision-Footnote-1829466
+Node: Unexpected Results829575
+Node: POSIX Floating Point Problems831728
+Ref: POSIX Floating Point Problems-Footnote-1835553
+Node: Integer Programming835591
+Node: Floating-point Programming837330
+Ref: Floating-point Programming-Footnote-1843661
+Ref: Floating-point Programming-Footnote-2843931
+Node: Floating-point Representation844195
+Node: Floating-point Context845360
+Ref: table-ieee-formats846199
+Node: Rounding Mode847583
+Ref: table-rounding-modes848062
+Ref: Rounding Mode-Footnote-1851077
+Node: Gawk and MPFR851256
+Node: Arbitrary Precision Floats852511
+Ref: Arbitrary Precision Floats-Footnote-1854954
+Node: Setting Precision855270
+Ref: table-predefined-precision-strings855956
+Node: Setting Rounding Mode858101
+Ref: table-gawk-rounding-modes858505
+Node: Floating-point Constants859692
+Node: Changing Precision861121
+Ref: Changing Precision-Footnote-1862518
+Node: Exact Arithmetic862692
+Node: Arbitrary Precision Integers865830
+Ref: Arbitrary Precision Integers-Footnote-1868848
+Node: Dynamic Extensions868995
+Node: Extension Intro870453
+Node: Plugin License871718
+Node: Extension Mechanism Outline872403
+Ref: load-extension872820
+Ref: load-new-function874298
+Ref: call-new-function875293
+Node: Extension API Description877308
+Node: Extension API Functions Introduction878521
+Node: General Data Types883387
+Ref: General Data Types-Footnote-1888989
+Node: Requesting Values889288
+Ref: table-value-types-returned890019
+Node: Constructor Functions890973
+Node: Registration Functions893993
+Node: Extension Functions894678
+Node: Exit Callback Functions896903
+Node: Extension Version String898152
+Node: Input Parsers898802
+Node: Output Wrappers908559
+Node: Two-way processors913069
+Node: Printing Messages915277
+Ref: Printing Messages-Footnote-1916354
+Node: Updating `ERRNO'916506
+Node: Accessing Parameters917245
+Node: Symbol Table Access918475
+Node: Symbol table by name918987
+Node: Symbol table by cookie920734
+Ref: Symbol table by cookie-Footnote-1924864
+Node: Cached values924927
+Ref: Cached values-Footnote-1928376
+Node: Array Manipulation928467
+Ref: Array Manipulation-Footnote-1929565
+Node: Array Data Types929604
+Ref: Array Data Types-Footnote-1932307
+Node: Array Functions932399
+Node: Flattening Arrays936165
+Node: Creating Arrays943017
+Node: Extension API Variables947742
+Node: Extension Versioning948378
+Node: Extension API Informational Variables950279
+Node: Extension API Boilerplate951365
+Node: Finding Extensions955169
+Node: Extension Example955729
+Node: Internal File Description956459
+Node: Internal File Ops960550
+Ref: Internal File Ops-Footnote-1972058
+Node: Using Internal File Ops972198
+Ref: Using Internal File Ops-Footnote-1974551
+Node: Extension Samples974817
+Node: Extension Sample File Functions976341
+Node: Extension Sample Fnmatch984826
+Node: Extension Sample Fork986552
+Node: Extension Sample Inplace987770
+Node: Extension Sample Ord989548
+Node: Extension Sample Readdir990384
+Node: Extension Sample Revout991916
+Node: Extension Sample Rev2way992509
+Node: Extension Sample Read write array993199
+Node: Extension Sample Readfile995082
+Node: Extension Sample API Tests995900
+Node: Extension Sample Time996425
+Node: gawkextlib997789
+Node: Language History1000570
+Node: V7/SVR3.11002163
+Node: SVR41004483
+Node: POSIX1005925
+Node: BTL1007311
+Node: POSIX/GNU1008045
+Node: Feature History1013644
+Node: Common Extensions1026608
+Node: Ranges and Locales1027920
+Ref: Ranges and Locales-Footnote-11032538
+Ref: Ranges and Locales-Footnote-21032565
+Ref: Ranges and Locales-Footnote-31032825
+Node: Contributors1033046
+Node: Installation1038191
+Node: Gawk Distribution1039085
+Node: Getting1039569
+Node: Extracting1040395
+Node: Distribution contents1042087
+Node: Unix Installation1047792
+Node: Quick Installation1048409
+Node: Additional Configuration Options1050853
+Node: Configuration Philosophy1052589
+Node: Non-Unix Installation1054943
+Node: PC Installation1055401
+Node: PC Binary Installation1056700
+Node: PC Compiling1058548
+Node: PC Testing1061492
+Node: PC Using1062668
+Node: Cygwin1066853
+Node: MSYS1067853
+Node: VMS Installation1068367
+Node: VMS Compilation1069131
+Ref: VMS Compilation-Footnote-11070746
+Node: VMS Dynamic Extensions1070804
+Node: VMS Installation Details1072177
+Node: VMS Running1074424
+Node: VMS GNV1077258
+Node: VMS Old Gawk1077981
+Node: Bugs1078451
+Node: Other Versions1082369
+Node: Notes1088453
+Node: Compatibility Mode1089253
+Node: Additions1090036
+Node: Accessing The Source1090963
+Node: Adding Code1092403
+Node: New Ports1098448
+Node: Derived Files1102583
+Ref: Derived Files-Footnote-11107904
+Ref: Derived Files-Footnote-21107938
+Ref: Derived Files-Footnote-31108538
+Node: Future Extensions1108636
+Node: Implementation Limitations1109219
+Node: Extension Design1110471
+Node: Old Extension Problems1111625
+Ref: Old Extension Problems-Footnote-11113133
+Node: Extension New Mechanism Goals1113190
+Ref: Extension New Mechanism Goals-Footnote-11116555
+Node: Extension Other Design Decisions1116741
+Node: Extension Future Growth1118847
+Node: Old Extension Mechanism1119683
+Node: Basic Concepts1121423
+Node: Basic High Level1122104
+Ref: figure-general-flow1122375
+Ref: figure-process-flow1122974
+Ref: Basic High Level-Footnote-11126203
+Node: Basic Data Typing1126388
+Node: Glossary1129743
+Node: Copying1155205
+Node: GNU Free Documentation License1192762
+Node: Index1217899

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 663783f3..0d780286 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -19,6 +19,20 @@
* awk: (gawk)Invoking gawk. Text scanning and processing.
@end direntry
+@ifset FOR_PRINT
+@tex
+\gdef\xrefprintnodename#1{``#1''}
+@end tex
+@end ifset
+@ifclear FOR_PRINT
+@c With early 2014 texinfo.tex, restore PDF links and colors
+@tex
+\gdef\linkcolor{0.5 0.09 0.12} % Dark Red
+\gdef\urlcolor{0.5 0.09 0.12} % Also
+\global\urefurlonlylinktrue
+@end tex
+@end ifclear
+
@set xref-automatic-section-title
@c The following information should be updated here only!
@@ -26,7 +40,7 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH January, 2014
+@set UPDATE-MONTH February, 2014
@set VERSION 4.1
@set PATCHLEVEL 0
@@ -122,10 +136,7 @@
@ignore
Some comments on the layout for TeX.
-1. Use at least texinfo.tex 2000-09-06.09
-2. I have done A LOT of work to make this look good. There are `@page' commands
- and use of `@group ... @end group' in a number of places. If you muck
- with anything, it's your responsibility not to break the layout.
+1. Use at least texinfo.tex 2014-01-30.15
@end ignore
@c merge the function and variable indexes into the concept index
@@ -402,7 +413,8 @@ particular records in a file and perform operations upon them.
field.
* Command Line Field Separator:: Setting @code{FS} from the
command-line.
-* Full Line Fields:: Making the full line be a single field.
+* Full Line Fields:: Making the full line be a single
+ field.
* Field Splitting Summary:: Some final points and a summary table.
* Constant Size:: Reading constant width data.
* Splitting By Content:: Defining Fields By Content
@@ -792,6 +804,7 @@ particular records in a file and perform operations upon them.
version of @command{awk}.
* POSIX/GNU:: The extensions in @command{gawk} not
in POSIX @command{awk}.
+* Feature History:: The history of the features in @command{gawk}.
* Common Extensions:: Common Extensions Summary.
* Ranges and Locales:: How locales used to affect regexp
ranges.
@@ -1245,7 +1258,7 @@ and the program ``the @command{awk} utility.''
This @value{DOCUMENT} explains
both how to write programs in the @command{awk} language and how to
run the @command{awk} utility.
-The term @dfn{@command{awk} program} refers to a program written by you in
+The term ``@command{awk} program'' refers to a program written by you in
the @command{awk} programming language.
@cindex @command{gawk}, @command{awk} and
@@ -1778,7 +1791,6 @@ significant editorial help for this @value{DOCUMENT} for the
@cindex Rankin, Pat
@cindex Schorr, Andrew
@cindex Vinschen, Corinna
-@cindex Wallin, Anders
@cindex Zaretskii, Eli
Dr.@: Nelson Beebe,
@@ -1798,7 +1810,6 @@ Chet Ramey,
Pat Rankin,
Andrew Schorr,
Corinna Vinschen,
-Anders Wallin,
and Eli Zaretskii
(in alphabetical order)
make up the current
@@ -2099,7 +2110,7 @@ more convenient to put the program into a separate file. In order to tell
awk -f @var{source-file} @var{input-file1} @var{input-file2} @dots{}
@end example
-@cindex @code{-f} option
+@cindex @option{-f} option
@cindex command line, options
@cindex options, command-line
The @option{-f} instructs the @command{awk} utility to get the @command{awk} program
@@ -2609,23 +2620,8 @@ Apr 21 70 74 514
@c endfile
@end example
-@ifinfo
-If you are reading this in GNU Emacs using Info, you can copy the regions
-of text showing these sample files into your own test files. This way you
-can try out the examples shown in the remainder of this document. You do
-this by using the command @kbd{M-x write-region} to copy text from the Info
-file into a file for use with @command{awk}
-(@xref{Misc File Ops, , Miscellaneous File Operations, emacs, GNU Emacs Manual},
-for more information). Using this information, create your own
-@file{BBS-list} and @file{inventory-shipped} files and practice what you
-learn in this @value{DOCUMENT}.
-
-@cindex Texinfo
-If you are using the stand-alone version of Info,
-see @ref{Extract Program},
-for an @command{awk} program that extracts these data files from
-@file{gawk.texi}, the (generated) Texinfo source file for this Info file.
-@end ifinfo
+The sample files are included in the @command{gawk} distribution,
+in the directory @file{awklib/eg/data}.
@node Very Simple
@section Some Simple Examples
@@ -3122,7 +3118,7 @@ easier to maintain and usually run more efficiently.
@node Invoking Gawk
@chapter Running @command{awk} and @command{gawk}
-This @value{CHAPTER} covers how to run awk, both POSIX-standard
+This @value{CHAPTER} covers how to run @command{awk}, both POSIX-standard
and @command{gawk}-specific command-line options, and what
@command{awk} and
@command{gawk} do with non-option arguments.
@@ -3179,7 +3175,7 @@ It is possible to invoke @command{awk} with an empty program:
awk '' datafile1 datafile2
@end example
-@cindex @code{--lint} option
+@cindex @option{--lint} option
@noindent
Doing so makes little sense, though; @command{awk} exits
silently when given an empty program.
@@ -3219,43 +3215,27 @@ The following list describes options mandated by the POSIX standard:
@table @code
@item -F @var{fs}
@itemx --field-separator @var{fs}
-@cindex @code{-F} option
-@cindex @code{--field-separator} option
+@cindex @option{-F} option
+@cindex @option{--field-separator} option
@cindex @code{FS} variable, @code{--field-separator} option and
Set the @code{FS} variable to @var{fs}
(@pxref{Field Separators}).
@item -f @var{source-file}
@itemx --file @var{source-file}
-@cindex @code{-f} option
-@cindex @code{--file} option
+@cindex @option{-f} option
+@cindex @option{--file} option
@cindex @command{awk} programs, location of
Read @command{awk} program source from @var{source-file}
instead of in the first non-option argument.
This option may be given multiple times; the @command{awk}
-program consists of the concatenation the contents of
+program consists of the concatenation of the contents of
each specified @var{source-file}.
-@item -i @var{source-file}
-@itemx --include @var{source-file}
-@cindex @code{-i} option
-@cindex @code{--include} option
-@cindex @command{awk} programs, location of
-Read @command{awk} source library from @var{source-file}. This option is
-completely equivalent to using the @samp{@@include} directive inside
-your program. This option is very
-similar to the @option{-f} option, but there are two important differences.
-First, when @option{-i} is used, the program source will not be loaded if it has
-been previously loaded, whereas the @option{-f} will always load the file.
-Second, because this option is intended to be used with code libraries,
-@command{gawk} does not recognize such files as constituting main program
-input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to
-find the main source code via the @option{-f} option or on the command-line.
-
@item -v @var{var}=@var{val}
@itemx --assign @var{var}=@var{val}
-@cindex @code{-v} option
-@cindex @code{--assign} option
+@cindex @option{-v} option
+@cindex @option{--assign} option
@cindex variables, setting
Set the variable @var{var} to the value @var{val} @emph{before}
execution of the program begins. Such variable values are available
@@ -3276,7 +3256,7 @@ predefined value you may have given.
@end quotation
@item -W @var{gawk-opt}
-@cindex @code{-W} option
+@cindex @option{-W} option
Provide an implementation-specific option.
This is the POSIX convention for providing implementation-specific options.
These options
@@ -3309,8 +3289,8 @@ The following list describes @command{gawk}-specific options:
@table @code
@item -b
@itemx --characters-as-bytes
-@cindex @code{-b} option
-@cindex @code{--characters-as-bytes} option
+@cindex @option{-b} option
+@cindex @option{--characters-as-bytes} option
Cause @command{gawk} to treat all input data as single-byte characters.
In addition, all output written with @code{print} or @code{printf}
are treated as single-byte characters.
@@ -3324,8 +3304,8 @@ multibyte characters. This option is an easy way to tell @command{gawk}:
@item -c
@itemx --traditional
-@cindex @code{--c} option
-@cindex @code{--traditional} option
+@cindex @option{-c} option
+@cindex @option{--traditional} option
@cindex compatibility mode (@command{gawk}), specifying
Specify @dfn{compatibility mode}, in which the GNU extensions to
the @command{awk} language are disabled, so that @command{gawk} behaves just
@@ -3336,17 +3316,17 @@ which summarizes the extensions. Also see
@item -C
@itemx --copyright
-@cindex @code{-C} option
-@cindex @code{--copyright} option
+@cindex @option{-C} option
+@cindex @option{--copyright} option
@cindex GPL (General Public License), printing
Print the short version of the General Public License and then exit.
@item -d@r{[}@var{file}@r{]}
@itemx --dump-variables@r{[}=@var{file}@r{]}
-@cindex @code{-d} option
-@cindex @code{--dump-variables} option
-@cindex @code{awkvars.out} file
-@cindex files, @code{awkvars.out}
+@cindex @option{-d} option
+@cindex @option{--dump-variables} option
+@cindex @file{awkvars.out} file
+@cindex files, @file{awkvars.out}
@cindex variables, global, printing list of
Print a sorted list of global variables, their types, and final values
to @var{file}. If no @var{file} is provided, print this
@@ -3365,8 +3345,8 @@ names like @code{i}, @code{j}, etc.)
@item -D@r{[}@var{file}@r{]}
@itemx --debug=@r{[}@var{file}@r{]}
-@cindex @code{-D} option
-@cindex @code{--debug} option
+@cindex @option{-D} option
+@cindex @option{--debug} option
@cindex @command{awk} debugging, enabling
Enable debugging of @command{awk} programs
(@pxref{Debugging}).
@@ -3378,8 +3358,8 @@ No space is allowed between the @option{-D} and @var{file}, if
@item -e @var{program-text}
@itemx --source @var{program-text}
-@cindex @code{-e} option
-@cindex @code{--source} option
+@cindex @option{-e} option
+@cindex @option{--source} option
@cindex source code, mixing
Provide program source code in the @var{program-text}.
This option allows you to mix source code in files with source
@@ -3390,8 +3370,8 @@ programs (@pxref{AWKPATH Variable}).
@item -E @var{file}
@itemx --exec @var{file}
-@cindex @code{-E} option
-@cindex @code{--exec} option
+@cindex @option{-E} option
+@cindex @option{--exec} option
@cindex @command{awk} programs, location of
@cindex CGI, @command{awk} scripts for
Similar to @option{-f}, read @command{awk} program text from @var{file}.
@@ -3421,8 +3401,8 @@ with @samp{#!} scripts (@pxref{Executable Scripts}), like so:
@item -g
@itemx --gen-pot
-@cindex @code{-g} option
-@cindex @code{--gen-pot} option
+@cindex @option{-g} option
+@cindex @option{--gen-pot} option
@cindex portable object files, generating
@cindex files, portable object, generating
Analyze the source program and
@@ -3433,18 +3413,34 @@ for information about this option.
@item -h
@itemx --help
-@cindex @code{-h} option
-@cindex @code{--help} option
+@cindex @option{-h} option
+@cindex @option{--help} option
@cindex GNU long options, printing list of
@cindex options, printing list of
@cindex printing, list of options
Print a ``usage'' message summarizing the short and long style options
that @command{gawk} accepts and then exit.
+@item -i @var{source-file}
+@itemx --include @var{source-file}
+@cindex @option{-i} option
+@cindex @option{--include} option
+@cindex @command{awk} programs, location of
+Read @command{awk} source library from @var{source-file}. This option is
+completely equivalent to using the @samp{@@include} directive inside
+your program. This option is very
+similar to the @option{-f} option, but there are two important differences.
+First, when @option{-i} is used, the program source will not be loaded if it has
+been previously loaded, whereas the @option{-f} will always load the file.
+Second, because this option is intended to be used with code libraries,
+@command{gawk} does not recognize such files as constituting main program
+input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to
+find the main source code via the @option{-f} option or on the command-line.
+
@item -l @var{lib}
@itemx --load @var{lib}
-@cindex @code{-l} option
-@cindex @code{--load} option
+@cindex @option{-l} option
+@cindex @option{--load} option
@cindex loading, library
Load a shared library @var{lib}. This searches for the library using the @env{AWKLIBPATH}
environment variable. The correct library suffix for your platform will be
@@ -3455,8 +3451,8 @@ a shared library.
@item -L @r{[}value@r{]}
@itemx --lint@r{[}=value@r{]}
-@cindex @code{-l} option
-@cindex @code{--lint} option
+@cindex @option{-l} option
+@cindex @option{--lint} option
@cindex lint checking, issuing warnings
@cindex warnings, issuing
Warn about constructs that are dubious or nonportable to
@@ -3478,16 +3474,16 @@ care to search for all occurrences of each inappropriate construct. As
@item -M
@itemx --bignum
-@cindex @code{-M} option
-@cindex @code{--bignum} option
+@cindex @option{-M} option
+@cindex @option{--bignum} option
Force arbitrary precision arithmetic on numbers. This option has no effect
if @command{gawk} is not compiled to use the GNU MPFR and MP libraries
(@pxref{Arbitrary Precision Arithmetic}).
@item -n
@itemx --non-decimal-data
-@cindex @code{-n} option
-@cindex @code{--non-decimal-data} option
+@cindex @option{-n} option
+@cindex @option{--non-decimal-data} option
@cindex hexadecimal values@comma{} enabling interpretation of
@cindex octal values@comma{} enabling interpretation of
@cindex troubleshooting, @code{--non-decimal-data} option
@@ -3502,15 +3498,15 @@ Use with care.
@item -N
@itemx --use-lc-numeric
-@cindex @code{-N} option
-@cindex @code{--use-lc-numeric} option
+@cindex @option{-N} option
+@cindex @option{--use-lc-numeric} option
Force the use of the locale's decimal point character
when parsing numeric input data (@pxref{Locales}).
@item -o@r{[}@var{file}@r{]}
@itemx --pretty-print@r{[}=@var{file}@r{]}
-@cindex @code{-o} option
-@cindex @code{--pretty-print} option
+@cindex @option{-o} option
+@cindex @option{--pretty-print} option
Enable pretty-printing of @command{awk} programs.
By default, output program is created in a file named @file{awkprof.out}.
The optional @var{file} argument allows you to specify a different
@@ -3520,16 +3516,16 @@ No space is allowed between the @option{-o} and @var{file}, if
@item -O
@itemx --optimize
-@cindex @code{--optimize} option
-@cindex @code{-O} option
+@cindex @option{--optimize} option
+@cindex @option{-O} option
Enable some optimizations on the internal representation of the program.
At the moment this includes just simple constant folding. The @command{gawk}
maintainer hopes to add more optimizations over time.
@item -p@r{[}@var{file}@r{]}
@itemx --profile@r{[}=@var{file}@r{]}
-@cindex @code{-p} option
-@cindex @code{--profile} option
+@cindex @option{-p} option
+@cindex @option{--profile} option
@cindex @command{awk} profiling, enabling
Enable profiling of @command{awk} programs
(@pxref{Profiling}).
@@ -3544,8 +3540,8 @@ in the left margin, and function call counts for each function.
@item -P
@itemx --posix
-@cindex @code{-P} option
-@cindex @code{--posix} option
+@cindex @option{-P} option
+@cindex @option{--posix} option
@cindex POSIX mode
@cindex @command{gawk}, extensions@comma{} disabling
Operate in strict POSIX mode. This disables all @command{gawk}
@@ -3586,16 +3582,16 @@ data (@pxref{Locales}).
@c @cindex automatic warnings
@c @cindex warnings, automatic
-@cindex @code{--traditional} option, @code{--posix} option and
-@cindex @code{--posix} option, @code{--traditional} option and
+@cindex @option{--traditional} option, @code{--posix} option and
+@cindex @option{--posix} option, @code{--traditional} option and
If you supply both @option{--traditional} and @option{--posix} on the
command line, @option{--posix} takes precedence. @command{gawk}
also issues a warning if both options are supplied.
@item -r
@itemx --re-interval
-@cindex @code{-r} option
-@cindex @code{--re-interval} option
+@cindex @option{-r} option
+@cindex @option{--re-interval} option
@cindex regular expressions, interval expressions and
Allow interval expressions
(@pxref{Regexp Operators})
@@ -3606,8 +3602,8 @@ and for use in combination with the @option{--traditional} option.
@item -S
@itemx --sandbox
-@cindex @code{-S} option
-@cindex @code{--sandbox} option
+@cindex @option{-S} option
+@cindex @option{--sandbox} option
@cindex sandbox mode
Disable the @code{system()} function,
input redirections with @code{getline},
@@ -3619,16 +3615,16 @@ can't access your system (other than the specified input data file).
@item -t
@itemx --lint-old
-@cindex @code{--L} option
-@cindex @code{--lint-old} option
+@cindex @option{-L} option
+@cindex @option{--lint-old} option
Warn about constructs that are not available in the original version of
@command{awk} from Version 7 Unix
(@pxref{V7/SVR3.1}).
@item -V
@itemx --version
-@cindex @code{-V} option
-@cindex @code{--version} option
+@cindex @option{-V} option
+@cindex @option{--version} option
@cindex @command{gawk}, versions of, information about@comma{} printing
Print version information for this particular copy of @command{gawk}.
This allows you to determine if your copy of @command{gawk} is up to date
@@ -3642,14 +3638,14 @@ As long as program text has been supplied,
any other options are flagged as invalid with a warning message but
are otherwise ignored.
-@cindex @code{-F} option, @code{-Ft} sets @code{FS} to TAB
+@cindex @option{-F} option, @option{-Ft} sets @code{FS} to TAB
In compatibility mode, as a special case, if the value of @var{fs} supplied
to the @option{-F} option is @samp{t}, then @code{FS} is set to the TAB
character (@code{"\t"}). This is true only for @option{--traditional} and not
for @option{--posix}
(@pxref{Field Separators}).
-@cindex @code{-f} option, multiple uses
+@cindex @option{-f} option, multiple uses
The @option{-f} option may be used more than once on the command line.
If it is, @command{awk} reads its program source from all of the named files, as
if they had been concatenated together into one big file. This is
@@ -3676,7 +3672,7 @@ and library source code
(@pxref{AWKPATH Variable}).
The @option{--source} option may also be used multiple times on the command line.
-@cindex @code{--source} option
+@cindex @option{--source} option
If no @option{-f} or @option{--source} option is specified, then @command{gawk}
uses the first non-option command-line argument as the text of the
program source code.
@@ -5047,8 +5043,8 @@ These sequences are:
@item Collating symbols
Multicharacter collating elements enclosed between
@samp{[.} and @samp{.]}. For example, if @samp{ch} is a collating element,
-then @code{[[.ch.]]} is a regexp that matches this collating element, whereas
-@code{[ch]} is a regexp that matches either @samp{c} or @samp{h}.
+then @samp{[[.ch.]]} is a regexp that matches this collating element, whereas
+@samp{[ch]} is a regexp that matches either @samp{c} or @samp{h}.
@cindex bracket expressions, equivalence classes
@item Equivalence classes
@@ -5056,7 +5052,7 @@ Locale-specific names for a list of
characters that are equal. The name is enclosed between
@samp{[=} and @samp{=]}.
For example, the name @samp{e} might be used to represent all of
-``e,'' ``@`e,'' and ``@'e.'' In this case, @code{[[=e=]]} is a regexp
+``e,'' ``@`e,'' and ``@'e.'' In this case, @samp{[[=e=]]} is a regexp
that matches any of @samp{e}, @samp{@'e}, or @samp{@`e}.
@end table
@@ -5100,7 +5096,7 @@ or underscores (@samp{_}):
@item \s
Matches any whitespace character.
Think of it as shorthand for
-@w{@code{[[:space:]]}}.
+@w{@samp{[[:space:]]}}.
@c @cindex operators, @code{\S} (@command{gawk})
@cindex backslash (@code{\}), @code{\S} operator (@command{gawk})
@@ -5108,7 +5104,7 @@ Think of it as shorthand for
@item \S
Matches any character that is not whitespace.
Think of it as shorthand for
-@w{@code{[^[:space:]]}}.
+@w{@samp{[^[:space:]]}}.
@c @cindex operators, @code{\w} (@command{gawk})
@cindex backslash (@code{\}), @code{\w} operator (@command{gawk})
@@ -5116,7 +5112,7 @@ Think of it as shorthand for
@item \w
Matches any word-constituent character---that is, it matches any
letter, digit, or underscore. Think of it as shorthand for
-@w{@code{[[:alnum:]_]}}.
+@w{@samp{[[:alnum:]_]}}.
@c @cindex operators, @code{\W} (@command{gawk})
@cindex backslash (@code{\}), @code{\W} operator (@command{gawk})
@@ -5124,7 +5120,7 @@ letter, digit, or underscore. Think of it as shorthand for
@item \W
Matches any character that is not word-constituent.
Think of it as shorthand for
-@w{@code{[^[:alnum:]_]}}.
+@w{@samp{[^[:alnum:]_]}}.
@c @cindex operators, @code{\<} (@command{gawk})
@cindex backslash (@code{\}), @code{\<} operator (@command{gawk})
@@ -5235,7 +5231,7 @@ are allowed.
@item @code{--traditional}
Traditional Unix @command{awk} regexps are matched. The GNU operators
are not special, and interval expressions are not available.
-The POSIX character classes (@code{[[:alnum:]]}, etc.) are supported,
+The POSIX character classes (@samp{[[:alnum:]]}, etc.) are supported,
as Brian Kernighan's @command{awk} does support them.
Characters described by octal and hexadecimal escape sequences are
treated literally, even if they represent regexp metacharacters.
@@ -5861,21 +5857,27 @@ BEGIN @{ RS = "\0" @} # whole file becomes one record?
@command{gawk} in fact accepts this, and uses the @sc{nul}
character for the record separator.
However, this usage is @emph{not} portable
-to other @command{awk} implementations.
+to most other @command{awk} implementations.
@cindex dark corner, strings, storing
-All other @command{awk} implementations@footnote{At least that we know
+Almost all other @command{awk} implementations@footnote{At least that we know
about.} store strings internally as C-style strings. C strings use the
@sc{nul} character as the string terminator. In effect, this means that
@samp{RS = "\0"} is the same as @samp{RS = ""}.
@value{DARKCORNER}
+It happens that recent versions of @command{mawk} can use the @sc{nul}
+character as a record separator. However, this is a special case:
+@command{mawk} does not allow embedded @sc{nul} characters in strings.
+
@cindex records, treating files as
@cindex files, as single records
The best way to treat a whole file as a single record is to
simply read the file in, one record at a time, concatenating each
record onto the end of the previous ones.
+@c @strong{FIXME}: Using @sc{nul} is good for @file{/proc/environ} etc.
+
@docbook
</sidebar>
@end docbook
@@ -5906,20 +5908,26 @@ BEGIN @{ RS = "\0" @} # whole file becomes one record?
@command{gawk} in fact accepts this, and uses the @sc{nul}
character for the record separator.
However, this usage is @emph{not} portable
-to other @command{awk} implementations.
+to most other @command{awk} implementations.
@cindex dark corner, strings, storing
-All other @command{awk} implementations@footnote{At least that we know
+Almost all other @command{awk} implementations@footnote{At least that we know
about.} store strings internally as C-style strings. C strings use the
@sc{nul} character as the string terminator. In effect, this means that
@samp{RS = "\0"} is the same as @samp{RS = ""}.
@value{DARKCORNER}
+It happens that recent versions of @command{mawk} can use the @sc{nul}
+character as a record separator. However, this is a special case:
+@command{mawk} does not allow embedded @sc{nul} characters in strings.
+
@cindex records, treating files as
@cindex files, as single records
The best way to treat a whole file as a single record is to
simply read the file in, one record at a time, concatenating each
record onto the end of the previous ones.
+
+@c @strong{FIXME}: Using @sc{nul} is good for @file{/proc/environ} etc.
@end cartouche
@end ifnotdocbook
@c ENDOFRANGE inspl
@@ -6562,7 +6570,7 @@ behaves this way.
@node Command Line Field Separator
@subsection Setting @code{FS} from the Command Line
-@cindex @code{-F} option
+@cindex @option{-F} option
@cindex options, command-line
@cindex command line, options
@cindex field separators, on command line
@@ -6897,19 +6905,11 @@ will take effect.
@node Constant Size
@section Reading Fixed-Width Data
-@ifnotinfo
@quotation NOTE
This @value{SECTION} discusses an advanced
feature of @command{gawk}. If you are a novice @command{awk} user,
you might want to skip it on the first reading.
@end quotation
-@end ifnotinfo
-
-@ifinfo
-(This @value{SECTION} discusses an advanced feature of @command{awk}.
-If you are a novice @command{awk} user, you might want to skip it on
-the first reading.)
-@end ifinfo
@cindex data, fixed-width
@cindex fixed-width data
@@ -7039,19 +7039,11 @@ for an example of such a function).
@node Splitting By Content
@section Defining Fields By Content
-@ifnotinfo
@quotation NOTE
This @value{SECTION} discusses an advanced
feature of @command{gawk}. If you are a novice @command{awk} user,
you might want to skip it on the first reading.
@end quotation
-@end ifnotinfo
-
-@ifinfo
-(This @value{SECTION} discusses an advanced feature of @command{awk}.
-If you are a novice @command{awk} user, you might want to skip it on
-the first reading.)
-@end ifinfo
@cindex advanced features, specifying field content
Normally, when using @code{FS}, @command{gawk} defines the fields as the
@@ -7348,6 +7340,7 @@ then @command{gawk} sets @code{RT} to the null string.
@c STARTOFRANGE getl
@cindex @code{getline} command, explicit input with
+@c STARTOFRANGE inex
@cindex input, explicit
So far we have been getting our input data from @command{awk}'s main
input stream---either the standard input (usually your terminal, sometimes
@@ -7367,7 +7360,7 @@ rest of this @value{DOCUMENT} and have a good knowledge of how @command{awk} wor
@cindex @code{ERRNO} variable
@cindex differences in @command{awk} and @command{gawk}, @code{getline} command
@cindex @code{getline} command, return values
-@cindex @code{--sandbox} option, input redirection with @command{getline}
+@cindex @option{--sandbox} option, input redirection with @code{getline}
The @code{getline} command returns one if it finds a record and zero if
it encounters the end of the file. If there is some error in getting
@@ -8819,9 +8812,11 @@ on the @code{print} statement
@node Redirection
@section Redirecting Output of @code{print} and @code{printf}
+@c STARTOFRANGE outre
@cindex output redirection
+@c STARTOFRANGE reout
@cindex redirection of output
-@cindex @code{--sandbox} option, output redirection with @code{print}, @code{printf}
+@cindex @option{--sandbox} option, output redirection with @code{print}, @code{printf}
So far, the output from @code{print} and @code{printf} has gone
to the standard
output, usually the screen. Both @code{print} and @code{printf} can
@@ -8838,8 +8833,8 @@ Redirections in @command{awk} are written just like redirections in shell
commands, except that they are written inside the @command{awk} program.
@c the commas here are part of the see also
-@cindex @code{print} statement, See Also redirection, of output
-@cindex @code{printf} statement, See Also redirection, of output
+@cindex @code{print} statement, See Also redirection@comma{} of output
+@cindex @code{printf} statement, See Also redirection@comma{} of output
There are four forms of output redirection: output to a file, output
appended to a file, output through a pipe to another command, and output
to a coprocess. They are all shown for the @code{print} statement,
@@ -9588,6 +9583,8 @@ which provide the values used in expressions.
@node Constants
@subsection Constant Expressions
+
+@c STARTOFRANGE cnst
@cindex constants, types of
The simplest type of expression is the @dfn{constant}, which always has
@@ -9962,7 +9959,7 @@ Such an assignment has the following form:
@var{variable}=@var{text}
@end example
-@cindex @code{-v} option
+@cindex @option{-v} option
@noindent
With it, a variable is set either at the beginning of the
@command{awk} run or in between input files.
@@ -10120,7 +10117,7 @@ point when reading the @command{awk} program source code, and for command-line
variable assignments (@pxref{Other Arguments}).
However, when interpreting input data, for @code{print} and @code{printf} output,
and for number to string conversion, the local decimal point character is used.
-@value{DARKCORNER}.
+@value{DARKCORNER}
Here are some examples indicating the difference in behavior,
on a GNU/Linux system:
@@ -10793,6 +10790,7 @@ just like variables. (Use @samp{$(i++)} when you want to do a field reference
and a variable increment at the same time. The parentheses are necessary
because of the precedence of the field reference operator @samp{$}.)
+@c STARTOFRANGE deop
@cindex decrement operators
The decrement operator @samp{--} works just like @samp{++}, except that
it subtracts one instead of adding it. As with @samp{++}, it can be used before
@@ -11269,7 +11267,7 @@ string comparison (true)
string comparison (true)
@item a = 2; b = " +2"
-@item a == b
+@itemx a == b
string comparison (false)
@end table
@@ -13762,13 +13760,7 @@ The number of fields in the current input record.
@code{NF} is set each time a new record is read, when a new field is
created or when @code{$0} changes (@pxref{Fields}).
-Unlike most of the variables described in this
-@ifnotinfo
-section,
-@end ifnotinfo
-@ifinfo
-node,
-@end ifinfo
+Unlike most of the variables described in this @value{SUBSECTION},
assigning a value to @code{NF} has the potential to affect
@command{awk}'s internal workings. In particular, assignments
to @code{NF} can be used to create or remove fields from the
@@ -16832,7 +16824,7 @@ close("/bin/sh")
@noindent
@cindex troubleshooting, @code{system()} function
-@cindex @code{--sandbox} option, disabling @code{system()} function
+@cindex @option{--sandbox} option, disabling @code{system()} function
However, if your @command{awk}
program is interactive, @code{system()} is useful for running large
self-contained programs, such as a shell or an editor.
@@ -19058,7 +19050,7 @@ The leading capital letter indicates that it is global, while the fact that
the variable name is not all capital letters indicates that the variable is
not one of @command{awk}'s built-in variables, such as @code{FS}.
-@cindex @code{--dump-variables} option
+@cindex @option{--dump-variables} option
It is also important that @emph{all} variables in library
functions that do not need to save state are, in fact, declared
local.@footnote{@command{gawk}'s @option{--dump-variables} command-line
@@ -19518,7 +19510,7 @@ function _ord_init( low, high, i, t)
@cindex ASCII
@cindex EBCDIC
@cindex mark parity
-Some explanation of the numbers used by @code{chr} is worthwhile.
+Some explanation of the numbers used by @code{chr()} is worthwhile.
The most prominent character set in use today is ASCII.@footnote{This
is changing; many systems use Unicode, a very large character set
that includes ASCII as a subset. On systems with full Unicode support,
@@ -20624,7 +20616,7 @@ use @code{getopt()} to process their arguments.
@c STARTOFRANGE libfudata
@cindex libraries of @command{awk} functions, user database, reading
@c STARTOFRANGE flibudata
-@cindex functions, library, user database, reading
+@cindex functions, library, user database@comma{} reading
@c STARTOFRANGE udatar
@cindex user database@comma{} reading
@c STARTOFRANGE dataur
@@ -20992,7 +20984,7 @@ uses these functions.
@c STARTOFRANGE libfgdata
@cindex libraries of @command{awk} functions, group database, reading
@c STARTOFRANGE flibgdata
-@cindex functions, library, group database, reading
+@cindex functions, library, group database@comma{} reading
@c STARTOFRANGE gdatar
@cindex group database, reading
@c STARTOFRANGE datagr
@@ -23131,6 +23123,32 @@ word, comparing it to the previous one:
@i{Nothing cures insomnia like a ringing alarm clock.}
@author Arnold Robbins
@end quotation
+@cindex Quanstrom, Erik
+@ignore
+Date: Sat, 15 Feb 2014 16:47:09 -0500
+Subject: Re: 9atom install question
+Message-ID: <l2jcvx6j6mey60xnrkb0hhob.1392500829294@email.android.com>
+From: Erik Quanstrom <quanstro@quanstro.net>
+To: Aharon Robbins <arnold@skeeve.com>
+
+yes.
+
+- erik
+
+Aharon Robbins <arnold@skeeve.com> wrote:
+
+>> sleep is for web developers.
+>
+>Can I quote you, in the gawk manual?
+>
+>Thanks,
+>
+>Arnold
+@end ignore
+@quotation
+@i{Sleep is for web developers.}
+@author Erik Quanstrom
+@end quotation
@c STARTOFRANGE tialarm
@cindex time, alarm clock example program
@@ -23798,7 +23816,8 @@ printed and online documentation.
@ifnotinfo
Texinfo is fully documented in the book
@cite{Texinfo---The GNU Documentation Format},
-available from the Free Software Foundation.
+available from the Free Software Foundation,
+and also available @uref{http://www.gnu.org/software/texinfo/manual/texinfo/, online}.
@end ifnotinfo
@ifinfo
The Texinfo language is described fully, starting with
@@ -24931,7 +24950,7 @@ It contains the following chapters:
@node Advanced Features
@chapter Advanced Features of @command{gawk}
-@cindex advanced features, network connections, See Also networks, connections
+@cindex advanced features, network connections, See Also networks@comma{} connections
@c STARTOFRANGE gawadv
@cindex @command{gawk}, features, advanced
@c STARTOFRANGE advgaw
@@ -24997,7 +25016,7 @@ discusses the ability to dynamically add new built-in functions to
@node Nondecimal Data
@section Allowing Nondecimal Input Data
-@cindex @code{--non-decimal-data} option
+@cindex @option{--non-decimal-data} option
@cindex advanced features, nondecimal input data
@cindex input, data@comma{} nondecimal
@cindex constants, nondecimal
@@ -25041,7 +25060,7 @@ using this facility could lead to surprising results, the default is to leave it
disabled. If you want it, you must explicitly request it.
@cindex programming conventions, @code{--non-decimal-data} option
-@cindex @code{--non-decimal-data} option, @code{strtonum()} function and
+@cindex @option{--non-decimal-data} option, @code{strtonum()} function and
@cindex @code{strtonum()} function (@command{gawk}), @code{--non-decimal-data} option and
@quotation CAUTION
@emph{Use of this option is not recommended.}
@@ -25749,7 +25768,7 @@ When @command{gawk} has finished running, it creates a profile of your program i
named @file{awkprof.out}. Because it is profiling, it also executes up to 45% slower than
@command{gawk} normally does.
-@cindex @code{--profile} option
+@cindex @option{--profile} option
As shown in the following example,
the @option{--profile} option can be used to change the name of the file
where @command{gawk} will write the profile:
@@ -26468,13 +26487,13 @@ is covered.
@subsection Extracting Marked Strings
@cindex strings, extracting
@cindex marked strings@comma{} extracting
-@cindex @code{--gen-pot} option
+@cindex @option{--gen-pot} option
@cindex command-line options, string extraction
@cindex string extraction (internationalization)
@cindex marked string extraction (internationalization)
@cindex extraction, of marked strings (internationalization)
-@cindex @code{--gen-pot} option
+@cindex @option{--gen-pot} option
Once your @command{awk} program is working, and all the strings have
been marked and you've set (and perhaps bound) the text domain,
it is time to produce translations.
@@ -29671,9 +29690,9 @@ certain fields in the API data structures unwritable from extension code,
while allowing @command{gawk} to use them as it needs to.
@item typedef enum awk_bool @{
-@item @ @ @ @ awk_false = 0,
-@item @ @ @ @ awk_true
-@item @} awk_bool_t;
+@itemx @ @ @ @ awk_false = 0,
+@itemx @ @ @ @ awk_true
+@itemx @} awk_bool_t;
A simple boolean type.
@item typedef struct awk_string @{
@@ -32260,14 +32279,14 @@ The usage is:
@item @@load "filefuncs"
This is how you load the extension.
-@cindex @code{chdir} extension function
+@cindex @code{chdir()} extension function
@item result = chdir("/some/directory")
The @code{chdir()} function is a direct hook to the @code{chdir()}
system call to change the current directory. It returns zero
upon success or less than zero upon error. In the latter case it updates
@code{ERRNO}.
-@cindex @code{stat} extension function
+@cindex @code{stat()} extension function
@item result = stat("/some/path", statdata [, follow])
The @code{stat()} function provides a hook into the
@code{stat()} system call.
@@ -32357,7 +32376,7 @@ or
Not all systems support all file types.
@end multitable
-@cindex @code{fts} extension function
+@cindex @code{fts()} extension function
@item flags = or(FTS_PHYSICAL, ...)
@itemx result = fts(pathlist, flags, filedata)
Walk the file trees provided in @code{pathlist} and fill in the
@@ -32478,7 +32497,7 @@ See @file{test/fts.awk} in the @command{gawk} distribution for an example.
@node Extension Sample Fnmatch
@subsection Interface To @code{fnmatch()}
-@cindex @code{fnmatch} extension function
+@cindex @code{fnmatch()} extension function
This extension provides an interface to the C library
@code{fnmatch()} function. The usage is:
@@ -32551,7 +32570,7 @@ The @code{fork} extension adds three functions, as follows.
@item @@load "fork"
This is how you load the extension.
-@cindex @code{fork} extension function
+@cindex @code{fork()} extension function
@item pid = fork()
This function creates a new process. The return value is the zero in the
child and the process-id number of the child in the parent, or @minus{}1
@@ -32559,13 +32578,13 @@ upon error. In the latter case, @code{ERRNO} indicates the problem.
In the child, @code{PROCINFO["pid"]} and @code{PROCINFO["ppid"]} are
updated to reflect the correct values.
-@cindex @code{waitpid} extension function
+@cindex @code{waitpid()} extension function
@item ret = waitpid(pid)
This function takes a numeric argument, which is the process-id to
wait for. The return value is that of the
@code{waitpid()} system call.
-@cindex @code{wait} extension function
+@cindex @code{wait()} extension function
@item ret = wait()
This function waits for the first child to die.
The return value is that of the
@@ -32652,11 +32671,11 @@ The @code{ordchr} extension adds two functions, named
@item @@load "ordchr"
This is how you load the extension.
-@cindex @code{ord} extension function
+@cindex @code{ord()} extension function
@item number = ord(string)
Return the numeric value of the first character in @code{string}.
-@cindex @code{chr} extension function
+@cindex @code{chr()} extension function
@item char = chr(number)
Return a string whose first character is that represented by @code{number}.
@end table
@@ -32773,14 +32792,14 @@ The @code{rwarray} extension adds two functions,
named @code{writea()} and @code{reada()}, as follows:
@table @code
-@cindex @code{writea} extension function
+@cindex @code{writea()} extension function
@item ret = writea(file, array)
This function takes a string argument, which is the name of the file
to which dump the array, and the array itself as the second argument.
@code{writea()} understands multidimensional arrays. It returns one on
success, or zero upon failure.
-@cindex @code{reada} extension function
+@cindex @code{reada()} extension function
@item ret = reada(file, array)
@code{reada()} is the inverse of @code{writea()};
it reads the file named as its first argument, filling in
@@ -32823,7 +32842,7 @@ named @code{readfile()}:
@item @@load "readfile"
This is how you load the extension.
-@cindex @code{readfile} extension function
+@cindex @code{readfile()} extension function
@item result = readfile("/some/path")
The argument is the name of the file to read. The return value is a
string containing the entire contents of the requested file. Upon error,
@@ -32864,7 +32883,7 @@ inserting @samp{@@load "time"} in your script.
@item @@load "time"
This is how you load the extension.
-@cindex @code{gettimeofday} extension function
+@cindex @code{gettimeofday()} extension function
@item the_time = gettimeofday()
Return the time in seconds that has elapsed since 1970-01-01 UTC as a
floating point value. If the time is unavailable on this platform, return
@@ -32874,7 +32893,7 @@ If the standard C @code{gettimeofday()} system call is available on this
platform, then it simply returns the value. Otherwise, if on Windows,
it tries to use @code{GetSystemTimeAsFileTime()}.
-@cindex @code{sleep} extension function
+@cindex @code{sleep()} extension function
@item result = sleep(@var{seconds})
Attempt to sleep for @var{seconds} seconds. If @var{seconds} is negative,
or the attempt to sleep fails, return @minus{}1 and set @code{ERRNO}.
@@ -33033,6 +33052,7 @@ of the @value{DOCUMENT} where you can find more information.
@command{awk}.
* POSIX/GNU:: The extensions in @command{gawk} not in POSIX
@command{awk}.
+* Feature History:: The history of the features in @command{gawk}.
* Common Extensions:: Common Extensions Summary.
* Ranges and Locales:: How locales used to affect regexp ranges.
* Contributors:: The major contributors to @command{gawk}.
@@ -33611,6 +33631,612 @@ GCC for VAX and Alpha has not been tested for a while.
@c ENDOFRANGE exgnot
@c ENDOFRANGE posnot
+@node Feature History
+@appendixsec History of @command{gawk} Features
+
+@ignore
+See the thread:
+https://groups.google.com/forum/#!topic/comp.lang.awk/SAUiRuff30c
+This motivated me to add this section.
+@end ignore
+
+@ignore
+I've tried to follow this general order, esp.@: for the 3.0 and 3.1 sections:
+ variables
+ special files
+ language changes (e.g., hex constants)
+ differences in standard awk functions
+ new gawk functions
+ new keywords
+ new command-line options
+ behavioral changes
+ new ports
+Within each category, be alphabetical.
+@end ignore
+
+This @value{SECTION} describes the features in @command{gawk}
+over and above those in POSIX @command{awk},
+in the order they were added to @command{gawk}.
+
+Version 2.10 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+The @env{AWKPATH} environment variable for specifying a path search for
+the @option{-f} command-line option
+(@pxref{Options}).
+
+@item
+The @code{IGNORECASE} variable and its effects
+(@pxref{Case-sensitivity}).
+
+@item
+The @file{/dev/stdin}, @file{/dev/stdout}, @file{/dev/stderr} and
+@file{/dev/fd/@var{N}} special file names
+(@pxref{Special Files}).
+@end itemize
+
+Version 2.13 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+The @code{FIELDWIDTHS} variable and its effects
+(@pxref{Constant Size}).
+
+@item
+The @code{systime()} and @code{strftime()} built-in functions for obtaining
+and printing timestamps
+(@pxref{Time Functions}).
+
+@item
+Additional command-line options
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{-W lint} option to provide error and portability checking
+for both the source code and at runtime.
+
+@item
+The @option{-W compat} option to turn off the GNU extensions.
+
+@item
+The @option{-W posix} option for full POSIX compliance.
+@end itemize
+@end itemize
+
+Version 2.14 of @command{gawk} introduced the following feature:
+
+@itemize @bullet
+@item
+The @code{next file} statement for skipping to the next data file
+(@pxref{Nextfile Statement}).
+@end itemize
+
+Version 2.15 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+New variables (@pxref{Built-in Variables}):
+
+@itemize @minus
+@item
+@code{ARGIND}, which tracks the movement of @code{FILENAME}
+through @code{ARGV}.
+
+@item
+@code{ERRNO}, which contains the system error message when
+@code{getline} returns @minus{}1 or @code{close()} fails.
+@end itemize
+
+@item
+The @file{/dev/pid}, @file{/dev/ppid}, @file{/dev/pgrpid}, and
+@file{/dev/user} special file names. These have since been removed.
+
+@item
+The ability to delete all of an array at once with @samp{delete @var{array}}
+(@pxref{Delete}).
+
+@item
+Command line option changes
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The ability to use GNU-style long-named options that start with @option{--}.
+
+@item
+The @option{--source} option for mixing command-line and library-file
+source code.
+@end itemize
+@end itemize
+
+Version 3.0 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+New or changed variables:
+
+@itemize @minus
+@item
+@code{IGNORECASE} changed, now applying to string comparison as well
+as regexp operations
+(@pxref{Case-sensitivity}).
+
+@item
+@code{RT}, which contains the input text that matched @code{RS}
+(@pxref{Records}).
+@end itemize
+
+@item
+Full support for both POSIX and GNU regexps
+(@pxref{Regexp}).
+
+@item
+The @code{gensub()} function for more powerful text manipulation
+(@pxref{String Functions}).
+
+@item
+The @code{strftime()} function acquired a default time format,
+allowing it to be called with no arguments
+(@pxref{Time Functions}).
+
+@item
+The ability for @code{FS} and for the third
+argument to @code{split()} to be null strings
+(@pxref{Single Character Fields}).
+
+@item
+The ability for @code{RS} to be a regexp
+(@pxref{Records}).
+
+@item
+The @code{next file} statement became @code{nextfile}
+(@pxref{Nextfile Statement}).
+
+@item
+The @code{fflush()} function from the
+Bell Laboratories research version of @command{awk}
+(@pxref{I/O Functions}).
+
+@item
+New command line options:
+
+@itemize @minus
+@item
+The @option{--lint-old} option to
+warn about constructs that are not available in
+the original Version 7 Unix version of @command{awk}
+(@pxref{V7/SVR3.1}).
+
+@item
+The @option{-m} option from the
+Bell Laboratories research version of @command{awk}
+This was later removed.
+
+@item
+The @option{--re-interval} option to provide interval expressions in regexps
+(@pxref{Regexp Operators}).
+
+@item
+The @option{--traditional} option was added as a better name for
+@option{--compat} (@pxref{Options}).
+@end itemize
+
+@item
+The use of GNU Autoconf to control the configuration process
+(@pxref{Quick Installation}).
+
+@item
+Amiga support.
+
+@end itemize
+
+Version 3.1 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+New variables
+(@pxref{Built-in Variables}):
+
+@itemize @minus
+@item
+@code{BINMODE}, for non-POSIX systems,
+which allows binary I/O for input and/or output files
+(@pxref{PC Using}).
+
+@item
+@code{LINT}, which dynamically controls lint warnings.
+
+@item
+@code{PROCINFO}, an array for providing process-related information.
+
+@item
+@code{TEXTDOMAIN}, for setting an application's internationalization text domain
+(@pxref{Internationalization}).
+@end itemize
+
+@item
+The ability to use octal and hexadecimal constants in @command{awk}
+program source code
+(@pxref{Nondecimal-numbers}).
+
+@item
+The @samp{|&} operator for two-way I/O to a coprocess
+(@pxref{Two-way I/O}).
+
+@item
+The @file{/inet} special files for TCP/IP networking using @samp{|&}
+(@pxref{TCP/IP Networking}).
+
+@item
+The optional second argument to @code{close()} that allows closing one end
+of a two-way pipe to a coprocess
+(@pxref{Two-way I/O}).
+
+@item
+The optional third argument to the @code{match()} function
+for capturing text-matching subexpressions within a regexp
+(@pxref{String Functions}).
+
+@item
+Positional specifiers in @code{printf} formats for
+making translations easier
+(@pxref{Printf Ordering}).
+
+@item
+A number of new built-in functions:
+
+@itemize @minus
+@item
+The @code{asort()} and @code{asorti()} functions for sorting arrays
+(@pxref{Array Sorting}).
+
+@item
+The @code{bindtextdomain()}, @code{dcgettext()} and @code{dcngettext()} functions
+for internationalization
+(@pxref{Programmer i18n}).
+
+@item
+The @code{extension()} function and the ability to add
+new built-in functions dynamically
+(@pxref{Dynamic Extensions}).
+
+@item
+The @code{mktime()} function for creating timestamps
+(@pxref{Time Functions}).
+
+@item
+The @code{and()}, @code{or()}, @code{xor()}, @code{compl()},
+@code{lshift()}, @code{rshift()}, and @code{strtonum()} functions
+(@pxref{Bitwise Functions}).
+@end itemize
+
+@item
+@cindex @code{next file} statement
+The support for @samp{next file} as two words was removed completely
+(@pxref{Nextfile Statement}).
+
+@item
+Additional commnd line options
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{--dump-variables} option to print a list of all global variables.
+
+@item
+The @option{--exec} option, for use in CGI scripts.
+
+@item
+The @option{--gen-po} command-line option and the use of a leading
+underscore to mark strings that should be translated
+(@pxref{String Extraction}).
+
+@item
+The @option{--non-decimal-data} option to allow non-decimal
+input data
+(@pxref{Nondecimal Data}).
+
+@item
+The @option{--profile} option and @command{pgawk}, the
+profiling version of @command{gawk}, for producing execution
+profiles of @command{awk} programs
+(@pxref{Profiling}).
+
+@item
+The @option{--use-lc-numeric} option to force @command{gawk}
+to use the locale's decimal point for parsing input data
+(@pxref{Conversion}).
+@end itemize
+
+@item
+The use of GNU Automake to help in standardizing the configuration process
+(@pxref{Quick Installation}).
+
+@item
+The use of GNU @code{gettext} for @command{gawk}'s own message output
+(@pxref{Gawk I18N}).
+
+@item
+BeOS support. This was later removed.
+
+@item
+Tandem support. This was later removed.
+
+@item
+The Atari port became officially unsupported.
+
+@item
+The source code changed to use ISO C standard-style function definitions.
+
+@item
+POSIX compliance for @code{sub()} and @code{gsub()}
+(@pxref{Gory Details}).
+
+@item
+The @code{length()} function was extended to accept an array argument
+and return the number of elements in the array
+(@pxref{String Functions}).
+
+@item
+The @code{strftime()} function acquired a third argument to
+enable printing times as UTC
+(@pxref{Time Functions}).
+@end itemize
+
+Version 4.0 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+
+@item
+Variable additions:
+
+@itemize @minus
+@item
+@code{FPAT}, which allows you to specify a regexp that matches
+the fields, instead of matching the field separator
+(@pxref{Splitting By Content}).
+
+@item
+If @code{PROCINFO["sorted_in"]} exists, @samp{for(iggy in foo)} loops sort the
+indices before looping over them. The value of this element
+provides control over how the indices are sorted before the loop
+traversal starts
+(@pxref{Controlling Scanning}).
+
+@item
+@code{PROCINFO["strftime"]}, which holds
+the default format for @code{strftime()}
+(@pxref{Time Functions}).
+@end itemize
+
+@item
+The special files @file{/dev/pid}, @file{/dev/ppid}, @file{/dev/pgrpid}
+and @file{/dev/user} were removed.
+
+@item
+Support for IPv6 was added via the @file{/inet6} special file.
+@file{/inet4} forces IPv4 and @file{/inet} chooses the system
+default, which is probably IPv4
+(@pxref{TCP/IP Networking}).
+
+@item
+The use of @samp{\s} and @samp{\S} escape sequences in regular expressions
+(@pxref{GNU Regexp Operators}).
+
+@item
+Interval expressions became part of default regular expressions
+(@pxref{Regexp Operators}).
+
+@item
+POSIX character classes work even with @option{--traditional}
+(@pxref{Regexp Operators}).
+
+@item
+@code{break} and @code{continue} became invalid outside a loop,
+even with @option{--traditional}
+(@pxref{Break Statement}, and also see
+@ref{Continue Statement}).
+
+@item
+@code{fflush()}, @code{nextfile}, and @samp{delete @var{array}}
+are allowed if @option{--posix} or @option{--traditional}, since they
+are all now part of POSIX.
+
+@item
+An optional third argument to
+@code{asort()} and @code{asorti()}, specifying how to sort
+(@pxref{String Functions}).
+
+@item
+The behavior of @code{fflush()} changed to match Brian Kernighan's @command{awk}
+and for POSIX; now both @samp{fflush()} and @samp{fflush("")}
+flush all open output redirections
+(@pxref{I/O Functions}).
+
+@item
+The @code{isarray()}
+function which distinguishes if an item is an array
+or not, to make it possible to traverse multidimensional arrays
+(@pxref{Type Functions}).
+
+@item
+The @code{patsplit()}
+function which gives the same capability as @code{FPAT}, for splitting
+(@pxref{String Functions}).
+
+@item
+An optional fourth argument to the @code{split()} function,
+which is an array to hold the values of the separators
+(@pxref{String Functions}).
+
+@item
+Arrays of arrays
+(@pxref{Arrays of Arrays}).
+
+@item
+The @code{BEGINFILE} and @code{ENDFILE} special patterns
+(@pxref{BEGINFILE/ENDFILE}).
+
+@item
+Indirect function calls
+(@pxref{Indirect Calls}).
+
+@item
+@code{switch} / @code{case} are enabled by default
+(@pxref{Switch Statement}).
+
+@item
+Command line option changes
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{-b} and @option{--characters-as-bytes} options
+which prevent @command{gawk} from treating input as a multibyte string.
+
+@item
+The redundant @option{--compat}, @option{--copyleft}, and @option{--usage}
+long options were removed.
+
+@item
+The @option{--gen-po} option was finally renamed to the correct @option{--gen-pot}.
+
+@item
+The @option{--sandbox} option which disables certain features.
+
+@item
+All long options acquired corresponding short options, for use in @samp{#!} scripts.
+@end itemize
+
+@item
+Directories named on the command line now produce a warning, not a fatal
+error, unless @option{--posix} or @option{--traditional} are used
+(@pxref{Command line directories}).
+
+@item
+The @command{gawk} internals were rewritten, bringing the @command{dgawk}
+debugger and possibly improved performance
+(@pxref{Debugger}).
+
+@item
+Per the GNU Coding Standards, dynamic extensions must now define
+a global symbol indicating that they are GPL-compatible
+(@pxref{Plugin License}).
+
+@item
+In POSIX mode, string comparisons use @code{strcoll()} / @code{wcscoll()}
+(@pxref{POSIX String Comparison}).
+
+@item
+The option for raw sockets was removed, since it was never implemented
+(@pxref{TCP/IP Networking}).
+
+@item
+Ranges of the form @samp{[d-h]} are treated as if they were in the
+C locale, no matter what kind of regexp is being used, and even if
+@option{--posix}
+(@pxref{Ranges and Locales}).
+
+@item
+Support was removed for the following systems:
+
+@itemize @minus
+@item
+Atari
+
+@item
+Amiga
+
+@item
+BeOS
+
+@item
+Cray
+
+@item
+MIPS RiscOS
+
+@item
+MS-DOS with Microsoft Compiler
+
+@item
+MS-Windows with Microsoft Compiler
+
+@item
+NeXT
+
+@item
+SunOS 3.x, Sun 386 (Road Runner)
+
+@item
+Tandem (non-POSIX)
+
+@item
+Prestandard VAX C compiler for VAX/VMS
+@end itemize
+@end itemize
+
+Version 4.1 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+
+@item
+Three new arrays:
+@code{SYMTAB}, @code{FUNCTAB}, and @code{PROCINFO["identifiers"]}
+(@pxref{Auto-set}).
+
+@item
+The three executables @command{gawk}, @command{pgawk}, and @command{dgawk}, were merged into
+one, named just @command{gawk}. As a result the command line options changed.
+
+@item
+Command line option changes
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{-D} option invokes the debugger.
+
+@item
+The @option{-i} and @option{--include} options
+load @command{awk} library files.
+
+@item
+The @option{-l} and @option{--load} options for load compiled dynamic extensions.
+
+@item
+The @option{-M} and @option{--bignum} options enable MPFR.
+
+@item
+The @option{-o} only does pretty-printing.
+
+@item
+The @option{-p} option is used for profiling.
+
+@item
+The @option{-R} option was removed.
+@end itemize
+
+@item
+Support for high precision arithmetic with MPFR.
+(@pxref{Gawk and MPFR}).
+
+@item
+The @code{and()}, @code{or()} and @code{xor()} functions
+allow any number of arguments,
+with a minimum of two
+(@pxref{Bitwise Functions}).
+
+@item
+The dynamic extension interface was completely redone
+(@pxref{Dynamic Extensions}).
+
+@end itemize
+
+@c XXX ADD MORE STUFF HERE
+
@node Common Extensions
@appendixsec Common Extensions Summary
@@ -33626,7 +34252,7 @@ the three most widely-used freely available versions of @command{awk}
@item @samp{\x} Escape sequence @tab X @tab X @tab X
@item @code{RS} as regexp @tab @tab X @tab X
@item @code{FS} as null string @tab X @tab X @tab X
-@item @file{/dev/stdin} special file @tab X @tab @tab X
+@item @file{/dev/stdin} special file @tab X @tab X @tab X
@item @file{/dev/stdout} special file @tab X @tab X @tab X
@item @file{/dev/stderr} special file @tab X @tab X @tab X
@item @code{**} and @code{**=} operators @tab X @tab @tab X
@@ -33634,7 +34260,7 @@ the three most widely-used freely available versions of @command{awk}
@item @code{func} keyword @tab X @tab @tab X
@item @code{nextfile} statement @tab X @tab X @tab X
@item @code{delete} without subscript @tab X @tab X @tab X
-@item @code{length()} of an array @tab X @tab @tab X
+@item @code{length()} of an array @tab X @tab X @tab X
@item @code{BINMODE} variable @tab @tab X @tab X
@item Time related functions @tab @tab X @tab X
@end multitable
@@ -33716,7 +34342,7 @@ When @command{gawk} switched to using locale-aware regexp matchers,
the problems began; especially as both GNU/Linux and commercial Unix
vendors started implementing non-ASCII locales, @emph{and making them
the default}. Perhaps the most frequently asked question became something
-like ``why does @code{[A-Z]} match lowercase letters?!?''
+like ``why does @samp{[A-Z]} match lowercase letters?!?''
This situation existed for close to 10 years, if not more, and
the @command{gawk} maintainer grew weary of trying to explain that
@@ -33936,6 +34562,10 @@ environments.
(This is no longer supported)
@item
+@cindex Wallin, Anders
+Anders Wallin helped keep the VMS port going for several years.
+
+@item
@cindex Haque, John
John Haque made the following contributions:
@@ -33989,7 +34619,7 @@ helping David Trueman, and as the primary maintainer since around 1994.
@appendix Installing @command{gawk}
@c last two commas are part of see also
-@cindex operating systems, See Also GNU/Linux, PC operating systems, Unix
+@cindex operating systems, See Also GNU/Linux@comma{} PC operating systems@comma{} Unix
@c STARTOFRANGE gligawk
@cindex @command{gawk}, installing
@c STARTOFRANGE ingawk
@@ -34394,7 +35024,7 @@ command line when compiling @command{gawk} from scratch, including:
@table @code
-@cindex @code{--disable-extensions} configuration option
+@cindex @option{--disable-extensions} configuration option
@cindex configuration option, @code{--disable-extensions}
@item --disable-extensions
Disable configuring and building the sample extensions in the
@@ -34402,7 +35032,7 @@ Disable configuring and building the sample extensions in the
The default action is to dynamically check if the extensions
can be configured and compiled.
-@cindex @code{--disable-lint} configuration option
+@cindex @option{--disable-lint} configuration option
@cindex configuration option, @code{--disable-lint}
@item --disable-lint
Disable all lint checking within @code{gawk}. The
@@ -34422,14 +35052,14 @@ Using this option may bring you some slight performance improvement.
Using this option will cause some of the tests in the test suite
to fail. This option may be removed at a later date.
-@cindex @code{--disable-nls} configuration option
+@cindex @option{--disable-nls} configuration option
@cindex configuration option, @code{--disable-nls}
@item --disable-nls
Disable all message-translation facilities.
This is usually not desirable, but it may bring you some slight performance
improvement.
-@cindex @code{--with-whiny-user-strftime} configuration option
+@cindex @option{--with-whiny-user-strftime} configuration option
@cindex configuration option, @code{--with-whiny-user-strftime}
@item --with-whiny-user-strftime
Force use of the included version of the @code{strftime()}
@@ -35024,7 +35654,21 @@ If your @command{gawk} was installed by a PCSI kit into the
@file{GNV$GNU:[bin]gnv$gawk.exe} and the help file will be
@file{GNV$GNU:[vms_help]gawk.hlp}.
-Optionally, the help entry can be loaded into a VMS help library:
+The PCSI kit also installs a @file{GNV$GNU:[vms_bin]gawk_verb.cld} file
+which can be used to add @command{gawk} and @command{awk} as DCL commands.
+
+For just the current process you can use:
+
+@example
+$ @kbd{set command gnv$gnu:[vms_bin]gawk_verb.cld}
+@end example
+
+Or the system manager can use @file{GNV$GNU:[vms_bin]gawk_verb.cld} to
+add the @command{gawk} and @command{awk} to the system wide @samp{DCLTABLES}.
+
+The DCL syntax is documented in the @file{gawk.hlp} file.
+
+Optionally, @file{gawk.hlp} entry can be loaded into a VMS help library:
@example
$ @kbd{LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp}
@@ -35135,9 +35779,10 @@ to supply individual PCSI packages for each component.
See @uref{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.
The normal build procedure for @command{gawk} produces a program that
-is suitable for use with GNV. At this time work is being done to create
-the procedures for building a PCSI kit to replace the older @command{gawk}
-port.
+is suitable for use with GNV.
+
+The @file{vms/gawk_build_steps.txt} in the source documents the procedure
+for building a VMS PCSI kit that is compatible with GNV.
@ignore
@c The VMS POSIX product, also known as POSIX for OpenVMS, is long defunct
@@ -35291,7 +35936,7 @@ as follows:
@cindex Rankin, Pat
@cindex Malmberg, John
@item VMS @tab Pat Rankin, @EMAIL{r.pat.rankin@@gmail.com,r.pat.rankin at gmail.com}, and
-John Malmberg, @EMAIL{wb8tyw@@gmail.com,wb8tyw at gmail.com}.
+John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl.net}.
@cindex Pitts, Dave
@item z/OS (OS/390) @tab Dave Pitts, @EMAIL{dpitts@@cozx.com,dpitts at cozx dot com}.
@@ -35652,7 +36297,7 @@ for information on getting the latest version of @command{gawk}.)
@item
@ifnotinfo
-Follow the @cite{GNU Coding Standards}.
+Follow the @uref{http://www.gnu.org/prep/standards/, @cite{GNU Coding Standards}}.
@end ifnotinfo
@ifinfo
See @inforef{Top, , Version, standards, GNU Coding Standards}.
@@ -35811,11 +36456,9 @@ Be prepared to sign the appropriate paperwork.
In order for the FSF to distribute your code, you must either place
your code in the public domain and submit a signed statement to that
effect, or assign the copyright in your code to the FSF.
-@ifinfo
Both of these actions are easy to do and @emph{many} people have done so
already. If you have questions, please contact me, or
@email{gnu@@gnu.org}.
-@end ifinfo
@item
When doing a port, bear in mind that your code must coexist peacefully
diff --git a/doc/gawkinet.info b/doc/gawkinet.info
index c8ce6b8d..0a0d69d8 100644
--- a/doc/gawkinet.info
+++ b/doc/gawkinet.info
@@ -613,7 +613,7 @@ tcp, udp x 0 x Invalid
tcp, udp 0 0 0 Invalid
tcp, udp 0 x 0 Invalid
-Table 2.1: /inet Special File Components
+Table 2.1: /inet Special File Components
In general, TCP is the preferred mechanism to use. It is the
simplest protocol to understand and to use. Use UDP only if
@@ -4358,40 +4358,40 @@ Node: Using Networking17966
Node: Gawk Special Files20284
Node: Special File Fields22094
Ref: table-inet-components25967
-Node: Comparing Protocols27290
-Node: File /inet/tcp27823
-Node: File /inet/udp28849
-Node: TCP Connecting29947
-Node: Troubleshooting32285
-Ref: Troubleshooting-Footnote-135337
-Node: Interacting35906
-Node: Setting Up38636
-Node: Email42130
-Node: Web page44456
-Ref: Web page-Footnote-147261
-Node: Primitive Service47458
-Node: Interacting Service50192
-Ref: Interacting Service-Footnote-159321
-Node: CGI Lib59353
-Node: Simple Server66314
-Ref: Simple Server-Footnote-174037
-Node: Caveats74138
-Node: Challenges75281
-Node: Some Applications and Techniques83960
-Node: PANIC86417
-Node: GETURL88135
-Node: REMCONF90758
-Node: URLCHK96234
-Node: WEBGRAB100069
-Node: STATIST104519
-Ref: STATIST-Footnote-1116227
-Node: MAZE116672
-Node: MOBAGWHO122856
-Ref: MOBAGWHO-Footnote-1136800
-Node: STOXPRED136855
-Node: PROTBASE151110
-Node: Links164191
-Node: GNU Free Documentation License167625
-Node: Index192764
+Node: Comparing Protocols27287
+Node: File /inet/tcp27820
+Node: File /inet/udp28846
+Node: TCP Connecting29944
+Node: Troubleshooting32282
+Ref: Troubleshooting-Footnote-135334
+Node: Interacting35903
+Node: Setting Up38633
+Node: Email42127
+Node: Web page44453
+Ref: Web page-Footnote-147258
+Node: Primitive Service47455
+Node: Interacting Service50189
+Ref: Interacting Service-Footnote-159318
+Node: CGI Lib59350
+Node: Simple Server66311
+Ref: Simple Server-Footnote-174034
+Node: Caveats74135
+Node: Challenges75278
+Node: Some Applications and Techniques83957
+Node: PANIC86414
+Node: GETURL88132
+Node: REMCONF90755
+Node: URLCHK96231
+Node: WEBGRAB100066
+Node: STATIST104516
+Ref: STATIST-Footnote-1116224
+Node: MAZE116669
+Node: MOBAGWHO122853
+Ref: MOBAGWHO-Footnote-1136797
+Node: STOXPRED136852
+Node: PROTBASE151107
+Node: Links164188
+Node: GNU Free Documentation License167622
+Node: Index192761

End Tag Table
diff --git a/doc/gawkinet.texi b/doc/gawkinet.texi
index eb0f2d81..40198e1d 100644
--- a/doc/gawkinet.texi
+++ b/doc/gawkinet.texi
@@ -597,7 +597,7 @@ is started, @command{gawk} creates the appropriate network
connection, and then two-way I/O proceeds as usual.
@c last comma is part of see-also
-@cindex input/output, two-way, See Also @command{gawk}, networking
+@cindex input/output, two-way, See Also @command{gawk}@comma{} networking
@cindex TCP/IP, sockets and
At the C, C++, and Perl level, networking is accomplished
via @dfn{sockets}, an Application Programming Interface (API) originally
@@ -1144,9 +1144,9 @@ or the application cannot tolerate virtual circuit overhead.
@node Setting Up, Email, Interacting, Using Networking
@section Setting Up a Service
@c last comma is part of tertiary
-@cindex networks, @command{gawk} and, service, establishing
+@cindex networks, @command{gawk} and, service@comma{} establishing
@c last comma is part of tertiary
-@cindex @command{gawk}, networking, service, establishing
+@cindex @command{gawk}, networking, service@comma{} establishing
The preceding programs behaved as clients that connect to a server somewhere
on the Internet and request a particular service. Now we set up such a
service to mimic the behavior of the @samp{daytime} service.
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 94f77e9e..6b9acdea 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -14,6 +14,20 @@
* awk: (gawk)Invoking gawk. Text scanning and processing.
@end direntry
+@ifset FOR_PRINT
+@tex
+\gdef\xrefprintnodename#1{``#1''}
+@end tex
+@end ifset
+@ifclear FOR_PRINT
+@c With early 2014 texinfo.tex, restore PDF links and colors
+@tex
+\gdef\linkcolor{0.5 0.09 0.12} % Dark Red
+\gdef\urlcolor{0.5 0.09 0.12} % Also
+\global\urefurlonlylinktrue
+@end tex
+@end ifclear
+
@set xref-automatic-section-title
@c The following information should be updated here only!
@@ -21,7 +35,7 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH January, 2014
+@set UPDATE-MONTH February, 2014
@set VERSION 4.1
@set PATCHLEVEL 0
@@ -117,10 +131,7 @@
@ignore
Some comments on the layout for TeX.
-1. Use at least texinfo.tex 2000-09-06.09
-2. I have done A LOT of work to make this look good. There are `@page' commands
- and use of `@group ... @end group' in a number of places. If you muck
- with anything, it's your responsibility not to break the layout.
+1. Use at least texinfo.tex 2014-01-30.15
@end ignore
@c merge the function and variable indexes into the concept index
@@ -397,7 +408,8 @@ particular records in a file and perform operations upon them.
field.
* Command Line Field Separator:: Setting @code{FS} from the
command-line.
-* Full Line Fields:: Making the full line be a single field.
+* Full Line Fields:: Making the full line be a single
+ field.
* Field Splitting Summary:: Some final points and a summary table.
* Constant Size:: Reading constant width data.
* Splitting By Content:: Defining Fields By Content
@@ -787,6 +799,7 @@ particular records in a file and perform operations upon them.
version of @command{awk}.
* POSIX/GNU:: The extensions in @command{gawk} not
in POSIX @command{awk}.
+* Feature History:: The history of the features in @command{gawk}.
* Common Extensions:: Common Extensions Summary.
* Ranges and Locales:: How locales used to affect regexp
ranges.
@@ -1212,7 +1225,7 @@ and the program ``the @command{awk} utility.''
This @value{DOCUMENT} explains
both how to write programs in the @command{awk} language and how to
run the @command{awk} utility.
-The term @dfn{@command{awk} program} refers to a program written by you in
+The term ``@command{awk} program'' refers to a program written by you in
the @command{awk} programming language.
@cindex @command{gawk}, @command{awk} and
@@ -1745,7 +1758,6 @@ significant editorial help for this @value{DOCUMENT} for the
@cindex Rankin, Pat
@cindex Schorr, Andrew
@cindex Vinschen, Corinna
-@cindex Wallin, Anders
@cindex Zaretskii, Eli
Dr.@: Nelson Beebe,
@@ -1765,7 +1777,6 @@ Chet Ramey,
Pat Rankin,
Andrew Schorr,
Corinna Vinschen,
-Anders Wallin,
and Eli Zaretskii
(in alphabetical order)
make up the current
@@ -2066,7 +2077,7 @@ more convenient to put the program into a separate file. In order to tell
awk -f @var{source-file} @var{input-file1} @var{input-file2} @dots{}
@end example
-@cindex @code{-f} option
+@cindex @option{-f} option
@cindex command line, options
@cindex options, command-line
The @option{-f} instructs the @command{awk} utility to get the @command{awk} program
@@ -2537,23 +2548,8 @@ Apr 21 70 74 514
@c endfile
@end example
-@ifinfo
-If you are reading this in GNU Emacs using Info, you can copy the regions
-of text showing these sample files into your own test files. This way you
-can try out the examples shown in the remainder of this document. You do
-this by using the command @kbd{M-x write-region} to copy text from the Info
-file into a file for use with @command{awk}
-(@xref{Misc File Ops, , Miscellaneous File Operations, emacs, GNU Emacs Manual},
-for more information). Using this information, create your own
-@file{BBS-list} and @file{inventory-shipped} files and practice what you
-learn in this @value{DOCUMENT}.
-
-@cindex Texinfo
-If you are using the stand-alone version of Info,
-see @ref{Extract Program},
-for an @command{awk} program that extracts these data files from
-@file{gawk.texi}, the (generated) Texinfo source file for this Info file.
-@end ifinfo
+The sample files are included in the @command{gawk} distribution,
+in the directory @file{awklib/eg/data}.
@node Very Simple
@section Some Simple Examples
@@ -3050,7 +3046,7 @@ easier to maintain and usually run more efficiently.
@node Invoking Gawk
@chapter Running @command{awk} and @command{gawk}
-This @value{CHAPTER} covers how to run awk, both POSIX-standard
+This @value{CHAPTER} covers how to run @command{awk}, both POSIX-standard
and @command{gawk}-specific command-line options, and what
@command{awk} and
@command{gawk} do with non-option arguments.
@@ -3107,7 +3103,7 @@ It is possible to invoke @command{awk} with an empty program:
awk '' datafile1 datafile2
@end example
-@cindex @code{--lint} option
+@cindex @option{--lint} option
@noindent
Doing so makes little sense, though; @command{awk} exits
silently when given an empty program.
@@ -3147,43 +3143,27 @@ The following list describes options mandated by the POSIX standard:
@table @code
@item -F @var{fs}
@itemx --field-separator @var{fs}
-@cindex @code{-F} option
-@cindex @code{--field-separator} option
+@cindex @option{-F} option
+@cindex @option{--field-separator} option
@cindex @code{FS} variable, @code{--field-separator} option and
Set the @code{FS} variable to @var{fs}
(@pxref{Field Separators}).
@item -f @var{source-file}
@itemx --file @var{source-file}
-@cindex @code{-f} option
-@cindex @code{--file} option
+@cindex @option{-f} option
+@cindex @option{--file} option
@cindex @command{awk} programs, location of
Read @command{awk} program source from @var{source-file}
instead of in the first non-option argument.
This option may be given multiple times; the @command{awk}
-program consists of the concatenation the contents of
+program consists of the concatenation of the contents of
each specified @var{source-file}.
-@item -i @var{source-file}
-@itemx --include @var{source-file}
-@cindex @code{-i} option
-@cindex @code{--include} option
-@cindex @command{awk} programs, location of
-Read @command{awk} source library from @var{source-file}. This option is
-completely equivalent to using the @samp{@@include} directive inside
-your program. This option is very
-similar to the @option{-f} option, but there are two important differences.
-First, when @option{-i} is used, the program source will not be loaded if it has
-been previously loaded, whereas the @option{-f} will always load the file.
-Second, because this option is intended to be used with code libraries,
-@command{gawk} does not recognize such files as constituting main program
-input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to
-find the main source code via the @option{-f} option or on the command-line.
-
@item -v @var{var}=@var{val}
@itemx --assign @var{var}=@var{val}
-@cindex @code{-v} option
-@cindex @code{--assign} option
+@cindex @option{-v} option
+@cindex @option{--assign} option
@cindex variables, setting
Set the variable @var{var} to the value @var{val} @emph{before}
execution of the program begins. Such variable values are available
@@ -3204,7 +3184,7 @@ predefined value you may have given.
@end quotation
@item -W @var{gawk-opt}
-@cindex @code{-W} option
+@cindex @option{-W} option
Provide an implementation-specific option.
This is the POSIX convention for providing implementation-specific options.
These options
@@ -3237,8 +3217,8 @@ The following list describes @command{gawk}-specific options:
@table @code
@item -b
@itemx --characters-as-bytes
-@cindex @code{-b} option
-@cindex @code{--characters-as-bytes} option
+@cindex @option{-b} option
+@cindex @option{--characters-as-bytes} option
Cause @command{gawk} to treat all input data as single-byte characters.
In addition, all output written with @code{print} or @code{printf}
are treated as single-byte characters.
@@ -3252,8 +3232,8 @@ multibyte characters. This option is an easy way to tell @command{gawk}:
@item -c
@itemx --traditional
-@cindex @code{--c} option
-@cindex @code{--traditional} option
+@cindex @option{-c} option
+@cindex @option{--traditional} option
@cindex compatibility mode (@command{gawk}), specifying
Specify @dfn{compatibility mode}, in which the GNU extensions to
the @command{awk} language are disabled, so that @command{gawk} behaves just
@@ -3264,17 +3244,17 @@ which summarizes the extensions. Also see
@item -C
@itemx --copyright
-@cindex @code{-C} option
-@cindex @code{--copyright} option
+@cindex @option{-C} option
+@cindex @option{--copyright} option
@cindex GPL (General Public License), printing
Print the short version of the General Public License and then exit.
@item -d@r{[}@var{file}@r{]}
@itemx --dump-variables@r{[}=@var{file}@r{]}
-@cindex @code{-d} option
-@cindex @code{--dump-variables} option
-@cindex @code{awkvars.out} file
-@cindex files, @code{awkvars.out}
+@cindex @option{-d} option
+@cindex @option{--dump-variables} option
+@cindex @file{awkvars.out} file
+@cindex files, @file{awkvars.out}
@cindex variables, global, printing list of
Print a sorted list of global variables, their types, and final values
to @var{file}. If no @var{file} is provided, print this
@@ -3293,8 +3273,8 @@ names like @code{i}, @code{j}, etc.)
@item -D@r{[}@var{file}@r{]}
@itemx --debug=@r{[}@var{file}@r{]}
-@cindex @code{-D} option
-@cindex @code{--debug} option
+@cindex @option{-D} option
+@cindex @option{--debug} option
@cindex @command{awk} debugging, enabling
Enable debugging of @command{awk} programs
(@pxref{Debugging}).
@@ -3306,8 +3286,8 @@ No space is allowed between the @option{-D} and @var{file}, if
@item -e @var{program-text}
@itemx --source @var{program-text}
-@cindex @code{-e} option
-@cindex @code{--source} option
+@cindex @option{-e} option
+@cindex @option{--source} option
@cindex source code, mixing
Provide program source code in the @var{program-text}.
This option allows you to mix source code in files with source
@@ -3318,8 +3298,8 @@ programs (@pxref{AWKPATH Variable}).
@item -E @var{file}
@itemx --exec @var{file}
-@cindex @code{-E} option
-@cindex @code{--exec} option
+@cindex @option{-E} option
+@cindex @option{--exec} option
@cindex @command{awk} programs, location of
@cindex CGI, @command{awk} scripts for
Similar to @option{-f}, read @command{awk} program text from @var{file}.
@@ -3349,8 +3329,8 @@ with @samp{#!} scripts (@pxref{Executable Scripts}), like so:
@item -g
@itemx --gen-pot
-@cindex @code{-g} option
-@cindex @code{--gen-pot} option
+@cindex @option{-g} option
+@cindex @option{--gen-pot} option
@cindex portable object files, generating
@cindex files, portable object, generating
Analyze the source program and
@@ -3361,18 +3341,34 @@ for information about this option.
@item -h
@itemx --help
-@cindex @code{-h} option
-@cindex @code{--help} option
+@cindex @option{-h} option
+@cindex @option{--help} option
@cindex GNU long options, printing list of
@cindex options, printing list of
@cindex printing, list of options
Print a ``usage'' message summarizing the short and long style options
that @command{gawk} accepts and then exit.
+@item -i @var{source-file}
+@itemx --include @var{source-file}
+@cindex @option{-i} option
+@cindex @option{--include} option
+@cindex @command{awk} programs, location of
+Read @command{awk} source library from @var{source-file}. This option is
+completely equivalent to using the @samp{@@include} directive inside
+your program. This option is very
+similar to the @option{-f} option, but there are two important differences.
+First, when @option{-i} is used, the program source will not be loaded if it has
+been previously loaded, whereas the @option{-f} will always load the file.
+Second, because this option is intended to be used with code libraries,
+@command{gawk} does not recognize such files as constituting main program
+input. Thus, after processing an @option{-i} argument, @command{gawk} still expects to
+find the main source code via the @option{-f} option or on the command-line.
+
@item -l @var{lib}
@itemx --load @var{lib}
-@cindex @code{-l} option
-@cindex @code{--load} option
+@cindex @option{-l} option
+@cindex @option{--load} option
@cindex loading, library
Load a shared library @var{lib}. This searches for the library using the @env{AWKLIBPATH}
environment variable. The correct library suffix for your platform will be
@@ -3383,8 +3379,8 @@ a shared library.
@item -L @r{[}value@r{]}
@itemx --lint@r{[}=value@r{]}
-@cindex @code{-l} option
-@cindex @code{--lint} option
+@cindex @option{-l} option
+@cindex @option{--lint} option
@cindex lint checking, issuing warnings
@cindex warnings, issuing
Warn about constructs that are dubious or nonportable to
@@ -3406,16 +3402,16 @@ care to search for all occurrences of each inappropriate construct. As
@item -M
@itemx --bignum
-@cindex @code{-M} option
-@cindex @code{--bignum} option
+@cindex @option{-M} option
+@cindex @option{--bignum} option
Force arbitrary precision arithmetic on numbers. This option has no effect
if @command{gawk} is not compiled to use the GNU MPFR and MP libraries
(@pxref{Arbitrary Precision Arithmetic}).
@item -n
@itemx --non-decimal-data
-@cindex @code{-n} option
-@cindex @code{--non-decimal-data} option
+@cindex @option{-n} option
+@cindex @option{--non-decimal-data} option
@cindex hexadecimal values@comma{} enabling interpretation of
@cindex octal values@comma{} enabling interpretation of
@cindex troubleshooting, @code{--non-decimal-data} option
@@ -3430,15 +3426,15 @@ Use with care.
@item -N
@itemx --use-lc-numeric
-@cindex @code{-N} option
-@cindex @code{--use-lc-numeric} option
+@cindex @option{-N} option
+@cindex @option{--use-lc-numeric} option
Force the use of the locale's decimal point character
when parsing numeric input data (@pxref{Locales}).
@item -o@r{[}@var{file}@r{]}
@itemx --pretty-print@r{[}=@var{file}@r{]}
-@cindex @code{-o} option
-@cindex @code{--pretty-print} option
+@cindex @option{-o} option
+@cindex @option{--pretty-print} option
Enable pretty-printing of @command{awk} programs.
By default, output program is created in a file named @file{awkprof.out}.
The optional @var{file} argument allows you to specify a different
@@ -3448,16 +3444,16 @@ No space is allowed between the @option{-o} and @var{file}, if
@item -O
@itemx --optimize
-@cindex @code{--optimize} option
-@cindex @code{-O} option
+@cindex @option{--optimize} option
+@cindex @option{-O} option
Enable some optimizations on the internal representation of the program.
At the moment this includes just simple constant folding. The @command{gawk}
maintainer hopes to add more optimizations over time.
@item -p@r{[}@var{file}@r{]}
@itemx --profile@r{[}=@var{file}@r{]}
-@cindex @code{-p} option
-@cindex @code{--profile} option
+@cindex @option{-p} option
+@cindex @option{--profile} option
@cindex @command{awk} profiling, enabling
Enable profiling of @command{awk} programs
(@pxref{Profiling}).
@@ -3472,8 +3468,8 @@ in the left margin, and function call counts for each function.
@item -P
@itemx --posix
-@cindex @code{-P} option
-@cindex @code{--posix} option
+@cindex @option{-P} option
+@cindex @option{--posix} option
@cindex POSIX mode
@cindex @command{gawk}, extensions@comma{} disabling
Operate in strict POSIX mode. This disables all @command{gawk}
@@ -3514,16 +3510,16 @@ data (@pxref{Locales}).
@c @cindex automatic warnings
@c @cindex warnings, automatic
-@cindex @code{--traditional} option, @code{--posix} option and
-@cindex @code{--posix} option, @code{--traditional} option and
+@cindex @option{--traditional} option, @code{--posix} option and
+@cindex @option{--posix} option, @code{--traditional} option and
If you supply both @option{--traditional} and @option{--posix} on the
command line, @option{--posix} takes precedence. @command{gawk}
also issues a warning if both options are supplied.
@item -r
@itemx --re-interval
-@cindex @code{-r} option
-@cindex @code{--re-interval} option
+@cindex @option{-r} option
+@cindex @option{--re-interval} option
@cindex regular expressions, interval expressions and
Allow interval expressions
(@pxref{Regexp Operators})
@@ -3534,8 +3530,8 @@ and for use in combination with the @option{--traditional} option.
@item -S
@itemx --sandbox
-@cindex @code{-S} option
-@cindex @code{--sandbox} option
+@cindex @option{-S} option
+@cindex @option{--sandbox} option
@cindex sandbox mode
Disable the @code{system()} function,
input redirections with @code{getline},
@@ -3547,16 +3543,16 @@ can't access your system (other than the specified input data file).
@item -t
@itemx --lint-old
-@cindex @code{--L} option
-@cindex @code{--lint-old} option
+@cindex @option{-L} option
+@cindex @option{--lint-old} option
Warn about constructs that are not available in the original version of
@command{awk} from Version 7 Unix
(@pxref{V7/SVR3.1}).
@item -V
@itemx --version
-@cindex @code{-V} option
-@cindex @code{--version} option
+@cindex @option{-V} option
+@cindex @option{--version} option
@cindex @command{gawk}, versions of, information about@comma{} printing
Print version information for this particular copy of @command{gawk}.
This allows you to determine if your copy of @command{gawk} is up to date
@@ -3570,14 +3566,14 @@ As long as program text has been supplied,
any other options are flagged as invalid with a warning message but
are otherwise ignored.
-@cindex @code{-F} option, @code{-Ft} sets @code{FS} to TAB
+@cindex @option{-F} option, @option{-Ft} sets @code{FS} to TAB
In compatibility mode, as a special case, if the value of @var{fs} supplied
to the @option{-F} option is @samp{t}, then @code{FS} is set to the TAB
character (@code{"\t"}). This is true only for @option{--traditional} and not
for @option{--posix}
(@pxref{Field Separators}).
-@cindex @code{-f} option, multiple uses
+@cindex @option{-f} option, multiple uses
The @option{-f} option may be used more than once on the command line.
If it is, @command{awk} reads its program source from all of the named files, as
if they had been concatenated together into one big file. This is
@@ -3604,7 +3600,7 @@ and library source code
(@pxref{AWKPATH Variable}).
The @option{--source} option may also be used multiple times on the command line.
-@cindex @code{--source} option
+@cindex @option{--source} option
If no @option{-f} or @option{--source} option is specified, then @command{gawk}
uses the first non-option command-line argument as the text of the
program source code.
@@ -4894,8 +4890,8 @@ These sequences are:
@item Collating symbols
Multicharacter collating elements enclosed between
@samp{[.} and @samp{.]}. For example, if @samp{ch} is a collating element,
-then @code{[[.ch.]]} is a regexp that matches this collating element, whereas
-@code{[ch]} is a regexp that matches either @samp{c} or @samp{h}.
+then @samp{[[.ch.]]} is a regexp that matches this collating element, whereas
+@samp{[ch]} is a regexp that matches either @samp{c} or @samp{h}.
@cindex bracket expressions, equivalence classes
@item Equivalence classes
@@ -4903,7 +4899,7 @@ Locale-specific names for a list of
characters that are equal. The name is enclosed between
@samp{[=} and @samp{=]}.
For example, the name @samp{e} might be used to represent all of
-``e,'' ``@`e,'' and ``@'e.'' In this case, @code{[[=e=]]} is a regexp
+``e,'' ``@`e,'' and ``@'e.'' In this case, @samp{[[=e=]]} is a regexp
that matches any of @samp{e}, @samp{@'e}, or @samp{@`e}.
@end table
@@ -4947,7 +4943,7 @@ or underscores (@samp{_}):
@item \s
Matches any whitespace character.
Think of it as shorthand for
-@w{@code{[[:space:]]}}.
+@w{@samp{[[:space:]]}}.
@c @cindex operators, @code{\S} (@command{gawk})
@cindex backslash (@code{\}), @code{\S} operator (@command{gawk})
@@ -4955,7 +4951,7 @@ Think of it as shorthand for
@item \S
Matches any character that is not whitespace.
Think of it as shorthand for
-@w{@code{[^[:space:]]}}.
+@w{@samp{[^[:space:]]}}.
@c @cindex operators, @code{\w} (@command{gawk})
@cindex backslash (@code{\}), @code{\w} operator (@command{gawk})
@@ -4963,7 +4959,7 @@ Think of it as shorthand for
@item \w
Matches any word-constituent character---that is, it matches any
letter, digit, or underscore. Think of it as shorthand for
-@w{@code{[[:alnum:]_]}}.
+@w{@samp{[[:alnum:]_]}}.
@c @cindex operators, @code{\W} (@command{gawk})
@cindex backslash (@code{\}), @code{\W} operator (@command{gawk})
@@ -4971,7 +4967,7 @@ letter, digit, or underscore. Think of it as shorthand for
@item \W
Matches any character that is not word-constituent.
Think of it as shorthand for
-@w{@code{[^[:alnum:]_]}}.
+@w{@samp{[^[:alnum:]_]}}.
@c @cindex operators, @code{\<} (@command{gawk})
@cindex backslash (@code{\}), @code{\<} operator (@command{gawk})
@@ -5082,7 +5078,7 @@ are allowed.
@item @code{--traditional}
Traditional Unix @command{awk} regexps are matched. The GNU operators
are not special, and interval expressions are not available.
-The POSIX character classes (@code{[[:alnum:]]}, etc.) are supported,
+The POSIX character classes (@samp{[[:alnum:]]}, etc.) are supported,
as Brian Kernighan's @command{awk} does support them.
Characters described by octal and hexadecimal escape sequences are
treated literally, even if they represent regexp metacharacters.
@@ -5659,20 +5655,26 @@ BEGIN @{ RS = "\0" @} # whole file becomes one record?
@command{gawk} in fact accepts this, and uses the @sc{nul}
character for the record separator.
However, this usage is @emph{not} portable
-to other @command{awk} implementations.
+to most other @command{awk} implementations.
@cindex dark corner, strings, storing
-All other @command{awk} implementations@footnote{At least that we know
+Almost all other @command{awk} implementations@footnote{At least that we know
about.} store strings internally as C-style strings. C strings use the
@sc{nul} character as the string terminator. In effect, this means that
@samp{RS = "\0"} is the same as @samp{RS = ""}.
@value{DARKCORNER}
+It happens that recent versions of @command{mawk} can use the @sc{nul}
+character as a record separator. However, this is a special case:
+@command{mawk} does not allow embedded @sc{nul} characters in strings.
+
@cindex records, treating files as
@cindex files, as single records
The best way to treat a whole file as a single record is to
simply read the file in, one record at a time, concatenating each
record onto the end of the previous ones.
+
+@c @strong{FIXME}: Using @sc{nul} is good for @file{/proc/environ} etc.
@end sidebar
@c ENDOFRANGE inspl
@c ENDOFRANGE recspl
@@ -6283,7 +6285,7 @@ behaves this way.
@node Command Line Field Separator
@subsection Setting @code{FS} from the Command Line
-@cindex @code{-F} option
+@cindex @option{-F} option
@cindex options, command-line
@cindex command line, options
@cindex field separators, on command line
@@ -6523,19 +6525,11 @@ will take effect.
@node Constant Size
@section Reading Fixed-Width Data
-@ifnotinfo
@quotation NOTE
This @value{SECTION} discusses an advanced
feature of @command{gawk}. If you are a novice @command{awk} user,
you might want to skip it on the first reading.
@end quotation
-@end ifnotinfo
-
-@ifinfo
-(This @value{SECTION} discusses an advanced feature of @command{awk}.
-If you are a novice @command{awk} user, you might want to skip it on
-the first reading.)
-@end ifinfo
@cindex data, fixed-width
@cindex fixed-width data
@@ -6665,19 +6659,11 @@ for an example of such a function).
@node Splitting By Content
@section Defining Fields By Content
-@ifnotinfo
@quotation NOTE
This @value{SECTION} discusses an advanced
feature of @command{gawk}. If you are a novice @command{awk} user,
you might want to skip it on the first reading.
@end quotation
-@end ifnotinfo
-
-@ifinfo
-(This @value{SECTION} discusses an advanced feature of @command{awk}.
-If you are a novice @command{awk} user, you might want to skip it on
-the first reading.)
-@end ifinfo
@cindex advanced features, specifying field content
Normally, when using @code{FS}, @command{gawk} defines the fields as the
@@ -6974,6 +6960,7 @@ then @command{gawk} sets @code{RT} to the null string.
@c STARTOFRANGE getl
@cindex @code{getline} command, explicit input with
+@c STARTOFRANGE inex
@cindex input, explicit
So far we have been getting our input data from @command{awk}'s main
input stream---either the standard input (usually your terminal, sometimes
@@ -6993,7 +6980,7 @@ rest of this @value{DOCUMENT} and have a good knowledge of how @command{awk} wor
@cindex @code{ERRNO} variable
@cindex differences in @command{awk} and @command{gawk}, @code{getline} command
@cindex @code{getline} command, return values
-@cindex @code{--sandbox} option, input redirection with @command{getline}
+@cindex @option{--sandbox} option, input redirection with @code{getline}
The @code{getline} command returns one if it finds a record and zero if
it encounters the end of the file. If there is some error in getting
@@ -8445,9 +8432,11 @@ on the @code{print} statement
@node Redirection
@section Redirecting Output of @code{print} and @code{printf}
+@c STARTOFRANGE outre
@cindex output redirection
+@c STARTOFRANGE reout
@cindex redirection of output
-@cindex @code{--sandbox} option, output redirection with @code{print}, @code{printf}
+@cindex @option{--sandbox} option, output redirection with @code{print}, @code{printf}
So far, the output from @code{print} and @code{printf} has gone
to the standard
output, usually the screen. Both @code{print} and @code{printf} can
@@ -8464,8 +8453,8 @@ Redirections in @command{awk} are written just like redirections in shell
commands, except that they are written inside the @command{awk} program.
@c the commas here are part of the see also
-@cindex @code{print} statement, See Also redirection, of output
-@cindex @code{printf} statement, See Also redirection, of output
+@cindex @code{print} statement, See Also redirection@comma{} of output
+@cindex @code{printf} statement, See Also redirection@comma{} of output
There are four forms of output redirection: output to a file, output
appended to a file, output through a pipe to another command, and output
to a coprocess. They are all shown for the @code{print} statement,
@@ -9114,6 +9103,8 @@ which provide the values used in expressions.
@node Constants
@subsection Constant Expressions
+
+@c STARTOFRANGE cnst
@cindex constants, types of
The simplest type of expression is the @dfn{constant}, which always has
@@ -9459,7 +9450,7 @@ Such an assignment has the following form:
@var{variable}=@var{text}
@end example
-@cindex @code{-v} option
+@cindex @option{-v} option
@noindent
With it, a variable is set either at the beginning of the
@command{awk} run or in between input files.
@@ -9617,7 +9608,7 @@ point when reading the @command{awk} program source code, and for command-line
variable assignments (@pxref{Other Arguments}).
However, when interpreting input data, for @code{print} and @code{printf} output,
and for number to string conversion, the local decimal point character is used.
-@value{DARKCORNER}.
+@value{DARKCORNER}
Here are some examples indicating the difference in behavior,
on a GNU/Linux system:
@@ -10236,6 +10227,7 @@ just like variables. (Use @samp{$(i++)} when you want to do a field reference
and a variable increment at the same time. The parentheses are necessary
because of the precedence of the field reference operator @samp{$}.)
+@c STARTOFRANGE deop
@cindex decrement operators
The decrement operator @samp{--} works just like @samp{++}, except that
it subtracts one instead of adding it. As with @samp{++}, it can be used before
@@ -10654,7 +10646,7 @@ string comparison (true)
string comparison (true)
@item a = 2; b = " +2"
-@item a == b
+@itemx a == b
string comparison (false)
@end table
@@ -13147,13 +13139,7 @@ The number of fields in the current input record.
@code{NF} is set each time a new record is read, when a new field is
created or when @code{$0} changes (@pxref{Fields}).
-Unlike most of the variables described in this
-@ifnotinfo
-section,
-@end ifnotinfo
-@ifinfo
-node,
-@end ifinfo
+Unlike most of the variables described in this @value{SUBSECTION},
assigning a value to @code{NF} has the potential to affect
@command{awk}'s internal workings. In particular, assignments
to @code{NF} can be used to create or remove fields from the
@@ -16138,7 +16124,7 @@ close("/bin/sh")
@noindent
@cindex troubleshooting, @code{system()} function
-@cindex @code{--sandbox} option, disabling @code{system()} function
+@cindex @option{--sandbox} option, disabling @code{system()} function
However, if your @command{awk}
program is interactive, @code{system()} is useful for running large
self-contained programs, such as a shell or an editor.
@@ -18236,7 +18222,7 @@ The leading capital letter indicates that it is global, while the fact that
the variable name is not all capital letters indicates that the variable is
not one of @command{awk}'s built-in variables, such as @code{FS}.
-@cindex @code{--dump-variables} option
+@cindex @option{--dump-variables} option
It is also important that @emph{all} variables in library
functions that do not need to save state are, in fact, declared
local.@footnote{@command{gawk}'s @option{--dump-variables} command-line
@@ -18696,7 +18682,7 @@ function _ord_init( low, high, i, t)
@cindex ASCII
@cindex EBCDIC
@cindex mark parity
-Some explanation of the numbers used by @code{chr} is worthwhile.
+Some explanation of the numbers used by @code{chr()} is worthwhile.
The most prominent character set in use today is ASCII.@footnote{This
is changing; many systems use Unicode, a very large character set
that includes ASCII as a subset. On systems with full Unicode support,
@@ -19773,7 +19759,7 @@ use @code{getopt()} to process their arguments.
@c STARTOFRANGE libfudata
@cindex libraries of @command{awk} functions, user database, reading
@c STARTOFRANGE flibudata
-@cindex functions, library, user database, reading
+@cindex functions, library, user database@comma{} reading
@c STARTOFRANGE udatar
@cindex user database@comma{} reading
@c STARTOFRANGE dataur
@@ -20141,7 +20127,7 @@ uses these functions.
@c STARTOFRANGE libfgdata
@cindex libraries of @command{awk} functions, group database, reading
@c STARTOFRANGE flibgdata
-@cindex functions, library, group database, reading
+@cindex functions, library, group database@comma{} reading
@c STARTOFRANGE gdatar
@cindex group database, reading
@c STARTOFRANGE datagr
@@ -22280,6 +22266,32 @@ word, comparing it to the previous one:
@i{Nothing cures insomnia like a ringing alarm clock.}
@author Arnold Robbins
@end quotation
+@cindex Quanstrom, Erik
+@ignore
+Date: Sat, 15 Feb 2014 16:47:09 -0500
+Subject: Re: 9atom install question
+Message-ID: <l2jcvx6j6mey60xnrkb0hhob.1392500829294@email.android.com>
+From: Erik Quanstrom <quanstro@quanstro.net>
+To: Aharon Robbins <arnold@skeeve.com>
+
+yes.
+
+- erik
+
+Aharon Robbins <arnold@skeeve.com> wrote:
+
+>> sleep is for web developers.
+>
+>Can I quote you, in the gawk manual?
+>
+>Thanks,
+>
+>Arnold
+@end ignore
+@quotation
+@i{Sleep is for web developers.}
+@author Erik Quanstrom
+@end quotation
@c STARTOFRANGE tialarm
@cindex time, alarm clock example program
@@ -22947,7 +22959,8 @@ printed and online documentation.
@ifnotinfo
Texinfo is fully documented in the book
@cite{Texinfo---The GNU Documentation Format},
-available from the Free Software Foundation.
+available from the Free Software Foundation,
+and also available @uref{http://www.gnu.org/software/texinfo/manual/texinfo/, online}.
@end ifnotinfo
@ifinfo
The Texinfo language is described fully, starting with
@@ -24080,7 +24093,7 @@ It contains the following chapters:
@node Advanced Features
@chapter Advanced Features of @command{gawk}
-@cindex advanced features, network connections, See Also networks, connections
+@cindex advanced features, network connections, See Also networks@comma{} connections
@c STARTOFRANGE gawadv
@cindex @command{gawk}, features, advanced
@c STARTOFRANGE advgaw
@@ -24146,7 +24159,7 @@ discusses the ability to dynamically add new built-in functions to
@node Nondecimal Data
@section Allowing Nondecimal Input Data
-@cindex @code{--non-decimal-data} option
+@cindex @option{--non-decimal-data} option
@cindex advanced features, nondecimal input data
@cindex input, data@comma{} nondecimal
@cindex constants, nondecimal
@@ -24190,7 +24203,7 @@ using this facility could lead to surprising results, the default is to leave it
disabled. If you want it, you must explicitly request it.
@cindex programming conventions, @code{--non-decimal-data} option
-@cindex @code{--non-decimal-data} option, @code{strtonum()} function and
+@cindex @option{--non-decimal-data} option, @code{strtonum()} function and
@cindex @code{strtonum()} function (@command{gawk}), @code{--non-decimal-data} option and
@quotation CAUTION
@emph{Use of this option is not recommended.}
@@ -24898,7 +24911,7 @@ When @command{gawk} has finished running, it creates a profile of your program i
named @file{awkprof.out}. Because it is profiling, it also executes up to 45% slower than
@command{gawk} normally does.
-@cindex @code{--profile} option
+@cindex @option{--profile} option
As shown in the following example,
the @option{--profile} option can be used to change the name of the file
where @command{gawk} will write the profile:
@@ -25617,13 +25630,13 @@ is covered.
@subsection Extracting Marked Strings
@cindex strings, extracting
@cindex marked strings@comma{} extracting
-@cindex @code{--gen-pot} option
+@cindex @option{--gen-pot} option
@cindex command-line options, string extraction
@cindex string extraction (internationalization)
@cindex marked string extraction (internationalization)
@cindex extraction, of marked strings (internationalization)
-@cindex @code{--gen-pot} option
+@cindex @option{--gen-pot} option
Once your @command{awk} program is working, and all the strings have
been marked and you've set (and perhaps bound) the text domain,
it is time to produce translations.
@@ -28820,9 +28833,9 @@ certain fields in the API data structures unwritable from extension code,
while allowing @command{gawk} to use them as it needs to.
@item typedef enum awk_bool @{
-@item @ @ @ @ awk_false = 0,
-@item @ @ @ @ awk_true
-@item @} awk_bool_t;
+@itemx @ @ @ @ awk_false = 0,
+@itemx @ @ @ @ awk_true
+@itemx @} awk_bool_t;
A simple boolean type.
@item typedef struct awk_string @{
@@ -31409,14 +31422,14 @@ The usage is:
@item @@load "filefuncs"
This is how you load the extension.
-@cindex @code{chdir} extension function
+@cindex @code{chdir()} extension function
@item result = chdir("/some/directory")
The @code{chdir()} function is a direct hook to the @code{chdir()}
system call to change the current directory. It returns zero
upon success or less than zero upon error. In the latter case it updates
@code{ERRNO}.
-@cindex @code{stat} extension function
+@cindex @code{stat()} extension function
@item result = stat("/some/path", statdata [, follow])
The @code{stat()} function provides a hook into the
@code{stat()} system call.
@@ -31506,7 +31519,7 @@ or
Not all systems support all file types.
@end multitable
-@cindex @code{fts} extension function
+@cindex @code{fts()} extension function
@item flags = or(FTS_PHYSICAL, ...)
@itemx result = fts(pathlist, flags, filedata)
Walk the file trees provided in @code{pathlist} and fill in the
@@ -31627,7 +31640,7 @@ See @file{test/fts.awk} in the @command{gawk} distribution for an example.
@node Extension Sample Fnmatch
@subsection Interface To @code{fnmatch()}
-@cindex @code{fnmatch} extension function
+@cindex @code{fnmatch()} extension function
This extension provides an interface to the C library
@code{fnmatch()} function. The usage is:
@@ -31700,7 +31713,7 @@ The @code{fork} extension adds three functions, as follows.
@item @@load "fork"
This is how you load the extension.
-@cindex @code{fork} extension function
+@cindex @code{fork()} extension function
@item pid = fork()
This function creates a new process. The return value is the zero in the
child and the process-id number of the child in the parent, or @minus{}1
@@ -31708,13 +31721,13 @@ upon error. In the latter case, @code{ERRNO} indicates the problem.
In the child, @code{PROCINFO["pid"]} and @code{PROCINFO["ppid"]} are
updated to reflect the correct values.
-@cindex @code{waitpid} extension function
+@cindex @code{waitpid()} extension function
@item ret = waitpid(pid)
This function takes a numeric argument, which is the process-id to
wait for. The return value is that of the
@code{waitpid()} system call.
-@cindex @code{wait} extension function
+@cindex @code{wait()} extension function
@item ret = wait()
This function waits for the first child to die.
The return value is that of the
@@ -31801,11 +31814,11 @@ The @code{ordchr} extension adds two functions, named
@item @@load "ordchr"
This is how you load the extension.
-@cindex @code{ord} extension function
+@cindex @code{ord()} extension function
@item number = ord(string)
Return the numeric value of the first character in @code{string}.
-@cindex @code{chr} extension function
+@cindex @code{chr()} extension function
@item char = chr(number)
Return a string whose first character is that represented by @code{number}.
@end table
@@ -31922,14 +31935,14 @@ The @code{rwarray} extension adds two functions,
named @code{writea()} and @code{reada()}, as follows:
@table @code
-@cindex @code{writea} extension function
+@cindex @code{writea()} extension function
@item ret = writea(file, array)
This function takes a string argument, which is the name of the file
to which dump the array, and the array itself as the second argument.
@code{writea()} understands multidimensional arrays. It returns one on
success, or zero upon failure.
-@cindex @code{reada} extension function
+@cindex @code{reada()} extension function
@item ret = reada(file, array)
@code{reada()} is the inverse of @code{writea()};
it reads the file named as its first argument, filling in
@@ -31972,7 +31985,7 @@ named @code{readfile()}:
@item @@load "readfile"
This is how you load the extension.
-@cindex @code{readfile} extension function
+@cindex @code{readfile()} extension function
@item result = readfile("/some/path")
The argument is the name of the file to read. The return value is a
string containing the entire contents of the requested file. Upon error,
@@ -32013,7 +32026,7 @@ inserting @samp{@@load "time"} in your script.
@item @@load "time"
This is how you load the extension.
-@cindex @code{gettimeofday} extension function
+@cindex @code{gettimeofday()} extension function
@item the_time = gettimeofday()
Return the time in seconds that has elapsed since 1970-01-01 UTC as a
floating point value. If the time is unavailable on this platform, return
@@ -32023,7 +32036,7 @@ If the standard C @code{gettimeofday()} system call is available on this
platform, then it simply returns the value. Otherwise, if on Windows,
it tries to use @code{GetSystemTimeAsFileTime()}.
-@cindex @code{sleep} extension function
+@cindex @code{sleep()} extension function
@item result = sleep(@var{seconds})
Attempt to sleep for @var{seconds} seconds. If @var{seconds} is negative,
or the attempt to sleep fails, return @minus{}1 and set @code{ERRNO}.
@@ -32182,6 +32195,7 @@ of the @value{DOCUMENT} where you can find more information.
@command{awk}.
* POSIX/GNU:: The extensions in @command{gawk} not in POSIX
@command{awk}.
+* Feature History:: The history of the features in @command{gawk}.
* Common Extensions:: Common Extensions Summary.
* Ranges and Locales:: How locales used to affect regexp ranges.
* Contributors:: The major contributors to @command{gawk}.
@@ -32760,6 +32774,612 @@ GCC for VAX and Alpha has not been tested for a while.
@c ENDOFRANGE exgnot
@c ENDOFRANGE posnot
+@node Feature History
+@appendixsec History of @command{gawk} Features
+
+@ignore
+See the thread:
+https://groups.google.com/forum/#!topic/comp.lang.awk/SAUiRuff30c
+This motivated me to add this section.
+@end ignore
+
+@ignore
+I've tried to follow this general order, esp.@: for the 3.0 and 3.1 sections:
+ variables
+ special files
+ language changes (e.g., hex constants)
+ differences in standard awk functions
+ new gawk functions
+ new keywords
+ new command-line options
+ behavioral changes
+ new ports
+Within each category, be alphabetical.
+@end ignore
+
+This @value{SECTION} describes the features in @command{gawk}
+over and above those in POSIX @command{awk},
+in the order they were added to @command{gawk}.
+
+Version 2.10 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+The @env{AWKPATH} environment variable for specifying a path search for
+the @option{-f} command-line option
+(@pxref{Options}).
+
+@item
+The @code{IGNORECASE} variable and its effects
+(@pxref{Case-sensitivity}).
+
+@item
+The @file{/dev/stdin}, @file{/dev/stdout}, @file{/dev/stderr} and
+@file{/dev/fd/@var{N}} special file names
+(@pxref{Special Files}).
+@end itemize
+
+Version 2.13 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+The @code{FIELDWIDTHS} variable and its effects
+(@pxref{Constant Size}).
+
+@item
+The @code{systime()} and @code{strftime()} built-in functions for obtaining
+and printing timestamps
+(@pxref{Time Functions}).
+
+@item
+Additional command-line options
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{-W lint} option to provide error and portability checking
+for both the source code and at runtime.
+
+@item
+The @option{-W compat} option to turn off the GNU extensions.
+
+@item
+The @option{-W posix} option for full POSIX compliance.
+@end itemize
+@end itemize
+
+Version 2.14 of @command{gawk} introduced the following feature:
+
+@itemize @bullet
+@item
+The @code{next file} statement for skipping to the next data file
+(@pxref{Nextfile Statement}).
+@end itemize
+
+Version 2.15 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+New variables (@pxref{Built-in Variables}):
+
+@itemize @minus
+@item
+@code{ARGIND}, which tracks the movement of @code{FILENAME}
+through @code{ARGV}.
+
+@item
+@code{ERRNO}, which contains the system error message when
+@code{getline} returns @minus{}1 or @code{close()} fails.
+@end itemize
+
+@item
+The @file{/dev/pid}, @file{/dev/ppid}, @file{/dev/pgrpid}, and
+@file{/dev/user} special file names. These have since been removed.
+
+@item
+The ability to delete all of an array at once with @samp{delete @var{array}}
+(@pxref{Delete}).
+
+@item
+Command line option changes
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The ability to use GNU-style long-named options that start with @option{--}.
+
+@item
+The @option{--source} option for mixing command-line and library-file
+source code.
+@end itemize
+@end itemize
+
+Version 3.0 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+New or changed variables:
+
+@itemize @minus
+@item
+@code{IGNORECASE} changed, now applying to string comparison as well
+as regexp operations
+(@pxref{Case-sensitivity}).
+
+@item
+@code{RT}, which contains the input text that matched @code{RS}
+(@pxref{Records}).
+@end itemize
+
+@item
+Full support for both POSIX and GNU regexps
+(@pxref{Regexp}).
+
+@item
+The @code{gensub()} function for more powerful text manipulation
+(@pxref{String Functions}).
+
+@item
+The @code{strftime()} function acquired a default time format,
+allowing it to be called with no arguments
+(@pxref{Time Functions}).
+
+@item
+The ability for @code{FS} and for the third
+argument to @code{split()} to be null strings
+(@pxref{Single Character Fields}).
+
+@item
+The ability for @code{RS} to be a regexp
+(@pxref{Records}).
+
+@item
+The @code{next file} statement became @code{nextfile}
+(@pxref{Nextfile Statement}).
+
+@item
+The @code{fflush()} function from the
+Bell Laboratories research version of @command{awk}
+(@pxref{I/O Functions}).
+
+@item
+New command line options:
+
+@itemize @minus
+@item
+The @option{--lint-old} option to
+warn about constructs that are not available in
+the original Version 7 Unix version of @command{awk}
+(@pxref{V7/SVR3.1}).
+
+@item
+The @option{-m} option from the
+Bell Laboratories research version of @command{awk}
+This was later removed.
+
+@item
+The @option{--re-interval} option to provide interval expressions in regexps
+(@pxref{Regexp Operators}).
+
+@item
+The @option{--traditional} option was added as a better name for
+@option{--compat} (@pxref{Options}).
+@end itemize
+
+@item
+The use of GNU Autoconf to control the configuration process
+(@pxref{Quick Installation}).
+
+@item
+Amiga support.
+
+@end itemize
+
+Version 3.1 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+@item
+New variables
+(@pxref{Built-in Variables}):
+
+@itemize @minus
+@item
+@code{BINMODE}, for non-POSIX systems,
+which allows binary I/O for input and/or output files
+(@pxref{PC Using}).
+
+@item
+@code{LINT}, which dynamically controls lint warnings.
+
+@item
+@code{PROCINFO}, an array for providing process-related information.
+
+@item
+@code{TEXTDOMAIN}, for setting an application's internationalization text domain
+(@pxref{Internationalization}).
+@end itemize
+
+@item
+The ability to use octal and hexadecimal constants in @command{awk}
+program source code
+(@pxref{Nondecimal-numbers}).
+
+@item
+The @samp{|&} operator for two-way I/O to a coprocess
+(@pxref{Two-way I/O}).
+
+@item
+The @file{/inet} special files for TCP/IP networking using @samp{|&}
+(@pxref{TCP/IP Networking}).
+
+@item
+The optional second argument to @code{close()} that allows closing one end
+of a two-way pipe to a coprocess
+(@pxref{Two-way I/O}).
+
+@item
+The optional third argument to the @code{match()} function
+for capturing text-matching subexpressions within a regexp
+(@pxref{String Functions}).
+
+@item
+Positional specifiers in @code{printf} formats for
+making translations easier
+(@pxref{Printf Ordering}).
+
+@item
+A number of new built-in functions:
+
+@itemize @minus
+@item
+The @code{asort()} and @code{asorti()} functions for sorting arrays
+(@pxref{Array Sorting}).
+
+@item
+The @code{bindtextdomain()}, @code{dcgettext()} and @code{dcngettext()} functions
+for internationalization
+(@pxref{Programmer i18n}).
+
+@item
+The @code{extension()} function and the ability to add
+new built-in functions dynamically
+(@pxref{Dynamic Extensions}).
+
+@item
+The @code{mktime()} function for creating timestamps
+(@pxref{Time Functions}).
+
+@item
+The @code{and()}, @code{or()}, @code{xor()}, @code{compl()},
+@code{lshift()}, @code{rshift()}, and @code{strtonum()} functions
+(@pxref{Bitwise Functions}).
+@end itemize
+
+@item
+@cindex @code{next file} statement
+The support for @samp{next file} as two words was removed completely
+(@pxref{Nextfile Statement}).
+
+@item
+Additional commnd line options
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{--dump-variables} option to print a list of all global variables.
+
+@item
+The @option{--exec} option, for use in CGI scripts.
+
+@item
+The @option{--gen-po} command-line option and the use of a leading
+underscore to mark strings that should be translated
+(@pxref{String Extraction}).
+
+@item
+The @option{--non-decimal-data} option to allow non-decimal
+input data
+(@pxref{Nondecimal Data}).
+
+@item
+The @option{--profile} option and @command{pgawk}, the
+profiling version of @command{gawk}, for producing execution
+profiles of @command{awk} programs
+(@pxref{Profiling}).
+
+@item
+The @option{--use-lc-numeric} option to force @command{gawk}
+to use the locale's decimal point for parsing input data
+(@pxref{Conversion}).
+@end itemize
+
+@item
+The use of GNU Automake to help in standardizing the configuration process
+(@pxref{Quick Installation}).
+
+@item
+The use of GNU @code{gettext} for @command{gawk}'s own message output
+(@pxref{Gawk I18N}).
+
+@item
+BeOS support. This was later removed.
+
+@item
+Tandem support. This was later removed.
+
+@item
+The Atari port became officially unsupported.
+
+@item
+The source code changed to use ISO C standard-style function definitions.
+
+@item
+POSIX compliance for @code{sub()} and @code{gsub()}
+(@pxref{Gory Details}).
+
+@item
+The @code{length()} function was extended to accept an array argument
+and return the number of elements in the array
+(@pxref{String Functions}).
+
+@item
+The @code{strftime()} function acquired a third argument to
+enable printing times as UTC
+(@pxref{Time Functions}).
+@end itemize
+
+Version 4.0 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+
+@item
+Variable additions:
+
+@itemize @minus
+@item
+@code{FPAT}, which allows you to specify a regexp that matches
+the fields, instead of matching the field separator
+(@pxref{Splitting By Content}).
+
+@item
+If @code{PROCINFO["sorted_in"]} exists, @samp{for(iggy in foo)} loops sort the
+indices before looping over them. The value of this element
+provides control over how the indices are sorted before the loop
+traversal starts
+(@pxref{Controlling Scanning}).
+
+@item
+@code{PROCINFO["strftime"]}, which holds
+the default format for @code{strftime()}
+(@pxref{Time Functions}).
+@end itemize
+
+@item
+The special files @file{/dev/pid}, @file{/dev/ppid}, @file{/dev/pgrpid}
+and @file{/dev/user} were removed.
+
+@item
+Support for IPv6 was added via the @file{/inet6} special file.
+@file{/inet4} forces IPv4 and @file{/inet} chooses the system
+default, which is probably IPv4
+(@pxref{TCP/IP Networking}).
+
+@item
+The use of @samp{\s} and @samp{\S} escape sequences in regular expressions
+(@pxref{GNU Regexp Operators}).
+
+@item
+Interval expressions became part of default regular expressions
+(@pxref{Regexp Operators}).
+
+@item
+POSIX character classes work even with @option{--traditional}
+(@pxref{Regexp Operators}).
+
+@item
+@code{break} and @code{continue} became invalid outside a loop,
+even with @option{--traditional}
+(@pxref{Break Statement}, and also see
+@ref{Continue Statement}).
+
+@item
+@code{fflush()}, @code{nextfile}, and @samp{delete @var{array}}
+are allowed if @option{--posix} or @option{--traditional}, since they
+are all now part of POSIX.
+
+@item
+An optional third argument to
+@code{asort()} and @code{asorti()}, specifying how to sort
+(@pxref{String Functions}).
+
+@item
+The behavior of @code{fflush()} changed to match Brian Kernighan's @command{awk}
+and for POSIX; now both @samp{fflush()} and @samp{fflush("")}
+flush all open output redirections
+(@pxref{I/O Functions}).
+
+@item
+The @code{isarray()}
+function which distinguishes if an item is an array
+or not, to make it possible to traverse multidimensional arrays
+(@pxref{Type Functions}).
+
+@item
+The @code{patsplit()}
+function which gives the same capability as @code{FPAT}, for splitting
+(@pxref{String Functions}).
+
+@item
+An optional fourth argument to the @code{split()} function,
+which is an array to hold the values of the separators
+(@pxref{String Functions}).
+
+@item
+Arrays of arrays
+(@pxref{Arrays of Arrays}).
+
+@item
+The @code{BEGINFILE} and @code{ENDFILE} special patterns
+(@pxref{BEGINFILE/ENDFILE}).
+
+@item
+Indirect function calls
+(@pxref{Indirect Calls}).
+
+@item
+@code{switch} / @code{case} are enabled by default
+(@pxref{Switch Statement}).
+
+@item
+Command line option changes
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{-b} and @option{--characters-as-bytes} options
+which prevent @command{gawk} from treating input as a multibyte string.
+
+@item
+The redundant @option{--compat}, @option{--copyleft}, and @option{--usage}
+long options were removed.
+
+@item
+The @option{--gen-po} option was finally renamed to the correct @option{--gen-pot}.
+
+@item
+The @option{--sandbox} option which disables certain features.
+
+@item
+All long options acquired corresponding short options, for use in @samp{#!} scripts.
+@end itemize
+
+@item
+Directories named on the command line now produce a warning, not a fatal
+error, unless @option{--posix} or @option{--traditional} are used
+(@pxref{Command line directories}).
+
+@item
+The @command{gawk} internals were rewritten, bringing the @command{dgawk}
+debugger and possibly improved performance
+(@pxref{Debugger}).
+
+@item
+Per the GNU Coding Standards, dynamic extensions must now define
+a global symbol indicating that they are GPL-compatible
+(@pxref{Plugin License}).
+
+@item
+In POSIX mode, string comparisons use @code{strcoll()} / @code{wcscoll()}
+(@pxref{POSIX String Comparison}).
+
+@item
+The option for raw sockets was removed, since it was never implemented
+(@pxref{TCP/IP Networking}).
+
+@item
+Ranges of the form @samp{[d-h]} are treated as if they were in the
+C locale, no matter what kind of regexp is being used, and even if
+@option{--posix}
+(@pxref{Ranges and Locales}).
+
+@item
+Support was removed for the following systems:
+
+@itemize @minus
+@item
+Atari
+
+@item
+Amiga
+
+@item
+BeOS
+
+@item
+Cray
+
+@item
+MIPS RiscOS
+
+@item
+MS-DOS with Microsoft Compiler
+
+@item
+MS-Windows with Microsoft Compiler
+
+@item
+NeXT
+
+@item
+SunOS 3.x, Sun 386 (Road Runner)
+
+@item
+Tandem (non-POSIX)
+
+@item
+Prestandard VAX C compiler for VAX/VMS
+@end itemize
+@end itemize
+
+Version 4.1 of @command{gawk} introduced the following features:
+
+@itemize @bullet
+
+@item
+Three new arrays:
+@code{SYMTAB}, @code{FUNCTAB}, and @code{PROCINFO["identifiers"]}
+(@pxref{Auto-set}).
+
+@item
+The three executables @command{gawk}, @command{pgawk}, and @command{dgawk}, were merged into
+one, named just @command{gawk}. As a result the command line options changed.
+
+@item
+Command line option changes
+(@pxref{Options}):
+
+@itemize @minus
+@item
+The @option{-D} option invokes the debugger.
+
+@item
+The @option{-i} and @option{--include} options
+load @command{awk} library files.
+
+@item
+The @option{-l} and @option{--load} options for load compiled dynamic extensions.
+
+@item
+The @option{-M} and @option{--bignum} options enable MPFR.
+
+@item
+The @option{-o} only does pretty-printing.
+
+@item
+The @option{-p} option is used for profiling.
+
+@item
+The @option{-R} option was removed.
+@end itemize
+
+@item
+Support for high precision arithmetic with MPFR.
+(@pxref{Gawk and MPFR}).
+
+@item
+The @code{and()}, @code{or()} and @code{xor()} functions
+allow any number of arguments,
+with a minimum of two
+(@pxref{Bitwise Functions}).
+
+@item
+The dynamic extension interface was completely redone
+(@pxref{Dynamic Extensions}).
+
+@end itemize
+
+@c XXX ADD MORE STUFF HERE
+
@node Common Extensions
@appendixsec Common Extensions Summary
@@ -32775,7 +33395,7 @@ the three most widely-used freely available versions of @command{awk}
@item @samp{\x} Escape sequence @tab X @tab X @tab X
@item @code{RS} as regexp @tab @tab X @tab X
@item @code{FS} as null string @tab X @tab X @tab X
-@item @file{/dev/stdin} special file @tab X @tab @tab X
+@item @file{/dev/stdin} special file @tab X @tab X @tab X
@item @file{/dev/stdout} special file @tab X @tab X @tab X
@item @file{/dev/stderr} special file @tab X @tab X @tab X
@item @code{**} and @code{**=} operators @tab X @tab @tab X
@@ -32783,7 +33403,7 @@ the three most widely-used freely available versions of @command{awk}
@item @code{func} keyword @tab X @tab @tab X
@item @code{nextfile} statement @tab X @tab X @tab X
@item @code{delete} without subscript @tab X @tab X @tab X
-@item @code{length()} of an array @tab X @tab @tab X
+@item @code{length()} of an array @tab X @tab X @tab X
@item @code{BINMODE} variable @tab @tab X @tab X
@item Time related functions @tab @tab X @tab X
@end multitable
@@ -32865,7 +33485,7 @@ When @command{gawk} switched to using locale-aware regexp matchers,
the problems began; especially as both GNU/Linux and commercial Unix
vendors started implementing non-ASCII locales, @emph{and making them
the default}. Perhaps the most frequently asked question became something
-like ``why does @code{[A-Z]} match lowercase letters?!?''
+like ``why does @samp{[A-Z]} match lowercase letters?!?''
This situation existed for close to 10 years, if not more, and
the @command{gawk} maintainer grew weary of trying to explain that
@@ -33085,6 +33705,10 @@ environments.
(This is no longer supported)
@item
+@cindex Wallin, Anders
+Anders Wallin helped keep the VMS port going for several years.
+
+@item
@cindex Haque, John
John Haque made the following contributions:
@@ -33138,7 +33762,7 @@ helping David Trueman, and as the primary maintainer since around 1994.
@appendix Installing @command{gawk}
@c last two commas are part of see also
-@cindex operating systems, See Also GNU/Linux, PC operating systems, Unix
+@cindex operating systems, See Also GNU/Linux@comma{} PC operating systems@comma{} Unix
@c STARTOFRANGE gligawk
@cindex @command{gawk}, installing
@c STARTOFRANGE ingawk
@@ -33543,7 +34167,7 @@ command line when compiling @command{gawk} from scratch, including:
@table @code
-@cindex @code{--disable-extensions} configuration option
+@cindex @option{--disable-extensions} configuration option
@cindex configuration option, @code{--disable-extensions}
@item --disable-extensions
Disable configuring and building the sample extensions in the
@@ -33551,7 +34175,7 @@ Disable configuring and building the sample extensions in the
The default action is to dynamically check if the extensions
can be configured and compiled.
-@cindex @code{--disable-lint} configuration option
+@cindex @option{--disable-lint} configuration option
@cindex configuration option, @code{--disable-lint}
@item --disable-lint
Disable all lint checking within @code{gawk}. The
@@ -33571,14 +34195,14 @@ Using this option may bring you some slight performance improvement.
Using this option will cause some of the tests in the test suite
to fail. This option may be removed at a later date.
-@cindex @code{--disable-nls} configuration option
+@cindex @option{--disable-nls} configuration option
@cindex configuration option, @code{--disable-nls}
@item --disable-nls
Disable all message-translation facilities.
This is usually not desirable, but it may bring you some slight performance
improvement.
-@cindex @code{--with-whiny-user-strftime} configuration option
+@cindex @option{--with-whiny-user-strftime} configuration option
@cindex configuration option, @code{--with-whiny-user-strftime}
@item --with-whiny-user-strftime
Force use of the included version of the @code{strftime()}
@@ -34173,7 +34797,21 @@ If your @command{gawk} was installed by a PCSI kit into the
@file{GNV$GNU:[bin]gnv$gawk.exe} and the help file will be
@file{GNV$GNU:[vms_help]gawk.hlp}.
-Optionally, the help entry can be loaded into a VMS help library:
+The PCSI kit also installs a @file{GNV$GNU:[vms_bin]gawk_verb.cld} file
+which can be used to add @command{gawk} and @command{awk} as DCL commands.
+
+For just the current process you can use:
+
+@example
+$ @kbd{set command gnv$gnu:[vms_bin]gawk_verb.cld}
+@end example
+
+Or the system manager can use @file{GNV$GNU:[vms_bin]gawk_verb.cld} to
+add the @command{gawk} and @command{awk} to the system wide @samp{DCLTABLES}.
+
+The DCL syntax is documented in the @file{gawk.hlp} file.
+
+Optionally, @file{gawk.hlp} entry can be loaded into a VMS help library:
@example
$ @kbd{LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp}
@@ -34284,9 +34922,10 @@ to supply individual PCSI packages for each component.
See @uref{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.
The normal build procedure for @command{gawk} produces a program that
-is suitable for use with GNV. At this time work is being done to create
-the procedures for building a PCSI kit to replace the older @command{gawk}
-port.
+is suitable for use with GNV.
+
+The @file{vms/gawk_build_steps.txt} in the source documents the procedure
+for building a VMS PCSI kit that is compatible with GNV.
@ignore
@c The VMS POSIX product, also known as POSIX for OpenVMS, is long defunct
@@ -34440,7 +35079,7 @@ as follows:
@cindex Rankin, Pat
@cindex Malmberg, John
@item VMS @tab Pat Rankin, @EMAIL{r.pat.rankin@@gmail.com,r.pat.rankin at gmail.com}, and
-John Malmberg, @EMAIL{wb8tyw@@gmail.com,wb8tyw at gmail.com}.
+John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl.net}.
@cindex Pitts, Dave
@item z/OS (OS/390) @tab Dave Pitts, @EMAIL{dpitts@@cozx.com,dpitts at cozx dot com}.
@@ -34801,7 +35440,7 @@ for information on getting the latest version of @command{gawk}.)
@item
@ifnotinfo
-Follow the @cite{GNU Coding Standards}.
+Follow the @uref{http://www.gnu.org/prep/standards/, @cite{GNU Coding Standards}}.
@end ifnotinfo
@ifinfo
See @inforef{Top, , Version, standards, GNU Coding Standards}.
@@ -34960,11 +35599,9 @@ Be prepared to sign the appropriate paperwork.
In order for the FSF to distribute your code, you must either place
your code in the public domain and submit a signed statement to that
effect, or assign the copyright in your code to the FSF.
-@ifinfo
Both of these actions are easy to do and @emph{many} people have done so
already. If you have questions, please contact me, or
@email{gnu@@gnu.org}.
-@end ifinfo
@item
When doing a port, bear in mind that your code must coexist peacefully
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 9cf29f2e..b51ac3dc 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2013-06-21.17}
+\def\texinfoversion{2014-02-09.15}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
@@ -281,9 +281,9 @@
\toks6=\expandafter{\prevsectiondefs}%
\toks8=\expandafter{\lastcolordefs}%
\mark{%
- \the\toks0 \the\toks2
- \noexpand\or \the\toks4 \the\toks6
- \noexpand\else \the\toks8
+ \the\toks0 \the\toks2 % 0: top marks (\last...)
+ \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...)
+ \noexpand\else \the\toks8 % 2: color marks
}%
}
% \topmark doesn't work for the very first chapter (after the title
@@ -322,10 +322,13 @@
%
% Do this outside of the \shipout so @code etc. will be expanded in
% the headline as they should be, not taken literally (outputting ''code).
+ \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars}
+ %
\ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
- \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+ \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
+ %
\ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
- \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+ \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}%
%
{%
% Have to do this stuff outside the \shipout because we want it to
@@ -1135,10 +1138,12 @@ output) for that.)}
\ifpdf
%
- % Color manipulation macros based on pdfcolor.tex,
+ % Color manipulation macros using ideas from pdfcolor.tex,
% except using rgb instead of cmyk; the latter is said to render as a
% very dark gray on-screen and a very dark halftone in print, instead
- % of actual black.
+ % of actual black. The dark red here is dark enough to print on paper as
+ % nearly black, but still distinguishable for online viewing. We use
+ % black by default, though.
\def\rgbDarkRed{0.50 0.09 0.12}
\def\rgbBlack{0 0 0}
%
@@ -1248,10 +1253,9 @@ output) for that.)}
% used to mark target names; must be expandable.
\def\pdfmkpgn#1{#1}
%
- % by default, use a color that is dark enough to print on paper as
- % nearly black, but still distinguishable for online viewing.
- \def\urlcolor{\rgbDarkRed}
- \def\linkcolor{\rgbDarkRed}
+ % by default, use black for everything.
+ \def\urlcolor{\rgbBlack}
+ \def\linkcolor{\rgbBlack}
\def\endlink{\setcolor{\maincolor}\pdfendlink}
%
% Adding outlines to PDF; macros for calculating structure of outlines
@@ -2377,8 +2381,10 @@ end
\ifx\next,%
\else\ifx\next-%
\else\ifx\next.%
+ \else\ifx\next\.%
+ \else\ifx\next\comma%
\else\ptexslash
- \fi\fi\fi
+ \fi\fi\fi\fi\fi
\aftersmartic
}
@@ -2519,7 +2525,9 @@ end
\ifx\codedashprev\codedash
\else \discretionary{}{}{}\fi
\fi
- \global\let\codedashprev=\next
+ % we need the space after the = for the case when \next itself is a
+ % space token; it would get swallowed otherwise. As in @code{- a}.
+ \global\let\codedashprev= \next
}
}
\def\normaldash{-}
@@ -2567,37 +2575,21 @@ end
\let\file=\code
\let\option=\code
-% @uref (abbreviation for `urlref') takes an optional (comma-separated)
-% second argument specifying the text to display and an optional third
-% arg as text to display instead of (rather than in addition to) the url
-% itself. First (mandatory) arg is the url.
-% (This \urefnobreak definition isn't used now, leaving it for a while
-% for comparison.)
-\def\urefnobreak#1{\dourefnobreak #1,,,\finish}
-\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
- \unsepspaces
- \pdfurl{#1}%
- \setbox0 = \hbox{\ignorespaces #3}%
- \ifdim\wd0 > 0pt
- \unhbox0 % third arg given, show only that
- \else
- \setbox0 = \hbox{\ignorespaces #2}%
- \ifdim\wd0 > 0pt
- \ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
- \else
- \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
- \fi
- \else
- \code{#1}% only url given, so show it
- \fi
- \fi
- \endlink
-\endgroup}
+% @uref (abbreviation for `urlref') aka @url takes an optional
+% (comma-separated) second argument specifying the text to display and
+% an optional third arg as text to display instead of (rather than in
+% addition to) the url itself. First (mandatory) arg is the url.
+
+% TeX-only option to allow changing PDF output to show only the second
+% arg (if given), and not the url (which is then just the link target).
+\newif\ifurefurlonlylink
-% This \urefbreak definition is the active one.
+% The main macro is \urefbreak, which allows breaking at expected
+% places within the url. (There used to be another version, which
+% didn't support automatic breaking.)
\def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
\let\uref=\urefbreak
+%
\def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
\def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
\unsepspaces
@@ -2606,12 +2598,19 @@ end
\ifdim\wd0 > 0pt
\unhbox0 % third arg given, show only that
\else
- \setbox0 = \hbox{\ignorespaces #2}%
+ \setbox0 = \hbox{\ignorespaces #2}% look for second arg
\ifdim\wd0 > 0pt
\ifpdf
- \unhbox0 % PDF: 2nd arg given, show only it
+ \ifurefurlonlylink
+ % PDF plus option to not display url, show just arg
+ \unhbox0
+ \else
+ % PDF, normally display both arg and url for consistency,
+ % visibility, if the pdf is eventually used to print, etc.
+ \unhbox0\ (\urefcode{#1})%
+ \fi
\else
- \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
+ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
\fi
\else
\urefcode{#1}% only url given, so show it
@@ -2651,8 +2650,10 @@ end
% we put a little stretch before and after the breakable chars, to help
% line breaking of long url's. The unequal skips make look better in
% cmtt at least, especially for dots.
-\def\urefprestretch{\urefprebreak \hskip0pt plus.13em }
-\def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em }
+\def\urefprestretchamount{.13em}
+\def\urefpoststretchamount{.1em}
+\def\urefprestretch{\urefprebreak \hskip0pt plus\urefprestretchamount\relax}
+\def\urefpoststretch{\urefpostbreak \hskip0pt plus\urefprestretchamount\relax}
%
\def\urefcodeamp{\urefprestretch \&\urefpoststretch}
\def\urefcodedot{\urefprestretch .\urefpoststretch}
@@ -2887,6 +2888,15 @@ end
\def\inlinefmtname{#1}%
\ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
}
+%
+% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
+% FMTNAME is tex, else ELSE-TEXT.
+\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
+\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{%
+ \def\inlinefmtname{#1}%
+ \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi
+}
+%
% For raw, must switch into @tex before parsing the argument, to avoid
% setting catcodes prematurely. Doing it this way means that, for
% example, @inlineraw{html, foo{bar} gets a parse error instead of being
@@ -2903,6 +2913,23 @@ end
\endgroup % close group opened by \tex.
}
+% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set.
+%
+\long\def\inlineifset#1{\doinlineifset #1,\finish}
+\long\def\doinlineifset#1,#2,\finish{%
+ \def\inlinevarname{#1}%
+ \expandafter\ifx\csname SET\inlinevarname\endcsname\relax
+ \else\ignorespaces#2\fi
+}
+
+% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set.
+%
+\long\def\inlineifclear#1{\doinlineifclear #1,\finish}
+\long\def\doinlineifclear#1,#2,\finish{%
+ \def\inlinevarname{#1}%
+ \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi
+}
+
\message{glyphs,}
% and logos.
@@ -3658,7 +3685,7 @@ end
\parskip=\smallskipamount
\ifdim\parskip=0pt \parskip=2pt \fi
%
- % Try typesetting the item mark that if the document erroneously says
+ % Try typesetting the item mark so that if the document erroneously says
% something like @itemize @samp (intending @table), there's an error
% right away at the @itemize. It's not the best error message in the
% world, but it's better than leaving it to the @item. This means if
@@ -4198,7 +4225,7 @@ end
\def\value{\begingroup\makevalueexpandable\valuexxx}
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
- \catcode`\- = \active \catcode`\_ = \active
+ \catcode`\-=\active \catcode`\_=\active
%
\gdef\makevalueexpandable{%
\let\value = \expandablevalue
@@ -4218,7 +4245,12 @@ end
% variable's value contains other Texinfo commands, it's almost certain
% it will fail (although perhaps we could fix that with sufficient work
% to do a one-level expansion on the result, instead of complete).
-%
+%
+% Unfortunately, this has the consequence that when _ is in the *value*
+% of an @set, it does not print properly in the roman fonts (get the cmr
+% dot accent at position 126 instead). No fix comes to mind, and it's
+% been this way since 2003 or earlier, so just ignore it.
+%
\def\expandablevalue#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
{[No value for ``#1'']}%
@@ -4619,6 +4651,16 @@ end
\definedummyword\verb
\definedummyword\w
\definedummyword\xref
+ %
+ % Consider:
+ % @macro mkind{arg1,arg2}
+ % @cindex \arg2\
+ % @end macro
+ % @mkind{foo, bar}
+ % The space after the comma will end up in the temporary definition
+ % that we make for arg2 (see \parsemargdef ff.). We want all this to be
+ % expanded for the sake of the index, so we end up just seeing "bar".
+ \let\xeatspaces = \eatspaces
}
% \indexnofonts is used when outputting the strings to sort the index
@@ -5905,7 +5947,7 @@ end
%
% Now the second mark, after the heading break. No break points
% between here and the heading.
- \let\prevsectiondefs=\lastsectiondefs
+ \global\let\prevsectiondefs=\lastsectiondefs
\domark
%
% Only insert the space after the number if we have a section number.
@@ -6272,8 +6314,8 @@ end
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
- \catcode`\`=\other
- \catcode`\'=\other
+ \catcode `\`=\other
+ \catcode `\'=\other
\escapechar=`\\
%
% ' is active in math mode (mathcode"8000). So reset it, and all our
@@ -6297,7 +6339,7 @@ end
\let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
- \expandafter \let\csname top\endcsname=\ptextop % outer
+ \expandafter \let\csname top\endcsname=\ptextop % we've made it outer
\let\frenchspacing=\plainfrenchspacing
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
@@ -6381,8 +6423,6 @@ end
% side, and for 6pt waste from
% each corner char, and rule thickness
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing = t%
%
% If this cartouche directly follows a sectioning command, we need the
% \parskip glue (backspaced over by default) or the cartouche can
@@ -6549,9 +6589,13 @@ end
% @raggedright does more-or-less normal line breaking but no right
-% justification. From plain.tex.
+% justification. From plain.tex. Don't stretch around special
+% characters in urls in this environment, since the stretch at the right
+% should be enough.
\envdef\raggedright{%
- \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
+ \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax
+ \def\urefprestretchamount{0pt}%
+ \def\urefpoststretchamount{0pt}%
}
\let\Eraggedright\par
@@ -7444,7 +7488,7 @@ end
% Parse the optional {params} list. Set up \paramno and \paramlist
% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH
-% in the params list to some hook where the argument si to be expanded. If
+% in the params list to some hook where the argument is to be expanded. If
% there are less than 10 arguments that hook is to be replaced by ##N where N
% is the position in that list, that is to say the macro arguments are to be
% defined `a la TeX in the macro body.
@@ -8306,6 +8350,7 @@ end
\gdef\footnote{%
\let\indent=\ptexindent
\let\noindent=\ptexnoindent
+ %
\global\advance\footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}%
%
@@ -8329,6 +8374,11 @@ end
%
\gdef\dofootnote{%
\insert\footins\bgroup
+ %
+ % Nested footnotes are not supported in TeX, that would take a lot
+ % more work. (\startsavinginserts does not suffice.)
+ \let\footnote=\errfootnote
+ %
% We want to typeset this text as a normal paragraph, even if the
% footnote reference occurs in (for example) a display environment.
% So reset some parameters.
@@ -8366,13 +8416,19 @@ end
}
}%end \catcode `\@=11
+\def\errfootnote{%
+ \errhelp=\EMsimple
+ \errmessage{Nested footnotes not supported in texinfo.tex,
+ even though they work in makeinfo; sorry}
+}
+
% In case a @footnote appears in a vbox, save the footnote text and create
% the real \insert just after the vbox finished. Otherwise, the insertion
% would be lost.
% Similarly, if a @footnote appears inside an alignment, save the footnote
% text to a box and make the \insert when a row of the table is finished.
% And the same can be done for other insert classes. --kasal, 16nov03.
-
+%
% Replace the \insert primitive by a cheating macro.
% Deeper inside, just make sure that the saved insertions are not spilled
% out prematurely.
@@ -9940,11 +9996,9 @@ directory should work if nowhere else does.}
\catcode`\"=\active
\def\activedoublequote{{\tt\char34}}
\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt\char126}}
+\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
+\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat
\catcode`\_=\active
\def_{\ifusingtt\normalunderscore\_}
@@ -9954,16 +10008,26 @@ directory should work if nowhere else does.}
\catcode`\|=\active
\def|{{\tt\char124}}
+
\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
+\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless
\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-\catcode`\$=\active
-\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr
+\catcode`\+=\active \def+{{\tt \char 43}}
+\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+
+% used for headline/footline in the output routine, in case the page
+% breaks in the middle of an @tex block.
+\def\texinfochars{%
+ \let< = \activeless
+ \let> = \activegtr
+ \let~ = \activetilde
+ \let^ = \activehat
+ \markupsetuplqdefault \markupsetuprqdefault
+ \let\b = \strong
+ \let\i = \smartitalic
+ % in principle, all other definitions in \tex have to be undone too.
+}
% If a .fmt file is being used, characters that might appear in a file
% name cannot be active until we have parsed the command line.
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 943a3ff4..ef5c725f 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,7 @@
+2014-02-12 John E. Malmberg <wb8tyw@qsl.net>
+
+ * time.c: Better hack for nanosleep bug based on feedback from HP.
+
2013-12-29 John E. Malmberg <wb8tyw@qsl.net>
* filefuncs.c: Fix compile on VMS.
diff --git a/extension/time.c b/extension/time.c
index b1e9a40a..c336df88 100644
--- a/extension/time.c
+++ b/extension/time.c
@@ -1,25 +1,24 @@
/*
* time.c - Builtin functions that provide time-related functions.
- *
*/
/*
* Copyright (C) 2012, 2013
* the Free Software Foundation, Inc.
- *
+ *
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
- *
+ *
* GAWK is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
- *
+ *
* GAWK is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
@@ -46,18 +45,28 @@
#undef gettimeofday
#endif
#ifdef __ia64__
-/* nanosleep not working on IA64 */
+/* nanosleep not working correctly on IA64 */
static int
-vms_fake_nanosleep(const struct timespec *rqdly, struct timespec *rmdly)
+vms_fake_nanosleep(struct timespec *rqdly, struct timespec *rmdly)
{
int result;
+ struct timespec mtime1, mtime2;
- result = sleep(rqdly->tv_sec);
- if (result == 0) {
+ result = nanosleep(rqdly, &mtime1);
+ if (result == 0)
return 0;
- } else {
- return -1;
+
+ /* On IA64 it returns 100 nanoseconds early with an error */
+ if ((mtime1.tv_sec == 0) && (mtime1.tv_nsec <= 100)) {
+ mtime1.tv_nsec += 100;
+ result = nanosleep(&mtime1, &mtime2);
+ if (result == 0)
+ return 0;
+ if ((mtime2.tv_sec == 0) && (mtime2.tv_nsec <= 100)) {
+ return 0;
+ }
}
+ return result;
}
#define nanosleep(x,y) vms_fake_nanosleep(x, y)
#endif
diff --git a/field.c b/field.c
index 0a7cee8f..64ee1f02 100644
--- a/field.c
+++ b/field.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 1986, 1988, 1989, 1991-2013 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2014 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -1013,7 +1013,9 @@ do_split(int nargs)
return make_number((AWKNUM) 0);
}
- if ((sep->re_flags & FS_DFLT) != 0 && current_field_sep() != Using_FIELDWIDTHS && ! RS_is_null) {
+ if ( (sep->re_flags & FS_DFLT) != 0
+ && current_field_sep() == Using_FS
+ && ! RS_is_null) {
parseit = parse_field;
fs = force_string(FS_node->var_value);
rp = FS_regexp;
diff --git a/getopt.c b/getopt.c
index a45e30f4..7bd42bb6 100644
--- a/getopt.c
+++ b/getopt.c
@@ -2,7 +2,7 @@
NOTE: getopt is part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
- Copyright (C) 1987-2013 Free Software Foundation, Inc.
+ Copyright (C) 1987-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/getopt.h b/getopt.h
index 5d19cb3d..da1a01ff 100644
--- a/getopt.h
+++ b/getopt.h
@@ -1,5 +1,5 @@
/* Declarations for getopt.
- Copyright (C) 1989-2013 Free Software Foundation, Inc.
+ Copyright (C) 1989-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/getopt1.c b/getopt1.c
index 8be96571..32f2f6a6 100644
--- a/getopt1.c
+++ b/getopt1.c
@@ -1,5 +1,5 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987-2013 Free Software Foundation, Inc.
+ Copyright (C) 1987-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/getopt_int.h b/getopt_int.h
index 92f3871e..d255c8ee 100644
--- a/getopt_int.h
+++ b/getopt_int.h
@@ -1,5 +1,5 @@
/* Internal declarations for getopt.
- Copyright (C) 1989-2013 Free Software Foundation, Inc.
+ Copyright (C) 1989-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/interpret.h b/interpret.h
index 69987cf4..b855576a 100644
--- a/interpret.h
+++ b/interpret.h
@@ -1217,7 +1217,7 @@ match_re:
ret = nextfile(& curfile, true); /* skip current file */
if (currule == BEGINFILE) {
- long stack_size;
+ long stack_size = 0;
ni = pop_exec_state(& currule, & source, & stack_size);
diff --git a/pc/ChangeLog b/pc/ChangeLog
index eb5636e9..404bcb68 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,42 @@
+2014-02-03 Scott Deifik <scottd.mail@sbcglobal.net>
+
+ * Makefile.tst: Include original test/Makefile.in lines as
+ comments.
+
+2014-01-28 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.tst (strftime): Pass the value of 'date' command
+ through the DATECMD variable.
+ (readdir): Adapt to changes in test/readdir0.awk.
+
+2014-01-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.tst (mbprintf4, backbigs1, backsmalls1): Add warning
+ that the tests are expected to fail with DJGPP.
+
+2014-01-24 Scott Deifik <scottd.mail@sbcglobal.net>
+
+ * Makefile.tst: Sync with mainline.
+
+2014-01-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.tst (split_after_fpat, mpfrnegzero): Added, to
+ sync with main test Makefile.
+
+2014-01-15 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.tst (mbprintf4, profile5, backbigs1, backsmalls1):
+ Announce expected failures.
+ (fts): Fail gracefully, to avoid bailing out of the test suite too
+ early.
+
+ * popen.c (os_system): Use spawnl, and quote the command line, to
+ be consistent with what gawk_popen does.
+ (os_popen) [__MINGW32__]: Don't scriptify the command, to be
+ consistent with gawk_popen.
+ (os_pclose) [__MINGW32__]: Update to match os_open: no need to
+ unlink the script file.
+
2013-12-10 Scott Deifik <scottd.mail@sbcglobal.net>
* gawkmisc.c (init_sockets): Move into the right part of the
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index 6a2216a0..cab49423 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -194,14 +194,16 @@ GAWK_EXT_TESTS = \
patsplit posix printfbad1 printfbad2 printfbad3 procinfs \
profile1 profile2 profile3 profile4 profile5 pty1 \
rebuf regx8bit reginttrad reint reint2 rsstart1 \
- rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
+ rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \
+ splitarg4 strftime \
strtonum switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
symtab7 symtab8 symtab9
EXTRA_TESTS = inftest regtest
INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
-MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
+MPFR_TESTS = mpfrnr mpfrnegzero mpfrrnd mpfrieee mpfrexprange \
+ mpfrsort mpfrbigint
LOCALE_CHARSET_TESTS = \
asort asorti backbigs1 backsmalls1 backsmalls2 \
fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \
@@ -410,7 +412,7 @@ getline2::
awkpath::
@echo $@
- @AWKPATH=""$(srcdir)"$(PATH_SEPARATOR)"$(srcdir)"/lib" $(AWK) -f awkpath.awk >_$@
+ @AWKPATH="$(srcdir)$(PATH_SEPARATOR)$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
argtest::
@@ -429,15 +431,13 @@ nonl::
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
strftime::
- @echo This test could fail on slow machines or on a minute boundary,
- @echo so if it does, double check the actual results:
@echo $@
# @GAWKLOCALE=C; export GAWKLOCALE; \
# TZ=GMT0; export TZ; \
-# (LC_ALL=C date) | $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk
+# $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk
@GAWKLOCALE=C; export GAWKLOCALE; \
TZ=GMT0; export TZ; \
- (LC_ALL=C $(DATE)) | $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk
+ $(AWK) -v OUTPUT=_$@ -v DATECMD="$(DATE)" -f "$(srcdir)"/strftime.awk
@-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
litoct::
@@ -494,7 +494,7 @@ nors::
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
fmtspcl.ok: fmtspcl.tok
- @$(AWK) -v "sd="$(srcdir)"" 'BEGIN {pnan = sprintf("%g",sqrt(-1)); nnan = sprintf("%g",-sqrt(-1)); pinf = sprintf("%g",-log(0)); ninf = sprintf("%g",log(0))} {sub(/positive_nan/,pnan); sub(/negative_nan/,nnan); sub(/positive_infinity/,pinf); sub(/negative_infinity/,ninf); sub(/fmtspcl/,(sd"/fmtspcl")); print}' < "$(srcdir)"/fmtspcl.tok > $@ 2>/dev/null
+ @$(AWK) -v "sd=$(srcdir)" 'BEGIN {pnan = sprintf("%g",sqrt(-1)); nnan = sprintf("%g",-sqrt(-1)); pinf = sprintf("%g",-log(0)); ninf = sprintf("%g",log(0))} {sub(/positive_nan/,pnan); sub(/negative_nan/,nnan); sub(/positive_infinity/,pinf); sub(/negative_infinity/,ninf); sub(/fmtspcl/,(sd"/fmtspcl")); print}' < "$(srcdir)"/fmtspcl.tok > $@ 2>/dev/null
fmtspcl: fmtspcl.ok
@echo $@
@@ -660,7 +660,7 @@ widesub4::
ignrcas2::
@echo $@
- @GAWKLOCALE=en_US ; export GAWKLOCALE ; \
+ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
$(AWK) -f "$(srcdir)"/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -797,6 +797,7 @@ mbprintf3::
mbprintf4::
@echo $@
+ @echo Expect mbprintf4 to fail with MinGW and DJGPP
@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -870,6 +871,7 @@ profile4:
profile5:
@echo $@
+ @echo Expect profile5 to fail with MinGW due to 3 digits in %e output
@GAWK_NO_PP_RUN=1 $(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk > /dev/null
@sed 1,2d < ap-$@.out > _$@; rm ap-$@.out
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -911,6 +913,11 @@ mpfrrnd:
@$(AWK) -M -vPREC=53 -f "$(srcdir)"/$@.awk > _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+mpfrnegzero:
+ @echo $@
+ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
mpfrnr:
@echo $@
@$(AWK) -M -vPREC=113 -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in > _$@
@@ -929,7 +936,7 @@ mpfrbigint:
jarebug::
@echo $@
@echo Expect jarebug to fail with DJGPP and MinGW.
- @"$(srcdir)"/$@.sh "$(AWKPROG)" ""$(srcdir)"/$@.awk" ""$(srcdir)"/$@.in" "_$@"
+ @"$(srcdir)"/$@.sh "$(AWKPROG)" "$(srcdir)"/$@.awk "$(srcdir)"/$@.in "_$@"
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
ordchr2::
@@ -1017,8 +1024,8 @@ inplace3::
testext::
@echo $@
-# @$(AWK) '/^(@load|BEGIN)/,/^}/' $(top_srcdir)/extension/testext.c > testext.awk
- @$(AWK) ' /^(@load|BEGIN)/,/^}/' $(top_srcdir)/extension/testext.c > testext.awk
+# @$(AWK) '/^(@load|BEGIN)/,/^}/' "$(top_srcdir)"/extension/testext.c > testext.awk
+ @$(AWK) ' /^(@load|BEGIN)/,/^}/' "$(top_srcdir)"/extension/testext.c > testext.awk
@$(AWK) -f testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ testext.awk
@@ -1029,19 +1036,28 @@ readdir:
fi
@echo $@
@echo This test may fail on MinGW if $(LS) does not report full Windows file index as the inode
- @$(AWK) -f "$(srcdir)"/readdir.awk $(top_srcdir) > _$@
-# @ls -afli $(top_srcdir) | sed 1d | $(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ $(top_srcdir) > $@.ok
- @$(LS) -afli $(top_srcdir) | sed 1d | $(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ $(top_srcdir) > $@.ok
- @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@
+ @$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@
+# @ls -afi "$(top_srcdir)" > _dirlist
+ @$(LS) -afi "$(top_srcdir)" > _dirlist
+# @ls -lna "$(top_srcdir)" | sed 1d > _longlist
+ @$(LS) -lna "$(top_srcdir)" | sed 1d > _longlist
+ @$(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ \
+ -v dirlist=_dirlist -v longlist=_longlist > $@.ok
+ @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ _dirlist _longlist
fts:
- @if [ "`uname`" = IRIX ]; then \
+ @case `uname` in \
+ IRIX) \
echo This test may fail on IRIX systems when run on an NFS filesystem.; \
- echo If it does, try rerunning on an xfs filesystem. ; \
- fi
+ echo If it does, try rerunning on an xfs filesystem. ;; \
+ CYGWIN*) \
+ echo This test may fail on CYGWIN systems when run on an NFS filesystem.; \
+ echo If it does, try rerunning on an ntfs filesystem. ;; \
+ esac
@echo $@
@echo Expect $@ to fail with MinGW because function 'fts' is not defined.
- @$(AWK) -f "$(srcdir)"/fts.awk
+# @$(AWK) -f "$(srcdir)"/fts.awk
+ @$(AWK) -f "$(srcdir)"/fts.awk || echo EXIT CODE: $$? >>_$@
@-$(CMP) $@.ok _$@ && rm -f $@.ok _$@
charasbytes:
@@ -1098,12 +1114,14 @@ dfamb1:
backbigs1:
@echo $@
+ @echo Expect backbigs1 to fail with MinGW and DJGPP
@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
backsmalls1:
@echo $@
+ @echo Expect backsmalls1 to fail with MinGW and DJGPP
@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -1113,7 +1131,6 @@ backsmalls2:
@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
Gt-dummy:
# file Maketests, generated from Makefile.am by the Gentests program
addcomma:
@@ -2308,6 +2325,11 @@ sortu:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+split_after_fpat:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
splitarg4:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2471,8 +2493,8 @@ time:
# Targets generated for other tests:
$(srcdir)/Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests
- files=`cd ""$(srcdir)"" && echo *.awk *.in`; \
- $(AWK) -f "$(srcdir)"/Gentests ""$(srcdir)"/Makefile.am" $$files > "$(srcdir)"/Maketests
+ files=`cd "$(srcdir)" && echo *.awk *.in`; \
+ $(AWK) -f "$(srcdir)"/Gentests "$(srcdir)"/Makefile.am $$files > "$(srcdir)"/Maketests
clean:
rm -fr _* core core.* fmtspcl.ok junk strftime.ok test1 test2 \
diff --git a/pc/config.h b/pc/config.h
index a07228c9..1d9be09b 100644
--- a/pc/config.h
+++ b/pc/config.h
@@ -49,9 +49,6 @@
#define HAVE_DECL_TZNAME 1
#endif
-/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
-#undef HAVE_DOPRNT
-
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
@@ -372,9 +369,6 @@
#define HAVE_USLEEP 1
#endif
-/* Define to 1 if you have the `vprintf' function. */
-#define HAVE_VPRINTF 1
-
/* Define to 1 if you have the <wchar.h> header file. */
#ifdef __MINGW32__
#define HAVE_WCHAR_H 1
@@ -429,7 +423,7 @@
#define PACKAGE_NAME "GNU Awk"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU Awk 4.1.0a"
+#define PACKAGE_STRING "GNU Awk 4.1.0e"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gawk"
@@ -438,7 +432,7 @@
#define PACKAGE_URL "http://www.gnu.org/software/gawk/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.1.0a"
+#define PACKAGE_VERSION "4.1.0e"
/* Define to 1 if *printf supports %F format */
#undef PRINTF_HAS_F_FORMAT
@@ -500,7 +494,7 @@
/* Version number of package */
-#define VERSION "4.1.0a"
+#define VERSION "4.1.0e"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
diff --git a/pc/popen.c b/pc/popen.c
index 399e250a..73770d98 100644
--- a/pc/popen.c
+++ b/pc/popen.c
@@ -13,7 +13,6 @@
#define _NFILE 40
#endif
-static char template[] = "piXXXXXX";
static struct {
char *command;
char *name;
@@ -34,6 +33,7 @@ static struct {
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
+#if 0
static int
unixshell(char *p)
{
@@ -119,20 +119,16 @@ unlink_and_free(char *cmd)
s = cmd;
unlink(s); free(cmd);
}
+#endif
int
os_system(const char *cmd)
{
- char *s;
- int i;
- char *cmd1;
+ char *cmdexe = getenv("ComSpec");
+ char *cmd1 = quote_cmd(cmd);
+ int i = spawnl(P_WAIT, cmdexe, "cmd.exe", "/c", cmd1, NULL);
- if ((cmd1 = scriptify(cmd)) == NULL) return(1);
- if (s = getenv("SHELL"))
- i = spawnlp(P_WAIT, s, s, cmd1 + strlen(s), NULL);
- else
- i = system(cmd1);
- unlink_and_free(cmd1);
+ free(cmd1);
return(i);
}
@@ -209,19 +205,15 @@ os_popen(const char *command, const char *mode )
char *name;
int cur;
char curmode[4];
-#if defined(__MINGW32__)
- char *cmd;
-#endif
if (*mode != 'r' && *mode != 'w')
return NULL;
strncpy(curmode, mode, 3); curmode[3] = '\0';
#if defined(__MINGW32__)
- current = popen(cmd = scriptify(command), mode);
+ current = popen(command, mode);
cur = fileno(current);
strcpy(pipes[cur].pmode, curmode);
- pipes[cur].command = cmd;
return(current);
#endif
@@ -268,7 +260,6 @@ os_pclose( FILE * current)
#if defined(__MINGW32__)
rval = pclose(current);
*pipes[cur].pmode = '\0';
- unlink_and_free(pipes[cur].command);
return rval;
#endif
diff --git a/po/LINGUAS b/po/LINGUAS
index 3ec9de9d..d00794ef 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,3 +1,4 @@
+ca
da
de
es
diff --git a/po/ca.gmo b/po/ca.gmo
new file mode 100644
index 00000000..69ac0450
--- /dev/null
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index d7b6e552..3d9564e7 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -1,14 +1,15 @@
# translation of gawk.po to Catalan
# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gawk package.
# Antoni Bella Perez <bella5@teleline.es>, 2003.
-#
+# Walter Garcia-Fontes <walter.garcia@upf.edu>, 2014.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.31\n"
+"Project-Id-Version: gawk 4.1.0b\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-03-18 12:00+0200\n"
-"PO-Revision-Date: 2003-05-07 21:13+0100\n"
-"Last-Translator: Antoni Bella Perez <bella5@teleline.es>\n"
+"POT-Creation-Date: 2014-01-14 22:23+0200\n"
+"PO-Revision-Date: 2014-02-10 07:25+0100\n"
+"Last-Translator: Walter Garcia-Fontes <walter.garcia@upf.edu>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
@@ -16,880 +17,1771 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.0.1\n"
-#: array.c:103
-#, fuzzy, c-format
+#: array.c:256
+#, c-format
msgid "from %s"
-msgstr "%s (de %s)"
+msgstr "de %s"
-#: array.c:267
-#, fuzzy
+#: array.c:357
msgid "attempt to use a scalar value as array"
-msgstr "s'ha intentat usar la dada escalar «%s» com a una matriu"
-
-#: array.c:270
-#, fuzzy, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "s'ha intentat usar la funció «%s» com a una matriu"
+msgstr "s'ha intentat usar un valor escalar com a una matriu"
-#: array.c:273
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
-msgstr "s'ha intentat usar un paràmetre escalar «%s» com a una matriu"
+msgstr "s'ha intentat usar un paràmetre escalar `%s' com a una matriu"
-#: array.c:276 eval.c:2013
-#, fuzzy, c-format
+#: array.c:362
+#, c-format
msgid "attempt to use scalar `%s' as an array"
-msgstr "s'ha intentat usar la dada escalar «%s» com a una matriu"
+msgstr "s'ha intentat usar la dada escalar `%s' com a una matriu"
-#: array.c:321 array.c:648 builtin.c:75 builtin.c:555 builtin.c:597
-#: builtin.c:610 builtin.c:1016 builtin.c:1028 eval.c:1381 eval.c:1385
-#: eval.c:1710 eval.c:1958 eval.c:2026 eval.c:2274
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
-msgstr "s'ha intentat usar la matriu «%s» en un context escalar"
+msgstr "s'ha intentat usar la matriu `%s' en un context escalar"
-#: array.c:570
-#, fuzzy, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "referència a un element sense valor inicial «%s[\"%s\"]»"
-
-#: array.c:576
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "el subscript de la matriu «%s» és una cadena nul·la"
-
-#: array.c:684
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
-msgstr "delete: l'índex «%s» no està en la matriu «%s»"
-
-#: array.c:708
-#, fuzzy, c-format
-msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
-msgstr "s'ha intentat usar la dada escalar «%s» com a una matriu"
-
-#: array.c:871
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: buit (nul)\n"
-
-#: array.c:876
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: buit (zero)\n"
-
-#: array.c:880
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: mida_taula = %d, mida_matriu = %d\n"
-
-#: array.c:915
-#, fuzzy, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: és un paràmetre\n"
+msgstr "delete: l'índex `%s' no està en la matriu `%s'"
-#: array.c:919
+#: array.c:597
#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: ref_matriu a %s\n"
-
-#: array.c:924
-#, fuzzy
-msgid "adump: argument not an array"
-msgstr "asort: el primer argument no és una matriu"
+msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
+msgstr "s'ha intentat usar la dada escalar `%s[\"%.*s\"]' com a una matriu"
-#: array.c:1142
-#, fuzzy
-msgid "attempt to use array in a scalar context"
-msgstr "s'ha intentat usar la matriu «%s» en un context escalar"
+#: array.c:776
+msgid "adump: first argument not an array"
+msgstr "adump: el primer argument no és una matriu"
-#: array.c:1239
-#, fuzzy
+#: array.c:815
msgid "asort: second argument not an array"
msgstr "asort: el segon argument no és una matriu"
-#: array.c:1240
-#, fuzzy
+#: array.c:816
msgid "asorti: second argument not an array"
-msgstr "asort: el segon argument no és una matriu"
+msgstr "asorti: el segon argument no és una matriu"
-#: array.c:1247
-#, fuzzy
+#: array.c:823
msgid "asort: first argument not an array"
msgstr "asort: el primer argument no és una matriu"
-#: array.c:1248
-#, fuzzy
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr "asort: el primer argument no és una matriu"
-#: awkgram.y:249
-#, fuzzy, c-format
+#: array.c:831
+msgid "asort: cannot use a subarray of first arg for second arg"
+msgstr ""
+
+#: array.c:832
+msgid "asorti: cannot use a subarray of first arg for second arg"
+msgstr ""
+
+#: array.c:837
+msgid "asort: cannot use a subarray of second arg for first arg"
+msgstr ""
+
+#: array.c:838
+msgid "asorti: cannot use a subarray of second arg for first arg"
+msgstr ""
+
+#: array.c:1314
+#, c-format
+msgid "`%s' is invalid as a function name"
+msgstr ""
+
+#: array.c:1318
+#, c-format
+msgid "sort comparison function `%s' is not defined"
+msgstr "la funció de commparació d'ordenació `%s' no està definida"
+
+#: awkgram.y:233
+#, c-format
msgid "%s blocks must have an action part"
-msgstr "Els blocs FINAL han de tindre una part d'acció"
+msgstr "%s blocs han de tenir una part d'acció"
-#: awkgram.y:252
-#, fuzzy
+#: awkgram.y:236
msgid "each rule must have a pattern or an action part"
-msgstr "Els blocs FINAL han de tindre una part d'acció"
+msgstr "cada regla ha de tenir un patró o una part d'acció"
-#: awkgram.y:323 awkgram.y:334
-#, fuzzy
+#: awkgram.y:325 awkgram.y:336
msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr "l'antic awk no suporta l'operador «**=»"
+msgstr "l'antic awk no suporta múltiples regles `BEGIN' i `END'"
-#: awkgram.y:371
+#: awkgram.y:373
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
-msgstr "«%s» és una funció interna, no pot ser redefinida"
+msgstr "`%s' és una funció interna, no pot ser redefinida"
-#: awkgram.y:432
-#, fuzzy
+#: awkgram.y:419
msgid "regexp constant `//' looks like a C++ comment, but is not"
-msgstr ""
-"la constant d'expressió regular «/%s/» sembla un comentari en C, perà no ho "
-"és"
+msgstr "la constant d'expressió regular `//' sembla un comentari en C++, però no ho és"
-#: awkgram.y:436
+#: awkgram.y:423
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
-msgstr ""
-"la constant d'expressió regular «/%s/» sembla un comentari en C, perà no ho "
-"és"
+msgstr "la constant d'expressió regular `/%s/' sembla un comentari en C, perà no ho és"
-#: awkgram.y:528
+#: awkgram.y:515
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr ""
-#: awkgram.y:549
+#: awkgram.y:536
msgid "duplicate `default' detected in switch body"
msgstr ""
-#: awkgram.y:811
-#, fuzzy
+#: awkgram.y:796 awkgram.y:3699
msgid "`break' is not allowed outside a loop or switch"
-msgstr "no es permet «break» a fora d'un bucle"
+msgstr "no es permet `break' a fora d'un bucle o bifurcació"
-#: awkgram.y:820
-#, fuzzy
+#: awkgram.y:805 awkgram.y:3691
msgid "`continue' is not allowed outside a loop"
-msgstr "no es permet «continue» a fora d'un bucle"
+msgstr "no es permet `continue' a fora d'un bucle"
-#: awkgram.y:829
-#, fuzzy, c-format
+#: awkgram.y:815
+#, c-format
msgid "`next' used in %s action"
-msgstr "«next» és usat dintre de l'acció BEGIN o END"
-
-#: awkgram.y:837
-msgid "`nextfile' is a gawk extension"
-msgstr "«nextfile» és una extensió de gawk"
+msgstr "`next' usat a l'acció %s"
-#: awkgram.y:840
-#, fuzzy, c-format
+#: awkgram.y:824
+#, c-format
msgid "`nextfile' used in %s action"
-msgstr "«next» és usat dintre de l'acció BEGIN o END"
+msgstr "`nextfile' usat a l'acció %s"
-#: awkgram.y:863
+#: awkgram.y:848
msgid "`return' used outside function context"
-msgstr "«return» és usat fora del context d'una funció"
+msgstr "`return' és usat fora del context d'una funció"
-#: awkgram.y:923
+#: awkgram.y:922
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
+msgstr "el `print'» simple en la regla BEGIN o END probablement ha de ser `print \"\"'"
+
+#: awkgram.y:988 awkgram.y:1037
+msgid "`delete' is not allowed with SYMTAB"
msgstr ""
-"el «print» simple en la regla BEGIN o END probablement ha de ser «print \"\"»"
-#: awkgram.y:993 awkgram.y:997 awkgram.y:1021
-msgid "`delete array' is a gawk extension"
-msgstr "«delete array» és una extensió de gawk"
+#: awkgram.y:990 awkgram.y:1039
+msgid "`delete' is not allowed with FUNCTAB"
+msgstr ""
-#: awkgram.y:1017
-#, fuzzy
+#: awkgram.y:1024 awkgram.y:1028
msgid "`delete(array)' is a non-portable tawk extension"
-msgstr "«delete array» és una extensió de gawk"
+msgstr "`delete(array)' és una extenció tawk no portable"
-#: awkgram.y:1133
+#: awkgram.y:1149
msgid "multistage two-way pipelines don't work"
msgstr "les canonades bidireccionals multi-etapes no funcionen"
-#: awkgram.y:1236
+#: awkgram.y:1264
msgid "regular expression on right of assignment"
msgstr "expressió regular a la dreta d'una assignació"
-#: awkgram.y:1247
+#: awkgram.y:1275
msgid "regular expression on left of `~' or `!~' operator"
-msgstr "expressió regular a l'esquerra de l'operador «~» o «!~»"
+msgstr "expressió regular a l'esquerra de l'operador `~' o `!~'"
-#: awkgram.y:1263 awkgram.y:1417
-#, fuzzy
+#: awkgram.y:1291 awkgram.y:1442
msgid "old awk does not support the keyword `in' except after `for'"
-msgstr "l'antic awk no suporta l'operador «**=»"
+msgstr "l'antic awk no dóna suport a la paraula clau `in' excepte després de `for'"
-#: awkgram.y:1273
+#: awkgram.y:1301
msgid "regular expression on right of comparison"
msgstr "expressió regular a la derta de la comparació"
-#: awkgram.y:1392
-#, fuzzy, c-format
+#: awkgram.y:1417
+#, c-format
msgid "`getline var' invalid inside `%s' rule"
-msgstr "port remot no vàlid en «%s»"
+msgstr "`getline var' no és vàlid a dins de la regla `%s'"
-#: awkgram.y:1395 eval.c:2649
-#, fuzzy, c-format
+#: awkgram.y:1420
+#, c-format
msgid "`getline' invalid inside `%s' rule"
-msgstr "port remot no vàlid en «%s»"
+msgstr "`getline' no és vàlid a dins de la regla `%s'"
-#: awkgram.y:1400
+#: awkgram.y:1425
msgid "non-redirected `getline' undefined inside END action"
-msgstr "«getline» no redirigit sense definir dintre de l'acció FINAL"
+msgstr "`getline' no redirigit sense definir dintre de l'acció FINAL"
-#: awkgram.y:1419
-#, fuzzy
+#: awkgram.y:1444
msgid "old awk does not support multidimensional arrays"
-msgstr "l'antic awk no suporta l'operador «**=»"
+msgstr "l'antic awk no suporta matrius multidimensionals"
-#: awkgram.y:1515
+#: awkgram.y:1541
msgid "call of `length' without parentheses is not portable"
-msgstr "la crida de «length» sense parèntesis no és portable"
+msgstr "la crida de `length' sense parèntesis no és portable"
-#: awkgram.y:1578
-#, fuzzy
+#: awkgram.y:1607
msgid "indirect function calls are a gawk extension"
-msgstr "«nextfile» és una extensió de gawk"
+msgstr "les crides a funcions indirectes són una extensió gawk"
-#: awkgram.y:1591
-#, fuzzy, c-format
+#: awkgram.y:1620
+#, c-format
msgid "can not use special variable `%s' for indirect function call"
-msgstr "funció «%s»: no pot usar el nom de la funció com a paràmetre"
+msgstr ""
-#: awkgram.y:1669
+#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "expressió de subscript no vàlida"
-#: awkgram.y:1709
-msgid "use of non-array as array"
-msgstr ""
-
-#: awkgram.y:1973 awkgram.y:1993 msg.c:98
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "ADVERTIMENT: "
-#: awkgram.y:1991 msg.c:130
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "Fatal: "
-#: awkgram.y:2041
-#, fuzzy
+#: awkgram.y:2092
msgid "unexpected newline or end of string"
-msgstr "nova línia inesperada"
+msgstr "nova línia inesperada o final d'una cadena de caràcters"
-#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
-msgstr "no es pot obrir el fitxer font «%s» per a lectura (%s)"
+msgstr "no es pot obrir el fitxer font `%s' per a lectura (%s)"
-#: awkgram.y:2298 awkgram.y:2356 builtin.c:119
+#: awkgram.y:2360 awkgram.y:2485
+#, c-format
+msgid "can't open shared library `%s' for reading (%s)"
+msgstr "no es pot obrir la llibreria compartida `%s' per a lectura (%s)"
+
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "motiu desconegut"
-#: awkgram.y:2314
-#, fuzzy, c-format
+#: awkgram.y:2371 awkgram.y:2395
+#, c-format
+msgid "can't include `%s' and use it as a program file"
+msgstr ""
+
+#: awkgram.y:2384
+#, c-format
msgid "already included source file `%s'"
-msgstr "no es pot llegir el fitxer font «%s» (%s)"
+msgstr "ja s'ha inclòs el fitxer font `%s'"
-#: awkgram.y:2340
-#, fuzzy
+#: awkgram.y:2385
+#, c-format
+msgid "already loaded shared library `%s'"
+msgstr ""
+
+#: awkgram.y:2420
msgid "@include is a gawk extension"
-msgstr "«nextfile» és una extensió de gawk"
+msgstr "@include és una extensió de gawk"
-#: awkgram.y:2346
+#: awkgram.y:2426
msgid "empty filename after @include"
msgstr ""
-#: awkgram.y:2491
+#: awkgram.y:2470
+msgid "@load is a gawk extension"
+msgstr "@load és una extensió de gawk"
+
+#: awkgram.y:2476
+msgid "empty filename after @load"
+msgstr ""
+
+#: awkgram.y:2610
msgid "empty program text on command line"
msgstr "el text del programa en la línia de comandaments està buit"
-#: awkgram.y:2606
+#: awkgram.y:2725
#, c-format
msgid "can't read sourcefile `%s' (%s)"
-msgstr "no es pot llegir el fitxer font «%s» (%s)"
+msgstr "no es pot llegir el fitxer font `%s' (%s)"
-#: awkgram.y:2617
+#: awkgram.y:2736
#, c-format
msgid "source file `%s' is empty"
-msgstr "el fitxer font «%s» està buit"
+msgstr "el fitxer font `%s' està buit"
-#: awkgram.y:2802
+#: awkgram.y:2913
msgid "source file does not end in newline"
msgstr "el fitxer font no finalitza amb un retorn de carro"
-#: awkgram.y:2879
+#: awkgram.y:3018
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr "expressió regular sense finalitzar acaba amb «\\» al final del fitxer"
+msgstr "expressió regular sense finalitzar acaba amb `\\' al final del fitxer"
-#: awkgram.y:2903
+#: awkgram.y:3042
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
-#: awkgram.y:2907
+#: awkgram.y:3046
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
-#: awkgram.y:2914
+#: awkgram.y:3053
msgid "unterminated regexp"
msgstr "expressió regular sense finalitzar"
-#: awkgram.y:2918
+#: awkgram.y:3057
msgid "unterminated regexp at end of file"
msgstr "expressió regular sense finalitzar al final del fitxer"
-#: awkgram.y:2977
+#: awkgram.y:3116
msgid "use of `\\ #...' line continuation is not portable"
-msgstr "l'ús de «\\ #...» com a continuació de línia no és portable"
+msgstr "l'ús de `\\ #...' com a continuació de línia no és portable"
-#: awkgram.y:2993
+#: awkgram.y:3132
msgid "backslash not last character on line"
msgstr "la barra invertida no és l'últim caràcter en la línia"
-#: awkgram.y:3054
+#: awkgram.y:3193
msgid "POSIX does not allow operator `**='"
-msgstr "POSIX no permet l'operador «**=»"
+msgstr "POSIX no permet l'operador `**='"
-#: awkgram.y:3056
+#: awkgram.y:3195
msgid "old awk does not support operator `**='"
-msgstr "l'antic awk no suporta l'operador «**=»"
+msgstr "l'antic awk no suporta l'operador `**='"
-#: awkgram.y:3065
+#: awkgram.y:3204
msgid "POSIX does not allow operator `**'"
-msgstr "POSIX no permet l'operador «**»"
+msgstr "POSIX no permet l'operador `**'"
-#: awkgram.y:3067
+#: awkgram.y:3206
msgid "old awk does not support operator `**'"
-msgstr "l'antic awk no suporta l'operador «**=»"
+msgstr "l'antic awk no suporta l'operador `**='"
-#: awkgram.y:3102
+#: awkgram.y:3241
msgid "operator `^=' is not supported in old awk"
-msgstr "l'operador «^=» no està suportat en l'antic awk"
+msgstr "l'operador `^=' no està suportat en l'antic awk"
-#: awkgram.y:3110
+#: awkgram.y:3249
msgid "operator `^' is not supported in old awk"
-msgstr "l'operador «^» no està suportat en l'antic awk"
+msgstr "l'operador `^' no està suportat en l'antic awk"
-#: awkgram.y:3203 awkgram.y:3219
+#: awkgram.y:3342 awkgram.y:3358 command.y:1178
msgid "unterminated string"
msgstr "cadena sense finalitzar"
-#: awkgram.y:3415
+#: awkgram.y:3579
#, c-format
msgid "invalid char '%c' in expression"
-msgstr "caràcter «%c» no vàlid en l'expressió"
+msgstr "caràcter `%c' no vàlid en l'expressió"
-#: awkgram.y:3462
+#: awkgram.y:3626
#, c-format
msgid "`%s' is a gawk extension"
-msgstr "«%s» és una extensió de gawk"
+msgstr "`%s' és una extensió de gawk"
-#: awkgram.y:3467
-#, c-format
-msgid "`%s' is a Bell Labs extension"
-msgstr "«%s» és una extensió de Bell Labs"
-
-#: awkgram.y:3472
+#: awkgram.y:3631
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX no permet «%s»"
-#: awkgram.y:3480
+#: awkgram.y:3639
#, c-format
msgid "`%s' is not supported in old awk"
-msgstr "«%s» no està suportat en l'antic awk"
+msgstr "`%s' no està suportat en l'antic awk"
-#: awkgram.y:3550
+#: awkgram.y:3729
msgid "`goto' considered harmful!\n"
-msgstr "«goto» se considera nefast!\n"
+msgstr "`goto' se considera nefast!\n"
-#: awkgram.y:3602
+#: awkgram.y:3763
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d no és vàlid com a nombre d'arguments per a %s"
-#: awkgram.y:3637 awkgram.y:3640
-msgid "match: third argument is a gawk extension"
-msgstr "match: el tercer argument és una extensió de gawk"
-
-#: awkgram.y:3668
+#: awkgram.y:3798
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr "%s: la cadena literal com a últim argument de substitució no té efecte"
-#: awkgram.y:3673
-#, fuzzy, c-format
+#: awkgram.y:3803
+#, c-format
msgid "%s third parameter is not a changeable object"
-msgstr "sub: el tercer argument no és un objecte intercanviable"
+msgstr "%s el tercer paràmetre no és un objecte intercanviable"
+
+#: awkgram.y:3886 awkgram.y:3889
+msgid "match: third argument is a gawk extension"
+msgstr "match: el tercer argument és una extensió de gawk"
-#: awkgram.y:3759 awkgram.y:3762
+#: awkgram.y:3943 awkgram.y:3946
msgid "close: second argument is a gawk extension"
msgstr "close: el segon argument és una extensió de gawk"
-#: awkgram.y:3774
+#: awkgram.y:3958
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"l'ús de dcgettext(_\"...\") no és correcte: elimineu el guió baix inicial"
+msgstr "l'ús de dcgettext(_\"...\") no és correcte: elimineu el guió baix inicial"
-#: awkgram.y:3789
-#, fuzzy
+#: awkgram.y:3973
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"l'ús de dcgettext(_\"...\") no és correcte: elimineu el guió baix inicial"
+msgstr "l'ús de dcgettext(_\"...\") no és correcte: elimineu el guió baix inicial"
-#: awkgram.y:3881
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "funció «%s»: paràmetre #%d, «%s», duplica al paràmetre #%d"
+#: awkgram.y:3992
+msgid "index: regexp constant as second argument is not allowed"
+msgstr "índex: no es permert una constant regexp com a segon argument"
-#: awkgram.y:3923
+#: awkgram.y:4045
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
-msgstr "funció «%s»: paràmetre «%s» ofusca la variable global"
+msgstr "funció `%s': paràmetre `%s' ofusca la variable global"
-#: awkgram.y:4081
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
-msgstr "no es pot obrir «%s» per a escriptura (%s)"
+msgstr "no es pot obrir `%s' per a escriptura (%s)"
-#: awkgram.y:4082 profile.c:85
-msgid "sending profile to standard error"
-msgstr "enviant el perfil a l'eixida d'error estàndard"
+#: awkgram.y:4103
+msgid "sending variable list to standard error"
+msgstr "s'està enviant la llista de variables a l'eixida d'error estàndard"
-#: awkgram.y:4088
+#: awkgram.y:4111
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: tancament erroni (%s)"
-#: awkgram.y:4140
+#: awkgram.y:4136
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() crida dos vegades!"
-#: awkgram.y:4146
+#: awkgram.y:4144
msgid "there were shadowed variables."
msgstr ""
-#: awkgram.y:4176
+#: awkgram.y:4215
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "nom de la funció `%s' definida prèviament"
+
+#: awkgram.y:4261
#, c-format
msgid "function `%s': can't use function name as parameter name"
-msgstr "funció «%s»: no pot usar el nom de la funció com a paràmetre"
+msgstr "funció `%s»: no pot usar el nom de la funció com a paràmetre"
-#: awkgram.y:4180
-#, fuzzy, c-format
+#: awkgram.y:4264
+#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr "funció «%s»: no pot usar el nom de la funció com a paràmetre"
+msgstr "funció `%s': no es pot usar la variable especial `%s' com a un paràmetre de funció"
-#: awkgram.y:4196
+#: awkgram.y:4272
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "nom de la funció «%s» definida prèviament"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "funció `%s': paràmetre #%d, `%s', duplica al paràmetre #%d"
-#: awkgram.y:4364 awkgram.y:4370
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
-msgstr "es crida a la funció «%s» però no s'ha definit"
+msgstr "es crida a la funció `%s' però no s'ha definit"
-#: awkgram.y:4373
-#, fuzzy, c-format
+#: awkgram.y:4369
+#, c-format
msgid "function `%s' defined but never called directly"
-msgstr "es defineix la funció «%s» però no s'ha cridat mai"
+msgstr "la funció `%s' està definida però no s'ha cridat mai directament"
-#: awkgram.y:4405
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
-msgstr ""
-"l'expressió regular constant per al paràmetre #%d condueix a un valor booleà"
+msgstr "l'expressió regular constant per al paràmetre #%d condueix a un valor booleà"
-#: awkgram.y:4514
-#, fuzzy, c-format
+#: awkgram.y:4460
+#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
"or used as a variable or an array"
msgstr ""
-"s'ha cridat a la funció «%s» amb espai entre el nom i el «(»,\n"
-"%s"
+"s'ha cridat a la funció `%s' amb espai entre el nom i el '(',\n"
+"o s'ha usat com a variable o matriu"
-#: awkgram.y:4761 eval.c:2206
+#: awkgram.y:4696
msgid "division by zero attempted"
msgstr "s'ha intentat una divisió per zero"
-#: awkgram.y:4770 eval.c:2222
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
-msgstr "s'ha intentat una divisió per zero en «%%»"
+msgstr "s'ha intentat una divisió per zero en `%%'"
-#: builtin.c:117
+#: awkgram.y:5025
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr ""
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr "destí no vàlid d'assignació (opcode %s)"
+
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s a \"%s\" ha fallat (%s)"
-#: builtin.c:118
+#: builtin.c:134
msgid "standard output"
msgstr "eixida estàndard"
-#: builtin.c:132
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr "exp: s'ha rebut un argument que no és un número"
-#: builtin.c:138
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: l'argument %g està fora de rang"
-#: builtin.c:197
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: no es pot netejar: la canonada «%s» s'ha obert per a lectura, no per "
-"a escriptura"
+msgstr "fflush: no es pot netejar: la canonada `%s' s'ha obert per a lectura, no per a escriptura"
-#: builtin.c:200
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush: no es pot netejar: el fitxer «%s» s'ha obert per a lectura, no per a "
-"escriptura"
+msgstr "fflush: no es pot netejar: el fitxer `%s' s'ha obert per a lectura, no per a escriptura"
-#: builtin.c:212
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
-msgstr "fflush: «%s» no és un fitxer obert, canonada o co-procés"
+msgstr "fflush: `%s' no és un fitxer obert, canonada o co-procés"
-#: builtin.c:330
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr "índex: el primer argument rebut no és una cadena"
-#: builtin.c:332
+#: builtin.c:364
msgid "index: received non-string second argument"
msgstr "índex: el segon argument rebut no és una cadena"
-#: builtin.c:454
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr "int: s'ha rebut un argument no numèric"
-#: builtin.c:490
-#, fuzzy
+#: builtin.c:525
msgid "length: received array argument"
-msgstr "length: s'ha rebut un argument que no és una cadena"
+msgstr "length: s'ha rebut un argument de matriu"
-#: builtin.c:493
-#, fuzzy
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
-msgstr "«delete array» és una extensió de gawk"
+msgstr "`length(array)' és una extensió de gawk"
-#: builtin.c:501
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr "length: s'ha rebut un argument que no és una cadena"
-#: builtin.c:532
+#: builtin.c:575
msgid "log: received non-numeric argument"
msgstr "log: s'ha rebut un argument no numèric"
-#: builtin.c:535
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
msgstr "log: s'ha rebut l'argument negatiu %g"
-#: builtin.c:593 builtin.c:604
+#: builtin.c:776 builtin.c:781
+msgid "fatal: must use `count$' on all formats or none"
+msgstr ""
+
+#: builtin.c:851
+#, c-format
+msgid "field width is ignored for `%%' specifier"
+msgstr ""
+
+#: builtin.c:853
+#, c-format
+msgid "precision is ignored for `%%' specifier"
+msgstr ""
+
+#: builtin.c:855
+#, c-format
+msgid "field width and precision are ignored for `%%' specifier"
+msgstr ""
+
+#: builtin.c:906
+msgid "fatal: `$' is not permitted in awk formats"
+msgstr "fatal: no es permeten `$' en els formats awk"
+
+#: builtin.c:915
+msgid "fatal: arg count with `$' must be > 0"
+msgstr "fatal: el recompte d'arguments amb `$' ha de ser > 0"
+
+#: builtin.c:919
+#, c-format
+msgid "fatal: arg count %ld greater than total number of supplied arguments"
+msgstr "fatal: el recompte d'arguments %ld és major que el nombre total d'arguments proporcionats"
+
+#: builtin.c:923
+msgid "fatal: `$' not permitted after period in format"
+msgstr "fatal: no es permet `$' després d'un punt en el format"
+
+#: builtin.c:939
+msgid "fatal: no `$' supplied for positional field width or precision"
+msgstr "fatal: no es proporciona `$' per a l'ample o precisió del camp de posició"
+
+#: builtin.c:1011
+msgid "`l' is meaningless in awk formats; ignored"
+msgstr "`l' manca de significat en els formats awk; serà ignorat"
+
+#: builtin.c:1015
+msgid "fatal: `l' is not permitted in POSIX awk formats"
+msgstr "fatal: `l' no està permés en els formats POSIX de awk"
+
+#: builtin.c:1028
+msgid "`L' is meaningless in awk formats; ignored"
+msgstr "`L' manca de significat en els formats awk; serà ignorat"
+
+#: builtin.c:1032
+msgid "fatal: `L' is not permitted in POSIX awk formats"
+msgstr "fatal: `L' no està permés en els formats POSIX de awk"
+
+#: builtin.c:1045
+msgid "`h' is meaningless in awk formats; ignored"
+msgstr "`h' manca de significat en els formats awk; serà ignorat"
+
+#: builtin.c:1049
+msgid "fatal: `h' is not permitted in POSIX awk formats"
+msgstr "fatal: `h' no està permés en els formats POSIX de awk"
+
+#: builtin.c:1447
+#, c-format
+msgid "[s]printf: value %g is out of range for `%%%c' format"
+msgstr ""
+
+#: builtin.c:1545
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1550
+msgid "fatal: not enough arguments to satisfy format string"
+msgstr "fatal: no hi ha prou arguments per a satisfer el format d'una cadena"
+
+#: builtin.c:1552
+msgid "^ ran out for this one"
+msgstr "^ desbordament per a aquest"
+
+#: builtin.c:1559
+msgid "[s]printf: format specifier does not have control letter"
+msgstr "[s]printf: l'especificador de format no conté lletra de control"
+
+#: builtin.c:1562
+msgid "too many arguments supplied for format string"
+msgstr "s'han proporcionat masses arguments per a la cadena de format"
+
+#: builtin.c:1618
+msgid "sprintf: no arguments"
+msgstr "sprintf: sense arguments"
+
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr "printf: sense arguments"
-#: builtin.c:645
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: s'ha rebut un argument no numèric"
-#: builtin.c:649
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: cridat amb l'argument negatiu %g"
-#: builtin.c:673
-#, fuzzy, c-format
+#: builtin.c:1730
+#, c-format
msgid "substr: length %g is not >= 1"
-msgstr "substr: la longitud %g és <= 0"
+msgstr "substr: la longitud %g no és >= 1"
-#: builtin.c:675
-#, fuzzy, c-format
+#: builtin.c:1732
+#, c-format
msgid "substr: length %g is not >= 0"
-msgstr "substr: la longitud %g és <= 0"
+msgstr "substr: la longitud %g no és >= 0"
-#: builtin.c:682
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: la longitud sobre un nombre no enter %g serà truncada"
-#: builtin.c:687
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr ""
-#: builtin.c:699
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: l'índex d'inici %g no és vàlid, usant 1"
-#: builtin.c:704
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: l'índex d'inici no enter %g serà truncat"
-#: builtin.c:729
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr "substr: la cadena font és de longitud zero"
-#: builtin.c:745
-#, fuzzy, c-format
+#: builtin.c:1802
+#, c-format
msgid "substr: start index %g is past end of string"
-msgstr "substr: l'índex d'inici %d sobrepassa l'acabament de la cadena"
+msgstr "substr: l'índex d'inici %g sobrepassa l'acabament de la cadena"
-#: builtin.c:753
-#, fuzzy, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: la longitud %d a l'índex d'inici %d excedeix la longitud del 1er "
-"argument (%d)"
+#: builtin.c:1810
+#, c-format
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: la longitud %g a l'índex d'inici %g excedeix la longitud del 1er argument (%lu)"
-#: builtin.c:826
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
-#: builtin.c:840
-#, fuzzy
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
-msgstr "strftime: el segon argument rebut no és numèric"
+msgstr "strftime: s'ha rebut un segon argument no numèric"
-#: builtin.c:847
-#, fuzzy
+#: builtin.c:1911
+msgid "strftime: second argument less than 0 or too big for time_t"
+msgstr ""
+
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr "strftime: el primer argument rebut no és una cadena"
-#: builtin.c:853
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr "strftime: s'ha rebut una cadena de format buida"
-#: builtin.c:919
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr "mktime: s'ha rebut un argument que no és una cadena"
-#: builtin.c:936
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr ""
-#: builtin.c:971
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr ""
-#: builtin.c:976
-#, fuzzy
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr "system: s'ha rebut un argument que no és una cadena"
-#: builtin.c:1031 eval.c:1411 eval.c:1936 eval.c:1949
+#: builtin.c:2168
#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "referència a una variable sense inicialitzar «%s»"
-
-#: builtin.c:1098
-#, fuzzy, c-format
msgid "reference to uninitialized field `$%d'"
-msgstr "referència a una variable sense inicialitzar «%s»"
+msgstr "referència a una variable sense inicialitzar `$%d'"
-#: builtin.c:1185
-#, fuzzy
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr "tolower: s'ha rebut un argument que no és una cadena"
-#: builtin.c:1219
-#, fuzzy
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr "toupper: s'ha rebut un argument que no és una cadena"
-#: builtin.c:1255
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr "atan2: el primer argument rebut no és numèric"
-#: builtin.c:1257
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr "atan2: el segon argument rebut no és numèric"
-#: builtin.c:1276
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr "sin: s'ha rebut un argument que no és numèric"
-#: builtin.c:1292
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr "cos: s'ha rebut un argument que no és numèric"
-#: builtin.c:1345
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr "srand: s'ha rebut un argument que no és numèric"
-#: builtin.c:1376
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr "match: el tercer argument no és una matriu"
-#: builtin.c:1883
-#, fuzzy
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: el tercer argument de 0 és tractat com a 1"
-#: builtin.c:1923
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr "lshift: el primer argument rebut no és numèric"
-#: builtin.c:1925
-#, fuzzy
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
-msgstr "atan2: el segon argument rebut no és numèric"
+msgstr "lshift: el segon argument rebut no és numèric"
-#: builtin.c:1931
+#: builtin.c:3022
#, c-format
-msgid "lshift(%lf, %lf): negative values will give strange results"
-msgstr "lshift(%lf, %lf): els valors negatius donaran resultats estranys"
+msgid "lshift(%f, %f): negative values will give strange results"
+msgstr "lshift(%f, %f): els valors negatius donaran resultats estranys"
-#: builtin.c:1933
+#: builtin.c:3024
#, c-format
-msgid "lshift(%lf, %lf): fractional values will be truncated"
-msgstr "lshift(%lf, %lf): els valors fraccionaris sernn truncats"
+msgid "lshift(%f, %f): fractional values will be truncated"
+msgstr "lshift(%f, %f): els valors fraccionaris sernn truncats"
-#: builtin.c:1935
+#: builtin.c:3026
#, c-format
-msgid "lshift(%lf, %lf): too large shift value will give strange results"
-msgstr ""
-"lshift(%lf, %lf): un valor de desplaçament massa gran donarà resultats "
-"estranys"
+msgid "lshift(%f, %f): too large shift value will give strange results"
+msgstr "lshift(%f, %f): un valor de desplaçament massa gran donarà resultats estranys"
-#: builtin.c:1960
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr "rshift: el primer argument rebut no és numèric"
-#: builtin.c:1962
-#, fuzzy
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
-msgstr "atan2: el segon argument rebut no és numèric"
+msgstr "rshift: el segon argument rebut no és numèric"
-#: builtin.c:1968
+#: builtin.c:3059
#, c-format
-msgid "rshift(%lf, %lf): negative values will give strange results"
-msgstr "rshift(%lf, %lf): els valors negatius donaran resultats estranys"
+msgid "rshift(%f, %f): negative values will give strange results"
+msgstr "rshift(%f, %f): els valors negatius donaran resultats estranys"
+
+#: builtin.c:3061
+#, c-format
+msgid "rshift(%f, %f): fractional values will be truncated"
+msgstr "rshift(%f, %f): els valors fraccionaris seran truncats"
+
+#: builtin.c:3063
+#, c-format
+msgid "rshift(%f, %f): too large shift value will give strange results"
+msgstr "rshift(%f, %f): un valor de desplaçament massa gran donarà resultats estranys"
+
+#: builtin.c:3088 mpfr.c:968
+msgid "and: called with less than two arguments"
+msgstr "and: cridat amb menys de dos arguments"
-#: builtin.c:1970
+#: builtin.c:3093
#, c-format
-msgid "rshift(%lf, %lf): fractional values will be truncated"
-msgstr "rshift(%lf, %lf): els valors fraccionaris seran truncats"
+msgid "and: argument %d is non-numeric"
+msgstr "exp: l'argument %d no és numèric"
-#: builtin.c:1972
+#: builtin.c:3097
#, c-format
-msgid "rshift(%lf, %lf): too large shift value will give strange results"
+msgid "and: argument %d negative value %g will give strange results"
+msgstr "and: l'argument %d amb valor negatiu %g donarà resultats estranys"
+
+#: builtin.c:3120 mpfr.c:1000
+msgid "or: called with less than two arguments"
+msgstr "or: cridat amb menys de dos arguments"
+
+#: builtin.c:3125
+#, c-format
+msgid "or: argument %d is non-numeric"
+msgstr "or: l'argument %d no és numèric"
+
+#: builtin.c:3129
+#, c-format
+msgid "or: argument %d negative value %g will give strange results"
+msgstr "or: l'argument %d amb valor negatiu %g donarà resultats estranys"
+
+#: builtin.c:3151 mpfr.c:1031
+msgid "xor: called with less than two arguments"
+msgstr "xort: cridat amb menys de dos arguments"
+
+#: builtin.c:3157
+#, c-format
+msgid "xor: argument %d is non-numeric"
+msgstr "xor: l'argument %d no és numèric"
+
+#: builtin.c:3161
+#, c-format
+msgid "xor: argument %d negative value %g will give strange results"
+msgstr "xor: l'argument %d del valor negatiu %g donarà resultats estranys"
+
+#: builtin.c:3186 mpfr.c:787
+msgid "compl: received non-numeric argument"
+msgstr "compl: s'ha rebut un argument que no és numèric"
+
+#: builtin.c:3192
+#, c-format
+msgid "compl(%f): negative value will give strange results"
+msgstr "compl(%f): el valor negatiu donarà resultats estranys"
+
+#: builtin.c:3194
+#, c-format
+msgid "compl(%f): fractional value will be truncated"
+msgstr "compl(%f): el valor fraccionari serà truncat"
+
+#: builtin.c:3363
+#, c-format
+msgid "dcgettext: `%s' is not a valid locale category"
+msgstr "dcgettext: `%s' no és una categoria local vàlida"
+
+#: command.y:225
+#, c-format
+msgid "Type (g)awk statement(s). End with the command \"end\"\n"
msgstr ""
-"rshift(%lf, %lf): un valor de desplaçament massa gran donarà resultats "
-"estranys"
-#: builtin.c:1997
-msgid "and: received non-numeric first argument"
-msgstr "and: el primer argument rebut no és numèric"
+#: command.y:289
+#, c-format
+msgid "invalid frame number: %d"
+msgstr "número invàlid de marc: %d"
-#: builtin.c:1999
-#, fuzzy
-msgid "and: received non-numeric second argument"
-msgstr "atan2: el segon argument rebut no és numèric"
+#: command.y:295
+#, c-format
+msgid "info: invalid option - \"%s\""
+msgstr "info: opció no vàlida - \"%s\""
-#: builtin.c:2005
+#: command.y:321
#, c-format
-msgid "and(%lf, %lf): negative values will give strange results"
-msgstr "and(%lf, %lf): els valors negatius donaran resultats estranys"
+msgid "source \"%s\": already sourced."
+msgstr ""
-#: builtin.c:2007
+#: command.y:326
#, c-format
-msgid "and(%lf, %lf): fractional values will be truncated"
-msgstr "and(%lf, %lf): els valors fraccionaris seran truncats"
+msgid "save \"%s\": command not permitted."
+msgstr ""
-#: builtin.c:2032
-msgid "or: received non-numeric first argument"
-msgstr "or: el primer argument rebut no és numèric"
+#: command.y:339
+msgid "Can't use command `commands' for breakpoint/watchpoint commands"
+msgstr ""
-#: builtin.c:2034
-#, fuzzy
-msgid "or: received non-numeric second argument"
-msgstr "atan2: el segon argument rebut no és numèric"
+#: command.y:341
+msgid "no breakpoint/watchpoint has been set yet"
+msgstr ""
-#: builtin.c:2040
+#: command.y:343
+msgid "invalid breakpoint/watchpoint number"
+msgstr ""
+
+#: command.y:348
#, c-format
-msgid "or(%lf, %lf): negative values will give strange results"
-msgstr "or(%lf, %lf): els valors negatius donaran resultats estranys"
+msgid "Type commands for when %s %d is hit, one per line.\n"
+msgstr ""
-#: builtin.c:2042
+#: command.y:350
#, c-format
-msgid "or(%lf, %lf): fractional values will be truncated"
-msgstr "or(%lf, %lf): els valors fraccionaris seran truncats"
+msgid "End with the command \"end\"\n"
+msgstr ""
-#: builtin.c:2070
-msgid "xor: received non-numeric first argument"
-msgstr "xor: el primer argument rebut no és numèric"
+#: command.y:357
+msgid "`end' valid only in command `commands' or `eval'"
+msgstr ""
-#: builtin.c:2072
-#, fuzzy
-msgid "xor: received non-numeric second argument"
-msgstr "atan2: el segon argument rebut no és numèric"
+#: command.y:367
+msgid "`silent' valid only in command `commands'"
+msgstr ""
-#: builtin.c:2078
+#: command.y:373
#, c-format
-msgid "xor(%lf, %lf): negative values will give strange results"
-msgstr "xor(%lf, %lf): els valors negatius donaran resultats estranys"
+msgid "trace: invalid option - \"%s\""
+msgstr "traç: opció no vàlida - \"%s\""
-#: builtin.c:2080
+#: command.y:387
+msgid "condition: invalid breakpoint/watchpoint number"
+msgstr ""
+
+#: command.y:449
+msgid "argument not a string"
+msgstr "l'argument no és una cadena de caràcters"
+
+#: command.y:459 command.y:464
#, c-format
-msgid "xor(%lf, %lf): fractional values will be truncated"
-msgstr "xor(%lf, %lf): els valors fraccionaris seran truncats"
+msgid "option: invalid parameter - \"%s\""
+msgstr ""
-#: builtin.c:2104 builtin.c:2110
-msgid "compl: received non-numeric argument"
-msgstr "compl: s'ha rebut un argument que no és numèric"
+#: command.y:474
+#, c-format
+msgid "no such function - \"%s\""
+msgstr ""
-#: builtin.c:2112
+#: command.y:531
#, c-format
-msgid "compl(%lf): negative value will give strange results"
-msgstr "compl(%lf): el valor negatiu donarà resultats estranys"
+msgid "enable: invalid option - \"%s\""
+msgstr "enable: opció no vàlida - \"%s\""
-#: builtin.c:2114
+#: command.y:597
#, c-format
-msgid "compl(%lf): fractional value will be truncated"
-msgstr "compl(%lf): el valor fraccionari serà truncat"
+msgid "invalid range specification: %d - %d"
+msgstr "especificació no vàlida de rang: %d - %d"
+
+#: command.y:659
+msgid "non-numeric value for field number"
+msgstr ""
+
+#: command.y:680 command.y:687
+msgid "non-numeric value found, numeric expected"
+msgstr ""
+
+#: command.y:712 command.y:718
+msgid "non-zero integer value"
+msgstr ""
+
+#: command.y:817
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr ""
+
+#: command.y:819
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
+msgstr ""
+
+#: command.y:821
+msgid "clear [[filename:]N|function] - delete breakpoints previously set."
+msgstr ""
-#: builtin.c:2283
+#: command.y:823
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr ""
+
+#: command.y:825
+msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
+msgstr ""
+
+#: command.y:827
+msgid "continue [COUNT] - continue program being debugged."
+msgstr ""
+
+#: command.y:829
+msgid "delete [breakpoints] [range] - delete specified breakpoints."
+msgstr ""
+
+#: command.y:831
+msgid "disable [breakpoints] [range] - disable specified breakpoints."
+msgstr ""
+
+#: command.y:833
+msgid "display [var] - print value of variable each time the program stops."
+msgstr ""
+
+#: command.y:835
+msgid "down [N] - move N frames down the stack."
+msgstr ""
+
+#: command.y:837
+msgid "dump [filename] - dump instructions to file or stdout."
+msgstr ""
+
+#: command.y:839
+msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
+msgstr ""
+
+#: command.y:841
+msgid "end - end a list of commands or awk statements."
+msgstr ""
+
+#: command.y:843
+msgid "eval stmt|[p1, p2, ...] - evaluate awk statement(s)."
+msgstr ""
+
+#: command.y:845
+msgid "finish - execute until selected stack frame returns."
+msgstr ""
+
+#: command.y:847
+msgid "frame [N] - select and print stack frame number N."
+msgstr ""
+
+#: command.y:849
+msgid "help [command] - print list of commands or explanation of command."
+msgstr ""
+
+#: command.y:851
+msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
+msgstr ""
+
+#: command.y:853
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
+msgstr ""
+
+#: command.y:855
+msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
+msgstr ""
+
+#: command.y:857
+msgid "next [COUNT] - step program, proceeding through subroutine calls."
+msgstr ""
+
+#: command.y:859
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgstr ""
+
+#: command.y:861
+msgid "option [name[=value]] - set or display debugger option(s)."
+msgstr ""
+
+#: command.y:863
+msgid "print var [var] - print value of a variable or array."
+msgstr ""
+
+#: command.y:865
+msgid "printf format, [arg], ... - formatted output."
+msgstr ""
+
+#: command.y:867
+msgid "quit - exit debugger."
+msgstr ""
+
+#: command.y:869
+msgid "return [value] - make selected stack frame return to its caller."
+msgstr ""
+
+#: command.y:871
+msgid "run - start or restart executing program."
+msgstr ""
+
+#: command.y:874
+msgid "save filename - save commands from the session to file."
+msgstr ""
+
+#: command.y:877
+msgid "set var = value - assign value to a scalar variable."
+msgstr ""
+
+#: command.y:879
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr ""
+
+#: command.y:881
+msgid "source file - execute commands from file."
+msgstr ""
+
+#: command.y:883
+msgid "step [COUNT] - step program until it reaches a different source line."
+msgstr ""
+
+#: command.y:885
+msgid "stepi [COUNT] - step one instruction exactly."
+msgstr ""
+
+#: command.y:887
+msgid "tbreak [[filename:]N|function] - set a temporary breakpoint."
+msgstr ""
+
+#: command.y:889
+msgid "trace on|off - print instruction before executing."
+msgstr ""
+
+#: command.y:891
+msgid "undisplay [N] - remove variable(s) from automatic display list."
+msgstr ""
+
+#: command.y:893
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr ""
+
+#: command.y:895
+msgid "unwatch [N] - remove variable(s) from watch list."
+msgstr ""
+
+#: command.y:897
+msgid "up [N] - move N frames up the stack."
+msgstr ""
+
+#: command.y:899
+msgid "watch var - set a watchpoint for a variable."
+msgstr ""
+
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
-msgid "dcgettext: `%s' is not a valid locale category"
-msgstr "dcgettext: «%s» no és una categoria local vàlida"
+msgid "error: "
+msgstr "Error: "
+
+#: command.y:1051
+#, c-format
+msgid "can't read command (%s)\n"
+msgstr "no es pot llegir la instraucció (%s)\n"
+
+#: command.y:1065
+#, c-format
+msgid "can't read command (%s)"
+msgstr "no es pot llegir la instrucció (%s)"
+
+#: command.y:1116
+msgid "invalid character in command"
+msgstr "caràcter no vàlida en la instucció"
+
+#: command.y:1152
+#, c-format
+msgid "unknown command - \"%.*s\", try help"
+msgstr ""
+
+#: command.y:1222
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: command.y:1284
+msgid "invalid character"
+msgstr "caràcter no vàlid"
+
+#: command.y:1455
+#, c-format
+msgid "undefined command: %s\n"
+msgstr ""
+
+#: debug.c:252
+msgid "set or show the number of lines to keep in history file."
+msgstr ""
+
+#: debug.c:254
+msgid "set or show the list command window size."
+msgstr ""
+
+#: debug.c:256
+msgid "set or show gawk output file."
+msgstr ""
+
+#: debug.c:258
+msgid "set or show debugger prompt."
+msgstr ""
+
+#: debug.c:260
+msgid "(un)set or show saving of command history (value=on|off)."
+msgstr ""
+
+#: debug.c:262
+msgid "(un)set or show saving of options (value=on|off)."
+msgstr ""
+
+#: debug.c:264
+msgid "(un)set or show instruction tracing (value=on|off)."
+msgstr ""
+
+#: debug.c:345
+msgid "program not running."
+msgstr ""
+
+#: debug.c:448 debug.c:606
+#, c-format
+msgid "can't read source file `%s' (%s)"
+msgstr "no es pot llegir el fitxer font `%s' (%s)"
+
+#: debug.c:453
+#, c-format
+msgid "source file `%s' is empty.\n"
+msgstr "el fitxer font `%s' està buit\n"
+
+#: debug.c:480
+msgid "no current source file."
+msgstr ""
+
+#: debug.c:505
+#, c-format
+msgid "cannot find source file named `%s' (%s)"
+msgstr "no es pot trobar el fitxer font `%s' (%s)"
+
+#: debug.c:529
+#, c-format
+msgid "WARNING: source file `%s' modified since program compilation.\n"
+msgstr ""
+
+#: debug.c:551
+#, c-format
+msgid "line number %d out of range; `%s' has %d lines"
+msgstr ""
+
+#: debug.c:611
+#, c-format
+msgid "unexpected eof while reading file `%s', line %d"
+msgstr "final de fitxer no esperat quan s'estava llegint el fitxer `%s', linía %d"
+
+#: debug.c:620
+#, c-format
+msgid "source file `%s' modified since start of program execution"
+msgstr ""
+
+#: debug.c:732
+#, c-format
+msgid "Current source file: %s\n"
+msgstr ""
+
+#: debug.c:733
+#, c-format
+msgid "Number of lines: %d\n"
+msgstr ""
+
+#: debug.c:740
+#, c-format
+msgid "Source file (lines): %s (%d)\n"
+msgstr ""
+
+#: debug.c:754
+msgid ""
+"Number Disp Enabled Location\n"
+"\n"
+msgstr ""
+
+#: debug.c:765
+#, c-format
+msgid "\tno of hits = %ld\n"
+msgstr ""
+
+#: debug.c:767
+#, c-format
+msgid "\tignore next %ld hit(s)\n"
+msgstr ""
+
+#: debug.c:769 debug.c:909
+#, c-format
+msgid "\tstop condition: %s\n"
+msgstr ""
+
+#: debug.c:771 debug.c:911
+msgid "\tcommands:\n"
+msgstr ""
+
+#: debug.c:793
+#, c-format
+msgid "Current frame: "
+msgstr ""
+
+#: debug.c:796
+#, c-format
+msgid "Called by frame: "
+msgstr ""
+
+#: debug.c:800
+#, c-format
+msgid "Caller of frame: "
+msgstr ""
+
+#: debug.c:818
+#, c-format
+msgid "None in main().\n"
+msgstr ""
+
+#: debug.c:848
+msgid "No arguments.\n"
+msgstr "Sense arguments.\n"
+
+#: debug.c:849
+msgid "No locals.\n"
+msgstr ""
+
+#: debug.c:857
+msgid ""
+"All defined variables:\n"
+"\n"
+msgstr ""
+
+#: debug.c:867
+msgid ""
+"All defined functions:\n"
+"\n"
+msgstr ""
+
+#: debug.c:886
+msgid ""
+"Auto-display variables:\n"
+"\n"
+msgstr ""
+
+#: debug.c:889
+msgid ""
+"Watch variables:\n"
+"\n"
+msgstr ""
+
+#: debug.c:1029
+#, c-format
+msgid "no symbol `%s' in current context\n"
+msgstr ""
+
+#: debug.c:1041 debug.c:1427
+#, c-format
+msgid "`%s' is not an array\n"
+msgstr ""
+
+#: debug.c:1055
+#, c-format
+msgid "$%ld = uninitialized field\n"
+msgstr ""
+
+#: debug.c:1076
+#, c-format
+msgid "array `%s' is empty\n"
+msgstr "la matriu `%s' està buida\n"
+
+#: debug.c:1119 debug.c:1171
+#, c-format
+msgid "[\"%s\"] not in array `%s'\n"
+msgstr "[\"%s\"] no està a la matriu `%s'\n"
+
+#: debug.c:1175
+#, c-format
+msgid "`%s[\"%s\"]' is not an array\n"
+msgstr ""
+
+#: debug.c:1236 debug.c:4964
+#, c-format
+msgid "`%s' is not a scalar variable"
+msgstr ""
+
+#: debug.c:1258 debug.c:4994
+#, c-format
+msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
+msgstr "s'ha intentat usar la matriu `%s[\"%s\"]' en un context escalar"
+
+#: debug.c:1280 debug.c:5005
+#, c-format
+msgid "attempt to use scalar `%s[\"%s\"]' as array"
+msgstr "s'ha intentat usar la dada escalar `%s[\"%s\"]' com a una matriu"
+
+#: debug.c:1423
+#, c-format
+msgid "`%s' is a function"
+msgstr "`%s' és una funció"
+
+#: debug.c:1465
+#, c-format
+msgid "watchpoint %d is unconditional\n"
+msgstr ""
+
+#: debug.c:1499
+#, c-format
+msgid "No display item numbered %ld"
+msgstr ""
+
+#: debug.c:1502
+#, c-format
+msgid "No watch item numbered %ld"
+msgstr ""
+
+#: debug.c:1528
+#, fuzzy, c-format
+msgid "%d: [\"%s\"] not in array `%s'\n"
+msgstr "%d: [\"%s\"] no està a la matriu `%s'\n"
+
+#: debug.c:1767
+msgid "attempt to use scalar value as array"
+msgstr "s'ha intentat usar una dada escalar com a una matriu"
+
+#: debug.c:1856
+#, c-format
+msgid "Watchpoint %d deleted because parameter is out of scope.\n"
+msgstr ""
+
+#: debug.c:1867
+#, c-format
+msgid "Display %d deleted because parameter is out of scope.\n"
+msgstr ""
+
+#: debug.c:1900
+#, c-format
+msgid " in file `%s', line %d\n"
+msgstr "al fitxer `%s', línia %d\n"
+
+#: debug.c:1921
+#, c-format
+msgid " at `%s':%d"
+msgstr ""
+
+#: debug.c:1937 debug.c:2000
+#, c-format
+msgid "#%ld\tin "
+msgstr ""
+
+#: debug.c:1974
+#, c-format
+msgid "More stack frames follow ...\n"
+msgstr ""
+
+#: debug.c:2017
+msgid "invalid frame number"
+msgstr "número no vàlid de rang"
+
+#: debug.c:2200
+#, c-format
+msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
+msgstr ""
+
+#: debug.c:2207
+#, c-format
+msgid "Note: breakpoint %d (enabled), also set at %s:%d"
+msgstr ""
+
+#: debug.c:2214
+#, c-format
+msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
+msgstr ""
+
+#: debug.c:2221
+#, c-format
+msgid "Note: breakpoint %d (disabled), also set at %s:%d"
+msgstr ""
+
+#: debug.c:2238
+#, c-format
+msgid "Breakpoint %d set at file `%s', line %d\n"
+msgstr "Punt d'interrupció %d establert al fitxer `%s', línia %d\n"
+
+#: debug.c:2340
+#, c-format
+msgid "Can't set breakpoint in file `%s'\n"
+msgstr ""
+
+#: debug.c:2369 debug.c:2492 debug.c:3350
+#, c-format
+msgid "line number %d in file `%s' out of range"
+msgstr "el número de línia %d al fitxer `%s' està fora de rang"
+
+#: debug.c:2373
+#, c-format
+msgid "Can't find rule!!!\n"
+msgstr ""
+
+#: debug.c:2375
+#, c-format
+msgid "Can't set breakpoint at `%s':%d\n"
+msgstr ""
+
+#: debug.c:2387
+#, c-format
+msgid "Can't set breakpoint in function `%s'\n"
+msgstr ""
+
+#: debug.c:2403
+#, c-format
+msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
+msgstr ""
+
+#: debug.c:2508 debug.c:2530
+#, c-format
+msgid "Deleted breakpoint %d"
+msgstr ""
+
+#: debug.c:2514
+#, c-format
+msgid "No breakpoint(s) at entry to function `%s'\n"
+msgstr ""
+
+#: debug.c:2541
+#, c-format
+msgid "No breakpoint at file `%s', line #%d\n"
+msgstr "No hi ha un punt d'interrupció al fitxer `%s', línia #%d\n"
+
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
+msgid "invalid breakpoint number"
+msgstr ""
+
+#: debug.c:2612
+msgid "Delete all breakpoints? (y or n) "
+msgstr ""
+
+#: debug.c:2613 debug.c:2923 debug.c:2976
+msgid "y"
+msgstr ""
+
+#: debug.c:2662
+#, c-format
+msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
+msgstr ""
+
+#: debug.c:2666
+#, c-format
+msgid "Will stop next time breakpoint %d is reached.\n"
+msgstr ""
+
+#: debug.c:2783
+#, c-format
+msgid "Can only debug programs provided with the `-f' option.\n"
+msgstr ""
+
+#: debug.c:2908
+#, c-format
+msgid "Failed to restart debugger"
+msgstr ""
+
+#: debug.c:2922
+msgid "Program already running. Restart from beginning (y/n)? "
+msgstr ""
+
+#: debug.c:2926
+#, c-format
+msgid "Program not restarted\n"
+msgstr ""
+
+#: debug.c:2936
+#, c-format
+msgid "error: cannot restart, operation not allowed\n"
+msgstr ""
+
+#: debug.c:2942
+#, c-format
+msgid "error (%s): cannot restart, ignoring rest of the commands\n"
+msgstr ""
+
+#: debug.c:2950
+#, c-format
+msgid "Starting program: \n"
+msgstr ""
+
+#: debug.c:2959
+#, c-format
+msgid "Program exited %s with exit value: %d\n"
+msgstr ""
+
+#: debug.c:2975
+msgid "The program is running. Exit anyway (y/n)? "
+msgstr ""
+
+#: debug.c:3010
+#, c-format
+msgid "Not stopped at any breakpoint; argument ignored.\n"
+msgstr ""
+
+#: debug.c:3015
+#, c-format
+msgid "invalid breakpoint number %d."
+msgstr ""
+
+#: debug.c:3020
+#, c-format
+msgid "Will ignore next %ld crossings of breakpoint %d.\n"
+msgstr ""
+
+#: debug.c:3207
+#, c-format
+msgid "'finish' not meaningful in the outermost frame main()\n"
+msgstr ""
+
+#: debug.c:3212
+#, c-format
+msgid "Run till return from "
+msgstr ""
+
+#: debug.c:3255
+#, c-format
+msgid "'return' not meaningful in the outermost frame main()\n"
+msgstr ""
+
+#: debug.c:3369
+#, c-format
+msgid "Can't find specified location in function `%s'\n"
+msgstr ""
+
+#: debug.c:3377
+#, c-format
+msgid "invalid source line %d in file `%s'"
+msgstr ""
+
+#: debug.c:3392
+#, c-format
+msgid "Can't find specified location %d in file `%s'\n"
+msgstr ""
+
+#: debug.c:3424
+#, c-format
+msgid "element not in array\n"
+msgstr "l'element no està a la matriu\n"
+
+#: debug.c:3424
+#, c-format
+msgid "untyped variable\n"
+msgstr ""
+
+#: debug.c:3466
+#, c-format
+msgid "Stopping in %s ...\n"
+msgstr ""
+
+#: debug.c:3543
+#, c-format
+msgid "'finish' not meaningful with non-local jump '%s'\n"
+msgstr ""
+
+#: debug.c:3550
+#, c-format
+msgid "'until' not meaningful with non-local jump '%s'\n"
+msgstr ""
+
+#: debug.c:4185
+msgid "\t------[Enter] to continue or q [Enter] to quit------"
+msgstr ""
+
+#: debug.c:4186
+msgid "q"
+msgstr ""
+
+#: debug.c:5001
+#, c-format
+msgid "[\"%s\"] not in array `%s'"
+msgstr "[\"%s\"] no està a la matriu `%s'"
-#: eval.c:410
+#: debug.c:5207
+#, c-format
+msgid "sending output to stdout\n"
+msgstr ""
+
+#: debug.c:5247
+msgid "invalid number"
+msgstr ""
+
+#: debug.c:5381
+#, c-format
+msgid "`%s' not allowed in current context; statement ignored"
+msgstr ""
+
+#: debug.c:5389
+msgid "`return' not allowed in current context; statement ignored"
+msgstr ""
+
+#: debug.c:5590
+#, c-format
+msgid "No symbol `%s' in current context"
+msgstr ""
+
+#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
+msgid "unbalanced ["
+msgstr "[ sense aparellar"
+
+#: dfa.c:1052
+msgid "invalid character class"
+msgstr "classe no vàlida de caràcters"
+
+#: dfa.c:1228
+msgid "character class syntax is [[:space:]], not [:space:]"
+msgstr ""
+
+#: dfa.c:1280
+msgid "unfinished \\ escape"
+msgstr "seqüència d'escapada \\ sense finalitzar"
+
+#: dfa.c:1427 regcomp.c:161
+msgid "Invalid content of \\{\\}"
+msgstr "Contingut no vàlid de \\{\\}"
+
+#: dfa.c:1430 regcomp.c:176
+msgid "Regular expression too big"
+msgstr "L'expressió regular és massa gran"
+
+#: dfa.c:1847
+msgid "unbalanced ("
+msgstr "( sense aparellar"
+
+#: dfa.c:1973
+msgid "no syntax specified"
+msgstr "no s'ha especificat una sintaxis"
+
+#: dfa.c:1981
+msgid "unbalanced )"
+msgstr ") sense aparellar"
+
+#: eval.c:394
#, c-format
msgid "unknown nodetype %d"
msgstr "tipo de node %d desconegut"
-#: eval.c:421 eval.c:435
-#, fuzzy, c-format
+#: eval.c:405 eval.c:419
+#, c-format
msgid "unknown opcode %d"
-msgstr "tipo de node %d desconegut"
+msgstr "opcode %d desconegut"
-#: eval.c:432
+#: eval.c:416
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr ""
-#: eval.c:485
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr "desbordament del cau temporal en genflags2str"
-#: eval.c:696
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -900,833 +1792,1220 @@ msgstr ""
"\t# Pila de Crides a les Funcions:\n"
"\n"
-#: eval.c:723
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
-msgstr "«IGNORECASE» és una extensió de gawk"
+msgstr "`IGNORECASE' és una extensió de gawk"
-#: eval.c:752
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
-msgstr "«BINMODE» és una extensió de gawk"
+msgstr "`BINMODE' és una extensió de gawk"
-#: eval.c:810
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr ""
-#: eval.c:900
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
-msgstr "«%sFMT» especificació errònia «%s»"
+msgstr "`%sFMT' especificació errònia `%s'"
-#: eval.c:978
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
-msgstr "desactivant «--lint» degut a una assignació a «LINT»"
+msgstr "desactivant `--lint' degut a una assignació a `LINT'"
-#: eval.c:1247
-#, fuzzy
-msgid "sorted array traversal is a gawk extension"
-msgstr "«delete array» és una extensió de gawk"
-
-#: eval.c:1291
-msgid "`PROCINFO[\"sorted_in\"]' value is not recognized"
-msgstr ""
-
-#: eval.c:1373 eval.c:1923
+#: eval.c:1147
#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "no es pot usar el nom de la funció «%s» com a variable o matriu"
-
-#: eval.c:1401
-msgid "assignment is not allowed to result of builtin function"
-msgstr ""
-"no es permet l'assignació per a obtindre un resultat d'una funció interna"
+msgid "reference to uninitialized argument `%s'"
+msgstr "referència a un argument sense inicialitzar `%s'"
-#: eval.c:1410 eval.c:1935 eval.c:1948
+#: eval.c:1148
#, c-format
-msgid "reference to uninitialized argument `%s'"
-msgstr "referència a un argument sense inicialitzar «%s»"
+msgid "reference to uninitialized variable `%s'"
+msgstr "referència a una variable sense inicialitzar `%s'"
-#: eval.c:1429
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr "s'ha intentat una referència de camp a partir d'un valor no numèric"
-#: eval.c:1431
-#, fuzzy
+#: eval.c:1168
msgid "attempt to field reference from null string"
-msgstr "s'ha intentat una referència a partir d'una cadena nul·la"
+msgstr "s'ha intentat entrar una referència a partir d'una cadena nul·la"
-#: eval.c:1437
-#, fuzzy, c-format
+#: eval.c:1176
+#, c-format
msgid "attempt to access field %ld"
-msgstr "s'ha intentat accedir al camp %d"
+msgstr "s'ha intentat accedir al camp %ld"
-#: eval.c:1446
-#, fuzzy, c-format
+#: eval.c:1185
+#, c-format
msgid "reference to uninitialized field `$%ld'"
-msgstr "referència a una variable sense inicialitzar «%s»"
+msgstr "referència a una variable sense inicialitzar `$%ld'"
-#: eval.c:1508
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
-msgstr "s'ha cridat a la funció «%s» amb més arguments dels declarats"
+msgstr "s'ha cridat a la funció `%s' amb més arguments dels declarats"
-#: eval.c:1663
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr ""
-#: eval.c:1747
+#: eval.c:1569
msgid "division by zero attempted in `/='"
-msgstr "s'ha intentat una divisió per zero en «/=»"
+msgstr "s'ha intentat una divisió per zero en `/='"
-#: eval.c:1754
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
-msgstr "s'ha intentat una divisió per zero en «%%=»"
+msgstr "s'ha intentat una divisió per zero en `%%='"
-#: eval.c:2057
-msgid "assignment used in conditional context"
-msgstr "assignació usada en un context condicional"
+#: ext.c:89 ext.c:171
+msgid "extensions are not allowed in sandbox mode"
+msgstr ""
-#: eval.c:2061
-msgid "statement has no effect"
-msgstr "la sentència no té efecte"
+#: ext.c:92
+msgid "-l / @load are gawk extensions"
+msgstr "-l / @load són extensions gawk"
-#: eval.c:2473
-#, fuzzy, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#: ext.c:95
+msgid "load_ext: received NULL lib_name"
msgstr ""
-"bucle for: la matriu «%s» ha canviat de mida de %d a %d durant l'execució "
-"del bucle"
-#: eval.c:2583
+#: ext.c:98
+#, c-format
+msgid "load_ext: cannot open library `%s' (%s)\n"
+msgstr "load_ext: no es pot obrir la llibreria `%s' (%s)\n"
+
+#: ext.c:104
#, c-format
-msgid "function called indirectly through `%s' does not exist"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
-#: eval.c:2595
+#: ext.c:110
#, c-format
-msgid "function `%s' not defined"
-msgstr "la funció «%s» no està definida"
+msgid "load_ext: library `%s': cannot call function `%s' (%s)\n"
+msgstr "load_ext: biblioteca `%s': no es pot cridar a la funció `%s' (%s)\n"
-#: eval.c:2656
-#, fuzzy, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "port remot no vàlid en «%s»"
+#: ext.c:114
+#, c-format
+msgid "load_ext: library `%s' initialization routine `%s' failed\n"
+msgstr ""
-#: eval.c:2717
-#, fuzzy, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "«nextfile» no es pot cridar des d'una regla FINAL"
+#: ext.c:174
+msgid "`extension' is a gawk extension"
+msgstr "`extension' és una extensió gawk"
-#: eval.c:2767
-#, fuzzy, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "«next» no es pot cridar des d'una regla FINAL"
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr ""
+
+#: ext.c:180
+#, c-format
+msgid "extension: cannot open library `%s' (%s)"
+msgstr "extension: no es pot obrir la biblioteca `%s' (%s)"
-#: eval.c:2834
+#: ext.c:186
#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "extension: biblioteca `%s': no defineix `plugin_is_GPL_compatible' (%s)"
+
+#: ext.c:190
+#, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)"
+msgstr "extension: biblioteca `%s': no es pot cridar a la funció `%s' (%s)"
+
+#: ext.c:221
+msgid "make_builtin: missing function name"
msgstr ""
-#: ext.c:64
-msgid "extensions are not allowed in sandbox mode"
+#: ext.c:236
+#, c-format
+msgid "make_builtin: can't redefine function `%s'"
msgstr ""
-#: ext.c:70 ext.c:75
-msgid "`extension' is a gawk extension"
-msgstr "«extension» és una extensió gawk"
+#: ext.c:240
+#, c-format
+msgid "make_builtin: function `%s' already defined"
+msgstr "make_builtin: la funció `%s' ja està definida"
-#: ext.c:85
-#, fuzzy, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
-msgstr "extension: no es pot obrir «%s» (%s)\n"
+#: ext.c:244
+#, c-format
+msgid "make_builtin: function name `%s' previously defined"
+msgstr "make_builtin: nom de la funció `%s' definida prèviament"
-#: ext.c:94
-#, fuzzy, c-format
-msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
-msgstr "extension: biblioteca «%s»: no es pot cridar a la funció «%s» (%s)\n"
+#: ext.c:246
+#, c-format
+msgid "make_builtin: can't use gawk built-in `%s' as function name"
+msgstr ""
-#: ext.c:103
-#, fuzzy, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
-msgstr "extension: biblioteca «%s»: no es pot cridar a la funció «%s» (%s)\n"
+#: ext.c:249 ext.c:304
+#, c-format
+msgid "make_builtin: negative argument count for function `%s'"
+msgstr ""
-#: ext.c:137
+#: ext.c:276
msgid "extension: missing function name"
msgstr ""
-#: ext.c:142
-#, fuzzy, c-format
+#: ext.c:279 ext.c:283
+#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
-msgstr "extension: biblioteca «%s»: no es pot cridar a la funció «%s» (%s)\n"
+msgstr "extension: caràcter `%c' il·legal al nom de funció `%s'"
-#: ext.c:151
-#, fuzzy, c-format
+#: ext.c:291
+#, c-format
msgid "extension: can't redefine function `%s'"
-msgstr "extension: no es pot obrir «%s» (%s)\n"
+msgstr "extension: no es pot redefinir la funció `%s'"
-#: ext.c:155
-#, fuzzy, c-format
+#: ext.c:295
+#, c-format
msgid "extension: function `%s' already defined"
-msgstr "la funció «%s» no està definida"
+msgstr "extension: la funció `%s' ja està definida"
-#: ext.c:160
-#, fuzzy, c-format
+#: ext.c:299
+#, c-format
msgid "extension: function name `%s' previously defined"
-msgstr "nom de la funció «%s» definida prèviament"
+msgstr "extension: nom de la funció `%s' definida prèviament"
-#: ext.c:162
-#, fuzzy, c-format
-msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr "funció «%s»: no pot usar el nom de la funció com a paràmetre"
-
-#: ext.c:166
+#: ext.c:301
#, c-format
-msgid "make_builtin: negative argument count for function `%s'"
+msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
-#: ext.c:269
-#, fuzzy, c-format
+#: ext.c:375
+#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
-msgstr "es defineix la funció «%s» però no s'ha cridat mai"
+msgstr "la funció `%s' està definida per agafar no més de %d argument(s)"
-#: ext.c:272
-#, fuzzy, c-format
+#: ext.c:378
+#, c-format
msgid "function `%s': missing argument #%d"
-msgstr "la funció «%s» no està definida"
+msgstr "funció `%s': falta l'argument #%d"
-#: ext.c:282
-#, fuzzy, c-format
+#: ext.c:395
+#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr "s'ha intentat usar la dada escalar «%s» com a una matriu"
+msgstr "funció `%s': argument #%d: s'ha intentat usar una dada escalar `com a una matriu"
-#: ext.c:286
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr ""
-#: ext.c:299
-msgid "Operation Not Supported"
-msgstr "Operació No Suportada"
+#: ext.c:413
+msgid "dynamic loading of library not supported"
+msgstr ""
+
+#: extension/filefuncs.c:159
+msgid "chdir: called with incorrect number of arguments, expecting 1"
+msgstr "chdir: cridat amb un nombre incorrecte d'arguments, s'esperava 1"
+
+#: extension/filefuncs.c:439
+#, c-format
+msgid "stat: unable to read symbolic link `%s'"
+msgstr ""
+
+#: extension/filefuncs.c:472
+msgid "stat: called with wrong number of arguments"
+msgstr "stat: cridat amb un nombre incorrecte d'arguments"
+
+#: extension/filefuncs.c:479
+msgid "stat: bad parameters"
+msgstr "stata: argumetns dolents"
+
+#: extension/filefuncs.c:533
+#, c-format
+msgid "fts init: could not create variable %s"
+msgstr ""
+
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr "fts no està suportat en aquest sistema"
+
+#: extension/filefuncs.c:573
+msgid "fill_stat_element: could not create array"
+msgstr ""
+
+#: extension/filefuncs.c:582
+msgid "fill_stat_element: could not set element"
+msgstr ""
+
+#: extension/filefuncs.c:597
+msgid "fill_path_element: could not set element"
+msgstr ""
+
+#: extension/filefuncs.c:613
+msgid "fill_error_element: could not set element"
+msgstr ""
+
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
+msgid "fts-process: could not create array"
+msgstr ""
+
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
+msgid "fts-process: could not set element"
+msgstr ""
+
+#: extension/filefuncs.c:784
+msgid "fts: called with incorrect number of arguments, expecting 3"
+msgstr "fts: cridat amb un nombre incorrecte d'arguments, s'esperaven 3"
+
+#: extension/filefuncs.c:787
+msgid "fts: bad first parameter"
+msgstr "fts: el segon argument és dolent"
+
+#: extension/filefuncs.c:793
+msgid "fts: bad second parameter"
+msgstr "fts: el segon argument és dolent"
+
+#: extension/filefuncs.c:799
+msgid "fts: bad third parameter"
+msgstr "fts: el tercer paràmeter es dolent"
-#: field.c:328
+#: extension/filefuncs.c:806
+msgid "fts: could not flatten array\n"
+msgstr ""
+
+#: extension/filefuncs.c:824
+msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
+msgstr ""
+
+#: extension/filefuncs.c:841
+msgid "fts: clear_array() failed\n"
+msgstr ""
+
+#: extension/fnmatch.c:112
+msgid "fnmatch: called with less than three arguments"
+msgstr "fnmatch: s'ha cridat amb menys de tres arguments"
+
+#: extension/fnmatch.c:115
+msgid "fnmatch: called with more than three arguments"
+msgstr "fnmatch: s'ha cridat amb més de tres arguments"
+
+#: extension/fnmatch.c:118
+msgid "fnmatch: could not get first argument"
+msgstr "fnmatch: no s'ha pogut obtenir el segon argument"
+
+#: extension/fnmatch.c:123
+msgid "fnmatch: could not get second argument"
+msgstr "fnmatch: no s'ha pogut obtenir el segon argument"
+
+#: extension/fnmatch.c:128
+msgid "fnmatch: could not get third argument"
+msgstr ""
+
+#: extension/fnmatch.c:141
+msgid "fnmatch is not implemented on this system\n"
+msgstr ""
+
+#: extension/fnmatch.c:173
+msgid "fnmatch init: could not add FNM_NOMATCH variable"
+msgstr ""
+
+#: extension/fnmatch.c:183
+#, c-format
+msgid "fnmatch init: could not set array element %s"
+msgstr ""
+
+#: extension/fnmatch.c:193
+msgid "fnmatch init: could not install FNM array"
+msgstr ""
+
+#: extension/fork.c:81
+msgid "fork: called with too many arguments"
+msgstr "fork: s'ha cridat amb massa arguments"
+
+#: extension/fork.c:94
+msgid "fork: PROCINFO is not an array!"
+msgstr ""
+
+#: extension/fork.c:118
+msgid "waitpid: called with too many arguments"
+msgstr "waitpid: s'ha cridat amb massa arguments"
+
+#: extension/fork.c:126
+msgid "wait: called with no arguments"
+msgstr "wait: s'ha cridat amb cap argument"
+
+#: extension/fork.c:143
+msgid "wait: called with too many arguments"
+msgstr "wait: s'ha cridat amb massa arguments"
+
+#: extension/inplace.c:130
+msgid "inplace_begin: in-place editing already active"
+msgstr ""
+
+#: extension/inplace.c:133 extension/inplace.c:207
+#, c-format
+msgid "inplace_begin: expects 2 arguments but called with %d"
+msgstr ""
+
+#: extension/inplace.c:136
+msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
+msgstr ""
+
+#: extension/inplace.c:144
+#, c-format
+msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
+msgstr ""
+
+#: extension/inplace.c:151
+#, c-format
+msgid "inplace_begin: Cannot stat `%s' (%s)"
+msgstr "implace_begin: No es pot obrir `%s' (%s)"
+
+#: extension/inplace.c:158
+#, c-format
+msgid "inplace_begin: `%s' is not a regular file"
+msgstr ""
+
+#: extension/inplace.c:169
+#, c-format
+msgid "inplace_begin: mkstemp(`%s') failed (%s)"
+msgstr ""
+
+#: extension/inplace.c:178
+#, c-format
+msgid "inplace_begin: chmod failed (%s)"
+msgstr "inplace_begin: ha fallat chmod (%s)"
+
+#: extension/inplace.c:185
+#, c-format
+msgid "inplace_begin: dup(stdout) failed (%s)"
+msgstr ""
+
+#: extension/inplace.c:188
+#, c-format
+msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
+msgstr ""
+
+#: extension/inplace.c:191
+#, c-format
+msgid "inplace_begin: close(%d) failed (%s)"
+msgstr "inplace begin: close(%d) ha fallat (%s)"
+
+#: extension/inplace.c:210
+msgid "inplace_end: cannot retrieve 1st argument as a string filename"
+msgstr ""
+
+#: extension/inplace.c:217
+msgid "inplace_end: in-place editing not active"
+msgstr ""
+
+#: extension/inplace.c:223
+#, c-format
+msgid "inplace_end: dup2(%d, stdout) failed (%s)"
+msgstr ""
+
+#: extension/inplace.c:226
+#, c-format
+msgid "inplace_end: close(%d) failed (%s)"
+msgstr "inplace_end: close(%d) ha fallat (%s)"
+
+#: extension/inplace.c:230
+#, c-format
+msgid "inplace_end: fsetpos(stdout) failed (%s)"
+msgstr ""
+
+#: extension/inplace.c:243
+#, c-format
+msgid "inplace_end: link(`%s', `%s') failed (%s)"
+msgstr "inplace_end: link(`%s', `%s') ha fallat (%s)"
+
+#: extension/inplace.c:253
+#, c-format
+msgid "inplace_end: rename(`%s', `%s') failed (%s)"
+msgstr "inplace_end: rename(`%s', `%s') ha fallat (%s)"
+
+#: extension/ordchr.c:69
+msgid "ord: called with too many arguments"
+msgstr "ord: s'ha cridat amb massa arguments"
+
+#: extension/ordchr.c:75
+msgid "ord: called with no arguments"
+msgstr "ord: s'ha cridat amb cap argument"
+
+#: extension/ordchr.c:77
+msgid "ord: called with inappropriate argument(s)"
+msgstr "ord: s'ha cridat amb argument(s) no apropiat(s)"
+
+#: extension/ordchr.c:99
+msgid "chr: called with too many arguments"
+msgstr "chr: s'ha cridat amb massa arguments"
+
+#: extension/ordchr.c:109
+msgid "chr: called with no arguments"
+msgstr "chr: s'ha cridat amb cap argument"
+
+#: extension/ordchr.c:111
+msgid "chr: called with inappropriate argument(s)"
+msgstr "chr: s'ha cridat amb argument(s) no apropiat(s)"
+
+#: extension/readdir.c:277
+#, c-format
+msgid "dir_take_control_of: opendir/fdopendir failed: %s"
+msgstr ""
+
+#: extension/readfile.c:84
+msgid "readfile: called with too many arguments"
+msgstr "readfile: s'ha cridat amb massa arguments"
+
+#: extension/readfile.c:118
+msgid "readfile: called with no arguments"
+msgstr "readfile: s'ha cridat amb cap argument"
+
+#: extension/rwarray.c:124
+msgid "writea: called with too many arguments"
+msgstr "writea: s'ha cridat amb massa arguments"
+
+#: extension/rwarray.c:131
+#, c-format
+msgid "do_writea: argument 0 is not a string\n"
+msgstr "do_writea: l'argument 0 no és una cadena de caràcters\n"
+
+#: extension/rwarray.c:137
+#, c-format
+msgid "do_writea: argument 1 is not an array\n"
+msgstr "do_writea: l'argument 1 no és una matriu\n"
+
+#: extension/rwarray.c:184
+#, c-format
+msgid "write_array: could not flatten array\n"
+msgstr ""
+
+#: extension/rwarray.c:198
+#, c-format
+msgid "write_array: could not release flattened array\n"
+msgstr ""
+
+#: extension/rwarray.c:280
+msgid "reada: called with too many arguments"
+msgstr "reada: s'ha cridat amb massa arguments"
+
+#: extension/rwarray.c:287
+#, c-format
+msgid "do_reada: argument 0 is not a string\n"
+msgstr "do_reada: l'argument 0 no és una cadena de caràcters\n"
+
+#: extension/rwarray.c:293
+#, c-format
+msgid "do_reada: argument 1 is not an array\n"
+msgstr "do_reada: l'argument 1 no és una matriu\n"
+
+#: extension/rwarray.c:337
+#, c-format
+msgid "do_reada: clear_array failed\n"
+msgstr ""
+
+#: extension/rwarray.c:374
+#, c-format
+msgid "read_array: set_array_element failed\n"
+msgstr ""
+
+#: extension/time.c:106
+msgid "gettimeofday: ignoring arguments"
+msgstr "gettimeofday: s'estan ignorant els arguments"
+
+#: extension/time.c:137
+msgid "gettimeofday: not supported on this platform"
+msgstr ""
+
+#: extension/time.c:158
+msgid "sleep: called with too many arguments"
+msgstr "sleep: s'ha cridat amb massa arguments"
+
+#: extension/time.c:161
+msgid "sleep: missing required numeric argument"
+msgstr "sleep: no hi ha un argument numèric requerit"
+
+#: extension/time.c:167
+msgid "sleep: argument is negative"
+msgstr "sleep: l'argument és negatiu"
+
+#: extension/time.c:201
+msgid "sleep: not supported on this platform"
+msgstr ""
+
+#: field.c:345
msgid "NF set to negative value"
msgstr "NF s'inicialitza sobre un valor negatiu"
-#: field.c:939 field.c:946 field.c:950
-#, fuzzy
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
-msgstr "match: el tercer argument és una extensió de gawk"
+msgstr "split: el quart argument és una extensió gawk"
-#: field.c:943
-#, fuzzy
+#: field.c:975
msgid "split: fourth argument is not an array"
-msgstr "split: el segon argument no és una matriu"
+msgstr "split: el quart argument no és una matriu"
-#: field.c:957
+#: field.c:989
msgid "split: second argument is not an array"
msgstr "split: el segon argument no és una matriu"
-#: field.c:962
-msgid "split: can not use the same array for second and fourth args"
+#: field.c:993
+msgid "split: cannot use the same array for second and fourth args"
+msgstr ""
+
+#: field.c:998
+msgid "split: cannot use a subarray of second arg for fourth arg"
+msgstr ""
+
+#: field.c:1001
+msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
-#: field.c:990
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
msgstr "split: la cadena nul·la per al tercer argument és una extensió de gawk"
-#: field.c:1031
-#, fuzzy
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
-msgstr "split: el segon argument no és una matriu"
+msgstr "patsplit: el quart argument no és una matriu"
-#: field.c:1036
-#, fuzzy
+#: field.c:1077
msgid "patsplit: second argument is not an array"
-msgstr "split: el segon argument no és una matriu"
+msgstr "patsplit: el tercer argument no és una matriu"
-#: field.c:1054
-#, fuzzy
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
-msgstr "match: el tercer argument no és una matriu"
+msgstr "patsplit: el segon argument no és una matriu"
-#: field.c:1059
-msgid "patsplit: can not use the same array for second and fourth args"
+#: field.c:1087
+msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
-#: field.c:1089
+#: field.c:1092
+msgid "patsplit: cannot use a subarray of second arg for fourth arg"
+msgstr ""
+
+#: field.c:1095
+msgid "patsplit: cannot use a subarray of fourth arg for second arg"
+msgstr ""
+
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
-msgstr "«FIELDWIDTHS» és una extensió de gawk"
+msgstr "`FIELDWIDTHS' és una extensió de gawk"
-#: field.c:1152
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr ""
-#: field.c:1225
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
-msgstr "la cadena nul·la per a «FS» és una extensió de gawk"
+msgstr "la cadena nul·la per a `FS' és una extensió de gawk"
-#: field.c:1229
-#, fuzzy
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
-msgstr "l'antic awk no suporta l'operador «**=»"
+msgstr "l'antic awk no suporta expressions regulars com a valor de `FS'"
-#: field.c:1348
-#, fuzzy
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
-msgstr "«%s» és una extensió de gawk"
+msgstr "`FPAT' és una extensió gawk"
-#: getopt.c:574 getopt.c:590
-#, fuzzy, c-format
-msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: l'opció «%s» és ambigua\n"
+#: gawkapi.c:146
+msgid "awk_value_to_node: received null retval"
+msgstr ""
-#: getopt.c:623 getopt.c:627
-#, fuzzy, c-format
+#: gawkapi.c:384
+msgid "node_to_awk_value: received null node"
+msgstr ""
+
+#: gawkapi.c:387
+msgid "node_to_awk_value: received null val"
+msgstr ""
+
+#: gawkapi.c:808
+msgid "remove_element: received null array"
+msgstr ""
+
+#: gawkapi.c:811
+msgid "remove_element: received null subscript"
+msgstr ""
+
+#: gawkapi.c:948
+#, c-format
+msgid "api_flatten_array: could not convert index %d\n"
+msgstr ""
+
+#: gawkapi.c:953
+#, c-format
+msgid "api_flatten_array: could not convert value %d\n"
+msgstr ""
+
+#: getopt.c:604 getopt.c:633
+#, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
+msgstr "%s: l'opció `%s' és ambigua<b: possibilitats:"
+
+#: getopt.c:679 getopt.c:683
+#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: l'opció «--%s» no admet cap argument\n"
+msgstr "%s: l'opció `--%s' no admet cap argument\n"
-#: getopt.c:636 getopt.c:641
-#, fuzzy, c-format
+#: getopt.c:692 getopt.c:697
+#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
-msgstr "%s: l'opció «%c%s» no admet cap argument\n"
+msgstr "%s: l'opció `%c%s' no admet cap argument\n"
-#: getopt.c:684 getopt.c:703
-#, fuzzy, c-format
+#: getopt.c:740 getopt.c:759
+#, c-format
msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: l'opció «%s» requereix un argument\n"
+msgstr "%s: l'opció `--%s' requereix un argument\n"
-#: getopt.c:741 getopt.c:744
-#, fuzzy, c-format
+#: getopt.c:797 getopt.c:800
+#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: no es reconeix l'opció «--%s»\n"
+msgstr "%s: no es reconeix l'opció `--%s'\n"
-#: getopt.c:752 getopt.c:755
-#, fuzzy, c-format
+#: getopt.c:808 getopt.c:811
+#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: no es reconeix l'opció «%c%s»\n"
+msgstr "%s: no es reconeix l'opció `%c%s'\n"
-#: getopt.c:804 getopt.c:807
-#, fuzzy, c-format
+#: getopt.c:860 getopt.c:863
+#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: opció no vàlida -- %c\n"
+msgstr "%s: opció no vàlida -- '%c'\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
-#, fuzzy, c-format
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
+#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: l'opció requereix un argument -- %c\n"
+msgstr "%s: l'opció requereix un argument -- '%c'\n"
-#: getopt.c:930 getopt.c:946
-#, fuzzy, c-format
+#: getopt.c:989 getopt.c:1005
+#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: l'opció «-W %s» és ambigua\n"
+msgstr "%s: l'opció `-W %s' és ambigua\n"
-#: getopt.c:970 getopt.c:988
-#, fuzzy, c-format
+#: getopt.c:1029 getopt.c:1047
+#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
-msgstr "%s: l'opció «-W %s» no admet cap argument\n"
+msgstr "%s: l'opció `-W %s' no admet cap argument\n"
-#: getopt.c:1009 getopt.c:1027
-#, fuzzy, c-format
+#: getopt.c:1068 getopt.c:1086
+#, c-format
msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: l'opció «%s» requereix un argument\n"
+msgstr "%s: l'opció `-W %s' requereix un argument\n"
-#: io.c:282
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr ""
-#: io.c:285 io.c:382
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
-msgstr "no es pot obrir el fitxer «%s» per a lectura (%s)"
-
-#: io.c:429
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "error en llegir el fitxer d'entrada «%s»: %s"
+msgstr "no es pot obrir el fitxer `%s' per a lectura (%s)"
-#: io.c:498
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
-msgstr "la finalització del descriptor fd %d («%s») ha fallat (%s)"
+msgstr "la finalització del descriptor fd %d (`%s') ha fallat (%s)"
-#: io.c:575
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr ""
-#: io.c:609
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
-msgstr "l'expressió en la redirecció «%s» solt té un valor numèric"
+msgstr "l'expressió en la redirecció `%s' solt té un valor numèric"
-#: io.c:615
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
-msgstr "l'expressió per a la redirecció «%s» té un valor de cadena nul·la"
+msgstr "l'expressió per a la redirecció `%s' té un valor de cadena nul·la"
-#: io.c:621
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"el fitxer «%s» per a la redirecció «%s» pot ser resultat d'una expressió "
-"lògica"
+msgstr "el fitxer `%s' per a la redirecció `%s' pot ser resultat d'una expressió lògica"
-#: io.c:664
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
-msgstr "mescla innecessària de «>» i «>>» per al fitxer «%.*s»"
+msgstr "mescla innecessària de `>' i `>>' per al fitxer `%.*s'"
-#: io.c:717
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
-msgstr "no es pot obrir la canonada «%s» per a l'eixida (%s)"
+msgstr "no es pot obrir la canonada `%s' per a l'eixida (%s)"
-#: io.c:727
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
-msgstr "no es pot obrir la canonada «%s» per a l'entrada (%s)"
+msgstr "no es pot obrir la canonada `%s' per a l'entrada (%s)"
-#: io.c:749
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr ""
-"no es pot obrir una canonada bidireccional «%s» per a les entrades/eixides "
-"(%s)"
+msgstr "no es pot obrir una canonada bidireccional `%s' per a les entrades/eixides (%s)"
-#: io.c:831
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
-msgstr "no es pot redirigir des de «%s» (%s)"
+msgstr "no es pot redirigir des de `%s' (%s)"
-#: io.c:834
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
-msgstr "no es pot redirigir cap a «%s» (%s)"
+msgstr "no es pot redirigir cap a `%s' (%s)"
-#: io.c:883
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"s'ha arribat al límit del sistema per a fitxers oberts: es començarà a "
-"multiplexar els descriptors de fitxer"
+#: io.c:1040
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "s'ha arribat al límit del sistema per a fitxers oberts: es començarà a multiplexar els descriptors de fitxer"
-#: io.c:899
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
-msgstr "la finalització de «%s» ha fallat (%s)"
+msgstr "la finalització de `%s' ha fallat (%s)"
-#: io.c:907
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr "masses canonades o fitxers d'entrada oberts"
-#: io.c:929
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
-msgstr "close: el segon argument hauria de ser «to» o «from»"
+msgstr "close: el segon argument hauria de ser `to' o `from'"
-#: io.c:946
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
-msgstr "close: «%.*s» no és un fitxer obert, canonada o co-procés"
+msgstr "close: `%.*s' no és un fitxer obert, canonada o co-procés"
-#: io.c:951
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr "finalització d'una redirecció que no s'ha obert"
-#: io.c:1048
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: la redirecció «%s» no s'obre amb «|&», s'ignora el segon argument"
+msgstr "close: la redirecció `%s' no s'obre amb `|&', s'ignora el segon argument"
-#: io.c:1064
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
-msgstr "estaus de falla (%d) en la finalització de la canonada «%s» (%s)"
+msgstr "estaus de falla (%d) en la finalització de la canonada `%s' (%s)"
-#: io.c:1067
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
-msgstr "estatus de falla (%d) en la finalització del fitxer «%s» (%s)"
+msgstr "estatus de falla (%d) en la finalització del fitxer `%s' (%s)"
-#: io.c:1087
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
-msgstr "no s'aporta la finalització explícita del socket «%s»"
+msgstr "no s'aporta la finalització explícita del socket `%s'"
-#: io.c:1090
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
-msgstr "no s'aporta la finalització explícita del co-procés «%s»"
+msgstr "no s'aporta la finalització explícita del co-procés `%s'"
-#: io.c:1093
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
-msgstr "no s'aporta la finalització explícita de la canonada «%s»"
+msgstr "no s'aporta la finalització explícita de la canonada `%s'"
-#: io.c:1096
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
-msgstr "no s'aporta la finalització explícita del fitxer «%s»"
+msgstr "no s'aporta la finalització explícita del fitxer `%s'"
-#: io.c:1124 io.c:1179 main.c:809 main.c:851
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr "error a l'escriure en l'eixida estàndard (%s)"
-#: io.c:1128 io.c:1184
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr "error a l'escriure en l'eixida d'error estàndard (%s)"
-#: io.c:1136
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
-msgstr "la neteja de la canonada de «%sx» ha fallat (%s)."
+msgstr "la neteja de la canonada de `%sx' ha fallat (%s)."
-#: io.c:1139
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
-msgstr "la neteja de la canonada per al co-procés de «%sx» ha fallat (%s)."
+msgstr "la neteja de la canonada per al co-procés de `%sx' ha fallat (%s)."
-#: io.c:1142
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
-msgstr "la neteja del fitxer «%sx» ha fallat (%s)."
+msgstr "la neteja del fitxer `%sx' ha fallat (%s)."
-#: io.c:1257
+#: io.c:1420
#, fuzzy, c-format
msgid "local port %s invalid in `/inet'"
-msgstr "port local no vàlid en «%s»"
+msgstr "port local no vàlid en `%s'"
-#: io.c:1274
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr ""
-#: io.c:1426
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
-msgstr "no s'aporta cap protocol (conegut) en el nom del fitxer especial «%s»"
+msgstr "no s'aporta cap protocol (conegut) en el nom del fitxer especial `%s'"
-#: io.c:1440
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
-msgstr "el nom del fitxer especial «%s» està incomplet"
+msgstr "el nom del fitxer especial `%s' està incomplet"
-#: io.c:1457
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
-msgstr "s'ha de subministrar un nom de sistema remot a «/inet»"
+msgstr "s'ha de subministrar un nom de sistema remot a `/inet'"
-#: io.c:1475
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
-msgstr "s'ha de subministrar un port remot a «/inet»"
+msgstr "s'ha de subministrar un port remot a `/inet'"
-#: io.c:1521
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr "les comunicacions TCP/IP no estan suportades"
-#: io.c:1688
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
-msgstr "no es pot obrir «%s», mode «%s»"
+msgstr "no es pot obrir `%s', mode `%s'"
-#: io.c:1739
+#: io.c:1917
#, fuzzy, c-format
msgid "close of master pty failed (%s)"
msgstr "ha fallat la finalització de la canonada (%s)"
-#: io.c:1741 io.c:1909 io.c:2066
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
-msgstr ""
-"ha fallat la finalització de l'eixida estàndard en els processos fills (%s)"
+msgstr "ha fallat la finalització de l'eixida estàndard en els processos fills (%s)"
-#: io.c:1744
+#: io.c:1922
#, fuzzy, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"ha fallat la redirecció cap a l'eixida estàndard dels processos fills (dup: "
-"%s)"
+msgstr "ha fallat la redirecció cap a l'eixida estàndard dels processos fills (dup: %s)"
-#: io.c:1746 io.c:1914
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
-msgstr ""
-"ha fallat la finalització de l'entrada estàndard en els processos fills (%s)"
+msgstr "ha fallat la finalització de l'entrada estàndard en els processos fills (%s)"
-#: io.c:1749
+#: io.c:1927
#, fuzzy, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"ha fallat la redirecció cap a l'entrada estàndard dels processos fills (dup: "
-"%s)"
+msgstr "ha fallat la redirecció cap a l'entrada estàndard dels processos fills (dup: %s)"
-#: io.c:1751 io.c:1772
+#: io.c:1929 io.c:1951
#, fuzzy, c-format
msgid "close of slave pty failed (%s)"
msgstr "ha fallat la finalització de la canonada (%s)"
-#: io.c:1850 io.c:1912 io.c:2044 io.c:2069
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr ""
-"ha fallat la redirecció cap a l'eixida estàndard dels processos fills (dup: "
-"%s)"
+msgstr "ha fallat la redirecció cap a l'eixida estàndard dels processos fills (dup: %s)"
-#: io.c:1857 io.c:1917
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
-msgstr ""
-"ha fallat la redirecció cap a l'entrada estàndard dels processos fills (dup: "
-"%s)"
+msgstr "ha fallat la redirecció cap a l'entrada estàndard dels processos fills (dup: %s)"
-#: io.c:1877 io.c:2059
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr "ha fallat la restauració de l'eixida estàndard en el procés pare\n"
-#: io.c:1885
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr "ha fallat la restauració de l'entrada estàndard en el procés pare\n"
-#: io.c:1920 io.c:2071 io.c:2085
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr "ha fallat la finalització de la canonada (%s)"
-#: io.c:1965
+#: io.c:2174
msgid "`|&' not supported"
-msgstr "«|&» no està suportat"
+msgstr "`|&' no està suportat"
-#: io.c:2031
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
-msgstr "no es pot obrir la canonada «%s» (%s)"
+msgstr "no es pot obrir la canonada `%s' (%s)"
-#: io.c:2079
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
-msgstr "no es pot crear el procés fill per a «%s» (fork: %s)"
+msgstr "no es pot crear el procés fill per a `%s' (fork: %s)"
-#: io.c:2569
+#: io.c:2790
+msgid "register_input_parser: received NULL pointer"
+msgstr ""
+
+#: io.c:2818
+#, c-format
+msgid "input parser `%s' conflicts with previously installed input parser `%s'"
+msgstr ""
+
+#: io.c:2825
+#, c-format
+msgid "input parser `%s' failed to open `%s'"
+msgstr ""
+
+#: io.c:2845
+msgid "register_output_wrapper: received NULL pointer"
+msgstr ""
+
+#: io.c:2873
+#, c-format
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgstr ""
+
+#: io.c:2880
+#, c-format
+msgid "output wrapper `%s' failed to open `%s'"
+msgstr ""
+
+#: io.c:2901
+msgid "register_output_processor: received NULL pointer"
+msgstr ""
+
+#: io.c:2930
+#, c-format
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
+msgstr ""
+
+#: io.c:2939
+#, c-format
+msgid "two way processor `%s' failed to open `%s'"
+msgstr ""
+
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
-msgstr "el fitxer de dades «%s» està buit"
+msgstr "el fitxer de dades `%s' està buit"
-#: io.c:2610 io.c:2618
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr ""
-#: io.c:3171
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
-msgstr "el valor multicaràcter de «RS» és una extensió de gawk"
+msgstr "el valor multicaràcter de `RS' és una extensió de gawk"
-#: io.c:3276
+#: io.c:3771
#, fuzzy
msgid "IPv6 communication is not supported"
msgstr "les comunicacions TCP/IP no estan suportades"
-#: main.c:307
-msgid "out of memory"
-msgstr "memòria esgotada"
-
-#: main.c:384
-msgid "`-m[fr]' option irrelevant in gawk"
-msgstr "l'opción «-m[fr]» és irrellevant en gawk"
-
-#: main.c:386
-msgid "-m option usage: `-m[fr] nnn'"
-msgstr "ús de l'opció -m: «-m[fr] nnn»"
-
-#: main.c:409
+#: main.c:405
#, fuzzy
msgid "empty argument to `-e/--source' ignored"
-msgstr "s'igonarà l'argument buit per a l'opció «--source»"
+msgstr "s'igonarà l'argument buit per a l'opció `--source'"
-#: main.c:475
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
-msgstr "%s: no es reconeix l'opció «-W %s», serà ignorada\n"
+msgstr "%s: no es reconeix l'opció `-W %s', serà ignorada\n"
-#: main.c:528
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'opció requereix un argument -- %c\n"
-#: main.c:549
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr ""
-"la variable d'entorn «POSIXLY_CORRECT» està establerta: usant «--posix»"
+msgstr "la variable d'entorn `POSIXLY_CORRECT' està establerta: usant `--posix'"
-#: main.c:555
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
-msgstr "«--posix» solapa a «--traditional»"
+msgstr "`--posix' solapa a `--traditional'"
-#: main.c:566
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
-msgstr "«--posix» i «--traditional» solapen a «--non-decimal-data»"
+msgstr "`--posix' i `--traditional' solapen a `--non-decimal-data'"
-#: main.c:570
+#: main.c:583
#, fuzzy, c-format
msgid "running %s setuid root may be a security problem"
msgstr "executar %s com a setuid root pot ser un problema de seguretat"
-#: main.c:575
+#: main.c:588
#, fuzzy
-msgid "`--posix' overrides `--binary'"
-msgstr "«--posix» solapa a «--traditional»"
+msgid "`--posix' overrides `--characters-as-bytes'"
+msgstr "`--posix' solapa a `--traditional'"
-#: main.c:626
+#: main.c:647
#, fuzzy, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "no es pot establir el mode en l'entrada estàndard (%s)"
-#: main.c:629
+#: main.c:650
#, fuzzy, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "no es pot establir el mode en l'eixida estàndard (%s)"
-#: main.c:631
+#: main.c:652
#, fuzzy, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "no es pot establir el mode en l'eixida d'error estàndard (%s)"
-#: main.c:670
+#: main.c:710
msgid "no program text at all!"
msgstr "no hi ha cap text per al programa!"
-#: main.c:749
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Ús: %s [opcions d'estil POSIX o GNU] -f fitx_prog [--] fitxer ...\n"
-#: main.c:751
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Ús: %s [opcions d'estil POSIX o GNU] [--] %cprograma%c fitxer ...\n"
-#: main.c:756
+#: main.c:806
#, fuzzy
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opcions POSIX:\t\tOpcions llargues GNU:\n"
-#: main.c:757
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fitx_prog\t\t--file=fitx_prog\n"
-#: main.c:758
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs (fs=sep_camp)\n"
-#: main.c:759
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valor\t\t--assign=var=valor\n"
-#: main.c:760
+#: main.c:810
#, fuzzy
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Opcions POSIX:\t\tOpcions llargues GNU:\n"
-#: main.c:761
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr ""
-#: main.c:762
+#: main.c:812
#, fuzzy
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-W traditional\t\t--traditional\n"
-#: main.c:763
+#: main.c:813
#, fuzzy
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-W copyright\t\t--copyright\n"
-#: main.c:764
+#: main.c:814
#, fuzzy
-msgid "\t-d [file]\t\t--dump-variables[=file]\n"
+msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-W dump-variables[=fitxer] --dump-variables[=fitxer]\n"
-#: main.c:765
+#: main.c:815
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n"
+
+#: main.c:816
#, fuzzy
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-W source=text_prog\t--source=text_prog\n"
-#: main.c:766
+#: main.c:817
#, fuzzy
msgid "\t-E file\t\t\t--exec=file\n"
-msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n"
+msgstr "\t-f fitx_prog\t\t--file=fitx_prog\n"
-#: main.c:767
+#: main.c:818
#, fuzzy
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-W gen-po\t\t--gen-po\n"
-#: main.c:768
+#: main.c:819
#, fuzzy
msgid "\t-h\t\t\t--help\n"
msgstr "\t-W help\t\t\t--help\n"
-#: main.c:769
+#: main.c:820
+msgid "\t-i includefile\t\t--include=includefile\n"
+msgstr ""
+
+#: main.c:821
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:822
#, fuzzy
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
-#: main.c:770
+#: main.c:823
#, fuzzy
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
-#: main.c:771
+#: main.c:824
+msgid "\t-M\t\t\t--bignum\n"
+msgstr ""
+
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr ""
-#: main.c:772
+#: main.c:826
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n"
+
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
msgstr ""
-#: main.c:773
+#: main.c:828
#, fuzzy
-msgid "\t-p [file]\t\t--profile[=file]\n"
+msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n"
-#: main.c:774
+#: main.c:829
#, fuzzy
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-W posix\t\t--posix\n"
-#: main.c:775
+#: main.c:830
#, fuzzy
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-W re-interval\t\t--re-interval\n"
-#: main.c:777
-#, fuzzy
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n"
-
-#: main.c:778
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr ""
-#: main.c:779
+#: main.c:832
#, fuzzy
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-W lint-old\t\t--lint-old\n"
-#: main.c:780
+#: main.c:833
#, fuzzy
msgid "\t-V\t\t\t--version\n"
msgstr "\t-W version\t\t--version\n"
-#: main.c:782
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:785
+#: main.c:838
#, fuzzy
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-W parsedebug\t\t--parsedebug\n"
@@ -1736,30 +3015,30 @@ msgstr "\t-W parsedebug\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:794
+#: main.c:847
#, fuzzy
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 "a la secció «Reporting Problems and Bugs» de la versió impresa.\n"
+msgstr "a la secció `Reporting Problems and Bugs' de la versió impresa.\n"
-#: main.c:798
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
"\n"
msgstr ""
-#: main.c:802
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
msgstr ""
-#: main.c:822
+#: main.c:880
#, fuzzy, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1778,7 +3057,7 @@ msgstr ""
"Llicència, o (a la vostra elecció) qualsevol versió posterior.\n"
"\n"
-#: main.c:830
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1792,7 +3071,7 @@ msgstr ""
"Per a més detalls consulteu la Llicència Pública General de GNU.\n"
"\n"
-#: main.c:841
+#: main.c:894
#, fuzzy
msgid ""
"You should have received a copy of the GNU General Public License\n"
@@ -1802,125 +3081,180 @@ msgstr ""
"Pública General de GNU; si no és així, escriviu a la Free Software\n"
"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
-#: main.c:876
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft no permet inicialitzar FS a un tabulador en la versió POSIX de awk"
-#: main.c:1110
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr ""
-#: main.c:1170
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr ""
-#: main.c:1190
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr ""
-#: main.c:1193
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr ""
-#: main.c:1246
+#: main.c:1339
+#, fuzzy, c-format
+msgid "cannot use gawk builtin `%s' as variable name"
+msgstr "no es pot usar el nom de la funció `%s' com a variable o matriu"
+
+#: main.c:1344
+#, fuzzy, c-format
+msgid "cannot use function `%s' as variable name"
+msgstr "no es pot usar el nom de la funció `%s' com a variable o matriu"
+
+#: main.c:1397
msgid "floating point exception"
msgstr "excepció de coma flotant"
-#: main.c:1253
+#: main.c:1404
msgid "fatal error: internal error"
msgstr "error fatal: error intern"
-#: main.c:1268
+#: main.c:1419
#, fuzzy
msgid "fatal error: internal error: segfault"
msgstr "error fatal: error intern"
-#: main.c:1280
+#: main.c:1431
#, fuzzy
msgid "fatal error: internal error: stack overflow"
msgstr "error fatal: error intern"
-#: main.c:1330
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr "no s'ha pre-obert el descriptor fd per a %d"
-#: main.c:1337
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "no es pot pre-obrir /dev/null per al descriptor fd %d"
-#: main.c:1360 main.c:1369
+#: mpfr.c:550
#, c-format
-msgid "could not find groups: %s"
-msgstr "no es poden trobar els grups: %s"
+msgid "PREC value `%.*s' is invalid"
+msgstr ""
+
+#: mpfr.c:608
+#, c-format
+msgid "RNDMODE value `%.*s' is invalid"
+msgstr ""
+
+#: mpfr.c:698
+#, fuzzy, c-format
+msgid "%s: received non-numeric argument"
+msgstr "cos: s'ha rebut un argument que no és numèric"
+
+#: mpfr.c:800
+#, fuzzy
+msgid "compl(%Rg): negative value will give strange results"
+msgstr "compl(%lf): el valor negatiu donarà resultats estranys"
+
+#: mpfr.c:804
+#, fuzzy
+msgid "comp(%Rg): fractional value will be truncated"
+msgstr "compl(%lf): el valor fraccionari serà truncat"
+
+#: mpfr.c:816
+#, fuzzy, c-format
+msgid "cmpl(%Zd): negative values will give strange results"
+msgstr "compl(%lf): el valor negatiu donarà resultats estranys"
+
+#: mpfr.c:835
+#, fuzzy, c-format
+msgid "%s: received non-numeric argument #%d"
+msgstr "cos: s'ha rebut un argument que no és numèric"
+
+#: mpfr.c:845
+msgid "%s: argument #%d has invalid value %Rg, using 0"
+msgstr ""
+
+#: mpfr.c:857
+#, fuzzy
+msgid "%s: argument #%d negative value %Rg will give strange results"
+msgstr "and(%lf, %lf): els valors negatius donaran resultats estranys"
+
+#: mpfr.c:863
+#, fuzzy
+msgid "%s: argument #%d fractional value %Rg will be truncated"
+msgstr "and(%lf, %lf): els valors fraccionaris seran truncats"
-#: msg.c:63
+#: mpfr.c:878
+#, fuzzy, c-format
+msgid "%s: argument #%d negative value %Zd will give strange results"
+msgstr "and(%lf, %lf): els valors negatius donaran resultats estranys"
+
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr "línia cmd.:"
-#: msg.c:107
-msgid "error: "
-msgstr "Error: "
-
-#: node.c:401
+#: node.c:421
msgid "backslash at end of string"
msgstr "barra invertida al final de la cadena"
-#: node.c:502
+#: node.c:500
#, fuzzy, c-format
msgid "old awk does not support the `\\%c' escape sequence"
-msgstr "l'antic awk no suporta l'operador «**=»"
+msgstr "l'antic awk no suporta l'operador `**='"
-#: node.c:553
+#: node.c:551
msgid "POSIX does not allow `\\x' escapes"
-msgstr "POSIX no permet seqüències d'escapada «\\x»"
+msgstr "POSIX no permet seqüències d'escapada `\\x'"
-#: node.c:559
+#: node.c:557
msgid "no hex digits in `\\x' escape sequence"
-msgstr "no hi ha dígits hexadecimals en la seqüència d'escapada «\\x»"
+msgstr "no hi ha dígits hexadecimals en la seqüència d'escapada `\\x'"
-#: node.c:581
+#: node.c:579
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
msgstr ""
-#: node.c:596
+#: node.c:594
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
-msgstr "la seqüència d'escapada «\\%c» és tractada com a una simple «%c»"
+msgstr "la seqüència d'escapada `\\%c' és tractada com a una simple `%c'"
-#: node.c:735
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
+#: node.c:739
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
msgstr ""
-#: posix/gawkmisc.c:175
+#: posix/gawkmisc.c:177
#, fuzzy, c-format
msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)"
-msgstr "%s %s «%s»: no es pot inicialitzar close-on-exec: (fcntl: %s)"
+msgstr "%s %s `%s': no es pot inicialitzar close-on-exec: (fcntl: %s)"
-#: posix/gawkmisc.c:187
+#: posix/gawkmisc.c:189
#, fuzzy, c-format
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
-msgstr "%s %s «%s»: no es pot inicialitzar close-on-exec: (fcntl: %s)"
+msgstr "%s %s `%s': no es pot inicialitzar close-on-exec: (fcntl: %s)"
-#: profile.c:83
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
-msgstr "no es pot obrir «%s» per a escriptura: %s"
+msgstr "no es pot obrir `%s' per a escriptura: %s"
-#: profile.c:203
+#: profile.c:73
+msgid "sending profile to standard error"
+msgstr "enviant el perfil a l'eixida d'error estàndard"
+
+#: profile.c:193
#, fuzzy, c-format
msgid ""
"\t# %s block(s)\n"
@@ -1929,8 +3263,8 @@ msgstr ""
"\t# Bloc(s) FINAL\n"
"\n"
-#: profile.c:208
-#, fuzzy, c-format
+#: profile.c:198
+#, c-format
msgid ""
"\t# Rule(s)\n"
"\n"
@@ -1938,17 +3272,29 @@ msgstr ""
"\t# Regla(es)\n"
"\n"
-#: profile.c:279
+#: profile.c:272
#, fuzzy, c-format
msgid "internal error: %s with null vname"
msgstr "error intern: Node_var amb vname nul"
-#: profile.c:938
+#: profile.c:537
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "error intern: Node_var amb vname nul"
+
+#: profile.c:949
+#, c-format
+msgid ""
+"\t# Loaded extensions (-l and/or @load)\n"
+"\n"
+msgstr ""
+
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# perfil gawk, creat %s\n"
-#: profile.c:1317
+#: profile.c:1475
#, c-format
msgid ""
"\n"
@@ -1957,152 +3303,137 @@ msgstr ""
"\n"
"\t# Funcions, llistades alfabèticament\n"
-#: profile.c:1356
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr ""
-#: re.c:589
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
-msgstr ""
-
-#: re.c:611
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Èxit"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "No hi ha concordança"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Expressió regular no vàlida"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Caràcter de comparació no vàlid"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Nom de classe de caràcters no vàlid"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "Barra invertida extra al final"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Referència cap enradera no vàlida"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "[ o [^ desemparellats"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "( o \\( desemparellats"
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "\\{ desemparellat"
-#: regcomp.c:162
-msgid "Invalid content of \\{\\}"
-msgstr "Contingut no vàlid de \\{\\}"
-
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Final de rang no vàlid"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Memòria exhaurida"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Expressió regular precedent no vàlida"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Fí prematura de l'expressió regular"
-#: regcomp.c:177
-msgid "Regular expression too big"
-msgstr "L'expressió regular és massa gran"
-
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ") o \\) desemparellats"
-#: regcomp.c:701
+#: regcomp.c:704
msgid "No previous regular expression"
msgstr "No hi ha una expressió regular prèvia"
-#~ msgid "statement may have no effect"
-#~ msgstr "la declaració podria no tindre efecte"
+#: symbol.c:741
+msgid "can not pop main context"
+msgstr ""
-#~ msgid "attempt to use scalar `%s' as array"
-#~ msgstr "s'ha intentat usar la dada escalar «%s» com a una matriu"
+#~ msgid "reference to uninitialized element `%s[\"%s\"]'"
+#~ msgstr "referència a un element sense valor inicial `%s[\"%s\"]'"
-#, fuzzy
-#~ msgid "attempt to use array `%s' in scalar context"
-#~ msgstr "s'ha intentat usar la matriu «%s» en un context escalar"
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "el subscript de la matriu `%s' és una cadena nul·la"
-#~ msgid "`continue' outside a loop is not allowed"
-#~ msgstr "no es permet «continue» a fora d'un bucle"
+#~ msgid "delete: illegal use of variable `%s' as array"
+#~ msgstr "delete: ús il·legal de la variable `%s' com a una matriu"
-#, fuzzy
-#~ msgid "`break' outside a loop is not allowed"
-#~ msgstr "no es permet «break» a fora d'un bucle"
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: buit (nul)\n"
-#~ msgid "/inet/raw client not ready yet, sorry"
-#~ msgstr "el client /inet/raw encara no està a punt, ho sento"
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: buit (zero)\n"
-#~ msgid "only root may use `/inet/raw'."
-#~ msgstr "sols el root pot usar «/inet/raw»."
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: mida_taula = %d, mida_matriu = %d\n"
-#~ msgid "/inet/raw server not ready yet, sorry"
-#~ msgstr "el servidor /inet/raw encara no està a punt, ho sento"
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: ref_matriu a %s\n"
-#~ msgid "\t-m[fr] val\n"
-#~ msgstr "\t-m[fr] valor\n"
+#~ msgid "and: received non-numeric first argument"
+#~ msgstr "and: el primer argument rebut no és numèric"
-#~ msgid "call of `length' without parentheses is deprecated by POSIX"
-#~ msgstr "la crida de «length» sense parèntesis està desaprovada per POSIX"
+#~ msgid "or: received non-numeric first argument"
+#~ msgstr "or: el primer argument rebut no és numèric"
-#, fuzzy
-#~ msgid "reference to uninitialized field `$%s'"
-#~ msgstr "referència a una variable sense inicialitzar «%s»"
+#~ msgid "or(%lf, %lf): negative values will give strange results"
+#~ msgstr "or(%lf, %lf): els valors negatius donaran resultats estranys"
-#~ msgid "can't convert string to float"
-#~ msgstr "no es pot convertir la cadena a coma flotant"
+#~ msgid "or(%lf, %lf): fractional values will be truncated"
+#~ msgstr "or(%lf, %lf): els valors fraccionaris seran truncats"
-#~ msgid "`continue' outside a loop is not portable"
-#~ msgstr "«continue» fora d'un bucle no és portable"
+#~ msgid "xor: received non-numeric first argument"
+#~ msgstr "xor: el primer argument rebut no és numèric"
-#~ msgid "`break' outside a loop is not portable"
-#~ msgstr "«break» a fora d'un bucle no és portable"
+#~ msgid "xor(%lf, %lf): fractional values will be truncated"
+#~ msgstr "xor(%lf, %lf): els valors fraccionaris seran truncats"
-#~ msgid "`nextfile' cannot be called from a BEGIN rule"
-#~ msgstr "«nextfile» no es pot cridar des d'una regla BEGIN"
+#~ msgid "Operation Not Supported"
+#~ msgstr "Operació No Suportada"
-#~ msgid "`next' cannot be called from a BEGIN rule"
-#~ msgstr "«next» no es pot cridar des d'una regla BEGIN"
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opció il·legal -- %c\n"
-#~ msgid "file `%s' is a directory"
-#~ msgstr "el fitxer «%s» és un directori"
+#~ msgid "`-m[fr]' option irrelevant in gawk"
+#~ msgstr "l'opción `-m[fr]' és irrellevant en gawk"
-#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
-#~ msgstr "useu «PROCINFO[\"%s\"]» en comptes de «%s»"
+#~ msgid "-m option usage: `-m[fr] nnn'"
+#~ msgstr "ús de l'opció -m: `-m[fr] nnn'"
-#~ msgid "use `PROCINFO[...]' instead of `/dev/user'"
-#~ msgstr "useu «PROCINFO[...]» en comptes de «/dev/user»"
+#~ msgid "\t-m[fr] val\n"
+#~ msgstr "\t-m[fr] valor\n"
#~ msgid "\t-W compat\t\t--compat\n"
#~ msgstr "\t-W compat\t\t--compat\n"
@@ -2114,159 +3445,141 @@ msgstr "No hi ha una expressió regular prèvia"
#~ msgstr "\t-W usage\t\t--usage\n"
#~ msgid ""
-#~ "\t# BEGIN block(s)\n"
#~ "\n"
+#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
#~ msgstr ""
-#~ "\t# Bloc(s) INICI\n"
#~ "\n"
+#~ "Per a informar d'errors, consulteu el node «Bugs' en «gawk.info', que està\n"
-#~ msgid "`$' is not permitted in awk formats"
-#~ msgstr "no es permeten «$» en els formats awk"
-
-#~ msgid "arg count with `$' must be > 0"
-#~ msgstr "el compte d'arguments amb «$» ha de ser > 0"
-
-#, fuzzy
-#~ msgid "arg count %ld greater than total number of supplied arguments"
-#~ msgstr ""
-#~ "el comte d'arguments %d és major que el nombre total d'arguments "
-#~ "proporcionats"
-
-#~ msgid "`$' not permitted after period in format"
-#~ msgstr "no es permet «$» després d'un punt en el format"
-
-#~ msgid "no `$' supplied for positional field width or precision"
-#~ msgstr "no es proporciona «$» per a l'ample o precisió del camp de posició"
-
-#~ msgid "`l' is meaningless in awk formats; ignored"
-#~ msgstr "«l» manca de significat en els formats awk; serà ignorat"
-
-#~ msgid "`l' is not permitted in POSIX awk formats"
-#~ msgstr "«l» no està permés en els formats POSIX de awk"
-
-#~ msgid "`L' is meaningless in awk formats; ignored"
-#~ msgstr "«L» manca de significat en els formats awk; serà ignorat"
-
-#~ msgid "`L' is not permitted in POSIX awk formats"
-#~ msgstr "«L» no està permés en els formats POSIX de awk"
-
-#~ msgid "`h' is meaningless in awk formats; ignored"
-#~ msgstr "«h» manca de significat en els formats awk; serà ignorat"
-
-#~ msgid "`h' is not permitted in POSIX awk formats"
-#~ msgstr "«h» no està permés en els formats POSIX de awk"
-
-#~ msgid "not enough arguments to satisfy format string"
-#~ msgstr "no hi ha prou arguments per a satisfer el format d'una cadena"
-
-#~ msgid "^ ran out for this one"
-#~ msgstr "^ desbordament per a aquest"
-
-#~ msgid "[s]printf: format specifier does not have control letter"
-#~ msgstr "[s]printf: l'especificador de format no conté lletra de control"
-
-#~ msgid "too many arguments supplied for format string"
-#~ msgstr "s'han proporcionat masses arguments per a la cadena de format"
+#~ msgid "invalid syntax in name `%s' for variable assignment"
+#~ msgstr "sintaxi no vàlida en el nom «%s' per a l'asignació de la variable"
-#, fuzzy
-#~ msgid "attempt to use array parameter `%s' in a scalar context"
-#~ msgstr "s'ha intentat usar la matriu «%s» en un context escalar"
+#~ msgid "could not find groups: %s"
+#~ msgstr "no es poden trobar els grups: %s"
-#~ msgid "can't open two way socket `%s' for input/output (%s)"
-#~ msgstr ""
-#~ "no es pot obrir un socket bidireccional «%s» per a les entrades/eixides "
-#~ "(%s)"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: opció il·legal -- %c\n"
+#~ msgid "internal error: Node_var_array with null vname"
+#~ msgstr "error intern: Node_var_array amb vname nul"
-#~ msgid ""
-#~ "concatenation: side effects in one expression have changed the length of "
-#~ "another!"
-#~ msgstr ""
-#~ "concatenació: els efectes colaterals en una expressió han canviat la "
-#~ "longitud d'una altra!"
+#~ msgid "or used in other expression context"
+#~ msgstr "o s'ha emprat en un altre context de l'expressió"
#~ msgid "illegal type (%s) in tree_eval"
#~ msgstr "tipus il·legal (%s) en tree_eval"
-#~ msgid "\t# -- main --\n"
-#~ msgstr "\t# -- principal --\n"
-
-#~ msgid "invalid tree type %s in redirect()"
-#~ msgstr "tipus d'arbre %s no vàlid dintre de redirect()"
-
-#~ msgid "unexpected type %s in prec_level"
-#~ msgstr "tipus %s inesperat en prec_level"
+#~ msgid "attempt to use function `%s' as array"
+#~ msgstr "s'ha intentat usar la funció «%s» com a una matriu"
-#, fuzzy
-#~ msgid "Unknown node type %s in pp_var"
-#~ msgstr "tipo de node %d desconegut"
+#~ msgid "`%s' is a function, assignment is not allowed"
+#~ msgstr "«%s» és una funció, l'assignació no és permesa"
-#~ msgid "delete: illegal use of variable `%s' as array"
-#~ msgstr "delete: ús il·legal de la variable «%s» com a una matriu"
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr "no es permet l'assignació per a obtindre un resultat d'una funció interna"
#~ msgid ""
+#~ "\t# BEGIN block(s)\n"
#~ "\n"
-#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
#~ msgstr ""
+#~ "\t# Bloc(s) INICI\n"
#~ "\n"
-#~ "Per a informar d'errors, consulteu el node «Bugs» en «gawk.info», que "
-#~ "està\n"
-#~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "sintaxi no vàlida en el nom «%s» per a l'asignació de la variable"
-
-#~ msgid "internal error: Node_var_array with null vname"
-#~ msgstr "error intern: Node_var_array amb vname nul"
-
-#~ msgid "or used in other expression context"
-#~ msgstr "o s'ha emprat en un altre context de l'expressió"
-
-#~ msgid "`%s' is a function, assignment is not allowed"
-#~ msgstr "«%s» és una funció, l'assignació no és permesa"
+#~ msgid "unexpected type %s in prec_level"
+#~ msgstr "tipus %s inesperat en prec_level"
#~ msgid "BEGIN blocks must have an action part"
#~ msgstr "Els blocs INICI han de tindre una part d'acció"
-#~ msgid "`nextfile' used in BEGIN or END action"
-#~ msgstr "«nextfile» és usat dintre de l'acció BEGIN o END"
+#~ msgid "statement may have no effect"
+#~ msgstr "la declaració podria no tindre efecte"
#~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
#~ msgstr "«getline» no redirigit sense definir dintre de l'acció BEGIN o END"
+#~ msgid "call of `length' without parentheses is deprecated by POSIX"
+#~ msgstr "la crida de «length» sense parèntesis està desaprovada per POSIX"
+
#~ msgid "fptr %x not in tokentab\n"
#~ msgstr "fptr %x no està en la taula de referència\n"
+#~ msgid "`%s' is a Bell Labs extension"
+#~ msgstr "«%s» és una extensió de Bell Labs"
+
#~ msgid "gsub third parameter is not a changeable object"
#~ msgstr "gsub: el tercer argument no és un objecte intercanviable"
-#~ msgid "Unfinished \\ escape"
-#~ msgstr "seqüència d'escapada \\ sense finalitzar"
-
#~ msgid "unfinished repeat count"
#~ msgstr "repetició del comptador sense finalitzar"
#~ msgid "malformed repeat count"
#~ msgstr "repetició del comptador malformada"
-#~ msgid "Unbalanced ["
-#~ msgstr "[ sense aparellar"
+#~ msgid "out of memory"
+#~ msgstr "memòria esgotada"
+
+#~ msgid "field %d in FIELDWIDTHS, must be > 0"
+#~ msgstr "el camp %d en FIELDWIDTHS, hauria de ser > 0"
-#~ msgid "Unbalanced ("
-#~ msgstr "( sense aparellar"
+#~ msgid "for loop: array `%s' changed size from %d to %d during loop execution"
+#~ msgstr "bucle for: la matriu «%s» ha canviat de mida de %d a %d durant l'execució del bucle"
-#~ msgid "No regexp syntax bits specified"
-#~ msgstr "No s'especifiquen els bits de sintaxi de l'expressió regular"
+#~ msgid "`break' outside a loop is not portable"
+#~ msgstr "«break» a fora d'un bucle no és portable"
-#~ msgid "Unbalanced )"
-#~ msgstr ") sense aparellar"
+#~ msgid "`continue' outside a loop is not portable"
+#~ msgstr "«continue» fora d'un bucle no és portable"
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "el camp %d en FIELDWIDTHS, hauria de ser > 0"
+#~ msgid "`next' cannot be called from a BEGIN rule"
+#~ msgstr "«next» no es pot cridar des d'una regla BEGIN"
+
+#~ msgid "`next' cannot be called from an END rule"
+#~ msgstr "«next» no es pot cridar des d'una regla FINAL"
+
+#~ msgid "`nextfile' cannot be called from a BEGIN rule"
+#~ msgstr "«nextfile» no es pot cridar des d'una regla BEGIN"
+
+#~ msgid "`nextfile' cannot be called from an END rule"
+#~ msgstr "«nextfile» no es pot cridar des d'una regla FINAL"
+
+#~ msgid "statement has no effect"
+#~ msgstr "la sentència no té efecte"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "assignació usada en un context condicional"
+
+#~ msgid "concatenation: side effects in one expression have changed the length of another!"
+#~ msgstr "concatenació: els efectes colaterals en una expressió han canviat la longitud d'una altra!"
#~ msgid "function %s called\n"
#~ msgstr "s'ha cridat a la funció %s\n"
-#~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "error intern: fitxer «%s», línia %d\n"
+#~ msgid "\t# -- main --\n"
+#~ msgstr "\t# -- principal --\n"
+
+#~ msgid "invalid tree type %s in redirect()"
+#~ msgstr "tipus d'arbre %s no vàlid dintre de redirect()"
+
+#~ msgid "can't open two way socket `%s' for input/output (%s)"
+#~ msgstr "no es pot obrir un socket bidireccional «%s» per a les entrades/eixides (%s)"
+
+#~ msgid "/inet/raw client not ready yet, sorry"
+#~ msgstr "el client /inet/raw encara no està a punt, ho sento"
+
+#~ msgid "only root may use `/inet/raw'."
+#~ msgstr "sols el root pot usar «/inet/raw»."
+
+#~ msgid "/inet/raw server not ready yet, sorry"
+#~ msgstr "el servidor /inet/raw encara no està a punt, ho sento"
+
+#~ msgid "file `%s' is a directory"
+#~ msgstr "el fitxer «%s» és un directori"
+
+#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
+#~ msgstr "useu «PROCINFO[\"%s\"]» en comptes de «%s»"
+
+#~ msgid "use `PROCINFO[...]' instead of `/dev/user'"
+#~ msgstr "useu «PROCINFO[...]» en comptes de «/dev/user»"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "error en llegir el fitxer d'entrada «%s»: %s"
+
+#~ msgid "can't convert string to float"
+#~ msgstr "no es pot convertir la cadena a coma flotant"
diff --git a/po/fi.gmo b/po/fi.gmo
index c2e017f1..117053a5 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index e58b6179..0f3ba5ac 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.75\n"
+"Project-Id-Version: gawk 4.1.0b\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2013-04-17 20:54+0300\n"
-"PO-Revision-Date: 2014-01-02 11:55+0200\n"
+"POT-Creation-Date: 2014-01-14 22:23+0200\n"
+"PO-Revision-Date: 2014-01-16 13:32+0200\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
@@ -18,84 +18,84 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"
-#: array.c:254
+#: array.c:256
#, c-format
msgid "from %s"
msgstr "taulukosta %s"
-#: array.c:354
+#: array.c:357
msgid "attempt to use a scalar value as array"
msgstr "yritettiin käyttää skalaariarvoa taulukkona"
-#: array.c:356
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "yritettiin käyttää skalaariparametria â€%s†taulukkona"
-#: array.c:359
+#: array.c:362
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "yritettiin käyttää skalaaria â€%s†taulukkona"
-#: array.c:406 array.c:573 builtin.c:85 builtin.c:1591 builtin.c:1637
-#: builtin.c:1650 builtin.c:2078 builtin.c:2092 eval.c:1121 eval.c:1125
-#: eval.c:1524
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "yritettiin käyttää taulukkoa â€%s†skalaarikontekstissa"
-#: array.c:580
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indeksi â€%s†ei ole taulukossa â€%sâ€"
-#: array.c:594
+#: array.c:597
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "yritettiin käyttää skalaaria â€%s[\"%.*s\"]†taulukkona"
-#: array.c:773
+#: array.c:776
msgid "adump: first argument not an array"
msgstr "adump: ensimmäinen argumentti ei ole taulukko"
-#: array.c:812
+#: array.c:815
msgid "asort: second argument not an array"
msgstr "asort: toinen argumentti ei ole taulukko"
-#: array.c:813
+#: array.c:816
msgid "asorti: second argument not an array"
msgstr "asorti: toinen argumentti ei ole taulukko"
-#: array.c:820
+#: array.c:823
msgid "asort: first argument not an array"
msgstr "asort: ensimmäinen argumentti ei ole taulukko"
-#: array.c:821
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr "asorti: ensimmäinen argumentti ei ole taulukko"
-#: array.c:828
+#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr "asort: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille epäonnistui"
-#: array.c:829
+#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr "asorti: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille epäonnistui"
-#: array.c:834
+#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr "asort: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille epäonnistui"
-#: array.c:835
+#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr "asorti: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille epäonnistui"
-#: array.c:1309
+#: array.c:1314
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "â€%s†on virheellinen funktionimenä"
-#: array.c:1313
+#: array.c:1318
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "lajitteluvertailufunktiota â€%s†ei ole määritelty"
@@ -229,11 +229,11 @@ msgstr "erikoismuuttujan â€%s†käyttö epäsuoralle funktiokutsulle epäonni
msgid "invalid subscript expression"
msgstr "virheellinen indeksointilauseke"
-#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "varoitus: "
-#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "tuhoisa: "
@@ -241,8 +241,8 @@ msgstr "tuhoisa: "
msgid "unexpected newline or end of string"
msgstr "odottamaton rivinvaihto tai merkkijonon loppu"
-#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:517 debug.c:533
-#: debug.c:2792 debug.c:5040
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "lähdetiedoston â€%s†avaaminen lukemista varten (%s) epäonnistui"
@@ -252,7 +252,7 @@ msgstr "lähdetiedoston â€%s†avaaminen lukemista varten (%s) epäonnistui"
msgid "can't open shared library `%s' for reading (%s)"
msgstr "jaetun kirjaston â€%s†avaaminen lukemista varten (%s) epäonnistui"
-#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "syy tuntematon"
@@ -418,69 +418,73 @@ msgstr "dcgettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcngettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
-#: awkgram.y:4039
+#: awkgram.y:3992
+msgid "index: regexp constant as second argument is not allowed"
+msgstr "index: regexp-vakio toisena argumenttina ei ole sallittu"
+
+#: awkgram.y:4045
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktio â€%sâ€: parametri â€%s†varjostaa yleismuuttujaa"
-#: awkgram.y:4096 debug.c:4021 debug.c:4064 debug.c:5189
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "tiedoston â€%s†avaaminen kirjoittamista varten (%s) epäonnistui"
-#: awkgram.y:4097
+#: awkgram.y:4103
msgid "sending variable list to standard error"
msgstr "lähetetään muuttujaluettelo vakiovirheeseen"
-#: awkgram.y:4105
+#: awkgram.y:4111
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: sulkeminen epäonnistui (%s)"
-#: awkgram.y:4130
+#: awkgram.y:4136
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() kutsuttu kahdesti!"
-#: awkgram.y:4138
+#: awkgram.y:4144
msgid "there were shadowed variables."
msgstr "siellä oli varjostettuja muuttujia."
-#: awkgram.y:4209
+#: awkgram.y:4215
#, c-format
msgid "function name `%s' previously defined"
msgstr "funktionimi â€%s†on jo aikaisemmin määritelty"
-#: awkgram.y:4255
+#: awkgram.y:4261
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktio â€%sâ€: funktionimen käyttö parametrinimenä epäonnistui"
-#: awkgram.y:4258
+#: awkgram.y:4264
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr "funktio â€%sâ€: erikoismuuttujan â€%s†käyttö funktioparametrina epäonnistui"
-#: awkgram.y:4266
+#: awkgram.y:4272
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "funktio â€%sâ€: parametri #%d, â€%sâ€, samanlainen parametri #%d"
-#: awkgram.y:4360 awkgram.y:4366
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktiota â€%s†kutsuttiin, mutta sitä ei ole koskaan määritelty"
-#: awkgram.y:4370
+#: awkgram.y:4369
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktio â€%s†määriteltiin, mutta sitä ei ole koskaan kutsuttu suoraan"
-#: awkgram.y:4402
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "säännöllisen lausekkeen vakio parametrille #%d antaa boolean-arvon"
-#: awkgram.y:4461
+#: awkgram.y:4460
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -489,413 +493,422 @@ msgstr ""
"funktio â€%s†kutsuttu välilyönnillä nimen ja â€(â€-merkin\n"
"välillä, tai käytetty muuttujana tai taulukkona"
-#: awkgram.y:4697
+#: awkgram.y:4696
msgid "division by zero attempted"
msgstr "nollalla jakoa yritettiin"
-#: awkgram.y:4706
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "jakoa nollalla yritettiin operaattorissa â€%%â€"
+#: awkgram.y:5025
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "arvon liittäminen kenttäjälkiaskelkasvatuslausekkeeseen epäonnistui"
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr "virheellinen liittämiskohde (käskykoodi %s)"
+
# kohteena voi olla vakiotuloste tai joku muu
-#: builtin.c:128
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s kohteeseen â€%s†epäonnistui (%s)"
-#: builtin.c:129
+#: builtin.c:134
msgid "standard output"
msgstr "vakiotuloste"
-#: builtin.c:143
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr "exp: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:149
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argumentti %g on lukualueen ulkopuolella"
-#: builtin.c:224
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr "fflush: tyhjentäminen epäonnistui: putki â€%s†avattu lukemista varten, ei kirjoittamiseen"
-#: builtin.c:227
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr "fflush: tyhjentäminen epäonnistui: tiedosto â€%s†avattu lukemista varten, ei kirjoittamiseen"
-#: builtin.c:239
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: â€%s†ei ole avoin tiedosto, putki tai apuprosessi"
-#: builtin.c:357
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr "index: ensimmäinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:359
+#: builtin.c:364
msgid "index: received non-string second argument"
msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:483 mpfr.c:757
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr "int: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:520
+#: builtin.c:525
msgid "length: received array argument"
msgstr "length: vastaanotettu taulukkoargumentti"
-#: builtin.c:523
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
msgstr "â€length(array)†on gawk-laajennus"
-#: builtin.c:539
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr "length: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:570
+#: builtin.c:575
msgid "log: received non-numeric argument"
msgstr "log: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:573
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
msgstr "log: vastaanotettu negatiivinen argumentti %g"
-#: builtin.c:771 builtin.c:776
+#: builtin.c:776 builtin.c:781
msgid "fatal: must use `count$' on all formats or none"
msgstr "kohtalokas: on käytettävä â€count$†kaikilla muodoilla tai ei missään"
-#: builtin.c:846
+#: builtin.c:851
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "kenttäleveys ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:848
+#: builtin.c:853
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "tarkkuus ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:850
+#: builtin.c:855
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "kenttäleveys ja tarkkuus ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:901
+#: builtin.c:906
msgid "fatal: `$' is not permitted in awk formats"
msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu awk-muodoissa"
-#: builtin.c:910
+#: builtin.c:915
msgid "fatal: arg count with `$' must be > 0"
msgstr "kohtalokas: argumenttilukumäärän argumentilla â€$†on oltava > 0"
-#: builtin.c:914
+#: builtin.c:919
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr "kohtalokas: argumenttilukumäärä %ld on suurempi kuin toimitettujen argumenttien lukumäärä"
-#: builtin.c:918
+#: builtin.c:923
msgid "fatal: `$' not permitted after period in format"
msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu pisteen jälkeen muodossa"
-#: builtin.c:934
+#: builtin.c:939
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "kohtalokas: ei â€$â€-argumenttia tarjottu sijantikenttäleveydelle tai tarkkuudelle"
-#: builtin.c:1006
+#: builtin.c:1011
msgid "`l' is meaningless in awk formats; ignored"
msgstr "â€l†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:1010
+#: builtin.c:1015
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€l†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:1023
+#: builtin.c:1028
msgid "`L' is meaningless in awk formats; ignored"
msgstr "â€L†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:1027
+#: builtin.c:1032
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€L†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:1040
+#: builtin.c:1045
msgid "`h' is meaningless in awk formats; ignored"
msgstr "â€h†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:1044
+#: builtin.c:1049
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€h†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:1439
+#: builtin.c:1447
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: arvo %g on lukualueen ulkopuolella â€%%%câ€-muodolle"
-#: builtin.c:1537
+#: builtin.c:1545
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr "ohitetaan tuntematon muotoargumenttimerkki â€%câ€: ei muunnettu argumenttia"
-#: builtin.c:1542
+#: builtin.c:1550
msgid "fatal: not enough arguments to satisfy format string"
msgstr "kohtalokas: ei kylliksi argumentteja muotomerkkijonon tyydyttämiseksi"
-#: builtin.c:1544
+#: builtin.c:1552
msgid "^ ran out for this one"
msgstr "^ tällainen loppui kesken"
-#: builtin.c:1551
+#: builtin.c:1559
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: muotoargumentilla ei ole ohjauskirjainta"
-#: builtin.c:1554
+#: builtin.c:1562
msgid "too many arguments supplied for format string"
msgstr "muotomerkkijonoon toimitettu liian monta argumenttia"
-#: builtin.c:1610
+#: builtin.c:1618
msgid "sprintf: no arguments"
msgstr "sprintf: ei argumentteja"
-#: builtin.c:1633 builtin.c:1644
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr "printf: ei argumentteja"
-#: builtin.c:1687
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:1691
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: kutsuttu negatiivisella argumentilla %g"
-#: builtin.c:1722
+#: builtin.c:1730
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: pituus %g ei ole >= 1"
-#: builtin.c:1724
+#: builtin.c:1732
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: pituus %g ei ole >= 0"
-#: builtin.c:1731
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: typistetään pituus %g, joka ei ole kokonaisluku"
-#: builtin.c:1736
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr: pituus %g liian suuri merkkijononindeksointiin, typistetään arvoon %g"
-#: builtin.c:1748
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: aloitusindeksi %g on virheellinen, käytetään 1:tä"
-#: builtin.c:1753
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: typistetään aloitusindeksi %g, joka ei ole kokonaisluku"
-#: builtin.c:1778
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr "substr: lähdemerkkijono on nollapituinen"
-#: builtin.c:1794
+#: builtin.c:1802
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: aloitusindeksi %g on merkkijonon lopun jälkeen"
-#: builtin.c:1802
+#: builtin.c:1810
#, c-format
msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr "substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden (%lu)"
-#: builtin.c:1876
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi"
-#: builtin.c:1899
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
msgstr "strftime: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:1903
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: toinen argumentti on pienempi kuin 0 tai liian suuri time_t-rakenteeseen"
-#: builtin.c:1910
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr "strftime: ensimmäinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1917
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr "strftime: vastaanotettu tyhjä muotomerkkijono"
-#: builtin.c:1983
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr "mktime: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2000
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: vähintään yksi arvoista on oletuslukualueen ulkopuolella"
-#: builtin.c:2035
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr "’system’-funktio ei ole sallittu hiekkalaatikkotilassa"
-#: builtin.c:2040
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr "system: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2160
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "viite alustamattomaan kenttään â€$%dâ€"
-#: builtin.c:2247
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr "tolower: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2281
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr "toupper: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2317 mpfr.c:672
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr "atan2: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2319 mpfr.c:674
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr "atan2: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2338
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr "sin: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2354
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr "cos: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2407 mpfr.c:1156
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr "srand: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2438
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr "match: kolmas argumentti ei ole taulukko"
-#: builtin.c:2710
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 0-arvoinen kolmas argumentti käsitellään kuin 1"
-#: builtin.c:3003
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr "lshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3005
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
msgstr "lshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3011
+#: builtin.c:3022
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:3013
+#: builtin.c:3024
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): jaosarvot typistetään"
-#: builtin.c:3015
+#: builtin.c:3026
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): liian suuri siirrosarvo antaa outoja tuloksia"
-#: builtin.c:3040
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr "rshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3042
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
msgstr "rshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3048
+#: builtin.c:3059
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:3050
+#: builtin.c:3061
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): jaosarvot typistetään"
-#: builtin.c:3052
+#: builtin.c:3063
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): liian suuri siirrosarvo antaa outoja tuloksia"
-#: builtin.c:3077 mpfr.c:968
+#: builtin.c:3088 mpfr.c:968
msgid "and: called with less than two arguments"
msgstr "and: kutsuttu vähemmällä kuin kahdella argumentilla"
-#: builtin.c:3082
+#: builtin.c:3093
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argumentti %d ei ole numeeraaliargumentti"
-#: builtin.c:3086
+#: builtin.c:3097
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: argumentin %d negatiivinen arvo %g antaa outoja tuloksia"
-#: builtin.c:3109 mpfr.c:1000
+#: builtin.c:3120 mpfr.c:1000
msgid "or: called with less than two arguments"
msgstr "or: kutsuttu vähemmällä kuin kahdella argumentilla"
-#: builtin.c:3114
+#: builtin.c:3125
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argumentti %d ei ole numeraaliargumentti"
-#: builtin.c:3118
+#: builtin.c:3129
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: argumentin %d negatiivinen arvo %g antaa outoja tuloksia"
-#: builtin.c:3140 mpfr.c:1031
+#: builtin.c:3151 mpfr.c:1031
msgid "xor: called with less than two arguments"
msgstr "xor: kutsuttu vähemmällä kuin kahdella argumentilla"
-#: builtin.c:3146
+#: builtin.c:3157
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argumentti %d ei ole numeraaliargumentti"
-#: builtin.c:3150
+#: builtin.c:3161
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: argumentin %d negatiivinen arvo %g antaa outoja tuloksia"
-#: builtin.c:3175 mpfr.c:787
+#: builtin.c:3186 mpfr.c:787
msgid "compl: received non-numeric argument"
msgstr "compl: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:3181
+#: builtin.c:3192
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): negatiivinen arvo antaa outoja tuloksia"
-#: builtin.c:3183
+#: builtin.c:3194
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): jaosarvo typistetään"
-#: builtin.c:3352
+#: builtin.c:3363
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: â€%s†ei ole kelvollinen paikallinen kategoria"
@@ -1164,7 +1177,7 @@ msgstr "up [N] - siirrä N kehystä ylöspäin pinossa."
msgid "watch var - set a watchpoint for a variable."
msgstr "watch muuttuja - aseta vahtikohta muuttujalle."
-#: command.y:1011 debug.c:395 msg.c:128
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr "virhe: "
@@ -1202,93 +1215,93 @@ msgstr "virheellinen merkki"
msgid "undefined command: %s\n"
msgstr "määrittelemätön komento: %s\n"
-#: debug.c:246
+#: debug.c:252
msgid "set or show the number of lines to keep in history file."
msgstr "aseta tai näytä historiatiedostossa säilytettävien rivien lukumäärä."
-#: debug.c:248
+#: debug.c:254
msgid "set or show the list command window size."
msgstr "aseta tai näytä luettelokomentoikkunan koko."
-#: debug.c:250
+#: debug.c:256
msgid "set or show gawk output file."
msgstr "aseta tai näytä gawk-tulostetiedosto."
-#: debug.c:252
+#: debug.c:258
msgid "set or show debugger prompt."
msgstr "aseta tai näytä vianjäljittäjäkehote."
-#: debug.c:254
+#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
msgstr "aseta, poista asetus tai näytä komentohistoriatallennus (value=on|off)."
-#: debug.c:256
+#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
msgstr "aseta, poista asetus tai näytä valitsintallennus (value=on|off)."
-#: debug.c:258
+#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
msgstr "aseta, poista asetus tai näytä käskyjäljitys (value=on|off)."
-#: debug.c:339
+#: debug.c:345
msgid "program not running."
msgstr "ohjelma ei ole käynnissä."
-#: debug.c:442 debug.c:597
+#: debug.c:448 debug.c:606
#, c-format
msgid "can't read source file `%s' (%s)"
msgstr "lähdetiedoston â€%s†(%s) lukeminen epäonnistui"
-#: debug.c:447
+#: debug.c:453
#, c-format
msgid "source file `%s' is empty.\n"
msgstr "lähdetiedosto â€%s†on tyhjä.\n"
-#: debug.c:474
+#: debug.c:480
msgid "no current source file."
msgstr "ei nykyistä lähdekooditiedostoa."
-#: debug.c:499
+#: debug.c:505
#, c-format
msgid "cannot find source file named `%s' (%s)"
msgstr "lähdetiedostoa nimeltä â€%s†(%s) ei kyetä lukemaan"
-#: debug.c:523
+#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
msgstr "VAROITUS: lähdekooditiedostoa â€%s†on muokattu ohjelman kääntämisen jälkeen.\n"
-#: debug.c:542
+#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
msgstr "rivinumero %d lukualueen ulkopuolella; kohteessa â€%s†on %d riviä"
-#: debug.c:602
+#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
msgstr "odottamaton eof-tiedostonloppumerkki luettaessa tiedostoa â€%sâ€, rivi %d"
-#: debug.c:611
+#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
msgstr "lähdekooditiedostoa â€%s†on muokattu ohjelman suorituksen aloituksen jälkeen"
-#: debug.c:723
+#: debug.c:732
#, c-format
msgid "Current source file: %s\n"
msgstr "Nykyinen lähdetiedosto: %s\n"
-#: debug.c:724
+#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
msgstr "Rivien lukumäärä: %d\n"
-#: debug.c:731
+#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
msgstr "Lähdetiedosto (riviä): %s (%d)\n"
-#: debug.c:745
+#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
@@ -1296,54 +1309,54 @@ msgstr ""
"Numero Disp Käytössä Sijainti\n"
"\n"
-#: debug.c:756
+#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
msgstr "\tosumien lukumäärä = %ld\n"
-#: debug.c:758
+#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
msgstr "\tohita seuraavat %ld osumaa\n"
-#: debug.c:760 debug.c:900
+#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
msgstr "\tpysähtymisehto: %s\n"
-#: debug.c:762 debug.c:902
+#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
msgstr "\tkomennot:\n"
-#: debug.c:784
+#: debug.c:793
#, c-format
msgid "Current frame: "
msgstr "Nykyinen kehys: "
-#: debug.c:787
+#: debug.c:796
#, c-format
msgid "Called by frame: "
msgstr "Kehyksen kutsuma: "
-#: debug.c:791
+#: debug.c:800
#, c-format
msgid "Caller of frame: "
msgstr "Kehyksen kutsuja: "
-#: debug.c:809
+#: debug.c:818
#, c-format
msgid "None in main().\n"
msgstr "Funktiossa main() ei ole mitään.\n"
-#: debug.c:839
+#: debug.c:848
msgid "No arguments.\n"
msgstr "Ei argumentteja.\n"
-#: debug.c:840
+#: debug.c:849
msgid "No locals.\n"
msgstr "Ei paikallisia muuttujia.\n"
-#: debug.c:848
+#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
@@ -1351,7 +1364,7 @@ msgstr ""
"Kaikki määritellyt muuttujat:\n"
"\n"
-#: debug.c:858
+#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
@@ -1359,7 +1372,7 @@ msgstr ""
"Kaikki määritellyt funktiot.\n"
"\n"
-#: debug.c:877
+#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
@@ -1367,7 +1380,7 @@ msgstr ""
"Automaattisesti näytettävät muuttujat:\n"
"\n"
-#: debug.c:880
+#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
@@ -1375,357 +1388,357 @@ msgstr ""
"Vahtimuuttujia:\n"
"\n"
-#: debug.c:1020
+#: debug.c:1029
#, c-format
msgid "no symbol `%s' in current context\n"
msgstr "symbolia â€%s†ei löydy nykyisestä asiayhteydestä\n"
-#: debug.c:1032 debug.c:1418
+#: debug.c:1041 debug.c:1427
#, c-format
msgid "`%s' is not an array\n"
msgstr "â€%s†ei ole taulukko\n"
-#: debug.c:1046
+#: debug.c:1055
#, c-format
msgid "$%ld = uninitialized field\n"
msgstr "$%ld = alustamaton kenttä\n"
-#: debug.c:1067
+#: debug.c:1076
#, c-format
msgid "array `%s' is empty\n"
msgstr "taulukko â€%s†on tyhjä\n"
-#: debug.c:1110 debug.c:1162
+#: debug.c:1119 debug.c:1171
#, c-format
msgid "[\"%s\"] not in array `%s'\n"
msgstr "[â€%sâ€] ei ole taulukossa â€%sâ€\n"
-#: debug.c:1166
+#: debug.c:1175
#, c-format
msgid "`%s[\"%s\"]' is not an array\n"
msgstr "â€%s[\"%s\"]†ei ole taulukko\n"
-#: debug.c:1227 debug.c:4949
+#: debug.c:1236 debug.c:4964
#, c-format
msgid "`%s' is not a scalar variable"
msgstr "â€%s†ei ole skalaarimuuttuja"
-#: debug.c:1249 debug.c:4979
+#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "yritettiin käyttää taulukkoa â€%s[\"%s\"]†skalaarikontekstissa"
-#: debug.c:1271 debug.c:4990
+#: debug.c:1280 debug.c:5005
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "yritettiin käyttää skalaaria â€%s[\"%s\"]†taulukkona"
-#: debug.c:1414
+#: debug.c:1423
#, c-format
msgid "`%s' is a function"
msgstr "â€%s†on funktio"
-#: debug.c:1456
+#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
msgstr "watchpoint %d ei ole ehdollinen\n"
-#: debug.c:1490
+#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
msgstr "Yksikään näyttörivi ei ole numeroitu %ld"
-#: debug.c:1493
+#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
msgstr "Yksikään vahtirivi ei ole numeroitu %ld"
-#: debug.c:1519
+#: debug.c:1528
#, c-format
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr "%d: [â€%sâ€] ei ole taulukossa â€%sâ€\n"
-#: debug.c:1758
+#: debug.c:1767
msgid "attempt to use scalar value as array"
msgstr "yritettiin käyttää skalaariarvoa taulukkona"
-#: debug.c:1847
+#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
msgstr "Watchpoint %d poistettiin, koska parametri on lukualueen ulkopuolella.\n"
-#: debug.c:1858
+#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
msgstr "Display %d poistettiin, koska parametri on lukualueen ulkopuolella.\n"
-#: debug.c:1891
+#: debug.c:1900
#, c-format
msgid " in file `%s', line %d\n"
msgstr " tiedostossa â€%sâ€, rivi %d\n"
-#: debug.c:1912
+#: debug.c:1921
#, c-format
msgid " at `%s':%d"
msgstr " osoitteessa â€%sâ€:%d"
-#: debug.c:1928 debug.c:1991
+#: debug.c:1937 debug.c:2000
#, c-format
msgid "#%ld\tin "
msgstr "#%ld\tkohteessa "
-#: debug.c:1965
+#: debug.c:1974
#, c-format
msgid "More stack frames follow ...\n"
msgstr "Lisää pinokehyksiä seuraa ...\n"
-#: debug.c:2008
+#: debug.c:2017
msgid "invalid frame number"
msgstr "virheellinen kehysnumero"
-#: debug.c:2180
+#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
msgstr "Huomaa: keskeytyskohta %d (otettu käyttöön, ohita seuraavat %ld osumaa), asetettu myös osoitteessa %s:%d"
-#: debug.c:2187
+#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
msgstr "Huomaa: keskeytyskohta %d (otettu käyttöön), asetettu myös kohdassa %s:%d"
-#: debug.c:2194
+#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
msgstr "Huomaa: keskeytyskohta %d (otettu pois käytöstä, ohita seuraavat %ld osumaa), asetettu myös kohdassa %s:%d"
-#: debug.c:2201
+#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
msgstr "Huomaa: keskeytyskohta %d (otettu pois käytöstä), asetettu myös kohdassa %s:%d"
-#: debug.c:2218
+#: debug.c:2238
#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
msgstr "Keskeytyskohta %d asetettu tiedostossa â€%sâ€, rivi %d\n"
-#: debug.c:2320
+#: debug.c:2340
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
msgstr "Keskeytyskohdan asetaminen tiedostossa â€%s†epäonnistui\n"
-#: debug.c:2349 debug.c:2472 debug.c:3330
+#: debug.c:2369 debug.c:2492 debug.c:3350
#, c-format
msgid "line number %d in file `%s' out of range"
msgstr "rivinumero %d tiedostossa â€%s†on lukualueen ulkopuolella"
-#: debug.c:2353
+#: debug.c:2373
#, c-format
msgid "Can't find rule!!!\n"
msgstr "Säännön löytäminen epäonnistui!!!\n"
-#: debug.c:2355
+#: debug.c:2375
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
msgstr "Keskeytykohdan asettaminen kohdassa â€%sâ€:%d epäonnistui\n"
-#: debug.c:2367
+#: debug.c:2387
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
msgstr "Keskeytyskohdan asettaminen funktiossa â€%s†epäonnistui\n"
-#: debug.c:2383
+#: debug.c:2403
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
msgstr "keskeytyskohta %d asetettu tiedostossa â€%sâ€, rivi %d on ehdoton\n"
-#: debug.c:2488 debug.c:2510
+#: debug.c:2508 debug.c:2530
#, c-format
msgid "Deleted breakpoint %d"
msgstr "Poistettu keskeytyskohta %d"
-#: debug.c:2494
+#: debug.c:2514
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
msgstr "Ei keskeytyskohtaa funktion â€%s†sisääntulossa\n"
-#: debug.c:2521
+#: debug.c:2541
#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
msgstr "Tiedostossa â€%s†ei ole keskeytyskohtaa, rivi #%d\n"
-#: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
msgid "invalid breakpoint number"
msgstr "virheellinen keskeytyskohtanumero"
-#: debug.c:2592
+#: debug.c:2612
msgid "Delete all breakpoints? (y or n) "
msgstr "Poistetaanko kaikki keskeytyskohdata? (y tai n) "
-#: debug.c:2593 debug.c:2903 debug.c:2956
+#: debug.c:2613 debug.c:2923 debug.c:2976
msgid "y"
msgstr "k"
-#: debug.c:2642
+#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
msgstr "Keskeytyskohta %2$d:n seuraavat %1$ld risteystä ohitetaan.\n"
-#: debug.c:2646
+#: debug.c:2666
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
msgstr "Pysähtyy seuraavalla kerralla kun keskeytyskohta %d saavutetaan.\n"
-#: debug.c:2763
+#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
msgstr "Vain ohjelmia, jotka tarjoavat valitsimen â€-fâ€, voidaan vikajäljittää.\n"
-#: debug.c:2888
+#: debug.c:2908
#, c-format
msgid "Failed to restart debugger"
msgstr "Vianjäljittäjän uudelleenkäynnistys epäonnistui"
-#: debug.c:2902
+#: debug.c:2922
msgid "Program already running. Restart from beginning (y/n)? "
msgstr "Ohjelma on jo käynnissä. Käynnistetäänkö uudelleen alusta (y/n)? "
-#: debug.c:2906
+#: debug.c:2926
#, c-format
msgid "Program not restarted\n"
msgstr "Ohjelma ei käynnistynyt uudelleen\n"
-#: debug.c:2916
+#: debug.c:2936
#, c-format
msgid "error: cannot restart, operation not allowed\n"
msgstr "virhe: uudelleenkäynnistys epäonnistui, toiminto ei ole sallittu\n"
-#: debug.c:2922
+#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
msgstr "virhe (%s): uudelleenkäynnistys epäonnistui, loput komennot ohitetaan\n"
-#: debug.c:2930
+#: debug.c:2950
#, c-format
msgid "Starting program: \n"
msgstr "Käynnistetään ohjelma: \n"
-#: debug.c:2939
+#: debug.c:2959
#, c-format
msgid "Program exited %s with exit value: %d\n"
msgstr "Ohjelma päättyi %s päättymisarvolla: %d\n"
-#: debug.c:2955
+#: debug.c:2975
msgid "The program is running. Exit anyway (y/n)? "
msgstr "Ohjelma on käynnissä. Poistutaanko silti (y/n)? "
-#: debug.c:2990
+#: debug.c:3010
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
msgstr "Ei pysäytetty yhdessäkään keskeytyskohdassa; argumentti ohitetaan.\n"
-#: debug.c:2995
+#: debug.c:3015
#, c-format
msgid "invalid breakpoint number %d."
msgstr "virheellinen keskeytyskohtanumero %d."
-#: debug.c:3000
+#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
msgstr "Ohittaa seuraavat %ld keskeytyskohdan %d ylitystä.\n"
-#: debug.c:3187
+#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
msgstr "’finish’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n"
-#: debug.c:3192
+#: debug.c:3212
#, c-format
msgid "Run till return from "
msgstr "Suorita kunnes paluu kohteesta "
-#: debug.c:3235
+#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
msgstr "’return’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n"
-#: debug.c:3349
+#: debug.c:3369
#, c-format
msgid "Can't find specified location in function `%s'\n"
msgstr "Määritellyn sijainnin löytyminen funktiossa â€%s†epäonnistui\n"
-#: debug.c:3357
+#: debug.c:3377
#, c-format
msgid "invalid source line %d in file `%s'"
msgstr "virheellinen lähdekoodirivi %d tiedostossa â€%sâ€"
-#: debug.c:3372
+#: debug.c:3392
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
msgstr "Määritellyn sijainnin %d löytyminen tiedostossa â€%s†epäonnistui\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "element not in array\n"
msgstr "elementti ei ole taulukossa\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "untyped variable\n"
msgstr "tyypitön muuttuja\n"
-#: debug.c:3446
+#: debug.c:3466
#, c-format
msgid "Stopping in %s ...\n"
msgstr "Pysäytetään kohdassa %s ...\n"
-#: debug.c:3523
+#: debug.c:3543
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
msgstr "’finish’ ei ole merkityksellinen ei-paikallisessa hypyssä ’%s’\n"
-#: debug.c:3530
+#: debug.c:3550
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
msgstr "’until’ ei ole merkityksellinen ei-paikallisessa hypyssä ’%s’\n"
-#: debug.c:4165
+#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
msgstr "\t------Jatka painamalla [Enter] tai poistu painamalla q [Enter]------"
-#: debug.c:4166
+#: debug.c:4186
msgid "q"
msgstr "q"
-#: debug.c:4986
+#: debug.c:5001
#, c-format
msgid "[\"%s\"] not in array `%s'"
msgstr "[â€%sâ€] ei ole taulukossa â€%sâ€"
-#: debug.c:5192
+#: debug.c:5207
#, c-format
msgid "sending output to stdout\n"
msgstr "lähetetään tuloste vakiotulosteeseen\n"
-#: debug.c:5232
+#: debug.c:5247
msgid "invalid number"
msgstr "virheellinen numero"
-#: debug.c:5366
+#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr "â€%s†ei ole sallittu nykyisessä asiayhteydessä; lause ohitetaan"
-#: debug.c:5374
+#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
msgstr "â€return†ei ole sallittu nykyisessä asiayhteydessä; lause ohitetaan"
-#: debug.c:5575
+#: debug.c:5590
#, c-format
msgid "No symbol `%s' in current context"
msgstr "Symbolia â€%s†ei ole nykyisesssä asiayhteydessä"
#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
-#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
msgid "unbalanced ["
msgstr "pariton ["
@@ -1733,31 +1746,31 @@ msgstr "pariton ["
msgid "invalid character class"
msgstr "virheellinen merkkiluokka"
-#: dfa.c:1229
+#: dfa.c:1228
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr "merkkiluokkasyntaksi on [[:space:]], ei [:space:]"
-#: dfa.c:1281
+#: dfa.c:1280
msgid "unfinished \\ escape"
msgstr "päättymätön \\-koodinvaihtomerkki"
-#: dfa.c:1428 regcomp.c:161
+#: dfa.c:1427 regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Virheellinen \\{\\}-sisältö"
-#: dfa.c:1431 regcomp.c:176
+#: dfa.c:1430 regcomp.c:176
msgid "Regular expression too big"
msgstr "Säännöllinen lauseke on liian iso"
-#: dfa.c:1816
+#: dfa.c:1847
msgid "unbalanced ("
msgstr "pariton ("
-#: dfa.c:1943
+#: dfa.c:1973
msgid "no syntax specified"
msgstr "syntaksi ei ole määritelty"
-#: dfa.c:1951
+#: dfa.c:1981
msgid "unbalanced )"
msgstr "pariton )"
@@ -1776,11 +1789,11 @@ msgstr "tuntematon käskykoodi %d"
msgid "opcode %s not an operator or keyword"
msgstr "käskykoodi %s ei ole operaattori tai avainsana"
-#: eval.c:471
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr "puskurin ylivuoto funktiossa genflags2str"
-#: eval.c:674
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -1791,71 +1804,71 @@ msgstr ""
"\t# Funktiokutsupino:\n"
"\n"
-#: eval.c:703
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
msgstr "â€IGNORECASE†on gawk-laajennus"
-#: eval.c:735
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "â€BINMODE†on gawk-laajennus"
-#: eval.c:793
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "BINMODE-arvo â€%s†on virheellinen, käsiteltiin arvona 3"
-#: eval.c:884
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "väärä â€%sFMTâ€-määritys â€%sâ€"
-#: eval.c:968
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "käännetään pois â€--lintâ€-valitsin â€LINTâ€-sijoituksen vuoksi"
-#: eval.c:1146
+#: eval.c:1147
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "viite alustamattomaan argumenttiin â€%sâ€"
-#: eval.c:1147
+#: eval.c:1148
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "viite alustamattomaan muuttujaan â€%sâ€"
-#: eval.c:1165
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr "yritettiin kenttäviitettä arvosta, joka ei ole numeerinen"
-#: eval.c:1167
+#: eval.c:1168
msgid "attempt to field reference from null string"
msgstr "yritettiin kenttäviitettä null-merkkijonosta"
-#: eval.c:1175
+#: eval.c:1176
#, c-format
msgid "attempt to access field %ld"
msgstr "yritettiin saantia kenttään %ld"
-#: eval.c:1184
+#: eval.c:1185
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "viite alustamattomaan kenttään â€$%ldâ€"
-#: eval.c:1271
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktio â€%s†kutsuttiin useammalla argumentilla kuin esiteltiin"
-#: eval.c:1466
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: odottamaton tyyppi â€%sâ€"
-#: eval.c:1562
+#: eval.c:1569
msgid "division by zero attempted in `/='"
msgstr "jakoa nollalla yritettiin operaatiossa â€/=â€"
-#: eval.c:1569
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "jakoa nollalla yritettiin operaatiossa â€%%=â€"
@@ -1868,7 +1881,7 @@ msgstr "laajennuksia ei sallita hiekkalaatikkotilassa"
msgid "-l / @load are gawk extensions"
msgstr "-l / @load ovat gawk-laajennuksia"
-#: ext.c:95 ext.c:177
+#: ext.c:95
msgid "load_ext: received NULL lib_name"
msgstr "load_ext: vastaanotettiin NULL lib_name"
@@ -1896,6 +1909,10 @@ msgstr "load_ext: kirjaston â€%s†alustusrutiini â€%s†epäonnistui\n"
msgid "`extension' is a gawk extension"
msgstr "â€extension†on gawk-laajennus"
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr "extension: vastaanotettiin NULL lib_name"
+
#: ext.c:180
#, c-format
msgid "extension: cannot open library `%s' (%s)"
@@ -1915,36 +1932,36 @@ msgstr "extension: kirjasto â€%sâ€: funktion â€%s†(%s) kutsu epäonnistui"
msgid "make_builtin: missing function name"
msgstr "make_builtin: puuttuva funktionimi"
-#: ext.c:238
+#: ext.c:236
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr "make_builtin: funktion â€%s†uudelleenmäärittely epäonnistui"
-#: ext.c:242
+#: ext.c:240
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr "make_builtin: funktio â€%s†on jo määritelty"
-#: ext.c:246
+#: ext.c:244
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr "make_builtin: funktionimi â€%s†on määritelty jo aiemmin"
-#: ext.c:248
+#: ext.c:246
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
msgstr "make_builtin: gawk-ohjelman sisäisen muuttujanimen â€%s†käyttö funktionimenä epäonnistui"
-#: ext.c:251 ext.c:304
+#: ext.c:249 ext.c:304
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negatiivinen argumenttilukumäärä funktiolle â€%sâ€"
-#: ext.c:278
+#: ext.c:276
msgid "extension: missing function name"
msgstr "extension: puuttuva funktionimi"
-#: ext.c:283
+#: ext.c:279 ext.c:283
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: virheellinen merkki â€%c†funktionimessä â€%sâ€"
@@ -1969,139 +1986,143 @@ msgstr "extension: funktionimi â€%s†on määritelty jo aiemmin"
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr "extension: gawk-ohjelman sisäisen muuttujanimen käyttö â€%s†funktionimenä epäonnistui"
-#: ext.c:374
+#: ext.c:375
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "funktio â€%s†on määritelty ottamaan enemmän kuin %d argumenttia"
-#: ext.c:377
+#: ext.c:378
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "function â€%sâ€: puuttuva argumentti #%d"
-#: ext.c:394
+#: ext.c:395
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "funktio â€%sâ€: argumentti #%d: yritettiin käyttää skalaaria taulukkona"
-#: ext.c:398
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "funktio â€%sâ€: argumentti #%d: yritettiin käyttää taulukkoa skalaarina"
-#: ext.c:412
+#: ext.c:413
msgid "dynamic loading of library not supported"
msgstr "kirjaston dynaamista latausta ei tueta"
-#: extension/filefuncs.c:97
+#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
msgstr "chdir: kutsuttu argumenttien väärällä lukumäärällä, odotettiin 1"
-#: extension/filefuncs.c:343
+#: extension/filefuncs.c:439
#, c-format
msgid "stat: unable to read symbolic link `%s'"
msgstr "stat: symbolisen linkin â€%s†lukeminen epäonnistui"
-#: extension/filefuncs.c:376
+#: extension/filefuncs.c:472
msgid "stat: called with wrong number of arguments"
msgstr "stat: kutsuttu argumenttien väärällä lukumäärällä"
-#: extension/filefuncs.c:383
+#: extension/filefuncs.c:479
msgid "stat: bad parameters"
msgstr "stat: väärät parametrit"
-#: extension/filefuncs.c:437
+#: extension/filefuncs.c:533
#, c-format
msgid "fts init: could not create variable %s"
msgstr "fts init: muuttujan %s luominen epäonnistui"
-#: extension/filefuncs.c:460
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr "fts ei ole tuettu tässä järjestelmässä"
+
+#: extension/filefuncs.c:573
msgid "fill_stat_element: could not create array"
msgstr "fill_stat_element: taulukon luominen epäonnistui"
-#: extension/filefuncs.c:469
+#: extension/filefuncs.c:582
msgid "fill_stat_element: could not set element"
msgstr "fill_stat_element: elementin asettaminen epäonnistui"
-#: extension/filefuncs.c:484
+#: extension/filefuncs.c:597
msgid "fill_path_element: could not set element"
msgstr "fill_path_element: elementin asettaminen epäonnistui"
-#: extension/filefuncs.c:500
+#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
msgstr "fill_error_element: elementin asettaminen epäonnistui"
-#: extension/filefuncs.c:547 extension/filefuncs.c:594
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
msgid "fts-process: could not create array"
msgstr "fts-process: taulukon luominen epäonnistui"
-#: extension/filefuncs.c:557 extension/filefuncs.c:604
-#: extension/filefuncs.c:622
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
msgid "fts-process: could not set element"
msgstr "fts-process: elementin asettaminen epäonnistui"
-#: extension/filefuncs.c:671
+#: extension/filefuncs.c:784
msgid "fts: called with incorrect number of arguments, expecting 3"
msgstr "fts: kutsuttu argumenttien väärällä lukumäärällä, odotettiin 3"
-#: extension/filefuncs.c:674
+#: extension/filefuncs.c:787
msgid "fts: bad first parameter"
msgstr "fts: väärä ensimmäinen parametri"
-#: extension/filefuncs.c:680
+#: extension/filefuncs.c:793
msgid "fts: bad second parameter"
msgstr "fts: väärä toinen parametri"
-#: extension/filefuncs.c:686
+#: extension/filefuncs.c:799
msgid "fts: bad third parameter"
msgstr "fts: väärä kolmas parametri"
-#: extension/filefuncs.c:693
+#: extension/filefuncs.c:806
msgid "fts: could not flatten array\n"
msgstr "fts: taulukon litistäminen epäonnistui\n"
-#: extension/filefuncs.c:711
+#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
msgstr "fts: ohitetaan petollinen FTS_NOSTAT-lippu. nyyh, nyyh, nyyh."
-#: extension/filefuncs.c:728
+#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
msgstr "fts: clear_array() epäonnistui\n"
-#: extension/fnmatch.c:98
+#: extension/fnmatch.c:112
msgid "fnmatch: called with less than three arguments"
msgstr "fnmatch: kutsuttu vähemmällä kuin kolmella argumentilla"
-#: extension/fnmatch.c:101
+#: extension/fnmatch.c:115
msgid "fnmatch: called with more than three arguments"
msgstr "fnmatch: kutsuttu useammalla kuin kolmella argumentilla"
-#: extension/fnmatch.c:104
+#: extension/fnmatch.c:118
msgid "fnmatch: could not get first argument"
msgstr "fnmatch: ensimmäistä argumenttia ei saatu"
-#: extension/fnmatch.c:109
+#: extension/fnmatch.c:123
msgid "fnmatch: could not get second argument"
msgstr "fnmatch: toista argumenttia ei saatu"
-#: extension/fnmatch.c:114
+#: extension/fnmatch.c:128
msgid "fnmatch: could not get third argument"
msgstr "fnmatch: kolmatta argumenttia ei saatu"
-#: extension/fnmatch.c:127
+#: extension/fnmatch.c:141
msgid "fnmatch is not implemented on this system\n"
msgstr "fnmatch ei ole toteutettu tässä järjestelmässä\n"
-#: extension/fnmatch.c:159
+#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
msgstr "fnmatch init: muuttujan FNM_NOMATCH lisääminen epäonnistui"
-#: extension/fnmatch.c:169
+#: extension/fnmatch.c:183
#, c-format
msgid "fnmatch init: could not set array element %s"
msgstr "fnmatch init: taulukkoelementin %s asettaminen epäonnistui"
-#: extension/fnmatch.c:179
+#: extension/fnmatch.c:193
msgid "fnmatch init: could not install FNM array"
msgstr "fnmatch init: FNM-taulukon lisääminen epäonnistui"
@@ -2125,88 +2146,88 @@ msgstr "wait: kutsuttu ilman argumentteja"
msgid "wait: called with too many arguments"
msgstr "wait: kutsuttu liian monella argumentilla"
-#: extension/inplace.c:110
+#: extension/inplace.c:130
msgid "inplace_begin: in-place editing already active"
msgstr "inplace_begin: kohdallaanmuokkaus on jo aktivoitu"
-#: extension/inplace.c:113 extension/inplace.c:187
+#: extension/inplace.c:133 extension/inplace.c:207
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr "inplace_begin: odotetaan 2 argumenttia, mutta kutsussa oli %d argumenttia"
-#: extension/inplace.c:116
+#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
msgstr "inplace_begin: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä epäonnistui"
-#: extension/inplace.c:124
+#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
msgstr "inplace_begin: ottaen pois käytöstä virheellisen TIEDOSTONIMI â€%s†muokkauksen"
-#: extension/inplace.c:131
+#: extension/inplace.c:151
#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
msgstr "inplace_begin: stat â€%s†(%s) epäonnistui"
-#: extension/inplace.c:138
+#: extension/inplace.c:158
#, c-format
msgid "inplace_begin: `%s' is not a regular file"
msgstr "inplace_begin: â€%s†ei ole tavallinen tiedosto"
-#: extension/inplace.c:149
+#: extension/inplace.c:169
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr "inplace_begin: mkstemp(â€%sâ€) epäonnistui (%s)"
-#: extension/inplace.c:158
+#: extension/inplace.c:178
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr "inplace_begin: chmod epäonnistui (%s)"
-#: extension/inplace.c:165
+#: extension/inplace.c:185
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr "inplace_begin: dup(stdout) epäonnistui (%s)"
-#: extension/inplace.c:168
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr "inplace_begin: dup2(%d, stdout) epäonnistui (%s)"
-#: extension/inplace.c:171
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "inplace_begin: close(%d) epäonnistui (%s)"
-#: extension/inplace.c:190
+#: extension/inplace.c:210
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
msgstr "inplace_end: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä epäonnistui"
-#: extension/inplace.c:197
+#: extension/inplace.c:217
msgid "inplace_end: in-place editing not active"
msgstr "inplace_end: kohdallaanmuokkaus ei ole aktiivinen"
-#: extension/inplace.c:203
+#: extension/inplace.c:223
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr "inplace_end: dup2(%d, stdout) epäonnistui (%s)"
-#: extension/inplace.c:206
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr "inplace_end: close(%d) epäonnistui (%s)"
-#: extension/inplace.c:210
+#: extension/inplace.c:230
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr "inplace_end: fsetpos(stdout) epäonnistui (%s)"
-#: extension/inplace.c:223
+#: extension/inplace.c:243
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "inplace_end: link(â€%sâ€, â€%sâ€) epäonnistui (%s)."
-#: extension/inplace.c:229
+#: extension/inplace.c:253
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "inplace_end: rename(â€%sâ€, â€%sâ€) epäonnistui (%s)"
@@ -2235,7 +2256,7 @@ msgstr "chr: kutsuttu ilman argumentteja"
msgid "chr: called with inappropriate argument(s)"
msgstr "chr: kutsuttu sopimattomalla argumentilla"
-#: extension/readdir.c:203
+#: extension/readdir.c:277
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
msgstr "dir_take_control_of: opendir/fdopendir epäonnistui: %s"
@@ -2248,152 +2269,152 @@ msgstr "readfile: kutsuttu liian monella argumentilla"
msgid "readfile: called with no arguments"
msgstr "readfile: kutsuttu ilman argumentteja"
-#: extension/rwarray.c:120
+#: extension/rwarray.c:124
msgid "writea: called with too many arguments"
msgstr "writea: kutsuttu liian monella argumentilla"
-#: extension/rwarray.c:127
+#: extension/rwarray.c:131
#, c-format
msgid "do_writea: argument 0 is not a string\n"
msgstr "do_writea: argumentti 0 ei ole merkkijono\n"
-#: extension/rwarray.c:133
+#: extension/rwarray.c:137
#, c-format
msgid "do_writea: argument 1 is not an array\n"
msgstr "do_writea: argumentti 1 ei ole taulukko\n"
-#: extension/rwarray.c:180
+#: extension/rwarray.c:184
#, c-format
msgid "write_array: could not flatten array\n"
msgstr "write_array: taulukon litistäminen epäonnistui\n"
-#: extension/rwarray.c:194
+#: extension/rwarray.c:198
#, c-format
msgid "write_array: could not release flattened array\n"
msgstr "write_array: litistettyä taulukon vapauttaminen epäonnistui\n"
-#: extension/rwarray.c:276
+#: extension/rwarray.c:280
msgid "reada: called with too many arguments"
msgstr "reada: kutsuttu liian monilla argumenteilla"
-#: extension/rwarray.c:283
+#: extension/rwarray.c:287
#, c-format
msgid "do_reada: argument 0 is not a string\n"
msgstr "do_reada: argumentti 0 ei ole merkkijono\n"
-#: extension/rwarray.c:289
+#: extension/rwarray.c:293
#, c-format
msgid "do_reada: argument 1 is not an array\n"
msgstr "do_reada: argumentti 1 ei ole taulukko\n"
-#: extension/rwarray.c:333
+#: extension/rwarray.c:337
#, c-format
msgid "do_reada: clear_array failed\n"
msgstr "do_reada: clear_array epäonnistui\n"
-#: extension/rwarray.c:370
+#: extension/rwarray.c:374
#, c-format
msgid "read_array: set_array_element failed\n"
msgstr "read_array: set_array_element epäonnistui\n"
-#: extension/time.c:81
+#: extension/time.c:106
msgid "gettimeofday: ignoring arguments"
msgstr "gettimeofday: ohitetaan argumentit"
-#: extension/time.c:112
+#: extension/time.c:137
msgid "gettimeofday: not supported on this platform"
msgstr "gettimeofday: ei ole tuettu tällä alustalla"
-#: extension/time.c:133
+#: extension/time.c:158
msgid "sleep: called with too many arguments"
msgstr "sleep: kutsuttu liian monella argumentilla"
-#: extension/time.c:136
+#: extension/time.c:161
msgid "sleep: missing required numeric argument"
msgstr "sleep: puuttuu vaadittu numeerinen argumentti"
-#: extension/time.c:142
+#: extension/time.c:167
msgid "sleep: argument is negative"
msgstr "sleep: argumentti on negatiivinen"
-#: extension/time.c:176
+#: extension/time.c:201
msgid "sleep: not supported on this platform"
msgstr "sleep: ei ole tuettu tällä alustalla"
-#: field.c:339
+#: field.c:345
msgid "NF set to negative value"
msgstr "NF asetettu negatiiviseen arvoon"
-#: field.c:964 field.c:971 field.c:975
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
msgstr "split: neljäs argumentti on gawk-laajennus"
-#: field.c:968
+#: field.c:975
msgid "split: fourth argument is not an array"
msgstr "split: neljäs argumentti ei ole taulukko"
-#: field.c:982
+#: field.c:989
msgid "split: second argument is not an array"
msgstr "split: toinen argumentti ei ole taulukko"
-#: field.c:986
+#: field.c:993
msgid "split: cannot use the same array for second and fourth args"
msgstr "split: saman taulukon käyttö toiselle ja neljännelle argumentille epäonnistui"
-#: field.c:991
+#: field.c:998
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr "split: toisen argumentin käyttö alitaulukkoa neljännelle argumentille epäonnistui"
-#: field.c:994
+#: field.c:1001
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr "split: neljännen argumentin käyttö alitaulukkoa toiselle argumentille epäonnistui"
-#: field.c:1023
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
msgstr "split: null-merkkijono kolmantena argumenttina on gawk-laajennus"
-#: field.c:1063
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: neljäs argumentti ei ole taulukko"
-#: field.c:1068
+#: field.c:1077
msgid "patsplit: second argument is not an array"
msgstr "patsplit: toinen argumentti ei ole taulukko"
-#: field.c:1074
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: kolmas argumentti ei ole taulukko"
-#: field.c:1078
+#: field.c:1087
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr "patsplit: saman taulukon käyttö toiselle ja neljännelle argumentille epäonnistui"
-#: field.c:1083
+#: field.c:1092
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr "patsplit: toisen argumentin käyttö alitaulukkkoa neljännelle argumentille epäonnistui"
-#: field.c:1086
+#: field.c:1095
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr "patsplit: neljännen argumentin käyttö alitaulukkoa toiselle argumentille epäonnistui"
-#: field.c:1124
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "â€FIELDWIDTHS†on gawk-laajennus"
-#: field.c:1188
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "virheellinen FIELDWIDTHS-arvo, lähellä â€%sâ€"
-#: field.c:1261
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
msgstr "null-merkkijono â€FSâ€-kenttäerotinmuuttujalle on gawk-laajennus"
-#: field.c:1265
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
msgstr "vanha awk ei tue regexp-arvoja â€FSâ€-kenttäerotinmuuttujana"
-#: field.c:1384
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
msgstr "â€FPAT†on gawk-laajennus"
@@ -2417,565 +2438,565 @@ msgstr "remove_element: vastaanotettu null-taulukko"
msgid "remove_element: received null subscript"
msgstr "remove_element: vastaanotti null-alaindeksin"
-#: gawkapi.c:943
+#: gawkapi.c:948
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr "api_flatten_array: indeksin %d muuntaminen epäonnistui\n"
-#: gawkapi.c:948
+#: gawkapi.c:953
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr "api_flatten_array: arvon %d muuntaminen epäonnistui\n"
-#: getopt.c:603 getopt.c:632
+#: getopt.c:604 getopt.c:633
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen; mahdollisuudet:"
-#: getopt.c:678 getopt.c:682
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: valitsin ’--%s’ ei salli argumenttia\n"
-#: getopt.c:691 getopt.c:696
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: valitsin ’%c%s’ ei salli argumenttia\n"
-#: getopt.c:739 getopt.c:758
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: valitsin ’--%s’ vaatii argumentin\n"
-#: getopt.c:796 getopt.c:799
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: tunnistamaton valitsin ’--%s’\n"
-#: getopt.c:807 getopt.c:810
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: tunnistamaton valitsin ’%c%s’\n"
-#: getopt.c:859 getopt.c:862
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: virheellinen valitsin -- ’%c’\n"
-#: getopt.c:915 getopt.c:932 getopt.c:1142 getopt.c:1160
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: valitsin vaatii argumentin -- ’%c’\n"
-#: getopt.c:988 getopt.c:1004
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: valitsin ’-W %s’ ei ole yksiselitteinen\n"
-#: getopt.c:1028 getopt.c:1046
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: valitsin ’-W %s’ ei salli argumenttia\n"
-#: getopt.c:1067 getopt.c:1085
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: valitsin ’-W %s’ vaatii argumentin\n"
-#: io.c:347
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "komentoriviargumentti â€%s†on hakemisto: ohitettiin"
-#: io.c:350 io.c:463
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "tiedoston â€%s†avaaminen lukemista varten (%s) epäonnistui"
-#: io.c:590
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "tiedostomäärittelijän %d (â€%sâ€) sulkeminen epäonnistui (%s)"
-#: io.c:666
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr "edelleenohjaus ei ole sallittua hiekkalaatikkotilassa"
-#: io.c:700
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "lausekkeella â€%sâ€-uudellenohjauksessa on vain numeerinen arvo"
-#: io.c:706
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "lausekkeella â€%sâ€-uudelleenohjauksessa on null-merkkijonoarvo"
-#: io.c:711
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr "tiedostonimi â€%s†â€%sâ€-uudelleenohjaukselle saattaa olla loogisen lausekkeen tulos"
-#: io.c:754
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "turha merkkien â€>†ja â€>>†sekoittaminen tiedostolle â€%.*sâ€"
-#: io.c:808
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "putken â€%s†avaaminen tulosteelle (%s) epäonnistui"
-#: io.c:818
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "putken â€%s†avaaminen syötteelle (%s) epäonnistui"
-#: io.c:849
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "kaksisuuntaisen putken â€%s†avaaminen syötteelle/tulosteelle (%s) epäonnistui"
-#: io.c:932
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "uudelleenohjaus putkesta â€%s†(%s) epäonnistui"
-#: io.c:935
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "uudelleenohjaus putkeen â€%s†(%s) epäonnistui"
-#: io.c:986
+#: io.c:1040
msgid "reached system limit for open files: starting to multiplex file descriptors"
msgstr "saavutettiin avoimien tiedostojen järjestelmäraja: aloitetaan tiedostomäärittelijöiden lomittaminen"
-#: io.c:1002
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†sulkeminen epäonnistui (%s)."
-#: io.c:1010
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr "avoinna liian monta putkea tai syötetiedostoa"
-#: io.c:1032
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
msgstr "close: toisen argumentin on oltava â€to†tai â€fromâ€"
-#: io.c:1049
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: â€%.*s†ei ole avoin tiedosto, putki tai apuprosessi"
-#: io.c:1054
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr "suljettiin uudelleenohjaus, jota ei avattu koskaan"
-#: io.c:1151
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr "close: uudelleenohjaus â€%s†ei ole avattu operaattoreilla â€|&â€, toinen argumentti ohitettu"
-#: io.c:1168
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "virhetila (%d) putken â€%s†sulkemisessa (%s)"
-#: io.c:1171
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "virhetila (%d) tiedoston â€%s†sulkemisessa (%s)"
-#: io.c:1191
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "pistokkeen â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1194
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "apuprosessin â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1197
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "putken â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1200
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "tiedoston â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1228 io.c:1283 main.c:842 main.c:879
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr "virhe kirjoitettaessa vakiotulosteeseen (%s)"
-#: io.c:1232 io.c:1288
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr "virhe kirjoitettaessa vakiovirheeseen (%s)"
-#: io.c:1240
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†putken tyhjennys epäonnistui (%s)."
-#: io.c:1243
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "putken apuprosessityhjennys uudelleenohjaukseen â€%s†epäonnistui (%s)."
-#: io.c:1246
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†tiedostontyhjennys epäonnistui (%s)."
-#: io.c:1360
+#: io.c:1420
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "paikallinen portti %s virheellinen pistokkeessa â€/inetâ€"
-#: io.c:1378
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "etäkone- ja porttitiedot (%s, %s) ovat virheellisiä"
-#: io.c:1530
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "ei (tunnettua) yhteyskäytäntöä tarjottu erikoistiedostonimessä â€%sâ€"
-#: io.c:1544
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "erikoistiedostonimi â€%s†on vaillinainen"
-#: io.c:1561
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
msgstr "on tarjottava etäkoneen nimi pistokkeeseen â€/inetâ€"
-#: io.c:1579
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
msgstr "on tarjottava etäportti pistokkeeseen â€/inetâ€"
-#: io.c:1625
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-viestintää ei tueta"
-#: io.c:1800
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "laitteen â€%s†avaus epäonnistui, tila â€%sâ€"
-#: io.c:1850
+#: io.c:1917
#, c-format
msgid "close of master pty failed (%s)"
msgstr "â€master ptyâ€-sulkeminen epäonnistui (%s)"
-#: io.c:1852 io.c:2028 io.c:2198
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "vakiotulosteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1855
+#: io.c:1922
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr "â€slave ptyâ€:n siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1857 io.c:2033
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "vakiosyötteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1860
+#: io.c:1927
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr "â€slave ptyâ€:n siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1862 io.c:1883
+#: io.c:1929 io.c:1951
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "â€slave ptyâ€:n sulkeminen epäonnistui (%s)"
-#: io.c:1969 io.c:2031 io.c:2175 io.c:2201
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1976 io.c:2036
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr "putken siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1996 io.c:2191
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr "vakiotulosteen palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:2004
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr "vakiosyötön palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:2039 io.c:2203 io.c:2217
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr "putken sulkeminen epäonnistui (%s)"
-#: io.c:2093
+#: io.c:2174
msgid "`|&' not supported"
msgstr "â€|&†ei tueta"
-#: io.c:2160
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "putken â€%s†(%s) avaaminen epäonnistui"
-#: io.c:2211
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "lapsiprosessin luominen komennolle â€%s†(fork: %s) epäonnistui"
-#: io.c:2671
+#: io.c:2790
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: vastaanotettiin NULL-osoitin"
-#: io.c:2699
+#: io.c:2818
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr "syötejäsennin â€%s†on ristiriidassa aiemmin asennetun syötejäsentimen â€%s†kanssa"
-#: io.c:2706
+#: io.c:2825
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "syötejäsentäjä â€%s†epäonnistui kohteen â€%s†avaamisessa"
-#: io.c:2726
+#: io.c:2845
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: vastaanotti NULL-osoittimen"
-#: io.c:2754
+#: io.c:2873
#, c-format
msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr "tulostekäärin â€%s†on ristiriidassa aiemmin asennetun tulostekäärimen â€%s†kanssa"
-#: io.c:2761
+#: io.c:2880
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "tulostekäärin â€%s†epäonnistui avaamaan â€%sâ€"
-#: io.c:2782
+#: io.c:2901
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: vastaanotti NULL-osoittimen"
-#: io.c:2811
+#: io.c:2930
#, c-format
msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
msgstr "kaksisuuntainen prosessori â€%s†on ristiriidassa aiemmin asennetun kaksisuuntaisen prosessorin â€%s†kanssa"
-#: io.c:2820
+#: io.c:2939
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "kaksisuuntainen prosessori â€%s†epäonnistui avaamaan â€%sâ€"
-#: io.c:2927
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
msgstr "data-tiedosto â€%s†on tyhjä"
-#: io.c:2969 io.c:2977
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr "lisäsyötemuistin varaus epäonnistui"
-#: io.c:3543
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "â€RSâ€-monimerkkiarvo on gawk-laajennus"
-#: io.c:3632
+#: io.c:3771
msgid "IPv6 communication is not supported"
msgstr "IPv6-viestintää ei tueta"
-#: main.c:388
+#: main.c:405
msgid "empty argument to `-e/--source' ignored"
msgstr "tyhjä argumentti valitsimelle â€-e/--source†ohitetaan"
-#: main.c:478
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: valitsin â€-W %s†on tunnistamaton, ohitetaan\n"
-#: main.c:524
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: valitsin vaatii argumentin -- %c\n"
-#: main.c:545
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "ympäristömuuttuja â€POSIXLY_CORRECT†asetettu: käännetään päälle valitsin â€--posixâ€"
-#: main.c:551
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
msgstr "valitsin â€--posix†korvaa valitsimen â€--traditionalâ€"
-#: main.c:562
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "valitsin â€--posix†tai â€--traditional†korvaa valitsimen â€--non-decimal-dataâ€"
-#: main.c:566
+#: main.c:583
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "suorittaminen â€%s setuid rootâ€-käyttäjänä saattaa olla turvapulma"
-#: main.c:571
+#: main.c:588
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "valitsin â€--posix†korvaa valitsimen â€--characters-as-bytesâ€"
-#: main.c:630
+#: main.c:647
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "binaaritilan asettaminen vakiosyötteessä (%s) epäonnistui"
-#: main.c:633
+#: main.c:650
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "binaaritilan asettaminen vakiotulosteessa (%s) epäonnistui"
-#: main.c:635
+#: main.c:652
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "binaaritilaa asettaminen vakiovirheessä (%s) epäonnistui"
-#: main.c:693
+#: main.c:710
msgid "no program text at all!"
msgstr "ei ohjelmatekstiä ollenkaan!"
-#: main.c:779
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] -f ohjelmatiedosto [--] tiedosto ...\n"
-#: main.c:781
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] [--] %cohjelma%c tiedosto ...\n"
-#: main.c:786
+#: main.c:806
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-valitsimet:\t\tGNU-pitkät valitsimet: (vakio)\n"
-#: main.c:787
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f ohjelmatiedosto\t\t--file=ohjelmatiedosto\n"
-#: main.c:788
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:789
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=arvo\t\t--assign=muuttuja=arvo\n"
-#: main.c:790
+#: main.c:810
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Lyhyet valitsimet:\t\tGNU-pitkät valitsimet: (laajennukset)\n"
-#: main.c:791
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:792
+#: main.c:812
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:793
+#: main.c:813
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:794
+#: main.c:814
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[tiedosto]\t\t--dump-variables[=tiedosto]\n"
-#: main.c:795
+#: main.c:815
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-D[tiedosto]\t\t--debug[=tiedosto]\n"
-#: main.c:796
+#: main.c:816
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'program-text'\t--source='program-text'\n"
-#: main.c:797
+#: main.c:817
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=tiedosto\n"
-#: main.c:798
+#: main.c:818
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-po\n"
-#: main.c:799
+#: main.c:819
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:800
+#: main.c:820
msgid "\t-i includefile\t\t--include=includefile\n"
msgstr "\t-i include-tiedosto\t\t--include=include-tiedosto\n"
-#: main.c:801
+#: main.c:821
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l kirjasto\t\t--load=kirjasto\n"
-#: main.c:802
+#: main.c:822
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:803
+#: main.c:823
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:804
+#: main.c:824
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:805
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:806
+#: main.c:826
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[tiedosto]\t\t--pretty-print[=tiedosto]\n"
-#: main.c:807
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:808
+#: main.c:828
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n"
-#: main.c:809
+#: main.c:829
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:810
+#: main.c:830
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:811
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:812
+#: main.c:832
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:813
+#: main.c:833
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:815
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:818
+#: main.c:838
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -2984,7 +3005,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:827
+#: main.c:847
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -2996,7 +3017,7 @@ msgstr ""
"joka on kappale â€Reporting Problems and Bugs†painetussa versiossa.\n"
"\n"
-#: main.c:831
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3006,7 +3027,7 @@ msgstr ""
"Oletuksena se lukee vakiosyötettä ja kirjoittaa vakiotulosteeseen.\n"
"\n"
-#: main.c:835
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3016,7 +3037,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' tiedosto\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:855
+#: main.c:880
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3035,7 +3056,7 @@ msgstr ""
"ehtojen mukaisesti.\n"
"\n"
-#: main.c:863
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3049,7 +3070,7 @@ msgstr ""
"GNU General Public License-ehdoista.\n"
"\n"
-#: main.c:869
+#: main.c:894
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"
@@ -3057,16 +3078,16 @@ msgstr ""
"Sinun pitäisi vastaanottaa kopion GNU General Public Licence-lisenssistä\n"
"tämän ohjelman mukana. Jos näin ei ole, katso http://www.gnu.org/licenses/.\n"
-#: main.c:904
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft ei aseta FS välilehteen POSIX awk:ssa"
-#: main.c:1176
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "tuntematon arvo kenttämääritteelle: %d\n"
-#: main.c:1274
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3075,48 +3096,48 @@ msgstr ""
"%s: â€%s†argumentti valitsimelle â€-v†ei ole â€var=arvoâ€-muodossa\n"
"\n"
-#: main.c:1300
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "â€%s†ei ole laillinen muuttujanimi"
-#: main.c:1303
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "â€%s†ei ole muuttujanimi, etsitään tiedostoa â€%s=%sâ€"
-#: main.c:1307
+#: main.c:1339
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "gawk-ohjelman sisäisen â€%sâ€-määrittelyn käyttö muuttujanimenä epäonnistui"
-#: main.c:1312
+#: main.c:1344
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "funktionimen â€%s†käyttö muuttujanimenä epäonnistui"
-#: main.c:1365
+#: main.c:1397
msgid "floating point exception"
msgstr "liukulukupoikkeus"
-#: main.c:1372
+#: main.c:1404
msgid "fatal error: internal error"
msgstr "tuhoisa virhe: sisäinen virhe"
-#: main.c:1387
+#: main.c:1419
msgid "fatal error: internal error: segfault"
msgstr "tuhoisa virhe: sisäinen virhe: segmenttivirhe"
-#: main.c:1399
+#: main.c:1431
msgid "fatal error: internal error: stack overflow"
msgstr "tuhoisa virhe: sisäinen virhe: pinoylivuoto"
-#: main.c:1458
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr "ei avattu uudelleen tiedostomäärittelijää %d"
-#: main.c:1465
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "laitteen /dev/null avaaminen uudelleen tiedostomäärittelijälle %d epäonnistui"
@@ -3171,7 +3192,7 @@ msgstr "%s: argumentin #%d jaosarvo %Rg typistetään"
msgid "%s: argument #%d negative value %Zd will give strange results"
msgstr "%s: argumentin #%d negatiivinen arvo %Zd antaa outoja tuloksia"
-#: msg.c:61
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr "komentorivi:"
@@ -3217,16 +3238,16 @@ msgstr "%s %s â€%sâ€: fd-lippujen hakeminen epäonnistui: (fcntl F_GETFD: %s)"
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s â€%sâ€: close-on-exec -asettaminen epäonnistui: (fcntl F_SETFD: %s)"
-#: profile.c:70
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "tiedoston â€%s†avaaminen kirjoittamista varten epäonnistui: %s"
-#: profile.c:72
+#: profile.c:73
msgid "sending profile to standard error"
msgstr "lähetetään profiili vakiovirheeseen"
-#: profile.c:188
+#: profile.c:193
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -3235,7 +3256,7 @@ msgstr ""
"\t# %s-lohko(t)\n"
"\n"
-#: profile.c:193
+#: profile.c:198
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3244,16 +3265,16 @@ msgstr ""
"\t# Säännöt\n"
"\n"
-#: profile.c:267
+#: profile.c:272
#, c-format
msgid "internal error: %s with null vname"
msgstr "sisäinen virhe: %s null vname-arvolla"
-#: profile.c:530
+#: profile.c:537
msgid "internal error: builtin with null fname"
msgstr "sisäinen virhe: builtin null-funktionimellä"
-#: profile.c:942
+#: profile.c:949
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3262,12 +3283,12 @@ msgstr ""
"\t# Ladatut laajennukset (-l ja/tai @load)\n"
"\n"
-#: profile.c:965
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiili, luotu %s\n"
-#: profile.c:1351
+#: profile.c:1475
#, c-format
msgid ""
"\n"
@@ -3276,17 +3297,12 @@ msgstr ""
"\n"
"\t# Funktiot, luetteloitu aakkosjärjestyksessä\n"
-#: profile.c:1389
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tuntematon edelleenohjaustyyppi %d"
-#: re.c:583
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr "muodon â€[%c-%c]†lukualue on paikallisasetuksesta riippuvainen"
-
-#: re.c:610
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr "säännöllisen lausekkeen komponentin â€%.*s†pitäisi luultavasti olla â€[%.*s]â€"
@@ -3355,10 +3371,13 @@ msgstr "Pariton ) tai \\)"
msgid "No previous regular expression"
msgstr "Ei edellistä säännöllistä lauseketta"
-#: symbol.c:740
+#: symbol.c:741
msgid "can not pop main context"
msgstr "pääsisällön pop-toiminto epäonnistui"
+#~ msgid "range of the form `[%c-%c]' is locale dependent"
+#~ msgstr "muodon â€[%c-%c]†lukualue on paikallisasetuksesta riippuvainen"
+
#~ msgid "attempt to use function `%s' as an array"
#~ msgstr "yritettiin käyttää funktiota â€%s†taulukkona"
diff --git a/po/fr.gmo b/po/fr.gmo
index 2ed0420a..b703ee0a 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 5c1ef226..d05521a2 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,12 +7,11 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.75\n"
+"Project-Id-Version: gawk 4.1.0b\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2013-05-09 16:05+0300\n"
-"PO-Revision-Date: 2013-04-23 23:41+0200\n"
-"Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir."
-"org>\n"
+"POT-Creation-Date: 2014-01-14 22:23+0200\n"
+"PO-Revision-Date: 2014-01-16 00:31+0100\n"
+"Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir.org>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -20,84 +19,84 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: array.c:254
+#: array.c:256
#, c-format
msgid "from %s"
msgstr "de %s"
-#: array.c:354
+#: array.c:357
msgid "attempt to use a scalar value as array"
msgstr "tentative d'utiliser un scalaire comme tableau"
-#: array.c:356
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "tentative d'utiliser le paramètre scalaire « %s » comme tableau"
-#: array.c:359
+#: array.c:362
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "tentative d'utiliser le scalaire « %s » comme tableau"
-#: array.c:406 array.c:573 builtin.c:85 builtin.c:1591 builtin.c:1637
-#: builtin.c:1650 builtin.c:2078 builtin.c:2092 eval.c:1121 eval.c:1125
-#: eval.c:1524
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "tentative d'utilisation du tableau « %s » dans un contexte scalaire"
-#: array.c:580
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete : l'indice « %s » est absent du tableau « %s »"
-#: array.c:594
+#: array.c:597
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "tentative d'utiliser le scalaire « %s[\"%.*s\"] » comme tableau"
-#: array.c:773
+#: array.c:776
msgid "adump: first argument not an array"
msgstr "adump : le 1er argument n'est pas un tableau"
-#: array.c:812
+#: array.c:815
msgid "asort: second argument not an array"
msgstr "asort : le 2e argument n'est pas un tableau"
-#: array.c:813
+#: array.c:816
msgid "asorti: second argument not an array"
msgstr "asorti : le 2e argument n'est pas un tableau"
-#: array.c:820
+#: array.c:823
msgid "asort: first argument not an array"
msgstr "asort : le 1er argument n'est pas un tableau"
-#: array.c:821
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr "asorti : le 1er argument n'est pas un tableau"
-#: array.c:828
+#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr "asort : le 2e argument ne doit pas être un sous-tableau du 1er"
-#: array.c:829
+#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr "asorti : le 2e argument ne doit pas être un sous-tableau du 1er"
-#: array.c:834
+#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr "asort : le 1er argument ne doit pas être un sous-tableau du 2e"
-#: array.c:835
+#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr "asorti : le 1er argument ne doit pas être un sous-tableau du 2e"
-#: array.c:1309
+#: array.c:1314
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "« %s » n'est pas un nom de fonction valide"
-#: array.c:1313
+#: array.c:1318
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "la fonction de comparaison « %s » du tri n'est pas définie"
@@ -162,9 +161,7 @@ msgstr "« return » est utilisé hors du contexte d'une fonction"
#: awkgram.y:922
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"dans BEGIN ou END, un « print » seul devrait sans doute être un « print "
-"\"\" »"
+msgstr "dans BEGIN ou END, un « print » seul devrait sans doute être un « print \"\" »"
#: awkgram.y:988 awkgram.y:1037
msgid "`delete' is not allowed with SYMTAB"
@@ -227,19 +224,17 @@ msgstr "les appels indirects de fonctions sont une extension gawk"
#: awkgram.y:1620
#, c-format
msgid "can not use special variable `%s' for indirect function call"
-msgstr ""
-"impossible d'utiliser la variable spéciale « %s » pour un appel indirect de "
-"fonction"
+msgstr "impossible d'utiliser la variable spéciale « %s » pour un appel indirect de fonction"
#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "expression indice incorrecte"
-#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "avertissement : "
-#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "fatal : "
@@ -247,8 +242,8 @@ msgstr "fatal : "
msgid "unexpected newline or end of string"
msgstr "fin de chaîne ou passage à la ligne inattendu"
-#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:517 debug.c:533
-#: debug.c:2792 debug.c:5040
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "impossible d'ouvrir le fichier source « %s » en lecture (%s)"
@@ -258,7 +253,7 @@ msgstr "impossible d'ouvrir le fichier source « %s » en lecture (%s)"
msgid "can't open shared library `%s' for reading (%s)"
msgstr "impossible d'ouvrir la bibliothèque partagée « %s » en lecture (%s)"
-#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "raison inconnue"
@@ -313,22 +308,17 @@ msgstr "le fichier source ne se termine pas par un passage à la ligne"
#: awkgram.y:3018
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr ""
-"expression rationnelle non refermée terminée par un « \\ » en fin de fichier"
+msgstr "expression rationnelle non refermée terminée par un « \\ » en fin de fichier"
#: awkgram.y:3042
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"%s : %d : le modificateur d'expressions rationnelles « /.../%c » de tawk ne "
-"marche pas dans gawk"
+msgstr "%s : %d : le modificateur d'expressions rationnelles « /.../%c » de tawk ne marche pas dans gawk"
#: awkgram.y:3046
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"le modificateur d'expressions rationnelles « /.../%c » de tawk ne marche pas "
-"dans gawk"
+msgstr "le modificateur d'expressions rationnelles « /.../%c » de tawk ne marche pas dans gawk"
#: awkgram.y:3053
msgid "unterminated regexp"
@@ -340,8 +330,7 @@ msgstr "expression rationnelle non refermée en fin de fichier"
#: awkgram.y:3116
msgid "use of `\\ #...' line continuation is not portable"
-msgstr ""
-"l'utilisation de « \\ #... » pour prolonger une ligne n'est pas portable"
+msgstr "l'utilisation de « \\ #... » pour prolonger une ligne n'est pas portable"
#: awkgram.y:3132
msgid "backslash not last character on line"
@@ -407,9 +396,7 @@ msgstr "%d n'est pas un nombre d'arguments valide de %s"
#: awkgram.y:3798
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
-msgstr ""
-"%s : une chaîne littérale en dernier argument d'une substitution est sans "
-"effet"
+msgstr "%s : une chaîne littérale en dernier argument d'une substitution est sans effet"
#: awkgram.y:3803
#, c-format
@@ -426,25 +413,22 @@ msgstr "close : le 2e argument est une extension gawk"
#: awkgram.y:3958
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"utilisation incorrecte de dcgettext(_\"...\") : enlevez le souligné de tête"
+msgstr "utilisation incorrecte de dcgettext(_\"...\") : enlevez le souligné de tête"
#: awkgram.y:3973
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"utilisation incorrecte de dcngettext(_\"...\") : enlevez le souligné de tête"
+msgstr "utilisation incorrecte de dcngettext(_\"...\") : enlevez le souligné de tête"
#: awkgram.y:3992
-#, fuzzy
msgid "index: regexp constant as second argument is not allowed"
-msgstr "index : le second argument n'est pas une chaîne"
+msgstr "index : le second argument ne peut être une expression rationnelle constante"
#: awkgram.y:4045
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "fonction « %s » : le paramètre « %s » masque la variable globale"
-#: awkgram.y:4102 debug.c:4021 debug.c:4064 debug.c:5189
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "impossible d'ouvrir « %s » en écriture (%s)"
@@ -474,38 +458,34 @@ msgstr "nom de fonction « %s » déjà défini"
#: awkgram.y:4261
#, c-format
msgid "function `%s': can't use function name as parameter name"
-msgstr ""
-"fonction « %s » : impossible d'utiliser un nom de fonction comme paramètre"
+msgstr "fonction « %s » : impossible d'utiliser un nom de fonction comme paramètre"
#: awkgram.y:4264
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"fonction « %s » : impossible d'utiliser la variable spéciale « %s » comme "
-"paramètre d'une fonction"
+msgstr "fonction « %s » : impossible d'utiliser la variable spéciale « %s » comme paramètre d'une fonction"
#: awkgram.y:4272
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr ""
-"fonction « %s » : paramètre #%d, « %s » est un doublon du paramètre #%d"
+msgstr "fonction « %s » : paramètre #%d, « %s » est un doublon du paramètre #%d"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
msgstr "fonction « %s » appelée sans être définie"
-#: awkgram.y:4376
+#: awkgram.y:4369
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "fonction « %s » définie mais jamais appelée directement"
-#: awkgram.y:4408
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "le paramètre #%d, une expr. rationnelle constante, fournit un booléen"
-#: awkgram.y:4467
+#: awkgram.y:4460
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -514,432 +494,423 @@ msgstr ""
"fonction « %s » appelée avec un espace entre son nom\n"
"et « ( », ou utilisée comme variable ou tableau"
-#: awkgram.y:4703
+#: awkgram.y:4696
msgid "division by zero attempted"
msgstr "tentative de division par zéro"
-#: awkgram.y:4712
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "tentative de division par zéro dans « %% »"
-#: builtin.c:128
+# gawk 'BEGIN { $1++ = 1 }'
+#: awkgram.y:5025
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "impossible d'assigner une valeur au résultat de la post-incrémentation d'un champ"
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr "cible de l'assignement incorrecte (opcode %s)"
+
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "échec de %s vers « %s » (%s)"
-#: builtin.c:129
+#: builtin.c:134
msgid "standard output"
msgstr "sortie standard"
-#: builtin.c:143
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr "exp : l'argument n'est pas numérique"
-#: builtin.c:149
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp : l'argument %g est hors limite"
-#: builtin.c:224
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush : vidage impossible : le tube « %s » est ouvert en lecture et non en "
-"écriture"
+msgstr "fflush : vidage impossible : le tube « %s » est ouvert en lecture et non en écriture"
-#: builtin.c:227
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush : vidage impossible : fichier « %s » ouvert en lecture, pas en "
-"écriture"
+msgstr "fflush : vidage impossible : fichier « %s » ouvert en lecture, pas en écriture"
-#: builtin.c:239
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
-msgstr ""
-"fflush : « %s » n'est ni un fichier ouvert, ni un tube, ni un co-processus"
+msgstr "fflush : « %s » n'est ni un fichier ouvert, ni un tube, ni un co-processus"
-#: builtin.c:357
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr "index : le premier argument n'est pas une chaîne"
-#: builtin.c:359
+#: builtin.c:364
msgid "index: received non-string second argument"
msgstr "index : le second argument n'est pas une chaîne"
-#: builtin.c:483 mpfr.c:757
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr "int : l'argument n'est pas numérique"
-#: builtin.c:520
+#: builtin.c:525
msgid "length: received array argument"
msgstr "length : l'argument reçu est un tableau"
-#: builtin.c:523
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
msgstr "« length(tableau) » est une extension gawk"
-#: builtin.c:539
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr "length : l'argument n'est pas une chaîne"
-#: builtin.c:570
+#: builtin.c:575
msgid "log: received non-numeric argument"
msgstr "log : l'argument n'est pas numérique"
-#: builtin.c:573
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
msgstr "log : l'argument est négatif %g"
-#: builtin.c:771 builtin.c:776
+#: builtin.c:776 builtin.c:781
msgid "fatal: must use `count$' on all formats or none"
-msgstr ""
-"fatal : « numéro$ » doit être utilisé pour toutes les formats ou pour aucun"
+msgstr "fatal : « numéro$ » doit être utilisé pour toutes les formats ou pour aucun"
-#: builtin.c:846
+#: builtin.c:851
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "taille du champ de la spécification « %% » ignorée"
-#: builtin.c:848
+#: builtin.c:853
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "précision de la spécification « %% » ignorée"
-#: builtin.c:850
+#: builtin.c:855
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "taille du champ et précision de la spécification « %% » ignorées"
-#: builtin.c:901
+#: builtin.c:906
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal : « $ » n'est pas autorisé dans les formats awk"
-#: builtin.c:910
+#: builtin.c:915
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal : le numéro d'argument de « $ » doit être > 0"
-#: builtin.c:914
+#: builtin.c:919
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
-msgstr ""
-"fatal : le numéro d'argument %ld est > au nombre total d'arguments fournis"
+msgstr "fatal : le numéro d'argument %ld est > au nombre total d'arguments fournis"
-#: builtin.c:918
+#: builtin.c:923
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal : dans un format, « $ » ne doit pas suivre un point"
-#: builtin.c:934
+#: builtin.c:939
msgid "fatal: no `$' supplied for positional field width or precision"
-msgstr ""
-"fatal : aucun « $ » fourni pour la taille ou la précision du champ positionné"
+msgstr "fatal : aucun « $ » fourni pour la taille ou la précision du champ positionné"
-#: builtin.c:1006
+#: builtin.c:1011
msgid "`l' is meaningless in awk formats; ignored"
msgstr "« l » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:1010
+#: builtin.c:1015
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal : « l » est interdit dans un format awk POSIX"
-#: builtin.c:1023
+#: builtin.c:1028
msgid "`L' is meaningless in awk formats; ignored"
msgstr "« L » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:1027
+#: builtin.c:1032
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal : « L » est interdit dans un format awk POSIX"
-#: builtin.c:1040
+#: builtin.c:1045
msgid "`h' is meaningless in awk formats; ignored"
msgstr "« h » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:1044
+#: builtin.c:1049
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal : « h » est interdit dans un format awk POSIX"
-#: builtin.c:1439
+#: builtin.c:1447
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf : valeur %g hors limite pour le format « %%%c »"
-#: builtin.c:1537
+#: builtin.c:1545
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr "caractère de format inconnu « %c » ignoré : aucun argument converti"
-#: builtin.c:1542
+#: builtin.c:1550
msgid "fatal: not enough arguments to satisfy format string"
msgstr "fatal : pas assez d'arguments pour satisfaire la chaîne de formatage"
-#: builtin.c:1544
+#: builtin.c:1552
msgid "^ ran out for this one"
msgstr "^ à court pour celui-ci"
-#: builtin.c:1551
+#: builtin.c:1559
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf : spécification de format sans lettre de contrôle"
-#: builtin.c:1554
+#: builtin.c:1562
msgid "too many arguments supplied for format string"
msgstr "trop d'arguments pour la chaîne de formatage"
-#: builtin.c:1610
+#: builtin.c:1618
msgid "sprintf: no arguments"
msgstr "sprintf : aucun argument"
-#: builtin.c:1633 builtin.c:1644
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr "printf : aucun argument"
-#: builtin.c:1687
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr "sqrt : l'argument n'est pas numérique"
-#: builtin.c:1691
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt : appelé avec un argument négatif %g"
-#: builtin.c:1722
+#: builtin.c:1730
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr : la longueur %g n'est pas >= 1"
-#: builtin.c:1724
+#: builtin.c:1732
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr : la longueur %g n'est pas >= 0"
-#: builtin.c:1731
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr : la longueur %g n'est pas entière, elle sera tronquée"
-#: builtin.c:1736
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr : la longueur %g est trop grande, tronquée à %g"
-#: builtin.c:1748
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr : l'index de début %g n'est pas valide, utilisation de 1"
-#: builtin.c:1753
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr : l'index de début %g n'est pas un entier, il sera tronqué"
-#: builtin.c:1778
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr "substr : la chaîne source est de longueur nulle"
-#: builtin.c:1794
+#: builtin.c:1802
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr : l'index de début %g est au-delà de la fin de la chaîne"
-#: builtin.c:1802
+#: builtin.c:1810
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr : la longueur %g à partir de %g dépasse la fin du 1er argument (%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr : la longueur %g à partir de %g dépasse la fin du 1er argument (%lu)"
# Exemple : gawk --lint 'BEGIN { PROCINFO["strftime"]=123 ; print strftime() }'
-#: builtin.c:1876
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
-msgstr ""
-"strftime : la valeur de formatage PROCINFO[\"strftime\"] est de type "
-"numérique"
+msgstr "strftime : la valeur de formatage PROCINFO[\"strftime\"] est de type numérique"
-#: builtin.c:1899
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
msgstr "strftime : le second argument n'est pas numérique"
-#: builtin.c:1903
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: second argument négatif ou trop grand pour time_t"
-#: builtin.c:1910
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr "strftim : le premier argument n'est pas une chaîne"
-#: builtin.c:1917
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr "strftime : la chaîne de formatage est vide"
-#: builtin.c:1983
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr "mktime : l'argument n'est pas une chaîne"
-#: builtin.c:2000
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
-msgstr ""
-"mktime : au moins l'une des valeurs est en dehors de la plage par défaut"
+msgstr "mktime : au moins l'une des valeurs est en dehors de la plage par défaut"
-#: builtin.c:2035
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr "La fonction « system » est interdite en isolement (mode sandbox)"
-#: builtin.c:2040
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr "system : l'argument n'est pas une chaîne"
-#: builtin.c:2160
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "référence à un champ non initialisé « $%d »"
-#: builtin.c:2247
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr "tolower : l'argument n'est pas une chaîne"
-#: builtin.c:2281
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr "toupper : l'argument n'est pas une chaîne"
-#: builtin.c:2317 mpfr.c:672
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr "atan2 : le premier argument n'est pas numérique"
-#: builtin.c:2319 mpfr.c:674
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr "atan2 : le second argument n'est pas numérique"
-#: builtin.c:2338
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr "sin : l'argument n'est pas numérique"
-#: builtin.c:2354
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr "cos : l'argument n'est pas numérique"
-#: builtin.c:2407 mpfr.c:1156
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr "srand : l'argument n'est pas numérique"
-#: builtin.c:2438
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr "match : le 3e argument n'est pas un tableau"
-#: builtin.c:2710
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub : le 3e argument vaut 0, il sera traité comme un 1"
-#: builtin.c:3003
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr "lshift : le premier argument n'est pas numérique"
-#: builtin.c:3005
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
msgstr "lshift : le second argument reçu n'est pas numérique"
-#: builtin.c:3011
+#: builtin.c:3022
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
-msgstr ""
-"lshift(%f, %f) : les valeurs négatives donnent des résultats inattendus"
+msgstr "lshift(%f, %f) : les valeurs négatives donnent des résultats inattendus"
-#: builtin.c:3013
+#: builtin.c:3024
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f) : les valeurs non entières seront tronquées"
-#: builtin.c:3015
+#: builtin.c:3026
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f) : un décalage trop grand donne des résultats inattendus"
-#: builtin.c:3040
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr "rshift : le premier argument n'est pas numérique"
-#: builtin.c:3042
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
msgstr "rshift : le second argument reçu n'est pas numérique"
-#: builtin.c:3048
+#: builtin.c:3059
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
-msgstr ""
-"rshift(%f, %f) : les valeurs négatives donneront des résultats inattendus"
+msgstr "rshift(%f, %f) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:3050
+#: builtin.c:3061
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f) : les valeurs non entières seront tronquées"
-#: builtin.c:3052
+#: builtin.c:3063
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"rshift(%f, %f) : un décalage trop grand donnera des résultats inattendus"
+msgstr "rshift(%f, %f) : un décalage trop grand donnera des résultats inattendus"
-#: builtin.c:3077 mpfr.c:968
+#: builtin.c:3088 mpfr.c:968
msgid "and: called with less than two arguments"
msgstr "and : appelé avec moins de 2 arguments"
-#: builtin.c:3082
+#: builtin.c:3093
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and : l'argument %d n'est pas numérique"
-#: builtin.c:3086
+#: builtin.c:3097
#, c-format
msgid "and: argument %d negative value %g will give strange results"
-msgstr ""
-"and : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
+msgstr "and : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
-#: builtin.c:3109 mpfr.c:1000
+#: builtin.c:3120 mpfr.c:1000
msgid "or: called with less than two arguments"
msgstr "or : appelé avec moins de 2 arguments"
-#: builtin.c:3114
+#: builtin.c:3125
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or : l'argument %d n'est pas numérique"
-#: builtin.c:3118
+#: builtin.c:3129
#, c-format
msgid "or: argument %d negative value %g will give strange results"
-msgstr ""
-"or : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
+msgstr "or : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
-#: builtin.c:3140 mpfr.c:1031
+#: builtin.c:3151 mpfr.c:1031
msgid "xor: called with less than two arguments"
msgstr "xor : appelé avec moins de 2 arguments"
-#: builtin.c:3146
+#: builtin.c:3157
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor : l'argument %d n'est pas numérique"
-#: builtin.c:3150
+#: builtin.c:3161
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
-msgstr ""
-"xor : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
+msgstr "xor : l'argument %d est négatif (%g) ce qui aura des résultats inattendus"
-#: builtin.c:3175 mpfr.c:787
+#: builtin.c:3186 mpfr.c:787
msgid "compl: received non-numeric argument"
msgstr "compl : l'argument n'est pas numérique"
-#: builtin.c:3181
+#: builtin.c:3192
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:3183
+#: builtin.c:3194
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f) : les valeurs non entières seront tronquées"
-#: builtin.c:3352
+#: builtin.c:3363
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext : « %s » n'est pas dans un catégorie valide de la locale"
@@ -971,8 +942,7 @@ msgstr "sauve « %s » : commande interdite."
#: command.y:339
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
-msgstr ""
-"Impossible d'utiliser « commands » pour des points d'arrêt ou de surveillance"
+msgstr "Impossible d'utiliser « commands » pour des points d'arrêt ou de surveillance"
#: command.y:341
msgid "no breakpoint/watchpoint has been set yet"
@@ -985,8 +955,7 @@ msgstr "numéro de point d'arrêt ou de surveillance incorrect"
#: command.y:348
#, c-format
msgid "Type commands for when %s %d is hit, one per line.\n"
-msgstr ""
-"Entrez les commandes exécutées lors de l'appui de %s %d, une par ligne.\n"
+msgstr "Entrez les commandes exécutées lors de l'appui de %s %d, une par ligne.\n"
#: command.y:350
#, c-format
@@ -1047,36 +1016,24 @@ msgid "non-zero integer value"
msgstr "valeur entière non nulle"
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
-"backtrace [N] - affiche la trace de tout ou des N dernières trames (du début "
-"si N < 0)."
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - affiche la trace de tout ou des N dernières trames (du début si N < 0)."
#: command.y:819
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
-msgstr ""
-"break [[fichier:]N|fonction] - définit un point d'arrêt à l'endroit indiqué."
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
+msgstr "break [[fichier:]N|fonction] - définit un point d'arrêt à l'endroit indiqué."
#: command.y:821
msgid "clear [[filename:]N|function] - delete breakpoints previously set."
msgstr "clear [[fichier:]N|fonction] - détruit un point d'arrêt existant."
#: command.y:823
-msgid ""
-"commands [num] - starts a list of commands to be executed at a breakpoint"
-"(watchpoint) hit."
-msgstr ""
-"commands [no] - débute une liste de commande à lancer aux points d'arrêt ou "
-"de surveillance."
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr "commands [no] - débute une liste de commande à lancer aux points d'arrêt ou de surveillance."
#: command.y:825
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
-"condition no [expr] - défini ou détruit une condition d'arrêt ou de "
-"surveillance."
+msgstr "condition no [expr] - défini ou détruit une condition d'arrêt ou de surveillance."
#: command.y:827
msgid "continue [COUNT] - continue program being debugged."
@@ -1088,8 +1045,7 @@ msgstr "delete [points d'arrêt] [plage] - détruit les points d'arrêt indiqué
#: command.y:831
msgid "disable [breakpoints] [range] - disable specified breakpoints."
-msgstr ""
-"disable [points d'arrêt] [plage] - désactive les points d'arrêt indiqués."
+msgstr "disable [points d'arrêt] [plage] - désactive les points d'arrêt indiqués."
#: command.y:833
msgid "display [var] - print value of variable each time the program stops."
@@ -1101,13 +1057,11 @@ msgstr "down [N] - descend de N trames dans la pile."
#: command.y:837
msgid "dump [filename] - dump instructions to file or stdout."
-msgstr ""
-"dump [fichier] - vide les instructions vers la sortie standard ou un fichier."
+msgstr "dump [fichier] - vide les instructions vers la sortie standard ou un fichier."
#: command.y:839
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr ""
-"enable [once|del] [points d'arrêt] [plage] - active les points d'arrêt."
+msgstr "enable [once|del] [points d'arrêt] [plage] - active les points d'arrêt."
#: command.y:841
msgid "end - end a list of commands or awk statements."
@@ -1127,35 +1081,27 @@ msgstr "frame [N] - sélectionne et affiche la trame N de la pile."
#: command.y:849
msgid "help [command] - print list of commands or explanation of command."
-msgstr ""
-"help [commande] - affiche la liste des commandes ou explique la commande."
+msgstr "help [commande] - affiche la liste des commandes ou explique la commande."
#: command.y:851
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
msgstr "ignore N NB - ignore les NB prochaines occurrences du point d'arrêt N."
#: command.y:853
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
-msgstr ""
-"info sujet - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
+msgstr "info sujet - source|sources|variables|functions|break|frame|args|locals|display|watch."
#: command.y:855
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
-msgstr ""
-"list [-|+|[fichier:]no_ligne|fonction|plage] - affiche les lignes indiquées."
+msgstr "list [-|+|[fichier:]no_ligne|fonction|plage] - affiche les lignes indiquées."
#: command.y:857
msgid "next [COUNT] - step program, proceeding through subroutine calls."
msgstr "next [NB] - avance ligne par ligne, sans détailler les sous-routines."
#: command.y:859
-msgid ""
-"nexti [COUNT] - step one instruction, but proceed through subroutine calls."
-msgstr ""
-"nexti [NB] - avance d'une instruction, sans détailler les sous-routines."
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgstr "nexti [NB] - avance d'une instruction, sans détailler les sous-routines."
#: command.y:861
msgid "option [name[=value]] - set or display debugger option(s)."
@@ -1183,19 +1129,15 @@ msgstr "run - démarre et redémarre l'exécution du programme."
#: command.y:874
msgid "save filename - save commands from the session to file."
-msgstr ""
-"save fichier - enregistre les commandes de la sessions dans un fichier."
+msgstr "save fichier - enregistre les commandes de la sessions dans un fichier."
#: command.y:877
msgid "set var = value - assign value to a scalar variable."
msgstr "set var = valeur - assigne une valeur à une variable scalaire."
#: command.y:879
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
-msgstr ""
-"silent - suspend les messages habituels lors des points d'arrêt et de "
-"surveillance."
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr "silent - suspend les messages habituels lors des points d'arrêt et de surveillance."
#: command.y:881
msgid "source file - execute commands from file."
@@ -1219,17 +1161,11 @@ msgstr "trace on|off - affiche les instructions avant de les exécuter."
#: command.y:891
msgid "undisplay [N] - remove variable(s) from automatic display list."
-msgstr ""
-"undisplay [N] - retire la ou les variables de la liste d'affichage "
-"automatique."
+msgstr "undisplay [N] - retire la ou les variables de la liste d'affichage automatique."
#: command.y:893
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
-msgstr ""
-"until [[fichier:]N|fonction] - exécution jusqu'à dépasser la ligne courant "
-"ou la ligne N, dans la trame actuelle."
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr "until [[fichier:]N|fonction] - exécution jusqu'à dépasser la ligne courant ou la ligne N, dans la trame actuelle."
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1243,7 +1179,7 @@ msgstr "up [N] - remonte de N trames dans la pile."
msgid "watch var - set a watchpoint for a variable."
msgstr "watch var - définit un point de surveillance pour une variable."
-#: command.y:1011 debug.c:395 msg.c:128
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr "erreur : "
@@ -1281,96 +1217,94 @@ msgstr "Caractère incorrect"
msgid "undefined command: %s\n"
msgstr "commande inconnue : %s\n"
-#: debug.c:246
+#: debug.c:252
msgid "set or show the number of lines to keep in history file."
msgstr "affiche ou définit le nombre de lignes du fichier d'historique."
-#: debug.c:248
+#: debug.c:254
msgid "set or show the list command window size."
msgstr "affiche ou définit la taille de fenêtre pour la commande list."
-#: debug.c:250
+#: debug.c:256
msgid "set or show gawk output file."
msgstr "affiche ou définit le fichier de sortie de gawk."
-#: debug.c:252
+#: debug.c:258
msgid "set or show debugger prompt."
msgstr "affiche ou définit l'invite du débogueur."
-#: debug.c:254
+#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
-msgstr ""
-"affiche ou (dés)active l'enregistrement de l'historique (valeur=on|off)."
+msgstr "affiche ou (dés)active l'enregistrement de l'historique (valeur=on|off)."
-#: debug.c:256
+#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
msgstr "affiche ou (dés)active l'enregistrement des options (valeur=on|off)."
-#: debug.c:258
+#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
msgstr "affiche ou (dés)active le traçage des instructions (valeur=on|off)."
-#: debug.c:339
+#: debug.c:345
msgid "program not running."
msgstr "le programme n'est pas en cours."
-#: debug.c:442 debug.c:597
+#: debug.c:448 debug.c:606
#, c-format
msgid "can't read source file `%s' (%s)"
msgstr "impossible de lire le fichier source « %s » (%s)"
-#: debug.c:447
+#: debug.c:453
#, c-format
msgid "source file `%s' is empty.\n"
msgstr "le fichier source « %s » est vide.\n"
-#: debug.c:474
+#: debug.c:480
msgid "no current source file."
msgstr "pas de fichier source courant."
-#: debug.c:499
+#: debug.c:505
#, c-format
msgid "cannot find source file named `%s' (%s)"
msgstr "impossible de trouver le fichier source nommé « %s » (%s)"
-#: debug.c:523
+#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
-msgstr ""
-"ATTENTION : fichier source « %s » modifié après compilation du programme.\n"
+msgstr "ATTENTION : fichier source « %s » modifié après compilation du programme.\n"
-#: debug.c:542
+#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
msgstr "numéro de ligne %d hors limite ; « %s » a %d lignes"
-#: debug.c:602
+#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
msgstr "fin de fichier inattendue lors de la lecture de « %s », ligne %d"
-#: debug.c:611
+#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
msgstr "fichier source « %s » modifié depuis le début d'exécution du programme"
# c-format
-#: debug.c:723
+#: debug.c:732
#, c-format
msgid "Current source file: %s\n"
msgstr "Fichier source courant : %s\n"
-#: debug.c:724
+#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
msgstr "Nombre de lignes : %d\n"
-#: debug.c:731
+#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
msgstr "Fichier source (lignes) : %s (%d)\n"
-#: debug.c:745
+#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
@@ -1378,54 +1312,54 @@ msgstr ""
"Numéro Post Activé Position\n"
"\n"
-#: debug.c:756
+#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
msgstr "\tnb occurrences = %ld\n"
-#: debug.c:758
+#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
msgstr "\tignore %ld prochaines occurrences\n"
-#: debug.c:760 debug.c:900
+#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
msgstr "\tcondition d'arrêt : %s\n"
-#: debug.c:762 debug.c:902
+#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
msgstr "\tcommandes :\n"
-#: debug.c:784
+#: debug.c:793
#, c-format
msgid "Current frame: "
msgstr "Trame courante : "
-#: debug.c:787
+#: debug.c:796
#, c-format
msgid "Called by frame: "
msgstr "Appelée par la trame : "
-#: debug.c:791
+#: debug.c:800
#, c-format
msgid "Caller of frame: "
msgstr "Appelant de la trame : "
-#: debug.c:809
+#: debug.c:818
#, c-format
msgid "None in main().\n"
msgstr "Aucune dans main().\n"
-#: debug.c:839
+#: debug.c:848
msgid "No arguments.\n"
msgstr "Aucun argument.\n"
-#: debug.c:840
+#: debug.c:849
msgid "No locals.\n"
msgstr "Aucune variable locale.\n"
-#: debug.c:848
+#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
@@ -1433,7 +1367,7 @@ msgstr ""
"Liste des variables définies :\n"
"\n"
-#: debug.c:858
+#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
@@ -1441,7 +1375,7 @@ msgstr ""
"Liste des fonctions définies :\n"
"\n"
-#: debug.c:877
+#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
@@ -1449,7 +1383,7 @@ msgstr ""
"Variables affichées automatiquement :\n"
"\n"
-#: debug.c:880
+#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
@@ -1457,364 +1391,357 @@ msgstr ""
"Variables inspectées :\n"
"\n"
-#: debug.c:1020
+#: debug.c:1029
#, c-format
msgid "no symbol `%s' in current context\n"
msgstr "pas de symbole « %s » dans le contexte actuel\n"
-#: debug.c:1032 debug.c:1418
+#: debug.c:1041 debug.c:1427
#, c-format
msgid "`%s' is not an array\n"
msgstr "« %s » n'est pas un tableau\n"
-#: debug.c:1046
+#: debug.c:1055
#, c-format
msgid "$%ld = uninitialized field\n"
msgstr "$%ld = champ non initialisé\n"
-#: debug.c:1067
+#: debug.c:1076
#, c-format
msgid "array `%s' is empty\n"
msgstr "le tableau « %s » est vide\n"
-#: debug.c:1110 debug.c:1162
+#: debug.c:1119 debug.c:1171
#, c-format
msgid "[\"%s\"] not in array `%s'\n"
msgstr "[\"%s\"] n'est pas dans le tableau « %s »\n"
-#: debug.c:1166
+#: debug.c:1175
#, c-format
msgid "`%s[\"%s\"]' is not an array\n"
msgstr "« %s[\"%s\"] » n'est pas un tableau\n"
-#: debug.c:1227 debug.c:4949
+#: debug.c:1236 debug.c:4964
#, c-format
msgid "`%s' is not a scalar variable"
msgstr "« %s » n'est pas une variable scalaire"
-#: debug.c:1249 debug.c:4979
+#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "tentative d'utilisation du tableau « %s[\"%s\"] » en contexte scalaire"
-#: debug.c:1271 debug.c:4990
+#: debug.c:1280 debug.c:5005
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "tentative d'utiliser le scalaire « %s[\"%s\"] » comme tableau"
-#: debug.c:1414
+#: debug.c:1423
#, c-format
msgid "`%s' is a function"
msgstr "« %s » est une fonction"
-#: debug.c:1456
+#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
msgstr "le point de surveillance %d est inconditionnel\n"
-#: debug.c:1490
+#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
msgstr "Aucune entrée d'affichage numéro %ld"
-#: debug.c:1493
+#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
msgstr "Aucune entrée de surveillance numéro %ld"
-#: debug.c:1519
+#: debug.c:1528
#, c-format
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr "%d: [\"%s\"] n'est pas dans le tableau « %s »\n"
-#: debug.c:1758
+#: debug.c:1767
msgid "attempt to use scalar value as array"
msgstr "tentative d'utiliser un scalaire comme tableau"
-#: debug.c:1847
+#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
-msgstr ""
-"Point de surveillance %d détruit, car son paramètre est hors contexte.\n"
+msgstr "Point de surveillance %d détruit, car son paramètre est hors contexte.\n"
-#: debug.c:1858
+#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
msgstr "Affichage %d détruit, car son paramètre est hors contexte\n"
-#: debug.c:1891
+#: debug.c:1900
#, c-format
msgid " in file `%s', line %d\n"
msgstr "dans le fichier « %s », ligne %d\n"
-#: debug.c:1912
+#: debug.c:1921
#, c-format
msgid " at `%s':%d"
msgstr " à « %s »:%d"
-#: debug.c:1928 debug.c:1991
+#: debug.c:1937 debug.c:2000
#, c-format
msgid "#%ld\tin "
msgstr "#%ld\tdans "
-#: debug.c:1965
+#: debug.c:1974
#, c-format
msgid "More stack frames follow ...\n"
msgstr "D'autres trames de la pile suivent...\n"
-#: debug.c:2008
+#: debug.c:2017
msgid "invalid frame number"
msgstr "Numéro de trame incorrect"
-#: debug.c:2180
+#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Note : point d'arrêt %d (activé, ignore %ld occurrences) déjà défini à %s:%d"
+msgstr "Note : point d'arrêt %d (activé, ignore %ld occurrences) déjà défini à %s:%d"
-#: debug.c:2187
+#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
msgstr "Note : point d'arrêt %d (activé) déjà défini à %s:%d"
-#: debug.c:2194
+#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Note : point d'arrêt %d (désactivé, ignore %ld occurrences) déjà défini à %s:"
-"%d"
+msgstr "Note : point d'arrêt %d (désactivé, ignore %ld occurrences) déjà défini à %s:%d"
-#: debug.c:2201
+#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
msgstr "Note : point d'arrêt %d (désactivé) déjà défini à %s:%d"
-#: debug.c:2218
+#: debug.c:2238
#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
msgstr "Point d'arrêt %d défini dans le fichier « %s » ligne %d\n"
-#: debug.c:2320
+#: debug.c:2340
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
msgstr "Impossible de définir un point d'arrêt dans le fichier « %s »\n"
-#: debug.c:2349 debug.c:2472 debug.c:3330
+#: debug.c:2369 debug.c:2492 debug.c:3350
#, c-format
msgid "line number %d in file `%s' out of range"
msgstr "numéro de ligne %d dans le fichier « %s » hors limite"
-#: debug.c:2353
+#: debug.c:2373
#, c-format
msgid "Can't find rule!!!\n"
msgstr "Règle introuvable !!!\n"
-#: debug.c:2355
+#: debug.c:2375
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
msgstr "Impossible de définir un point d'arrêt à « %s »:%d\n"
-#: debug.c:2367
+#: debug.c:2387
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
msgstr "Impossible de définir un point d'arrêt dans la fonction « %s »\n"
-#: debug.c:2383
+#: debug.c:2403
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
-msgstr ""
-"le point d'arrêt %d défini sur le fichier « %s », ligne %d est "
-"inconditionnel\n"
+msgstr "le point d'arrêt %d défini sur le fichier « %s », ligne %d est inconditionnel\n"
-#: debug.c:2488 debug.c:2510
+#: debug.c:2508 debug.c:2530
#, c-format
msgid "Deleted breakpoint %d"
msgstr "Point d'arrêt %d supprimé"
-#: debug.c:2494
+#: debug.c:2514
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
msgstr "Aucun point d'arrêt à l'appel de la fonction « %s »\n"
-#: debug.c:2521
+#: debug.c:2541
#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
msgstr "Pas de point d'arrêt sur le fichier « %s », ligne #%d\n"
-#: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
msgid "invalid breakpoint number"
msgstr "Numéro de point d'arrêt incorrect"
-#: debug.c:2592
+#: debug.c:2612
msgid "Delete all breakpoints? (y or n) "
msgstr "Supprimer tous les points d'arrêt (o ou n) "
-#: debug.c:2593 debug.c:2903 debug.c:2956
+#: debug.c:2613 debug.c:2923 debug.c:2976
msgid "y"
msgstr "o"
-#: debug.c:2642
+#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
msgstr "Ignorera les prochaines %ld occurrences du point d'arrêt %d.\n"
-#: debug.c:2646
+#: debug.c:2666
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
msgstr "S'arrêtera à la prochaine occurrence du point d'arrêt %d.\n"
-#: debug.c:2763
+#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
-msgstr ""
-"Seuls les programmes fournis via l'option « -f » peuvent être débogués.\n"
+msgstr "Seuls les programmes fournis via l'option « -f » peuvent être débogués.\n"
-#: debug.c:2888
+#: debug.c:2908
#, c-format
msgid "Failed to restart debugger"
msgstr "Échec de redémarrage du débogueur"
-#: debug.c:2902
+#: debug.c:2922
msgid "Program already running. Restart from beginning (y/n)? "
msgstr "Programme en cours. Reprendre depuis le début (o/n) ? "
-#: debug.c:2906
+#: debug.c:2926
#, c-format
msgid "Program not restarted\n"
msgstr "Programme non redémarré\n"
-#: debug.c:2916
+#: debug.c:2936
#, c-format
msgid "error: cannot restart, operation not allowed\n"
msgstr "erreur : impossible de redémarrer, opération interdite\n"
-#: debug.c:2922
+#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
msgstr "erreur (%s) : impossible de redémarrer, suite des commandes ignorées\n"
-#: debug.c:2930
+#: debug.c:2950
#, c-format
msgid "Starting program: \n"
msgstr "Démarrage du programme :\n"
-#: debug.c:2939
+#: debug.c:2959
#, c-format
msgid "Program exited %s with exit value: %d\n"
msgstr "Le programme s'est terminé %s avec le code de retour : %d\n"
-#: debug.c:2955
+#: debug.c:2975
msgid "The program is running. Exit anyway (y/n)? "
msgstr "Le programme est en cours. Sortir quand même (o/n) ?"
-#: debug.c:2990
+#: debug.c:3010
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
msgstr "Auncun arrêt à un point d'arrêt : argument ignoré.\n"
-#: debug.c:2995
+#: debug.c:3015
#, c-format
msgid "invalid breakpoint number %d."
msgstr "point d'arrêt %d incorrect."
-#: debug.c:3000
+#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
msgstr "Les %ld prochaines occurrences du point d'arrêt %d seront ignorées.\n"
-#: debug.c:3187
+#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
msgstr "« finish » n'a pas de sens dans la trame initiale main()\n"
-#: debug.c:3192
+#: debug.c:3212
#, c-format
msgid "Run till return from "
msgstr "S'exécute jusqu'au retour de "
-#: debug.c:3235
+#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
msgstr "« return » n'a pas de sens dans la trame initiale main()\n"
-#: debug.c:3349
+#: debug.c:3369
#, c-format
msgid "Can't find specified location in function `%s'\n"
msgstr "Impossible de trouver la position indiquée dans la fonction « %s »\n"
-#: debug.c:3357
+#: debug.c:3377
#, c-format
msgid "invalid source line %d in file `%s'"
msgstr "ligne source %d incorrecte dans le fichier « %s »"
-#: debug.c:3372
+#: debug.c:3392
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
msgstr "Position %d introuvable dans le fichier « %s »\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "element not in array\n"
msgstr "élément absent du tableau\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "untyped variable\n"
msgstr "variable sans type\n"
-#: debug.c:3446
+#: debug.c:3466
#, c-format
msgid "Stopping in %s ...\n"
msgstr "Arrêt dans %s...\n"
-#: debug.c:3523
+#: debug.c:3543
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
msgstr "« finish » n'a pas de sens avec un saut non local « %s »\n"
-#: debug.c:3530
+#: debug.c:3550
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
msgstr "« until » n'a pas de sens avec un saut non local « %s »\n"
-#: debug.c:4165
+#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
msgstr "\t---« [Entrée] » continuer ; « q [Entrée] » quitter---"
-#: debug.c:4166
+#: debug.c:4186
msgid "q"
msgstr "q"
-#: debug.c:4986
+#: debug.c:5001
#, c-format
msgid "[\"%s\"] not in array `%s'"
msgstr "[\"%s\"] est absent du tableau « %s »"
-#: debug.c:5192
+#: debug.c:5207
#, c-format
msgid "sending output to stdout\n"
msgstr "envoi de la sortie vers stdout\n"
-#: debug.c:5232
+#: debug.c:5247
msgid "invalid number"
msgstr "nombre incorrect"
-#: debug.c:5366
+#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr "« %s » interdit dans ce contexte ; instruction ignorée"
-#: debug.c:5374
+#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
msgstr "« return » interdit dans ce contexte ; instruction ignorée"
-#: debug.c:5575
+#: debug.c:5590
#, c-format
msgid "No symbol `%s' in current context"
msgstr "Pas de symbole « %s » dans le contexte actuel"
#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
-#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
msgid "unbalanced ["
msgstr "[ non apparié"
@@ -1822,31 +1749,31 @@ msgstr "[ non apparié"
msgid "invalid character class"
msgstr "classe de caractères incorrecte"
-#: dfa.c:1229
+#: dfa.c:1228
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr "la syntaxe des classes de caractères est [[:space:]], et non [:space:]"
-#: dfa.c:1281
+#: dfa.c:1280
msgid "unfinished \\ escape"
msgstr "échappement \\ non terminé"
-#: dfa.c:1428 regcomp.c:161
+#: dfa.c:1427 regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Contenu de \\{\\} incorrect"
-#: dfa.c:1431 regcomp.c:176
+#: dfa.c:1430 regcomp.c:176
msgid "Regular expression too big"
msgstr "Expression rationnelle trop grande"
-#: dfa.c:1816
+#: dfa.c:1847
msgid "unbalanced ("
msgstr "( non apparié"
-#: dfa.c:1943
+#: dfa.c:1973
msgid "no syntax specified"
msgstr "aucune syntaxe indiquée"
-#: dfa.c:1951
+#: dfa.c:1981
msgid "unbalanced )"
msgstr ") non apparié"
@@ -1865,11 +1792,11 @@ msgstr "code opération %d inconnu"
msgid "opcode %s not an operator or keyword"
msgstr "le code opération %s n'est pas un opérateur ou un mot-clef"
-#: eval.c:471
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr "débordement de tampon dans genflag2str"
-#: eval.c:674
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -1880,71 +1807,71 @@ msgstr ""
"\t# Pile des appels de fonctions :\n"
"\n"
-#: eval.c:703
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
msgstr "« IGNORECASE » est une extension gawk"
-#: eval.c:735
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "« BINMODE » est une extension gawk"
-#: eval.c:793
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "la valeur « %s » de BINMODE n'est pas valide, 3 utilisé à la place"
-#: eval.c:884
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "spécification de « %sFMT » erronée « %s »"
-#: eval.c:968
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "désactivation de « --lint » en raison d'une affectation à « LINT »"
-#: eval.c:1146
+#: eval.c:1147
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "référence à un argument non initialisé « %s »"
-#: eval.c:1147
+#: eval.c:1148
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "référence à une variable non initialisée « %s »"
-#: eval.c:1165
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr "tentative de référence à un champ via une valeur non numérique"
-#: eval.c:1167
+#: eval.c:1168
msgid "attempt to field reference from null string"
msgstr "tentative de référence à un champ via une chaîne nulle"
-#: eval.c:1175
+#: eval.c:1176
#, c-format
msgid "attempt to access field %ld"
msgstr "tentative d'accès au champ %ld"
-#: eval.c:1184
+#: eval.c:1185
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "référence à un champ non initialisé « $%ld »"
-#: eval.c:1271
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "la fonction « %s » a été appelée avec trop d'arguments"
-#: eval.c:1466
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: type « %s » inattendu"
-#: eval.c:1562
+#: eval.c:1569
msgid "division by zero attempted in `/='"
msgstr "tentative de division par zéro dans « /= »"
-#: eval.c:1569
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "tentative de division par zéro dans « %%= »"
@@ -1957,7 +1884,7 @@ msgstr "les extensions sont interdites en isolement (mode sandbox)"
msgid "-l / @load are gawk extensions"
msgstr "-l / @load est une extension gawk"
-#: ext.c:95 ext.c:177
+#: ext.c:95
msgid "load_ext: received NULL lib_name"
msgstr "load_ext : lib_name reçu NULL"
@@ -1968,30 +1895,27 @@ msgstr "load_ext : impossible d'ouvrir la bibliothèque « %s » (%s)\n"
#: ext.c:104
#, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"load_ext : bibliothèque « %s » : ne définit pas "
-"« plugin_is_GPL_compatible » (%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext : bibliothèque « %s » : ne définit pas « plugin_is_GPL_compatible » (%s)\n"
#: ext.c:110
#, c-format
msgid "load_ext: library `%s': cannot call function `%s' (%s)\n"
-msgstr ""
-"load_ext : bibliothèque « %s » : impossible d'appeler la fonction "
-"« %s » (%s)\n"
+msgstr "load_ext : bibliothèque « %s » : impossible d'appeler la fonction « %s » (%s)\n"
#: ext.c:114
#, c-format
msgid "load_ext: library `%s' initialization routine `%s' failed\n"
-msgstr ""
-"load_ext : bibliothèque « %s » : échec de la routine d'initialisation « %s "
-"»\n"
+msgstr "load_ext : bibliothèque « %s » : échec de la routine d'initialisation « %s »\n"
#: ext.c:174
msgid "`extension' is a gawk extension"
msgstr "« extension » est une extension gawk"
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr "extension : lib_name reçu NULL"
+
#: ext.c:180
#, c-format
msgid "extension: cannot open library `%s' (%s)"
@@ -1999,55 +1923,48 @@ msgstr "extension : impossible d'ouvrir la bibliothèque « %s » (%s)"
#: ext.c:186
#, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"extension : bibliothèque « %s » : ne définit pas "
-"« plugin_is_GPL_compatible » (%s)"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "extension : bibliothèque « %s » : ne définit pas « plugin_is_GPL_compatible » (%s)"
#: ext.c:190
#, c-format
msgid "extension: library `%s': cannot call function `%s' (%s)"
-msgstr ""
-"extension : bibliothèque « %s » : impossible d'appeler la fonction "
-"« %s » (%s)"
+msgstr "extension : bibliothèque « %s » : impossible d'appeler la fonction « %s » (%s)"
#: ext.c:221
msgid "make_builtin: missing function name"
msgstr "make_builtin : nom de fonction manquant"
-#: ext.c:238
+#: ext.c:236
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr "make_builtin : impossible de redéfinir la fonction « %s »"
-#: ext.c:242
+#: ext.c:240
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr "make_builtin : fonction « %s » déjà définie"
-#: ext.c:246
+#: ext.c:244
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr "make_builtin : nom de la fonction « %s » déjà défini"
-#: ext.c:248
+#: ext.c:246
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"make_builtin : impossible d'utiliser la fonction gawk « %s » comme nom de "
-"fonction"
+msgstr "make_builtin : impossible d'utiliser la fonction gawk « %s » comme nom de fonction"
-#: ext.c:251 ext.c:304
+#: ext.c:249 ext.c:304
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin : la fonction « %s » a un nombre négatif d'arguments"
-#: ext.c:278
+#: ext.c:276
msgid "extension: missing function name"
msgstr "extension : nom de fonction manquant"
-#: ext.c:283
+#: ext.c:279 ext.c:283
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension : caractère illégal « %c » dans le nom de la fonction « %s »"
@@ -2070,147 +1987,145 @@ msgstr "extension : nom de la fonction « %s » déjà défini"
#: ext.c:301
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr ""
-"extension : impossible d'utiliser la fonction interne gawk « %s » comme nom "
-"de fonction"
+msgstr "extension : impossible d'utiliser la fonction interne gawk « %s » comme nom de fonction"
-#: ext.c:374
+#: ext.c:375
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "fonction « %s » définie comme ayant au maximum« %d » argument(s)"
-#: ext.c:377
+#: ext.c:378
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "fonction « %s » : argument #%d manquant"
-#: ext.c:394
+#: ext.c:395
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr ""
-"fonction « %s » : argument #%d : tentative d'utilisation d'un scalaire comme "
-"tableau"
+msgstr "fonction « %s » : argument #%d : tentative d'utilisation d'un scalaire comme tableau"
-#: ext.c:398
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr ""
-"fonction « %s » : argument #%d : tentative d'utiliser un tableau comme "
-"scalaire"
+msgstr "fonction « %s » : argument #%d : tentative d'utiliser un tableau comme scalaire"
-#: ext.c:412
+#: ext.c:413
msgid "dynamic loading of library not supported"
msgstr "chargement dynamique des bibliothèques impossible"
-#: extension/filefuncs.c:97
+#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
msgstr "chdir : appelé avec un nombre d'arguments incorrects, attendu : 1"
-#: extension/filefuncs.c:343
+#: extension/filefuncs.c:439
#, c-format
msgid "stat: unable to read symbolic link `%s'"
msgstr "stat : impossible de lire le lien symbolique « %s »"
-#: extension/filefuncs.c:376
+#: extension/filefuncs.c:472
msgid "stat: called with wrong number of arguments"
msgstr "stat : appelé avec un nombre d'arguments incorrect"
-#: extension/filefuncs.c:383
+#: extension/filefuncs.c:479
msgid "stat: bad parameters"
msgstr "stat : paramètres incorrects"
-#: extension/filefuncs.c:437
+#: extension/filefuncs.c:533
#, c-format
msgid "fts init: could not create variable %s"
msgstr "fts init : impossible de créer la variable %s"
-#: extension/filefuncs.c:460
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr "fts n'est pas compatible avec ce système"
+
+#: extension/filefuncs.c:573
msgid "fill_stat_element: could not create array"
msgstr "fill_stat_element : impossible de créer le tableau"
-#: extension/filefuncs.c:469
+#: extension/filefuncs.c:582
msgid "fill_stat_element: could not set element"
msgstr "fill_stat_element : impossible de définir l'élément"
-#: extension/filefuncs.c:484
+#: extension/filefuncs.c:597
msgid "fill_path_element: could not set element"
msgstr "fill_path_element : impossible de définir l'élément"
-#: extension/filefuncs.c:500
+#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
msgstr "fill_error_element : impossible de définir l'élément"
-#: extension/filefuncs.c:547 extension/filefuncs.c:594
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
msgid "fts-process: could not create array"
msgstr "fts-process : impossible de créer le tableau"
-#: extension/filefuncs.c:557 extension/filefuncs.c:604
-#: extension/filefuncs.c:622
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
msgid "fts-process: could not set element"
msgstr "fts-process : impossible de définir l'élément"
-#: extension/filefuncs.c:671
+#: extension/filefuncs.c:784
msgid "fts: called with incorrect number of arguments, expecting 3"
msgstr "fts : appelé avec un nombre d'arguments incorrects, attendu : 3"
-#: extension/filefuncs.c:674
+#: extension/filefuncs.c:787
msgid "fts: bad first parameter"
msgstr "fts : premier paramètre incorrect"
-#: extension/filefuncs.c:680
+#: extension/filefuncs.c:793
msgid "fts: bad second parameter"
msgstr "fts : deuxième paramètre incorrect"
-#: extension/filefuncs.c:686
+#: extension/filefuncs.c:799
msgid "fts: bad third parameter"
msgstr "fts : troisième paramètre incorrect"
-#: extension/filefuncs.c:693
+#: extension/filefuncs.c:806
msgid "fts: could not flatten array\n"
msgstr "fts : impossible d'aplatir le tableau\n"
-#: extension/filefuncs.c:711
+#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
msgstr "fts : on ignore le drapeau sournois FTS_NOSTAT..."
-#: extension/filefuncs.c:728
+#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
msgstr "fts : échec de clear_array()\n"
-#: extension/fnmatch.c:98
+#: extension/fnmatch.c:112
msgid "fnmatch: called with less than three arguments"
msgstr "fnmatch : appelé avec moins de 3 arguments"
-#: extension/fnmatch.c:101
+#: extension/fnmatch.c:115
msgid "fnmatch: called with more than three arguments"
msgstr "fnmatch : appelé avec plus de 3 arguments"
-#: extension/fnmatch.c:104
+#: extension/fnmatch.c:118
msgid "fnmatch: could not get first argument"
msgstr "fnmatch : impossible d'obtenir le 1er argument"
-#: extension/fnmatch.c:109
+#: extension/fnmatch.c:123
msgid "fnmatch: could not get second argument"
msgstr "fnmatch : impossible d'obtenir le 2e argument"
-#: extension/fnmatch.c:114
+#: extension/fnmatch.c:128
msgid "fnmatch: could not get third argument"
msgstr "fnmatch : impossible d'obtenir le 3e argument"
-#: extension/fnmatch.c:127
+#: extension/fnmatch.c:141
msgid "fnmatch is not implemented on this system\n"
msgstr "fnmatch n'est pas disponible sur ce système\n"
-#: extension/fnmatch.c:159
+#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
msgstr "fnmatch init : impossible d'ajouter la variable FNM_NOMATCH"
-#: extension/fnmatch.c:169
+#: extension/fnmatch.c:183
#, c-format
msgid "fnmatch init: could not set array element %s"
msgstr "fnmatch init : impossible de définir l'élément de tableau %s"
-#: extension/fnmatch.c:179
+#: extension/fnmatch.c:193
msgid "fnmatch init: could not install FNM array"
msgstr "fnmatch init : impossible d'installer le tableau FNM"
@@ -2234,92 +2149,88 @@ msgstr "wait : appelé sans argument"
msgid "wait: called with too many arguments"
msgstr "wait : appelé avec trop d'arguments"
-#: extension/inplace.c:110
+#: extension/inplace.c:130
msgid "inplace_begin: in-place editing already active"
msgstr "inplace_begin : modification sur place déjà active"
-#: extension/inplace.c:113 extension/inplace.c:187
+#: extension/inplace.c:133 extension/inplace.c:207
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr "inplace_begin : 2 arguments attendu, appelé avec %d"
-#: extension/inplace.c:116
+#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
-msgstr ""
-"inplace_begin : impossible de récupérer le 1er argument comme nom de fichier"
+msgstr "inplace_begin : impossible de récupérer le 1er argument comme nom de fichier"
-#: extension/inplace.c:124
+#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr ""
-"inplace_begin : modification sur place annulée pour le fichier incorrect "
-"« %s »"
+msgstr "inplace_begin : modification sur place annulée pour le fichier incorrect « %s »"
-#: extension/inplace.c:131
+#: extension/inplace.c:151
#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
msgstr "inplace_begin : stat impossible sur « %s » (%s)"
-#: extension/inplace.c:138
+#: extension/inplace.c:158
#, c-format
msgid "inplace_begin: `%s' is not a regular file"
msgstr "inplace_begin : « %s » n'est pas un fichier ordinaire"
-#: extension/inplace.c:149
+#: extension/inplace.c:169
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr "inplace_begin : échec de mkstemp('%s') (%s)"
-#: extension/inplace.c:158
+#: extension/inplace.c:178
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr "inplace_begin : échec de la chmod (%s)"
-#: extension/inplace.c:165
+#: extension/inplace.c:185
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr "inplace_begin : échec de dup(stdout) (%s)"
-#: extension/inplace.c:168
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr "inplace_begin : échec de dup2(%d, stdout) (%s)"
-#: extension/inplace.c:171
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "inplace_begin : échec de close(%d) (%s)"
-#: extension/inplace.c:190
+#: extension/inplace.c:210
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
-msgstr ""
-"inplace_end : impossible de récupérer le 1er argument comme nom de fichier"
+msgstr "inplace_end : impossible de récupérer le 1er argument comme nom de fichier"
-#: extension/inplace.c:197
+#: extension/inplace.c:217
msgid "inplace_end: in-place editing not active"
msgstr "inplace_end : modification sur place non active"
-#: extension/inplace.c:203
+#: extension/inplace.c:223
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr "ipnlace_end : échec de dup2(%d, stdout) (%s)"
-#: extension/inplace.c:206
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr "inplace_end : échec de close(%d) (%s)"
-#: extension/inplace.c:210
+#: extension/inplace.c:230
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr "inplace_end : échec de fsetpos(stdout) (%s)"
-#: extension/inplace.c:223
+#: extension/inplace.c:243
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "inplace_end : échec de link('%s', '%s') (%s)"
-#: extension/inplace.c:229
+#: extension/inplace.c:253
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "inplace_end : échec de rename('%s', '%s') (%s)"
@@ -2348,7 +2259,7 @@ msgstr "chr : appelé sans argument"
msgid "chr: called with inappropriate argument(s)"
msgstr "chr : appelé avec des arguments incorrects"
-#: extension/readdir.c:203
+#: extension/readdir.c:277
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
msgstr "dir_take_control_of : échec de opendir/fdopendir : %s"
@@ -2361,160 +2272,152 @@ msgstr "readfile : appelé avec trop d'arguments"
msgid "readfile: called with no arguments"
msgstr "readfile : appelé sans argument"
-#: extension/rwarray.c:120
+#: extension/rwarray.c:124
msgid "writea: called with too many arguments"
msgstr "writea : appelé avec trop d'arguments"
-#: extension/rwarray.c:127
+#: extension/rwarray.c:131
#, c-format
msgid "do_writea: argument 0 is not a string\n"
msgstr "do_writea : l'argument 0 n'est pas une chaîne\n"
-#: extension/rwarray.c:133
+#: extension/rwarray.c:137
#, c-format
msgid "do_writea: argument 1 is not an array\n"
msgstr "do_writea : l'argument 1 n'est pas un tableau\n"
-#: extension/rwarray.c:180
+#: extension/rwarray.c:184
#, c-format
msgid "write_array: could not flatten array\n"
msgstr "write_array : impossible d'aplatir le tableau\n"
-#: extension/rwarray.c:194
+#: extension/rwarray.c:198
#, c-format
msgid "write_array: could not release flattened array\n"
msgstr "write_array : impossible de libérer le tableau aplati\n"
-#: extension/rwarray.c:276
+#: extension/rwarray.c:280
msgid "reada: called with too many arguments"
msgstr "reada : appelé avec trop d'arguments"
-#: extension/rwarray.c:283
+#: extension/rwarray.c:287
#, c-format
msgid "do_reada: argument 0 is not a string\n"
msgstr "do_reada : l'argument 0 n'est pas une chaîne\n"
-#: extension/rwarray.c:289
+#: extension/rwarray.c:293
#, c-format
msgid "do_reada: argument 1 is not an array\n"
msgstr "do_reada : l'argument 1 n'est pas un tableau\n"
-#: extension/rwarray.c:333
+#: extension/rwarray.c:337
#, c-format
msgid "do_reada: clear_array failed\n"
msgstr "do_reada : échec de clear_array\n"
-#: extension/rwarray.c:370
+#: extension/rwarray.c:374
#, c-format
msgid "read_array: set_array_element failed\n"
msgstr "read_array : échec de set_array_element\n"
-#: extension/time.c:81
+#: extension/time.c:106
msgid "gettimeofday: ignoring arguments"
msgstr "gettimeofday : arguments ignorés"
-#: extension/time.c:112
+#: extension/time.c:137
msgid "gettimeofday: not supported on this platform"
msgstr "gettimeofday : n'est pas disponible sur cette plateforme"
-#: extension/time.c:133
+#: extension/time.c:158
msgid "sleep: called with too many arguments"
msgstr "sleep : appelé avec trop d'arguments"
-#: extension/time.c:136
+#: extension/time.c:161
msgid "sleep: missing required numeric argument"
msgstr "sleep : l'argument numérique requis est absent"
-#: extension/time.c:142
+#: extension/time.c:167
msgid "sleep: argument is negative"
msgstr "sleep : l'argument est négatif"
-#: extension/time.c:176
+#: extension/time.c:201
msgid "sleep: not supported on this platform"
msgstr "sleep : n'est pas disponible sur cette plateforme"
-#: field.c:339
+#: field.c:345
msgid "NF set to negative value"
msgstr "une valeur négative a été assignée à NF"
-#: field.c:964 field.c:971 field.c:975
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
msgstr "split : le 4e argument est une extension gawk"
-#: field.c:968
+#: field.c:975
msgid "split: fourth argument is not an array"
msgstr "split : le 4e argument n'est pas un tableau"
-#: field.c:982
+#: field.c:989
msgid "split: second argument is not an array"
msgstr "split : le 2e argument n'est pas un tableau"
-#: field.c:986
+#: field.c:993
msgid "split: cannot use the same array for second and fourth args"
msgstr "split : impossible d'utiliser le même tableau comme 2e et 4e argument"
-#: field.c:991
+#: field.c:998
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split : impossible d'utiliser un sous-tableau du 2e argument en 4e argument"
+msgstr "split : impossible d'utiliser un sous-tableau du 2e argument en 4e argument"
-#: field.c:994
+#: field.c:1001
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split : impossible d'utiliser un sous-tableau du 4e argument en 2e argument"
+msgstr "split : impossible d'utiliser un sous-tableau du 4e argument en 2e argument"
-#: field.c:1023
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
msgstr "split : utiliser une chaîne vide en 3e argument est une extension gawk"
-#: field.c:1063
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit : le 4e argument n'est pas un tableau"
-#: field.c:1068
+#: field.c:1077
msgid "patsplit: second argument is not an array"
msgstr "patsplit : le 2e argument n'est pas un tableau"
-#: field.c:1074
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
msgstr "patsplit : le 3e argument n'est pas un tableau"
-#: field.c:1078
+#: field.c:1087
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit : impossible d'utiliser le même tableau comme 2e et 4e argument"
+msgstr "patsplit : impossible d'utiliser le même tableau comme 2e et 4e argument"
-#: field.c:1083
+#: field.c:1092
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit : impossible d'utiliser un sous-tableau du 2e argument en 4e "
-"argument"
+msgstr "patsplit : impossible d'utiliser un sous-tableau du 2e argument en 4e argument"
-#: field.c:1086
+#: field.c:1095
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit : impossible d'utiliser un sous-tableau du 4e argument en 2e "
-"argument"
+msgstr "patsplit : impossible d'utiliser un sous-tableau du 4e argument en 2e argument"
-#: field.c:1124
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "« FIELDWIDTHS » est une extension gawk"
-#: field.c:1188
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valeur de FIELDWIDTHS incorrecte, près de « %s »"
-#: field.c:1261
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
msgstr "utiliser une chaîne vide pour « FS » est une extension gawk"
-#: field.c:1265
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
-msgstr ""
-"l'ancien awk n'accepte pas les expr. rationnelles comme valeur de « FS »"
+msgstr "l'ancien awk n'accepte pas les expr. rationnelles comme valeur de « FS »"
-#: field.c:1384
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
msgstr "« FPAT » est une extension gawk"
@@ -2538,595 +2441,565 @@ msgstr "remove_element : tableau nul reçu"
msgid "remove_element: received null subscript"
msgstr "remove_element : indice nul reçu"
-#: gawkapi.c:943
+#: gawkapi.c:948
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr "api_flatten_array : impossible de convertir l'indice %d\n"
-#: gawkapi.c:948
+#: gawkapi.c:953
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr "api_flatten_array : impossible de convertir la valeur %d\n"
-#: getopt.c:603 getopt.c:632
+#: getopt.c:604 getopt.c:633
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s : l'option « %s » est ambiguë ; possibilités :"
-#: getopt.c:678 getopt.c:682
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s : l'option « --%s » n'accepte pas d'argument\n"
-#: getopt.c:691 getopt.c:696
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s : l'option « %c%s » n'accepte pas d'argument\n"
-#: getopt.c:739 getopt.c:758
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s : l'option « --%s » nécessite un argument\n"
-#: getopt.c:796 getopt.c:799
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s : option non reconnue « --%s »\n"
-#: getopt.c:807 getopt.c:810
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s : option non reconnue « %c%s »\n"
-#: getopt.c:859 getopt.c:862
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s : option incorrecte - « %c »\n"
-#: getopt.c:915 getopt.c:932 getopt.c:1142 getopt.c:1160
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s : l'option requiert un argument - « %c »\n"
-#: getopt.c:988 getopt.c:1004
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s : l'option « -W %s » est ambiguë\n"
-#: getopt.c:1028 getopt.c:1046
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s : l'option « -W %s » n'accepte pas d'argument\n"
-#: getopt.c:1067 getopt.c:1085
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s : l'option « -W %s » nécessite un argument\n"
-#: io.c:347
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "L'argument « %s » de la ligne de commande est un répertoire : ignoré"
-#: io.c:350 io.c:463
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "impossible d'ouvrir le fichier « %s » en lecture (%s)"
-#: io.c:590
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "échec de la fermeture du fd %d (« %s ») : %s"
-#: io.c:666
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr "les redirections sont interdites en isolement (mode sandbox)"
-#: io.c:700
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "l'expression dans la redirection « %s » n'a qu'une valeur numérique"
-#: io.c:706
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "l'expression dans la redirection « %s » donne une chaîne nulle"
-#: io.c:711
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"le fichier « %s » de la redirection « %s » pourrait être le résultat d'une "
-"expression booléenne"
+msgstr "le fichier « %s » de la redirection « %s » pourrait être le résultat d'une expression booléenne"
-#: io.c:754
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mélange non nécessaire de « > » et « >> » pour le fichier « %.*s »"
-#: io.c:808
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "impossible d'ouvrir le tube « %s » en sortie (%s)"
-#: io.c:818
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "impossible d'ouvrir le tube « %s » en entrée (%s)"
-#: io.c:849
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr ""
-"impossible d'ouvrir un tube bidirectionnel « %s » en entrées-sorties (%s)"
+msgstr "impossible d'ouvrir un tube bidirectionnel « %s » en entrées-sorties (%s)"
-#: io.c:928
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "impossible de rediriger depuis « %s » (%s)"
-#: io.c:931
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "impossible de rediriger vers « %s » (%s)"
-#: io.c:982
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"limite système du nombre de fichiers ouverts atteinte : début du "
-"multiplexage des descripteurs de fichiers"
+#: io.c:1040
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "limite système du nombre de fichiers ouverts atteinte : début du multiplexage des descripteurs de fichiers"
-#: io.c:998
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "échec de la fermeture de « %s » (%s)."
-#: io.c:1006
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr "trop de fichiers d'entrées ou de tubes ouverts"
-#: io.c:1028
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
msgstr "close : le second argument doit être « to » ou « from »"
-#: io.c:1045
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
-msgstr ""
-"close : « %.*s » n'est ni un fichier ouvert, ni un tube ou un co-processus"
+msgstr "close : « %.*s » n'est ni un fichier ouvert, ni un tube ou un co-processus"
-#: io.c:1050
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr "fermeture d'une redirection qui n'a jamais été ouverte"
-#: io.c:1147
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close : la redirection « %s » n'a pas été ouverte avec « |& », second "
-"argument ignoré"
+msgstr "close : la redirection « %s » n'a pas été ouverte avec « |& », second argument ignoré"
-#: io.c:1164
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "résultat d'échec (%d) sur la fermeture du tube « %s » (%s)"
-#: io.c:1167
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "résultat d'échec (%d) sur la fermeture du fichier « %s » (%s)"
-#: io.c:1187
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "aucune fermeture explicite du connecteur « %s » fournie"
-#: io.c:1190
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "aucune fermeture explicite du co-processus « %s » fournie"
-#: io.c:1193
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "aucune fermeture explicite du tube « %s » fournie"
-#: io.c:1196
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "aucune fermeture explicite du fichier « %s » fournie"
-#: io.c:1224 io.c:1279 main.c:842 main.c:879
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr "erreur lors de l'écriture vers la sortie standard (%s)"
-#: io.c:1228 io.c:1284
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr "erreur lors de l'écriture vers l'erreur standard (%s)"
-#: io.c:1236
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "échec du vidage du tube « %s » (%s)."
-#: io.c:1239
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "échec du vidage du tube vers « %s » par le co-processus (%s)."
-#: io.c:1242
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "échec du vidage vers le fichier « %s » (%s)."
-#: io.c:1356
+#: io.c:1420
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "le port local %s n'est pas valide dans « /inet »"
-#: io.c:1374
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
-msgstr ""
-"les informations sur l'hôte et le port distants (%s, %s) ne sont pas valides"
+msgstr "les informations sur l'hôte et le port distants (%s, %s) ne sont pas valides"
-#: io.c:1526
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
-msgstr ""
-"aucun protocole (connu) n'a été fourni dans le nom de fichier spécial « %s »"
+msgstr "aucun protocole (connu) n'a été fourni dans le nom de fichier spécial « %s »"
-#: io.c:1540
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "nom de fichier spécial « %s » incomplet"
-#: io.c:1557
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
msgstr "un nom d'hôte distant doit être fourni à « /inet »"
-#: io.c:1575
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
msgstr "un port distant doit être fourni à « /inet »"
-#: io.c:1621
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr "les communications TCP/IP ne sont pas disponibles"
-#: io.c:1796
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "impossible d'ouvrir « %s », mode « %s »"
-#: io.c:1846
+#: io.c:1917
#, c-format
msgid "close of master pty failed (%s)"
msgstr "échec de la fermeture du pty maître (%s)"
-#: io.c:1848 io.c:2024 io.c:2194
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "échec de la fermeture de stdout du processus fils (%s)"
-#: io.c:1851
+#: io.c:1922
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"échec du déplacement du pty esclave vers le stdout du processus fils (dup : "
-"%s)"
+msgstr "échec du déplacement du pty esclave vers le stdout du processus fils (dup : %s)"
-#: io.c:1853 io.c:2029
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "échec de fermeture du stdin du processus fils (%s)"
-#: io.c:1856
+#: io.c:1927
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"échec du déplacement du pty esclave vers le stdin du processus fils (dup : "
-"%s)"
+msgstr "échec du déplacement du pty esclave vers le stdin du processus fils (dup : %s)"
-#: io.c:1858 io.c:1879
+#: io.c:1929 io.c:1951
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "échec de la fermeture du pty esclave (%s)"
-#: io.c:1965 io.c:2027 io.c:2171 io.c:2197
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "échec du déplacement du tube vers stdout du processus fils (dup : %s)"
-#: io.c:1972 io.c:2032
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr "échec de déplacement du tube vers stdin du processus fils (dup : %s)"
-#: io.c:1992 io.c:2187
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr "échec de la restauration du stdout dans le processus parent\n"
-#: io.c:2000
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr "échec de la restauration du stdin dans le processus parent\n"
-#: io.c:2035 io.c:2199 io.c:2213
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr "échec de la fermeture du tube (%s)"
-#: io.c:2089
+#: io.c:2174
msgid "`|&' not supported"
msgstr "« |& » non disponible"
-#: io.c:2156
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "impossible d'ouvrir le tube « %s » (%s)"
-#: io.c:2207
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "impossible de créer le processus fils pour « %s » (fork : %s)"
-#: io.c:2667
+#: io.c:2790
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser : pointeur NULL reçu"
-#: io.c:2695
+#: io.c:2818
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
-msgstr ""
-"l'analyseur d'entrée « %s » est en conflit avec l'analyseur « %s » déjà "
-"installé"
+msgstr "l'analyseur d'entrée « %s » est en conflit avec l'analyseur « %s » déjà installé"
-#: io.c:2702
+#: io.c:2825
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "l'analyseur d'entrée « %s » n'a pu ouvrir « %s »"
-#: io.c:2722
+#: io.c:2845
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper : pointeur NULL reçu"
-#: io.c:2750
+#: io.c:2873
#, c-format
-msgid ""
-"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
-msgstr ""
-"le filtre de sortie « %s » est en conflit avec le filtre « %s » déjà installé"
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgstr "le filtre de sortie « %s » est en conflit avec le filtre « %s » déjà installé"
-#: io.c:2757
+#: io.c:2880
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "le filtre de sortie « %s » n'a pu ouvrir « %s »"
-#: io.c:2778
+#: io.c:2901
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor : pointeur NULL reçu"
-#: io.c:2807
+#: io.c:2930
#, c-format
-msgid ""
-"two-way processor `%s' conflicts with previously installed two-way processor "
-"`%s'"
-msgstr ""
-"le gestionnaire bidirectionnel « %s » est en conflit avec le gestionnaire "
-"« %s » déjà installé"
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
+msgstr "le gestionnaire bidirectionnel « %s » est en conflit avec le gestionnaire « %s » déjà installé"
-#: io.c:2816
+#: io.c:2939
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "le gestionnaire bidirectionnel « %s » n'a pu ouvrir « %s »"
-#: io.c:2923
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
msgstr "le fichier de données « %s » est vide"
-#: io.c:2965 io.c:2973
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr "impossible d'allouer plus de mémoire d'entrée"
-#: io.c:3539
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
-msgstr ""
-"l'utilisation d'un « RS » de plusieurs caractères est une extension gawk"
+msgstr "l'utilisation d'un « RS » de plusieurs caractères est une extension gawk"
-#: io.c:3628
+#: io.c:3771
msgid "IPv6 communication is not supported"
msgstr "les communications IPv6 ne sont pas disponibles"
-#: main.c:388
+#: main.c:405
msgid "empty argument to `-e/--source' ignored"
msgstr "argument vide de l'option « -e / --source » ignoré"
-#: main.c:478
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s : option « -W %s » non reconnue, ignorée\n"
-#: main.c:524
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s : l'option requiert un argument - %c\n"
-#: main.c:545
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr ""
-"variable d'environnement « POSIXLY__CORRECT » définie : activation de « --"
-"posix »"
+msgstr "variable d'environnement « POSIXLY__CORRECT » définie : activation de « --posix »"
-#: main.c:551
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
msgstr "« --posix » prend le pas sur « --traditional »"
-#: main.c:562
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
-msgstr ""
-"« --posix » et « --traditional » prennent le pas sur « --non-decimal-data »"
+msgstr "« --posix » et « --traditional » prennent le pas sur « --non-decimal-data »"
-#: main.c:566
+#: main.c:583
#, c-format
msgid "running %s setuid root may be a security problem"
-msgstr ""
-"l'exécution de %s en mode setuid root peut être un problème de sécurité"
+msgstr "l'exécution de %s en mode setuid root peut être un problème de sécurité"
-#: main.c:571
+#: main.c:588
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "« --posix » prend le pas sur « --characters-as-bytes »"
-#: main.c:630
+#: main.c:647
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "impossible d'activer le mode binaire sur stdin (%s)"
-#: main.c:633
+#: main.c:650
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "impossible d'activer le mode binaire sur stdout (%s)"
-#: main.c:635
+#: main.c:652
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "impossible d'activer le mode binaire sur stderr (%s)"
-#: main.c:693
+#: main.c:710
msgid "no program text at all!"
msgstr "aucun programme !"
-#: main.c:779
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
-msgstr ""
-"Utilisation : %s [options GNU ou POSIX] -f fichier_prog [--] fichier ...\n"
+msgstr "Utilisation : %s [options GNU ou POSIX] -f fichier_prog [--] fichier ...\n"
-#: main.c:781
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
-msgstr ""
-"Utilisation : %s [options GNU ou POSIX] [--] %cprogramme%c fichier ...\n"
+msgstr "Utilisation : %s [options GNU ou POSIX] [--] %cprogramme%c fichier ...\n"
-#: main.c:786
+#: main.c:806
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Options POSIX :\t\tOptions longues GNU : (standard)\n"
-#: main.c:787
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fichier_prog\t\t--file=fichier_prog\n"
-#: main.c:788
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:789
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valeur\t\t--assign=var=valeur\n"
-#: main.c:790
+#: main.c:810
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Options POSIX :\t\tOptions longues GNU : (extensions)\n"
-#: main.c:791
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:792
+#: main.c:812
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:793
+#: main.c:813
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:794
+#: main.c:814
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fichier]\t\t--dump-variables[=fichier]\n"
-#: main.c:795
+#: main.c:815
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-D[fichier]\t\t--debug[=fichier]\n"
-#: main.c:796
+#: main.c:816
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programme'\t\t--source='programme'\n"
-#: main.c:797
+#: main.c:817
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fichier\t\t--exec=fichier\n"
-#: main.c:798
+#: main.c:818
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:799
+#: main.c:819
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:800
+#: main.c:820
msgid "\t-i includefile\t\t--include=includefile\n"
msgstr "\t-i fichier\t\t--include=fichier\n"
-#: main.c:801
+#: main.c:821
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l bibliothèque\t\t--load=bibliothèque\n"
-#: main.c:802
+#: main.c:822
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:803
+#: main.c:823
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:804
+#: main.c:824
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:805
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:806
+#: main.c:826
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[fichier]\t\t--pretty-print[=fichier]\n"
-#: main.c:807
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:808
+#: main.c:828
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fichier]\t\t--profile[=fichier]\n"
-#: main.c:809
+#: main.c:829
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:810
+#: main.c:830
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:811
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:812
+#: main.c:832
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:813
+#: main.c:833
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:815
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:818
+#: main.c:838
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3135,7 +3008,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:827
+#: main.c:847
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3150,7 +3023,7 @@ msgstr ""
"<traduc CHEZ traduc POINT org>.\n"
"\n"
-#: main.c:831
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3160,7 +3033,7 @@ msgstr ""
"Par défaut, il lit l'entrée standard et écrit sur la sortie standard.\n"
"\n"
-#: main.c:835
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3170,7 +3043,7 @@ msgstr ""
"\tgawk '{ somme += $1 }; END { print somme }' fichier\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:855
+#: main.c:880
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3190,7 +3063,7 @@ msgstr ""
"version ultérieure de votre choix.\n"
"\n"
-#: main.c:863
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3205,7 +3078,7 @@ msgstr ""
"General Public License).\n"
"\n"
-#: main.c:869
+#: main.c:894
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"
@@ -3214,16 +3087,16 @@ msgstr ""
"(GNU General Public License) avec ce programme. Sinon, consultez\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:904
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft ne définit pas le FS comme étant une tabulation en awk POSIX"
-#: main.c:1181
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valeur inconnue pour la définition de champ : %d\n"
-#: main.c:1279
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3232,48 +3105,48 @@ msgstr ""
"%s : « %s » l'argument de « -v » ne respecte pas la forme « var=valeur »\n"
"\n"
-#: main.c:1305
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "« %s » n'est pas un nom de variable valide"
-#: main.c:1308
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "« %s » n'est pas un nom de variable, recherche du fichier « %s=%s »"
-#: main.c:1312
+#: main.c:1339
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "impossible d'utiliser le mot clef gawk « %s » comme variable"
-#: main.c:1317
+#: main.c:1344
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "impossible d'utiliser la fonction « %s » comme variable"
-#: main.c:1370
+#: main.c:1397
msgid "floating point exception"
msgstr "exception du traitement en virgule flottante"
-#: main.c:1377
+#: main.c:1404
msgid "fatal error: internal error"
msgstr "fatal : erreur interne"
-#: main.c:1392
+#: main.c:1419
msgid "fatal error: internal error: segfault"
msgstr "fatal : erreur interne : erreur de segmentation"
-#: main.c:1404
+#: main.c:1431
msgid "fatal error: internal error: stack overflow"
msgstr "fatal : erreur interne : débordement de la pile"
-#: main.c:1463
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr "aucun descripteur fd %d pré-ouvert"
-#: main.c:1470
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "impossible de pré-ouvrir /dev/null pour le descripteur fd %d"
@@ -3317,8 +3190,7 @@ msgstr "%s : l'argument #%d a une valeur incorrecte %Rg, utilisation de 0"
#: mpfr.c:857
msgid "%s: argument #%d negative value %Rg will give strange results"
-msgstr ""
-"%s : argument #%d : la valeur négative %Rg donnera des résultats inattendus"
+msgstr "%s : argument #%d : la valeur négative %Rg donnera des résultats inattendus"
#: mpfr.c:863
msgid "%s: argument #%d fractional value %Rg will be truncated"
@@ -3327,10 +3199,9 @@ msgstr "%s : argument #%d : la valeur non entière %Rg sera tronquée"
#: mpfr.c:878
#, c-format
msgid "%s: argument #%d negative value %Zd will give strange results"
-msgstr ""
-"%s : argument #%d : la valeur négative %Zd donnera des résultats inattendus"
+msgstr "%s : argument #%d : la valeur négative %Zd donnera des résultats inattendus"
-#: msg.c:61
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr "ligne de commande:"
@@ -3354,12 +3225,8 @@ msgstr "aucun chiffre hexadécimal dans la séquence d'échappement « \\x »
#: node.c:579
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"la séquence d'échappement hexa. \\x%.*s de %d caractères ne sera "
-"probablement pas interprétée comme vous l'imaginez"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "la séquence d'échappement hexa. \\x%.*s de %d caractères ne sera probablement pas interprétée comme vous l'imaginez"
#: node.c:594
#, c-format
@@ -3367,35 +3234,29 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "séquence d'échappement « \\%c » traitée comme un simple « %c »"
#: node.c:739
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Données multioctets non valables détectées. Possible incohérence entre "
-"données et paramètres régionaux (locale)."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Données multioctets non valables détectées. Possible incohérence entre données et paramètres régionaux (locale)."
#: posix/gawkmisc.c:177
#, c-format
msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)"
-msgstr ""
-"%s %s « %s » : impossible d'obtenir les drapeaux du fd : (fcntl F_GETFD: %s)"
+msgstr "%s %s « %s » : impossible d'obtenir les drapeaux du 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 »: impossible de positionner close-on-exec: (fcntl F_SETFD: %s)"
+msgstr "%s %s « %s »: impossible de positionner close-on-exec: (fcntl F_SETFD: %s)"
-#: profile.c:70
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "impossible d'ouvrir « %s » en écriture : %s"
-#: profile.c:72
+#: profile.c:73
msgid "sending profile to standard error"
msgstr "envoi du profil vers la sortie d'erreur standard"
-#: profile.c:188
+#: profile.c:193
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -3404,7 +3265,7 @@ msgstr ""
"\t# Bloc(s) %s\n"
"\n"
-#: profile.c:193
+#: profile.c:198
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3413,16 +3274,16 @@ msgstr ""
"\t# Règle(s)\n"
"\n"
-#: profile.c:267
+#: profile.c:272
#, c-format
msgid "internal error: %s with null vname"
msgstr "erreur interne : %s avec un vname nul"
-#: profile.c:530
+#: profile.c:537
msgid "internal error: builtin with null fname"
msgstr "erreur interne : fonction interne avec un fname nul"
-#: profile.c:942
+#: profile.c:949
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3431,12 +3292,12 @@ msgstr ""
"\t# Extensions chargées (-l ou @load)\n"
"\n"
-#: profile.c:965
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profile gawk, créé %s\n"
-#: profile.c:1351
+#: profile.c:1475
#, c-format
msgid ""
"\n"
@@ -3445,22 +3306,15 @@ msgstr ""
"\n"
"\t# Fonctions, par ordre alphabétique\n"
-#: profile.c:1389
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str : type de redirection %d inconnu"
-#: re.c:583
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr "les plages « [%c-%c] » sont dépendantes des paramètres régionaux"
-
-#: re.c:610
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"le composant d'expression rationnelle « %.*s » devrait probablement être "
-"« [%.*s] »"
+msgstr "le composant d'expression rationnelle « %.*s » devrait probablement être « [%.*s] »"
#: regcomp.c:131
msgid "Success"
@@ -3526,6 +3380,9 @@ msgstr ") ou \\) sans correspondance"
msgid "No previous regular expression"
msgstr "Aucune expression rationnelle précédente"
-#: symbol.c:740
+#: symbol.c:741
msgid "can not pop main context"
msgstr "impossible de rétablir (pop) le contexte principal (main)"
+
+#~ msgid "range of the form `[%c-%c]' is locale dependent"
+#~ msgstr "les plages « [%c-%c] » sont dépendantes des paramètres régionaux"
diff --git a/po/gawk.pot b/po/gawk.pot
index 6e4582f5..527a4996 100644
--- a/po/gawk.pot
+++ b/po/gawk.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.1.0\n"
+"Project-Id-Version: gawk 4.1.0b\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2013-05-09 16:05+0300\n"
+"POT-Creation-Date: 2014-01-14 22:23+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,84 +17,84 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: array.c:254
+#: array.c:256
#, c-format
msgid "from %s"
msgstr ""
-#: array.c:354
+#: array.c:357
msgid "attempt to use a scalar value as array"
msgstr ""
-#: array.c:356
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr ""
-#: array.c:359
+#: array.c:362
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr ""
-#: array.c:406 array.c:573 builtin.c:85 builtin.c:1591 builtin.c:1637
-#: builtin.c:1650 builtin.c:2078 builtin.c:2092 eval.c:1121 eval.c:1125
-#: eval.c:1524
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr ""
-#: array.c:580
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr ""
-#: array.c:594
+#: array.c:597
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr ""
-#: array.c:773
+#: array.c:776
msgid "adump: first argument not an array"
msgstr ""
-#: array.c:812
+#: array.c:815
msgid "asort: second argument not an array"
msgstr ""
-#: array.c:813
+#: array.c:816
msgid "asorti: second argument not an array"
msgstr ""
-#: array.c:820
+#: array.c:823
msgid "asort: first argument not an array"
msgstr ""
-#: array.c:821
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr ""
-#: array.c:828
+#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
-#: array.c:829
+#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
-#: array.c:834
+#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
-#: array.c:835
+#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
-#: array.c:1309
+#: array.c:1314
#, c-format
msgid "`%s' is invalid as a function name"
msgstr ""
-#: array.c:1313
+#: array.c:1318
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr ""
@@ -228,11 +228,11 @@ msgstr ""
msgid "invalid subscript expression"
msgstr ""
-#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr ""
-#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr ""
@@ -240,8 +240,8 @@ msgstr ""
msgid "unexpected newline or end of string"
msgstr ""
-#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:517 debug.c:533
-#: debug.c:2792 debug.c:5040
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr ""
@@ -251,7 +251,7 @@ msgstr ""
msgid "can't open shared library `%s' for reading (%s)"
msgstr ""
-#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr ""
@@ -426,7 +426,7 @@ msgstr ""
msgid "function `%s': parameter `%s' shadows global variable"
msgstr ""
-#: awkgram.y:4102 debug.c:4021 debug.c:4064 debug.c:5189
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr ""
@@ -468,435 +468,445 @@ msgstr ""
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr ""
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
msgstr ""
-#: awkgram.y:4376
+#: awkgram.y:4369
#, c-format
msgid "function `%s' defined but never called directly"
msgstr ""
-#: awkgram.y:4408
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
-#: awkgram.y:4467
+#: awkgram.y:4460
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
"or used as a variable or an array"
msgstr ""
-#: awkgram.y:4703
+#: awkgram.y:4696
msgid "division by zero attempted"
msgstr ""
-#: awkgram.y:4712
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
msgstr ""
-#: builtin.c:128
+#: awkgram.y:5025
+msgid ""
+"cannot assign a value to the result of a field post-increment expression"
+msgstr ""
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr ""
+
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr ""
-#: builtin.c:129
+#: builtin.c:134
msgid "standard output"
msgstr ""
-#: builtin.c:143
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr ""
-#: builtin.c:149
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr ""
-#: builtin.c:224
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
-#: builtin.c:227
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
-#: builtin.c:239
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr ""
-#: builtin.c:357
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr ""
-#: builtin.c:359
+#: builtin.c:364
msgid "index: received non-string second argument"
msgstr ""
-#: builtin.c:483 mpfr.c:757
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr ""
-#: builtin.c:520
+#: builtin.c:525
msgid "length: received array argument"
msgstr ""
-#: builtin.c:523
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
msgstr ""
-#: builtin.c:539
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr ""
-#: builtin.c:570
+#: builtin.c:575
msgid "log: received non-numeric argument"
msgstr ""
-#: builtin.c:573
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
msgstr ""
-#: builtin.c:771 builtin.c:776
+#: builtin.c:776 builtin.c:781
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
-#: builtin.c:846
+#: builtin.c:851
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:848
+#: builtin.c:853
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:850
+#: builtin.c:855
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr ""
-#: builtin.c:901
+#: builtin.c:906
msgid "fatal: `$' is not permitted in awk formats"
msgstr ""
-#: builtin.c:910
+#: builtin.c:915
msgid "fatal: arg count with `$' must be > 0"
msgstr ""
-#: builtin.c:914
+#: builtin.c:919
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
-#: builtin.c:918
+#: builtin.c:923
msgid "fatal: `$' not permitted after period in format"
msgstr ""
-#: builtin.c:934
+#: builtin.c:939
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
-#: builtin.c:1006
+#: builtin.c:1011
msgid "`l' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:1010
+#: builtin.c:1015
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:1023
+#: builtin.c:1028
msgid "`L' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:1027
+#: builtin.c:1032
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:1040
+#: builtin.c:1045
msgid "`h' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:1044
+#: builtin.c:1049
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:1439
+#: builtin.c:1447
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr ""
-#: builtin.c:1537
+#: builtin.c:1545
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
-#: builtin.c:1542
+#: builtin.c:1550
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
-#: builtin.c:1544
+#: builtin.c:1552
msgid "^ ran out for this one"
msgstr ""
-#: builtin.c:1551
+#: builtin.c:1559
msgid "[s]printf: format specifier does not have control letter"
msgstr ""
-#: builtin.c:1554
+#: builtin.c:1562
msgid "too many arguments supplied for format string"
msgstr ""
-#: builtin.c:1610
+#: builtin.c:1618
msgid "sprintf: no arguments"
msgstr ""
-#: builtin.c:1633 builtin.c:1644
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr ""
-#: builtin.c:1687
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr ""
-#: builtin.c:1691
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr ""
-#: builtin.c:1722
+#: builtin.c:1730
#, c-format
msgid "substr: length %g is not >= 1"
msgstr ""
-#: builtin.c:1724
+#: builtin.c:1732
#, c-format
msgid "substr: length %g is not >= 0"
msgstr ""
-#: builtin.c:1731
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr ""
-#: builtin.c:1736
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr ""
-#: builtin.c:1748
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr ""
-#: builtin.c:1753
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr ""
-#: builtin.c:1778
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr ""
-#: builtin.c:1794
+#: builtin.c:1802
#, c-format
msgid "substr: start index %g is past end of string"
msgstr ""
-#: builtin.c:1802
+#: builtin.c:1810
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr ""
-#: builtin.c:1876
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
-#: builtin.c:1899
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
msgstr ""
-#: builtin.c:1903
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr ""
-#: builtin.c:1910
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr ""
-#: builtin.c:1917
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr ""
-#: builtin.c:1983
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr ""
-#: builtin.c:2000
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr ""
-#: builtin.c:2035
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr ""
-#: builtin.c:2040
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr ""
-#: builtin.c:2160
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr ""
-#: builtin.c:2247
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr ""
-#: builtin.c:2281
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr ""
-#: builtin.c:2317 mpfr.c:672
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr ""
-#: builtin.c:2319 mpfr.c:674
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr ""
-#: builtin.c:2338
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr ""
-#: builtin.c:2354
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr ""
-#: builtin.c:2407 mpfr.c:1156
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr ""
-#: builtin.c:2438
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr ""
-#: builtin.c:2710
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr ""
-#: builtin.c:3003
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr ""
-#: builtin.c:3005
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
msgstr ""
-#: builtin.c:3011
+#: builtin.c:3022
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr ""
-#: builtin.c:3013
+#: builtin.c:3024
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr ""
-#: builtin.c:3015
+#: builtin.c:3026
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr ""
-#: builtin.c:3040
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr ""
-#: builtin.c:3042
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
msgstr ""
-#: builtin.c:3048
+#: builtin.c:3059
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr ""
-#: builtin.c:3050
+#: builtin.c:3061
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr ""
-#: builtin.c:3052
+#: builtin.c:3063
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr ""
-#: builtin.c:3077 mpfr.c:968
+#: builtin.c:3088 mpfr.c:968
msgid "and: called with less than two arguments"
msgstr ""
-#: builtin.c:3082
+#: builtin.c:3093
#, c-format
msgid "and: argument %d is non-numeric"
msgstr ""
-#: builtin.c:3086
+#: builtin.c:3097
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr ""
-#: builtin.c:3109 mpfr.c:1000
+#: builtin.c:3120 mpfr.c:1000
msgid "or: called with less than two arguments"
msgstr ""
-#: builtin.c:3114
+#: builtin.c:3125
#, c-format
msgid "or: argument %d is non-numeric"
msgstr ""
-#: builtin.c:3118
+#: builtin.c:3129
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr ""
-#: builtin.c:3140 mpfr.c:1031
+#: builtin.c:3151 mpfr.c:1031
msgid "xor: called with less than two arguments"
msgstr ""
-#: builtin.c:3146
+#: builtin.c:3157
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr ""
-#: builtin.c:3150
+#: builtin.c:3161
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr ""
-#: builtin.c:3175 mpfr.c:787
+#: builtin.c:3186 mpfr.c:787
msgid "compl: received non-numeric argument"
msgstr ""
-#: builtin.c:3181
+#: builtin.c:3192
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr ""
-#: builtin.c:3183
+#: builtin.c:3194
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr ""
-#: builtin.c:3352
+#: builtin.c:3363
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr ""
@@ -1018,8 +1028,8 @@ msgstr ""
#: command.y:823
msgid ""
-"commands [num] - starts a list of commands to be executed at a breakpoint"
-"(watchpoint) hit."
+"commands [num] - starts a list of commands to be executed at a "
+"breakpoint(watchpoint) hit."
msgstr ""
#: command.y:825
@@ -1176,7 +1186,7 @@ msgstr ""
msgid "watch var - set a watchpoint for a variable."
msgstr ""
-#: command.y:1011 debug.c:395 msg.c:128
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr ""
@@ -1214,520 +1224,520 @@ msgstr ""
msgid "undefined command: %s\n"
msgstr ""
-#: debug.c:246
+#: debug.c:252
msgid "set or show the number of lines to keep in history file."
msgstr ""
-#: debug.c:248
+#: debug.c:254
msgid "set or show the list command window size."
msgstr ""
-#: debug.c:250
+#: debug.c:256
msgid "set or show gawk output file."
msgstr ""
-#: debug.c:252
+#: debug.c:258
msgid "set or show debugger prompt."
msgstr ""
-#: debug.c:254
+#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
msgstr ""
-#: debug.c:256
+#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
msgstr ""
-#: debug.c:258
+#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
msgstr ""
-#: debug.c:339
+#: debug.c:345
msgid "program not running."
msgstr ""
-#: debug.c:442 debug.c:597
+#: debug.c:448 debug.c:606
#, c-format
msgid "can't read source file `%s' (%s)"
msgstr ""
-#: debug.c:447
+#: debug.c:453
#, c-format
msgid "source file `%s' is empty.\n"
msgstr ""
-#: debug.c:474
+#: debug.c:480
msgid "no current source file."
msgstr ""
-#: debug.c:499
+#: debug.c:505
#, c-format
msgid "cannot find source file named `%s' (%s)"
msgstr ""
-#: debug.c:523
+#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
msgstr ""
-#: debug.c:542
+#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
msgstr ""
-#: debug.c:602
+#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
msgstr ""
-#: debug.c:611
+#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
msgstr ""
-#: debug.c:723
+#: debug.c:732
#, c-format
msgid "Current source file: %s\n"
msgstr ""
-#: debug.c:724
+#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
msgstr ""
-#: debug.c:731
+#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
msgstr ""
-#: debug.c:745
+#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
msgstr ""
-#: debug.c:756
+#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
msgstr ""
-#: debug.c:758
+#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
msgstr ""
-#: debug.c:760 debug.c:900
+#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
msgstr ""
-#: debug.c:762 debug.c:902
+#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
msgstr ""
-#: debug.c:784
+#: debug.c:793
#, c-format
msgid "Current frame: "
msgstr ""
-#: debug.c:787
+#: debug.c:796
#, c-format
msgid "Called by frame: "
msgstr ""
-#: debug.c:791
+#: debug.c:800
#, c-format
msgid "Caller of frame: "
msgstr ""
-#: debug.c:809
+#: debug.c:818
#, c-format
msgid "None in main().\n"
msgstr ""
-#: debug.c:839
+#: debug.c:848
msgid "No arguments.\n"
msgstr ""
-#: debug.c:840
+#: debug.c:849
msgid "No locals.\n"
msgstr ""
-#: debug.c:848
+#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
msgstr ""
-#: debug.c:858
+#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
msgstr ""
-#: debug.c:877
+#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
msgstr ""
-#: debug.c:880
+#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
msgstr ""
-#: debug.c:1020
+#: debug.c:1029
#, c-format
msgid "no symbol `%s' in current context\n"
msgstr ""
-#: debug.c:1032 debug.c:1418
+#: debug.c:1041 debug.c:1427
#, c-format
msgid "`%s' is not an array\n"
msgstr ""
-#: debug.c:1046
+#: debug.c:1055
#, c-format
msgid "$%ld = uninitialized field\n"
msgstr ""
-#: debug.c:1067
+#: debug.c:1076
#, c-format
msgid "array `%s' is empty\n"
msgstr ""
-#: debug.c:1110 debug.c:1162
+#: debug.c:1119 debug.c:1171
#, c-format
msgid "[\"%s\"] not in array `%s'\n"
msgstr ""
-#: debug.c:1166
+#: debug.c:1175
#, c-format
msgid "`%s[\"%s\"]' is not an array\n"
msgstr ""
-#: debug.c:1227 debug.c:4949
+#: debug.c:1236 debug.c:4964
#, c-format
msgid "`%s' is not a scalar variable"
msgstr ""
-#: debug.c:1249 debug.c:4979
+#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr ""
-#: debug.c:1271 debug.c:4990
+#: debug.c:1280 debug.c:5005
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr ""
-#: debug.c:1414
+#: debug.c:1423
#, c-format
msgid "`%s' is a function"
msgstr ""
-#: debug.c:1456
+#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
msgstr ""
-#: debug.c:1490
+#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
msgstr ""
-#: debug.c:1493
+#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
msgstr ""
-#: debug.c:1519
+#: debug.c:1528
#, c-format
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr ""
-#: debug.c:1758
+#: debug.c:1767
msgid "attempt to use scalar value as array"
msgstr ""
-#: debug.c:1847
+#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
msgstr ""
-#: debug.c:1858
+#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
msgstr ""
-#: debug.c:1891
+#: debug.c:1900
#, c-format
msgid " in file `%s', line %d\n"
msgstr ""
-#: debug.c:1912
+#: debug.c:1921
#, c-format
msgid " at `%s':%d"
msgstr ""
-#: debug.c:1928 debug.c:1991
+#: debug.c:1937 debug.c:2000
#, c-format
msgid "#%ld\tin "
msgstr ""
-#: debug.c:1965
+#: debug.c:1974
#, c-format
msgid "More stack frames follow ...\n"
msgstr ""
-#: debug.c:2008
+#: debug.c:2017
msgid "invalid frame number"
msgstr ""
-#: debug.c:2180
+#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
msgstr ""
-#: debug.c:2187
+#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
msgstr ""
-#: debug.c:2194
+#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
msgstr ""
-#: debug.c:2201
+#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
msgstr ""
-#: debug.c:2218
+#: debug.c:2238
#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
msgstr ""
-#: debug.c:2320
+#: debug.c:2340
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
msgstr ""
-#: debug.c:2349 debug.c:2472 debug.c:3330
+#: debug.c:2369 debug.c:2492 debug.c:3350
#, c-format
msgid "line number %d in file `%s' out of range"
msgstr ""
-#: debug.c:2353
+#: debug.c:2373
#, c-format
msgid "Can't find rule!!!\n"
msgstr ""
-#: debug.c:2355
+#: debug.c:2375
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
msgstr ""
-#: debug.c:2367
+#: debug.c:2387
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
msgstr ""
-#: debug.c:2383
+#: debug.c:2403
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
msgstr ""
-#: debug.c:2488 debug.c:2510
+#: debug.c:2508 debug.c:2530
#, c-format
msgid "Deleted breakpoint %d"
msgstr ""
-#: debug.c:2494
+#: debug.c:2514
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
msgstr ""
-#: debug.c:2521
+#: debug.c:2541
#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
msgstr ""
-#: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
msgid "invalid breakpoint number"
msgstr ""
-#: debug.c:2592
+#: debug.c:2612
msgid "Delete all breakpoints? (y or n) "
msgstr ""
-#: debug.c:2593 debug.c:2903 debug.c:2956
+#: debug.c:2613 debug.c:2923 debug.c:2976
msgid "y"
msgstr ""
-#: debug.c:2642
+#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
msgstr ""
-#: debug.c:2646
+#: debug.c:2666
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
msgstr ""
-#: debug.c:2763
+#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
msgstr ""
-#: debug.c:2888
+#: debug.c:2908
#, c-format
msgid "Failed to restart debugger"
msgstr ""
-#: debug.c:2902
+#: debug.c:2922
msgid "Program already running. Restart from beginning (y/n)? "
msgstr ""
-#: debug.c:2906
+#: debug.c:2926
#, c-format
msgid "Program not restarted\n"
msgstr ""
-#: debug.c:2916
+#: debug.c:2936
#, c-format
msgid "error: cannot restart, operation not allowed\n"
msgstr ""
-#: debug.c:2922
+#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
msgstr ""
-#: debug.c:2930
+#: debug.c:2950
#, c-format
msgid "Starting program: \n"
msgstr ""
-#: debug.c:2939
+#: debug.c:2959
#, c-format
msgid "Program exited %s with exit value: %d\n"
msgstr ""
-#: debug.c:2955
+#: debug.c:2975
msgid "The program is running. Exit anyway (y/n)? "
msgstr ""
-#: debug.c:2990
+#: debug.c:3010
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
msgstr ""
-#: debug.c:2995
+#: debug.c:3015
#, c-format
msgid "invalid breakpoint number %d."
msgstr ""
-#: debug.c:3000
+#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
msgstr ""
-#: debug.c:3187
+#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
msgstr ""
-#: debug.c:3192
+#: debug.c:3212
#, c-format
msgid "Run till return from "
msgstr ""
-#: debug.c:3235
+#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
msgstr ""
-#: debug.c:3349
+#: debug.c:3369
#, c-format
msgid "Can't find specified location in function `%s'\n"
msgstr ""
-#: debug.c:3357
+#: debug.c:3377
#, c-format
msgid "invalid source line %d in file `%s'"
msgstr ""
-#: debug.c:3372
+#: debug.c:3392
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
msgstr ""
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "element not in array\n"
msgstr ""
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "untyped variable\n"
msgstr ""
-#: debug.c:3446
+#: debug.c:3466
#, c-format
msgid "Stopping in %s ...\n"
msgstr ""
-#: debug.c:3523
+#: debug.c:3543
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
msgstr ""
-#: debug.c:3530
+#: debug.c:3550
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
msgstr ""
-#: debug.c:4165
+#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
msgstr ""
-#: debug.c:4166
+#: debug.c:4186
msgid "q"
msgstr ""
-#: debug.c:4986
+#: debug.c:5001
#, c-format
msgid "[\"%s\"] not in array `%s'"
msgstr ""
-#: debug.c:5192
+#: debug.c:5207
#, c-format
msgid "sending output to stdout\n"
msgstr ""
-#: debug.c:5232
+#: debug.c:5247
msgid "invalid number"
msgstr ""
-#: debug.c:5366
+#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr ""
-#: debug.c:5374
+#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
msgstr ""
-#: debug.c:5575
+#: debug.c:5590
#, c-format
msgid "No symbol `%s' in current context"
msgstr ""
#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
-#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
msgid "unbalanced ["
msgstr ""
@@ -1735,31 +1745,31 @@ msgstr ""
msgid "invalid character class"
msgstr ""
-#: dfa.c:1229
+#: dfa.c:1228
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr ""
-#: dfa.c:1281
+#: dfa.c:1280
msgid "unfinished \\ escape"
msgstr ""
-#: dfa.c:1428 regcomp.c:161
+#: dfa.c:1427 regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr ""
-#: dfa.c:1431 regcomp.c:176
+#: dfa.c:1430 regcomp.c:176
msgid "Regular expression too big"
msgstr ""
-#: dfa.c:1816
+#: dfa.c:1847
msgid "unbalanced ("
msgstr ""
-#: dfa.c:1943
+#: dfa.c:1973
msgid "no syntax specified"
msgstr ""
-#: dfa.c:1951
+#: dfa.c:1981
msgid "unbalanced )"
msgstr ""
@@ -1778,11 +1788,11 @@ msgstr ""
msgid "opcode %s not an operator or keyword"
msgstr ""
-#: eval.c:471
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr ""
-#: eval.c:674
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -1790,71 +1800,71 @@ msgid ""
"\n"
msgstr ""
-#: eval.c:703
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
msgstr ""
-#: eval.c:735
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr ""
-#: eval.c:793
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr ""
-#: eval.c:884
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr ""
-#: eval.c:968
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr ""
-#: eval.c:1146
+#: eval.c:1147
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr ""
-#: eval.c:1147
+#: eval.c:1148
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr ""
-#: eval.c:1165
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr ""
-#: eval.c:1167
+#: eval.c:1168
msgid "attempt to field reference from null string"
msgstr ""
-#: eval.c:1175
+#: eval.c:1176
#, c-format
msgid "attempt to access field %ld"
msgstr ""
-#: eval.c:1184
+#: eval.c:1185
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr ""
-#: eval.c:1271
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr ""
-#: eval.c:1466
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr ""
-#: eval.c:1562
+#: eval.c:1569
msgid "division by zero attempted in `/='"
msgstr ""
-#: eval.c:1569
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
msgstr ""
@@ -1867,7 +1877,7 @@ msgstr ""
msgid "-l / @load are gawk extensions"
msgstr ""
-#: ext.c:95 ext.c:177
+#: ext.c:95
msgid "load_ext: received NULL lib_name"
msgstr ""
@@ -1896,6 +1906,10 @@ msgstr ""
msgid "`extension' is a gawk extension"
msgstr ""
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr ""
+
#: ext.c:180
#, c-format
msgid "extension: cannot open library `%s' (%s)"
@@ -1916,36 +1930,36 @@ msgstr ""
msgid "make_builtin: missing function name"
msgstr ""
-#: ext.c:238
+#: ext.c:236
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr ""
-#: ext.c:242
+#: ext.c:240
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr ""
-#: ext.c:246
+#: ext.c:244
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr ""
-#: ext.c:248
+#: ext.c:246
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
msgstr ""
-#: ext.c:251 ext.c:304
+#: ext.c:249 ext.c:304
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr ""
-#: ext.c:278
+#: ext.c:276
msgid "extension: missing function name"
msgstr ""
-#: ext.c:283
+#: ext.c:279 ext.c:283
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr ""
@@ -1970,139 +1984,143 @@ msgstr ""
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
-#: ext.c:374
+#: ext.c:375
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr ""
-#: ext.c:377
+#: ext.c:378
#, c-format
msgid "function `%s': missing argument #%d"
msgstr ""
-#: ext.c:394
+#: ext.c:395
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr ""
-#: ext.c:398
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr ""
-#: ext.c:412
+#: ext.c:413
msgid "dynamic loading of library not supported"
msgstr ""
-#: extension/filefuncs.c:97
+#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
msgstr ""
-#: extension/filefuncs.c:343
+#: extension/filefuncs.c:439
#, c-format
msgid "stat: unable to read symbolic link `%s'"
msgstr ""
-#: extension/filefuncs.c:376
+#: extension/filefuncs.c:472
msgid "stat: called with wrong number of arguments"
msgstr ""
-#: extension/filefuncs.c:383
+#: extension/filefuncs.c:479
msgid "stat: bad parameters"
msgstr ""
-#: extension/filefuncs.c:437
+#: extension/filefuncs.c:533
#, c-format
msgid "fts init: could not create variable %s"
msgstr ""
-#: extension/filefuncs.c:460
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr ""
+
+#: extension/filefuncs.c:573
msgid "fill_stat_element: could not create array"
msgstr ""
-#: extension/filefuncs.c:469
+#: extension/filefuncs.c:582
msgid "fill_stat_element: could not set element"
msgstr ""
-#: extension/filefuncs.c:484
+#: extension/filefuncs.c:597
msgid "fill_path_element: could not set element"
msgstr ""
-#: extension/filefuncs.c:500
+#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
msgstr ""
-#: extension/filefuncs.c:547 extension/filefuncs.c:594
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
msgid "fts-process: could not create array"
msgstr ""
-#: extension/filefuncs.c:557 extension/filefuncs.c:604
-#: extension/filefuncs.c:622
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
msgid "fts-process: could not set element"
msgstr ""
-#: extension/filefuncs.c:671
+#: extension/filefuncs.c:784
msgid "fts: called with incorrect number of arguments, expecting 3"
msgstr ""
-#: extension/filefuncs.c:674
+#: extension/filefuncs.c:787
msgid "fts: bad first parameter"
msgstr ""
-#: extension/filefuncs.c:680
+#: extension/filefuncs.c:793
msgid "fts: bad second parameter"
msgstr ""
-#: extension/filefuncs.c:686
+#: extension/filefuncs.c:799
msgid "fts: bad third parameter"
msgstr ""
-#: extension/filefuncs.c:693
+#: extension/filefuncs.c:806
msgid "fts: could not flatten array\n"
msgstr ""
-#: extension/filefuncs.c:711
+#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
msgstr ""
-#: extension/filefuncs.c:728
+#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
msgstr ""
-#: extension/fnmatch.c:98
+#: extension/fnmatch.c:112
msgid "fnmatch: called with less than three arguments"
msgstr ""
-#: extension/fnmatch.c:101
+#: extension/fnmatch.c:115
msgid "fnmatch: called with more than three arguments"
msgstr ""
-#: extension/fnmatch.c:104
+#: extension/fnmatch.c:118
msgid "fnmatch: could not get first argument"
msgstr ""
-#: extension/fnmatch.c:109
+#: extension/fnmatch.c:123
msgid "fnmatch: could not get second argument"
msgstr ""
-#: extension/fnmatch.c:114
+#: extension/fnmatch.c:128
msgid "fnmatch: could not get third argument"
msgstr ""
-#: extension/fnmatch.c:127
+#: extension/fnmatch.c:141
msgid "fnmatch is not implemented on this system\n"
msgstr ""
-#: extension/fnmatch.c:159
+#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
msgstr ""
-#: extension/fnmatch.c:169
+#: extension/fnmatch.c:183
#, c-format
msgid "fnmatch init: could not set array element %s"
msgstr ""
-#: extension/fnmatch.c:179
+#: extension/fnmatch.c:193
msgid "fnmatch init: could not install FNM array"
msgstr ""
@@ -2126,88 +2144,88 @@ msgstr ""
msgid "wait: called with too many arguments"
msgstr ""
-#: extension/inplace.c:110
+#: extension/inplace.c:130
msgid "inplace_begin: in-place editing already active"
msgstr ""
-#: extension/inplace.c:113 extension/inplace.c:187
+#: extension/inplace.c:133 extension/inplace.c:207
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr ""
-#: extension/inplace.c:116
+#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
msgstr ""
-#: extension/inplace.c:124
+#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
msgstr ""
-#: extension/inplace.c:131
+#: extension/inplace.c:151
#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
msgstr ""
-#: extension/inplace.c:138
+#: extension/inplace.c:158
#, c-format
msgid "inplace_begin: `%s' is not a regular file"
msgstr ""
-#: extension/inplace.c:149
+#: extension/inplace.c:169
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr ""
-#: extension/inplace.c:158
+#: extension/inplace.c:178
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr ""
-#: extension/inplace.c:165
+#: extension/inplace.c:185
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr ""
-#: extension/inplace.c:168
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr ""
-#: extension/inplace.c:171
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr ""
-#: extension/inplace.c:190
+#: extension/inplace.c:210
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
msgstr ""
-#: extension/inplace.c:197
+#: extension/inplace.c:217
msgid "inplace_end: in-place editing not active"
msgstr ""
-#: extension/inplace.c:203
+#: extension/inplace.c:223
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr ""
-#: extension/inplace.c:206
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr ""
-#: extension/inplace.c:210
+#: extension/inplace.c:230
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr ""
-#: extension/inplace.c:223
+#: extension/inplace.c:243
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr ""
-#: extension/inplace.c:229
+#: extension/inplace.c:253
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr ""
@@ -2236,7 +2254,7 @@ msgstr ""
msgid "chr: called with inappropriate argument(s)"
msgstr ""
-#: extension/readdir.c:203
+#: extension/readdir.c:277
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
msgstr ""
@@ -2249,152 +2267,152 @@ msgstr ""
msgid "readfile: called with no arguments"
msgstr ""
-#: extension/rwarray.c:120
+#: extension/rwarray.c:124
msgid "writea: called with too many arguments"
msgstr ""
-#: extension/rwarray.c:127
+#: extension/rwarray.c:131
#, c-format
msgid "do_writea: argument 0 is not a string\n"
msgstr ""
-#: extension/rwarray.c:133
+#: extension/rwarray.c:137
#, c-format
msgid "do_writea: argument 1 is not an array\n"
msgstr ""
-#: extension/rwarray.c:180
+#: extension/rwarray.c:184
#, c-format
msgid "write_array: could not flatten array\n"
msgstr ""
-#: extension/rwarray.c:194
+#: extension/rwarray.c:198
#, c-format
msgid "write_array: could not release flattened array\n"
msgstr ""
-#: extension/rwarray.c:276
+#: extension/rwarray.c:280
msgid "reada: called with too many arguments"
msgstr ""
-#: extension/rwarray.c:283
+#: extension/rwarray.c:287
#, c-format
msgid "do_reada: argument 0 is not a string\n"
msgstr ""
-#: extension/rwarray.c:289
+#: extension/rwarray.c:293
#, c-format
msgid "do_reada: argument 1 is not an array\n"
msgstr ""
-#: extension/rwarray.c:333
+#: extension/rwarray.c:337
#, c-format
msgid "do_reada: clear_array failed\n"
msgstr ""
-#: extension/rwarray.c:370
+#: extension/rwarray.c:374
#, c-format
msgid "read_array: set_array_element failed\n"
msgstr ""
-#: extension/time.c:81
+#: extension/time.c:106
msgid "gettimeofday: ignoring arguments"
msgstr ""
-#: extension/time.c:112
+#: extension/time.c:137
msgid "gettimeofday: not supported on this platform"
msgstr ""
-#: extension/time.c:133
+#: extension/time.c:158
msgid "sleep: called with too many arguments"
msgstr ""
-#: extension/time.c:136
+#: extension/time.c:161
msgid "sleep: missing required numeric argument"
msgstr ""
-#: extension/time.c:142
+#: extension/time.c:167
msgid "sleep: argument is negative"
msgstr ""
-#: extension/time.c:176
+#: extension/time.c:201
msgid "sleep: not supported on this platform"
msgstr ""
-#: field.c:339
+#: field.c:345
msgid "NF set to negative value"
msgstr ""
-#: field.c:964 field.c:971 field.c:975
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
msgstr ""
-#: field.c:968
+#: field.c:975
msgid "split: fourth argument is not an array"
msgstr ""
-#: field.c:982
+#: field.c:989
msgid "split: second argument is not an array"
msgstr ""
-#: field.c:986
+#: field.c:993
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
-#: field.c:991
+#: field.c:998
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
-#: field.c:994
+#: field.c:1001
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
-#: field.c:1023
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
msgstr ""
-#: field.c:1063
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
msgstr ""
-#: field.c:1068
+#: field.c:1077
msgid "patsplit: second argument is not an array"
msgstr ""
-#: field.c:1074
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
msgstr ""
-#: field.c:1078
+#: field.c:1087
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
-#: field.c:1083
+#: field.c:1092
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
-#: field.c:1086
+#: field.c:1095
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
-#: field.c:1124
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr ""
-#: field.c:1188
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr ""
-#: field.c:1261
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
msgstr ""
-#: field.c:1265
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
msgstr ""
-#: field.c:1384
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
msgstr ""
@@ -2418,569 +2436,569 @@ msgstr ""
msgid "remove_element: received null subscript"
msgstr ""
-#: gawkapi.c:943
+#: gawkapi.c:948
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr ""
-#: gawkapi.c:948
+#: gawkapi.c:953
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr ""
-#: getopt.c:603 getopt.c:632
+#: getopt.c:604 getopt.c:633
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr ""
-#: getopt.c:678 getopt.c:682
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:691 getopt.c:696
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:739 getopt.c:758
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr ""
-#: getopt.c:796 getopt.c:799
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr ""
-#: getopt.c:807 getopt.c:810
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
-#: getopt.c:859 getopt.c:862
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr ""
-#: getopt.c:915 getopt.c:932 getopt.c:1142 getopt.c:1160
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr ""
-#: getopt.c:988 getopt.c:1004
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr ""
-#: getopt.c:1028 getopt.c:1046
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:1067 getopt.c:1085
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr ""
-#: io.c:347
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr ""
-#: io.c:350 io.c:463
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr ""
-#: io.c:590
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr ""
-#: io.c:666
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr ""
-#: io.c:700
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr ""
-#: io.c:706
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr ""
-#: io.c:711
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
-#: io.c:754
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr ""
-#: io.c:808
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr ""
-#: io.c:818
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr ""
-#: io.c:849
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr ""
-#: io.c:928
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr ""
-#: io.c:931
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr ""
-#: io.c:982
+#: io.c:1040
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
-#: io.c:998
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
msgstr ""
-#: io.c:1006
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr ""
-#: io.c:1028
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
msgstr ""
-#: io.c:1045
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr ""
-#: io.c:1050
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr ""
-#: io.c:1147
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
-#: io.c:1164
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr ""
-#: io.c:1167
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr ""
-#: io.c:1187
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr ""
-#: io.c:1190
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr ""
-#: io.c:1193
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr ""
-#: io.c:1196
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr ""
-#: io.c:1224 io.c:1279 main.c:842 main.c:879
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr ""
-#: io.c:1228 io.c:1284
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr ""
-#: io.c:1236
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr ""
-#: io.c:1239
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr ""
-#: io.c:1242
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr ""
-#: io.c:1356
+#: io.c:1420
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr ""
-#: io.c:1374
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr ""
-#: io.c:1526
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
-#: io.c:1540
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
msgstr ""
-#: io.c:1557
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
msgstr ""
-#: io.c:1575
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
msgstr ""
-#: io.c:1621
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr ""
-#: io.c:1796
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr ""
-#: io.c:1846
+#: io.c:1917
#, c-format
msgid "close of master pty failed (%s)"
msgstr ""
-#: io.c:1848 io.c:2024 io.c:2194
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr ""
-#: io.c:1851
+#: io.c:1922
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
-#: io.c:1853 io.c:2029
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr ""
-#: io.c:1856
+#: io.c:1927
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
-#: io.c:1858 io.c:1879
+#: io.c:1929 io.c:1951
#, c-format
msgid "close of slave pty failed (%s)"
msgstr ""
-#: io.c:1965 io.c:2027 io.c:2171 io.c:2197
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
-#: io.c:1972 io.c:2032
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
-#: io.c:1992 io.c:2187
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr ""
-#: io.c:2000
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr ""
-#: io.c:2035 io.c:2199 io.c:2213
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr ""
-#: io.c:2089
+#: io.c:2174
msgid "`|&' not supported"
msgstr ""
-#: io.c:2156
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr ""
-#: io.c:2207
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr ""
-#: io.c:2667
+#: io.c:2790
msgid "register_input_parser: received NULL pointer"
msgstr ""
-#: io.c:2695
+#: io.c:2818
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr ""
-#: io.c:2702
+#: io.c:2825
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr ""
-#: io.c:2722
+#: io.c:2845
msgid "register_output_wrapper: received NULL pointer"
msgstr ""
-#: io.c:2750
+#: io.c:2873
#, c-format
msgid ""
"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
msgstr ""
-#: io.c:2757
+#: io.c:2880
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr ""
-#: io.c:2778
+#: io.c:2901
msgid "register_output_processor: received NULL pointer"
msgstr ""
-#: io.c:2807
+#: io.c:2930
#, c-format
msgid ""
"two-way processor `%s' conflicts with previously installed two-way processor "
"`%s'"
msgstr ""
-#: io.c:2816
+#: io.c:2939
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr ""
-#: io.c:2923
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
msgstr ""
-#: io.c:2965 io.c:2973
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr ""
-#: io.c:3539
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
msgstr ""
-#: io.c:3628
+#: io.c:3771
msgid "IPv6 communication is not supported"
msgstr ""
-#: main.c:388
+#: main.c:405
msgid "empty argument to `-e/--source' ignored"
msgstr ""
-#: main.c:478
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr ""
-#: main.c:524
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr ""
-#: main.c:545
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
-#: main.c:551
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
msgstr ""
-#: main.c:562
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
-#: main.c:566
+#: main.c:583
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr ""
-#: main.c:571
+#: main.c:588
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr ""
-#: main.c:630
+#: main.c:647
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr ""
-#: main.c:633
+#: main.c:650
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr ""
-#: main.c:635
+#: main.c:652
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr ""
-#: main.c:693
+#: main.c:710
msgid "no program text at all!"
msgstr ""
-#: main.c:779
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr ""
-#: main.c:781
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr ""
-#: main.c:786
+#: main.c:806
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr ""
-#: main.c:787
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr ""
-#: main.c:788
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr ""
-#: main.c:789
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr ""
-#: main.c:790
+#: main.c:810
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr ""
-#: main.c:791
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr ""
-#: main.c:792
+#: main.c:812
msgid "\t-c\t\t\t--traditional\n"
msgstr ""
-#: main.c:793
+#: main.c:813
msgid "\t-C\t\t\t--copyright\n"
msgstr ""
-#: main.c:794
+#: main.c:814
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr ""
-#: main.c:795
+#: main.c:815
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr ""
-#: main.c:796
+#: main.c:816
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr ""
-#: main.c:797
+#: main.c:817
msgid "\t-E file\t\t\t--exec=file\n"
msgstr ""
-#: main.c:798
+#: main.c:818
msgid "\t-g\t\t\t--gen-pot\n"
msgstr ""
-#: main.c:799
+#: main.c:819
msgid "\t-h\t\t\t--help\n"
msgstr ""
-#: main.c:800
+#: main.c:820
msgid "\t-i includefile\t\t--include=includefile\n"
msgstr ""
-#: main.c:801
+#: main.c:821
msgid "\t-l library\t\t--load=library\n"
msgstr ""
-#: main.c:802
+#: main.c:822
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr ""
-#: main.c:803
+#: main.c:823
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr ""
-#: main.c:804
+#: main.c:824
msgid "\t-M\t\t\t--bignum\n"
msgstr ""
-#: main.c:805
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr ""
-#: main.c:806
+#: main.c:826
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr ""
-#: main.c:807
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
msgstr ""
-#: main.c:808
+#: main.c:828
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr ""
-#: main.c:809
+#: main.c:829
msgid "\t-P\t\t\t--posix\n"
msgstr ""
-#: main.c:810
+#: main.c:830
msgid "\t-r\t\t\t--re-interval\n"
msgstr ""
-#: main.c:811
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr ""
-#: main.c:812
+#: main.c:832
msgid "\t-t\t\t\t--lint-old\n"
msgstr ""
-#: main.c:813
+#: main.c:833
msgid "\t-V\t\t\t--version\n"
msgstr ""
-#: main.c:815
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr ""
-#: main.c:818
+#: main.c:838
msgid "\t-Y\t\t--parsedebug\n"
msgstr ""
@@ -2989,7 +3007,7 @@ msgstr ""
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:827
+#: main.c:847
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -2997,21 +3015,21 @@ msgid ""
"\n"
msgstr ""
-#: main.c:831
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
"\n"
msgstr ""
-#: main.c:835
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
msgstr ""
-#: main.c:855
+#: main.c:880
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3023,7 +3041,7 @@ msgid ""
"\n"
msgstr ""
-#: main.c:863
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3032,70 +3050,70 @@ msgid ""
"\n"
msgstr ""
-#: main.c:869
+#: main.c:894
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 ""
-#: main.c:904
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr ""
-#: main.c:1181
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr ""
-#: main.c:1279
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr ""
-#: main.c:1305
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr ""
-#: main.c:1308
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr ""
-#: main.c:1312
+#: main.c:1339
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
-#: main.c:1317
+#: main.c:1344
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr ""
-#: main.c:1370
+#: main.c:1397
msgid "floating point exception"
msgstr ""
-#: main.c:1377
+#: main.c:1404
msgid "fatal error: internal error"
msgstr ""
-#: main.c:1392
+#: main.c:1419
msgid "fatal error: internal error: segfault"
msgstr ""
-#: main.c:1404
+#: main.c:1431
msgid "fatal error: internal error: stack overflow"
msgstr ""
-#: main.c:1463
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr ""
-#: main.c:1470
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr ""
@@ -3150,7 +3168,7 @@ msgstr ""
msgid "%s: argument #%d negative value %Zd will give strange results"
msgstr ""
-#: msg.c:61
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr ""
@@ -3200,68 +3218,63 @@ msgstr ""
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr ""
-#: profile.c:70
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr ""
-#: profile.c:72
+#: profile.c:73
msgid "sending profile to standard error"
msgstr ""
-#: profile.c:188
+#: profile.c:193
#, c-format
msgid ""
"\t# %s block(s)\n"
"\n"
msgstr ""
-#: profile.c:193
+#: profile.c:198
#, c-format
msgid ""
"\t# Rule(s)\n"
"\n"
msgstr ""
-#: profile.c:267
+#: profile.c:272
#, c-format
msgid "internal error: %s with null vname"
msgstr ""
-#: profile.c:530
+#: profile.c:537
msgid "internal error: builtin with null fname"
msgstr ""
-#: profile.c:942
+#: profile.c:949
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
"\n"
msgstr ""
-#: profile.c:965
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr ""
-#: profile.c:1351
+#: profile.c:1475
#, c-format
msgid ""
"\n"
"\t# Functions, listed alphabetically\n"
msgstr ""
-#: profile.c:1389
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr ""
-#: re.c:583
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr ""
-
-#: re.c:610
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
@@ -3330,6 +3343,6 @@ msgstr ""
msgid "No previous regular expression"
msgstr ""
-#: symbol.c:740
+#: symbol.c:741
msgid "can not pop main context"
msgstr ""
diff --git a/po/it.gmo b/po/it.gmo
index 2cb0e347..a81bb172 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 5e2c5a1b..bd4b64c7 100644
--- a/po/it.po
+++ b/po/it.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU Awk 4.0.73, API: 0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2013-05-09 16:05+0300\n"
-"PO-Revision-Date: 2013-05-10 11:52+0100\n"
+"POT-Creation-Date: 2014-01-15 10:40+0100\n"
+"PO-Revision-Date: 2014-01-15 10:39+0100\n"
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
"Language-Team: Italian <it@li.org>\n"
"Language: it\n"
@@ -15,92 +15,92 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: array.c:254
+#: array.c:256
#, c-format
msgid "from %s"
msgstr "da %s"
-#: array.c:354
+#: array.c:357
msgid "attempt to use a scalar value as array"
msgstr "tentativo di usare valore scalare come vettore"
-#: array.c:356
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "tentativo di usare il parametro scalare `%s' come un vettore"
-#: array.c:359
+#: array.c:362
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "tentativo di usare scalare '%s' come vettore"
-#: array.c:406 array.c:573 builtin.c:85 builtin.c:1591 builtin.c:1637
-#: builtin.c:1650 builtin.c:2078 builtin.c:2092 eval.c:1121 eval.c:1125
-#: eval.c:1524
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "tentativo di usare vettore `%s' in un contesto scalare"
-#: array.c:580
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indice `%s' non presente nel vettore `%s'"
-#: array.c:594
+#: array.c:597
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "tentativo di usare scalare`%s[\"%.*s\"]' come vettore"
-#: array.c:773
+#: array.c:776
msgid "adump: first argument not an array"
msgstr "adump: primo argomento non-vettoriale"
-#: array.c:812
+#: array.c:815
msgid "asort: second argument not an array"
msgstr "asort: secondo argomento non-vettoriale"
-#: array.c:813
+#: array.c:816
msgid "asorti: second argument not an array"
msgstr "asorti: secondo argomento non-vettoriale"
-#: array.c:820
+#: array.c:823
msgid "asort: first argument not an array"
msgstr "asort: primo argomento non-vettoriale"
-#: array.c:821
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr "asorti: primo argomento non-vettoriale"
-#: array.c:828
+#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
"asort: non consentito un secondo argomento che sia un sottovettore del primo "
"argomento"
-#: array.c:829
+#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
"asorti: non consentito un secondo argomento che sia un sottovettore del "
"primo argomento"
-#: array.c:834
+#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
"asort: non consentito un primo argomento che sia un sottovettore del secondo "
"argomento"
-#: array.c:835
+#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
"asorti: non consentito un primo argomento che sia un sottovettore del "
"secondo argomento"
-#: array.c:1309
+#: array.c:1314
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "`%s' non è un nome funzione valido"
-#: array.c:1313
+#: array.c:1318
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "funzione di confronto del sort `%s' non definita"
@@ -236,11 +236,11 @@ msgstr ""
msgid "invalid subscript expression"
msgstr "espressione indice invalida"
-#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "attenzione: "
-#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "fatale: "
@@ -248,8 +248,8 @@ msgstr "fatale: "
msgid "unexpected newline or end of string"
msgstr "carattere 'a capo' o fine stringa non previsti"
-#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:517 debug.c:533
-#: debug.c:2792 debug.c:5040
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)"
@@ -259,7 +259,7 @@ msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)"
msgid "can't open shared library `%s' for reading (%s)"
msgstr "non riesco ad aprire shared library `%s' in lettura (%s)"
-#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "ragione indeterminata"
@@ -438,7 +438,7 @@ msgstr "index: espressione regolare come secondo argomento non consentita"
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funzione `%s': parametro `%s' nasconde variabile globale"
-#: awkgram.y:4102 debug.c:4021 debug.c:4064 debug.c:5189
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "non riesco ad aprire `%s' in scrittura (%s)"
@@ -483,24 +483,24 @@ msgstr ""
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
msgstr "funzione `%s' chiamata ma mai definita"
-#: awkgram.y:4376
+#: awkgram.y:4369
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funzione `%s' definita ma mai chiamata direttamente"
-#: awkgram.y:4408
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
"espressione regolare di valore costante per parametro #%d genera valore "
"booleano"
-#: awkgram.y:4467
+#: awkgram.y:4460
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -509,234 +509,246 @@ msgstr ""
"funzione `%s' chiamata con spazio tra il nome e `(',\n"
"o usata come variabile o vettore"
-#: awkgram.y:4703
+#: awkgram.y:4696
msgid "division by zero attempted"
msgstr "tentativo di dividere per zero"
-#: awkgram.y:4712
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "tentativo di dividere per zero in `%%'"
-#: builtin.c:128
+#: awkgram.y:5025
+msgid ""
+"cannot assign a value to the result of a field post-increment expression"
+msgstr ""
+"impossibile assegnare un valore al risultato di un'espressione di post-"
+"incremento di un campo"
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr "destinazione di assegnazione non valida (codice operativo %s)"
+
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s a \"%s\" non riuscita (%s)"
-#: builtin.c:129
+#: builtin.c:134
msgid "standard output"
msgstr "standard output"
-#: builtin.c:143
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr "exp: argomento non-numerico"
-#: builtin.c:149
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argomento %g fuori intervallo"
-#: builtin.c:224
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: non riesco a scaricare: `pipe' `%s' aperta in lettura, non in "
"scrittura"
-#: builtin.c:227
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: non riesco a scaricare: file `%s' aperto in lettura, non in scrittura"
-#: builtin.c:239
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: `%s' non è un file aperto, una `pipe' o un co-processo"
-#: builtin.c:357
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr "index: il primo argomento non è una stringa"
-#: builtin.c:359
+#: builtin.c:364
msgid "index: received non-string second argument"
msgstr "index: il secondo argomento non è una stringa"
-#: builtin.c:483 mpfr.c:757
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr "int: argomento non-numerico"
-#: builtin.c:520
+#: builtin.c:525
msgid "length: received array argument"
msgstr "length: l'argomento fornito è un vettore"
-#: builtin.c:523
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
msgstr "`length(array)' è un'estensione gawk"
-#: builtin.c:539
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr "length: l'argomento non è una stringa"
-#: builtin.c:570
+#: builtin.c:575
msgid "log: received non-numeric argument"
msgstr "log: argomento non-numerico"
-#: builtin.c:573
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
msgstr "log: argomento negativo %g"
-#: builtin.c:771 builtin.c:776
+#: builtin.c:776 builtin.c:781
msgid "fatal: must use `count$' on all formats or none"
msgstr "fatale: `count$' va usato per ogni `format' o per nessuno"
-#: builtin.c:846
+#: builtin.c:851
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "larghezza campo ignorata per la specifica `%%'"
-#: builtin.c:848
+#: builtin.c:853
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "precisione ignorata per la specifica `%%'"
-#: builtin.c:850
+#: builtin.c:855
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "larghezza campo e precisone ignorate per la specifica `%%'"
-#: builtin.c:901
+#: builtin.c:906
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatale: operatore `$' non consentito nei `format' awk"
-#: builtin.c:910
+#: builtin.c:915
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatale: numero argomenti con `$' dev'essere > 0"
-#: builtin.c:914
+#: builtin.c:919
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr "fatale: numero argomenti %ld > del numero totale argomenti specificati"
-#: builtin.c:918
+#: builtin.c:923
msgid "fatal: `$' not permitted after period in format"
msgstr "fatale: `$' non consentito dopo il punto in un `format'"
-#: builtin.c:934
+#: builtin.c:939
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "fatale: manca `$' per i campi posizionali larghezza o precisione"
-#: builtin.c:1006
+#: builtin.c:1011
msgid "`l' is meaningless in awk formats; ignored"
msgstr "`l' non ha senso nei `format' awk; ignorato"
-#: builtin.c:1010
+#: builtin.c:1015
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatale: `l' non consentito nei `format' POSIX awk"
-#: builtin.c:1023
+#: builtin.c:1028
msgid "`L' is meaningless in awk formats; ignored"
msgstr "`L' non ha senso nei `format' awk; ignorato"
-#: builtin.c:1027
+#: builtin.c:1032
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "`L' non ha senso nei `format' awk; ignorato"
-#: builtin.c:1040
+#: builtin.c:1045
msgid "`h' is meaningless in awk formats; ignored"
msgstr "`h' non ha senso nei `format' awk; ignorato"
-#: builtin.c:1044
+#: builtin.c:1049
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatale: `h' non consentito nei `format' POSIX awk"
-#: builtin.c:1439
+#: builtin.c:1447
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: valore %g fuori intervallo per il `format' `%%%c'"
-#: builtin.c:1537
+#: builtin.c:1545
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"carattere di `format' sconosciuto `%c' ignorato: nessun argomento convertito"
-#: builtin.c:1542
+#: builtin.c:1550
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
"fatale: argomenti in numero minore di quelli richiesti dalla stringa di "
"`format'"
-#: builtin.c:1544
+#: builtin.c:1552
msgid "^ ran out for this one"
msgstr "^ esauriti a questo punto"
-#: builtin.c:1551
+#: builtin.c:1559
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: specifica di `format' senza un carattere di controllo"
-#: builtin.c:1554
+#: builtin.c:1562
msgid "too many arguments supplied for format string"
msgstr "troppi argomenti specificati per questa stringa di `format'"
-#: builtin.c:1610
+#: builtin.c:1618
msgid "sprintf: no arguments"
msgstr "sprintf: nessun argomento"
-#: builtin.c:1633 builtin.c:1644
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr "printf: nessun argomento"
-#: builtin.c:1687
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: argomento non-numerico"
-#: builtin.c:1691
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: chiamata con argomento negativo %g"
-#: builtin.c:1722
+#: builtin.c:1730
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: lunghezza %g non >= 1"
-#: builtin.c:1724
+#: builtin.c:1732
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: lunghezza %g non >= 0"
-#: builtin.c:1731
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: lunghezza non intera %g: sarà troncata"
-#: builtin.c:1736
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr: lunghezza %g troppo elevata per indice stringa, tronco a %g"
-#: builtin.c:1748
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: indice di partenza %g non valido, uso 1"
-#: builtin.c:1753
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: indice di partenza non intero %g: sarà troncato"
-#: builtin.c:1778
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr "substr: stringa di partenza lunga zero"
-#: builtin.c:1794
+#: builtin.c:1802
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: indice di partenza %g oltre la fine della stringa"
-#: builtin.c:1802
+#: builtin.c:1810
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -744,187 +756,187 @@ msgstr ""
"substr: lunghezza %g all'indice di partenza %g supera la lunghezza del primo "
"argomento (%lu)"
-#: builtin.c:1876
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: il valore del `format' in PROCINFO[\"strftime\"] è di tipo numerico"
-#: builtin.c:1899
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
msgstr "strftime: secondo argomento non-numerico"
-#: builtin.c:1903
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: secondo argomento < 0 o troppo elevato per time_t"
-#: builtin.c:1910
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr "strftime: il primo argomento non è una stringa"
-#: builtin.c:1917
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr "strftime: `format' è una stringa nulla"
-#: builtin.c:1983
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr "mktime: l'argomento non è una stringa"
-#: builtin.c:2000
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: almeno un valore è fuori dall'intervallo di default"
-#: builtin.c:2035
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr "funzione 'system' non consentita in modo `sandbox'"
-#: builtin.c:2040
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr "system: l'argomento non è una stringa"
-#: builtin.c:2160
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "riferimento a variabile non inizializzata `$%d'"
-#: builtin.c:2247
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr "tolower: l'argomento non è una stringa"
-#: builtin.c:2281
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr "toupper: l'argomento non è una stringa"
-#: builtin.c:2317 mpfr.c:672
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr "atan2: primo argomento non-numerico"
-#: builtin.c:2319 mpfr.c:674
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr "atan2: secondo argomento non-numerico"
-#: builtin.c:2338
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr "sin: argomento non-numerico"
-#: builtin.c:2354
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr "cos: argomento non-numerico"
-#: builtin.c:2407 mpfr.c:1156
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr "srand: argomento non-numerico"
-#: builtin.c:2438
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr "match: terzo argomento non-vettoriale"
-#: builtin.c:2710
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: il terzo argomento è 0, trattato come 1"
-#: builtin.c:3003
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr "lshift: primo argomento non-numerico"
-#: builtin.c:3005
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
msgstr "lshift: secondo argomento non-numerico"
-#: builtin.c:3011
+#: builtin.c:3022
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): valori negativi daranno risultati strani"
-#: builtin.c:3013
+#: builtin.c:3024
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): valori decimali saranno troncati"
-#: builtin.c:3015
+#: builtin.c:3026
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): valori troppo alti daranno risultati strani"
-#: builtin.c:3040
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr "rshift: primo argomento ricevuto non-numerico"
-#: builtin.c:3042
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
msgstr "rshift: secondo argomento non-numerico"
-#: builtin.c:3048
+#: builtin.c:3059
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): valori negativi daranno risultati strani"
-#: builtin.c:3050
+#: builtin.c:3061
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): valori decimali saranno troncati"
-#: builtin.c:3052
+#: builtin.c:3063
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): valori troppo alti daranno risultati strani"
-#: builtin.c:3077 mpfr.c:968
+#: builtin.c:3088 mpfr.c:968
msgid "and: called with less than two arguments"
msgstr "and: chiamata con meno di due argomenti"
-#: builtin.c:3082
+#: builtin.c:3093
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argomento %d non-numerico"
-#: builtin.c:3086
+#: builtin.c:3097
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: argomento %d, valore negativo %g darà risultati strani"
-#: builtin.c:3109 mpfr.c:1000
+#: builtin.c:3120 mpfr.c:1000
msgid "or: called with less than two arguments"
msgstr "or: chiamata con meno di due argomenti"
-#: builtin.c:3114
+#: builtin.c:3125
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argomento %d non-numerico"
-#: builtin.c:3118
+#: builtin.c:3129
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: argomento %d, valore negativo %g darà risultati strani"
-#: builtin.c:3140 mpfr.c:1031
+#: builtin.c:3151 mpfr.c:1031
msgid "xor: called with less than two arguments"
msgstr "xor: chiamata con meno di due argomenti"
-#: builtin.c:3146
+#: builtin.c:3157
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argomento %d non-numerico"
-#: builtin.c:3150
+#: builtin.c:3161
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: argomento %d, valore negativo %g darà risultati strani"
-#: builtin.c:3175 mpfr.c:787
+#: builtin.c:3186 mpfr.c:787
msgid "compl: received non-numeric argument"
msgstr "compl: argomento non-numerico"
-#: builtin.c:3181
+#: builtin.c:3192
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): valore negativo, darà risultati strani"
-#: builtin.c:3183
+#: builtin.c:3194
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): valori decimali saranno troncati"
-#: builtin.c:3352
+#: builtin.c:3363
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' non è una categoria `locale' valida"
@@ -1231,7 +1243,7 @@ msgstr "up [N] - spostati di N elementi dello stack verso l'alto."
msgid "watch var - set a watchpoint for a variable."
msgstr "watch var - imposta un watchpoint per una variabile."
-#: command.y:1011 debug.c:395 msg.c:128
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr "errore: "
@@ -1269,97 +1281,97 @@ msgstr "carattere non valido"
msgid "undefined command: %s\n"
msgstr "comando non definito: %s\n"
-#: debug.c:246
+#: debug.c:252
msgid "set or show the number of lines to keep in history file."
msgstr ""
"imposta o mostra il numero di righe da tenere nel file che contiene la "
"storia comandi."
-#: debug.c:248
+#: debug.c:254
msgid "set or show the list command window size."
msgstr "imposta o mostra dimensioni finestra lista comandi"
-#: debug.c:250
+#: debug.c:256
msgid "set or show gawk output file."
msgstr "imposta o mostra file di outpu gawk"
-#: debug.c:252
+#: debug.c:258
msgid "set or show debugger prompt."
msgstr "imposta o mostra prompt di debug"
-#: debug.c:254
+#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
msgstr "(dis)imposta o mostra salvataggio storia comandi (valore=on|off)."
-#: debug.c:256
+#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
msgstr "(dis)imposta o mostra salvataggio opzioni (valore=on|off)."
-#: debug.c:258
+#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
msgstr "(dis)imposta o mostra tracciamento istruzioni (valore=on|off)."
-#: debug.c:339
+#: debug.c:345
msgid "program not running."
msgstr "programma non in esecuzione."
-#: debug.c:442 debug.c:597
+#: debug.c:448 debug.c:606
#, c-format
msgid "can't read source file `%s' (%s)"
msgstr "non riesco a leggere file sorgente `%s' (%s)"
-#: debug.c:447
+#: debug.c:453
#, c-format
msgid "source file `%s' is empty.\n"
msgstr "file sorgente `%s' vuoto.\n"
-#: debug.c:474
+#: debug.c:480
msgid "no current source file."
msgstr "file sorgente non disponibile."
-#: debug.c:499
+#: debug.c:505
#, c-format
msgid "cannot find source file named `%s' (%s)"
msgstr "non riesco a leggere file di nome `%s' (%s)"
-#: debug.c:523
+#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
msgstr ""
"ATTENZIONE: file sorgente `%s' modificato dopo la compilazione del "
"programma.\n"
-#: debug.c:542
+#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
msgstr "numero riga %d non ammesso; `%s' ha %d righe"
-#: debug.c:602
+#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
msgstr "fine-file inattesa durante lettura file `%s', riga %d"
-#: debug.c:611
+#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
msgstr "file sorgente `%s' modificato dopo l'inizio esecuzione del programma."
-#: debug.c:723
+#: debug.c:732
#, c-format
msgid "Current source file: %s\n"
msgstr "File sorgente corrente: %s\n"
-#: debug.c:724
+#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
msgstr "Numero di righe: %d\n"
-#: debug.c:731
+#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
msgstr "File sorgente (righe): %s (%d)\n"
-#: debug.c:745
+#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
@@ -1367,54 +1379,54 @@ msgstr ""
"Numero Disp Abilit. Posizione\n"
"\n"
-#: debug.c:756
+#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
msgstr "\tn. di occorrenze = %ld\n"
-#: debug.c:758
+#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
msgstr "\tignora prossime %ld occorrenze\n"
-#: debug.c:760 debug.c:900
+#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
msgstr "\tcondizione per stop: %s\n"
-#: debug.c:762 debug.c:902
+#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
msgstr "\tcomandi:\n"
-#: debug.c:784
+#: debug.c:793
#, c-format
msgid "Current frame: "
msgstr "Elemento corrente: "
-#: debug.c:787
+#: debug.c:796
#, c-format
msgid "Called by frame: "
msgstr "Chiamato da elemento: "
-#: debug.c:791
+#: debug.c:800
#, c-format
msgid "Caller of frame: "
msgstr "Chiamante di elemento: "
-#: debug.c:809
+#: debug.c:818
#, c-format
msgid "None in main().\n"
msgstr "Assente in main().\n"
-#: debug.c:839
+#: debug.c:848
msgid "No arguments.\n"
msgstr "Nessun argomento.\n"
-#: debug.c:840
+#: debug.c:849
msgid "No locals.\n"
msgstr "Nessun `locale'.\n"
-#: debug.c:848
+#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
@@ -1422,7 +1434,7 @@ msgstr ""
"Tutte le variabili definite:\n"
"\n"
-#: debug.c:858
+#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
@@ -1430,7 +1442,7 @@ msgstr ""
"Tutte le funzioni definite:\n"
"\n"
-#: debug.c:877
+#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
@@ -1438,7 +1450,7 @@ msgstr ""
"Auto-visualizzazione variabili:\n"
"\n"
-#: debug.c:880
+#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
@@ -1446,362 +1458,362 @@ msgstr ""
"Variabili Watch [da tenere sott'occhio]:\n"
"\n"
-#: debug.c:1020
+#: debug.c:1029
#, c-format
msgid "no symbol `%s' in current context\n"
msgstr "nessun simbolo `%s' nel contesto corrente\n"
-#: debug.c:1032 debug.c:1418
+#: debug.c:1041 debug.c:1427
#, c-format
msgid "`%s' is not an array\n"
msgstr "`%s' non è un vettore\n"
-#: debug.c:1046
+#: debug.c:1055
#, c-format
msgid "$%ld = uninitialized field\n"
msgstr "%ld = variabile non inizializzata\n"
-#: debug.c:1067
+#: debug.c:1076
#, c-format
msgid "array `%s' is empty\n"
msgstr "vettore `%s' vuoto\n"
-#: debug.c:1110 debug.c:1162
+#: debug.c:1119 debug.c:1171
#, c-format
msgid "[\"%s\"] not in array `%s'\n"
msgstr "[\"%s\"] non presente nel vettore `%s\n"
-#: debug.c:1166
+#: debug.c:1175
#, c-format
msgid "`%s[\"%s\"]' is not an array\n"
msgstr "`%s[\"%s\"]' non è un vettore\n"
-#: debug.c:1227 debug.c:4949
+#: debug.c:1236 debug.c:4964
#, c-format
msgid "`%s' is not a scalar variable"
msgstr "`%s' non è una variabile scalare"
-#: debug.c:1249 debug.c:4979
+#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "tentativo di usare vettore `%s[\"%s\"]' in un contesto scalare"
-#: debug.c:1271 debug.c:4990
+#: debug.c:1280 debug.c:5005
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "tentativo di usare scalare `%s[\"%s\"]' come vettore"
-#: debug.c:1414
+#: debug.c:1423
#, c-format
msgid "`%s' is a function"
msgstr "`%s' è una funzione"
-#: debug.c:1456
+#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
msgstr "watchpoint %d non soggetto a condizioni\n"
-#: debug.c:1490
+#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
msgstr "Nessun elemento numerato da visualizzare %ld"
-#: debug.c:1493
+#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
msgstr "Nessun elemento numerato watch [da sorvegliare] da visualizzare %ld"
-#: debug.c:1519
+#: debug.c:1528
#, c-format
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr "%d: [\"%s\"] non presente nel vettore `%s'\n"
-#: debug.c:1758
+#: debug.c:1767
msgid "attempt to use scalar value as array"
msgstr "tentativo di usare valore scalare come vettore"
-#: debug.c:1847
+#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
msgstr "Watchpoint %d cancellato perché il parametro è fuori intervallo.\n"
-#: debug.c:1858
+#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
msgstr ""
"Visualizzazione %d cancellata perché il parametro è fuori intervallo.\n"
-#: debug.c:1891
+#: debug.c:1900
#, c-format
msgid " in file `%s', line %d\n"
msgstr " nel file `%s', riga %d\n"
-#: debug.c:1912
+#: debug.c:1921
#, c-format
msgid " at `%s':%d"
msgstr " a `%s':%d"
-#: debug.c:1928 debug.c:1991
+#: debug.c:1937 debug.c:2000
#, c-format
msgid "#%ld\tin "
msgstr "#%ld\tin "
-#: debug.c:1965
+#: debug.c:1974
#, c-format
msgid "More stack frames follow ...\n"
msgstr "Ulteriori elementi stack seguono...\n"
-#: debug.c:2008
+#: debug.c:2017
msgid "invalid frame number"
msgstr "numero elemento non valido"
-#: debug.c:2180
+#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
msgstr ""
"Nota: breakpoint %d (abilitato, ignora prossimi %ld passaggi), anche "
"impostato a %s:%d"
-#: debug.c:2187
+#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
msgstr "Nota: breakpoint %d (abilitato), anche impostato a %s:%d"
-#: debug.c:2194
+#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
msgstr ""
"Nota: breakpoint %d (disabilitato, ignora prossimi %ld passaggi), anche "
"impostato a %s:%d"
-#: debug.c:2201
+#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
msgstr "Nota: breakpoint %d (disabilitato), anche impostato a %s:%d"
-#: debug.c:2218
+#: debug.c:2238
#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
msgstr "Breakpoint %d impostato al file `%s', riga %d\n"
-#: debug.c:2320
+#: debug.c:2340
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
msgstr "Non riesco a impostare breakpoint nel file `%s'\n"
-#: debug.c:2349 debug.c:2472 debug.c:3330
+#: debug.c:2369 debug.c:2492 debug.c:3350
#, c-format
msgid "line number %d in file `%s' out of range"
msgstr "numero riga %d nel file `%s' fuori intervallo"
-#: debug.c:2353
+#: debug.c:2373
#, c-format
msgid "Can't find rule!!!\n"
msgstr "Non riesco a trovare la regola!!!\n"
-#: debug.c:2355
+#: debug.c:2375
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
msgstr "Non riesco a impostare breakpoint a `%s':%d\n"
-#: debug.c:2367
+#: debug.c:2387
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
msgstr "Non riesco a impostare breakpoint nella funzione `%s'\n"
-#: debug.c:2383
+#: debug.c:2403
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
msgstr "breakpoint %d impostato al file `%s', riga %d è senza condizioni\n"
-#: debug.c:2488 debug.c:2510
+#: debug.c:2508 debug.c:2530
#, c-format
msgid "Deleted breakpoint %d"
msgstr "Cancellato breakpoint %d"
-#: debug.c:2494
+#: debug.c:2514
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
msgstr "No breakpoint all'entrata nella funzione `%s'\n"
-#: debug.c:2521
+#: debug.c:2541
#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
msgstr "No breakpoint al file `%s', riga #%d\n"
-#: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
msgid "invalid breakpoint number"
msgstr "numero breakpoint non valido"
-#: debug.c:2592
+#: debug.c:2612
msgid "Delete all breakpoints? (y or n) "
msgstr "Cancello tutti i breakpoint? (y oppure n) "
-#: debug.c:2593 debug.c:2903 debug.c:2956
+#: debug.c:2613 debug.c:2923 debug.c:2976
msgid "y"
msgstr "y"
-#: debug.c:2642
+#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
msgstr "Prossimi %ld passaggi dal breakpoint %d ignorati.\n"
-#: debug.c:2646
+#: debug.c:2666
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
msgstr "Farò uno stop al prossimo passaggio dal breakpoint %d.\n"
-#: debug.c:2763
+#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
msgstr "Debug possibile solo per programmi con opzione `-f' specificata.\n"
-#: debug.c:2888
+#: debug.c:2908
#, c-format
msgid "Failed to restart debugger"
msgstr "Non sono riuscito a far ripartire il debugger"
-#: debug.c:2902
+#: debug.c:2922
msgid "Program already running. Restart from beginning (y/n)? "
msgstr "Programma già in esecuzione. Lo faccio ripartire dall'inizio (y/n)? "
-#: debug.c:2906
+#: debug.c:2926
#, c-format
msgid "Program not restarted\n"
msgstr "Programma non fatto ripartire\n"
-#: debug.c:2916
+#: debug.c:2936
#, c-format
msgid "error: cannot restart, operation not allowed\n"
msgstr "errore: non riesco a far ripartire, operazione non consentita\n"
-#: debug.c:2922
+#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
msgstr "errore (%s): non riesco a far ripartire, ignoro i comandi rimanenti\n"
-#: debug.c:2930
+#: debug.c:2950
#, c-format
msgid "Starting program: \n"
msgstr "Partenza del programma: \n"
-#: debug.c:2939
+#: debug.c:2959
#, c-format
msgid "Program exited %s with exit value: %d\n"
msgstr "Programma %s eseguit, valore in uscita: %d\n"
-#: debug.c:2955
+#: debug.c:2975
msgid "The program is running. Exit anyway (y/n)? "
msgstr "Il programma è in esecuzione. Esco comunque (y/n)? "
-#: debug.c:2990
+#: debug.c:3010
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
msgstr "Non interrotto ad alcun breakpoint: argomento ignorato.\n"
-#: debug.c:2995
+#: debug.c:3015
#, c-format
msgid "invalid breakpoint number %d."
msgstr "numero di breakpoint non valido %d."
-#: debug.c:3000
+#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
msgstr "Prossimi %ld passaggi dal breakpoint %d ignorati.\n"
-#: debug.c:3187
+#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
msgstr "'finish' non significativo nell'elemento iniziale main()\n"
-#: debug.c:3192
+#: debug.c:3212
#, c-format
msgid "Run till return from "
msgstr "Esegui fino al ritorno da "
-#: debug.c:3235
+#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
msgstr "'return' non significativo nell'elemento iniziale main()\n"
-#: debug.c:3349
+#: debug.c:3369
#, c-format
msgid "Can't find specified location in function `%s'\n"
msgstr "Non trovo la posizione specificata nella funzione `%s'\n"
-#: debug.c:3357
+#: debug.c:3377
#, c-format
msgid "invalid source line %d in file `%s'"
msgstr "riga sorgente invalida %d nel file `%s'"
-#: debug.c:3372
+#: debug.c:3392
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
msgstr "Non trovo posizione specificata %d nel file `%s'\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "element not in array\n"
msgstr "elemento non presente nel vettore\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "untyped variable\n"
msgstr "variabile di tipo sconosciuto\n"
-#: debug.c:3446
+#: debug.c:3466
#, c-format
msgid "Stopping in %s ...\n"
msgstr "Mi fermo in %s ...\n"
-#: debug.c:3523
+#: debug.c:3543
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
msgstr "'finish' not significativo per salti non-locali '%s'\n"
-#: debug.c:3530
+#: debug.c:3550
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
msgstr "'until' not significativo per salti non-locali '%s'\n"
-#: debug.c:4165
+#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
msgstr "\t------[Invio] per continuare o q [Invio] per uscire------"
-#: debug.c:4166
+#: debug.c:4186
msgid "q"
msgstr "q"
-#: debug.c:4986
+#: debug.c:5001
#, c-format
msgid "[\"%s\"] not in array `%s'"
msgstr "[\"%s\"] non presente nel vettore `%s'"
-#: debug.c:5192
+#: debug.c:5207
#, c-format
msgid "sending output to stdout\n"
msgstr "output inviato a stdout\n"
-#: debug.c:5232
+#: debug.c:5247
msgid "invalid number"
msgstr "numero non valido"
-#: debug.c:5366
+#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr "`%s' non consentito nel contesto corrente; istruzione ignorata"
-#: debug.c:5374
+#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
msgstr "`return' non consentito nel contesto corrente; istruzione ignorata"
-#: debug.c:5575
+#: debug.c:5590
#, c-format
msgid "No symbol `%s' in current context"
msgstr "Simbolo `%s' non esiste nel contesto corrente"
#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
-#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
msgid "unbalanced ["
msgstr "[ non chiusa"
@@ -1809,31 +1821,31 @@ msgstr "[ non chiusa"
msgid "invalid character class"
msgstr "character class non valida"
-#: dfa.c:1229
+#: dfa.c:1228
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr "sintassi character class è [[:spazio:]], non [:spazio:]"
-#: dfa.c:1281
+#: dfa.c:1280
msgid "unfinished \\ escape"
msgstr "sequenza escape \\ non completa"
-#: dfa.c:1428 regcomp.c:161
+#: dfa.c:1427 regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Contenuto di \\{\\} non valido"
-#: dfa.c:1431 regcomp.c:176
+#: dfa.c:1430 regcomp.c:176
msgid "Regular expression too big"
msgstr "Espressione regolare troppo complessa"
-#: dfa.c:1816
+#: dfa.c:1847
msgid "unbalanced ("
msgstr "( non chiusa"
-#: dfa.c:1943
+#: dfa.c:1973
msgid "no syntax specified"
msgstr "nessuna sintassi specificata"
-#: dfa.c:1951
+#: dfa.c:1981
msgid "unbalanced )"
msgstr ") non aperta"
@@ -1852,11 +1864,11 @@ msgstr "codice operativo sconosciuto %d"
msgid "opcode %s not an operator or keyword"
msgstr "codice operativo %s non è un operatore o una parola chiave"
-#: eval.c:471
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr "superamento limiti buffer in 'genflags2str'"
-#: eval.c:674
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -1867,71 +1879,71 @@ msgstr ""
"\t# `Stack' (Pila) Chiamate Funzione:\n"
"\n"
-#: eval.c:703
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
msgstr "`IGNORECASE' è un'estensione gawk"
-#: eval.c:735
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "`BINMODE' è un'estensione gawk"
-#: eval.c:793
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "valore di BINMODE `%s' non valido, considerato come 3"
-#: eval.c:884
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "specificazione invalida `%sFMT' `%s'"
-#: eval.c:968
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "disabilito `--lint' a causa di assegnamento a `LINT'"
-#: eval.c:1146
+#: eval.c:1147
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "riferimento ad argomento non inizializzato `%s'"
-#: eval.c:1147
+#: eval.c:1148
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "riferimento a variabile non inizializzata `%s'"
-#: eval.c:1165
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr "tentativo di riferimento a un campo da valore non-numerico"
-#: eval.c:1167
+#: eval.c:1168
msgid "attempt to field reference from null string"
msgstr "tentativo di riferimento a un campo da una stringa nulla"
-#: eval.c:1175
+#: eval.c:1176
#, c-format
msgid "attempt to access field %ld"
msgstr "tentativo di accedere al campo %ld"
-#: eval.c:1184
+#: eval.c:1185
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "riferimento a campo non inizializzato `$%ld'"
-#: eval.c:1271
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funzione `%s' chiamata con più argomenti di quelli previsti"
-#: eval.c:1466
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: tipo non previsto `%s'"
-#: eval.c:1562
+#: eval.c:1569
msgid "division by zero attempted in `/='"
msgstr "divisione per zero tentata in `/='"
-#: eval.c:1569
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "divisione per zero tentata in `%%='"
@@ -1944,7 +1956,7 @@ msgstr "le estensioni non sono consentite in modo `sandbox'"
msgid "-l / @load are gawk extensions"
msgstr "-l / @load sono estensioni gawk"
-#: ext.c:95 ext.c:177
+#: ext.c:95
msgid "load_ext: received NULL lib_name"
msgstr "load_ext: nome libreria ricevuto è NULL"
@@ -1975,6 +1987,10 @@ msgstr ""
msgid "`extension' is a gawk extension"
msgstr "`extension' è un'estensione gawk"
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr "extension: nome libreria ricevuto è NULL"
+
#: ext.c:180
#, c-format
msgid "extension: cannot open library `%s' (%s)"
@@ -1996,37 +2012,37 @@ msgstr "extension: libreria `%s': non riesco a chiamare funzione `%s' (%s)"
msgid "make_builtin: missing function name"
msgstr "make_builtin: manca nome di funzione"
-#: ext.c:238
+#: ext.c:236
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr "make_builtin: non riesco a ridefinire funzione `%s'"
-#: ext.c:242
+#: ext.c:240
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr "make_builtin: funzione `%s' già definita"
-#: ext.c:246
+#: ext.c:244
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr "make_builtin: funzione di nome `%s' definita in precedenza"
-#: ext.c:248
+#: ext.c:246
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
msgstr ""
"make_builtin: nome funzione interna gawk `%s' non ammesso come nome funzione"
-#: ext.c:251 ext.c:304
+#: ext.c:249 ext.c:304
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: contatore argomenti negativo per la funzione `%s'"
-#: ext.c:278
+#: ext.c:276
msgid "extension: missing function name"
msgstr "extension: manca nome di funzione"
-#: ext.c:283
+#: ext.c:279 ext.c:283
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: carattere non ammesso `%c' nel nome di funzione `%s'"
@@ -2052,139 +2068,143 @@ msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
"extension: nome funzione interna gawk `%s' non ammesso come nome funzione"
-#: ext.c:374
+#: ext.c:375
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "funzione `%s' definita per avere al massimo %d argomenti(o)"
-#: ext.c:377
+#: ext.c:378
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "funzione `%s': manca argomento #%d"
-#: ext.c:394
+#: ext.c:395
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "funzione `%s': argomento #%d: tentativo di usare scalare come vettore"
-#: ext.c:398
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "funzione `%s': argomento #%d: tentativo di usare vettore come scalare"
-#: ext.c:412
+#: ext.c:413
msgid "dynamic loading of library not supported"
msgstr "caricamento dinamico di libreria non supportato"
-#: extension/filefuncs.c:97
+#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
msgstr "chdir: chiamata con numero di argomenti errato, 1 previsto"
-#: extension/filefuncs.c:343
+#: extension/filefuncs.c:439
#, c-format
msgid "stat: unable to read symbolic link `%s'"
msgstr "stat: non riesco a leggere il link simbolico `%s'"
-#: extension/filefuncs.c:376
+#: extension/filefuncs.c:472
msgid "stat: called with wrong number of arguments"
msgstr "stat: chiamata con numero di argomenti errato"
-#: extension/filefuncs.c:383
+#: extension/filefuncs.c:479
msgid "stat: bad parameters"
msgstr "stat: parametri errati"
-#: extension/filefuncs.c:437
+#: extension/filefuncs.c:533
#, c-format
msgid "fts init: could not create variable %s"
msgstr "ftp init: non riesco a creare variabile %s"
-#: extension/filefuncs.c:460
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr "fts non disponibile su questo sistema"
+
+#: extension/filefuncs.c:573
msgid "fill_stat_element: could not create array"
msgstr "fill_stat_element: non riesco a creare vettore"
-#: extension/filefuncs.c:469
+#: extension/filefuncs.c:582
msgid "fill_stat_element: could not set element"
msgstr "fill_stat_element: non riesco a impostare elemento"
-#: extension/filefuncs.c:484
+#: extension/filefuncs.c:597
msgid "fill_path_element: could not set element"
msgstr "fill_path_element: non riesco a impostare elemento"
-#: extension/filefuncs.c:500
+#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
msgstr "fill_error_element: non riesco a impostare elemento"
-#: extension/filefuncs.c:547 extension/filefuncs.c:594
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
msgid "fts-process: could not create array"
msgstr "fts-process: non riesco a creare vettore"
-#: extension/filefuncs.c:557 extension/filefuncs.c:604
-#: extension/filefuncs.c:622
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
msgid "fts-process: could not set element"
msgstr "fts-process: non riesco a impostare elemento"
-#: extension/filefuncs.c:671
+#: extension/filefuncs.c:784
msgid "fts: called with incorrect number of arguments, expecting 3"
msgstr "fts: chiamata con numero di argomenti errato, 3 previsti"
-#: extension/filefuncs.c:674
+#: extension/filefuncs.c:787
msgid "fts: bad first parameter"
msgstr "fts: primo parametro errato"
-#: extension/filefuncs.c:680
+#: extension/filefuncs.c:793
msgid "fts: bad second parameter"
msgstr "fts: secondo parametro errato"
-#: extension/filefuncs.c:686
+#: extension/filefuncs.c:799
msgid "fts: bad third parameter"
msgstr "fts: terzo parametro errato"
-#: extension/filefuncs.c:693
+#: extension/filefuncs.c:806
msgid "fts: could not flatten array\n"
msgstr "fts: non sono riuscito a appiattire un vettore\n"
-#: extension/filefuncs.c:711
+#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
msgstr "fts: ignoro flag infido FTS_NOSTAT. nooo, nooo, nooo."
-#: extension/filefuncs.c:728
+#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
msgstr "fts: clear_array() non riuscita\n"
-#: extension/fnmatch.c:98
+#: extension/fnmatch.c:112
msgid "fnmatch: called with less than three arguments"
msgstr "fnmatch: chiamata con meno di tre argomenti"
-#: extension/fnmatch.c:101
+#: extension/fnmatch.c:115
msgid "fnmatch: called with more than three arguments"
msgstr "fnmatch: chiamata con più di tre argomenti"
-#: extension/fnmatch.c:104
+#: extension/fnmatch.c:118
msgid "fnmatch: could not get first argument"
msgstr "fnmatch: primo argomento non disponibile"
-#: extension/fnmatch.c:109
+#: extension/fnmatch.c:123
msgid "fnmatch: could not get second argument"
msgstr "fnmatch: secondo argomento non disponibile"
-#: extension/fnmatch.c:114
+#: extension/fnmatch.c:128
msgid "fnmatch: could not get third argument"
msgstr "fnmatch: terzo argomento non disponibile"
-#: extension/fnmatch.c:127
+#: extension/fnmatch.c:141
msgid "fnmatch is not implemented on this system\n"
msgstr "fnmatch non disponibile su questo sistema\n"
-#: extension/fnmatch.c:159
+#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
msgstr "fnmatch init: non riesco ad aggiungere variabile FNM_NOMATCH"
-#: extension/fnmatch.c:169
+#: extension/fnmatch.c:183
#, c-format
msgid "fnmatch init: could not set array element %s"
msgstr "fnmatch init: non riesco a impostare elemento vettoriale %s"
-#: extension/fnmatch.c:179
+#: extension/fnmatch.c:193
msgid "fnmatch init: could not install FNM array"
msgstr "fnmatch init: non riesco a installare vettore FNM"
@@ -2208,91 +2228,91 @@ msgstr "wait: chiamata senza argomenti"
msgid "wait: called with too many arguments"
msgstr "wait: chiamata con troppi argomenti"
-#: extension/inplace.c:110
+#: extension/inplace.c:130
msgid "inplace_begin: in-place editing already active"
msgstr "inplace_begin: modifica in-place già attiva"
-#: extension/inplace.c:113 extension/inplace.c:187
+#: extension/inplace.c:133 extension/inplace.c:207
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr "inplace_begin: 2 argumenti richiesti, ma chiamata con %d"
-#: extension/inplace.c:116
+#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
msgstr ""
"inplace_begin: non riesco a trovare il 1° argomento come stringa nome-file"
-#: extension/inplace.c:124
+#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
msgstr ""
"inplace_begin: modifica in-place disabilitato, FILENAME non valido `%s'"
-#: extension/inplace.c:131
+#: extension/inplace.c:151
#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
msgstr "inplace_begin: Non riesco a trovare `%s' (%s)"
-#: extension/inplace.c:138
+#: extension/inplace.c:158
#, c-format
msgid "inplace_begin: `%s' is not a regular file"
msgstr "inplace_begin: `%s' non è un file regolare"
-#: extension/inplace.c:149
+#: extension/inplace.c:169
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr "inplace_begin: mkstemp(`%s') non riuscita (%s)"
-#: extension/inplace.c:158
+#: extension/inplace.c:178
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr "inplace_begin: chmod non riuscita (%s)"
-#: extension/inplace.c:165
+#: extension/inplace.c:185
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr "inplace_begin: dup(stdout) non riuscita (%s)"
-#: extension/inplace.c:168
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr "inplace_begin: dup2(%d, stdout) non riuscita (%s)"
-#: extension/inplace.c:171
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "inplace_begin: close(%d) non riuscita (%s)"
-#: extension/inplace.c:190
+#: extension/inplace.c:210
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
msgstr ""
"inplace_end: non riesco a trovare il 1° argomento come stringa nome-file"
-#: extension/inplace.c:197
+#: extension/inplace.c:217
msgid "inplace_end: in-place editing not active"
msgstr "inplace_end: modifica in-place non attiva"
-#: extension/inplace.c:203
+#: extension/inplace.c:223
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr "inplace_end: dup2(%d, stdout) non riuscita (%s)"
-#: extension/inplace.c:206
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr "inplace_end: close(%d) non riuscita (%s)"
-#: extension/inplace.c:210
+#: extension/inplace.c:230
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr "inplace_end: fsetpos(stdout) non riuscita (%s)"
-#: extension/inplace.c:223
+#: extension/inplace.c:243
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "inplace_end: link(`%s', `%s') non riuscita (%s)"
-#: extension/inplace.c:229
+#: extension/inplace.c:253
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "inplace_end: rename(`%s', `%s') non riuscito (%s)"
@@ -2321,7 +2341,7 @@ msgstr "chr: chiamata senza argomenti"
msgid "chr: called with inappropriate argument(s)"
msgstr "chr: chiamata con argomento/i non corretto/i"
-#: extension/readdir.c:203
+#: extension/readdir.c:277
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
msgstr "dir_take_control_of: opendir/fdopendir non riuscita: %s"
@@ -2334,162 +2354,162 @@ msgstr "readfile: chiamata con troppi argomenti"
msgid "readfile: called with no arguments"
msgstr "readfile: chiamata senza argomenti"
-#: extension/rwarray.c:120
+#: extension/rwarray.c:124
msgid "writea: called with too many arguments"
msgstr "writea: chiamata con troppi argomenti"
-#: extension/rwarray.c:127
+#: extension/rwarray.c:131
#, c-format
msgid "do_writea: argument 0 is not a string\n"
msgstr "do_writea: argomento 0 non è una stringa\n"
-#: extension/rwarray.c:133
+#: extension/rwarray.c:137
#, c-format
msgid "do_writea: argument 1 is not an array\n"
msgstr "do_writea: argomento 1 non-vettoriale\n"
-#: extension/rwarray.c:180
+#: extension/rwarray.c:184
#, c-format
msgid "write_array: could not flatten array\n"
msgstr "write_array: non sono riuscito a appiattire un vettore\n"
-#: extension/rwarray.c:194
+#: extension/rwarray.c:198
#, c-format
msgid "write_array: could not release flattened array\n"
msgstr "write_array: non sono riuscito a rilasciare un vettore appiattito\n"
-#: extension/rwarray.c:276
+#: extension/rwarray.c:280
msgid "reada: called with too many arguments"
msgstr "reada: chiamata con troppi argomenti"
-#: extension/rwarray.c:283
+#: extension/rwarray.c:287
#, c-format
msgid "do_reada: argument 0 is not a string\n"
msgstr "do_reada: argomento 0 non è una stringa\n"
-#: extension/rwarray.c:289
+#: extension/rwarray.c:293
#, c-format
msgid "do_reada: argument 1 is not an array\n"
msgstr "do_reada: argomento 1 non-vettoriale\n"
-#: extension/rwarray.c:333
+#: extension/rwarray.c:337
#, c-format
msgid "do_reada: clear_array failed\n"
msgstr "do_reada: clear_array non riuscita\n"
-#: extension/rwarray.c:370
+#: extension/rwarray.c:374
#, c-format
msgid "read_array: set_array_element failed\n"
msgstr "read_array: set_array_element non riuscita\n"
-#: extension/time.c:81
+#: extension/time.c:106
msgid "gettimeofday: ignoring arguments"
msgstr "gettimeofday: ignoro argomenti"
-#: extension/time.c:112
+#: extension/time.c:137
msgid "gettimeofday: not supported on this platform"
msgstr "gettimeofday: non supportato in questa architettura"
-#: extension/time.c:133
+#: extension/time.c:158
msgid "sleep: called with too many arguments"
msgstr "sleep: chiamata con troppi argomenti"
-#: extension/time.c:136
+#: extension/time.c:161
msgid "sleep: missing required numeric argument"
msgstr "sleep: manca necessario argomento numerico"
-#: extension/time.c:142
+#: extension/time.c:167
msgid "sleep: argument is negative"
msgstr "sleep: l'argomento è negativo"
-#: extension/time.c:176
+#: extension/time.c:201
msgid "sleep: not supported on this platform"
msgstr "sleep: non supportato in questa architettura"
-#: field.c:339
+#: field.c:345
msgid "NF set to negative value"
msgstr "NF impostato a un valore negativo"
-#: field.c:964 field.c:971 field.c:975
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
msgstr "split: il quarto argomento è un'estensione gawk"
-#: field.c:968
+#: field.c:975
msgid "split: fourth argument is not an array"
msgstr "split: quarto argomento non-vettoriale"
-#: field.c:982
+#: field.c:989
msgid "split: second argument is not an array"
msgstr "split: secondo argomento non-vettoriale"
-#: field.c:986
+#: field.c:993
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: non si può usare un unico vettore come secondo e quarto argomento"
-#: field.c:991
+#: field.c:998
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: non consentito un quarto argomento che sia un sottovettore del "
"secondo argomento"
-#: field.c:994
+#: field.c:1001
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: non consentito un secondo argomento che sia un sottovettore del "
"quarto argomento"
-#: field.c:1023
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
msgstr "split: la stringa nulla come terzo arg. è un'estensione gawk"
-#: field.c:1063
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: secondo argomento non-vettoriale"
-#: field.c:1068
+#: field.c:1077
msgid "patsplit: second argument is not an array"
msgstr "patsplit: secondo argomento non-vettoriale"
-#: field.c:1074
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: il terzo argomento non può essere nullo"
-#: field.c:1078
+#: field.c:1087
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: non si può usare un unico vettore come secondo e quarto argomento"
-#: field.c:1083
+#: field.c:1092
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: non consentito un quarto argomento che sia un sottovettore del "
"secondo argomento"
-#: field.c:1086
+#: field.c:1095
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: non consentito un secondo argomento che sia un sottovettore del "
"quarto argomento"
-#: field.c:1124
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' è un'estensione gawk"
-#: field.c:1188
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valore di FIELDWIDTHS non valido, vicino a `%s'"
-#: field.c:1261
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
msgstr "la stringa nulla usata come `FS' è un'estensione gawk"
-#: field.c:1265
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
msgstr "il vecchio awk non supporta espressioni come valori di `FS'"
-#: field.c:1384
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' è un'estensione gawk"
@@ -2513,358 +2533,358 @@ msgstr "remove_element: ricevuto vettore nullo"
msgid "remove_element: received null subscript"
msgstr "remove_element: ricevuto indice nullo"
-#: gawkapi.c:943
+#: gawkapi.c:948
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr "api_flatten_array: non sono riuscito a convertire l'indice %d\n"
-#: gawkapi.c:948
+#: gawkapi.c:953
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr "api_flatten_array: non sono riuscito a convertire il valore %d\n"
-#: getopt.c:603 getopt.c:632
+#: getopt.c:604 getopt.c:633
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: opzione '%s' ambigua; possibilità:"
-#: getopt.c:678 getopt.c:682
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: l'opzione '--%s' non ammette un argomento\n"
-#: getopt.c:691 getopt.c:696
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: l'opzione '%c%s' non ammette un argomento\n"
-#: getopt.c:739 getopt.c:758
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: l'opzione '--%s' richiede un argomento\n"
-#: getopt.c:796 getopt.c:799
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opzione sconosciuta '--%s'\n"
-#: getopt.c:807 getopt.c:810
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opzione sconosciuta '%c%s'\n"
-#: getopt.c:859 getopt.c:862
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opzione non valida -- '%c'\n"
-#: getopt.c:915 getopt.c:932 getopt.c:1142 getopt.c:1160
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: l'opzione richiede un argomento -- '%c'\n"
-#: getopt.c:988 getopt.c:1004
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: l'opzione '-W %s' è ambigua\n"
-#: getopt.c:1028 getopt.c:1046
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: l'opzione '-W %s' non ammette un argomento\n"
-#: getopt.c:1067 getopt.c:1085
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: l'opzione '-W %s' richiede un argomento\n"
-#: io.c:347
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "l'argomento in linea comando `%s' è una directory: saltato"
-#: io.c:350 io.c:463
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "non riesco ad aprire file `%s' in lettura (%s)"
-#: io.c:590
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "chiusura di fd %d (`%s') non riuscita (%s)"
-#: io.c:666
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr "re-direzione non consentita in modo `sandbox'"
-#: io.c:700
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "espressione nella re-direzione `%s' ha solo un valore numerico"
-#: io.c:706
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "espressione nella re-direzione `%s' ha per valore la stringa nulla"
-#: io.c:711
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
"nome-file `%s' per la re-direzione `%s' può essere il risultato di una "
"espressione logica"
-#: io.c:754
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mistura non necessaria di `>' e `>>' per il file `%.*s'"
-#: io.c:808
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "non riesco ad aprire `pipe' `%s' in scrittura (%s)"
-#: io.c:818
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "non riesco ad aprire `pipe' `%s' in lettura (%s)"
-#: io.c:849
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr ""
"non riesco ad aprire `pipe' bidirezionale `%s' in lettura/scrittura (%s)"
-#: io.c:928
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "non riesco a re-dirigere da `%s' (%s)"
-#: io.c:931
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "non riesco a re-dirigere a `%s' (%s)"
-#: io.c:982
+#: io.c:1040
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"numero massimo consentito di file aperti raggiunto: comincio a riutilizzare "
"i descrittori di file"
-#: io.c:998
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "chiusura di `%s' non riuscita (%s)."
-#: io.c:1006
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr "troppe `pipe' o file di input aperti"
-#: io.c:1028
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
msgstr "close: il secondo argomento deve essere `a' o `da'"
-#: io.c:1045
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: `%.*s' non è un file aperto, una `pipe' o un co-processo"
-#: io.c:1050
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr "chiusura di una re-direzione mai aperta"
-#: io.c:1147
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr "close: re-direzione `%s' non aperta con `|&', ignoro secondo argomento"
-#: io.c:1164
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura della `pipe' `%s' (%s)"
-#: io.c:1167
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura del file `%s' (%s)"
-#: io.c:1187
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per `socket' `%s'"
-#: io.c:1190
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per co-processo `%s'"
-#: io.c:1193
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per `pipe' `%s'"
-#: io.c:1196
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per file `%s'"
-#: io.c:1224 io.c:1279 main.c:842 main.c:879
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr "errore scrivendo 'standard output' (%s)"
-#: io.c:1228 io.c:1284
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr "errore scrivendo 'standard error' (%s)"
-#: io.c:1236
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "scaricamento di `pipe' `%s' non riuscito (%s)."
-#: io.c:1239
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "scaricamento da co-processo di `pipe' a `%s' non riuscito (%s)."
-#: io.c:1242
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "scaricamento di file `%s' non riuscito (%s)."
-#: io.c:1356
+#: io.c:1420
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "porta locale %s invalida in `/inet'"
-#: io.c:1374
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "host remoto e informazione di porta (%s, %s) invalidi"
-#: io.c:1526
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "nessuno protocollo (noto) specificato nel filename speciale `%s'"
-#: io.c:1540
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "nome-file speciale `%s' incompleto"
-#: io.c:1557
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
msgstr "va fornito nome di `host' remoto a `/inet'"
-#: io.c:1575
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
msgstr "va fornita porta remota a `/inet'"
-#: io.c:1621
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr "comunicazioni TCP/IP non supportate"
-#: io.c:1796
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "non riesco ad aprire `%s', modo `%s'"
-#: io.c:1846
+#: io.c:1917
#, c-format
msgid "close of master pty failed (%s)"
msgstr "close di `pty' principale non riuscita (%s)"
-#: io.c:1848 io.c:2024 io.c:2194
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "close di `stdout' nel processo-figlio non riuscita (%s)"
-#: io.c:1851
+#: io.c:1922
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
"trasferimento di `pty' secondaria a `stdout' nel processo-figlio non "
"riuscita (dup: %s)"
-#: io.c:1853 io.c:2029
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "close di `stdin' nel processo-figlio non riuscita (%s)"
-#: io.c:1856
+#: io.c:1927
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
"trasferimento di 'pty' secondaria a 'stdin' nel processo-figlio non riuscito "
"(dup: %s)"
-#: io.c:1858 io.c:1879
+#: io.c:1929 io.c:1951
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "close di 'pty' secondaria non riuscita (%s)"
-#: io.c:1965 io.c:2027 io.c:2171 io.c:2197
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"passaggio di `pipe' a `stdout' nel processo-figlio non riuscito (dup: %s)"
-#: io.c:1972 io.c:2032
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
"passaggio di pipe a `stdin' nel processo-figlio non riuscito (dup: %s)"
-#: io.c:1992 io.c:2187
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr "ripristino di `stdout' nel processo-padre non riuscito\n"
-#: io.c:2000
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr "ripristino di `stdin' nel processo-padre non riuscito\n"
-#: io.c:2035 io.c:2199 io.c:2213
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr "close di 'pipe' non riuscita (%s)"
-#: io.c:2089
+#: io.c:2174
msgid "`|&' not supported"
msgstr "`|&' non supportato"
-#: io.c:2156
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "non riesco ad aprire `pipe' `%s' (%s)"
-#: io.c:2207
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)"
-#: io.c:2667
+#: io.c:2790
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: ricevuto puntatore NULL"
-#: io.c:2695
+#: io.c:2818
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
msgstr ""
"input parser `%s' in conflitto con l'input parser `%s' installato in "
"precedenza"
-#: io.c:2702
+#: io.c:2825
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "l'input parser `%s' non è riuscito ad aprire `%s'"
-#: io.c:2722
+#: io.c:2845
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: ricevuto puntatore NULL"
-#: io.c:2750
+#: io.c:2873
#, c-format
msgid ""
"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
@@ -2872,16 +2892,16 @@ msgstr ""
"output wrapper `%s' in conflitto con l'output wrapper `%s' installato in "
"precedenza"
-#: io.c:2757
+#: io.c:2880
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "l'output wrapper `%s' non è riuscito ad aprire `%s'"
-#: io.c:2778
+#: io.c:2901
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: ricevuto puntatore NULL"
-#: io.c:2807
+#: io.c:2930
#, c-format
msgid ""
"two-way processor `%s' conflicts with previously installed two-way processor "
@@ -2890,209 +2910,209 @@ msgstr ""
"processore doppio `%s' in conflitto con il processore doppio installato in "
"precedenza `%s'"
-#: io.c:2816
+#: io.c:2939
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "il processore doppio `%s' non è riuscito ad aprire `%s'"
-#: io.c:2923
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
msgstr "file dati `%s' vuoto"
-#: io.c:2965 io.c:2973
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr "non riesco ad allocare ulteriore memoria per l'input"
-#: io.c:3539
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "valore multicarattere per `RS' è un'estensione gawk"
-#: io.c:3628
+#: io.c:3771
msgid "IPv6 communication is not supported"
msgstr "comunicazioni IPv6 non supportate"
-#: main.c:388
+#: main.c:405
msgid "empty argument to `-e/--source' ignored"
msgstr "argomento di `-e/--source' nullo, ignorato"
-#: main.c:478
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
-#: main.c:524
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'opzione richiede un argomento -- %c\n"
-#: main.c:545
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "variable d'ambiente `POSIXLY_CORRECT' impostata: attivo `--posix'"
-#: main.c:551
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
msgstr "`--posix' annulla `--traditional'"
-#: main.c:562
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' annulla `--non-decimal-data'"
-#: main.c:566
+#: main.c:583
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "eseguire %s con `setuid' root può essere un rischio per la sicurezza"
-#: main.c:571
+#: main.c:588
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "`--posix' annulla `--characters-as-bytes'"
-#: main.c:630
+#: main.c:647
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "non è possibile impostare modalità binaria su `stdin'(%s)"
-#: main.c:633
+#: main.c:650
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "non è possibile impostare modalità binaria su `stdout'(%s)"
-#: main.c:635
+#: main.c:652
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "non è possibile impostare modalità binaria su `stderr'(%s)"
-#: main.c:693
+#: main.c:710
msgid "no program text at all!"
msgstr "manca del tutto il testo del programma!"
-#: main.c:779
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Uso: %s [opzioni in stile POSIX o GNU] -f file-prog. [--] file ...\n"
-#: main.c:781
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Usage: %s [opzioni in stile POSIX o GNU] [--] %cprogramma%c file ...\n"
-#: main.c:786
+#: main.c:806
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opzioni POSIX:\t\topzioni lunghe GNU: (standard)\n"
-#: main.c:787
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fileprog\t\t--file=file-prog.\n"
-#: main.c:788
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:789
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valore\t\t--assign=var=valore\n"
-#: main.c:790
+#: main.c:810
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Opzioni brevi:\t\topzioni lunghe GNU: (estensioni)\n"
-#: main.c:791
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:792
+#: main.c:812
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:793
+#: main.c:813
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:794
+#: main.c:814
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[file]\t\t--dump-variables[=file]\n"
-#: main.c:795
+#: main.c:815
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-D[file]\t\t--debug[=file]\n"
-#: main.c:796
+#: main.c:816
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'testo-del-programma'\t--source='testo-del-programma'\n"
-#: main.c:797
+#: main.c:817
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=file\n"
-#: main.c:798
+#: main.c:818
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:799
+#: main.c:819
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:800
+#: main.c:820
msgid "\t-i includefile\t\t--include=includefile\n"
msgstr "\t-i include_file\t\t--include=include_file\n"
-#: main.c:801
+#: main.c:821
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l libreria\t\t--load=libreria\n"
-#: main.c:802
+#: main.c:822
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:803
+#: main.c:823
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:804
+#: main.c:824
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:805
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:806
+#: main.c:826
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[file]\t\t--pretty-print[=file]\n"
-#: main.c:807
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:808
+#: main.c:828
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[file]\t\t--profile[=file]\n"
-#: main.c:809
+#: main.c:829
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:810
+#: main.c:830
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:811
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:812
+#: main.c:832
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:813
+#: main.c:833
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:815
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:818
+#: main.c:838
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3101,7 +3121,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:827
+#: main.c:847
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3114,7 +3134,7 @@ msgstr ""
"Problemi di traduzione, segnalare ad: azc100@gmail.com.\n"
"\n"
-#: main.c:831
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3124,7 +3144,7 @@ msgstr ""
"Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n"
"\n"
-#: main.c:835
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3134,7 +3154,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:855
+#: main.c:880
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3153,7 +3173,7 @@ msgstr ""
"Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n"
"\n"
-#: main.c:863
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3167,7 +3187,7 @@ msgstr ""
"Vedi la 'GNU General Public License' per ulteriori dettagli.\n"
"\n"
-#: main.c:869
+#: main.c:894
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"
@@ -3176,16 +3196,16 @@ msgstr ""
"assieme a questo programma; se non è così, vedi http://www.gnu.org/"
"licenses/.\n"
-#: main.c:904
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft non imposta FS a `tab' nell'awk POSIX"
-#: main.c:1181
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valore non noto per specifica campo: %d\n"
-#: main.c:1279
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3194,48 +3214,48 @@ msgstr ""
"%s: `%s' argomento di `-v' non in forma `var=valore'\n"
"\n"
-#: main.c:1305
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' non è un nome di variabile ammesso"
-#: main.c:1308
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "`%s' non è un nome di variabile, cerco il file `%s=%s'"
-#: main.c:1312
+#: main.c:1339
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "nome funzione interna gawk `%s' non ammesso come nome variabile"
-#: main.c:1317
+#: main.c:1344
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "non è possibile usare nome di funzione `%s' come nome di variabile"
-#: main.c:1370
+#: main.c:1397
msgid "floating point exception"
msgstr "eccezione floating point"
-#: main.c:1377
+#: main.c:1404
msgid "fatal error: internal error"
msgstr "errore fatale: errore interno"
-#: main.c:1392
+#: main.c:1419
msgid "fatal error: internal error: segfault"
msgstr "errore fatale: errore interno: segfault"
-#: main.c:1404
+#: main.c:1431
msgid "fatal error: internal error: stack overflow"
msgstr "errore fatale: errore interno: stack overflow"
-#: main.c:1463
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr "manca `fd' pre-aperta %d"
-#: main.c:1470
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "non riesco a pre-aprire /dev/null per `fd' %d"
@@ -3290,7 +3310,7 @@ msgstr "%s: argomento #%d, valore decimale sarà troncato"
msgid "%s: argument #%d negative value %Zd will give strange results"
msgstr "%s: argomento #%d con valore negativo %Zd, darà risultati strani"
-#: msg.c:61
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr "linea com.:"
@@ -3345,16 +3365,16 @@ msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr ""
"%s %s `%s': non riesco a impostare 'close-on-exec': (fcntl F_SETFD: %s)"
-#: profile.c:70
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "non riesco ad aprire `%s' in scrittura: %s"
-#: profile.c:72
+#: profile.c:73
msgid "sending profile to standard error"
msgstr "mando profilo a 'standard error'"
-#: profile.c:188
+#: profile.c:193
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -3363,7 +3383,7 @@ msgstr ""
"\t# blocco(hi) %s\n"
"\n"
-#: profile.c:193
+#: profile.c:198
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3372,16 +3392,16 @@ msgstr ""
"\t# Regola(e)\n"
"\n"
-#: profile.c:267
+#: profile.c:272
#, c-format
msgid "internal error: %s with null vname"
msgstr "errore interno: %s con `vname' nullo"
-#: profile.c:530
+#: profile.c:537
msgid "internal error: builtin with null fname"
msgstr "errore interno: funzione interna con `fname' nullo"
-#: profile.c:942
+#: profile.c:949
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3390,12 +3410,12 @@ msgstr ""
"\t# Estensioni caricate (-l e/o @load)\n"
"\n"
-#: profile.c:965
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profilo gawk, creato %s\n"
-#: profile.c:1351
+#: profile.c:1475
#, c-format
msgid ""
"\n"
@@ -3404,17 +3424,12 @@ msgstr ""
"\n"
"\t# Funzioni, in ordine alfabetico\n"
-#: profile.c:1389
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tipo di re-direzione non noto %d"
-#: re.c:583
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr "intervallo della forma `[%c-%c]' dipende da `locale'"
-
-#: re.c:610
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
@@ -3484,6 +3499,9 @@ msgstr ") o \\) non aperta"
msgid "No previous regular expression"
msgstr "Nessuna espressione regolare precedente"
-#: symbol.c:740
+#: symbol.c:741
msgid "can not pop main context"
msgstr "non posso salire più in alto nello stack"
+
+#~ msgid "range of the form `[%c-%c]' is locale dependent"
+#~ msgstr "intervallo della forma `[%c-%c]' dipende da `locale'"
diff --git a/po/nl.gmo b/po/nl.gmo
index 7801796c..b30682cd 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index e15d9ff0..71fb563d 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,17 +1,17 @@
# Dutch translations for GNU gawk.
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
#
-# Bright red with teasing buttons.
+# “Flierefluiten!!â€
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2010, 2011, 2012, 2013.
# Erwin Poeze <erwin.poeze@gmail.com>, 2009.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2010, 2011, 2012, 2013, 2014.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.75\n"
+"Project-Id-Version: gawk 4.1.0b\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2013-05-09 16:05+0300\n"
-"PO-Revision-Date: 2013-04-25 21:49+0200\n"
+"POT-Creation-Date: 2014-01-14 22:23+0200\n"
+"PO-Revision-Date: 2014-02-04 11:18+0100\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -21,92 +21,84 @@ msgstr ""
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: array.c:254
+#: array.c:256
#, c-format
msgid "from %s"
msgstr "van %s"
-#: array.c:354
+#: array.c:357
msgid "attempt to use a scalar value as array"
msgstr "scalaire waarde wordt gebruikt als array"
-#: array.c:356
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "scalaire parameter '%s' wordt gebruikt als array"
-#: array.c:359
+#: array.c:362
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "scalair '%s' wordt gebruikt als array"
-#: array.c:406 array.c:573 builtin.c:85 builtin.c:1591 builtin.c:1637
-#: builtin.c:1650 builtin.c:2078 builtin.c:2092 eval.c:1121 eval.c:1125
-#: eval.c:1524
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "array '%s' wordt gebruikt in een scalaire context"
-#: array.c:580
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: index '%s' niet in array '%s'"
-#: array.c:594
+#: array.c:597
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "scalair '%s[\"%.*s\"]' wordt gebruikt als array"
-#: array.c:773
+#: array.c:776
msgid "adump: first argument not an array"
msgstr "adump: eerste argument is geen array"
-#: array.c:812
+#: array.c:815
msgid "asort: second argument not an array"
msgstr "asort: tweede argument is geen array"
-#: array.c:813
+#: array.c:816
msgid "asorti: second argument not an array"
msgstr "asorti: tweede argument is geen array"
-#: array.c:820
+#: array.c:823
msgid "asort: first argument not an array"
msgstr "asort: eerste argument is geen array"
-#: array.c:821
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr "asorti: eerste argument is geen array"
-#: array.c:828
+#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort: een subarray van het eerste argument kan niet als tweede argument "
-"gebruikt worden"
+msgstr "asort: een subarray van het eerste argument kan niet als tweede argument gebruikt worden"
-#: array.c:829
+#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti: een subarray van het eerste argument kan niet als tweede argument "
-"gebruikt worden"
+msgstr "asorti: een subarray van het eerste argument kan niet als tweede argument gebruikt worden"
-#: array.c:834
+#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort: een subarray van het tweede argument kan niet als eerste argument "
-"gebruikt worden"
+msgstr "asort: een subarray van het tweede argument kan niet als eerste argument gebruikt worden"
-#: array.c:835
+#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti: een subarray van het tweede argument kan niet als eerste argument "
-"gebruikt worden"
+msgstr "asorti: een subarray van het tweede argument kan niet als eerste argument gebruikt worden"
-#: array.c:1309
+#: array.c:1314
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "'%s' is ongeldig als functienaam"
-#: array.c:1313
+#: array.c:1318
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "sorteervergelijkingsfunctie '%s' is niet gedefinieerd"
@@ -171,8 +163,7 @@ msgstr "'return' wordt gebruikt buiten functiecontext"
#: awkgram.y:922
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"kale 'print' in BEGIN- of END-regel moet vermoedelijk 'print \"\"' zijn"
+msgstr "kale 'print' in BEGIN- of END-regel moet vermoedelijk 'print \"\"' zijn"
#: awkgram.y:988 awkgram.y:1037
msgid "`delete' is not allowed with SYMTAB"
@@ -235,18 +226,17 @@ msgstr "indirecte functieaanroepen zijn een gawk-uitbreiding"
#: awkgram.y:1620
#, c-format
msgid "can not use special variable `%s' for indirect function call"
-msgstr ""
-"kan speciale variabele '%s' niet voor indirecte functieaanroep gebruiken"
+msgstr "kan speciale variabele '%s' niet voor indirecte functieaanroep gebruiken"
#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "ongeldige index-expressie"
-#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "waarschuwing: "
-#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "fataal: "
@@ -254,8 +244,8 @@ msgstr "fataal: "
msgid "unexpected newline or end of string"
msgstr "onverwacht regeleinde of einde van string"
-#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:517 debug.c:533
-#: debug.c:2792 debug.c:5040
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "kan bronbestand '%s' niet openen om te lezen (%s)"
@@ -265,7 +255,7 @@ msgstr "kan bronbestand '%s' niet openen om te lezen (%s)"
msgid "can't open shared library `%s' for reading (%s)"
msgstr "kan gedeelde bibliotheek '%s' niet openen om te lezen (%s)"
-#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "reden onbekend"
@@ -302,7 +292,7 @@ msgstr "lege bestandsnaam na '@load'"
#: awkgram.y:2610
msgid "empty program text on command line"
-msgstr "lege programmatekst op commandoregel"
+msgstr "lege programmatekst op opdrachtregel"
#: awkgram.y:2725
#, c-format
@@ -432,16 +422,15 @@ msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcngettext(_\"...\") is onjuist: verwijder het liggende streepje"
#: awkgram.y:3992
-#, fuzzy
msgid "index: regexp constant as second argument is not allowed"
-msgstr "index: tweede argument is geen string"
+msgstr "index: een reguliere-expressie-constante als tweede argument is niet toegestaan"
#: awkgram.y:4045
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "functie '%s': parameter '%s' schaduwt een globale variabele"
-#: awkgram.y:4102 debug.c:4021 debug.c:4064 debug.c:5189
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kan '%s' niet openen om te schrijven (%s)"
@@ -476,30 +465,29 @@ msgstr "functie '%s': kan functienaam niet als parameternaam gebruiken"
#: awkgram.y:4264
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"functie '%s': kan speciale variabele '%s' niet als functieparameter gebruiken"
+msgstr "functie '%s': kan speciale variabele '%s' niet als functieparameter gebruiken"
#: awkgram.y:4272
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "functie '%s': parameter #%d, '%s', dupliceert parameter #%d"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
msgstr "functie '%s' wordt aangeroepen maar is nergens gedefinieerd"
-#: awkgram.y:4376
+#: awkgram.y:4369
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "functie '%s' is gedefinieerd maar wordt nergens direct aangeroepen"
-#: awkgram.y:4408
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "regexp-constante als parameter #%d levert booleanwaarde op"
-#: awkgram.y:4467
+#: awkgram.y:4460
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -508,421 +496,421 @@ msgstr ""
"functie '%s' wordt aangeroepen met een spatie tussen naam en '(',\n"
"of wordt gebruikt als variabele of array"
-#: awkgram.y:4703
+#: awkgram.y:4696
msgid "division by zero attempted"
msgstr "deling door nul"
-#: awkgram.y:4712
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "deling door nul in '%%'"
-#: builtin.c:128
+#: awkgram.y:5025
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "kan geen waarde toewijzen aan het resultaat van een post-increment-expressie van een veld"
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr "ongeldig doel van toewijzing (opcode %s)"
+
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s naar \"%s\" is mislukt (%s)"
-#: builtin.c:129
+#: builtin.c:134
msgid "standard output"
msgstr "standaarduitvoer"
-#: builtin.c:143
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr "exp: argument is geen getal"
-#: builtin.c:149
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argument %g ligt buiten toegestane bereik"
-#: builtin.c:224
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: kan pijp niet leegmaken: '%s' is geopend om te lezen, niet om te "
-"schrijven"
+msgstr "fflush: kan pijp niet leegmaken: '%s' is geopend om te lezen, niet om te schrijven"
-#: builtin.c:227
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush: kan bestand niet leegmaken: '%s' is geopend om te lezen, niet om te "
-"schrijven"
+msgstr "fflush: kan bestand niet leegmaken: '%s' is geopend om te lezen, niet om te schrijven"
-#: builtin.c:239
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: '%s' is geen open bestand, pijp, of co-proces"
-#: builtin.c:357
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr "index: eerste argument is geen string"
-#: builtin.c:359
+#: builtin.c:364
msgid "index: received non-string second argument"
msgstr "index: tweede argument is geen string"
-#: builtin.c:483 mpfr.c:757
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr "int: argument is geen getal"
-#: builtin.c:520
+#: builtin.c:525
msgid "length: received array argument"
msgstr "length: argument is een array"
-#: builtin.c:523
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
msgstr "'length(array)' is een gawk-uitbreiding"
-#: builtin.c:539
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr "length: argument is geen string"
-#: builtin.c:570
+#: builtin.c:575
msgid "log: received non-numeric argument"
msgstr "log: argument is geen getal"
-#: builtin.c:573
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
msgstr "log: argument %g is negatief"
-#: builtin.c:771 builtin.c:776
+#: builtin.c:776 builtin.c:781
msgid "fatal: must use `count$' on all formats or none"
msgstr "fataal: 'count$' hoort in alle opmaken gebruikt te worden, of in geen"
-#: builtin.c:846
+#: builtin.c:851
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "veldbreedte wordt genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:848
+#: builtin.c:853
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "veldprecisie wordt genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:850
+#: builtin.c:855
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "veldbreedte en -precisie worden genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:901
+#: builtin.c:906
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fataal: '$' is niet toegestaan in awk-opmaak"
-#: builtin.c:910
+#: builtin.c:915
msgid "fatal: arg count with `$' must be > 0"
msgstr "fataal: het aantal argumenten met '$' moet > 0 zijn"
-#: builtin.c:914
+#: builtin.c:919
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr "fataal: argumentental %ld is groter dan het gegeven aantal argumenten"
-#: builtin.c:918
+#: builtin.c:923
msgid "fatal: `$' not permitted after period in format"
msgstr "fataal: '$' is niet toegestaan na een punt in de opmaak"
-#: builtin.c:934
+#: builtin.c:939
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "fataal: geen '$' opgegeven bij positionele veldbreedte of -precisie"
-#: builtin.c:1006
+#: builtin.c:1011
msgid "`l' is meaningless in awk formats; ignored"
msgstr "'l' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:1010
+#: builtin.c:1015
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fataal: 'l' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:1023
+#: builtin.c:1028
msgid "`L' is meaningless in awk formats; ignored"
msgstr "'L' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:1027
+#: builtin.c:1032
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fataal: 'L' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:1040
+#: builtin.c:1045
msgid "`h' is meaningless in awk formats; ignored"
msgstr "'h' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:1044
+#: builtin.c:1049
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fataal: 'h' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:1439
+#: builtin.c:1447
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: waarde %g ligt buiten toegestaan bereik voor opmaak '%%%c'"
-#: builtin.c:1537
+#: builtin.c:1545
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"onbekend opmaakteken '%c' wordt genegeerd: geen argument is geconverteerd"
+msgstr "onbekend opmaakteken '%c' wordt genegeerd: geen argument is geconverteerd"
-#: builtin.c:1542
+#: builtin.c:1550
msgid "fatal: not enough arguments to satisfy format string"
msgstr "fataal: niet genoeg argumenten voor opmaakstring"
-#: builtin.c:1544
+#: builtin.c:1552
msgid "^ ran out for this one"
msgstr "niet genoeg ^ voor deze"
-#: builtin.c:1551
+#: builtin.c:1559
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: opmaakaanduiding mist een stuurletter"
-#: builtin.c:1554
+#: builtin.c:1562
msgid "too many arguments supplied for format string"
msgstr "te veel argumenten voor opmaakstring"
-#: builtin.c:1610
+#: builtin.c:1618
msgid "sprintf: no arguments"
msgstr "sprintf: geen argumenten"
-#: builtin.c:1633 builtin.c:1644
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr "printf: geen argumenten"
-#: builtin.c:1687
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: argument is geen getal"
-#: builtin.c:1691
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: argument %g is negatief"
-#: builtin.c:1722
+#: builtin.c:1730
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: lengte %g is niet >= 1"
-#: builtin.c:1724
+#: builtin.c:1732
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: lengte %g is niet >= 0"
-#: builtin.c:1731
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: lengte %g is geen integer; wordt afgekapt"
-#: builtin.c:1736
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
-msgstr ""
-"substr: lengte %g is te groot voor stringindexering; wordt verkort tot %g"
+msgstr "substr: lengte %g is te groot voor stringindexering; wordt verkort tot %g"
-#: builtin.c:1748
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindex %g is ongeldig; 1 wordt gebruikt"
-#: builtin.c:1753
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: startindex %g is geen integer; wordt afgekapt"
-#: builtin.c:1778
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr "substr: bronstring heeft lengte nul"
-#: builtin.c:1794
+#: builtin.c:1802
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: startindex %g ligt voorbij het einde van de string"
-#: builtin.c:1802
+#: builtin.c:1810
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: lengte %g bij startindex %g is groter dan de lengte van het eerste "
-"argument (%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: lengte %g bij startindex %g is groter dan de lengte van het eerste argument (%lu)"
-#: builtin.c:1876
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: opmaakwaarde in PROCINFO[\"strftime\"] is numeriek"
-#: builtin.c:1899
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
msgstr "strftime: tweede argument is geen getal"
-#: builtin.c:1903
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: tweede argument is kleiner dan nul of te groot voor 'time_t'"
-#: builtin.c:1910
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr "strftime: eerste argument is geen string"
-#: builtin.c:1917
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr "strftime: opmaakstring is leeg"
-#: builtin.c:1983
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr "mktime: argument is geen string"
-#: builtin.c:2000
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: minstens één van waarden valt buiten het standaardbereik"
-#: builtin.c:2035
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr "'system'-functie is niet toegestaan in sandbox-modus"
-#: builtin.c:2040
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr "system: argument is geen string"
-#: builtin.c:2160
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "verwijzing naar ongeïnitialiseerd veld '$%d'"
-#: builtin.c:2247
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr "tolower: argument is geen string"
-#: builtin.c:2281
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr "toupper: argument is geen string"
-#: builtin.c:2317 mpfr.c:672
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr "atan2: eerste argument is geen getal"
-#: builtin.c:2319 mpfr.c:674
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr "atan2: tweede argument is geen getal"
-#: builtin.c:2338
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr "sin: argument is geen getal"
-#: builtin.c:2354
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr "cos: argument is geen getal"
-#: builtin.c:2407 mpfr.c:1156
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr "srand: argument is geen getal"
-#: builtin.c:2438
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr "match: derde argument is geen array"
-#: builtin.c:2710
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: derde argument is 0; wordt beschouwd als 1"
-#: builtin.c:3003
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr "lshift: eerste argument is geen getal"
-#: builtin.c:3005
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
msgstr "lshift: tweede argument is geen getal"
-#: builtin.c:3011
+#: builtin.c:3022
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): negatieve waarden geven rare resultaten"
-#: builtin.c:3013
+#: builtin.c:3024
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): cijfers na de komma worden afgekapt"
-#: builtin.c:3015
+#: builtin.c:3026
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): te grote opschuifwaarden geven rare resultaten"
-#: builtin.c:3040
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr "rshift: eerste argument is geen getal"
-#: builtin.c:3042
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
msgstr "rshift: tweede argument is geen getal"
-#: builtin.c:3048
+#: builtin.c:3059
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): negatieve waarden geven rare resultaten"
-#: builtin.c:3050
+#: builtin.c:3061
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): cijfers na de komma worden afgekapt"
-#: builtin.c:3052
+#: builtin.c:3063
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): te grote opschuifwaarden geven rare resultaten"
-#: builtin.c:3077 mpfr.c:968
+#: builtin.c:3088 mpfr.c:968
msgid "and: called with less than two arguments"
msgstr "and: aangeroepen met minder dan twee argumenten"
-#: builtin.c:3082
+#: builtin.c:3093
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argument %d is niet-numeriek"
-#: builtin.c:3086
+#: builtin.c:3097
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: negatieve waarde %2$g van argument %1$d geeft rare resultaten"
-#: builtin.c:3109 mpfr.c:1000
+#: builtin.c:3120 mpfr.c:1000
msgid "or: called with less than two arguments"
msgstr "or: aangeroepen met minder dan twee argumenten"
-#: builtin.c:3114
+#: builtin.c:3125
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argument %d is niet-numeriek"
-#: builtin.c:3118
+#: builtin.c:3129
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: negatieve waarde %2$g van argument %1$d geeft rare resultaten"
-#: builtin.c:3140 mpfr.c:1031
+#: builtin.c:3151 mpfr.c:1031
msgid "xor: called with less than two arguments"
msgstr "xor: aangeroepen met minder dan twee argumenten"
-#: builtin.c:3146
+#: builtin.c:3157
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argument %d is niet-numeriek"
-#: builtin.c:3150
+#: builtin.c:3161
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: negatieve waarde %2$g van argument %1$d geeft rare resultaten"
-#: builtin.c:3175 mpfr.c:787
+#: builtin.c:3186 mpfr.c:787
msgid "compl: received non-numeric argument"
msgstr "compl: argument is geen getal"
-#: builtin.c:3181
+#: builtin.c:3192
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): negatieve waarden geven rare resultaten"
-#: builtin.c:3183
+#: builtin.c:3194
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): cijfers na de komma worden afgekapt"
-#: builtin.c:3352
+#: builtin.c:3363
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: '%s' is geen geldige taalregio-deelcategorie"
@@ -954,25 +942,25 @@ msgstr "save \"%s\": commando niet toegestaan."
#: command.y:339
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
-msgstr ""
+msgstr "Kan commando 'commands' niet voor breekpunt-/kijkpunt-commando's gebruiken"
#: command.y:341
msgid "no breakpoint/watchpoint has been set yet"
-msgstr ""
+msgstr "er is nog geen breekpunt/kijkpunt gezet"
#: command.y:343
msgid "invalid breakpoint/watchpoint number"
-msgstr ""
+msgstr "ongeldig nummer van breekpunt/kijkpunt"
#: command.y:348
#, c-format
msgid "Type commands for when %s %d is hit, one per line.\n"
-msgstr ""
+msgstr "Typ de commando's voor wanneer %s %d getroffen wordt, één per regel.\n"
#: command.y:350
#, c-format
msgid "End with the command \"end\"\n"
-msgstr "Eindig met het commando \"end\".\n"
+msgstr "Eindig met het commando 'end'.\n"
#: command.y:357
msgid "`end' valid only in command `commands' or `eval'"
@@ -989,7 +977,7 @@ msgstr "trace: ongeldige optie -- \"%s\""
#: command.y:387
msgid "condition: invalid breakpoint/watchpoint number"
-msgstr ""
+msgstr "condition: ongeldig nummer van breekpunt/kijkpunt"
#: command.y:449
msgid "argument not a string"
@@ -1028,105 +1016,92 @@ msgid "non-zero integer value"
msgstr "niet-nul geheel getal"
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
-"backtrace [N] - trace printen van alle of N binnenste frames (of buitenste "
-"als N < 0)"
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - een trace weergeven van alle of N binnenste frames (of buitenste als N < 0)"
#: command.y:819
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
-msgstr "break [[BESTANDSNAAM:]N|FUNCTIE] - breekpunt zetten op gegeven positie"
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
+msgstr "break [[BESTANDSNAAM:]REGELNUMMER|FUNCTIE] - breekpunt zetten op gegeven positie"
#: command.y:821
msgid "clear [[filename:]N|function] - delete breakpoints previously set."
-msgstr "clear [[BESTANDSNAAM:]N|FUNCTIE] - eerder gezet breekpunt verwijderen"
+msgstr "clear [[BESTANDSNAAM:]REGELNUMMER|FUNCTIE] - eerder gezet breekpunt verwijderen"
#: command.y:823
-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 [NUMMER] - een lijst van commando's beginnen die uitgevoerd moeten worden wanneer een breekpunt/kijkpunt getroffen wordt"
#: command.y:825
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
+msgstr "condition NUMMER [EXPRESSIE] - de conditie van een breekpunt/kijkpunt zetten of wissen"
#: command.y:827
msgid "continue [COUNT] - continue program being debugged."
-msgstr ""
+msgstr "continue [AANTAL] - doorgaan met het programma in de debugger"
#: command.y:829
msgid "delete [breakpoints] [range] - delete specified breakpoints."
-msgstr ""
+msgstr "delete [BREEKPUNTEN] [BEREIK] - de gegeven breekpunten verwijderen"
#: command.y:831
msgid "disable [breakpoints] [range] - disable specified breakpoints."
-msgstr ""
+msgstr "disable [BREEKPUNTEN] [BEREIK] - de gegeven breekpunten uitschakelen"
#: command.y:833
msgid "display [var] - print value of variable each time the program stops."
-msgstr ""
-"display [VAR] - waarde van variabele printen elke keer dat het programma "
-"stopt"
+msgstr "display [VAR] - waarde van variabele weergeven elke keer dat het programma stopt"
#: command.y:835
msgid "down [N] - move N frames down the stack."
-msgstr ""
+msgstr "down [AANTAL] - dit aantal frames naar beneden in de stack gaan"
#: command.y:837
msgid "dump [filename] - dump instructions to file or stdout."
-msgstr ""
-"dump [BESTANDSNAAM] - instructies dumpen op standaarduitvoer of naar bestand"
+msgstr "dump [BESTANDSNAAM] - instructies dumpen op standaarduitvoer (of naar bestand)"
#: command.y:839
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr ""
+msgstr "enable [once|del] [BREEKPUNTEN] [BEREIK] - de gegeven breekpunten inschakelen"
#: command.y:841
msgid "end - end a list of commands or awk statements."
-msgstr ""
+msgstr "end - een lijst van commando's of awk-statements beëindigen"
#: command.y:843
msgid "eval stmt|[p1, p2, ...] - evaluate awk statement(s)."
-msgstr ""
+msgstr "eval STATEMENT|[p1, p2, ...] - awk-statement(s) evalueren"
#: command.y:845
msgid "finish - execute until selected stack frame returns."
-msgstr ""
+msgstr "finish - uitvoeren totdat het geselecteerde stack-frame terugkeert"
#: command.y:847
msgid "frame [N] - select and print stack frame number N."
-msgstr ""
+msgstr "frame [NUMMER] - stack-frame met dit nummer selecteren en weergeven"
#: command.y:849
msgid "help [command] - print list of commands or explanation of command."
-msgstr ""
+msgstr "help [COMMANDO] - lijst van beschikbare commando's (of uitleg van commando) tonen"
#: command.y:851
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
-msgstr ""
+msgstr "ignore NUMMER AANTAL - het aantal keren dat dit breekpuntnummer genegeerd moet worden"
#: command.y:853
-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 "info THEMA - source|sources|variables|functions|break|frame|args|locals|display|watch"
#: command.y:855
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
-msgstr ""
+msgstr "list [-|+|[BESTANDSNAAM:]REGELNUMMER|FUNCTIE|BEREIK] - aangegeven regels tonen"
#: command.y:857
msgid "next [COUNT] - step program, proceeding through subroutine calls."
-msgstr ""
+msgstr "next [AANTAL] - programma uitvoeren tot de volgende bronregel bereikt is"
#: command.y:859
-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 [AANTAL] - één instructie (of dit aantal) uitvoeren, waarbij een functie-aanroep als één telt"
#: command.y:861
msgid "option [name[=value]] - set or display debugger option(s)."
@@ -1134,7 +1109,7 @@ msgstr "option [NAAM[=WAARDE]] - opties van debugger tonen of instellen"
#: command.y:863
msgid "print var [var] - print value of a variable or array."
-msgstr "print VAR [VAR] - waarde van variabele of array printen"
+msgstr "print VAR [VAR] - waarde van variabele of array weergeven"
#: command.y:865
msgid "printf format, [arg], ... - formatted output."
@@ -1146,7 +1121,7 @@ msgstr "quit - de debugger verlaten"
#: command.y:869
msgid "return [value] - make selected stack frame return to its caller."
-msgstr "return [WAARDE] - gekozen stackframe terug laten keren naar aanroeper"
+msgstr "return [WAARDE] - gekozen stack-frame terug laten keren naar aanroeper"
#: command.y:871
msgid "run - start or restart executing program."
@@ -1161,9 +1136,8 @@ msgid "set var = value - assign value to a scalar variable."
msgstr "set VAR = WAARDE - een waarde aan een scalaire variabele toekennen"
#: command.y:879
-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 - de gewone meldingen bij het stoppen bij een breekpunt/kijkpunt onderdrukken"
#: command.y:881
msgid "source file - execute commands from file."
@@ -1171,44 +1145,41 @@ msgstr "source BESTANDSNAAM - commando's uit dit bestand uitvoeren"
#: command.y:883
msgid "step [COUNT] - step program until it reaches a different source line."
-msgstr ""
-"step [AANTAL] - programma uitvoeren tot een andere bronregel bereikt is"
+msgstr "step [AANTAL] - programma uitvoeren tot een andere bronregel bereikt is"
#: command.y:885
msgid "stepi [COUNT] - step one instruction exactly."
-msgstr "stepi [AANTAL] - precies één of dit aantal instructies uitvoeren"
+msgstr "stepi [AANTAL] - precies één (of dit aantal) instructies uitvoeren"
#: command.y:887
msgid "tbreak [[filename:]N|function] - set a temporary breakpoint."
-msgstr ""
+msgstr "tbreak [[BESTANDSNAAM:]REGELNUMMER|FUNCTIE] - een tijdelijk breekpunt zetten"
#: command.y:889
msgid "trace on|off - print instruction before executing."
-msgstr ""
+msgstr "trace on|off - instructie weergeven alvorens deze uit te voeren"
#: command.y:891
msgid "undisplay [N] - remove variable(s) from automatic display list."
-msgstr ""
+msgstr "undisplay [AANTAL] - variabele(n) van automatische weergavelijst verwijderen"
#: command.y:893
-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 "until [[BESTANDSNAAM:]N|FUNCTIE] - programma uitvoeren totdat deze een andere regel bereikt of regel N binnen het huidige frame"
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
-msgstr ""
+msgstr "unwatch [AANTAL] - variabele(n) van de kijklijst verwijderen"
#: command.y:897
msgid "up [N] - move N frames up the stack."
-msgstr ""
+msgstr "up [AANTAL] - dit aantal frames naar boven in de stack gaan"
#: command.y:899
msgid "watch var - set a watchpoint for a variable."
-msgstr ""
+msgstr "watch VAR - een kijkpunt voor een variabele zetten"
-#: command.y:1011 debug.c:395 msg.c:128
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr "fout: "
@@ -1230,12 +1201,12 @@ msgstr "ongeldig teken in commando"
#: command.y:1152
#, c-format
msgid "unknown command - \"%.*s\", try help"
-msgstr ""
+msgstr "onbekend commando - \"%.*s\", probeer help"
#: command.y:1222
#, c-format
msgid "%s"
-msgstr ""
+msgstr "%s"
#: command.y:1284
msgid "invalid character"
@@ -1244,528 +1215,532 @@ msgstr "ongeldig teken"
#: command.y:1455
#, c-format
msgid "undefined command: %s\n"
-msgstr ""
+msgstr "ongedefinieerd commando: %s\n"
-#: debug.c:246
+#: debug.c:252
msgid "set or show the number of lines to keep in history file."
-msgstr ""
+msgstr "zetten of tonen van maximum aantal regels in geschiedenisbestand"
-#: debug.c:248
+#: debug.c:254
msgid "set or show the list command window size."
-msgstr ""
+msgstr "zetten of tonen van venstergrootte van list-commando"
-#: debug.c:250
+#: debug.c:256
msgid "set or show gawk output file."
-msgstr ""
+msgstr "zetten of tonen van gawk-uitvoerbestand"
-#: debug.c:252
+#: debug.c:258
msgid "set or show debugger prompt."
-msgstr ""
+msgstr "zetten of tonen van debugger-prompt"
-#: debug.c:254
+#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
-msgstr ""
+msgstr "zetten of tonen van opslaan van commandogeschiedenis (waarde=on|off)"
-#: debug.c:256
+#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
-msgstr ""
+msgstr "zetten of tonen van opslaan van opties (waarde=on|off)"
-#: debug.c:258
+#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
-msgstr ""
+msgstr "zetten of tonen van instructie-tracing (waarde=on|off)"
-#: debug.c:339
+#: debug.c:345
msgid "program not running."
-msgstr ""
+msgstr "programma draait niet."
-#: debug.c:442 debug.c:597
+#: debug.c:448 debug.c:606
#, c-format
msgid "can't read source file `%s' (%s)"
msgstr "kan bronbestand '%s' niet lezen (%s)"
-#: debug.c:447
+#: debug.c:453
#, c-format
msgid "source file `%s' is empty.\n"
msgstr "bronbestand '%s' is leeg\n"
-#: debug.c:474
+#: debug.c:480
msgid "no current source file."
msgstr "geen huidig bronbestand"
-#: debug.c:499
+#: debug.c:505
#, c-format
msgid "cannot find source file named `%s' (%s)"
msgstr "kan geen bronbestand met naam '%s' vinden (%s)"
-#: debug.c:523
+#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
-msgstr ""
+msgstr "Waarschuwing: bronbestand '%s' is gewijzigd sinds programmacompilatie.\n"
-#: debug.c:542
+#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
-msgstr ""
+msgstr "regelnummer %d valt buiten bereik; '%s' heeft %d regels"
-#: debug.c:602
+#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
msgstr "onverwacht einde-van-bestand tijdens lezen van bestand '%s', regel %d"
-#: debug.c:611
+#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
-msgstr ""
+msgstr "bronbestand '%s' is gewijzigd sinds start van programma-uitvoering"
-#: debug.c:723
+#: debug.c:732
#, c-format
msgid "Current source file: %s\n"
msgstr "Huidig bronbestand: %s\n"
-#: debug.c:724
+#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
-msgstr ""
+msgstr "Aantal regels: %d\n"
-#: debug.c:731
+#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
-msgstr ""
+msgstr "Bronbestand (regels): %s (%d)\n"
-#: debug.c:745
+#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
msgstr ""
+"Nummer Toon Actief Locatie\n"
+"\n"
-#: debug.c:756
+#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
-msgstr ""
+msgstr "\taantal treffers = %ld\n"
-#: debug.c:758
+#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
-msgstr ""
+msgstr "\tvolgende %ld treffer(s) negeren\n"
-#: debug.c:760 debug.c:900
+#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
-msgstr ""
+msgstr "\tstopconditie: %s\n"
-#: debug.c:762 debug.c:902
+#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
-msgstr ""
+msgstr "\tcommando's:\n"
-#: debug.c:784
+#: debug.c:793
#, c-format
msgid "Current frame: "
-msgstr ""
+msgstr "Huidig frame: "
-#: debug.c:787
+#: debug.c:796
#, c-format
msgid "Called by frame: "
-msgstr ""
+msgstr "Aangeroepen door frame: "
-#: debug.c:791
+#: debug.c:800
#, c-format
msgid "Caller of frame: "
-msgstr ""
+msgstr "Aanroeper van frame: "
-#: debug.c:809
+#: debug.c:818
#, c-format
msgid "None in main().\n"
-msgstr ""
+msgstr "Geen in main().\n"
-#: debug.c:839
+#: debug.c:848
msgid "No arguments.\n"
msgstr "Geen argumenten.\n"
-#: debug.c:840
+#: debug.c:849
msgid "No locals.\n"
-msgstr ""
+msgstr "Geen lokalen.\n"
-#: debug.c:848
+#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
msgstr ""
+"Alle gedefinieerde variabelen:\n"
+"\n"
-#: debug.c:858
+#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
msgstr ""
+"Alle gedefinieerde functies:\n"
+"\n"
-#: debug.c:877
+#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
msgstr ""
+"Automatisch weer te geven variabelen:\n"
+"\n"
-#: debug.c:880
+#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
msgstr ""
+"Kijkvariabelen:\n"
+"\n"
-#: debug.c:1020
+#: debug.c:1029
#, c-format
msgid "no symbol `%s' in current context\n"
msgstr "geen symbool '%s' in huidige context\n"
-#: debug.c:1032 debug.c:1418
+#: debug.c:1041 debug.c:1427
#, c-format
msgid "`%s' is not an array\n"
msgstr "'%s' is geen array\n"
-#: debug.c:1046
+#: debug.c:1055
#, c-format
msgid "$%ld = uninitialized field\n"
msgstr "$%ld = ongeïnitialiseerd veld\n"
-#: debug.c:1067
+#: debug.c:1076
#, c-format
msgid "array `%s' is empty\n"
msgstr "array '%s' is leeg\n"
-#: debug.c:1110 debug.c:1162
+#: debug.c:1119 debug.c:1171
#, c-format
msgid "[\"%s\"] not in array `%s'\n"
msgstr "[\"%s\"] niet in array '%s'\n"
-#: debug.c:1166
+#: debug.c:1175
#, c-format
msgid "`%s[\"%s\"]' is not an array\n"
-msgstr ""
+msgstr "'%s[\"%s\"]' is geen array\n"
-#: debug.c:1227 debug.c:4949
+#: debug.c:1236 debug.c:4964
#, c-format
msgid "`%s' is not a scalar variable"
msgstr "'%s' is geen scalaire variabele"
-#: debug.c:1249 debug.c:4979
+#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "array '%s[\"%s\"]' wordt gebruikt in een scalaire context"
-#: debug.c:1271 debug.c:4990
+#: debug.c:1280 debug.c:5005
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "scalair '%s[\"%s\"]' wordt gebruikt als array"
-#: debug.c:1414
+#: debug.c:1423
#, c-format
msgid "`%s' is a function"
msgstr "'%s' is een functie"
-#: debug.c:1456
+#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
-msgstr ""
+msgstr "kijkpunt %d is zonder conditie\n"
-#: debug.c:1490
+#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
-msgstr ""
+msgstr "Er is geen weergave-item met nummer %ld"
-#: debug.c:1493
+#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
-msgstr ""
+msgstr "Er is geen kijk-item met nummer %ld"
-#: debug.c:1519
+#: debug.c:1528
#, c-format
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr "%d: [\"%s\"] niet in array '%s'\n"
-#: debug.c:1758
+#: debug.c:1767
msgid "attempt to use scalar value as array"
msgstr "scalaire waarde wordt gebruikt als array"
-#: debug.c:1847
+#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
-msgstr ""
+msgstr "Kijkpunt %d is verwijderd omdat parameter buiten bereik is.\n"
-#: debug.c:1858
+#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
-msgstr ""
+msgstr "Weergave %d is verwijderd omdat parameter buiten bereik is.\n"
-#: debug.c:1891
+#: debug.c:1900
#, c-format
msgid " in file `%s', line %d\n"
msgstr " in bestand '%s', regel %d\n"
-#: debug.c:1912
+#: debug.c:1921
#, c-format
msgid " at `%s':%d"
msgstr " op '%s':%d"
-#: debug.c:1928 debug.c:1991
+#: debug.c:1937 debug.c:2000
#, c-format
msgid "#%ld\tin "
-msgstr ""
+msgstr "#%ld\tin "
-#: debug.c:1965
+#: debug.c:1974
#, c-format
msgid "More stack frames follow ...\n"
-msgstr ""
+msgstr "Er volgen meer stack-frames...\n"
-#: debug.c:2008
+#: debug.c:2017
msgid "invalid frame number"
msgstr "ongeldig framenummer"
-#: debug.c:2180
+#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Opmerking: breekpunt %d (ingeschakeld, volgende %ld passages genegeerd), ook "
-"gezet op %s:%d"
+msgstr "Opmerking: breekpunt %d (ingeschakeld, volgende %ld passages genegeerd), ook gezet op %s:%d"
-#: debug.c:2187
+#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
msgstr "Opmerking: breekpunt %d (ingeschakeld), ook gezet op %s:%d"
-#: debug.c:2194
+#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Opmerking: breekpunt %d (uitgeschakeld, volgende %ld passages genegeerd), "
-"ook gezet op %s:%d"
+msgstr "Opmerking: breekpunt %d (uitgeschakeld, volgende %ld passages genegeerd), ook gezet op %s:%d"
-#: debug.c:2201
+#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
msgstr "Opmerking: breekpunt %d (uitgeschakeld), ook gezet op %s:%d"
-#: debug.c:2218
+#: debug.c:2238
#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
msgstr "Breekpunt %d is gezet in bestand '%s', op regel %d\n"
-#: debug.c:2320
+#: debug.c:2340
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
msgstr "Kan geen breekpunt zetten in bestand '%s'\n"
-#: debug.c:2349 debug.c:2472 debug.c:3330
+#: debug.c:2369 debug.c:2492 debug.c:3350
#, c-format
msgid "line number %d in file `%s' out of range"
msgstr "regelnummer %d in bestand '%s' valt buiten bereik"
-#: debug.c:2353
+#: debug.c:2373
#, c-format
msgid "Can't find rule!!!\n"
msgstr "Kan regel niet vinden!!!\n"
-#: debug.c:2355
+#: debug.c:2375
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
msgstr "Kan geen breekpunt zetten op '%s':%d\n"
-#: debug.c:2367
+#: debug.c:2387
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
msgstr "Kan geen breekpunt zetten in functie '%s'\n"
-#: debug.c:2383
+#: debug.c:2403
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
msgstr "breekpunt %d (gezet in bestand '%s', op regel %d) is onconditioneel\n"
-#: debug.c:2488 debug.c:2510
+#: debug.c:2508 debug.c:2530
#, c-format
msgid "Deleted breakpoint %d"
msgstr "Breekpunt %d is verwijderd"
-#: debug.c:2494
+#: debug.c:2514
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
msgstr "Geen breekpunt(en) bij binnengaan van functie '%s'\n"
-#: debug.c:2521
+#: debug.c:2541
#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
msgstr "Geen breekpunt in bestand '%s', op regel #%d\n"
-#: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
msgid "invalid breakpoint number"
msgstr "ongeldig breekpuntnummer"
-#: debug.c:2592
+#: debug.c:2612
msgid "Delete all breakpoints? (y or n) "
msgstr "Alle breekpunten verwijderen? (j of n) "
-#: debug.c:2593 debug.c:2903 debug.c:2956
+#: debug.c:2613 debug.c:2923 debug.c:2976
msgid "y"
msgstr "j"
-#: debug.c:2642
+#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
msgstr "Zal de volgende %ld passage(s) van breekpunt %d negeren.\n"
-#: debug.c:2646
+#: debug.c:2666
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
msgstr "Zal de volgende keer dat breekpunt %d wordt bereikt stoppen.\n"
-#: debug.c:2763
+#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
-msgstr ""
+msgstr "Kan alleen programma's debuggen die met optie '-f' gegeven zijn.\n"
-#: debug.c:2888
+#: debug.c:2908
#, c-format
msgid "Failed to restart debugger"
msgstr "Herstarten van debugger is mislukt"
-#: debug.c:2902
+#: debug.c:2922
msgid "Program already running. Restart from beginning (y/n)? "
msgstr "Programma draait al. Herstarten vanaf begin (j/n)? "
-#: debug.c:2906
+#: debug.c:2926
#, c-format
msgid "Program not restarted\n"
msgstr "Programma is niet herstart\n"
-#: debug.c:2916
+#: debug.c:2936
#, c-format
msgid "error: cannot restart, operation not allowed\n"
msgstr "fout: kan niet herstarten; operatie is niet toegestaan\n"
-#: debug.c:2922
+#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
-msgstr ""
-"fout(%s): kan niet herstarten; de resterende commando's worden genegeerd\n"
+msgstr "fout(%s): kan niet herstarten; de resterende commando's worden genegeerd\n"
-#: debug.c:2930
+#: debug.c:2950
#, c-format
msgid "Starting program: \n"
msgstr "Starten van programma: \n"
-#: debug.c:2939
+#: debug.c:2959
#, c-format
msgid "Program exited %s with exit value: %d\n"
msgstr "Programma verliet %s met afsluitwaarde %d\n"
-#: debug.c:2955
+#: debug.c:2975
msgid "The program is running. Exit anyway (y/n)? "
msgstr "Het programma draait. Toch afsluiten (j/n)? "
-#: debug.c:2990
+#: debug.c:3010
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
msgstr "Niet gestopt op een breekpunt; argument is genegeerd.\n"
-#: debug.c:2995
+#: debug.c:3015
#, c-format
msgid "invalid breakpoint number %d."
msgstr "ongeldig breekpuntnummer %d."
-#: debug.c:3000
+#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
msgstr "Zal de volgende %ld passages van breekpunt %d negeren.\n"
-#: debug.c:3187
+#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
-msgstr ""
+msgstr "'finish' is niet zinvol in het buitenste frame van main()\n"
-#: debug.c:3192
+#: debug.c:3212
#, c-format
msgid "Run till return from "
msgstr "Draaien tot terugkeer uit "
-#: debug.c:3235
+#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
-msgstr ""
+msgstr "'return' is niet zinvol in het buitenste frame van main()\n"
-#: debug.c:3349
+#: debug.c:3369
#, c-format
msgid "Can't find specified location in function `%s'\n"
msgstr "Kan gegeven locatie in functie '%s' niet vinden\n"
-#: debug.c:3357
+#: debug.c:3377
#, c-format
msgid "invalid source line %d in file `%s'"
msgstr "ongeldige bronregel %d in bestand '%s'"
-#: debug.c:3372
+#: debug.c:3392
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
msgstr "Kan gegeven locatie %d in bestand '%s' niet vinden\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "element not in array\n"
msgstr "element niet in array\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "untyped variable\n"
msgstr "ongetypeerde variabele\n"
-#: debug.c:3446
+#: debug.c:3466
#, c-format
msgid "Stopping in %s ...\n"
msgstr "Stoppend in %s...\n"
-#: debug.c:3523
+#: debug.c:3543
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
-msgstr ""
+msgstr "'finish' is niet zinvol met een niet-lokale sprong '%s'\n"
-#: debug.c:3530
+#: debug.c:3550
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
-msgstr ""
+msgstr "'until' is niet zinvol met een niet-lokale sprong '%s'\n"
-#: debug.c:4165
+#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
-msgstr ""
-"\t------[Enter] om verder te gaan, of [q] [Enter] om af te sluiten------"
+msgstr "\t------[Enter] om verder te gaan, of [q] [Enter] om af te sluiten------"
-#: debug.c:4166
+#: debug.c:4186
msgid "q"
msgstr "q"
-#: debug.c:4986
+#: debug.c:5001
#, c-format
msgid "[\"%s\"] not in array `%s'"
msgstr "[\"%s\"] niet in array '%s'"
-#: debug.c:5192
+#: debug.c:5207
#, c-format
msgid "sending output to stdout\n"
msgstr "uitvoer wordt naar standaarduitvoer gestuurd\n"
-#: debug.c:5232
+#: debug.c:5247
msgid "invalid number"
msgstr "ongeldig nummer"
-#: debug.c:5366
+#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr "'%s' is niet toegestaan in huidige context; statement is genegeerd"
-#: debug.c:5374
+#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
msgstr "'return' is niet toegestaan in huidige context; statement is genegeerd"
-#: debug.c:5575
+#: debug.c:5590
#, c-format
msgid "No symbol `%s' in current context"
msgstr "Geen symbool '%s' in huidige context"
#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
-#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
msgid "unbalanced ["
msgstr "ongepaarde ["
@@ -1773,31 +1748,31 @@ msgstr "ongepaarde ["
msgid "invalid character class"
msgstr "ongeldige tekenklasse"
-#: dfa.c:1229
+#: dfa.c:1228
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr "syntax van tekenklasse is [[:space:]], niet [:space:]"
-#: dfa.c:1281
+#: dfa.c:1280
msgid "unfinished \\ escape"
msgstr "onafgemaakte \\-stuurcode"
-#: dfa.c:1428 regcomp.c:161
+#: dfa.c:1427 regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Ongeldige inhoud van \\{\\}"
-#: dfa.c:1431 regcomp.c:176
+#: dfa.c:1430 regcomp.c:176
msgid "Regular expression too big"
msgstr "Reguliere expressie is te groot"
-#: dfa.c:1816
+#: dfa.c:1847
msgid "unbalanced ("
msgstr "ongepaarde ("
-#: dfa.c:1943
+#: dfa.c:1973
msgid "no syntax specified"
msgstr "geen syntax opgegeven"
-#: dfa.c:1951
+#: dfa.c:1981
msgid "unbalanced )"
msgstr "ongepaarde )"
@@ -1816,11 +1791,11 @@ msgstr "onbekende opcode %d"
msgid "opcode %s not an operator or keyword"
msgstr "opcode %s is geen operator noch sleutelwoord"
-#: eval.c:471
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr "bufferoverloop in genflags2str()"
-#: eval.c:674
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -1831,71 +1806,71 @@ msgstr ""
"\t# Functieaanroepen-stack:\n"
"\n"
-#: eval.c:703
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
msgstr "'IGNORECASE' is een gawk-uitbreiding"
-#: eval.c:735
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "'BINMODE' is een gawk-uitbreiding"
-#: eval.c:793
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "BINMODE-waarde '%s' is ongeldig, wordt behandeld als 3"
-#: eval.c:884
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "onjuiste opgave van '%sFMT': '%s'"
-#: eval.c:968
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "'--lint' wordt uitgeschakeld wegens toewijzing aan 'LINT'"
-#: eval.c:1146
+#: eval.c:1147
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "verwijzing naar ongeïnitialiseerd argument '%s'"
-#: eval.c:1147
+#: eval.c:1148
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "verwijzing naar ongeïnitialiseerde variabele '%s'"
-#: eval.c:1165
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr "veldverwijzingspoging via een waarde die geen getal is"
-#: eval.c:1167
+#: eval.c:1168
msgid "attempt to field reference from null string"
msgstr "veldverwijzingspoging via een lege string"
-#: eval.c:1175
+#: eval.c:1176
#, c-format
msgid "attempt to access field %ld"
msgstr "toegangspoging tot veld %ld"
-#: eval.c:1184
+#: eval.c:1185
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "verwijzing naar ongeïnitialiseerd veld '$%ld'"
-#: eval.c:1271
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "functie '%s' aangeroepen met meer argumenten dan gedeclareerd"
-#: eval.c:1466
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack(): onverwacht type '%s'"
-#: eval.c:1562
+#: eval.c:1569
msgid "division by zero attempted in `/='"
msgstr "deling door nul in '/='"
-#: eval.c:1569
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "deling door nul in '%%='"
@@ -1908,7 +1883,7 @@ msgstr "uitbreidingen zijn niet toegestaan in sandbox-modus"
msgid "-l / @load are gawk extensions"
msgstr "-l / '@load' zijn gawk-uitbreidingen"
-#: ext.c:95 ext.c:177
+#: ext.c:95
msgid "load_ext: received NULL lib_name"
msgstr "load_ext: lege bibliotheeknaam ontvangen"
@@ -1919,10 +1894,8 @@ msgstr "load_ext: kan bibliotheek '%s' niet openen (%s)\n"
#: ext.c:104
#, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"load_ext: bibliotheek '%s' definieert 'plugin_is_GPL_compatible' niet (%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext: bibliotheek '%s' definieert 'plugin_is_GPL_compatible' niet (%s)\n"
#: ext.c:110
#, c-format
@@ -1938,6 +1911,10 @@ msgstr "load_ext: bibliotheek '%s': initialisatiefunctie '%s' is mislukt\n"
msgid "`extension' is a gawk extension"
msgstr "'extension' is een gawk-uitbreiding"
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr "uitbreiding: lege bibliotheeknaam ontvangen"
+
#: ext.c:180
#, c-format
msgid "extension: cannot open library `%s' (%s)"
@@ -1945,10 +1922,8 @@ msgstr "extension: kan bibliotheek '%s' niet openen (%s)"
#: ext.c:186
#, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"extension: bibliotheek '%s' definieert 'plugin_is_GPL_compatible' niet (%s)"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "extension: bibliotheek '%s' definieert 'plugin_is_GPL_compatible' niet (%s)"
#: ext.c:190
#, c-format
@@ -1959,37 +1934,36 @@ msgstr "extension: bibliotheek '%s' kan functie '%s' niet aanroepen (%s)"
msgid "make_builtin: missing function name"
msgstr "make_builtin: ontbrekende functienaam"
-#: ext.c:238
+#: ext.c:236
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr "make_builtin: kan functie '%s' niet herdefiniëren"
-#: ext.c:242
+#: ext.c:240
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr "make_builtin: functie '%s' is al gedefinieerd"
-#: ext.c:246
+#: ext.c:244
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr "make_builtin: functienaam '%s' is al eerder gedefinieerd"
-#: ext.c:248
+#: ext.c:246
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"make_builtin: kan in gawk ingebouwde '%s' niet als functienaam gebruiken"
+msgstr "make_builtin: kan in gawk ingebouwde '%s' niet als functienaam gebruiken"
-#: ext.c:251 ext.c:304
+#: ext.c:249 ext.c:304
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negatief aantal argumenten voor functie '%s'"
-#: ext.c:278
+#: ext.c:276
msgid "extension: missing function name"
msgstr "extension: ontbrekende functienaam"
-#: ext.c:283
+#: ext.c:279 ext.c:283
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: ongeldig teken '%c' in functienaam '%s'"
@@ -2014,142 +1988,143 @@ msgstr "extension: functienaam '%s' is al eerder gedefinieerd"
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr "extension: kan in gawk ingebouwde '%s' niet als functienaam gebruiken"
-#: ext.c:374
+#: ext.c:375
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
-msgstr ""
-"functie '%s' is gedefinieerd om niet meer dan %d argument(en) te accepteren"
+msgstr "functie '%s' is gedefinieerd om niet meer dan %d argument(en) te accepteren"
-#: ext.c:377
+#: ext.c:378
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "functie '%s': ontbrekend argument #%d"
-#: ext.c:394
+#: ext.c:395
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "functie '%s': argument #%d: een scalair wordt gebruikt als array"
-#: ext.c:398
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "functie '%s': argument #%d: een array wordt gebruikt als scalair"
-#: ext.c:412
+#: ext.c:413
msgid "dynamic loading of library not supported"
msgstr "het dynamisch laden van de bibliotheek wordt niet ondersteund"
-#: extension/filefuncs.c:97
+#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
-msgstr ""
-"chdir: aangeroepen met onjuist aantal argumenten; één wordt er verwacht"
+msgstr "chdir: aangeroepen met onjuist aantal argumenten; één wordt er verwacht"
-#: extension/filefuncs.c:343
+#: extension/filefuncs.c:439
#, c-format
msgid "stat: unable to read symbolic link `%s'"
msgstr "stat: kan symbolische koppeling '%s' niet lezen"
-#: extension/filefuncs.c:376
+#: extension/filefuncs.c:472
msgid "stat: called with wrong number of arguments"
msgstr "stat: aangeroepen met onjuist aantal argumenten"
-#: extension/filefuncs.c:383
+#: extension/filefuncs.c:479
msgid "stat: bad parameters"
msgstr "stat: onjuiste parameters"
-#: extension/filefuncs.c:437
+#: extension/filefuncs.c:533
#, c-format
msgid "fts init: could not create variable %s"
msgstr "fts-initialisatie: kan variabele %s niet aanmaken"
-#: extension/filefuncs.c:460
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr "'fts' wordt op dit systeem niet ondersteund"
+
+#: extension/filefuncs.c:573
msgid "fill_stat_element: could not create array"
msgstr "fill_stat_element: kan array niet aanmaken"
-#: extension/filefuncs.c:469
+#: extension/filefuncs.c:582
msgid "fill_stat_element: could not set element"
msgstr "fill_stat_element: kan element niet instellen"
-#: extension/filefuncs.c:484
+#: extension/filefuncs.c:597
msgid "fill_path_element: could not set element"
msgstr "fill_path_element: kan element niet instellen"
-#: extension/filefuncs.c:500
+#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
msgstr "fill_error_element: kan element niet instellen"
-#: extension/filefuncs.c:547 extension/filefuncs.c:594
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
msgid "fts-process: could not create array"
msgstr "fts-verwerking: kan array niet aanmaken"
-#: extension/filefuncs.c:557 extension/filefuncs.c:604
-#: extension/filefuncs.c:622
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
msgid "fts-process: could not set element"
msgstr "fts-verwerking: kan element niet instellen"
-#: extension/filefuncs.c:671
+#: extension/filefuncs.c:784
msgid "fts: called with incorrect number of arguments, expecting 3"
-msgstr ""
-"fts: aangeroepen met onjuist aantal argumenten; drie worden er verwacht"
+msgstr "fts: aangeroepen met onjuist aantal argumenten; drie worden er verwacht"
-#: extension/filefuncs.c:674
+#: extension/filefuncs.c:787
msgid "fts: bad first parameter"
msgstr "fts: onjuiste eerste parameter"
-#: extension/filefuncs.c:680
+#: extension/filefuncs.c:793
msgid "fts: bad second parameter"
msgstr "fts: onjuiste tweede parameter"
-#: extension/filefuncs.c:686
+#: extension/filefuncs.c:799
msgid "fts: bad third parameter"
msgstr "fts: onjuiste derde parameter"
-#: extension/filefuncs.c:693
+#: extension/filefuncs.c:806
msgid "fts: could not flatten array\n"
msgstr "fts: kan array niet pletten\n"
-#: extension/filefuncs.c:711
+#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
-msgstr ""
+msgstr "fts: listige FTS_NOSTAT-vlag wordt genegeerd -- lekker puh :)"
-#: extension/filefuncs.c:728
+#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
msgstr "fts: clear_array() is mislukt\n"
-#: extension/fnmatch.c:98
+#: extension/fnmatch.c:112
msgid "fnmatch: called with less than three arguments"
msgstr "fnmatch: aangeroepen met minder dan drie argumenten"
-#: extension/fnmatch.c:101
+#: extension/fnmatch.c:115
msgid "fnmatch: called with more than three arguments"
msgstr "fnmatch: aangeroepen met meer dan drie argumenten"
-#: extension/fnmatch.c:104
+#: extension/fnmatch.c:118
msgid "fnmatch: could not get first argument"
msgstr "fnmatch: kan eerste argument niet verkrijgen"
-#: extension/fnmatch.c:109
+#: extension/fnmatch.c:123
msgid "fnmatch: could not get second argument"
msgstr "fnmatch: kan tweede argument niet verkrijgen"
-#: extension/fnmatch.c:114
+#: extension/fnmatch.c:128
msgid "fnmatch: could not get third argument"
msgstr "fnmatch: kan derde argument niet verkrijgen"
-#: extension/fnmatch.c:127
+#: extension/fnmatch.c:141
msgid "fnmatch is not implemented on this system\n"
msgstr "'fnmatch' is niet geïmplementeerd op dit systeem\n"
-#: extension/fnmatch.c:159
+#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
msgstr "fnmatch()-initialisatie: kan de variabele FNM_NOMATCH niet toevoegen"
-#: extension/fnmatch.c:169
+#: extension/fnmatch.c:183
#, c-format
msgid "fnmatch init: could not set array element %s"
msgstr "fnmatch()-initialisatie: kan array-element %s niet instellen"
-#: extension/fnmatch.c:179
+#: extension/fnmatch.c:193
msgid "fnmatch init: could not install FNM array"
msgstr "fnmatch()-initialisatie: kan array FNM niet installeren"
@@ -2173,94 +2148,88 @@ msgstr "wait: aangeroepen zonder argumenten"
msgid "wait: called with too many arguments"
msgstr "wait: aangeroepen met te veel argumenten"
-#: extension/inplace.c:110
+#: extension/inplace.c:130
msgid "inplace_begin: in-place editing already active"
msgstr "inplace_begin(): in-situ-bewerken is al actief"
-#: extension/inplace.c:113 extension/inplace.c:187
+#: extension/inplace.c:133 extension/inplace.c:207
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr "inplace_begin(): verwachtte twee argumenten maar is aangeroepen met %d"
-#: extension/inplace.c:116
-#, fuzzy
+#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
-msgstr ""
-"inplace_begin(): kan eerste argument niet als bestandsnaamstring oppakken"
+msgstr "inplace_begin(): kan eerste argument niet als bestandsnaamstring oppakken"
-#: extension/inplace.c:124
+#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr ""
-"inplace_begin(): in-situ-bewerken wordt uitgeschakeld voor ongeldige "
-"bestandsnaam '%s'"
+msgstr "inplace_begin(): in-situ-bewerken wordt uitgeschakeld voor ongeldige bestandsnaam '%s'"
-#: extension/inplace.c:131
+#: extension/inplace.c:151
#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
msgstr "inplace_begin(): Kan status van '%s' niet bepalen (%s)"
-#: extension/inplace.c:138
+#: extension/inplace.c:158
#, c-format
msgid "inplace_begin: `%s' is not a regular file"
msgstr "inplace_begin(): '%s' is geen normaal bestand"
-#: extension/inplace.c:149
+#: extension/inplace.c:169
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr "inplace_begin(): mkstemp('%s') is mislukt (%s)"
-#: extension/inplace.c:158
+#: extension/inplace.c:178
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr "inplace_begin(): chmod is mislukt (%s)"
-#: extension/inplace.c:165
+#: extension/inplace.c:185
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr "inplace_begin(): dup(stdout) is mislukt (%s)"
-#: extension/inplace.c:168
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr "inplace_begin(): dup2(%d, stdout) is mislukt (%s)"
-#: extension/inplace.c:171
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "inplace_begin(): close(%d) is mislukt (%s)"
-#: extension/inplace.c:190
-#, fuzzy
+#: extension/inplace.c:210
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
-msgstr ""
-"inplace_end(): kan eerste argument niet als bestandsnaamstring oppakken"
+msgstr "inplace_end(): kan eerste argument niet als bestandsnaamstring oppakken"
-#: extension/inplace.c:197
+#: extension/inplace.c:217
msgid "inplace_end: in-place editing not active"
msgstr "inplace_end(): in-situ-bewerken is niet actief"
-#: extension/inplace.c:203
+#: extension/inplace.c:223
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr "inplace_end(): dup2(%d, stdout) is mislukt (%s)"
-#: extension/inplace.c:206
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr "inplace_end(): close(%d) is mislukt (%s)"
-#: extension/inplace.c:210
+#: extension/inplace.c:230
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr "inplace_end(): fsetpos(stdout) is mislukt (%s)"
-#: extension/inplace.c:223
+#: extension/inplace.c:243
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "inplace_end(): link('%s', '%s') is mislukt (%s)"
-#: extension/inplace.c:229
+#: extension/inplace.c:253
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "inplace_end(): rename('%s', '%s') is mislukt (%s)"
@@ -2289,10 +2258,10 @@ msgstr "chr: aangeroepen zonder argumenten"
msgid "chr: called with inappropriate argument(s)"
msgstr "chr: aangeroepen met onjuiste argumenten"
-#: extension/readdir.c:203
+#: extension/readdir.c:277
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
-msgstr ""
+msgstr "dir_take_control_of(): opendir()/fdopendir() is mislukt: %s"
#: extension/readfile.c:84
msgid "readfile: called with too many arguments"
@@ -2302,164 +2271,152 @@ msgstr "readfile: aangeroepen met te veel argumenten"
msgid "readfile: called with no arguments"
msgstr "readfile: aangeroepen zonder argumenten"
-#: extension/rwarray.c:120
+#: extension/rwarray.c:124
msgid "writea: called with too many arguments"
msgstr "writea: aangeroepen met te veel argumenten"
-#: extension/rwarray.c:127
+#: extension/rwarray.c:131
#, c-format
msgid "do_writea: argument 0 is not a string\n"
msgstr "do_writea: argument 0 is geen string\n"
-#: extension/rwarray.c:133
+#: extension/rwarray.c:137
#, c-format
msgid "do_writea: argument 1 is not an array\n"
msgstr "do_writea: argument 1 is geen array\n"
-#: extension/rwarray.c:180
+#: extension/rwarray.c:184
#, c-format
msgid "write_array: could not flatten array\n"
msgstr "write_array: kan array niet pletten\n"
-#: extension/rwarray.c:194
+#: extension/rwarray.c:198
#, c-format
msgid "write_array: could not release flattened array\n"
msgstr "write_array: kan geplet array niet vrijgeven\n"
-#: extension/rwarray.c:276
+#: extension/rwarray.c:280
msgid "reada: called with too many arguments"
msgstr "reada: aangeroepen met te veel argumenten"
-#: extension/rwarray.c:283
+#: extension/rwarray.c:287
#, c-format
msgid "do_reada: argument 0 is not a string\n"
msgstr "do_reada: argument 0 is geen string\n"
-#: extension/rwarray.c:289
+#: extension/rwarray.c:293
#, c-format
msgid "do_reada: argument 1 is not an array\n"
msgstr "do_reada: argument 1 is geen array\n"
-#: extension/rwarray.c:333
+#: extension/rwarray.c:337
#, c-format
msgid "do_reada: clear_array failed\n"
msgstr "do_reada: clear_array() is mislukt\n"
-#: extension/rwarray.c:370
+#: extension/rwarray.c:374
#, c-format
msgid "read_array: set_array_element failed\n"
msgstr "read_array: set_array_element() is mislukt\n"
-#: extension/time.c:81
+#: extension/time.c:106
msgid "gettimeofday: ignoring arguments"
msgstr "gettimeofday: argumenten worden genegeerd"
-#: extension/time.c:112
+#: extension/time.c:137
msgid "gettimeofday: not supported on this platform"
msgstr "gettimeofday: wordt op dit platform niet ondersteund"
-#: extension/time.c:133
+#: extension/time.c:158
msgid "sleep: called with too many arguments"
msgstr "sleep: aangeroepen met te veel argumenten"
-#: extension/time.c:136
+#: extension/time.c:161
msgid "sleep: missing required numeric argument"
msgstr "sleep: vereist numeriek argument ontbreekt"
-#: extension/time.c:142
+#: extension/time.c:167
msgid "sleep: argument is negative"
msgstr "sleep: argument is negatief"
-#: extension/time.c:176
+#: extension/time.c:201
msgid "sleep: not supported on this platform"
msgstr "sleep: wordt op dit platform niet ondersteund"
-#: field.c:339
+#: field.c:345
msgid "NF set to negative value"
msgstr "NF is op een negatieve waarde gezet"
-#: field.c:964 field.c:971 field.c:975
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
msgstr "split: vierde argument is een gawk-uitbreiding"
-#: field.c:968
+#: field.c:975
msgid "split: fourth argument is not an array"
msgstr "split: vierde argument is geen array"
-#: field.c:982
+#: field.c:989
msgid "split: second argument is not an array"
msgstr "split: tweede argument is geen array"
-#: field.c:986
+#: field.c:993
msgid "split: cannot use the same array for second and fourth args"
-msgstr ""
-"split: hetzelfde array kan niet zowel als tweede als als vierde argument "
-"gebruikt worden"
+msgstr "split: hetzelfde array kan niet zowel als tweede als als vierde argument gebruikt worden"
-#: field.c:991
+#: field.c:998
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split: een subarray van het tweede argument kan niet als vierde argument "
-"gebruikt worden"
+msgstr "split: een subarray van het tweede argument kan niet als vierde argument gebruikt worden"
-#: field.c:994
+#: field.c:1001
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split: een subarray van het vierde argument kan niet als tweede argument "
-"gebruikt worden"
+msgstr "split: een subarray van het vierde argument kan niet als tweede argument gebruikt worden"
-#: field.c:1023
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
msgstr "split: lege string als derde argument is een gawk-uitbreiding"
-#: field.c:1063
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: vierde argument is geen array"
-#: field.c:1068
+#: field.c:1077
msgid "patsplit: second argument is not an array"
msgstr "patsplit: tweede argument is geen array"
-#: field.c:1074
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: derde argument moet niet-nil zijn"
-#: field.c:1078
+#: field.c:1087
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit: hetzelfde array kan niet zowel als tweede als als vierde argument "
-"gebruikt worden"
+msgstr "patsplit: hetzelfde array kan niet zowel als tweede als als vierde argument gebruikt worden"
-#: field.c:1083
+#: field.c:1092
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit: een subarray van het tweede argument kan niet als vierde argument "
-"gebruikt worden"
+msgstr "patsplit: een subarray van het tweede argument kan niet als vierde argument gebruikt worden"
-#: field.c:1086
+#: field.c:1095
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit: een subarray van het vierde argument kan niet als tweede argument "
-"gebruikt worden"
+msgstr "patsplit: een subarray van het vierde argument kan niet als tweede argument gebruikt worden"
-#: field.c:1124
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "'FIELDWIDTHS' is een gawk-uitbreiding"
-#: field.c:1188
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ongeldige waarde voor FIELDWIDTHS, nabij '%s'"
-#: field.c:1261
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
msgstr "een lege string als 'FS' is een gawk-uitbreiding"
-#: field.c:1265
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
msgstr "oude 'awk' staat geen reguliere expressies toe als waarde van 'FS'"
-#: field.c:1384
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
msgstr "'FPAT' is een gawk-uitbreiding"
@@ -2483,584 +2440,569 @@ msgstr "remove_element(): leeg array ontvangen"
msgid "remove_element: received null subscript"
msgstr "remove_element(): lege index ontvangen"
-#: gawkapi.c:943
+#: gawkapi.c:948
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr "api_flatten_array(): kan index %d niet converteren\n"
-#: gawkapi.c:948
+#: gawkapi.c:953
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr "api_flatten_array(): kan waarde %d niet converteren\n"
-#: getopt.c:603 getopt.c:632
+#: getopt.c:604 getopt.c:633
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: optie '%s' is niet eenduidig; mogelijkheden zijn:"
-#: getopt.c:678 getopt.c:682
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"
-#: getopt.c:691 getopt.c:696
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"
-#: getopt.c:739 getopt.c:758
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: optie '--%s' vereist een argument\n"
-#: getopt.c:796 getopt.c:799
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
-#: getopt.c:807 getopt.c:810
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
-#: getopt.c:859 getopt.c:862
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ongeldige optie -- '%c'\n"
-#: getopt.c:915 getopt.c:932 getopt.c:1142 getopt.c:1160
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: optie vereist een argument -- '%c'\n"
-#: getopt.c:988 getopt.c:1004
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"
-#: getopt.c:1028 getopt.c:1046
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
-#: getopt.c:1067 getopt.c:1085
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: optie '-W %s' vereist een argument\n"
-#: io.c:347
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "opdrachtregelargument '%s' is een map -- overgeslagen"
-#: io.c:350 io.c:463
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "kan bestand '%s' niet openen om te lezen (%s)"
-#: io.c:590
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "sluiten van bestandsdescriptor %d ('%s') is mislukt (%s)"
-#: io.c:666
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr "omleiding is niet toegestaan in sandbox-modus"
-#: io.c:700
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "expressie in omleiding '%s' heeft alleen een getal als waarde"
-#: io.c:706
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "expressie voor omleiding '%s' heeft een lege string als waarde"
-#: io.c:711
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"bestandsnaam '%s' voor omleiding '%s' kan het resultaat zijn van een "
-"logische expressie"
+msgstr "bestandsnaam '%s' voor omleiding '%s' kan het resultaat zijn van een logische expressie"
-#: io.c:754
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "onnodige mix van '>' en '>>' voor bestand '%.*s'"
-#: io.c:808
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "kan pijp '%s' niet openen voor uitvoer (%s)"
-#: io.c:818
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "kan pijp '%s' niet openen voor invoer (%s)"
-#: io.c:849
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "kan tweerichtings-pijp '%s' niet openen voor in- en uitvoer (%s)"
-#: io.c:928
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan niet omleiden van '%s' (%s)"
-#: io.c:931
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan niet omleiden naar '%s' (%s)"
-#: io.c:982
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"systeemgrens voor aantal open bestanden is bereikt: begonnen met multiplexen"
+#: io.c:1040
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "systeemgrens voor aantal open bestanden is bereikt: begonnen met multiplexen"
-#: io.c:998
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "sluiten van '%s' is mislukt (%s)"
-#: io.c:1006
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr "te veel pijpen of invoerbestanden geopend"
-#: io.c:1028
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
msgstr "close: tweede argument moet 'to' of 'from' zijn"
-#: io.c:1045
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: '%.*s' is geen open bestand, pijp, of co-proces"
-#: io.c:1050
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr "sluiten van een nooit-geopende omleiding"
-#: io.c:1147
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: omleiding '%s' is niet geopend met '|&'; tweede argument wordt "
-"genegeerd"
+msgstr "close: omleiding '%s' is niet geopend met '|&'; tweede argument wordt genegeerd"
-#: io.c:1164
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "afsluitwaarde %d bij mislukte sluiting van pijp '%s' (%s)"
-#: io.c:1167
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "afsluitwaarde %d bij mislukte sluiting van bestand '%s' (%s)"
-#: io.c:1187
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "geen expliciete sluiting van socket '%s' aangegeven"
-#: io.c:1190
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "geen expliciete sluiting van co-proces '%s' aangegeven"
-#: io.c:1193
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "geen expliciete sluiting van pijp '%s' aangegeven"
-#: io.c:1196
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "geen expliciete sluiting van bestand '%s' aangegeven"
-#: io.c:1224 io.c:1279 main.c:842 main.c:879
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr "fout tijdens schrijven van standaarduitvoer (%s)"
-#: io.c:1228 io.c:1284
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr "fout tijdens schrijven van standaardfoutuitvoer (%s)"
-#: io.c:1236
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "leegmaken van pijp '%s' is mislukt (%s)"
-#: io.c:1239
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "leegmaken door co-proces van pijp naar '%s' is mislukt (%s)"
-#: io.c:1242
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "leegmaken van bestand '%s' is mislukt (%s)"
-#: io.c:1356
+#: io.c:1420
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokale poort %s is ongeldig in '/inet'"
-#: io.c:1374
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "host- en poortinformatie (%s, %s) zijn ongeldig"
-#: io.c:1526
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "geen (bekend) protocol aangegeven in speciale bestandsnaam '%s'"
-#: io.c:1540
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "speciale bestandsnaam '%s' is onvolledig"
-#: io.c:1557
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
msgstr "'/inet' heeft een gindse hostnaam nodig"
-#: io.c:1575
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
msgstr "'/inet' heeft een gindse poort nodig"
-#: io.c:1621
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-communicatie wordt niet ondersteund"
-#: io.c:1796
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kan '%s' niet openen -- modus '%s'"
-#: io.c:1846
+#: io.c:1917
#, c-format
msgid "close of master pty failed (%s)"
msgstr "kan meester-pty van dochterproces niet sluiten (%s)"
-#: io.c:1848 io.c:2024 io.c:2194
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "kan standaarduitvoer van dochterproces niet sluiten (%s)"
-#: io.c:1851
+#: io.c:1922
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"kan slaaf-pty niet overzetten naar standaarduitvoer van dochterproces (dup: "
-"%s)"
+msgstr "kan slaaf-pty niet overzetten naar standaarduitvoer van dochterproces (dup: %s)"
-#: io.c:1853 io.c:2029
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "kan standaardinvoer van dochterproces niet sluiten (%s)"
-#: io.c:1856
+#: io.c:1927
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"kan slaaf-pty niet overzetten naar standaardinvoer van dochterproces (dup: "
-"%s)"
+msgstr "kan slaaf-pty niet overzetten naar standaardinvoer van dochterproces (dup: %s)"
-#: io.c:1858 io.c:1879
+#: io.c:1929 io.c:1951
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "kan slaaf-pty niet sluiten (%s)"
-#: io.c:1965 io.c:2027 io.c:2171 io.c:2197
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr ""
-"kan pijp niet overzetten naar standaarduitvoer van dochterproces (dup: %s)"
+msgstr "kan pijp niet overzetten naar standaarduitvoer van dochterproces (dup: %s)"
-#: io.c:1972 io.c:2032
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
-msgstr ""
-"kan pijp niet overzetten naar standaardinvoer van dochterproces (dup: %s)"
+msgstr "kan pijp niet overzetten naar standaardinvoer van dochterproces (dup: %s)"
-#: io.c:1992 io.c:2187
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr "kan standaarduitvoer van ouderproces niet herstellen\n"
-#: io.c:2000
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr "kan standaardinvoer van ouderproces niet herstellen\n"
-#: io.c:2035 io.c:2199 io.c:2213
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr "kan pijp niet sluiten (%s)"
-#: io.c:2089
+#: io.c:2174
msgid "`|&' not supported"
msgstr "'|&' wordt niet ondersteund"
-#: io.c:2156
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan pijp '%s' niet openen (%s)"
-#: io.c:2207
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan voor '%s' geen dochterproces starten (fork: %s)"
-#: io.c:2667
+#: io.c:2790
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser(): NULL-pointer gekregen"
-#: io.c:2695
+#: io.c:2818
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
-msgstr ""
+msgstr "invoer-parser '%s' botst met eerder geïnstalleerde invoer-parser '%s'"
-#: io.c:2702
+#: io.c:2825
#, c-format
msgid "input parser `%s' failed to open `%s'"
-msgstr ""
+msgstr "invoer-parser '%s' kan '%s' niet openen"
-#: io.c:2722
+#: io.c:2845
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper(): NULL-pointer gekregen"
-#: io.c:2750
+#: io.c:2873
#, 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 "uitvoer-wrapper '%s' botst met eerder geïnstalleerde uitvoer-wrapper '%s'"
-#: io.c:2757
+#: io.c:2880
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
-msgstr ""
+msgstr "uitvoer-wrapper '%s' kan '%s' niet openen"
-#: io.c:2778
+#: io.c:2901
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor(): NULL-pointer gekregen"
-#: io.c:2807
+#: io.c:2930
#, 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 "tweeweg-processor '%s' botst met eerder geïnstalleerde tweeweg-processor '%s'"
-#: io.c:2816
+#: io.c:2939
#, c-format
msgid "two way processor `%s' failed to open `%s'"
-msgstr ""
+msgstr "tweeweg-processor '%s' kan '%s' niet openen"
-#: io.c:2923
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
msgstr "databestand '%s' is leeg"
-#: io.c:2965 io.c:2973
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr "kan geen extra invoergeheugen meer toewijzen"
-#: io.c:3539
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "een 'RS' van meerdere tekens is een gawk-uitbreiding"
-#: io.c:3628
+#: io.c:3771
msgid "IPv6 communication is not supported"
msgstr "IPv6-communicatie wordt niet ondersteund"
-#: main.c:388
+#: main.c:405
msgid "empty argument to `-e/--source' ignored"
msgstr "argument van '-e/--source' is leeg; genegeerd"
-#: main.c:478
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: optie '-W %s' is onbekend; genegeerd\n"
-#: main.c:524
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n"
-#: main.c:545
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "omgevingsvariabele 'POSIXLY_CORRECT' is gezet: '--posix' ingeschakeld"
-#: main.c:551
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
msgstr "'--posix' overstijgt '--traditional'"
-#: main.c:562
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "'--posix'/'--traditional' overstijgen '--non-decimal-data'"
-#: main.c:566
+#: main.c:583
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "het uitvoeren van %s als 'setuid root' kan een veiligheidsrisico zijn"
-#: main.c:571
+#: main.c:588
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "'--posix' overstijgt '--characters-as-bytes'"
-#: main.c:630
+#: main.c:647
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "kan standaardinvoer niet in binaire modus zetten (%s)"
-#: main.c:633
+#: main.c:650
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "kan standaarduitvoer niet in binaire modus zetten (%s)"
-#: main.c:635
+#: main.c:652
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "kan standaardfoutuitvoer niet in binaire modus zetten (%s)"
-#: main.c:693
+#: main.c:710
msgid "no program text at all!"
msgstr "helemaal geen programmatekst!"
-#: main.c:779
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Gebruik: %s [opties] -f programmabestand [--] bestand...\n"
-#: main.c:781
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr ""
" of: %s [opties] [--] %cprogrammatekst%c bestand...\n"
"\n"
-#: main.c:786
+#: main.c:806
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "\tPOSIX-opties:\t\tEquivalente GNU-opties: (standaard)\n"
-#: main.c:787
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f programmabestand\t--file=programmabestand\n"
-#: main.c:788
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F veldscheidingsteken\t--field-separator=veldscheidingsteken\n"
-#: main.c:789
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr ""
"\t-v var=waarde\t\t--assign=var=waarde\n"
"\n"
-#: main.c:790
+#: main.c:810
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "\tKorte opties:\t\tEquivalente GNU-opties: (uitbreidingen)\n"
-#: main.c:791
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:792
+#: main.c:812
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:793
+#: main.c:813
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:794
+#: main.c:814
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[bestand]\t\t--dump-variables[=bestand]\n"
-#: main.c:795
+#: main.c:815
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-D[bestand]\t\t--debug[=bestand]\n"
-#: main.c:796
+#: main.c:816
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programmatekst'\t--source='programmatekst'\n"
-#: main.c:797
+#: main.c:817
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E bestand\t\t--exec=bestand\n"
-#: main.c:798
+#: main.c:818
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:799
+#: main.c:819
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:800
+#: main.c:820
msgid "\t-i includefile\t\t--include=includefile\n"
-msgstr ""
+msgstr "\t-i include-bestand\t\t--include=include-bestand\n"
-#: main.c:801
+#: main.c:821
msgid "\t-l library\t\t--load=library\n"
-msgstr ""
+msgstr "\t-l bibliotheek\t\t--load=bibliotheek\n"
-#: main.c:802
+#: main.c:822
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fataal]\t\t--lint[=fataal]\n"
-#: main.c:803
+#: main.c:823
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:804
+#: main.c:824
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:805
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:806
+#: main.c:826
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[bestand]\t\t--pretty-print[=bestand]\n"
-#: main.c:807
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:808
+#: main.c:828
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[bestand]\t\t--profile[=bestand]\n"
-#: main.c:809
+#: main.c:829
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:810
+#: main.c:830
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:811
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:812
+#: main.c:832
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:813
+#: main.c:833
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:815
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t\t--nostalgia\n"
-#: main.c:818
+#: main.c:838
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t\t--parsedebug\n"
@@ -3069,7 +3011,7 @@ msgstr "\t-Y\t\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:827
+#: main.c:847
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3082,7 +3024,7 @@ msgstr ""
"Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
"\n"
-#: main.c:831
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3092,7 +3034,7 @@ msgstr ""
"Standaard leest het van standaardinvoer en schrijft naar standaarduitvoer.\n"
"\n"
-#: main.c:835
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3102,7 +3044,7 @@ msgstr ""
"\tgawk '{ som += $1 }; END { print som }' bestand\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:855
+#: main.c:880
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3120,7 +3062,7 @@ msgstr ""
"uitgegeven door de Free Software Foundation, naar keuze ofwel onder\n"
"versie 3 of onder een nieuwere versie van die licentie.\n"
-#: main.c:863
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3134,7 +3076,7 @@ msgstr ""
"Zie de GNU General Public License voor meer details.\n"
"\n"
-#: main.c:869
+#: main.c:894
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"
@@ -3143,16 +3085,16 @@ msgstr ""
"ontvangen te hebben; is dit niet het geval, dan kunt u deze licentie\n"
"ook vinden op http://www.gnu.org/licenses/.\n"
-#: main.c:904
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft maakt van FS geen tab in POSIX-awk"
-#: main.c:1181
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "onbekende waarde voor veldspecificatie: %d\n"
-#: main.c:1279
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -3161,48 +3103,48 @@ msgstr ""
"%s: argument '%s' van '-v' is niet van de vorm 'var=waarde'\n"
"\n"
-#: main.c:1305
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "'%s' is geen geldige variabelenaam"
-#: main.c:1308
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "'%s' is geen variabelenaam; zoekend naar bestand '%s=%s'"
-#: main.c:1312
+#: main.c:1339
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "kan in gawk ingebouwde '%s' niet als variabelenaam gebruiken"
-#: main.c:1317
+#: main.c:1344
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan functie '%s' niet als variabelenaam gebruiken"
-#: main.c:1370
+#: main.c:1397
msgid "floating point exception"
msgstr "drijvendekomma-berekeningsfout"
-#: main.c:1377
+#: main.c:1404
msgid "fatal error: internal error"
msgstr "fatale fout: **interne fout**"
-#: main.c:1392
+#: main.c:1419
msgid "fatal error: internal error: segfault"
msgstr "fatale fout: **interne fout**: segmentatiefout"
-#: main.c:1404
+#: main.c:1431
msgid "fatal error: internal error: stack overflow"
msgstr "fatale fout: **interne fout**: stack is vol"
-#: main.c:1463
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr "geen reeds-geopende bestandsdescriptor %d"
-#: main.c:1470
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kan /dev/null niet openen voor bestandsdescriptor %d"
@@ -3242,7 +3184,7 @@ msgstr "%s: niet-numeriek argument #%d ontvangen"
#: mpfr.c:845
msgid "%s: argument #%d has invalid value %Rg, using 0"
-msgstr ""
+msgstr "%s: argument #%d heeft ongeldige waarde %Rg; 0 wordt gebruikt"
#: mpfr.c:857
msgid "%s: argument #%d negative value %Rg will give strange results"
@@ -3250,15 +3192,14 @@ msgstr "%s: negatieve waarde %2$Rg van argument #%1$d geeft rare resultaten"
#: mpfr.c:863
msgid "%s: argument #%d fractional value %Rg will be truncated"
-msgstr ""
-"%s: cijfers na de komma van waarde %2$Rg van argument #%1$d worden afgekapt"
+msgstr "%s: cijfers na de komma van waarde %2$Rg van argument #%1$d worden afgekapt"
#: mpfr.c:878
#, c-format
msgid "%s: argument #%d negative value %Zd will give strange results"
msgstr "%1$s: negatieve waarde %3$Zd van argument #%2$d geeft rare resultaten"
-#: msg.c:61
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr "commandoregel:"
@@ -3282,12 +3223,8 @@ msgstr "geen hex cijfers in stuurcodereeks '\\x'"
#: node.c:579
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"hexadecimale stuurcode \\x%.*s van %d tekens wordt waarschijnlijk niet "
-"afgehandeld zoals u verwacht"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "hexadecimale stuurcode \\x%.*s van %d tekens wordt waarschijnlijk niet afgehandeld zoals u verwacht"
#: node.c:594
#, c-format
@@ -3295,9 +3232,7 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "stuurcodereeks '\\%c' behandeld als normale '%c'"
#: node.c:739
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
msgstr ""
"Ongeldige multibyte-gegevens gevonden.\n"
"Uw gegevens passen vermoedelijk niet bij uw taalregio."
@@ -3305,25 +3240,23 @@ msgstr ""
#: posix/gawkmisc.c:177
#, c-format
msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)"
-msgstr ""
-"%s %s '%s': kan bestandsdescriptorvlaggen niet verkrijgen: (fcntl F_GETFD: "
-"%s)"
+msgstr "%s %s '%s': kan bestandsdescriptorvlaggen niet verkrijgen: (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': kan 'close-on-exec' niet activeren: (fcntl F_SETFD: %s)"
-#: profile.c:70
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "kan '%s' niet openen om te schrijven: %s"
-#: profile.c:72
+#: profile.c:73
msgid "sending profile to standard error"
msgstr "profiel gaat naar standaardfoutuitvoer"
-#: profile.c:188
+#: profile.c:193
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -3332,7 +3265,7 @@ msgstr ""
"\t# %s-blok(ken)\n"
"\n"
-#: profile.c:193
+#: profile.c:198
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3341,28 +3274,30 @@ msgstr ""
"\t# Regel(s)\n"
"\n"
-#: profile.c:267
+#: profile.c:272
#, c-format
msgid "internal error: %s with null vname"
msgstr "**interne fout**: %s met lege 'vname'"
-#: profile.c:530
+#: profile.c:537
msgid "internal error: builtin with null fname"
msgstr "**interne fout**: ingebouwde functie met lege 'fname'"
-#: profile.c:942
+#: profile.c:949
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
"\n"
msgstr ""
+"\t# Geladen uitbreidingen ('-l' en/of '@load')\n"
+"\n"
-#: profile.c:965
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiel, gemaakt op %s\n"
-#: profile.c:1351
+#: profile.c:1475
#, c-format
msgid ""
"\n"
@@ -3371,23 +3306,15 @@ msgstr ""
"\n"
"\t# Functies, alfabetisch geordend\n"
-#: profile.c:1389
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str(): onbekend omleidingstype %d"
-#: re.c:583
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr ""
-"de betekenis van een bereik van de vorm '[%c-%c]' is afhankelijk van de "
-"taalregio"
-
-#: re.c:610
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"component '%.*s' van reguliere expressie moet vermoedelijk '[%.*s]' zijn"
+msgstr "component '%.*s' van reguliere expressie moet vermoedelijk '[%.*s]' zijn"
#: regcomp.c:131
msgid "Success"
@@ -3453,9 +3380,12 @@ msgstr "Ongepaarde ) of \\)"
msgid "No previous regular expression"
msgstr "Geen eerdere reguliere expressie"
-#: symbol.c:740
+#: symbol.c:741
msgid "can not pop main context"
-msgstr ""
+msgstr "kan hoofdcontext niet poppen"
+
+#~ msgid "range of the form `[%c-%c]' is locale dependent"
+#~ msgstr "de betekenis van een bereik van de vorm '[%c-%c]' is afhankelijk van de taalregio"
#~ msgid "attempt to use function `%s' as an array"
#~ msgstr "functie '%s' wordt gebruikt als array"
@@ -3526,11 +3456,8 @@ msgstr ""
#~ msgid "statement has no effect"
#~ msgstr "opdracht heeft geen effect"
-#~ msgid ""
-#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
-#~ msgstr ""
-#~ "for: array '%s' veranderde van grootte %ld naar %ld tijdens uitvoer van "
-#~ "de lus"
+#~ msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr "for: array '%s' veranderde van grootte %ld naar %ld tijdens uitvoer van de lus"
#~ msgid "function called indirectly through `%s' does not exist"
#~ msgstr "indirect (via '%s') aangeroepen functie bestaat niet"
@@ -3566,8 +3493,7 @@ msgstr ""
#~ msgstr "kan groepen niet vinden: %s"
#~ msgid "assignment is not allowed to result of builtin function"
-#~ msgstr ""
-#~ "toewijzing aan het resultaat van een ingebouwde functie is niet toegestaan"
+#~ msgstr "toewijzing aan het resultaat van een ingebouwde functie is niet toegestaan"
#~ msgid "attempt to use array in a scalar context"
#~ msgstr "array wordt gebruikt in een scalaire context"
@@ -3605,12 +3531,8 @@ msgstr ""
#~ msgid "`nextfile' cannot be called from a BEGIN rule"
#~ msgstr "'nextfile' kan niet aangeroepen worden in een BEGIN-regel"
-#~ msgid ""
-#~ "concatenation: side effects in one expression have changed the length of "
-#~ "another!"
-#~ msgstr ""
-#~ "concatenation: neveneffecten in de ene expressie hebben de lengte van een "
-#~ "andere veranderd!"
+#~ msgid "concatenation: side effects in one expression have changed the length of another!"
+#~ msgstr "concatenation: neveneffecten in de ene expressie hebben de lengte van een andere veranderd!"
#~ msgid "illegal type (%s) in tree_eval"
#~ msgstr "ongeldig type (%s) in tree_eval()"
@@ -3642,15 +3564,6 @@ msgstr ""
#~ msgid "\t-m[fr] val\n"
#~ msgstr "\t-m[fr] waarde\n"
-#~ msgid "\t-W compat\t\t--compat\n"
-#~ msgstr "\t-W compat\t\t\t--compat\n"
-
-#~ msgid "\t-W copyleft\t\t--copyleft\n"
-#~ msgstr "\t-W copyleft\t\t\t--copyleft\n"
-
-#~ msgid "\t-W usage\t\t--usage\n"
-#~ msgstr "\t-W usage\t\t\t--usage\n"
-
#~ msgid "can't convert string to float"
#~ msgstr "kan string niet converteren naar drijvende-komma-getal"
diff --git a/po/sv.gmo b/po/sv.gmo
index a805642a..d0bebea6 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 7168507f..23e7037a 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,17 +1,17 @@
# Swedish translation of gawk
-# Copyright © 2003, 2011, 2012, 2013 Free Software Foundation, Inc.
+# Copyright © 2003, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
# Martin Sjögren <md9ms@mdstud.chalmers.se>, 2001-2002.
# Christer Andersson <klamm@comhem.se>, 2007.
-# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2012, 2013.
+# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2012, 2013, 2014.
#
-# $Revision: 1.12 $
+# $Revision: 1.14 $
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.75\n"
+"Project-Id-Version: gawk 4.1.0b\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2013-05-09 16:05+0300\n"
-"PO-Revision-Date: 2013-04-18 22:46+0200\n"
+"POT-Creation-Date: 2014-01-14 22:23+0200\n"
+"PO-Revision-Date: 2014-01-21 17:40+0100\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -19,92 +19,84 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: array.c:254
+#: array.c:256
#, c-format
msgid "from %s"
msgstr "från %s"
-#: array.c:354
+#: array.c:357
msgid "attempt to use a scalar value as array"
msgstr "försök att använda ett skalärt värde som vektor"
-#: array.c:356
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "försök att använda skalärparametern â€%s†som en vektor"
-#: array.c:359
+#: array.c:362
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "försök att använda skalären â€%s†som en vektor"
-#: array.c:406 array.c:573 builtin.c:85 builtin.c:1591 builtin.c:1637
-#: builtin.c:1650 builtin.c:2078 builtin.c:2092 eval.c:1121 eval.c:1125
-#: eval.c:1524
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "försök att använda vektorn â€%s†i skalärsammanhang"
-#: array.c:580
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: index â€%s†finns inte i vektorn â€%sâ€"
-#: array.c:594
+#: array.c:597
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "försök att använda skalären â€%s[\"%.*s\"]†som en vektor"
-#: array.c:773
+#: array.c:776
msgid "adump: first argument not an array"
msgstr "adump: första argumentet är inte en vektor"
-#: array.c:812
+#: array.c:815
msgid "asort: second argument not an array"
msgstr "asort: andra argumentet är inte en vektor"
-#: array.c:813
+#: array.c:816
msgid "asorti: second argument not an array"
msgstr "asorti: andra argumentet är inte en vektor"
-#: array.c:820
+#: array.c:823
msgid "asort: first argument not an array"
msgstr "asort: första argumentet är inte en vektor"
-#: array.c:821
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr "asorti: första argumentet är inte en vektor"
-#: array.c:828
+#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort: det går inte att använda en delvektor av första argumentet som andra "
-"argument"
+msgstr "asort: det går inte att använda en delvektor av första argumentet som andra argument"
-#: array.c:829
+#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti: det går inte att använda en delvektor av första argumentet som andra "
-"argument"
+msgstr "asorti: det går inte att använda en delvektor av första argumentet som andra argument"
-#: array.c:834
+#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort: det går inte att använda en delvektor av andra argumentet som första "
-"argument"
+msgstr "asort: det går inte att använda en delvektor av andra argumentet som första argument"
-#: array.c:835
+#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti: det går inte att använda en delvektor av andra argumentet som första "
-"argument"
+msgstr "asorti: det går inte att använda en delvektor av andra argumentet som första argument"
-#: array.c:1309
+#: array.c:1314
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "â€%s†är ogiltigt som ett funktionsnamn"
-#: array.c:1313
+#: array.c:1318
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "jämförelsefunktionen â€%s†för sortering är inte definierad"
@@ -169,8 +161,7 @@ msgstr "\"return\" använd utanför funktion"
#: awkgram.y:922
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"ensamt \"print\" i BEGIN eller END-regel bör troligen vara 'print \"\"'"
+msgstr "ensamt \"print\" i BEGIN eller END-regel bör troligen vara 'print \"\"'"
#: awkgram.y:988 awkgram.y:1037
msgid "`delete' is not allowed with SYMTAB"
@@ -233,18 +224,17 @@ msgstr "indirekta funktionsanrop är en gawk-utökning"
#: awkgram.y:1620
#, c-format
msgid "can not use special variable `%s' for indirect function call"
-msgstr ""
-"det går inte att använda specialvariabeln \"%s\" för indirekta fuktionsanrop"
+msgstr "det går inte att använda specialvariabeln \"%s\" för indirekta fuktionsanrop"
#: awkgram.y:1698
msgid "invalid subscript expression"
msgstr "ogiltig indexuttryck"
-#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "varning: "
-#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
msgstr "ödesdigert: "
@@ -252,8 +242,8 @@ msgstr "ödesdigert: "
msgid "unexpected newline or end of string"
msgstr "oväntat nyradstecken eller slut på strängen"
-#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:517 debug.c:533
-#: debug.c:2792 debug.c:5040
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "kan inte öppna källfilen \"%s\" för läsning (%s)"
@@ -263,7 +253,7 @@ msgstr "kan inte öppna källfilen \"%s\" för läsning (%s)"
msgid "can't open shared library `%s' for reading (%s)"
msgstr "kan inte öppna det delade biblioteket â€%s†för läsning (%s)"
-#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
msgstr "okänd anledning"
@@ -323,15 +313,12 @@ msgstr "oavslutat reguljärt uttryck slutar med \"\\\" i slutet av filen"
#: awkgram.y:3042
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"%s: %d: tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i "
-"gawk"
+msgstr "%s: %d: tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i gawk"
#: awkgram.y:3046
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i gawk"
+msgstr "tawk-modifierare för reguljära uttryck \"/.../%c\" fungerar inte i gawk"
#: awkgram.y:3053
msgid "unterminated regexp"
@@ -409,8 +396,7 @@ msgstr "%d är ett ogiltigt antal argument för %s"
#: awkgram.y:3798
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
-msgstr ""
-"%s: bokstavlig sträng som sista argument till ersättning har ingen effekt"
+msgstr "%s: bokstavlig sträng som sista argument till ersättning har ingen effekt"
#: awkgram.y:3803
#, c-format
@@ -427,27 +413,22 @@ msgstr "close: andra argumentet är en gawk-utökning"
#: awkgram.y:3958
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"användandet av dcgettext(_\"...\") är felaktigt: ta bort det inledande "
-"understrykningstecknet"
+msgstr "användandet av dcgettext(_\"...\") är felaktigt: ta bort det inledande understrykningstecknet"
#: awkgram.y:3973
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
-msgstr ""
-"användandet av dcngettext(_\"...\") är felaktigt: ta bort det inledande "
-"understrykningstecknet"
+msgstr "användandet av dcngettext(_\"...\") är felaktigt: ta bort det inledande understrykningstecknet"
#: awkgram.y:3992
-#, fuzzy
msgid "index: regexp constant as second argument is not allowed"
-msgstr "index: andra argumentet är inte en sträng"
+msgstr "index: reguljäruttryck som andra argumentet är inte tillåtet"
#: awkgram.y:4045
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktionen \"%s\": parametern \"%s\" överskuggar en global variabel"
-#: awkgram.y:4102 debug.c:4021 debug.c:4064 debug.c:5189
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kunde inte öppna \"%s\" för skrivning (%s)"
@@ -482,31 +463,29 @@ msgstr "funktionen \"%s\": kan inte använda funktionsnamn som parameternamn"
#: awkgram.y:4264
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
-msgstr ""
-"funktionen \"%s\": det går inte att använda specialvariabeln \"%s\" som en "
-"funktionsparameter"
+msgstr "funktionen \"%s\": det går inte att använda specialvariabeln \"%s\" som en funktionsparameter"
#: awkgram.y:4272
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "funktionen \"%s\": parameter %d, \"%s\", är samma som parameter %d"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktionen \"%s\" anropad men aldrig definierad"
-#: awkgram.y:4376
+#: awkgram.y:4369
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktionen \"%s\" definierad men aldrig anropad direkt"
-#: awkgram.y:4408
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "konstant reguljärt uttryck för parameter %d ger ett booleskt värde"
-#: awkgram.y:4467
+#: awkgram.y:4460
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -515,420 +494,421 @@ msgstr ""
"funktionen \"%s\" anropad med blanktecken mellan namnet och \"(\",\n"
"eller använd som variabel eller vektor"
-#: awkgram.y:4703
+#: awkgram.y:4696
msgid "division by zero attempted"
msgstr "försökte dividera med noll"
-#: awkgram.y:4712
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "försökte dividera med noll i \"%%\""
-#: builtin.c:128
+#: awkgram.y:5025
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "kan inte tilldela ett värde till uttryck som är en efterinkrementering av ett fält"
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr "ogiltigt mål för tilldelning (op-kod %s)"
+
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s till \"%s\" misslyckades (%s)"
-#: builtin.c:129
+#: builtin.c:134
msgid "standard output"
msgstr "standard ut"
-#: builtin.c:143
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr "exp: fick ett ickenumeriskt argument"
-#: builtin.c:149
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argumentet %g är inte inom tillåten gräns"
-#: builtin.c:224
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: kan inte spola: röret \"%s\" öppnat för läsning, inte skrivning"
+msgstr "fflush: kan inte spola: röret \"%s\" öppnat för läsning, inte skrivning"
-#: builtin.c:227
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush: kan inte spola: filen \"%s\" öppnad för läsning, inte skrivning"
+msgstr "fflush: kan inte spola: filen \"%s\" öppnad för läsning, inte skrivning"
-#: builtin.c:239
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: \"%s\" är inte en öppen fil, rör eller koprocess"
-#: builtin.c:357
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr "index: första argumentet är inte en sträng"
-#: builtin.c:359
+#: builtin.c:364
msgid "index: received non-string second argument"
msgstr "index: andra argumentet är inte en sträng"
-#: builtin.c:483 mpfr.c:757
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr "int: fick ett ickenumeriskt argument"
-#: builtin.c:520
+#: builtin.c:525
msgid "length: received array argument"
msgstr "length: fick ett vektorargument"
-#: builtin.c:523
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
msgstr "\"length(array)\" är en gawk-utökning"
-#: builtin.c:539
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr "length: fick ett argument som inte är en sträng"
-#: builtin.c:570
+#: builtin.c:575
msgid "log: received non-numeric argument"
msgstr "log: fick ett ickenumeriskt argument"
-#: builtin.c:573
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
msgstr "log: fick ett negativt argumentet %g"
-#: builtin.c:771 builtin.c:776
+#: builtin.c:776 builtin.c:781
msgid "fatal: must use `count$' on all formats or none"
msgstr "ödesdigert: måste använda \"count$\" på alla eller inga format"
-#: builtin.c:846
+#: builtin.c:851
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "fältbredd ignoreras för \"%%\"-specificerare"
-#: builtin.c:848
+#: builtin.c:853
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "precision ignoreras för \"%%\"-specificerare"
-#: builtin.c:850
+#: builtin.c:855
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "fältbredd och precision ignoreras för \"%%\"-specificerare"
-#: builtin.c:901
+#: builtin.c:906
msgid "fatal: `$' is not permitted in awk formats"
msgstr "ödesdigert: \"$\" tillåts inte i awk-format"
-#: builtin.c:910
+#: builtin.c:915
msgid "fatal: arg count with `$' must be > 0"
msgstr "ödesdigert: argumentantalet med \"$\" måste vara > 0"
-#: builtin.c:914
+#: builtin.c:919
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr "ödesdigert: argumentantalet %ld är större än antalet givna argument"
-#: builtin.c:918
+#: builtin.c:923
msgid "fatal: `$' not permitted after period in format"
msgstr "ödesdigert: \"$\" tillåts inte efter en punkt i formatet"
-#: builtin.c:934
+#: builtin.c:939
msgid "fatal: no `$' supplied for positional field width or precision"
-msgstr ""
-"ödesdigert: inget \"$\" bifogat för positionsangiven fältbredd eller "
-"precision"
+msgstr "ödesdigert: inget \"$\" bifogat för positionsangiven fältbredd eller precision"
-#: builtin.c:1006
+#: builtin.c:1011
msgid "`l' is meaningless in awk formats; ignored"
msgstr "\"l\" är meningslös i awk-format, ignorerad"
-#: builtin.c:1010
+#: builtin.c:1015
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"l\" tillåts inte i POSIX awk-format"
-#: builtin.c:1023
+#: builtin.c:1028
msgid "`L' is meaningless in awk formats; ignored"
msgstr "\"L\" är meningslös i awk-format, ignorerad"
-#: builtin.c:1027
+#: builtin.c:1032
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"L\" tillåts inte i POSIX awk-format"
-#: builtin.c:1040
+#: builtin.c:1045
msgid "`h' is meaningless in awk formats; ignored"
msgstr "\"h\" är meningslös i awk-format, ignorerad"
-#: builtin.c:1044
+#: builtin.c:1049
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"h\" tillåts inte i POSIX awk-format"
-#: builtin.c:1439
+#: builtin.c:1447
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: värdet %g är utanför \"%%%c\"-formatets giltiga intervall"
-#: builtin.c:1537
+#: builtin.c:1545
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"ignorerar okänt formatspecifikationstecken \"%c\": inget argument konverterat"
+msgstr "ignorerar okänt formatspecifikationstecken \"%c\": inget argument konverterat"
-#: builtin.c:1542
+#: builtin.c:1550
msgid "fatal: not enough arguments to satisfy format string"
msgstr "ödesdigert: för få argument för formatsträngen"
-#: builtin.c:1544
+#: builtin.c:1552
msgid "^ ran out for this one"
msgstr "^ tog slut här"
-#: builtin.c:1551
+#: builtin.c:1559
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: formatspecifieraren har ingen kommandobokstav"
-#: builtin.c:1554
+#: builtin.c:1562
msgid "too many arguments supplied for format string"
msgstr "för många argument för formatsträngen"
-#: builtin.c:1610
+#: builtin.c:1618
msgid "sprintf: no arguments"
msgstr "sprintf: inga argument"
-#: builtin.c:1633 builtin.c:1644
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr "printf: inga argument"
-#: builtin.c:1687
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: fick ickenumeriskt argument"
-#: builtin.c:1691
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: anropad med negativt argument %g"
-#: builtin.c:1722
+#: builtin.c:1730
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: längden %g är inte >= 1"
-#: builtin.c:1724
+#: builtin.c:1732
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: längden %g är inte >= 0"
-#: builtin.c:1731
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: längden %g som inte är ett heltal kommer huggas av"
-#: builtin.c:1736
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr: längden %g är för stor för strängindexering, huggas av till %g"
-#: builtin.c:1748
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindex %g är ogiltigt, använder 1"
-#: builtin.c:1753
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: startindex %g som inte är ett heltal kommer huggas av"
-#: builtin.c:1778
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr "substr: källsträngen är tom"
-#: builtin.c:1794
+#: builtin.c:1802
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: startindex %g är bortom strängens slut"
-#: builtin.c:1802
+#: builtin.c:1810
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: längden %g vid startindex %g överskrider det första argumentets "
-"längd (%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: längden %g vid startindex %g överskrider det första argumentets längd (%lu)"
-#: builtin.c:1876
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: formatvärde i PROCINFO[\"strftime\"] har numerisk typ"
-#: builtin.c:1899
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
msgstr "strftime: fick ett ickenumeriskt andra argument"
-#: builtin.c:1903
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: andra argimentet mindre än 0 eller för stort för time_t"
-#: builtin.c:1910
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr "strftime: fick ett första argument som inte är en sträng"
-#: builtin.c:1917
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr "strftime: fick en tom formatsträng"
-#: builtin.c:1983
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr "mktime: fick ett argument som inte är en sträng"
-#: builtin.c:2000
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: åtminstone ett av värdena är utanför standardintervallet"
-#: builtin.c:2035
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr "funktionen \"system\" är inte tillåten i sandlådeläge"
-#: builtin.c:2040
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr "system: fick ett argument som inte är en sträng"
-#: builtin.c:2160
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "referens till icke initierat fält \"$%d\""
-#: builtin.c:2247
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr "tolower: fick ett argument som inte är en sträng"
-#: builtin.c:2281
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr "toupper: fick ett argument som inte är en sträng"
-#: builtin.c:2317 mpfr.c:672
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr "atan2: fick ett ickenumeriskt första argument"
-#: builtin.c:2319 mpfr.c:674
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr "atan2: fick ett ickenumeriskt andra argument"
-#: builtin.c:2338
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr "sin: fick ett ickenumeriskt argument"
-#: builtin.c:2354
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr "cos: fick ett ickenumeriskt argument"
-#: builtin.c:2407 mpfr.c:1156
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr "srand: fick ett ickenumeriskt argument"
-#: builtin.c:2438
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr "match: tredje argumentet är inte en vektor"
-#: builtin.c:2710
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: nollan i tredje argumentet behandlad som en etta"
-#: builtin.c:3003
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr "lshift: fick ett ickenumeriskt första argument"
-#: builtin.c:3005
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:3011
+#: builtin.c:3022
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): negativa värden kommer ge konstiga resultat"
-#: builtin.c:3013
+#: builtin.c:3024
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): flyttalsvärden kommer huggas av"
-#: builtin.c:3015
+#: builtin.c:3026
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
msgstr "lshift(%f, %f): för stort skiftvärde kommer ge konstiga resultat"
-#: builtin.c:3040
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr "rshift: fick ett ickenumeriskt första argument"
-#: builtin.c:3042
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:3048
+#: builtin.c:3059
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): negativa värden kommer ge konstiga resultat"
-#: builtin.c:3050
+#: builtin.c:3061
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): flyttalsvärden kommer huggas av"
-#: builtin.c:3052
+#: builtin.c:3063
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
msgstr "rshift(%f, %f): för stor skiftvärde kommer ge konstiga resultat"
-#: builtin.c:3077 mpfr.c:968
+#: builtin.c:3088 mpfr.c:968
msgid "and: called with less than two arguments"
msgstr "and: anropad med mindre än två argument"
-#: builtin.c:3082
+#: builtin.c:3093
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: argument %d är inte numeriskt"
-#: builtin.c:3086
+#: builtin.c:3097
#, c-format
msgid "and: argument %d negative value %g will give strange results"
msgstr "and: argument %d med negativt värde %g kommer ge konstiga resultat"
-#: builtin.c:3109 mpfr.c:1000
+#: builtin.c:3120 mpfr.c:1000
msgid "or: called with less than two arguments"
msgstr "or: anropad med färre än två argmuent"
-#: builtin.c:3114
+#: builtin.c:3125
#, c-format
msgid "or: argument %d is non-numeric"
msgstr "or: argument %d är inte numeriskt"
-#: builtin.c:3118
+#: builtin.c:3129
#, c-format
msgid "or: argument %d negative value %g will give strange results"
msgstr "or: argument %d med negativt värde %g kommer ge konstiga resultat"
-#: builtin.c:3140 mpfr.c:1031
+#: builtin.c:3151 mpfr.c:1031
msgid "xor: called with less than two arguments"
msgstr "xor: anropad med färre än två argument"
-#: builtin.c:3146
+#: builtin.c:3157
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: argument %d är inte numeriskt"
-#: builtin.c:3150
+#: builtin.c:3161
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: argument %d med negativt värde %g kommer ge konstiga resultat"
-#: builtin.c:3175 mpfr.c:787
+#: builtin.c:3186 mpfr.c:787
msgid "compl: received non-numeric argument"
msgstr "compl: fick ett ickenumeriskt argument"
-#: builtin.c:3181
+#: builtin.c:3192
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): negativt värde kommer ge konstiga resultat"
-#: builtin.c:3183
+#: builtin.c:3194
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): flyttalsvärde kommer huggas av"
-#: builtin.c:3352
+#: builtin.c:3363
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: \"%s\" är inte en giltig lokalkategori"
@@ -960,9 +940,7 @@ msgstr "save \"%s\": kommandot inte tillåtet."
#: command.y:339
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
-msgstr ""
-"Det gÃ¥r inte att använda kommandot â€commands†i brytpunkts-/"
-"observationspunktskommandon"
+msgstr "Det gÃ¥r inte att använda kommandot â€commands†i brytpunkts-/observationspunktskommandon"
#: command.y:341
msgid "no breakpoint/watchpoint has been set yet"
@@ -1036,16 +1014,11 @@ msgid "non-zero integer value"
msgstr "heltalsvärde som inte är noll"
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
-"backtrace [N] - skriv ett spår över alla eller N innersta (yttersta om N < "
-"0) ramar."
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - skriv ett spår över alla eller N innersta (yttersta om N < 0) ramar."
#: command.y:819
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
msgstr "break [[filename:]N|function] - sätt brytpunkt på den angivna platsen."
#: command.y:821
@@ -1053,18 +1026,12 @@ msgid "clear [[filename:]N|function] - delete breakpoints previously set."
msgstr "clear [[filnamn:]N|funktion] - radera tidigare satta brytpunkter."
#: command.y:823
-msgid ""
-"commands [num] - starts a list of commands to be executed at a breakpoint"
-"(watchpoint) hit."
-msgstr ""
-"commands [num] - startar en lista av kommandon att köra när en brytpunkt"
-"(observationspunkt) träffas."
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr "commands [num] - startar en lista av kommandon att köra när en brytpunkt(observationspunkt) träffas."
#: command.y:825
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
-"condition num [uttr] - sätt eller töm en brytpunkts eller observationspunkts "
-"villkor."
+msgstr "condition num [uttr] - sätt eller töm en brytpunkts eller observationspunkts villkor."
#: command.y:827
msgid "continue [COUNT] - continue program being debugged."
@@ -1080,8 +1047,7 @@ msgstr "disable [brytpunkger] [intervall] - avaktivera angivna brytpunkter."
#: command.y:833
msgid "display [var] - print value of variable each time the program stops."
-msgstr ""
-"display [var] - skriv ut värdet på variabeln varje gång programmet stoppar."
+msgstr "display [var] - skriv ut värdet på variabeln varje gång programmet stoppar."
#: command.y:835
msgid "down [N] - move N frames down the stack."
@@ -1093,8 +1059,7 @@ msgstr "dump [filnamn] - skriv instruktioner till filen eller standard ut."
#: command.y:839
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr ""
-"enable [once|del] [brytpunkter] [intervall] - aktivera angivna brytpunkter."
+msgstr "enable [once|del] [brytpunkter] [intervall] - aktivera angivna brytpunkter."
#: command.y:841
msgid "end - end a list of commands or awk statements."
@@ -1114,21 +1079,15 @@ msgstr "frame [N] - välj och skriv ut stackram nummer N."
#: command.y:849
msgid "help [command] - print list of commands or explanation of command."
-msgstr ""
-"help [kommando] - skriv listan av kommandon eller en förklaring av kommando."
+msgstr "help [kommando] - skriv listan av kommandon eller en förklaring av kommando."
#: command.y:851
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
-msgstr ""
-"ignore N ANTAL - sätt ignoreringsantal på brytpunkt nummer N till ANTAL."
+msgstr "ignore N ANTAL - sätt ignoreringsantal på brytpunkt nummer N till ANTAL."
#: command.y:853
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
-msgstr ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
+msgstr "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
#: command.y:855
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
@@ -1139,8 +1098,7 @@ msgid "next [COUNT] - step program, proceeding through subroutine calls."
msgstr "next [ANTAL] - stega programmet, passera genom subrutinanrop."
#: command.y:859
-msgid ""
-"nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
msgstr "nexti [ANTAL] - stega en instruktion, men passera genom subrutinanrop."
#: command.y:861
@@ -1176,11 +1134,8 @@ msgid "set var = value - assign value to a scalar variable."
msgstr "set var = värde - tilldela värde till en skalär variabel."
#: command.y:879
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
-msgstr ""
-"silent - undertrycker normala meddelanden vid stopp på en brytpunkt/"
-"observationspunkt. "
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr "silent - undertrycker normala meddelanden vid stopp på en brytpunkt/observationspunkt. "
#: command.y:881
msgid "source file - execute commands from file."
@@ -1207,12 +1162,8 @@ msgid "undisplay [N] - remove variable(s) from automatic display list."
msgstr "undisplay [N] - ta bort variabler från listan över automatiskt visade."
#: command.y:893
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
-msgstr ""
-"until [[filenamn:]N|funktion] - kör tills programmet når en annan rad eller "
-"rad N inom aktuell ram."
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr "until [[filenamn:]N|funktion] - kör tills programmet når en annan rad eller rad N inom aktuell ram."
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1226,7 +1177,7 @@ msgstr "up [N] - flytta N ramar uppåt i stacken."
msgid "watch var - set a watchpoint for a variable."
msgstr "watch var - sätt en observationspunkt för en variabel."
-#: command.y:1011 debug.c:395 msg.c:128
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr "fel: "
@@ -1264,93 +1215,93 @@ msgstr "ogiltigt tecken"
msgid "undefined command: %s\n"
msgstr "odefinierat kommando: %s\n"
-#: debug.c:246
+#: debug.c:252
msgid "set or show the number of lines to keep in history file."
msgstr "sätt eller visa antalet rader att behålla i historiefilen."
-#: debug.c:248
+#: debug.c:254
msgid "set or show the list command window size."
msgstr "sätt eller visa fönsterstorleken för listkommandot."
-#: debug.c:250
+#: debug.c:256
msgid "set or show gawk output file."
msgstr "sätt eller visa gawks utmatningsfil."
-#: debug.c:252
+#: debug.c:258
msgid "set or show debugger prompt."
msgstr "sätt eller visa felsökningsprompten."
-#: debug.c:254
+#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
msgstr "slå av/på eller visa sparandet av kommandohisterik (värde=on|off)."
-#: debug.c:256
+#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
msgstr "slå av/på eller visa sparandet av flaggor (värde=on|off)."
-#: debug.c:258
+#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
msgstr "slå av/på eller visa instruktionsspårande (värde=on|off)."
-#: debug.c:339
+#: debug.c:345
msgid "program not running."
msgstr "programmet kör inte."
-#: debug.c:442 debug.c:597
+#: debug.c:448 debug.c:606
#, c-format
msgid "can't read source file `%s' (%s)"
msgstr "kan inte läsa källfilen â€%s†(%s)"
-#: debug.c:447
+#: debug.c:453
#, c-format
msgid "source file `%s' is empty.\n"
msgstr "källfilen â€%s†är tom.\n"
-#: debug.c:474
+#: debug.c:480
msgid "no current source file."
msgstr "ingen aktuell källkodsfil."
-#: debug.c:499
+#: debug.c:505
#, c-format
msgid "cannot find source file named `%s' (%s)"
msgstr "kan inte hitta nÃ¥gon källfil med namnet â€%s†(%s)"
-#: debug.c:523
+#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
msgstr "VARNING: källfilen â€%s†ändrad sedan programmet kompilerades.\n"
-#: debug.c:542
+#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
msgstr "radnummer %d utanför intervallet; â€%s†har %d rader"
-#: debug.c:602
+#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
msgstr "oväntat filslut när filen â€%s†lästes, rad %d"
-#: debug.c:611
+#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
msgstr "källfilen â€%s†ändrad sedan början av programkörningen"
-#: debug.c:723
+#: debug.c:732
#, c-format
msgid "Current source file: %s\n"
msgstr "Aktuell källfil: %s\n"
-#: debug.c:724
+#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
msgstr "Antalet rader: %d\n"
-#: debug.c:731
+#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
msgstr "Källfilen (rader): %s (%d)\n"
-#: debug.c:745
+#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
@@ -1358,54 +1309,54 @@ msgstr ""
"Nummer Visa Aktiv Plats\n"
"\n"
-#: debug.c:756
+#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
msgstr "\tantal träffar = %ld\n"
-#: debug.c:758
+#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
msgstr "\tignorera nästa %ld träffar\n"
-#: debug.c:760 debug.c:900
+#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
msgstr "\tstoppvillkor: %s\n"
-#: debug.c:762 debug.c:902
+#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
msgstr "\tkommandon:\n"
-#: debug.c:784
+#: debug.c:793
#, c-format
msgid "Current frame: "
msgstr "Aktuell ram: "
-#: debug.c:787
+#: debug.c:796
#, c-format
msgid "Called by frame: "
msgstr "Anropad av ramen: "
-#: debug.c:791
+#: debug.c:800
#, c-format
msgid "Caller of frame: "
msgstr "Anropare av ramen: "
-#: debug.c:809
+#: debug.c:818
#, c-format
msgid "None in main().\n"
msgstr "Ingen i main().\n"
-#: debug.c:839
+#: debug.c:848
msgid "No arguments.\n"
msgstr "Inga argument.\n"
-#: debug.c:840
+#: debug.c:849
msgid "No locals.\n"
msgstr "Inga lokala.\n"
-#: debug.c:848
+#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
@@ -1413,7 +1364,7 @@ msgstr ""
"Alla definierade variabler:\n"
"\n"
-#: debug.c:858
+#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
@@ -1421,7 +1372,7 @@ msgstr ""
"Alla definierade funktioner:\n"
"\n"
-#: debug.c:877
+#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
@@ -1429,7 +1380,7 @@ msgstr ""
"Automatvisade variabler:\n"
"\n"
-#: debug.c:880
+#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
@@ -1437,364 +1388,357 @@ msgstr ""
"Observerade variabler:\n"
"\n"
-#: debug.c:1020
+#: debug.c:1029
#, c-format
msgid "no symbol `%s' in current context\n"
msgstr "ingen symbol â€%s†i aktuellt sammanhang\n"
-#: debug.c:1032 debug.c:1418
+#: debug.c:1041 debug.c:1427
#, c-format
msgid "`%s' is not an array\n"
msgstr "â€%s†är inte en vektor\n"
-#: debug.c:1046
+#: debug.c:1055
#, c-format
msgid "$%ld = uninitialized field\n"
msgstr "$%ld = oinitierat fält\n"
-#: debug.c:1067
+#: debug.c:1076
#, c-format
msgid "array `%s' is empty\n"
msgstr "vektorn â€%s†är tom\n"
-#: debug.c:1110 debug.c:1162
+#: debug.c:1119 debug.c:1171
#, c-format
msgid "[\"%s\"] not in array `%s'\n"
msgstr "[\"%s\"] finns inte i vektorn â€%sâ€\n"
-#: debug.c:1166
+#: debug.c:1175
#, c-format
msgid "`%s[\"%s\"]' is not an array\n"
msgstr "â€%s[\"%s\"]†är inte en vektor\n"
-#: debug.c:1227 debug.c:4949
+#: debug.c:1236 debug.c:4964
#, c-format
msgid "`%s' is not a scalar variable"
msgstr "â€%s†är inte en skalär variabel"
-#: debug.c:1249 debug.c:4979
+#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "försök att använda vektorn â€%s[\"%s\"]†i skalärt sammanhang"
-#: debug.c:1271 debug.c:4990
+#: debug.c:1280 debug.c:5005
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "försök att använda skalären â€%s[\"%s\"]†som en vektor"
-#: debug.c:1414
+#: debug.c:1423
#, c-format
msgid "`%s' is a function"
msgstr "â€%s†är en funktion"
-#: debug.c:1456
+#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
msgstr "observationspunkt %d är ovillkorlig\n"
-#: debug.c:1490
+#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
msgstr "Ingen visningspost med numret %ld"
-#: debug.c:1493
+#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
msgstr "Ingen observationspost med numret %ld"
-#: debug.c:1519
+#: debug.c:1528
#, c-format
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr "%d: [\"%s\"] finns inte i vektorn â€%sâ€\n"
-#: debug.c:1758
+#: debug.c:1767
msgid "attempt to use scalar value as array"
msgstr "försök att använda ett skalärt värde som vektor"
-#: debug.c:1847
+#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
-msgstr ""
-"Observationspunkt %d raderad för att parametern är utanför sin räckvidd.\n"
+msgstr "Observationspunkt %d raderad för att parametern är utanför sin räckvidd.\n"
-#: debug.c:1858
+#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
msgstr "Visning %d raderad för att parametern är utanför sin räckvidd.\n"
-#: debug.c:1891
+#: debug.c:1900
#, c-format
msgid " in file `%s', line %d\n"
msgstr " i filen â€%sâ€, rad %d\n"
-#: debug.c:1912
+#: debug.c:1921
#, c-format
msgid " at `%s':%d"
msgstr " vid â€%sâ€:%d"
-#: debug.c:1928 debug.c:1991
+#: debug.c:1937 debug.c:2000
#, c-format
msgid "#%ld\tin "
msgstr "#%ld\ti "
-#: debug.c:1965
+#: debug.c:1974
#, c-format
msgid "More stack frames follow ...\n"
msgstr "Fler stackramar följer …\n"
-#: debug.c:2008
+#: debug.c:2017
msgid "invalid frame number"
msgstr "Ogiltigt ramnummer"
-#: debug.c:2180
+#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Observera: brytpunkt %d (aktiverad, ingorera följande %ld träffar), är också "
-"satt vid %s:%d"
+msgstr "Observera: brytpunkt %d (aktiverad, ingorera följande %ld träffar), är också satt vid %s:%d"
-#: debug.c:2187
+#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
msgstr "Observera: brytpunkt %d (aktiverad), är också satt vid %s:%d"
-#: debug.c:2194
+#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Observera: brytpunkt %d (avaktiverad, intorera följande %ld träffar), är "
-"också satt vid %s:%d"
+msgstr "Observera: brytpunkt %d (avaktiverad, intorera följande %ld träffar), är också satt vid %s:%d"
-#: debug.c:2201
+#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
msgstr "Observera: brytpunkt %d (avaktiverad), är också satt vid %s:%d"
-#: debug.c:2218
+#: debug.c:2238
#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
msgstr "Brytpunkt %d satt vid filen â€%sâ€, rad %d\n"
-#: debug.c:2320
+#: debug.c:2340
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
msgstr "Kan inte sätta en brytpunkt i filen â€%sâ€\n"
-#: debug.c:2349 debug.c:2472 debug.c:3330
+#: debug.c:2369 debug.c:2492 debug.c:3350
#, c-format
msgid "line number %d in file `%s' out of range"
msgstr "radnummer %d i filen â€%s†är utanför tillÃ¥tet intervall"
-#: debug.c:2353
+#: debug.c:2373
#, c-format
msgid "Can't find rule!!!\n"
msgstr "Kan inte hitta regeln!!!\n"
-#: debug.c:2355
+#: debug.c:2375
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
msgstr "Kan inte sätta än brytpunkt vid â€%sâ€:%d\n"
-#: debug.c:2367
+#: debug.c:2387
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
msgstr "Kan inte sätta en brytpunkt i funktionen â€%sâ€\n"
-#: debug.c:2383
+#: debug.c:2403
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
msgstr "brytpunkt %d satt i filen â€%sâ€, rad %d är ovillkorlig\n"
-#: debug.c:2488 debug.c:2510
+#: debug.c:2508 debug.c:2530
#, c-format
msgid "Deleted breakpoint %d"
msgstr "Raderade brytpunkt %d"
-#: debug.c:2494
+#: debug.c:2514
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
msgstr "Inga brytpunkter vid ingÃ¥ngen till funktionen â€%sâ€\n"
-#: debug.c:2521
+#: debug.c:2541
#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
msgstr "Ingen brytpunkt i filen â€%sâ€, rad nr. %d\n"
-#: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
msgid "invalid breakpoint number"
msgstr "ogiltigt brytpunktsnummer"
-#: debug.c:2592
+#: debug.c:2612
msgid "Delete all breakpoints? (y or n) "
msgstr "Radera alla brytpunkter? (j eller n)"
-#: debug.c:2593 debug.c:2903 debug.c:2956
+#: debug.c:2613 debug.c:2923 debug.c:2976
msgid "y"
msgstr "j"
-#: debug.c:2642
+#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
msgstr "Kommer ignorera följande %ld passager av brytpunkt %d.\n"
-#: debug.c:2646
+#: debug.c:2666
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
msgstr "Kommer stanna nästa gång brytpunkt %d nås.\n"
-#: debug.c:2763
+#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
msgstr "Kan bara felsöka program som getts flaggan â€-fâ€.\n"
-#: debug.c:2888
+#: debug.c:2908
#, c-format
msgid "Failed to restart debugger"
msgstr "Misslyckades att starta om felsökaren"
-#: debug.c:2902
+#: debug.c:2922
msgid "Program already running. Restart from beginning (y/n)? "
msgstr "Programmet kör redan. Starta om från början (j/n)? "
-#: debug.c:2906
+#: debug.c:2926
#, c-format
msgid "Program not restarted\n"
msgstr "Programmet inte omstartat\n"
-#: debug.c:2916
+#: debug.c:2936
#, c-format
msgid "error: cannot restart, operation not allowed\n"
msgstr "fel: kan inte starta om, åtgärden är inte tillåten\n"
-#: debug.c:2922
+#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
msgstr "fel (%s): kan inte starta om, ingorerar resten av kommandona\n"
-#: debug.c:2930
+#: debug.c:2950
#, c-format
msgid "Starting program: \n"
msgstr "Startar programmet: \n"
-#: debug.c:2939
+#: debug.c:2959
#, c-format
msgid "Program exited %s with exit value: %d\n"
msgstr "Programmet avslutade %s med slutvärde: %d\n"
-#: debug.c:2955
+#: debug.c:2975
msgid "The program is running. Exit anyway (y/n)? "
msgstr "Programmet kör. Avsluta ändå (j/n)? "
-#: debug.c:2990
+#: debug.c:3010
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
msgstr "Inte stoppad vid någon brytpunkt, argumentet ignoreras.\n"
-#: debug.c:2995
+#: debug.c:3015
#, c-format
msgid "invalid breakpoint number %d."
msgstr "ogiltigt brytpunktsnummer %d."
-#: debug.c:3000
+#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
msgstr "Kommer ignorera de nästa %ld passagerna av brytpunkt %d.\n"
-#: debug.c:3187
+#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
msgstr "â€finish†är inte meningsfullt i den yttersta ramen main()\n"
-#: debug.c:3192
+#: debug.c:3212
#, c-format
msgid "Run till return from "
msgstr "Kör till retur från "
-#: debug.c:3235
+#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
msgstr "â€return†är inte meningsfullt i den yttersta ramen main()\n"
-#: debug.c:3349
+#: debug.c:3369
#, c-format
msgid "Can't find specified location in function `%s'\n"
msgstr "Kan inte hitta angiven plats i funktionen â€%sâ€\n"
-#: debug.c:3357
+#: debug.c:3377
#, c-format
msgid "invalid source line %d in file `%s'"
msgstr "ogiltig källrad %d i filen â€%sâ€"
-#: debug.c:3372
+#: debug.c:3392
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
msgstr "Kan inte hitta angiven plats %d i filen â€%sâ€\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "element not in array\n"
msgstr "elementet finns inte i vektorn\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "untyped variable\n"
msgstr "otypad variabel\n"
-#: debug.c:3446
+#: debug.c:3466
#, c-format
msgid "Stopping in %s ...\n"
msgstr "Stannar i %s …\n"
-#: debug.c:3523
+#: debug.c:3543
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
msgstr "â€finish†är inte meningsfullt med icke lokalt hopp â€%sâ€\n"
-#: debug.c:3530
+#: debug.c:3550
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
msgstr "â€until†är inte meningsfullt med icke lokalt hopp â€%sâ€\n"
-#: debug.c:4165
+#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
-msgstr ""
-"\t------[Retur] för att fortsätta eller a [Retur] för att avsluta------"
+msgstr "\t------[Retur] för att fortsätta eller a [Retur] för att avsluta------"
-#: debug.c:4166
+#: debug.c:4186
msgid "q"
msgstr "a"
-#: debug.c:4986
+#: debug.c:5001
#, c-format
msgid "[\"%s\"] not in array `%s'"
msgstr "[\"%s\"] finns inte i vektorn â€%sâ€"
-#: debug.c:5192
+#: debug.c:5207
#, c-format
msgid "sending output to stdout\n"
msgstr "skickar utdata till standard ut\n"
-#: debug.c:5232
+#: debug.c:5247
msgid "invalid number"
msgstr "ogiltigt tal"
-#: debug.c:5366
+#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr "â€%s†är inte tillÃ¥tet i det aktuella sammanhanget; satsen ignoreras"
-#: debug.c:5374
+#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
-msgstr ""
-"â€return†är inte tillÃ¥tet i det aktuella sammanhanget; satsen ignoreras"
+msgstr "â€return†är inte tillÃ¥tet i det aktuella sammanhanget; satsen ignoreras"
-#: debug.c:5575
+#: debug.c:5590
#, c-format
msgid "No symbol `%s' in current context"
msgstr "Ingen symbol â€%s†i aktuell omgivning"
#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
-#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
msgid "unbalanced ["
msgstr "obalanserad ["
@@ -1802,31 +1746,31 @@ msgstr "obalanserad ["
msgid "invalid character class"
msgstr "ogiltig teckenklass"
-#: dfa.c:1229
+#: dfa.c:1228
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr "syntaxen för teckenklass är [[:space:]], inte [:space:]"
-#: dfa.c:1281
+#: dfa.c:1280
msgid "unfinished \\ escape"
msgstr "oavslutad \\-följd"
-#: dfa.c:1428 regcomp.c:161
+#: dfa.c:1427 regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Ogiltigt innehåll i \\{\\}"
-#: dfa.c:1431 regcomp.c:176
+#: dfa.c:1430 regcomp.c:176
msgid "Regular expression too big"
msgstr "Reguljärt uttryck för stort"
-#: dfa.c:1816
+#: dfa.c:1847
msgid "unbalanced ("
msgstr "obalanserad ("
-#: dfa.c:1943
+#: dfa.c:1973
msgid "no syntax specified"
msgstr "ingen syntax angiven"
-#: dfa.c:1951
+#: dfa.c:1981
msgid "unbalanced )"
msgstr "obalanserad )"
@@ -1845,11 +1789,11 @@ msgstr "okänd op-kod %d"
msgid "opcode %s not an operator or keyword"
msgstr "op-kod %s är inte en operator eller ett nyckelord"
-#: eval.c:471
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr "buffertöverflöd i genflags2str"
-#: eval.c:674
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -1860,71 +1804,71 @@ msgstr ""
"\t# Funktionsanropsstack:\n"
"\n"
-#: eval.c:703
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
msgstr "\"IGNORECASE\" är en gawk-utökning"
-#: eval.c:735
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "\"BINMODE\" är en gawk-utökning"
-#: eval.c:793
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "BINMODE-värde \"%s\" är ogiltigt, behandlas som 3"
-#: eval.c:884
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "felaktig \"%sFMT\"-specifikation \"%s\""
-#: eval.c:968
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "slår av \"--lint\" på grund av en tilldelning till \"LINT\""
-#: eval.c:1146
+#: eval.c:1147
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "referens till icke initierat argument \"%s\""
-#: eval.c:1147
+#: eval.c:1148
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "referens till icke initierad variabel \"%s\""
-#: eval.c:1165
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr "försök att fältreferera från ickenumeriskt värde"
-#: eval.c:1167
+#: eval.c:1168
msgid "attempt to field reference from null string"
msgstr "försök till fältreferens från en tom sträng"
-#: eval.c:1175
+#: eval.c:1176
#, c-format
msgid "attempt to access field %ld"
msgstr "försök att komma åt fält nummer %ld"
-#: eval.c:1184
+#: eval.c:1185
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "referens till icke initierat fält \"$%ld\""
-#: eval.c:1271
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktionen \"%s\" anropad med fler argument än vad som deklarerats"
-#: eval.c:1466
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: oväntad typ \"%s\""
-#: eval.c:1562
+#: eval.c:1569
msgid "division by zero attempted in `/='"
msgstr "försökte dividera med noll i \"/=\""
-#: eval.c:1569
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "försökte dividera med noll i \"%%=\""
@@ -1937,7 +1881,7 @@ msgstr "utökningar är inte tillåtna i sandlådeläge"
msgid "-l / @load are gawk extensions"
msgstr "-l / @load är gawk-utökningar"
-#: ext.c:95 ext.c:177
+#: ext.c:95
msgid "load_ext: received NULL lib_name"
msgstr "load_ext: mottog NULL-lib_name"
@@ -1948,10 +1892,8 @@ msgstr "load_ext: kan inte öppna biblioteket â€%s†(%s)\n"
#: ext.c:104
#, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"load_ext: biblioteket â€%sâ€: definierar inte â€plugin_is_GPL_compatible†(%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext: biblioteket â€%sâ€: definierar inte â€plugin_is_GPL_compatible†(%s)\n"
#: ext.c:110
#, c-format
@@ -1961,13 +1903,16 @@ msgstr "load_ext: biblioteket â€%sâ€: kan inte anropa funktionen â€%s†(%s)
#: ext.c:114
#, c-format
msgid "load_ext: library `%s' initialization routine `%s' failed\n"
-msgstr ""
-"load_ext: initieringsrutinen â€%2$s†i biblioteket â€%1$s†misslyckades\n"
+msgstr "load_ext: initieringsrutinen â€%2$s†i biblioteket â€%1$s†misslyckades\n"
#: ext.c:174
msgid "`extension' is a gawk extension"
msgstr "\"extension\" är en gawk-utökning"
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr "utökning: mottog NULL-lib_name"
+
#: ext.c:180
#, c-format
msgid "extension: cannot open library `%s' (%s)"
@@ -1975,10 +1920,8 @@ msgstr "extension: kan inte öppna biblioteket â€%s†(%s)"
#: ext.c:186
#, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"extension: biblioteket â€%sâ€: definierar inte â€plugin_is_GPL_compatible†(%s)"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "extension: biblioteket â€%sâ€: definierar inte â€plugin_is_GPL_compatible†(%s)"
#: ext.c:190
#, c-format
@@ -1989,37 +1932,36 @@ msgstr "extension: biblioteket â€%sâ€: kan inte anropa funktionen â€%s†(%s
msgid "make_builtin: missing function name"
msgstr "make_builtin: funktionsnamn saknas"
-#: ext.c:238
+#: ext.c:236
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr "make_builtin: det gÃ¥r inte att definiera om funktionen â€%sâ€"
-#: ext.c:242
+#: ext.c:240
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr "make_builtin: funktionen â€%s†är redan definierad"
-#: ext.c:246
+#: ext.c:244
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr "make_builtin: funktionsnamnet â€%s†är definierat sedan tidigare"
-#: ext.c:248
+#: ext.c:246
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"make_builtin: kan inte använda gawks inbyggda â€%s†som ett funktionsnamn"
+msgstr "make_builtin: kan inte använda gawks inbyggda â€%s†som ett funktionsnamn"
-#: ext.c:251 ext.c:304
+#: ext.c:249 ext.c:304
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negativt argumentantal för funktionen \"%s\""
-#: ext.c:278
+#: ext.c:276
msgid "extension: missing function name"
msgstr "extension: saknar funktionsnamn"
-#: ext.c:283
+#: ext.c:279 ext.c:283
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: ogiltigt tecken \"%c\" i funktionsnamnet \"%s\""
@@ -2042,142 +1984,145 @@ msgstr "extension: funktionsnamnet \"%s\" är definierat sedan tidigare"
#: ext.c:301
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr ""
-"extension: kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
+msgstr "extension: kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
-#: ext.c:374
+#: ext.c:375
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "funktionen \"%s\" definierades för att ta maximalt %d argument"
-#: ext.c:377
+#: ext.c:378
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "funktionen \"%s\": argument %d saknas"
-#: ext.c:394
+#: ext.c:395
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "funktionen \"%s\": argument %d: försök att använda skalär som vektor"
-#: ext.c:398
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "funktionen \"%s\": argument %d: försök att använda vektor som skalär"
-#: ext.c:412
+#: ext.c:413
msgid "dynamic loading of library not supported"
msgstr "dynamisk laddning av bibliotek stödjs inte"
-#: extension/filefuncs.c:97
+#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
msgstr "chdir: anropad med felaktigt antal argument, förväntade 1"
-#: extension/filefuncs.c:343
+#: extension/filefuncs.c:439
#, c-format
msgid "stat: unable to read symbolic link `%s'"
msgstr "stat: kan inte läsa den symboliska länken â€%sâ€"
-#: extension/filefuncs.c:376
+#: extension/filefuncs.c:472
msgid "stat: called with wrong number of arguments"
msgstr "stat: anropad med fel antal argument"
-#: extension/filefuncs.c:383
+#: extension/filefuncs.c:479
msgid "stat: bad parameters"
msgstr "stat: felaktiga parametrar"
-#: extension/filefuncs.c:437
+#: extension/filefuncs.c:533
#, c-format
msgid "fts init: could not create variable %s"
msgstr "fts init: kunde inte skapa variabeln %s"
-#: extension/filefuncs.c:460
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr "fts stödjs inte på detta system"
+
+#: extension/filefuncs.c:573
msgid "fill_stat_element: could not create array"
msgstr "fill_stat_element: kunde inte skapa en vektor"
-#: extension/filefuncs.c:469
+#: extension/filefuncs.c:582
msgid "fill_stat_element: could not set element"
msgstr "fill_stat_element: kunde inte sätta ett element"
-#: extension/filefuncs.c:484
+#: extension/filefuncs.c:597
msgid "fill_path_element: could not set element"
msgstr "fill_path_element: kunde inte sätta ett element"
-#: extension/filefuncs.c:500
+#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
msgstr "fill_error_element: kunde inte sätta ett element"
-#: extension/filefuncs.c:547 extension/filefuncs.c:594
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
msgid "fts-process: could not create array"
msgstr "fts-process: kunde inte skapa en vektor"
-#: extension/filefuncs.c:557 extension/filefuncs.c:604
-#: extension/filefuncs.c:622
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
msgid "fts-process: could not set element"
msgstr "fts-process: kunde inte sätta ett element"
-#: extension/filefuncs.c:671
+#: extension/filefuncs.c:784
msgid "fts: called with incorrect number of arguments, expecting 3"
msgstr "fts: anropad med felaktigt antal argument, förväntade 3"
-#: extension/filefuncs.c:674
+#: extension/filefuncs.c:787
msgid "fts: bad first parameter"
msgstr "fts: felaktig första parameter"
-#: extension/filefuncs.c:680
+#: extension/filefuncs.c:793
msgid "fts: bad second parameter"
msgstr "fts: felaktig andra parameter"
-#: extension/filefuncs.c:686
+#: extension/filefuncs.c:799
msgid "fts: bad third parameter"
msgstr "fts: felaktig tredje parameter"
-#: extension/filefuncs.c:693
+#: extension/filefuncs.c:806
msgid "fts: could not flatten array\n"
msgstr "fts: kunde inte platta till en vektor\n"
-#: extension/filefuncs.c:711
+#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
msgstr "fts: ignorerar lömsk FTS_NOSTAT-flagga, nä, nä, nä."
-#: extension/filefuncs.c:728
+#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
msgstr "fts: clear_array() misslyckades\n"
-#: extension/fnmatch.c:98
+#: extension/fnmatch.c:112
msgid "fnmatch: called with less than three arguments"
msgstr "fnmatch: anropad färre an tre argument"
-#: extension/fnmatch.c:101
+#: extension/fnmatch.c:115
msgid "fnmatch: called with more than three arguments"
msgstr "fnmatch: anropad med mer än tre argument"
-#: extension/fnmatch.c:104
+#: extension/fnmatch.c:118
msgid "fnmatch: could not get first argument"
msgstr "fnmatch: kunde inte hämta första argumentet"
-#: extension/fnmatch.c:109
+#: extension/fnmatch.c:123
msgid "fnmatch: could not get second argument"
msgstr "fnmatch: kunde inte hämta andra argumentet"
-#: extension/fnmatch.c:114
+#: extension/fnmatch.c:128
msgid "fnmatch: could not get third argument"
msgstr "fnmatch: kunde inte hämta ett tredje argument"
-#: extension/fnmatch.c:127
+#: extension/fnmatch.c:141
msgid "fnmatch is not implemented on this system\n"
msgstr "fnmatch är inte implementerat på detta system\n"
-#: extension/fnmatch.c:159
+#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
msgstr "fnmatch init: kunde inte lägga till en FNM_NOMATCH-variabel"
-#: extension/fnmatch.c:169
+#: extension/fnmatch.c:183
#, c-format
msgid "fnmatch init: could not set array element %s"
msgstr "fnmatch init: kunde inte sätta vektorelement %s"
-#: extension/fnmatch.c:179
+#: extension/fnmatch.c:193
msgid "fnmatch init: could not install FNM array"
msgstr "fnmatch init: kunde inte installera en FNM-vektor"
@@ -2201,89 +2146,88 @@ msgstr "wait: anropad utan argument"
msgid "wait: called with too many arguments"
msgstr "wait: anropad med för många argument"
-#: extension/inplace.c:110
+#: extension/inplace.c:130
msgid "inplace_begin: in-place editing already active"
msgstr "inplace_begin: redigering på plats är redan aktivt"
-#: extension/inplace.c:113 extension/inplace.c:187
+#: extension/inplace.c:133 extension/inplace.c:207
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr "inplace_begin: förväntar sig 2 argument men anropad med %d"
-#: extension/inplace.c:116
+#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
msgstr "inplace_begin: kan inte hämta 1:a argumentet som en filnamnssträng"
-#: extension/inplace.c:124
+#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr ""
-"inplace_begin: avaktiverar redigering pÃ¥ plats för ogiltigt FILNAMN â€%sâ€"
+msgstr "inplace_begin: avaktiverar redigering pÃ¥ plats för ogiltigt FILNAMN â€%sâ€"
-#: extension/inplace.c:131
+#: extension/inplace.c:151
#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
msgstr "inplace_begin: kan inte ta status pÃ¥ â€%s†(%s)"
-#: extension/inplace.c:138
+#: extension/inplace.c:158
#, c-format
msgid "inplace_begin: `%s' is not a regular file"
msgstr "inplace_begin: â€%s†är inte en vanlig fil"
-#: extension/inplace.c:149
+#: extension/inplace.c:169
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr "inplace_begin: mkstemp(â€%sâ€) misslyckades (%s)"
-#: extension/inplace.c:158
+#: extension/inplace.c:178
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr "inplace_begin: chmod misslyckades (%s)"
-#: extension/inplace.c:165
+#: extension/inplace.c:185
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr "inplace_begin: dup(standard ut) misslyckades (%s)"
-#: extension/inplace.c:168
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr "inplace_begin: dup2(%d, standard ut) misslyckades (%s)"
-#: extension/inplace.c:171
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "inplace_begin: close(%d) misslyckades (%s)"
-#: extension/inplace.c:190
+#: extension/inplace.c:210
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
msgstr "inplace_end: kan inte hämta 1:a argumentet som en filnamnssträng"
-#: extension/inplace.c:197
+#: extension/inplace.c:217
msgid "inplace_end: in-place editing not active"
msgstr "inplace_end: redigering på plats är inte aktivt"
-#: extension/inplace.c:203
+#: extension/inplace.c:223
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr "inplace_end: dup2(%d, standard ut) misslyckades (%s)"
-#: extension/inplace.c:206
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr "inplace_end: close(%d) misslyckades (%s)"
-#: extension/inplace.c:210
+#: extension/inplace.c:230
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr "inplace_end: fsetpos(standard ut) misslyckades (%s)"
-#: extension/inplace.c:223
+#: extension/inplace.c:243
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "inplace_end: link(â€%sâ€, â€%sâ€) misslyckades (%s)"
-#: extension/inplace.c:229
+#: extension/inplace.c:253
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "inplace_end: rename(â€%sâ€, â€%sâ€) misslyckades (%s)"
@@ -2312,7 +2256,7 @@ msgstr "chr: anropad utan argument"
msgid "chr: called with inappropriate argument(s)"
msgstr "chr: anropad med felaktiga argument"
-#: extension/readdir.c:203
+#: extension/readdir.c:277
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
msgstr "dir_take_control_of: opendir/fdopendir misslyckades: %s"
@@ -2325,162 +2269,152 @@ msgstr "readfile: anropad med för många argument"
msgid "readfile: called with no arguments"
msgstr "readfile: anropad utan argument"
-#: extension/rwarray.c:120
+#: extension/rwarray.c:124
msgid "writea: called with too many arguments"
msgstr "writea: anropad med för många argument"
-#: extension/rwarray.c:127
+#: extension/rwarray.c:131
#, c-format
msgid "do_writea: argument 0 is not a string\n"
msgstr "do_writea: argument 0 är inte en sträng\n"
-#: extension/rwarray.c:133
+#: extension/rwarray.c:137
#, c-format
msgid "do_writea: argument 1 is not an array\n"
msgstr "do_writea: argument 1 är inte en vektor\n"
-#: extension/rwarray.c:180
+#: extension/rwarray.c:184
#, c-format
msgid "write_array: could not flatten array\n"
msgstr "write_array: kunde inte platta till vektor\n"
-#: extension/rwarray.c:194
+#: extension/rwarray.c:198
#, c-format
msgid "write_array: could not release flattened array\n"
msgstr "write_array: kunde inte släppa en tillplattad vektor\n"
-#: extension/rwarray.c:276
+#: extension/rwarray.c:280
msgid "reada: called with too many arguments"
msgstr "reada: anropad med för många argument"
-#: extension/rwarray.c:283
+#: extension/rwarray.c:287
#, c-format
msgid "do_reada: argument 0 is not a string\n"
msgstr "do_reada: argument 0 är inte en sträng\n"
-#: extension/rwarray.c:289
+#: extension/rwarray.c:293
#, c-format
msgid "do_reada: argument 1 is not an array\n"
msgstr "do_reada: argument 1 är inte en vektor\n"
-#: extension/rwarray.c:333
+#: extension/rwarray.c:337
#, c-format
msgid "do_reada: clear_array failed\n"
msgstr "do_reada: clear_array misslyckades\n"
-#: extension/rwarray.c:370
+#: extension/rwarray.c:374
#, c-format
msgid "read_array: set_array_element failed\n"
msgstr "read_array: set_array_element misslyckades\n"
-#: extension/time.c:81
+#: extension/time.c:106
msgid "gettimeofday: ignoring arguments"
msgstr "gettimeofday: ignorerar argumenten"
-#: extension/time.c:112
+#: extension/time.c:137
msgid "gettimeofday: not supported on this platform"
msgstr "gettimeofday: stödjs inte på denna plattform"
-#: extension/time.c:133
+#: extension/time.c:158
msgid "sleep: called with too many arguments"
msgstr "sleep: anropad med för många argument"
-#: extension/time.c:136
+#: extension/time.c:161
msgid "sleep: missing required numeric argument"
msgstr "sleep: nödvändigt numeriskt argument saknas"
-#: extension/time.c:142
+#: extension/time.c:167
msgid "sleep: argument is negative"
msgstr "sleep: argumentet är negativt"
-#: extension/time.c:176
+#: extension/time.c:201
msgid "sleep: not supported on this platform"
msgstr "sleep: stödjs inte på denna plattform"
-#: field.c:339
+#: field.c:345
msgid "NF set to negative value"
msgstr "NF satt till ett negativt värde"
-#: field.c:964 field.c:971 field.c:975
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
msgstr "split: fjärde argumentet är en gawk-utökning"
-#: field.c:968
+#: field.c:975
msgid "split: fourth argument is not an array"
msgstr "split: fjärde argumentet är inte en vektor"
-#: field.c:982
+#: field.c:989
msgid "split: second argument is not an array"
msgstr "split: andra argumentet är inte en vektor"
-#: field.c:986
+#: field.c:993
msgid "split: cannot use the same array for second and fourth args"
-msgstr ""
-"split: det går inte att använda samma vektor som andra och fjärde argument"
+msgstr "split: det går inte att använda samma vektor som andra och fjärde argument"
-#: field.c:991
+#: field.c:998
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split: det går inte att använda en delvektor av andra argumentet som fjärde "
-"argument"
+msgstr "split: det går inte att använda en delvektor av andra argumentet som fjärde argument"
-#: field.c:994
+#: field.c:1001
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split: det går inte att använda en delvektor av fjärde argumentet som andra "
-"argument"
+msgstr "split: det går inte att använda en delvektor av fjärde argumentet som andra argument"
-#: field.c:1023
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
msgstr "split: tom sträng som tredje argument är en gawk-utökning"
-#: field.c:1063
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: fjärde argumentet är inte en vektor"
-#: field.c:1068
+#: field.c:1077
msgid "patsplit: second argument is not an array"
msgstr "patsplit: andra argumentet är inte en vektor"
-#: field.c:1074
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: tredje argumentet får inte vara tomt"
-#: field.c:1078
+#: field.c:1087
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit: det går inte att använda samma vektor som andra och fjärde argument"
+msgstr "patsplit: det går inte att använda samma vektor som andra och fjärde argument"
-#: field.c:1083
+#: field.c:1092
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit: det går inte att använda en delvektor av andra argumentet som "
-"fjärde argument"
+msgstr "patsplit: det går inte att använda en delvektor av andra argumentet som fjärde argument"
-#: field.c:1086
+#: field.c:1095
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit: det går inte att använda en delvektor av fjärde argumentet som "
-"andra argument"
+msgstr "patsplit: det går inte att använda en delvektor av fjärde argumentet som andra argument"
-#: field.c:1124
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "\"FIELDWIDTHS\" är en gawk-utökning"
-#: field.c:1188
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ogiltigt FIELDWITHS-värde i närheten av \"%s\""
-#: field.c:1261
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
msgstr "tom sträng som \"FS\" är en gawk-utökning"
-#: field.c:1265
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
msgstr "gamla awk stöder inte reguljära uttryck som värden på \"FS\""
-#: field.c:1384
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
msgstr "\"FPAT\" är en gawk-utökning"
@@ -2504,582 +2438,565 @@ msgstr "remove_element: fick en null-vektor"
msgid "remove_element: received null subscript"
msgstr "remove_element: mottog null-index"
-#: gawkapi.c:943
+#: gawkapi.c:948
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr "api_flatten_array: kunde inte konvertera index %d\n"
-#: gawkapi.c:948
+#: gawkapi.c:953
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr "api_flatten_array: kunde inte konvertera värdet %d\n"
-#: getopt.c:603 getopt.c:632
+#: getopt.c:604 getopt.c:633
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: flaggan â€%s†är tvetydig; möjligheter:"
-#: getopt.c:678 getopt.c:682
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"--%s\" tillåter inte något argument\n"
-#: getopt.c:691 getopt.c:696
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"%c%s\" tillåter inte något argument\n"
-#: getopt.c:739 getopt.c:758
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: flaggan \"%s\" kräver ett argument\n"
-#: getopt.c:796 getopt.c:799
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: okänd flagga \"--%s\"\n"
-#: getopt.c:807 getopt.c:810
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: okänd flagga \"%c%s\"\n"
-#: getopt.c:859 getopt.c:862
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ogiltig flagga -- \"%c\"\n"
-#: getopt.c:915 getopt.c:932 getopt.c:1142 getopt.c:1160
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: flaggan kräver ett argument -- \"%c\"\n"
-#: getopt.c:988 getopt.c:1004
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
-#: getopt.c:1028 getopt.c:1046
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flaggan \"-W %s\" tillåter inte något argument\n"
-#: getopt.c:1067 getopt.c:1085
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: flaggan \"-W %s\" kräver ett argument\n"
-#: io.c:347
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "kommandoradsargumentet \"%s\" är en katalog: hoppas över"
-#: io.c:350 io.c:463
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "kan inte öppna filen \"%s\" för läsning (%s)"
-#: io.c:590
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "stängning av fd %d (\"%s\") misslyckades (%s)"
-#: io.c:666
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr "omdirigering är inte tillåten i sandlådeläge"
-#: io.c:700
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "uttrycket i \"%s\"-omdirigering har bara numeriskt värde"
-#: io.c:706
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "uttrycket för \"%s\"-omdirigering har en tom sträng som värde"
-#: io.c:711
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"filnamnet \"%s\" för \"%s\"-omdirigering kan vara resultatet av ett logiskt "
-"uttryck"
+msgstr "filnamnet \"%s\" för \"%s\"-omdirigering kan vara resultatet av ett logiskt uttryck"
-#: io.c:754
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "onödig blandning av \">\" och \">>\" för filen \"%.*s\""
-#: io.c:808
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "kan inte öppna röret \"%s\" för utmatning (%s)"
-#: io.c:818
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "kan inte öppna röret \"%s\" för inmatning (%s)"
-#: io.c:849
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "kan inte öppna tvåvägsröret \"%s\" för in-/utmatning (%s)"
-#: io.c:928
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan inte dirigera om från \"%s\" (%s)"
-#: io.c:931
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan inte dirigera om till \"%s\" (%s)"
-#: io.c:982
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"nådde systembegränsningen för öppna filer: börjar multiplexa fildeskriptorer"
+#: io.c:1040
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "nådde systembegränsningen för öppna filer: börjar multiplexa fildeskriptorer"
-#: io.c:998
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "stängning av \"%s\" misslyckades (%s)"
-#: io.c:1006
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr "för många rör eller indatafiler öppna"
-#: io.c:1028
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
msgstr "close: andra argumentet måste vara \"to\" eller \"from\""
-#: io.c:1045
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: \"%.*s\" är inte en öppen fil, rör eller koprocess"
-#: io.c:1050
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr "stängning av omdirigering som aldrig öppnades"
-#: io.c:1147
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: omdirigeringen \"%s\" öppnades inte med \"|&\", andra argumentet "
-"ignorerat"
+msgstr "close: omdirigeringen \"%s\" öppnades inte med \"|&\", andra argumentet ignorerat"
-#: io.c:1164
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "felstatus (%d) från rörstängning av \"%s\" (%s)"
-#: io.c:1167
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "felstatus (%d) från filstängning av \"%s\" (%s)"
-#: io.c:1187
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "ingen explicit stängning av uttaget \"%s\" tillhandahållen"
-#: io.c:1190
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "ingen explicit stängning av koprocessen \"%s\" tillhandahållen"
-#: io.c:1193
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "ingen explicit stängning av röret \"%s\" tillhandahållen"
-#: io.c:1196
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "ingen explicit stängning av filen \"%s\" tillhandahållen"
-#: io.c:1224 io.c:1279 main.c:842 main.c:879
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr "fel vid skrivning till standard ut (%s)"
-#: io.c:1228 io.c:1284
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr "fel vid skrivning till standard fel (%s)"
-#: io.c:1236
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "rörspolning av \"%s\" misslyckades (%s)"
-#: io.c:1239
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "koprocesspolning av röret till \"%s\" misslyckades (%s)"
-#: io.c:1242
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "filspolning av \"%s\" misslyckades (%s)"
-#: io.c:1356
+#: io.c:1420
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokal port %s ogiltig i \"/inet\""
-#: io.c:1374
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "ogiltig information (%s, %s) för fjärrvärd och fjärrport"
-#: io.c:1526
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
-msgstr ""
-"inget (känt) protokoll tillhandahållet i det speciella filnamnet \"%s\""
+msgstr "inget (känt) protokoll tillhandahållet i det speciella filnamnet \"%s\""
-#: io.c:1540
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "speciellt filnamn \"%s\" är ofullständigt"
-#: io.c:1557
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
msgstr "måste tillhandahålla ett fjärrdatornamn till \"/inet\""
-#: io.c:1575
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
msgstr "måste tillhandahålla en fjärrport till \"/inet\""
-#: io.c:1621
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-kommunikation stöds inte"
-#: io.c:1796
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kunde inte öppna \"%s\", läge \"%s\""
-#: io.c:1846
+#: io.c:1917
#, c-format
msgid "close of master pty failed (%s)"
msgstr "stängning av huvudpty misslyckades (%s)"
-#: io.c:1848 io.c:2024 io.c:2194
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "stängning av standard ut i barnet misslyckades (%s)"
-#: io.c:1851
+#: io.c:1922
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr "flyttandet av slavpty till standard ut i barnet misslyckades (dup: %s)"
-#: io.c:1853 io.c:2029
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "stängning av standard in i barnet misslyckades (%s)"
-#: io.c:1856
+#: io.c:1927
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr "flyttandet av slavpty till standard in i barnet misslyckades (dup: %s)"
-#: io.c:1858 io.c:1879
+#: io.c:1929 io.c:1951
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "stängning av slavpty misslyckades (%s)"
-#: io.c:1965 io.c:2027 io.c:2171 io.c:2197
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "flyttande av rör till standard ut i barnet misslyckades (dup: %s)"
-#: io.c:1972 io.c:2032
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr "flyttande av rör till standard in i barnet misslyckades (dup: %s)"
-#: io.c:1992 io.c:2187
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr "återställande av standard ut i förälderprocessen misslyckades\n"
-#: io.c:2000
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr "återställande av standard in i förälderprocessen misslyckades\n"
-#: io.c:2035 io.c:2199 io.c:2213
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr "stängning av röret misslyckades (%s)"
-#: io.c:2089
+#: io.c:2174
msgid "`|&' not supported"
msgstr "\"|&\" stöds inte"
-#: io.c:2156
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan inte öppna röret \"%s\" (%s)"
-#: io.c:2207
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan inte skapa barnprocess för \"%s\" (fork: %s)"
-#: io.c:2667
+#: io.c:2790
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: mottog NULL-pekare"
-#: io.c:2695
+#: io.c:2818
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
-msgstr ""
-"inmatningstolken â€%s†stÃ¥r i konflikt med tidigare installerad "
-"inmatningstolk â€%sâ€"
+msgstr "inmatningstolken â€%s†stÃ¥r i konflikt med tidigare installerad inmatningstolk â€%sâ€"
-#: io.c:2702
+#: io.c:2825
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "inmatningstolken â€%s†misslyckades att öppna â€%sâ€"
-#: io.c:2722
+#: io.c:2845
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: mottog NULL-pekare"
-#: io.c:2750
+#: io.c:2873
#, c-format
-msgid ""
-"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
-msgstr ""
-"utmatningsomslag â€%s†stÃ¥r i konflikt med tidigare installerat "
-"utmatningsomslag â€%sâ€"
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgstr "utmatningsomslag â€%s†stÃ¥r i konflikt med tidigare installerat utmatningsomslag â€%sâ€"
-#: io.c:2757
+#: io.c:2880
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "utmatningsomslag â€%s†misslyckades att öpnna â€%sâ€"
-#: io.c:2778
+#: io.c:2901
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: mottog NULL-pekare"
-#: io.c:2807
+#: io.c:2930
#, c-format
-msgid ""
-"two-way processor `%s' conflicts with previously installed two-way processor "
-"`%s'"
-msgstr ""
-"tvÃ¥vägsprocessorn â€%s†stÃ¥r i konflikt med tidigare installerad "
-"tvÃ¥vägsprocessor â€%sâ€"
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
+msgstr "tvÃ¥vägsprocessorn â€%s†stÃ¥r i konflikt med tidigare installerad tvÃ¥vägsprocessor â€%sâ€"
-#: io.c:2816
+#: io.c:2939
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "tvÃ¥vägsprocessorn â€%s†misslyckades att öppna â€%sâ€"
-#: io.c:2923
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
msgstr "datafilen \"%s\" är tom"
-#: io.c:2965 io.c:2973
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr "kunde inte allokera mer indataminne"
-#: io.c:3539
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "flerteckensvärdet av \"RS\" är en gawk-utökning"
-#: io.c:3628
+#: io.c:3771
msgid "IPv6 communication is not supported"
msgstr "IPv6-kommunikation stöds inte"
-#: main.c:388
+#: main.c:405
msgid "empty argument to `-e/--source' ignored"
msgstr "tomt argument till \"-e/--source\" ignorerat"
-#: main.c:478
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: flaggan \"-W %s\" okänd, ignorerad\n"
-#: main.c:524
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: flaggan kräver ett argument -- %c\n"
-#: main.c:545
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "miljövariabeln \"POSIXLY_CORRECT\" satt: slår på \"--posix\""
-#: main.c:551
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
msgstr "\"--posix\" åsidosätter \"--traditional\""
-#: main.c:562
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "\"--posix\"/\"--traditional\" åsidosätter \"--non-decimal-data\""
-#: main.c:566
+#: main.c:583
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "att köra %s setuid root kan vara ett säkerhetsproblem"
-#: main.c:571
+#: main.c:588
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "â€--posix†åsidosätter â€--character-as-bytesâ€"
-#: main.c:630
+#: main.c:647
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "kan inte sätta binärläge på standard in (%s)"
-#: main.c:633
+#: main.c:650
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "kan inte sätta binärläge på standard ut (%s)"
-#: main.c:635
+#: main.c:652
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "kan inte sätta binärläge på standard fel (%s)"
-#: main.c:693
+#: main.c:710
msgid "no program text at all!"
msgstr "ingen programtext alls!"
-#: main.c:779
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
-msgstr ""
-"Användning: %s [POSIX- eller GNU-stilsflaggor] -f progfil [--] fil ...\n"
+msgstr "Användning: %s [POSIX- eller GNU-stilsflaggor] -f progfil [--] fil ...\n"
-#: main.c:781
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Användning: %s [POSIX- eller GNU-stilsflaggor] %cprogram%c fil ...\n"
-#: main.c:786
+#: main.c:806
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-flaggor:\t\tGNU långa flaggor: (standard)\n"
-#: main.c:787
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f progfil\t\t--file=progfil\n"
-#: main.c:788
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:789
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=värde\t\t--assign=var=värde\n"
-#: main.c:790
+#: main.c:810
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Korta flaggor:\t\tGNU långa flaggor: (utökningar)\n"
-#: main.c:791
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:792
+#: main.c:812
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:793
+#: main.c:813
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:794
+#: main.c:814
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fil]\t\t\t--dump-variables[=fil]\n"
-#: main.c:795
+#: main.c:815
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-D[fil]\t\t\t--debug[=fil]\n"
-#: main.c:796
+#: main.c:816
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programtext'\t--source='programtext'\n"
-#: main.c:797
+#: main.c:817
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fil\t\t\t--exec=fil\n"
-#: main.c:798
+#: main.c:818
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:799
+#: main.c:819
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:800
+#: main.c:820
msgid "\t-i includefile\t\t--include=includefile\n"
msgstr "\t-i inkluderingsfil\t--include=inkluderingsfil\n"
-#: main.c:801
+#: main.c:821
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l bibliotek\t\t--load=bibliotek\n"
-#: main.c:802
+#: main.c:822
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:803
+#: main.c:823
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:804
+#: main.c:824
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:805
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:806
+#: main.c:826
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[fil]\t\t\t--pretty-print[=fil]\n"
-#: main.c:807
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:808
+#: main.c:828
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fil]\t\t\t--profile[=fil]\n"
-#: main.c:809
+#: main.c:829
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:810
+#: main.c:830
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:811
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:812
+#: main.c:832
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:813
+#: main.c:833
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:815
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:818
+#: main.c:838
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3088,7 +3005,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:827
+#: main.c:847
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3102,7 +3019,7 @@ msgstr ""
"Rapportera synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
"\n"
-#: main.c:831
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -3112,7 +3029,7 @@ msgstr ""
"Normalt läser det från standard in och skriver till standard ut.\n"
"\n"
-#: main.c:835
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -3122,7 +3039,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fil\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:855
+#: main.c:880
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3141,7 +3058,7 @@ msgstr ""
"någon senare version.\n"
"\n"
-#: main.c:863
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3155,7 +3072,7 @@ msgstr ""
"General Public License för ytterligare information.\n"
"\n"
-#: main.c:869
+#: main.c:894
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"
@@ -3163,64 +3080,64 @@ msgstr ""
"Du bör ha fått en kopia av GNU General Public License tillsammans\n"
"med detta program. Om inte, se http//www.gnu.org/liceences/.\n"
-#: main.c:904
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft sätter inte FS till tab i POSIX-awk"
-#: main.c:1181
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "okänt värde till fältspecifikation: %d\n"
-#: main.c:1279
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr "%s: Argumentet \"%s\" till \"-v\" är inte på formatet \"var=värde\"\n"
-#: main.c:1305
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "\"%s\" är inte ett giltigt variabelnamn"
-#: main.c:1308
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "\"%s\" är inte ett variabelnamn, letar efter filen \"%s=%s\""
-#: main.c:1312
+#: main.c:1339
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
-#: main.c:1317
+#: main.c:1344
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan inte använda funktionen \"%s\" som variabelnamn"
-#: main.c:1370
+#: main.c:1397
msgid "floating point exception"
msgstr "flyttalsundantag"
-#: main.c:1377
+#: main.c:1404
msgid "fatal error: internal error"
msgstr "ödesdigert fel: internt fel"
-#: main.c:1392
+#: main.c:1419
msgid "fatal error: internal error: segfault"
msgstr "ödesdigert fel: internt fel: segmenteringsfel"
-#: main.c:1404
+#: main.c:1431
msgid "fatal error: internal error: stack overflow"
msgstr "ödesdigert fel: internt fel: stackspill"
-#: main.c:1463
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr "ingen föröppnad fd %d"
-#: main.c:1470
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kunde inte föröppna /dev/null för fd %d"
@@ -3275,7 +3192,7 @@ msgstr "%s: argument nr. %d flyttalsvärde %Rg kommer huggas av"
msgid "%s: argument #%d negative value %Zd will give strange results"
msgstr "%s: argument nr. %d negativa värde %Zd kommer ge konstiga resultat"
-#: msg.c:61
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr "kommandorad:"
@@ -3299,12 +3216,8 @@ msgstr "inga hexadecimala siffror i \"\\x\"-kontrollsekvenser"
#: node.c:579
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"hexkod \\x%.*s med %d tecken tolkas förmodligen inte på det sätt du "
-"förväntar dig"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "hexkod \\x%.*s med %d tecken tolkas förmodligen inte på det sätt du förväntar dig"
#: node.c:594
#, c-format
@@ -3312,12 +3225,8 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "kontrollsekvensen \"\\%c\" behandlad som bara \"%c\""
#: node.c:739
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Ogiltig multibytedata upptäckt. Dina data och din lokal stämmer kanske inte "
-"överens."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Ogiltig multibytedata upptäckt. Dina data och din lokal stämmer kanske inte överens."
#: posix/gawkmisc.c:177
#, c-format
@@ -3329,16 +3238,16 @@ msgstr "%s %s \"%s\": kunde inte hämta fb-flaggor: (fcntl F_GETFD: %s)"
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s \"%s\": kunde inte sätta stäng-vid-exec (fcntl F_SETFD: %s)"
-#: profile.c:70
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "kunde inte öppna \"%s\" för skrivning: %s"
-#: profile.c:72
+#: profile.c:73
msgid "sending profile to standard error"
msgstr "skickar profilen till standard fel"
-#: profile.c:188
+#: profile.c:193
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -3347,7 +3256,7 @@ msgstr ""
"\t# %s-block\n"
"\n"
-#: profile.c:193
+#: profile.c:198
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3356,16 +3265,16 @@ msgstr ""
"\t# Regel/regler\n"
"\n"
-#: profile.c:267
+#: profile.c:272
#, c-format
msgid "internal error: %s with null vname"
msgstr "internt fel: %s med null vname"
-#: profile.c:530
+#: profile.c:537
msgid "internal error: builtin with null fname"
msgstr "internt fel: inbyggd med tomt fname"
-#: profile.c:942
+#: profile.c:949
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3374,12 +3283,12 @@ msgstr ""
"\t# Laddade utvidgningar (-l och/eller @load)\n"
"\n"
-#: profile.c:965
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawkprofil, skapad %s\n"
-#: profile.c:1351
+#: profile.c:1475
#, c-format
msgid ""
"\n"
@@ -3388,21 +3297,15 @@ msgstr ""
"\n"
"\t# Funktioner, listade alfabetiskt\n"
-#: profile.c:1389
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: okänd omdirigeringstyp %d"
-#: re.c:583
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr "intervall på formen \"[%c-%c]\" är lokalberoende"
-
-#: re.c:610
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"komponenten \"%.*s\" i reguljäruttryck skall förmodligen vara \"[%.*s]\""
+msgstr "komponenten \"%.*s\" i reguljäruttryck skall förmodligen vara \"[%.*s]\""
#: regcomp.c:131
msgid "Success"
@@ -3468,6 +3371,6 @@ msgstr "Obalanserad ) eller \\)"
msgid "No previous regular expression"
msgstr "Inget föregående reguljärt uttryck"
-#: symbol.c:740
+#: symbol.c:741
msgid "can not pop main context"
msgstr "kan inte poppa huvudsammanhang"
diff --git a/po/vi.gmo b/po/vi.gmo
index debb0899..2d663bc7 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 400477b8..187d31a4 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,15 +1,16 @@
# Vietnamese translation for Gawk.
-# Copyright © 2013 Free Software Foundation, Inc.
+# Bản dịch Tiếng Việt dành cho Gawk.
+# Copyright © 2014 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
-# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012-2013.
+# Trần Ngá»c Quân <vnwildman@gmail.com>, 2012-2014.
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk-4.0.75\n"
+"Project-Id-Version: gawk-4.1.0b\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2013-05-09 16:05+0300\n"
-"PO-Revision-Date: 2013-04-24 08:11+0700\n"
+"POT-Creation-Date: 2014-01-14 22:23+0200\n"
+"PO-Revision-Date: 2014-01-16 14:52+0700\n"
"Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
@@ -20,92 +21,84 @@ msgstr ""
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SourceCharset: UTF-8\n"
-#: array.c:254
+#: array.c:256
#, c-format
msgid "from %s"
msgstr "từ %s"
-#: array.c:354
+#: array.c:357
msgid "attempt to use a scalar value as array"
msgstr "cố dùng giá trị vô hướng như là một mảng"
-#: array.c:356
+#: array.c:359
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "cố dùng tham số vô hướng “%s†như là mảng"
-#: array.c:359
+#: array.c:362
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "cố dùng “%s†vô hướng như là mảng"
-#: array.c:406 array.c:573 builtin.c:85 builtin.c:1591 builtin.c:1637
-#: builtin.c:1650 builtin.c:2078 builtin.c:2092 eval.c:1121 eval.c:1125
-#: eval.c:1524
+#: array.c:409 array.c:576 builtin.c:85 builtin.c:1599 builtin.c:1645
+#: builtin.c:1658 builtin.c:2086 builtin.c:2100 eval.c:1122 eval.c:1126
+#: eval.c:1531
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "cố gắng dùng mảng “%s†trong một ngữ cảnh vô hướng"
-#: array.c:580
+#: array.c:583
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: (xoá) chỉ số “%s†không nằm trong mảng “%sâ€"
-#: array.c:594
+#: array.c:597
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
-msgstr "cố dùng “%s[â€%.*sâ€]†vô hướng như là mảng"
+msgstr "cố dùng “%s[\"%.*s\"]†vô hướng như là mảng"
-#: array.c:773
+#: array.c:776
msgid "adump: first argument not an array"
msgstr "adump: đối số thứ nhất không phải là một mảng"
-#: array.c:812
+#: array.c:815
msgid "asort: second argument not an array"
msgstr "asort: đối số thứ hai không phải là một mảng"
-#: array.c:813
+#: array.c:816
msgid "asorti: second argument not an array"
msgstr "asorti: đối số thứ hai không phải là một mảng"
-#: array.c:820
+#: array.c:823
msgid "asort: first argument not an array"
msgstr "asort: đối số thứ nhất không phải là một mảng"
-#: array.c:821
+#: array.c:824
msgid "asorti: first argument not an array"
msgstr "asorti: đối số thứ nhất không phải là một mảng"
-#: array.c:828
+#: array.c:831
msgid "asort: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asort (một chương trính xắp xếp thứ tự): không thể sử dụng mảng con của tham "
-"số thứ nhất cho tham số thứ hai"
+msgstr "asort (một chương trình xắp xếp thứ tự): không thể sử dụng mảng con của tham số thứ nhất cho tham số thứ hai"
-#: array.c:829
+#: array.c:832
msgid "asorti: cannot use a subarray of first arg for second arg"
-msgstr ""
-"asorti (một chương trính xắp xếp thứ tự): không thể sử dụng mảng con của "
-"tham số thứ nhất cho tham số thứ hai"
+msgstr "asorti (một chương trình xắp xếp thứ tự): không thể sử dụng mảng con của tham số thứ nhất cho tham số thứ hai"
-#: array.c:834
+#: array.c:837
msgid "asort: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asort (một chương trính xắp xếp thứ tự): không thể sử dụng mảng con của tham "
-"số thứ hai cho tham số thứ nhất"
+msgstr "asort (một chương trình xắp xếp thứ tự): không thể sử dụng mảng con của tham số thứ hai cho tham số thứ nhất"
-#: array.c:835
+#: array.c:838
msgid "asorti: cannot use a subarray of second arg for first arg"
-msgstr ""
-"asorti (một chương trính xắp xếp thứ tự): không thể sử dụng mảng con của "
-"tham số thứ hai cho tham số thứ nhất"
+msgstr "asorti (một chương trình xắp xếp thứ tự): không thể sử dụng mảng con của tham số thứ hai cho tham số thứ nhất"
-#: array.c:1309
+#: array.c:1314
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "“%s†không phải là tên hàm hợp lệ"
-#: array.c:1313
+#: array.c:1318
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "chưa định nghÄ©a hàm so sánh xắp xếp “%sâ€"
@@ -121,8 +114,7 @@ msgstr "Má»i quy tắc phải có má»™t mẫu hay phần kiểu hành động"
#: awkgram.y:325 awkgram.y:336
msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr ""
-"awk cÅ© không há»— trợ nhiá»u quy tắc kiểu “BEGIN†(bắt đầu) hay “END†(kết thúc)"
+msgstr "awk cÅ© không há»— trợ nhiá»u quy tắc kiểu “BEGIN†(bắt đầu) hay “END†(kết thúc)"
#: awkgram.y:373
#, c-format
@@ -131,16 +123,12 @@ msgstr "“%s†là một hàm có sẵn nên nó không thể được định
#: awkgram.y:419
msgid "regexp constant `//' looks like a C++ comment, but is not"
-msgstr ""
-"hằng biểu thức chính quy “//†trông giống như một chú thích C++, nhưng mà "
-"không phải"
+msgstr "hằng biểu thức chính quy “//†trông giống như một chú thích C++, nhưng mà không phải"
#: awkgram.y:423
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
-msgstr ""
-"hằng biểu thức chính quy “/%s/†trông giống như một chú thích C, nhưng mà "
-"không phải"
+msgstr "hằng biểu thức chính quy “/%s/†trông giống như một chú thích C, nhưng mà không phải"
#: awkgram.y:515
#, c-format
@@ -149,13 +137,11 @@ msgstr "gặp giá trị case trùng trong thân chuyển đổi (switch body):
#: awkgram.y:536
msgid "duplicate `default' detected in switch body"
-msgstr ""
-"đã phát hiện trùng “default†trong thân cấu trúc Ä‘iá»u khiển chá»n lá»±a (switch)"
+msgstr "đã phát hiện trùng “default†trong thân cấu trúc Ä‘iá»u khiển chá»n lá»±a (switch)"
#: awkgram.y:796 awkgram.y:3699
msgid "`break' is not allowed outside a loop or switch"
-msgstr ""
-"không cho phép “break†(ngắt) nằm ở ngoại vòng lặp hay cấu trúc chá»n lá»±a"
+msgstr "không cho phép “break†(ngắt) nằm ở ngoại vòng lặp hay cấu trúc chá»n lá»±a"
#: awkgram.y:805 awkgram.y:3691
msgid "`continue' is not allowed outside a loop"
@@ -169,7 +155,7 @@ msgstr "“next†(kế tiếp) được dùng trong hành động %s"
#: awkgram.y:824
#, c-format
msgid "`nextfile' used in %s action"
-msgstr "“nextfile†(tệp tin kế tiếp) được dùng trong hành động %s"
+msgstr "“nextfile†(tập tin kế tiếp) được dùng trong hành động %s"
#: awkgram.y:848
msgid "`return' used outside function context"
@@ -177,9 +163,7 @@ msgstr "“return†(trở vá») được dùng ở ngoại ngữ cảnh hàm"
#: awkgram.y:922
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
-msgstr ""
-"“print†(in) thưá»ng trong quy tắc “BEGIN†(bắt đầu) hay “END†(kết thúc) gần "
-"như chắc chắn nên là “printâ€â€â€"
+msgstr "“print†(in) thưá»ng trong quy tắc “BEGIN†(bắt đầu) hay “END†(kết thúc) gần như chắc chắn nên là “printâ€â€â€"
#: awkgram.y:988 awkgram.y:1037
msgid "`delete' is not allowed with SYMTAB"
@@ -225,9 +209,7 @@ msgstr "“getline†không hợp lệ trong quy tắc “%sâ€"
#: awkgram.y:1425
msgid "non-redirected `getline' undefined inside END action"
-msgstr ""
-"trong hành động “END†(kết thúc) có “getline†(lấy dòng) không được chuyển "
-"hướng lại và chưa được xác định."
+msgstr "trong hành động “END†(kết thúc) có “getline†(lấy dòng) không được chuyển hướng lại và chưa được định nghĩa."
#: awkgram.y:1444
msgid "old awk does not support multidimensional arrays"
@@ -235,9 +217,7 @@ msgstr "awk cÅ© không há»— trợ mảng Ä‘a chiá»u"
#: awkgram.y:1541
msgid "call of `length' without parentheses is not portable"
-msgstr ""
-"lá»i gá»i “length†(độ dài) mà không có dấu ngoặc đơn là không tương thích "
-"trên các hệ thống khác"
+msgstr "lá»i gá»i “length†(độ dài) mà không có dấu ngoặc đơn là không tương thích trên các hệ thống khác"
#: awkgram.y:1607
msgid "indirect function calls are a gawk extension"
@@ -252,20 +232,20 @@ msgstr "không thể dùng biến đặc biệt “%s†cho cú gá»i hàm giá
msgid "invalid subscript expression"
msgstr "biểu thức in thấp không hợp lệ"
-#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119
+#: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:126
msgid "warning: "
msgstr "cảnh báo: "
-#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151
+#: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:158
msgid "fatal: "
-msgstr "nghiêm trá»ng: "
+msgstr "lá»—i nghiêm trá»ng: "
#: awkgram.y:2092
msgid "unexpected newline or end of string"
-msgstr "gặp dòng mới bất ngỠhay kết thúc của chuỗi"
+msgstr "gặp dòng má»›i hay kết thúc chuá»—i bất ngá»"
-#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:517 debug.c:533
-#: debug.c:2792 debug.c:5040
+#: awkgram.y:2359 awkgram.y:2435 awkgram.y:2658 debug.c:523 debug.c:539
+#: debug.c:2812 debug.c:5055
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "không thể mở tập tin nguồn “%s†để Ä‘á»c (%s)"
@@ -275,9 +255,9 @@ msgstr "không thể mở tập tin nguồn “%s†để Ä‘á»c (%s)"
msgid "can't open shared library `%s' for reading (%s)"
msgstr "không thể mở tập thư viện chia sẻ “%s†để Ä‘á»c (%s)"
-#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191
+#: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:135 debug.c:5206
msgid "reason unknown"
-msgstr "không biết sao"
+msgstr "không rõ lý do"
#: awkgram.y:2371 awkgram.y:2395
#, c-format
@@ -292,7 +272,7 @@ msgstr "đã sẵn bao gồm tập tin nguồn “%sâ€"
#: awkgram.y:2385
#, c-format
msgid "already loaded shared library `%s'"
-msgstr "thư viện dùng chung “%s†đã được sẵn được tải rồi "
+msgstr "thư viện dùng chung “%s†đã được sẵn được tải rồi"
#: awkgram.y:2420
msgid "@include is a gawk extension"
@@ -300,7 +280,7 @@ msgstr "@include là phần mở rộng của gawk"
#: awkgram.y:2426
msgid "empty filename after @include"
-msgstr "tệp tin trống sau @include"
+msgstr "tập tin trống sau @include"
#: awkgram.y:2470
msgid "@load is a gawk extension"
@@ -308,7 +288,7 @@ msgstr "@load là một phần mở rộng gawk"
#: awkgram.y:2476
msgid "empty filename after @load"
-msgstr "tên tệp tin trống sau @load"
+msgstr "tên tập tin trống sau @load"
#: awkgram.y:2610
msgid "empty program text on command line"
@@ -330,22 +310,17 @@ msgstr "tập tin nguồn không kết thúc với một dòng mới"
#: awkgram.y:3018
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr ""
-"biểu thức chính quy chưa được chấm dứt kết thúc với “\\†tại kết thúc của "
-"tập tin"
+msgstr "biểu thức chính quy chưa được chấm dứt kết thúc với “\\†tại kết thúc của tập tin"
#: awkgram.y:3042
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"%s: %d: bộ sửa đổi biểu thức chính quy tawk “/.../%c†không hoạt động được "
-"trong gawk"
+msgstr "%s: %d: bộ sửa đổi biểu thức chính quy tawk “/.../%c†không hoạt động được trong gawk"
#: awkgram.y:3046
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr ""
-"bộ sửa đổi biểu thức chính quy tawk “/.../%c†không hoạt động được trong gawk"
+msgstr "bộ sửa đổi biểu thức chính quy tawk “/.../%c†không hoạt động được trong gawk"
#: awkgram.y:3053
msgid "unterminated regexp"
@@ -361,7 +336,7 @@ msgstr "không thể mang khả năng dùng “\\#...†để tiếp tục dòn
#: awkgram.y:3132
msgid "backslash not last character on line"
-msgstr "xuyệc ngược không phải là ký tự cuối cùng nằm trên dòng"
+msgstr "dấu gạch ngược không phải là ký tự cuối cùng nằm trên dòng"
#: awkgram.y:3193
msgid "POSIX does not allow operator `**='"
@@ -423,9 +398,7 @@ msgstr "“%d†không hợp lệ khi là số đối số cho “%sâ€"
#: awkgram.y:3798
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
-msgstr ""
-"%s: khi đối số cuối cùng của sự thay thế, hằng mã nguồn chuỗi không có tác "
-"dụng"
+msgstr "%s: khi đối số cuối cùng của sự thay thế, hằng mã nguồn chuỗi không có tác dụng"
#: awkgram.y:3803
#, c-format
@@ -449,16 +422,15 @@ msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dùng “dcgettext(_\"...\")†không đúng: hãy gỡ bỠgạch dưới nằm trước"
#: awkgram.y:3992
-#, fuzzy
msgid "index: regexp constant as second argument is not allowed"
-msgstr "index: (chỉ mục) đã nhận đối số thứ hai không phải là chuỗi"
+msgstr "index: (chỉ mục) không cho phép hằng biểu thức chính quy làm đối số thứ hai"
#: awkgram.y:4045
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "hàm “%sâ€: tham số “%s†che biến toàn cục"
-#: awkgram.y:4102 debug.c:4021 debug.c:4064 debug.c:5189
+#: awkgram.y:4102 debug.c:4041 debug.c:4084 debug.c:5204
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "không mở được “%s†để ghi (%s)"
@@ -470,7 +442,7 @@ msgstr "đang gởi danh sách biến tới thiết bị lỗi chuẩn"
#: awkgram.y:4111
#, c-format
msgid "%s: close failed (%s)"
-msgstr "%s: lỗi đóng (%s)"
+msgstr "%s: gặp lỗi khi đóng (%s)"
#: awkgram.y:4136
msgid "shadow_funcs() called twice!"
@@ -500,22 +472,22 @@ msgstr "hàm “%sâ€: không thể dùng biến đặc biệt “%s†như là
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "hàm “%sâ€: tham số “#%dâ€, “%sâ€, nhân đôi tham số “#%dâ€"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4359 awkgram.y:4365
#, c-format
msgid "function `%s' called but never defined"
-msgstr "hàm “%s†được gá»i nhưng mà chưa xác định"
+msgstr "hàm “%s†được gá»i nhưng mà chưa định nghÄ©a"
-#: awkgram.y:4376
+#: awkgram.y:4369
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "hàm “%s†được định nghÄ©a nhưng mà chưa được gá»i trá»±c tiếp bao giá»"
-#: awkgram.y:4408
+#: awkgram.y:4401
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "hằng biểu thức chính quy cho tham số “#%d†làm giá trị luận lý (bun)"
-#: awkgram.y:4467
+#: awkgram.y:4460
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -524,428 +496,421 @@ msgstr ""
"hàm “%s†được gá»i vá»›i dấu cách nằm giữa tên và “(â€\n"
"hoặc được dùng như là biến hay mảng"
-#: awkgram.y:4703
+#: awkgram.y:4696
msgid "division by zero attempted"
-msgstr "cố gắng chia cho số không"
+msgstr "gặp phép chia cho số không"
-#: awkgram.y:4712
+#: awkgram.y:4705
#, c-format
msgid "division by zero attempted in `%%'"
-msgstr "thá»­ chia cho không trong “%%â€"
+msgstr "gặp phép chia cho số không trong “%%â€"
+
+#: awkgram.y:5025
+msgid "cannot assign a value to the result of a field post-increment expression"
+msgstr "không thể gán giá trị cho kết quả cá»§a biểu thức trưá»ng tăng-trước"
+
+#: awkgram.y:5028
+#, c-format
+msgid "invalid target of assignment (opcode %s)"
+msgstr "gán Ä‘ich không hợp lệ (mã thi hành “%sâ€)"
-#: builtin.c:128
+#: builtin.c:133
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s tới “%s†gặp lỗi (%s)"
-#: builtin.c:129
+#: builtin.c:134
msgid "standard output"
msgstr "đầu ra tiêu chuẩn"
-#: builtin.c:143
+#: builtin.c:148
msgid "exp: received non-numeric argument"
msgstr "exp: đã nhận đối số không phải thuộc số"
-#: builtin.c:149
+#: builtin.c:154
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: đối số “%g†nằm ngoài phạm vi"
-#: builtin.c:224
+#: builtin.c:229
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
-msgstr ""
-"fflush: không thể flush (đẩy dữ liệu lên đĩa): ống dẫn “%s†được mở để Ä‘á»c, "
-"không phải để ghi"
+msgstr "fflush: không thể flush (đẩy dữ liệu lên đĩa): ống dẫn “%s†được mở để Ä‘á»c, không phải để ghi"
-#: builtin.c:227
+#: builtin.c:232
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr ""
-"fflush: không thể flush (đẩy dữ liệu vào đĩa): tập tin “%s†được mở để Ä‘á»c, "
-"không phải để ghi"
+msgstr "fflush: không thể flush (đẩy dữ liệu vào đĩa): tập tin “%s†được mở để Ä‘á»c, không phải để ghi"
-#: builtin.c:239
+#: builtin.c:244
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
-msgstr ""
-"fflush: “%s†không phải là tập tin, ống dẫn hay đồng tiến trình được mở"
+msgstr "fflush: “%s†không phải là tập tin, ống dẫn hay đồng tiến trình được mở"
-#: builtin.c:357
+#: builtin.c:362
msgid "index: received non-string first argument"
msgstr "index: (chỉ số) đã nhận đối số thứ nhất không phải là chuỗi"
-#: builtin.c:359
+#: builtin.c:364
msgid "index: received non-string second argument"
-msgstr "index: (chỉ mục) đã nhận đối số thứ hai không phải là chuỗi"
+msgstr "index: (chỉ số) đã nhận đối số thứ hai không phải là chuỗi"
-#: builtin.c:483 mpfr.c:757
+#: builtin.c:488 mpfr.c:757
msgid "int: received non-numeric argument"
msgstr "int: (số nguyên?) đã nhận đối số không phải thuộc số"
-#: builtin.c:520
+#: builtin.c:525
msgid "length: received array argument"
msgstr "length: (chiá»u dài) đã nhận mảng đối số"
-#: builtin.c:523
+#: builtin.c:528
msgid "`length(array)' is a gawk extension"
msgstr "“length(array)†(độ dài mảng) là một phần mở rộng gawk"
-#: builtin.c:539
+#: builtin.c:544
msgid "length: received non-string argument"
msgstr "length: (chiá»u dài) đã nhận đối số không phải chuá»—i"
-#: builtin.c:570
+#: builtin.c:575
msgid "log: received non-numeric argument"
-msgstr "log: (bản ghi) đã nhận đối số không phải thuộc số"
+msgstr "log: (nhật ký) đã nhận đối số không phải thuộc số"
-#: builtin.c:573
+#: builtin.c:578
#, c-format
msgid "log: received negative argument %g"
-msgstr "log: (bản ghi) đã nhận đối số âm “%gâ€"
+msgstr "log: (nhật ký) đã nhận đối số âm “%gâ€"
-#: builtin.c:771 builtin.c:776
+#: builtin.c:776 builtin.c:781
msgid "fatal: must use `count$' on all formats or none"
-msgstr "nghiêm trá»ng: phải dùng “count$†vá»›i má»i dạng thức hay không gì cả"
+msgstr "lá»—i nghiêm trá»ng: phải dùng “count$†vá»›i má»i dạng thức hay không gì cả"
-#: builtin.c:846
+#: builtin.c:851
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "chiá»u rá»™ng trưá»ng bị bá» qua đối vá»›i bá»™ chỉ định “%%â€"
-#: builtin.c:848
+#: builtin.c:853
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "độ chính xác bị bá» qua đối vá»›i bá»™ chỉ định “%%â€"
-#: builtin.c:850
+#: builtin.c:855
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "chiá»u rá»™ng trưá»ng và độ chính xác bị bá» qua đối vá»›i bá»™ chỉ định “%%â€"
-#: builtin.c:901
+#: builtin.c:906
msgid "fatal: `$' is not permitted in awk formats"
-msgstr "nghiêm trá»ng: không cho phép “$†trong định dạng awk"
+msgstr "lá»—i nghiêm trá»ng: không cho phép “$†trong định dạng awk"
-#: builtin.c:910
+#: builtin.c:915
msgid "fatal: arg count with `$' must be > 0"
-msgstr "nghiêm trá»ng: số lượng đối số vá»›i “$†phải >0"
+msgstr "lá»—i nghiêm trá»ng: số lượng đối số vá»›i “$†phải >0"
-#: builtin.c:914
+#: builtin.c:919
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
-msgstr "nghiêm trá»ng: số lượng đối số %ld lá»›n hÆ¡n tổng số đối số được cung cấp"
+msgstr "lá»—i nghiêm trá»ng: số lượng đối số %ld lá»›n hÆ¡n tổng số đối số được cung cấp"
-#: builtin.c:918
+#: builtin.c:923
msgid "fatal: `$' not permitted after period in format"
-msgstr "nghiêm trá»ng: không cho phép “$†nằm sau dấu chấm trong định dạng"
+msgstr "lá»—i nghiêm trá»ng: không cho phép “$†nằm sau dấu chấm trong định dạng"
-#: builtin.c:934
+#: builtin.c:939
msgid "fatal: no `$' supplied for positional field width or precision"
-msgstr ""
-"nghiêm trá»ng: chưa cung cấp “$†cho độ rá»™ng trưá»ng thuá»™c vị trí hay cho độ "
-"chính xác"
+msgstr "lá»—i nghiêm trá»ng: chưa cung cấp “$†cho độ rá»™ng trưá»ng thuá»™c vị trí hay cho độ chính xác"
-#: builtin.c:1006
+#: builtin.c:1011
msgid "`l' is meaningless in awk formats; ignored"
msgstr "chữ “l†không có nghĩa trong định dạng awk nên bị bỠqua"
-#: builtin.c:1010
+#: builtin.c:1015
msgid "fatal: `l' is not permitted in POSIX awk formats"
-msgstr "nghiêm trá»ng: không cho phép chữ “l†nằm trong định dạng awk POSIX"
+msgstr "lá»—i nghiêm trá»ng: không cho phép chữ “l†nằm trong định dạng awk POSIX"
-#: builtin.c:1023
+#: builtin.c:1028
msgid "`L' is meaningless in awk formats; ignored"
msgstr "chữ “L†không có nghĩa trong định dạng awk nên bị bỠqua"
-#: builtin.c:1027
+#: builtin.c:1032
msgid "fatal: `L' is not permitted in POSIX awk formats"
-msgstr "nghiêm trá»ng: không cho phép chữ “L†nằm trong định dạng awk POSIX"
+msgstr "lá»—i nghiêm trá»ng: không cho phép chữ “L†nằm trong định dạng awk POSIX"
-#: builtin.c:1040
+#: builtin.c:1045
msgid "`h' is meaningless in awk formats; ignored"
msgstr "chữ “h†không có nghĩa trong định dạng awk nên bị bỠqua"
-#: builtin.c:1044
+#: builtin.c:1049
msgid "fatal: `h' is not permitted in POSIX awk formats"
-msgstr "nghiêm trá»ng: không cho phép chữ “h†nằm trong định dạng awk POSIX"
+msgstr "lá»—i nghiêm trá»ng: không cho phép chữ “h†nằm trong định dạng awk POSIX"
-#: builtin.c:1439
+#: builtin.c:1447
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: giá trị %g ở ngoại phạm vị cho dạng thức “%%%câ€"
+msgstr "[s]printf: giá trị %g ở ngoại phạm vi cho dạng thức “%%%câ€"
-#: builtin.c:1537
+#: builtin.c:1545
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
-msgstr ""
-"Ä‘ang bá» qua ký tá»± ghi rõ định dạng không rõ “%câ€: không có đối số được "
-"chuyển đổi"
+msgstr "Ä‘ang bá» qua ký tá»± ghi rõ định dạng không rõ “%câ€: không có đối số được chuyển đổi"
-#: builtin.c:1542
+#: builtin.c:1550
msgid "fatal: not enough arguments to satisfy format string"
-msgstr "nghiêm trá»ng: chưa có đủ đối số để đáp ứng chuá»—i định dạng"
+msgstr "lá»—i nghiêm trá»ng: chưa có đủ đối số để đáp ứng chuá»—i định dạng"
-#: builtin.c:1544
+#: builtin.c:1552
msgid "^ ran out for this one"
msgstr "bị hết “^†cho cái này"
-#: builtin.c:1551
+#: builtin.c:1559
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: chỉ định định dạng không có ký hiệu Ä‘iá»u khiển"
-#: builtin.c:1554
+#: builtin.c:1562
msgid "too many arguments supplied for format string"
msgstr "quá nhiá»u đối số được cung cấp cho chuá»—i định dạng"
-#: builtin.c:1610
+#: builtin.c:1618
msgid "sprintf: no arguments"
msgstr "sprintf: không có đối số"
-#: builtin.c:1633 builtin.c:1644
+#: builtin.c:1641 builtin.c:1652
msgid "printf: no arguments"
msgstr "printf: không có đối số"
-#: builtin.c:1687
+#: builtin.c:1695
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: (căn bậc hai) đã nhận đối số không phải thuộc số"
-#: builtin.c:1691
+#: builtin.c:1699
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: (căn bậc hai) đã gá»i vá»›i đối số âm “%gâ€"
-#: builtin.c:1722
+#: builtin.c:1730
#, c-format
msgid "substr: length %g is not >= 1"
-msgstr "substr: (chuỗi phụ) độ dài %g không phải ≥1"
+msgstr "substr: (chuỗi con) độ dài %g không phải ≥1"
-#: builtin.c:1724
+#: builtin.c:1732
#, c-format
msgid "substr: length %g is not >= 0"
-msgstr "substr: (chuỗi phụ) độ dài %g không phải ≥0"
+msgstr "substr: (chuỗi con) độ dài %g không phải ≥0"
-#: builtin.c:1731
+#: builtin.c:1739
#, c-format
msgid "substr: non-integer length %g will be truncated"
-msgstr "substr: (chuá»—i phụ) sẽ cắt xén độ dài không phải số nguyên “%gâ€"
+msgstr "substr: (chuá»—i con) sẽ cắt xén độ dài không phải số nguyên “%gâ€"
-#: builtin.c:1736
+#: builtin.c:1744
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
-msgstr "substr: độ dài %g quá lớn để chỉ mục chuỗi nên xén ngắn thành %g"
+msgstr "substr: (chuỗi con) độ dài %g là quá lớn cho chỉ số chuỗi, nên xén ngắn thành %g"
-#: builtin.c:1748
+#: builtin.c:1756
#, c-format
msgid "substr: start index %g is invalid, using 1"
-msgstr "substr: (chuỗi phụ) số chỉ mục đầu “%g†không hợp lệ nên dùng 1"
+msgstr "substr: (chuỗi con) chỉ số đầu “%g†không hợp lệ nên dùng 1"
-#: builtin.c:1753
+#: builtin.c:1761
#, c-format
msgid "substr: non-integer start index %g will be truncated"
-msgstr ""
-"substr: (chuỗi phụ) số chỉ mục đầu không phải số nguyên “%g†sẽ bị cắt ngắn"
+msgstr "substr: (chuỗi con) chỉ số đầu không phải số nguyên “%g†sẽ bị cắt ngắn"
-#: builtin.c:1778
+#: builtin.c:1786
msgid "substr: source string is zero length"
msgstr "substr: (chuỗi con) chuỗi nguồn có độ dài số không"
-#: builtin.c:1794
+#: builtin.c:1802
#, c-format
msgid "substr: start index %g is past end of string"
-msgstr "substr: (chuỗi phụ) số chỉ mục đầu %g nằm sau kết thúc của chuỗi"
+msgstr "substr: (chuỗi con) chỉ số đầu %g nằm sau kết thúc của chuỗi"
-#: builtin.c:1802
+#: builtin.c:1810
#, c-format
-msgid ""
-"substr: length %g at start index %g exceeds length of first argument (%lu)"
-msgstr ""
-"substr: (chuỗi phụ) độ dài %g tại số chỉ mục đầu %g vượt quá độ dài của đối "
-"số đầu (%lu)"
+msgid "substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr "substr: (chuỗi con) độ dài %g chỉ số đầu %g vượt quá độ dài của đối số đầu (%lu)"
-#: builtin.c:1876
+#: builtin.c:1884
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
-msgstr ""
-"strftime: giá trị định dạng trong PROCINFO[â€strftimeâ€] phải thuá»™c kiểu số"
+msgstr "strftime: giá trị định dạng trong PROCINFO[â€strftimeâ€] phải thuá»™c kiểu số"
-#: builtin.c:1899
+#: builtin.c:1907
msgid "strftime: received non-numeric second argument"
msgstr "strftime: đã nhận đối số thứ hai khác thuộc số"
-#: builtin.c:1903
+#: builtin.c:1911
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr "strftime: tham số thứ hai nhỠhơn 0 hay quá lớn dành cho time_t"
-#: builtin.c:1910
+#: builtin.c:1918
msgid "strftime: received non-string first argument"
msgstr "strftime: đã nhận đối số thứ nhất khác chuỗi"
-#: builtin.c:1917
+#: builtin.c:1925
msgid "strftime: received empty format string"
msgstr "strftime: đã nhận chuỗi định dạng rỗng"
-#: builtin.c:1983
+#: builtin.c:1991
msgid "mktime: received non-string argument"
msgstr "mktime: đã nhận đối số khác chuỗi"
-#: builtin.c:2000
+#: builtin.c:2008
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: ít nhất một của những giá trị nằm ở ngoại phạm vi mặc định"
-#: builtin.c:2035
+#: builtin.c:2043
msgid "'system' function not allowed in sandbox mode"
msgstr "hàm “system†không cho phép ở chế độ khuôn đúc"
-#: builtin.c:2040
+#: builtin.c:2048
msgid "system: received non-string argument"
msgstr "system: (hệ thống) đã nhận đối số khác chuỗi"
-#: builtin.c:2160
+#: builtin.c:2168
#, c-format
msgid "reference to uninitialized field `$%d'"
-msgstr "gặp tham chiếu đến trưá»ng chưa được sở khởi “$%dâ€"
+msgstr "gặp tham chiếu đến trưá»ng chưa được khởi tạo “$%dâ€"
-#: builtin.c:2247
+#: builtin.c:2255
msgid "tolower: received non-string argument"
msgstr "tolower: (đến thấp hơn) đã nhận đối số khác chuỗi"
-#: builtin.c:2281
+#: builtin.c:2289
msgid "toupper: received non-string argument"
msgstr "toupper: (đến cao hơn) đã nhận đối số khác chuỗi"
-#: builtin.c:2317 mpfr.c:672
+#: builtin.c:2325 mpfr.c:672
msgid "atan2: received non-numeric first argument"
msgstr "atan2: đã nhận đối số thứ nhất khác thuộc số"
-#: builtin.c:2319 mpfr.c:674
+#: builtin.c:2327 mpfr.c:674
msgid "atan2: received non-numeric second argument"
msgstr "atan2: đã nhận đối số thứ hai khác thuộc số"
-#: builtin.c:2338
+#: builtin.c:2346
msgid "sin: received non-numeric argument"
msgstr "sin: đã nhận đối số không phải thuộc số"
-#: builtin.c:2354
+#: builtin.c:2362
msgid "cos: received non-numeric argument"
msgstr "cos: đã nhận đối số không phải thuộc số"
-#: builtin.c:2407 mpfr.c:1156
+#: builtin.c:2415 mpfr.c:1156
msgid "srand: received non-numeric argument"
msgstr "srand: đã nhận đối số không phải thuộc số"
-#: builtin.c:2438
+#: builtin.c:2446
msgid "match: third argument is not an array"
msgstr "match: (khớp) đối số thứ ba không phải là mảng"
-#: builtin.c:2710
+#: builtin.c:2718
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: đối số thứ ba của 0 được xử lý như 1"
-#: builtin.c:3003
+#: builtin.c:3014
msgid "lshift: received non-numeric first argument"
msgstr "lshift: đã nhận đối số đầu không phải thuộc số"
-#: builtin.c:3005
+#: builtin.c:3016
msgid "lshift: received non-numeric second argument"
msgstr "lshift: (dịch bên trái) đã nhận đối số thứ hai khác thuộc số"
-#: builtin.c:3011
+#: builtin.c:3022
#, c-format
msgid "lshift(%f, %f): negative values will give strange results"
msgstr "lshift(%f, %f): giá trị âm sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3013
+#: builtin.c:3024
#, c-format
msgid "lshift(%f, %f): fractional values will be truncated"
msgstr "lshift(%f, %f): giá trị thuộc phân số sẽ bị cắt ngắn"
-#: builtin.c:3015
+#: builtin.c:3026
#, c-format
msgid "lshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"lshift(%f, %f): giá trị dịch quá lớn sẽ gây ra kết quả không như mong muốn"
+msgstr "lshift(%f, %f): giá trị dịch quá lớn sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3040
+#: builtin.c:3051
msgid "rshift: received non-numeric first argument"
msgstr "rshift: đã nhận đối số thứ nhất khác thuộc số"
-#: builtin.c:3042
+#: builtin.c:3053
msgid "rshift: received non-numeric second argument"
-msgstr "rshift: (dịch bên phải) đã nhận đối số thứ hai khác thuộc số"
+msgstr "rshift: (dịch phải) đã nhận đối số thứ hai khác thuộc số"
-#: builtin.c:3048
+#: builtin.c:3059
#, c-format
msgid "rshift(%f, %f): negative values will give strange results"
msgstr "rshift(%f, %f): giá trị âm sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3050
+#: builtin.c:3061
#, c-format
msgid "rshift(%f, %f): fractional values will be truncated"
msgstr "rshift(%f, %f): giá trị thuộc kiểu phân số sẽ bị xén ngắn"
-#: builtin.c:3052
+#: builtin.c:3063
#, c-format
msgid "rshift(%f, %f): too large shift value will give strange results"
-msgstr ""
-"rshift(%f, %f): giá trị dịch quá lớn sẽ gây ra kết quả không như mong muốn"
+msgstr "rshift(%f, %f): giá trị dịch quá lớn sẽ gây ra kết quả không như mong muốn"
-#: builtin.c:3077 mpfr.c:968
+#: builtin.c:3088 mpfr.c:968
msgid "and: called with less than two arguments"
msgstr "and: được gá»i vá»›i ít hÆ¡n hai đối số"
-#: builtin.c:3082
+#: builtin.c:3093
#, c-format
msgid "and: argument %d is non-numeric"
msgstr "and: đối số %d không phải thuộc số"
-#: builtin.c:3086
+#: builtin.c:3097
#, c-format
msgid "and: argument %d negative value %g will give strange results"
-msgstr "and: đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
+msgstr "and: (và) đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
-#: builtin.c:3109 mpfr.c:1000
+#: builtin.c:3120 mpfr.c:1000
msgid "or: called with less than two arguments"
-msgstr "or: được gá»i vá»›i ít hÆ¡n hai đối số"
+msgstr "or: (hoặc) được gá»i vá»›i ít hÆ¡n hai đối số"
-#: builtin.c:3114
+#: builtin.c:3125
#, c-format
msgid "or: argument %d is non-numeric"
-msgstr "or: đối số %d không thuộc kiểu số"
+msgstr "or: (hoặc) đối số %d không thuộc kiểu số"
-#: builtin.c:3118
+#: builtin.c:3129
#, c-format
msgid "or: argument %d negative value %g will give strange results"
-msgstr "or: đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
+msgstr "or: (hoặc) đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
-#: builtin.c:3140 mpfr.c:1031
+#: builtin.c:3151 mpfr.c:1031
msgid "xor: called with less than two arguments"
msgstr "xor: được gá»i vá»›i ít hÆ¡n hai đối số"
-#: builtin.c:3146
+#: builtin.c:3157
#, c-format
msgid "xor: argument %d is non-numeric"
msgstr "xor: đối số %d không thuộc kiểu số"
-#: builtin.c:3150
+#: builtin.c:3161
#, c-format
msgid "xor: argument %d negative value %g will give strange results"
msgstr "xor: đối số %d giá trị âm %g sẽ đưa lại kết quả không như mong muốn"
-#: builtin.c:3175 mpfr.c:787
+#: builtin.c:3186 mpfr.c:787
msgid "compl: received non-numeric argument"
-msgstr "compl: (biên dịch) đã nhận đối số khác thuộc số"
+msgstr "compl: (biên dịch) đã nhận được đối số không-phải-số"
-#: builtin.c:3181
+#: builtin.c:3192
#, c-format
msgid "compl(%f): negative value will give strange results"
msgstr "compl(%f): giá trị âm sẽ gây ra kết quả không như mong đợi"
-#: builtin.c:3183
+#: builtin.c:3194
#, c-format
msgid "compl(%f): fractional value will be truncated"
msgstr "compl(%f): giá trị thuộc phân số sẽ bị cắt ngắn"
-#: builtin.c:3352
+#: builtin.c:3363
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: “%s†không phải là má»™t phân loại miá»n địa phương hợp lệ"
@@ -973,7 +938,7 @@ msgstr "nguồn “%sâ€: đã sẵn có trong nguồn rồi."
#: command.y:326
#, c-format
msgid "save \"%s\": command not permitted."
-msgstr "ghi “%sâ€: không đủ thẩm quyá»n."
+msgstr "ghi “%sâ€: lệnh không đủ thẩm quyá»n."
#: command.y:339
msgid "Can't use command `commands' for breakpoint/watchpoint commands"
@@ -1012,7 +977,7 @@ msgstr "trace: tùy chá»n không hợp lệ - “%sâ€"
#: command.y:387
msgid "condition: invalid breakpoint/watchpoint number"
-msgstr "Ä‘iá»u kiện: số hiệu Ä‘iểm ngắt hay Ä‘iểm theo dõi không hợp lệ"
+msgstr "condition: Ä‘iá»u kiện: số hiệu Ä‘iểm ngắt hay Ä‘iểm theo dõi không hợp lệ"
#: command.y:449
msgid "argument not a string"
@@ -1051,34 +1016,24 @@ msgid "non-zero integer value"
msgstr "giá trị số nguyên khác không"
#: command.y:817
-msgid ""
-"backtrace [N] - print trace of all or N innermost (outermost if N < 0) "
-"frames."
-msgstr ""
-"backtrace [N] - in vết của tất cả hay N khung trong cùng nhất (ngoài cùng "
-"nhất nếu N < 0)."
+msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames."
+msgstr "backtrace [N] - in vết của tất cả hay N khung trong cùng nhất (ngoài cùng nhất nếu N < 0)."
#: command.y:819
-msgid ""
-"break [[filename:]N|function] - set breakpoint at the specified location."
-msgstr "break [[TẬP-TIN:]N|hàm] - đặt điểm ngắt tại vị trí đã cho."
+msgid "break [[filename:]N|function] - set breakpoint at the specified location."
+msgstr "break [[tên_tập_tin:]N|hàm] - đặt điểm ngắt tại vị trí đã cho."
#: command.y:821
msgid "clear [[filename:]N|function] - delete breakpoints previously set."
-msgstr "clear [[filename:]N|function] - xóa các điểm ngắt được đặt trước đây."
+msgstr "clear [[tên_tập_tin:]N|function] - xóa các điểm ngắt được đặt trước đây."
#: command.y:823
-msgid ""
-"commands [num] - starts a list of commands to be executed at a breakpoint"
-"(watchpoint) hit."
-msgstr ""
-"commands [số] - chạy một danh sách các câu lệnh được thực thi tại điểm ngắt "
-"(hay điểm theo dõi) tìm được."
+msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit."
+msgstr "commands [số] - chạy một danh sách các câu lệnh được thực thi tại điểm ngắt (hay điểm theo dõi) tìm được."
#: command.y:825
msgid "condition num [expr] - set or clear breakpoint or watchpoint condition."
-msgstr ""
-"condition num [expr] - đặt hay xóa Ä‘iểm ngắt hay Ä‘iá»u kiện Ä‘iểm theo dõi."
+msgstr "condition num [expr] - đặt hay xóa Ä‘iểm ngắt hay Ä‘iá»u kiện Ä‘iểm theo dõi."
#: command.y:827
msgid "continue [COUNT] - continue program being debugged."
@@ -1086,11 +1041,11 @@ msgstr "continue [Sá»_LƯỢNG] - tiếp tục chương trình Ä‘ang được g
#: command.y:829
msgid "delete [breakpoints] [range] - delete specified breakpoints."
-msgstr "delete [điểm ngắt] [vùng] - xóa các điểm ngắt đã chỉ ra."
+msgstr "delete [điểm_ngắt] [vùng] - xóa các điểm ngắt đã chỉ ra."
#: command.y:831
msgid "disable [breakpoints] [range] - disable specified breakpoints."
-msgstr "disable [điểm ngắt] [vùng] - tắt các điểm ngắt đã chỉ định."
+msgstr "disable [điểm_ngắt] [vùng] - tắt các điểm ngắt đã chỉ định."
#: command.y:833
msgid "display [var] - print value of variable each time the program stops."
@@ -1102,12 +1057,11 @@ msgstr "down [N] - chuyển xuống N khung stack."
#: command.y:837
msgid "dump [filename] - dump instructions to file or stdout."
-msgstr ""
-"dump [tên-tập-tin] - dump các chỉ lệnh ra tập tin hay đầu ra tiêu chuẩn."
+msgstr "dump [tên_tập_tin] - dump các chỉ lệnh ra tập tin hay đầu ra tiêu chuẩn."
#: command.y:839
msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints."
-msgstr "enable [once|del] [breakpoints] [range] - bật các điểm ngắt đã chỉ ra."
+msgstr "enable [once|del] [điểm_ngắt] [range] - bật các điểm ngắt đã chỉ ra."
#: command.y:841
msgid "end - end a list of commands or awk statements."
@@ -1131,31 +1085,23 @@ msgstr "help [lệnh] - hiển thị danh sách các lệnh hay giải thích cÃ
#: command.y:851
msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT."
-msgstr "ignore N SÔ-LƯỢNG - đặt số lượng điểm ngắt bị bỠqua."
+msgstr "ignore N Sá»-LƯỢNG - đặt số lượng Ä‘iểm ngắt bị bá» qua."
#: command.y:853
-msgid ""
-"info topic - source|sources|variables|functions|break|frame|args|locals|"
-"display|watch."
-msgstr ""
-"info chủ_đỠ- nguồn|nguồn|biến|hàm|break|frame|args|locals|display|watch."
+msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch."
+msgstr "info chủ_đỠ- nguồn|nguồn|biến|hàm|break|frame|args|locals|display|watch."
#: command.y:855
msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)."
-msgstr "list [-|+|[TẬP-TIN:]số_dòng|hàm|vùng] - liệt kê các dòng đã chỉ định."
+msgstr "list [-|+|[tập_tin:]số_dòng|hàm|vùng] - liệt kê các dòng đã chỉ định."
#: command.y:857
msgid "next [COUNT] - step program, proceeding through subroutine calls."
-msgstr ""
-"next [Sá»_LƯỢNG] - nhảy má»™t chỉ lệnh, nhưng được xá»­ lý thông qua gá»i thá»§ "
-"tục con."
+msgstr "next [Sá»_LƯỢNG] - nhảy má»™t chỉ lệnh, nhưng được xá»­ lý thông qua gá»i thá»§ tục con."
#: command.y:859
-msgid ""
-"nexti [COUNT] - step one instruction, but proceed through subroutine calls."
-msgstr ""
-"nexti [Sá»_LƯỢNG] - nhảy từng chỉ lệnh, nhưng được xá»­ lý thông qua gá»i thá»§ "
-"tục con."
+msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls."
+msgstr "nexti [Sá»_LƯỢNG] - nhảy từng chỉ lệnh, nhưng được xá»­ lý thông qua gá»i thá»§ tục con."
#: command.y:861
msgid "option [name[=value]] - set or display debugger option(s)."
@@ -1175,9 +1121,7 @@ msgstr "quit - thoát khá»i chương trình gỡ lá»—i."
#: command.y:869
msgid "return [value] - make selected stack frame return to its caller."
-msgstr ""
-"return [giá-trị] - làm cho khung stack đã chá»n trả vá» giá trị này cho bá»™ gá»i "
-"nó."
+msgstr "return [giá-trị] - làm cho khung stack đã chá»n trả vá» giá trị này cho bá»™ gá»i nó."
#: command.y:871
msgid "run - start or restart executing program."
@@ -1189,14 +1133,11 @@ msgstr "save tên_tập_tin - ghi các câu lệnh từ phiên làm việc vào
#: command.y:877
msgid "set var = value - assign value to a scalar variable."
-msgstr "set biến = giá_trị - gán giá trị cho một biến scalar."
+msgstr "set biến = giá_trị - gán giá trị cho một biến vô hướng."
#: command.y:879
-msgid ""
-"silent - suspends usual message when stopped at a breakpoint/watchpoint."
-msgstr ""
-"silent - chặn các lá»i nhắn thông thưá»ng khi dừng tại Ä‘iểm ngăt hay Ä‘iểm theo "
-"dõi."
+msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint."
+msgstr "silent - chặn các lá»i nhắn thông thưá»ng khi dừng tại Ä‘iểm ngăt hay Ä‘iểm theo dõi."
#: command.y:881
msgid "source file - execute commands from file."
@@ -1204,9 +1145,7 @@ msgstr "source file - thực hiện các câu lệnh từ tập tin."
#: command.y:883
msgid "step [COUNT] - step program until it reaches a different source line."
-msgstr ""
-"step [Sá»_LƯỢNG] - chạy từng bước chương trình cho đến khi nó gặp má»™t dòng "
-"nguồn khác."
+msgstr "step [Sá»_LƯỢNG] - chạy từng bước chương trình cho đến khi nó gặp má»™t dòng nguồn khác."
#: command.y:885
msgid "stepi [COUNT] - step one instruction exactly."
@@ -1214,7 +1153,7 @@ msgstr "stepi [Sá»_LƯỢNG] - chạy từng lệnh má»™t."
#: command.y:887
msgid "tbreak [[filename:]N|function] - set a temporary breakpoint."
-msgstr "tbreak [[TẬP-TIN:]N|hàm] - đặt Ä‘iểm ngắt tạm thá»i."
+msgstr "tbreak [[tên_tập_tin:]N|hàm] - đặt Ä‘iểm ngắt tạm thá»i."
#: command.y:889
msgid "trace on|off - print instruction before executing."
@@ -1225,12 +1164,8 @@ msgid "undisplay [N] - remove variable(s) from automatic display list."
msgstr "undisplay [N] - gỡ bỠcác biến từ danh sách hiển thị tự động."
#: command.y:893
-msgid ""
-"until [[filename:]N|function] - execute until program reaches a different "
-"line or line N within current frame."
-msgstr ""
-"until [[TẬP-TIN:]N|hàm] - thực hiện cho đến khi chương trình đạt đến dòng "
-"khác hay dòng N trong khung hiện tại."
+msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame."
+msgstr "until [[tên_tập_tin:]N|hàm] - thực hiện cho đến khi chương trình đạt đến dòng khác hay dòng N trong khung hiện tại."
#: command.y:895
msgid "unwatch [N] - remove variable(s) from watch list."
@@ -1244,7 +1179,7 @@ msgstr "up [N] - chuyển xuống N khung stack."
msgid "watch var - set a watchpoint for a variable."
msgstr "watch var - đặt điểm theo dõi cho một biến."
-#: command.y:1011 debug.c:395 msg.c:128
+#: command.y:1011 debug.c:401 msg.c:135
#, c-format
msgid "error: "
msgstr "lá»—i: "
@@ -1282,148 +1217,148 @@ msgstr "ký tự không hợp lệ"
msgid "undefined command: %s\n"
msgstr "lệnh chưa định nghĩa: %s\n"
-#: debug.c:246
+#: debug.c:252
msgid "set or show the number of lines to keep in history file."
msgstr "đặt hay hiển thị số dòng được lưu giữ trong tập tin lịch sử."
-#: debug.c:248
+#: debug.c:254
msgid "set or show the list command window size."
msgstr "đặt hay hiển thị kích thước cửa sổ danh sách lệnh."
-#: debug.c:250
+#: debug.c:256
msgid "set or show gawk output file."
msgstr "đặt hay hiển thị tập tin kết xuất gawk."
-#: debug.c:252
+#: debug.c:258
msgid "set or show debugger prompt."
msgstr "đặt hay hiển thị dấu nhắc gỡ lỗi."
-#: debug.c:254
+#: debug.c:260
msgid "(un)set or show saving of command history (value=on|off)."
msgstr "(bá») đặt hay ghi lại lịch sá»­ lệnh (giá trị=on|off)."
-#: debug.c:256
+#: debug.c:262
msgid "(un)set or show saving of options (value=on|off)."
msgstr "đặt/bỠđặt hay hiển thị các tùy chá»n được ghi lại (giá_trị=on|off)."
-#: debug.c:258
+#: debug.c:264
msgid "(un)set or show instruction tracing (value=on|off)."
msgstr "(bá») đặt hay hiển thị việc theo vết chỉ lệnh (giá trị=on|off)."
-#: debug.c:339
+#: debug.c:345
msgid "program not running."
msgstr "chương trình không chạy."
-#: debug.c:442 debug.c:597
+#: debug.c:448 debug.c:606
#, c-format
msgid "can't read source file `%s' (%s)"
msgstr "không thể Ä‘á»c tập tin nguồn “%s†(%s)"
-#: debug.c:447
+#: debug.c:453
#, c-format
msgid "source file `%s' is empty.\n"
msgstr "tập tin nguồn “%s†bị trống rỗng.\n"
-#: debug.c:474
+#: debug.c:480
msgid "no current source file."
msgstr "không có tập tin nguồn hiện tại."
-#: debug.c:499
+#: debug.c:505
#, c-format
msgid "cannot find source file named `%s' (%s)"
msgstr "không thể tìm thấy tập tin nguồn có tên “%s†(%s)"
-#: debug.c:523
+#: debug.c:529
#, c-format
msgid "WARNING: source file `%s' modified since program compilation.\n"
msgstr "CẢNH BÃO: tập tin nguồn “%s†bị sá»­a đổi kể từ lúc nó được dịch.\n"
-#: debug.c:542
+#: debug.c:551
#, c-format
msgid "line number %d out of range; `%s' has %d lines"
msgstr "số dòng %d nằm ngoài phạm vi; “%s†có %d dòng"
-#: debug.c:602
+#: debug.c:611
#, c-format
msgid "unexpected eof while reading file `%s', line %d"
msgstr "gặp kết thúc tập tin bất ngá» khi Ä‘ang Ä‘á»c tập tin “%sâ€, dòng %d"
-#: debug.c:611
+#: debug.c:620
#, c-format
msgid "source file `%s' modified since start of program execution"
msgstr "tập tin nguồn “%s†đã bị sửa đổi kể từ lúc chưong trình được khởi chạy"
-#: debug.c:723
+#: debug.c:732
#, c-format
msgid "Current source file: %s\n"
msgstr "Tập tin nguồn hiện tại: %s\n"
-#: debug.c:724
+#: debug.c:733
#, c-format
msgid "Number of lines: %d\n"
msgstr "Số dòng: %d\n"
-#: debug.c:731
+#: debug.c:740
#, c-format
msgid "Source file (lines): %s (%d)\n"
msgstr "Tập tin nguồn (dòng): %s (%d)\n"
-#: debug.c:745
+#: debug.c:754
msgid ""
"Number Disp Enabled Location\n"
"\n"
msgstr ""
-"Số Hiển thị Bật Vị trí\n"
+"Số Hthị Bật Vị trí\n"
"\n"
-#: debug.c:756
+#: debug.c:765
#, c-format
msgid "\tno of hits = %ld\n"
msgstr "\tkhông gợi ý = %ld\n"
-#: debug.c:758
+#: debug.c:767
#, c-format
msgid "\tignore next %ld hit(s)\n"
msgstr "\tbỠqua %ld gợi ý tiếp\n"
-#: debug.c:760 debug.c:900
+#: debug.c:769 debug.c:909
#, c-format
msgid "\tstop condition: %s\n"
msgstr "\tdừng Ä‘iá»u kiện: %s\n"
-#: debug.c:762 debug.c:902
+#: debug.c:771 debug.c:911
msgid "\tcommands:\n"
msgstr "\tlệnh:\n"
-#: debug.c:784
+#: debug.c:793
#, c-format
msgid "Current frame: "
msgstr "Khung hiện tại:"
-#: debug.c:787
+#: debug.c:796
#, c-format
msgid "Called by frame: "
msgstr "ÄÆ°á»£c gá»i bởi khung:"
-#: debug.c:791
+#: debug.c:800
#, c-format
msgid "Caller of frame: "
msgstr "Bá»™ gá»i cá»§a khung:"
-#: debug.c:809
+#: debug.c:818
#, c-format
msgid "None in main().\n"
msgstr "Không có gì trong main().\n"
-#: debug.c:839
+#: debug.c:848
msgid "No arguments.\n"
msgstr "Không có đối số nào.\n"
-#: debug.c:840
+#: debug.c:849
msgid "No locals.\n"
msgstr "Không có nội bộ.\n"
-#: debug.c:848
+#: debug.c:857
msgid ""
"All defined variables:\n"
"\n"
@@ -1431,7 +1366,7 @@ msgstr ""
"Tất cả các biến đã định nghĩa:\n"
"\n"
-#: debug.c:858
+#: debug.c:867
msgid ""
"All defined functions:\n"
"\n"
@@ -1439,7 +1374,7 @@ msgstr ""
"Tất cả các hàm đã định nghĩa:\n"
"\n"
-#: debug.c:877
+#: debug.c:886
msgid ""
"Auto-display variables:\n"
"\n"
@@ -1447,7 +1382,7 @@ msgstr ""
"Các biến hiển thị tự động:\n"
"\n"
-#: debug.c:880
+#: debug.c:889
msgid ""
"Watch variables:\n"
"\n"
@@ -1455,362 +1390,357 @@ msgstr ""
"Các biến theo dõi:\n"
"\n"
-#: debug.c:1020
+#: debug.c:1029
#, c-format
msgid "no symbol `%s' in current context\n"
msgstr "không có ký hiệu “%s†trong ngữ cảnh hiện tại\n"
-#: debug.c:1032 debug.c:1418
+#: debug.c:1041 debug.c:1427
#, c-format
msgid "`%s' is not an array\n"
msgstr "“%s†không phải là một mảng\n"
-#: debug.c:1046
+#: debug.c:1055
#, c-format
msgid "$%ld = uninitialized field\n"
msgstr "$%ld = trưá»ng chưa được khởi tạo\n"
-#: debug.c:1067
+#: debug.c:1076
#, c-format
msgid "array `%s' is empty\n"
msgstr "mảng “%s†trống rỗng\n"
-#: debug.c:1110 debug.c:1162
+#: debug.c:1119 debug.c:1171
#, c-format
msgid "[\"%s\"] not in array `%s'\n"
msgstr "[â€%sâ€] không nằm trong mảng “%sâ€\n"
-#: debug.c:1166
+#: debug.c:1175
#, c-format
msgid "`%s[\"%s\"]' is not an array\n"
msgstr "“%s[â€%sâ€]†không phải là má»™t mảng\n"
-#: debug.c:1227 debug.c:4949
+#: debug.c:1236 debug.c:4964
#, c-format
msgid "`%s' is not a scalar variable"
msgstr "“%s†không phải là biến scalar"
-#: debug.c:1249 debug.c:4979
+#: debug.c:1258 debug.c:4994
#, c-format
msgid "attempt to use array `%s[\"%s\"]' in a scalar context"
msgstr "cố dùng mảng “%s[â€%sâ€]†trong má»™t ngữ cảnh vô hướng"
-#: debug.c:1271 debug.c:4990
+#: debug.c:1280 debug.c:5005
#, c-format
msgid "attempt to use scalar `%s[\"%s\"]' as array"
msgstr "cố dùng kiểu vô hướng “%s[â€%sâ€]†như là mảng"
-#: debug.c:1414
+#: debug.c:1423
#, c-format
msgid "`%s' is a function"
msgstr "“%s†là một hàm"
-#: debug.c:1456
+#: debug.c:1465
#, c-format
msgid "watchpoint %d is unconditional\n"
msgstr "Ä‘iểm kiểm tra %d là vô Ä‘iá»u kiện\n"
-#: debug.c:1490
+#: debug.c:1499
#, c-format
msgid "No display item numbered %ld"
msgstr "Không có mục tin hiển thị nào đánh số %ld"
-#: debug.c:1493
+#: debug.c:1502
#, c-format
msgid "No watch item numbered %ld"
msgstr "Không có mục tin theo dõi nào đánh số %ld"
-#: debug.c:1519
+#: debug.c:1528
#, c-format
msgid "%d: [\"%s\"] not in array `%s'\n"
msgstr "%d: [â€%sâ€] không trong mảng “%sâ€\n"
-#: debug.c:1758
+#: debug.c:1767
msgid "attempt to use scalar value as array"
msgstr "cố dùng biến vô hướng như là một mảng"
-#: debug.c:1847
+#: debug.c:1856
#, c-format
msgid "Watchpoint %d deleted because parameter is out of scope.\n"
msgstr "Äiểm theo dõi %d bị xóa bởi vì đối số nằm ngoài phạm vi\n"
-#: debug.c:1858
+#: debug.c:1867
#, c-format
msgid "Display %d deleted because parameter is out of scope.\n"
msgstr "Trình bày %d bị xóa bởi vì đối số nằm ngoài phạm vi\n"
-#: debug.c:1891
+#: debug.c:1900
#, c-format
msgid " in file `%s', line %d\n"
msgstr " tại tập tin “%sâ€, dòng %d\n"
-#: debug.c:1912
+#: debug.c:1921
#, c-format
msgid " at `%s':%d"
msgstr " tại “%sâ€:%d"
-#: debug.c:1928 debug.c:1991
+#: debug.c:1937 debug.c:2000
#, c-format
msgid "#%ld\tin "
msgstr "#%ld\ttrong "
-#: debug.c:1965
+#: debug.c:1974
#, c-format
msgid "More stack frames follow ...\n"
-msgstr "Nhiá»u khung stack theo sau...\n"
+msgstr "Nhiá»u khung ngăn xếp theo sau...\n"
-#: debug.c:2008
+#: debug.c:2017
msgid "invalid frame number"
msgstr "số khung không hợp lệ"
-#: debug.c:2180
+#: debug.c:2200
#, c-format
msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Chú ý: Ä‘iểm ngắt %d (được bật, bá» qua %ld gợi ý tiếp), đồng thá»i được đặt "
-"tại %s:%d"
+msgstr "Chú ý: Ä‘iểm ngắt %d (được bật, bá» qua %ld gợi ý tiếp), đồng thá»i được đặt tại %s:%d"
-#: debug.c:2187
+#: debug.c:2207
#, c-format
msgid "Note: breakpoint %d (enabled), also set at %s:%d"
msgstr "Chú ý: Ä‘iểm ngắt %d (được bật), đồng thá»i được đặt tại %s:%d"
-#: debug.c:2194
+#: debug.c:2214
#, c-format
msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d"
-msgstr ""
-"Chú ý: Ä‘iểm ngắt %d (bị tắt, bá» qua %ld gợi ý tiếp), đồng thá»i được đặt tại "
-"%s:%d"
+msgstr "Chú ý: Ä‘iểm ngắt %d (bị tắt, bá» qua %ld gợi ý tiếp), đồng thá»i được đặt tại %s:%d"
-#: debug.c:2201
+#: debug.c:2221
#, c-format
msgid "Note: breakpoint %d (disabled), also set at %s:%d"
msgstr "Chú ý: Ä‘iểm ngắt %d (bị tắt), đồng thá»i được đặt tại %s:%d"
-#: debug.c:2218
+#: debug.c:2238
#, c-format
msgid "Breakpoint %d set at file `%s', line %d\n"
msgstr "Äiểm ngắt %d đặt tại tập tin “%sâ€, dòng %d\n"
-#: debug.c:2320
+#: debug.c:2340
#, c-format
msgid "Can't set breakpoint in file `%s'\n"
msgstr "Không thể đặt Ä‘iểm ngắt trong tập tin “%sâ€\n"
-#: debug.c:2349 debug.c:2472 debug.c:3330
+#: debug.c:2369 debug.c:2492 debug.c:3350
#, c-format
msgid "line number %d in file `%s' out of range"
msgstr "số dòng %d trong tập tin “%s†nằm ngoài phạm vi"
-#: debug.c:2353
+#: debug.c:2373
#, c-format
msgid "Can't find rule!!!\n"
msgstr "Không tìm thấy quy tắc!!!\n"
-#: debug.c:2355
+#: debug.c:2375
#, c-format
msgid "Can't set breakpoint at `%s':%d\n"
msgstr "Không thể đặt Ä‘iểm ngắt tại “%sâ€:%d\n"
-#: debug.c:2367
+#: debug.c:2387
#, c-format
msgid "Can't set breakpoint in function `%s'\n"
msgstr "Không thể đặt Ä‘iểm ngắt trong hàm “%sâ€\n"
-#: debug.c:2383
+#: debug.c:2403
#, c-format
msgid "breakpoint %d set at file `%s', line %d is unconditional\n"
msgstr "Ä‘iểm ngắt %d đặt tại tập tin “%sâ€, dòng %d là vô Ä‘iá»u kiện\n"
-#: debug.c:2488 debug.c:2510
+#: debug.c:2508 debug.c:2530
#, c-format
msgid "Deleted breakpoint %d"
msgstr "Xóa điểm dừng %d"
-#: debug.c:2494
+#: debug.c:2514
#, c-format
msgid "No breakpoint(s) at entry to function `%s'\n"
msgstr "Không có Ä‘iểm ngắt tại Ä‘iểm vào cá»§a hàm “%sâ€\n"
-#: debug.c:2521
+#: debug.c:2541
#, c-format
msgid "No breakpoint at file `%s', line #%d\n"
msgstr "Không có Ä‘iểm ngắt tại tập tin “%sâ€, dòng #%d\n"
-#: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680
+#: debug.c:2596 debug.c:2637 debug.c:2657 debug.c:2700
msgid "invalid breakpoint number"
msgstr "số điểm ngắt không hợp lệ"
-#: debug.c:2592
+#: debug.c:2612
msgid "Delete all breakpoints? (y or n) "
msgstr "Xóa tất cả các điểm ngắt? (c hay k) "
-#: debug.c:2593 debug.c:2903 debug.c:2956
+#: debug.c:2613 debug.c:2923 debug.c:2976
msgid "y"
msgstr "c"
-#: debug.c:2642
+#: debug.c:2662
#, c-format
msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n"
msgstr "Sẽ bỠqua %ld điểm giao chéo của điểm ngắt %d.\n"
-#: debug.c:2646
+#: debug.c:2666
#, c-format
msgid "Will stop next time breakpoint %d is reached.\n"
msgstr "Sẽ dừng lần gặp điểm ngắt %d tiếp theo.\n"
-#: debug.c:2763
+#: debug.c:2783
#, c-format
msgid "Can only debug programs provided with the `-f' option.\n"
-msgstr ""
-"Chỉ có thể gỡ lá»—i các chương trình được cung cấp cùng vá»›i tùy chá»n “-fâ€.\n"
+msgstr "Chỉ có thể gỡ lá»—i các chương trình được cung cấp cùng vá»›i tùy chá»n “-fâ€.\n"
-#: debug.c:2888
+#: debug.c:2908
#, c-format
msgid "Failed to restart debugger"
msgstr "Gặp lỗi khi khởi động lại bộ gỡ lỗi"
-#: debug.c:2902
+#: debug.c:2922
msgid "Program already running. Restart from beginning (y/n)? "
msgstr "Chương trình đang chạy. Khởi động từ đầu (c/không)?"
-#: debug.c:2906
+#: debug.c:2926
#, c-format
msgid "Program not restarted\n"
msgstr "Chương trình không khởi động lại\n"
-#: debug.c:2916
+#: debug.c:2936
#, c-format
msgid "error: cannot restart, operation not allowed\n"
msgstr "lỗi: không thể khởi động lại, thao tác không được cho phép\n"
-#: debug.c:2922
+#: debug.c:2942
#, c-format
msgid "error (%s): cannot restart, ignoring rest of the commands\n"
msgstr "lỗi (%s): không thể khởi động lại, bỠqua các lệnh còn lại\n"
-#: debug.c:2930
+#: debug.c:2950
#, c-format
msgid "Starting program: \n"
msgstr "Äang khởi động chương trình:\n"
-#: debug.c:2939
+#: debug.c:2959
#, c-format
msgid "Program exited %s with exit value: %d\n"
msgstr "Chương trình %s được thoát ra với mã thoát là: %d\n"
-#: debug.c:2955
+#: debug.c:2975
msgid "The program is running. Exit anyway (y/n)? "
msgstr "Chương trình này đang chạy. Vẫn thoát (c/không)?"
-#: debug.c:2990
+#: debug.c:3010
#, c-format
msgid "Not stopped at any breakpoint; argument ignored.\n"
msgstr "Không dừng tại bất ký điểm ngắt nào; đối số bị bỠqua.\n"
-#: debug.c:2995
+#: debug.c:3015
#, c-format
msgid "invalid breakpoint number %d."
msgstr "số điểm ngắt không hợp lệ %d."
-#: debug.c:3000
+#: debug.c:3020
#, c-format
msgid "Will ignore next %ld crossings of breakpoint %d.\n"
msgstr "Sẽ bỠqua %ld điểm ngắt xuyên chéo %d kế tiếp.\n"
-#: debug.c:3187
+#: debug.c:3207
#, c-format
msgid "'finish' not meaningful in the outermost frame main()\n"
msgstr "“finish†không có nghĩa trong khung ngoài cùng nhất main()\n"
-#: debug.c:3192
+#: debug.c:3212
#, c-format
msgid "Run till return from "
msgstr "Chạy cho đến khi có trả vỠtừ đó"
-#: debug.c:3235
+#: debug.c:3255
#, c-format
msgid "'return' not meaningful in the outermost frame main()\n"
msgstr "“return†không có nghĩa trong khung ngoài cùng nhất main()\n"
-#: debug.c:3349
+#: debug.c:3369
#, c-format
msgid "Can't find specified location in function `%s'\n"
msgstr "Không tìm thấy vị trí đã cho trong hàm “%sâ€\n"
-#: debug.c:3357
+#: debug.c:3377
#, c-format
msgid "invalid source line %d in file `%s'"
msgstr "dòng nguồn không hợp lệ %d trong tập tin “%sâ€"
-#: debug.c:3372
+#: debug.c:3392
#, c-format
msgid "Can't find specified location %d in file `%s'\n"
msgstr "Không thể tìm thấy vị trí %d được chỉ ra trong tập tin “%sâ€\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "element not in array\n"
msgstr "phần tử không trong mảng\n"
-#: debug.c:3404
+#: debug.c:3424
#, c-format
msgid "untyped variable\n"
msgstr "biến chưa định kiểu\n"
-#: debug.c:3446
+#: debug.c:3466
#, c-format
msgid "Stopping in %s ...\n"
msgstr "Dừng trong %s ...\n"
-#: debug.c:3523
+#: debug.c:3543
#, c-format
msgid "'finish' not meaningful with non-local jump '%s'\n"
msgstr "“finish†không có nghÄ©a vá»›i lệnh nhảy non-local “%sâ€\n"
-#: debug.c:3530
+#: debug.c:3550
#, c-format
msgid "'until' not meaningful with non-local jump '%s'\n"
msgstr "“until†không có nghÄ©a vá»›i cú nhảy non-local “%sâ€\n"
-#: debug.c:4165
+#: debug.c:4185
msgid "\t------[Enter] to continue or q [Enter] to quit------"
-msgstr "\t------Nhấn [Enter] để tiếp tục hay “q†[Enter] để thoát------"
+msgstr "\t-Nhấn [Enter] để tiếp tục hay “q†[Enter] để thoát------"
-#: debug.c:4166
+#: debug.c:4186
msgid "q"
msgstr "t"
-#: debug.c:4986
+#: debug.c:5001
#, c-format
msgid "[\"%s\"] not in array `%s'"
-msgstr "[â€%sâ€] không trong mảng “%sâ€"
+msgstr "[\"%s\"] không trong mảng “%sâ€"
-#: debug.c:5192
+#: debug.c:5207
#, c-format
msgid "sending output to stdout\n"
msgstr "gửi kết xuất ra stdout\n"
-#: debug.c:5232
+#: debug.c:5247
msgid "invalid number"
msgstr "số không hợp lệ"
-#: debug.c:5366
+#: debug.c:5381
#, c-format
msgid "`%s' not allowed in current context; statement ignored"
msgstr "“%s†không được phép trong ngữ cảnh hiện hành; câu lệnh bị bỠqua"
-#: debug.c:5374
+#: debug.c:5389
msgid "`return' not allowed in current context; statement ignored"
msgstr "“return†không được phép trong ngữ cảnh hiện hành; câu lệnh bị bỠqua"
-#: debug.c:5575
+#: debug.c:5590
#, c-format
msgid "No symbol `%s' in current context"
msgstr "Không có ký hiệu “%s†trong ngữ cảnh hiện thá»i"
#: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103
-#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192
+#: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1191
msgid "unbalanced ["
msgstr "thiếu dấu ngoặc vuông mở ["
@@ -1818,33 +1748,33 @@ msgstr "thiếu dấu ngoặc vuông mở ["
msgid "invalid character class"
msgstr "sai lớp ký tự"
-#: dfa.c:1229
+#: dfa.c:1228
msgid "character class syntax is [[:space:]], not [:space:]"
msgstr "cú pháp lớp ký tự là [[:dấu_cách:]], không phải [:dấu_cách:]"
-#: dfa.c:1281
+#: dfa.c:1280
msgid "unfinished \\ escape"
msgstr "chưa kết thúc dãy thoát \\"
-#: dfa.c:1428 regcomp.c:161
+#: dfa.c:1427 regcomp.c:161
msgid "Invalid content of \\{\\}"
-msgstr "Nội dụng “\\{\\}†không hợp lệ"
+msgstr "Nội dung của “\\{\\}†không hợp lệ"
-#: dfa.c:1431 regcomp.c:176
+#: dfa.c:1430 regcomp.c:176
msgid "Regular expression too big"
msgstr "Biểu thức chính quy quá lớn"
-#: dfa.c:1816
+#: dfa.c:1847
msgid "unbalanced ("
-msgstr "mất cân xứng ("
+msgstr "thiếu dấu ("
-#: dfa.c:1943
+#: dfa.c:1973
msgid "no syntax specified"
msgstr "chưa chỉ rõ cú pháp"
-#: dfa.c:1951
+#: dfa.c:1981
msgid "unbalanced )"
-msgstr "mất cân xứng )"
+msgstr "thiếu dấu )"
#: eval.c:394
#, c-format
@@ -1861,11 +1791,11 @@ msgstr "gặp opcode (mã thao tác) không rõ %d"
msgid "opcode %s not an operator or keyword"
msgstr "mã lệnh %s không phải là một toán tử hoặc từ khoá"
-#: eval.c:471
+#: eval.c:472
msgid "buffer overflow in genflags2str"
msgstr "tràn bộ đệm trong “genflags2str†(tạo ra cỠđến chuỗi)"
-#: eval.c:674
+#: eval.c:675
#, c-format
msgid ""
"\n"
@@ -1873,77 +1803,77 @@ msgid ""
"\n"
msgstr ""
"\n"
-"\t# Äống gá»i hàm:\n"
+"\t# Ngăn xếp gá»i hàm:\n"
"\n"
-#: eval.c:703
+#: eval.c:704
msgid "`IGNORECASE' is a gawk extension"
-msgstr "“IGNORECASE†(bá» qua chữ hoa/thưá»ng) là phần mở rá»™ng gawk"
+msgstr "“IGNORECASE†(bá» qua chữ HOA/thưá»ng) là phần mở rá»™ng gawk"
-#: eval.c:735
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "“BINMODE†(chế độ nhị phân) là phần mở rộng gawk"
-#: eval.c:793
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
-msgstr "Giá trị BINMODE (chế độ nhị phân) “%s†không hợp lệ nên thấy là 3"
+msgstr "Giá trị BINMODE (chế độ nhị phân) “%s†không hợp lệ nên đã coi là 3"
-#: eval.c:884
+#: eval.c:885
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "đặc tả “%sFMT†sai “%sâ€"
-#: eval.c:968
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "Ä‘ang tắt “--lint†do việc gán cho “LINTâ€"
-#: eval.c:1146
+#: eval.c:1147
#, c-format
msgid "reference to uninitialized argument `%s'"
-msgstr "gặp tham chiếu đến đối số chưa được sở khởi “%sâ€"
+msgstr "gặp tham chiếu đến đối số chưa được khởi tạo “%sâ€"
-#: eval.c:1147
+#: eval.c:1148
#, c-format
msgid "reference to uninitialized variable `%s'"
-msgstr "gặp tham chiếu đến biến chưa được sở khởi “%sâ€"
+msgstr "gặp tham chiếu đến biến chưa được khởi tạo “%sâ€"
-#: eval.c:1165
+#: eval.c:1166
msgid "attempt to field reference from non-numeric value"
msgstr "cố gắng tham chiếu trưá»ng từ giá trị khác thuá»™c số"
-#: eval.c:1167
+#: eval.c:1168
msgid "attempt to field reference from null string"
-msgstr "cố gắng tham chiếu trưá»ng từ chá»—i trống rá»—ng"
+msgstr "cố gắng tham chiếu trưá»ng từ chuá»—i trống rá»—ng"
-#: eval.c:1175
+#: eval.c:1176
#, c-format
msgid "attempt to access field %ld"
msgstr "cố gắng để truy cập trưá»ng %ld"
-#: eval.c:1184
+#: eval.c:1185
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "tham chiếu đến trưá»ng chưa được khởi tạo “$%ldâ€"
-#: eval.c:1271
+#: eval.c:1272
#, c-format
msgid "function `%s' called with more arguments than declared"
-msgstr "hàm “%s†được gá»i vá»›i số đối số hÆ¡n số được tuyên bố"
+msgstr "hàm “%s†được gá»i vá»›i nhiá»u số đối số hÆ¡n số được khai báo"
-#: eval.c:1466
+#: eval.c:1473
#, c-format
msgid "unwind_stack: unexpected type `%s'"
-msgstr "unwind_stack: không mong đợi kiểu “%sâ€"
+msgstr "unwind_stack: không cần kiểu “%sâ€"
-#: eval.c:1562
+#: eval.c:1569
msgid "division by zero attempted in `/='"
-msgstr "cố gắng chia cho số không trong “/=â€"
+msgstr "gặp phép chia cho số không trong “/=â€"
-#: eval.c:1569
+#: eval.c:1576
#, c-format
msgid "division by zero attempted in `%%='"
-msgstr "cố gắng chia cho số không trong “%%=â€"
+msgstr "gặp phép chia cho số không trong “%%=â€"
#: ext.c:89 ext.c:171
msgid "extensions are not allowed in sandbox mode"
@@ -1953,7 +1883,7 @@ msgstr "phần mở rộng không cho phép ở chế độ khuôn đúc"
msgid "-l / @load are gawk extensions"
msgstr "-l / @load là một phần mở rộng gawk"
-#: ext.c:95 ext.c:177
+#: ext.c:95
msgid "load_ext: received NULL lib_name"
msgstr "load_ext: nhận được NULL lib_name"
@@ -1964,10 +1894,8 @@ msgstr "load_ext: không thể mở thư viện “%s†(%s)\n"
#: ext.c:104
#, c-format
-msgid ""
-"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
-msgstr ""
-"load_ext: thư viện “%sâ€: chưa định nghÄ©a “plugin_is_GPL_compatible†(%s)\n"
+msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
+msgstr "load_ext: thư viện “%sâ€: chưa định nghÄ©a “plugin_is_GPL_compatible†(%s)\n"
#: ext.c:110
#, c-format
@@ -1983,6 +1911,10 @@ msgstr "load_ext: thư viện “%s†thủ tục khởi tạo “%s†gặp l
msgid "`extension' is a gawk extension"
msgstr "“extension†là một phần mở rộng gawk"
+#: ext.c:177
+msgid "extension: received NULL lib_name"
+msgstr "extension: nhận được NULL lib_name"
+
#: ext.c:180
#, c-format
msgid "extension: cannot open library `%s' (%s)"
@@ -1990,10 +1922,8 @@ msgstr "phần mở rộng: không thể mở thư viện “%s†(%s)"
#: ext.c:186
#, c-format
-msgid ""
-"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
-msgstr ""
-"phần mở rá»™ng: thư viện “%sâ€: chưa định nghÄ©a “plugin_is_GPL_compatible†(%s)"
+msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)"
+msgstr "phần mở rá»™ng: thư viện “%sâ€: chưa định nghÄ©a “plugin_is_GPL_compatible†(%s)"
#: ext.c:190
#, c-format
@@ -2004,38 +1934,36 @@ msgstr "phần mở rá»™ng: thư viện “%sâ€: không thể gá»i hàm “%sâ
msgid "make_builtin: missing function name"
msgstr "make_builtin: thiếu tên hàm"
-#: ext.c:238
+#: ext.c:236
#, c-format
msgid "make_builtin: can't redefine function `%s'"
msgstr "make_builtin: không thể định nghÄ©a lại hàm “%sâ€"
-#: ext.c:242
+#: ext.c:240
#, c-format
msgid "make_builtin: function `%s' already defined"
msgstr "make_builtin: hàm “%s†đã được định nghĩa rồi"
-#: ext.c:246
+#: ext.c:244
#, c-format
msgid "make_builtin: function name `%s' previously defined"
msgstr "make_builtin: hàm “%s†đã được định nghĩa trước đây rồi"
-#: ext.c:248
+#: ext.c:246
#, c-format
msgid "make_builtin: can't use gawk built-in `%s' as function name"
-msgstr ""
-"make_builtin: không thể sử dụng “%s†như là một hàm được xây dựng sẵn trong "
-"gawk"
+msgstr "make_builtin: không thể sử dụng “%s†như là một hàm được xây dựng sẵn trong gawk"
-#: ext.c:251 ext.c:304
+#: ext.c:249 ext.c:304
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: đối số dành cho số đếm bị âm cho hàm “%sâ€"
-#: ext.c:278
+#: ext.c:276
msgid "extension: missing function name"
msgstr "extension: (phần mở rộng) tên hàm còn thiếu"
-#: ext.c:283
+#: ext.c:279 ext.c:283
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: (phần mở rá»™ng) gặp ký tá»± cấm “%c†nằm trong tên hàm “%sâ€"
@@ -2043,158 +1971,160 @@ msgstr "extension: (phần mở rộng) gặp ký tự cấm “%c†nằm tron
#: ext.c:291
#, c-format
msgid "extension: can't redefine function `%s'"
-msgstr "extension: (phần mở rá»™ng) không thể xác định lại hàm “%sâ€"
+msgstr "extension: (phần mở rá»™ng) không thể định nghÄ©a lại hàm “%sâ€"
#: ext.c:295
#, c-format
msgid "extension: function `%s' already defined"
-msgstr "extension: (phần mở rộng) hàm “%s†đã được xác định"
+msgstr "extension: (phần mở rộng) hàm “%s†đã được định nghĩa"
#: ext.c:299
#, c-format
msgid "extension: function name `%s' previously defined"
-msgstr "tên hàm “%s†đã được xác định trước"
+msgstr "tên hàm “%s†đã được định nghĩa trước đó"
#: ext.c:301
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr ""
-"extension: (phần mở rá»™ng) không thể dùng Ä‘iá»u có sẵn cá»§a gawk “%s†như là "
-"tên hàm"
+msgstr "extension: (phần mở rá»™ng) không thể dùng Ä‘iá»u có sẵn cá»§a gawk “%s†như là tên hàm"
-#: ext.c:374
+#: ext.c:375
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
-msgstr "hàm “%s†được xác định để chấp nhấn %d đối số tối đa"
+msgstr "hàm “%s†được định nghĩa để chấp nhấn %d đối số tối đa"
-#: ext.c:377
+#: ext.c:378
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "hàm “%sâ€: thiếu đối số #%d"
-#: ext.c:394
+#: ext.c:395
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "hàm “%sâ€: đối số thứ %d: cố gắng dùng kiểu vô hướng như là mảng"
-#: ext.c:398
+#: ext.c:399
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "hàm “%sâ€: đối số thứ %d: cố gắng dùng mảng như là kiểu vô hướng"
-#: ext.c:412
+#: ext.c:413
msgid "dynamic loading of library not supported"
msgstr "tải động của thư viện không được hỗ trợ"
-#: extension/filefuncs.c:97
+#: extension/filefuncs.c:159
msgid "chdir: called with incorrect number of arguments, expecting 1"
msgstr "chdir: được gá»i vá»›i số lượng đối số không đúng, cần 1"
-#: extension/filefuncs.c:343
+#: extension/filefuncs.c:439
#, c-format
msgid "stat: unable to read symbolic link `%s'"
msgstr "stat: không thể Ä‘á»c liên kết má»m “%sâ€"
-#: extension/filefuncs.c:376
+#: extension/filefuncs.c:472
msgid "stat: called with wrong number of arguments"
msgstr "stat: được gá»i vá»›i số lượng đối số không đúng"
-#: extension/filefuncs.c:383
+#: extension/filefuncs.c:479
msgid "stat: bad parameters"
msgstr "stat: các đối số sai"
-#: extension/filefuncs.c:437
+#: extension/filefuncs.c:533
#, c-format
msgid "fts init: could not create variable %s"
msgstr "khởi tạo fts: không thể tạo biến %s"
-#: extension/filefuncs.c:460
+#: extension/filefuncs.c:554
+msgid "fts is not supported on this system"
+msgstr "fts không được hỗ trợ trên hệ thống này"
+
+#: extension/filefuncs.c:573
msgid "fill_stat_element: could not create array"
msgstr "fill_stat_element: không thể tạo mảng"
-#: extension/filefuncs.c:469
+#: extension/filefuncs.c:582
msgid "fill_stat_element: could not set element"
msgstr "fill_stat_element: không thể đặt phần tử"
-#: extension/filefuncs.c:484
+#: extension/filefuncs.c:597
msgid "fill_path_element: could not set element"
msgstr "fill_path_element: không thể đặt phần tử"
-#: extension/filefuncs.c:500
+#: extension/filefuncs.c:613
msgid "fill_error_element: could not set element"
msgstr "fill_error_element: không thể đặt phần tử"
-#: extension/filefuncs.c:547 extension/filefuncs.c:594
+#: extension/filefuncs.c:660 extension/filefuncs.c:707
msgid "fts-process: could not create array"
msgstr "fts-process: không thể tạo mảng"
-#: extension/filefuncs.c:557 extension/filefuncs.c:604
-#: extension/filefuncs.c:622
+#: extension/filefuncs.c:670 extension/filefuncs.c:717
+#: extension/filefuncs.c:735
msgid "fts-process: could not set element"
msgstr "fts-process: không thể đặt phần tử"
-#: extension/filefuncs.c:671
+#: extension/filefuncs.c:784
msgid "fts: called with incorrect number of arguments, expecting 3"
msgstr "fts: được gá»i vá»›i số lượng đối số không đúng, cần 3"
-#: extension/filefuncs.c:674
+#: extension/filefuncs.c:787
msgid "fts: bad first parameter"
msgstr "fts: đối số đầu tiên sai"
-#: extension/filefuncs.c:680
+#: extension/filefuncs.c:793
msgid "fts: bad second parameter"
msgstr "fts: đối số thứ hai sai"
-#: extension/filefuncs.c:686
+#: extension/filefuncs.c:799
msgid "fts: bad third parameter"
msgstr "fts: đối số thứ ba sai"
-#: extension/filefuncs.c:693
+#: extension/filefuncs.c:806
msgid "fts: could not flatten array\n"
msgstr "fts: không thể làm phẳng mảng\n"
-#: extension/filefuncs.c:711
+#: extension/filefuncs.c:824
msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah."
msgstr "fts: bỠqua cỠFTS_NOSTAT vụng trộm. nyah, nyah, nyah."
-#: extension/filefuncs.c:728
+#: extension/filefuncs.c:841
msgid "fts: clear_array() failed\n"
msgstr "fts: clear_array() gặp lỗi\n"
-#: extension/fnmatch.c:98
+#: extension/fnmatch.c:112
msgid "fnmatch: called with less than three arguments"
msgstr "fnmatch: được gá»i vá»›i ít hÆ¡n ba đối số"
-#: extension/fnmatch.c:101
+#: extension/fnmatch.c:115
msgid "fnmatch: called with more than three arguments"
msgstr "fnmatch: được gá»i vá»›i nhiá»u hÆ¡n ba đối số"
-#: extension/fnmatch.c:104
+#: extension/fnmatch.c:118
msgid "fnmatch: could not get first argument"
msgstr "fnmatch: không lấy được đối số đầu tiên"
-#: extension/fnmatch.c:109
+#: extension/fnmatch.c:123
msgid "fnmatch: could not get second argument"
msgstr "fnmatch: không lấy được đối số thứ hai"
-#: extension/fnmatch.c:114
+#: extension/fnmatch.c:128
msgid "fnmatch: could not get third argument"
msgstr "fnmatch: không thể lấy tham số thứ ba"
-#: extension/fnmatch.c:127
+#: extension/fnmatch.c:141
msgid "fnmatch is not implemented on this system\n"
msgstr "fnmatch không được hỗ trợ trên hệ thống này\n"
-#: extension/fnmatch.c:159
+#: extension/fnmatch.c:173
msgid "fnmatch init: could not add FNM_NOMATCH variable"
msgstr "khởi tạo fnmatch: không thể thêm biến FNM_NOMATCH"
-#: extension/fnmatch.c:169
+#: extension/fnmatch.c:183
#, c-format
msgid "fnmatch init: could not set array element %s"
msgstr "fnmatch init: không thể đặt phần tử mảng %s"
-#: extension/fnmatch.c:179
+#: extension/fnmatch.c:193
msgid "fnmatch init: could not install FNM array"
msgstr "khởi tạo fnmatch: không thể cài đặt mảng FNM"
@@ -2218,88 +2148,88 @@ msgstr "wait: được gá»i mà không truyá»n đối số"
msgid "wait: called with too many arguments"
msgstr "wait: được gá»i vá»›i quá nhiá»u đối số"
-#: extension/inplace.c:110
+#: extension/inplace.c:130
msgid "inplace_begin: in-place editing already active"
msgstr "inplace_begin: sửa in-place đã sẵn được kích hoạt rồi"
-#: extension/inplace.c:113 extension/inplace.c:187
+#: extension/inplace.c:133 extension/inplace.c:207
#, c-format
msgid "inplace_begin: expects 2 arguments but called with %d"
msgstr "inplace_begin: cần 2 đối số như lại được gá»i vá»›i %d"
-#: extension/inplace.c:116
+#: extension/inplace.c:136
msgid "inplace_begin: cannot retrieve 1st argument as a string filename"
msgstr "inplace_begin: không thể lấy đối số thứ nhất như là tên tập tin"
-#: extension/inplace.c:124
+#: extension/inplace.c:144
#, c-format
msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'"
-msgstr "inplace_begin: tắt sá»­a chữa in-place cho TÊN-TẬP-TIN không hợp lệ “%sâ€"
+msgstr "inplace_begin: tắt sá»­a chữa in-place cho TÊN_TẬP_TIN không hợp lệ “%sâ€"
-#: extension/inplace.c:131
+#: extension/inplace.c:151
#, c-format
msgid "inplace_begin: Cannot stat `%s' (%s)"
-msgstr "inplace_begin: Không thể lấy trạng thái của “%s†(%s)"
+msgstr "inplace_begin: Không thể lấy thông tin thống kê của “%s†(%s)"
-#: extension/inplace.c:138
+#: extension/inplace.c:158
#, c-format
msgid "inplace_begin: `%s' is not a regular file"
msgstr "inplace_begin: “%s†không phải là tập tin thưá»ng"
-#: extension/inplace.c:149
+#: extension/inplace.c:169
#, c-format
msgid "inplace_begin: mkstemp(`%s') failed (%s)"
msgstr "inplace_begin: mkstemp(“%sâ€) gặp lá»—i (%s)"
-#: extension/inplace.c:158
+#: extension/inplace.c:178
#, c-format
msgid "inplace_begin: chmod failed (%s)"
msgstr "inplace_begin: chmod gặp lỗi (%s)"
-#: extension/inplace.c:165
+#: extension/inplace.c:185
#, c-format
msgid "inplace_begin: dup(stdout) failed (%s)"
msgstr "inplace_begin: dup(stdout) gặp lỗi (%s)"
-#: extension/inplace.c:168
+#: extension/inplace.c:188
#, c-format
msgid "inplace_begin: dup2(%d, stdout) failed (%s)"
msgstr "inplace_begin: dup2(%d, stdout) gặp lỗi (%s)"
-#: extension/inplace.c:171
+#: extension/inplace.c:191
#, c-format
msgid "inplace_begin: close(%d) failed (%s)"
msgstr "inplace_begin: close(%d) gặp lỗi (%s)"
-#: extension/inplace.c:190
+#: extension/inplace.c:210
msgid "inplace_end: cannot retrieve 1st argument as a string filename"
msgstr "inplace_end: không thể lấy lại đối số thứ nhất như là một tên tập tin"
-#: extension/inplace.c:197
+#: extension/inplace.c:217
msgid "inplace_end: in-place editing not active"
msgstr "inplace_end: việc sửa in-place không được kích hoạt"
-#: extension/inplace.c:203
+#: extension/inplace.c:223
#, c-format
msgid "inplace_end: dup2(%d, stdout) failed (%s)"
msgstr "inplace_end: dup2(%d, stdout) gặp lỗi (%s)"
-#: extension/inplace.c:206
+#: extension/inplace.c:226
#, c-format
msgid "inplace_end: close(%d) failed (%s)"
msgstr "inplace_end: close(%d) gặp lỗi (%s)"
-#: extension/inplace.c:210
+#: extension/inplace.c:230
#, c-format
msgid "inplace_end: fsetpos(stdout) failed (%s)"
msgstr "inplace_end: fsetpos(stdout) gặp lỗi (%s)"
-#: extension/inplace.c:223
+#: extension/inplace.c:243
#, c-format
msgid "inplace_end: link(`%s', `%s') failed (%s)"
msgstr "inplace_end: link(“%sâ€, “%sâ€) gặp lá»—i (%s)"
-#: extension/inplace.c:229
+#: extension/inplace.c:253
#, c-format
msgid "inplace_end: rename(`%s', `%s') failed (%s)"
msgstr "inplace_end: rename(“%sâ€, “%sâ€) gặp lá»—i (%s)"
@@ -2328,7 +2258,7 @@ msgstr "chr: được gá»i mà không có đối số"
msgid "chr: called with inappropriate argument(s)"
msgstr "chr: được gá»i vá»›i đối số không thích hợp"
-#: extension/readdir.c:203
+#: extension/readdir.c:277
#, c-format
msgid "dir_take_control_of: opendir/fdopendir failed: %s"
msgstr "dir_take_control_of: opendir/fdopendir gặp lỗi: %s"
@@ -2341,165 +2271,152 @@ msgstr "readfile: được gá»i vá»›i quá nhiá»u đối số"
msgid "readfile: called with no arguments"
msgstr "readfile: được gá»i mà không có đối số"
-#: extension/rwarray.c:120
+#: extension/rwarray.c:124
msgid "writea: called with too many arguments"
msgstr "writea: được gá»i vá»›i quá nhiá»u đối số"
-#: extension/rwarray.c:127
+#: extension/rwarray.c:131
#, c-format
msgid "do_writea: argument 0 is not a string\n"
msgstr "do_writea: đối số 0 không phải là một chuỗi\n"
-#: extension/rwarray.c:133
+#: extension/rwarray.c:137
#, c-format
msgid "do_writea: argument 1 is not an array\n"
msgstr "do_writea: đối số 1 không phải là một mảng\n"
-#: extension/rwarray.c:180
+#: extension/rwarray.c:184
#, c-format
msgid "write_array: could not flatten array\n"
msgstr "write_array: không thể làm phẳng mảng\n"
-#: extension/rwarray.c:194
+#: extension/rwarray.c:198
#, c-format
msgid "write_array: could not release flattened array\n"
msgstr "write_array: không thể giải phóng mảng được làm phẳng\n"
-#: extension/rwarray.c:276
+#: extension/rwarray.c:280
msgid "reada: called with too many arguments"
msgstr "reada: được gá»i vá»›i quá nhiá»u đối số"
-#: extension/rwarray.c:283
+#: extension/rwarray.c:287
#, c-format
msgid "do_reada: argument 0 is not a string\n"
msgstr "do_reada: đối số 0 không phải là một chuỗi\n"
-#: extension/rwarray.c:289
+#: extension/rwarray.c:293
#, c-format
msgid "do_reada: argument 1 is not an array\n"
msgstr "do_reada: đối số 1 không phải là một mảng\n"
-#: extension/rwarray.c:333
+#: extension/rwarray.c:337
#, c-format
msgid "do_reada: clear_array failed\n"
msgstr "do_reada: clear_array gặp lỗi\n"
-#: extension/rwarray.c:370
+#: extension/rwarray.c:374
#, c-format
msgid "read_array: set_array_element failed\n"
msgstr "read_array: set_array_element gặp lỗi\n"
-#: extension/time.c:81
+#: extension/time.c:106
msgid "gettimeofday: ignoring arguments"
msgstr "gettimeofday: đang lỠđi các đối số"
-#: extension/time.c:112
+#: extension/time.c:137
msgid "gettimeofday: not supported on this platform"
msgstr "gettimeofday: không được há»— trợ trên ná»n tảng này"
-#: extension/time.c:133
+#: extension/time.c:158
msgid "sleep: called with too many arguments"
msgstr "sleep: được gá»i vá»›i quá nhiá»u đối số"
-#: extension/time.c:136
+#: extension/time.c:161
msgid "sleep: missing required numeric argument"
msgstr "sleep: thiếu đối số dạng số cần thiết"
-#: extension/time.c:142
+#: extension/time.c:167
msgid "sleep: argument is negative"
msgstr "sleep: đối số âm"
-#: extension/time.c:176
+#: extension/time.c:201
msgid "sleep: not supported on this platform"
msgstr "sleep: không được há»— trợ trên ná»n tảng này"
-#: field.c:339
+#: field.c:345
msgid "NF set to negative value"
msgstr "“NF†được đặt thành giá trị âm"
-#: field.c:964 field.c:971 field.c:975
+#: field.c:971 field.c:978 field.c:982
msgid "split: fourth argument is a gawk extension"
msgstr "split (chia tách): đối số thứ tư là phần mở rộng gawk"
-#: field.c:968
+#: field.c:975
msgid "split: fourth argument is not an array"
msgstr "split (chia tách): đối số thứ tư không phải là mảng"
-#: field.c:982
+#: field.c:989
msgid "split: second argument is not an array"
msgstr "split: (chia tách) đối số thứ hai không phải là mảng"
-#: field.c:986
+#: field.c:993
msgid "split: cannot use the same array for second and fourth args"
-msgstr ""
-"split (chia tách): không thể sử dụng cùng một mảng có cả đối số thứ hai và "
-"thứ tư"
+msgstr "split (chia tách): không thể sử dụng cùng một mảng có cả đối số thứ hai và thứ tư"
-#: field.c:991
+#: field.c:998
msgid "split: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"split (phân tách): không thể sử dụng mảng con của tham số thứ hai cho tham "
-"số thứ tư"
+msgstr "split (phân tách): không thể sử dụng mảng con của tham số thứ hai cho tham số thứ tư"
-#: field.c:994
+#: field.c:1001
msgid "split: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"split (phân tách): không thể sử dụng mảng con của tham số thứ tư cho tham số "
-"thứ hai"
+msgstr "split (phân tách): không thể sử dụng mảng con của tham số thứ tư cho tham số thứ hai"
-#: field.c:1023
+#: field.c:1032
msgid "split: null string for third arg is a gawk extension"
-msgstr ""
-"split: (chia tách) chuỗi vô giá trị cho đối số thứ ba là phần mở rộng gawk"
+msgstr "split: (chia tách) chuỗi vô giá trị cho đối số thứ ba là phần mở rộng gawk"
-#: field.c:1063
+#: field.c:1072
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: đối số thứ tư không phải là mảng"
-#: field.c:1068
+#: field.c:1077
msgid "patsplit: second argument is not an array"
msgstr "patsplit: đối số thứ hai không phải là mảng"
-#: field.c:1074
+#: field.c:1083
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: đối số thứ ba không phải không rỗng"
-#: field.c:1078
+#: field.c:1087
msgid "patsplit: cannot use the same array for second and fourth args"
-msgstr ""
-"patsplit (chương trình chia tách): không thể sử dụng cùng một mảng cho cả "
-"hai đối số thứ hai và thứ tư"
+msgstr "patsplit (chương trình chia tách): không thể sử dụng cùng một mảng cho cả hai đối số thứ hai và thứ tư"
-#: field.c:1083
+#: field.c:1092
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
-msgstr ""
-"patsplit (chương trình phân tách): không thể sử dụng mảng con của tham số "
-"thứ hai cho tham số thứ tư"
+msgstr "patsplit (chương trình phân tách): không thể sử dụng mảng con của tham số thứ hai cho tham số thứ tư"
-#: field.c:1086
+#: field.c:1095
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
-msgstr ""
-"patsplit (chương trình phân tách): không thể sử dụng mảng con của tham số "
-"thứ tư cho tham số thứ hai"
+msgstr "patsplit (chương trình phân tách): không thể sử dụng mảng con của tham số thứ tư cho tham số thứ hai"
-#: field.c:1124
+#: field.c:1133
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "“FIELDWIDTHS†(độ rá»™ng trưá»ng) là phần mở rá»™ng gawk"
-#: field.c:1188
+#: field.c:1197
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "giá trị FIELDWIDTHS (độ rá»™ng trưá»ng) không hợp lệ, gần “%sâ€"
-#: field.c:1261
+#: field.c:1270
msgid "null string for `FS' is a gawk extension"
msgstr "chuỗi vô giá trị cho “FS†là phần mở rộng gawk"
-#: field.c:1265
+#: field.c:1274
msgid "old awk does not support regexps as value of `FS'"
msgstr "awk cÅ© không há»— trợ biểu thức chính quy làm giá trị cá»§a “FSâ€"
-#: field.c:1384
+#: field.c:1393
msgid "`FPAT' is a gawk extension"
msgstr "“FPAT†là phần mở rộng của gawk"
@@ -2523,601 +2440,569 @@ msgstr "remove_element: mảng nhận được là null"
msgid "remove_element: received null subscript"
msgstr "remove_element: nhận được là null"
-#: gawkapi.c:943
+#: gawkapi.c:948
#, c-format
msgid "api_flatten_array: could not convert index %d\n"
msgstr "api_flatten_array: không thể chuyển đổi chỉ số %d\n"
-#: gawkapi.c:948
+#: gawkapi.c:953
#, c-format
msgid "api_flatten_array: could not convert value %d\n"
msgstr "api_flatten_array: không thể chuyển đổi giá trị %d\n"
-#: getopt.c:603 getopt.c:632
+#: getopt.c:604 getopt.c:633
#, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: tùy chá»n “%s†chưa rõ ràng; khả năng là:"
-#: getopt.c:678 getopt.c:682
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: tùy chá»n “--%s†không cho phép đối số\n"
-#: getopt.c:691 getopt.c:696
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: tùy chá»n “%c%s†không cho phép đối số\n"
-#: getopt.c:739 getopt.c:758
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: tùy chá»n “--%s†yêu cầu má»™t đối số\n"
-#: getopt.c:796 getopt.c:799
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: không nhận ra tùy chá»n “--%sâ€\n"
-#: getopt.c:807 getopt.c:810
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: không nhận ra tùy chá»n “%c%sâ€\n"
-#: getopt.c:859 getopt.c:862
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: tùy chá»n không hợp lệ -- “%câ€\n"
-#: getopt.c:915 getopt.c:932 getopt.c:1142 getopt.c:1160
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: tùy chá»n yêu cầu má»™t đối số -- “%câ€\n"
-#: getopt.c:988 getopt.c:1004
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: tùy chá»n “-W %s†vẫn mÆ¡ hồ\n"
-#: getopt.c:1028 getopt.c:1046
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: tùy chá»n “-W %s†không cho phép đối số\n"
-#: getopt.c:1067 getopt.c:1085
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: tùy chá»n “-W %s†yêu cầu má»™t đối số\n"
-#: io.c:347
+#: io.c:392
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "tham số dòng lệnh “%s†là một thư mục: đã bị bỠqua"
-#: io.c:350 io.c:463
+#: io.c:395 io.c:513
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "không mở được tập tin “%s†để Ä‘á»c (%s)"
-#: io.c:590
+#: io.c:640
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "lá»—i đóng fd %d (“%sâ€) (%s)"
-#: io.c:666
+#: io.c:716
msgid "redirection not allowed in sandbox mode"
msgstr "chuyển hướng không cho phép ở chế độ khuôn đúc"
-#: io.c:700
+#: io.c:750
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "biểu thức trong Ä‘iá»u chuyển hướng “%s†chỉ có giá trị thuá»™c số"
-#: io.c:706
+#: io.c:756
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "biểu thức cho Ä‘iá»u chuyển hướng “%s†có giá trị chuá»—i vô giá trị"
-#: io.c:711
+#: io.c:761
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
-msgstr ""
-"tên tập tin “%s†cho Ä‘iá»u chuyển hướng “%s†có lẽ là kết quả cá»§a biểu thức "
-"luận lý"
+msgstr "tên tập tin “%s†cho Ä‘iá»u chuyển hướng “%s†có lẽ là kết quả cá»§a biểu thức luận lý"
-#: io.c:754
+#: io.c:809
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "không cần hợp “>†và “>>†cho tập tin “%.*sâ€"
-#: io.c:808
+#: io.c:863
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "không thể mở ống dẫn “%s†để xuất (%s)"
-#: io.c:818
+#: io.c:873
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "không thể mở ống dẫn “%s†để nhập (%s)"
-#: io.c:849
+#: io.c:904
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "không thể mở ống dẫn hai chiá»u “%s†để nhập/xuất (%s)"
-#: io.c:928
+#: io.c:986
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "không thể chuyển hướng từ “%s†(%s)"
-#: io.c:931
+#: io.c:989
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "không thể chuyển hướng đến “%s†(%s)"
-#: io.c:982
-msgid ""
-"reached system limit for open files: starting to multiplex file descriptors"
-msgstr ""
-"đã tá»›i giá»›i hạn hệ thống vá» tập tin được mở nên bắt đầu phối hợp nhiá»u dòng "
-"Ä‘iá»u mô tả tập tin"
+#: io.c:1040
+msgid "reached system limit for open files: starting to multiplex file descriptors"
+msgstr "đã tá»›i giá»›i hạn hệ thống vá» tập tin được mở nên bắt đầu phối hợp nhiá»u dòng Ä‘iá»u mô tả tập tin"
-#: io.c:998
+#: io.c:1056
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "lỗi đóng “%s†(%s)"
-#: io.c:1006
+#: io.c:1064
msgid "too many pipes or input files open"
msgstr "quá nhiá»u ống dẫn hay tập tin nhập được mở"
-#: io.c:1028
+#: io.c:1086
msgid "close: second argument must be `to' or `from'"
msgstr "close: (đóng) đối số thứ hai phải là “to†(đến) hay “from†(từ)"
-#: io.c:1045
+#: io.c:1103
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
-msgstr ""
-"close: (đóng) “%.*s†không phải là tập tin, ống dẫn hay đồng tiến trình đã "
-"được mở"
+msgstr "close: (đóng) “%.*s†không phải là tập tin, ống dẫn hay đồng tiến trình đã được mở"
-#: io.c:1050
+#: io.c:1108
msgid "close of redirection that was never opened"
msgstr "đóng một chuyển hướng mà nó chưa từng được mở"
-#: io.c:1147
+#: io.c:1205
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: chuyển hướng “%s†không được mở bởi “|&†nên đối số thứ hai bị bỠqua"
+msgstr "close: chuyển hướng “%s†không được mở bởi “|&†nên đối số thứ hai bị bỠqua"
-#: io.c:1164
+#: io.c:1222
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "trạng thái thất bại (%d) khi đóng ống dẫn “%s†(%s)"
-#: io.c:1167
+#: io.c:1225
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "trạng thái thất bại (%d) khi đóng tập tin “%s†(%s)"
-#: io.c:1187
+#: io.c:1245
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "không cung cấp lệnh đóng ổ cắm “%s†rõ ràng"
-#: io.c:1190
+#: io.c:1248
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "không cung cấp lệnh đóng đồng tiến trình “%s†rõ ràng"
-#: io.c:1193
+#: io.c:1251
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "không cung cấp lệnh đóng đưá»ng ống dẫn lệnh “%s†rõ ràng"
-#: io.c:1196
+#: io.c:1254
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "không cung cấp lệnh đóng tập tin “%s†rõ ràng"
-#: io.c:1224 io.c:1279 main.c:842 main.c:879
+#: io.c:1284 io.c:1342 main.c:864 main.c:906
#, c-format
msgid "error writing standard output (%s)"
msgstr "gặp lỗi khi ghi đầu ra tiêu chuẩn (%s)"
-#: io.c:1228 io.c:1284
+#: io.c:1289 io.c:1348 main.c:866
#, c-format
msgid "error writing standard error (%s)"
msgstr "gặp lỗi khi ghi thiết bị lỗi chuẩn (%s)"
-#: io.c:1236
+#: io.c:1297
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "lỗi xoá sạch ống dẫn “%s†(%s)"
-#: io.c:1239
+#: io.c:1300
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "lỗi xoá sạch ống dẫn đồng tiến trình đến “%s†(%s)"
-#: io.c:1242
+#: io.c:1303
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "lỗi xoá sạch tập tin “%s†(%s)"
-#: io.c:1356
+#: io.c:1420
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "cổng cục bá»™ %s không hợp lệ trong “/inetâ€"
-#: io.c:1374
+#: io.c:1438
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "thông tin vỠmáy/cổng ở xa (%s, %s) không phải hợp lệ"
-#: io.c:1526
+#: io.c:1590
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "trong tên tập tin đặc biệt “%s†không cung cấp giao thức (đã biết) nào"
-#: io.c:1540
+#: io.c:1604
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "tên tập tin đặc biệt “%s†chưa xong"
-#: io.c:1557
+#: io.c:1621
msgid "must supply a remote hostname to `/inet'"
msgstr "phải cung cấp một tên máy chủ cho </inet>"
-#: io.c:1575
+#: io.c:1639
msgid "must supply a remote port to `/inet'"
msgstr "phải cung cấp một cổng máy chủ cho </inet>"
-#: io.c:1621
+#: io.c:1685
msgid "TCP/IP communications are not supported"
msgstr "truyá»n thông TCP/IP không được há»— trợ"
-#: io.c:1796
+#: io.c:1867
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "không mở được “%sâ€, chế độ “%sâ€"
-#: io.c:1846
+#: io.c:1917
#, c-format
msgid "close of master pty failed (%s)"
-msgstr "lỗi đóng pty (tài sản?) chính (%s)"
+msgstr "gặp lỗi khi đóng thiết bị cuối giả (%s)"
-#: io.c:1848 io.c:2024 io.c:2194
+#: io.c:1919 io.c:2105 io.c:2305
#, c-format
msgid "close of stdout in child failed (%s)"
-msgstr "lỗi đóng thiết bị xuất chuẩn trong tiến trình con (%s)"
+msgstr "lỗi đóng đầu ra tiêu chuẩn trong tiến trình con (%s)"
-#: io.c:1851
+#: io.c:1922
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
-msgstr ""
-"gặp lỗi khi di chuyển pty phụ thuộc đến thiết bị xuất chuẩn trong con "
-"(trùng: %s)"
+msgstr "gặp lỗi khi di chuyển pty (thiết bị cuối giả) phụ thuộc đến thiết bị đầu ra tiêu chuẩn trong con (trùng: %s)"
-#: io.c:1853 io.c:2029
+#: io.c:1924 io.c:2110
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "lỗi đóng thiết bị nhập chuẩn trong tiến trình con (%s)"
-#: io.c:1856
+#: io.c:1927
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
-msgstr ""
-"lá»—i di chuyển pty (tài sản?) phụ tá»›i thiết bị nhập chuẩn trong Ä‘iá»u con "
-"(nhân đôi: %s)"
+msgstr "lá»—i di chuyển pty (thiết bị cuối giả) phụ tá»›i thiết bị nhập chuẩn trong Ä‘iá»u con (nhân đôi: %s)"
-#: io.c:1858 io.c:1879
+#: io.c:1929 io.c:1951
#, c-format
msgid "close of slave pty failed (%s)"
-msgstr "đóng pty phụ thuộc gặp lỗi (%s)"
+msgstr "đóng pty (thiết bị cuối giả) phụ thuộc gặp lỗi (%s)"
-#: io.c:1965 io.c:2027 io.c:2171 io.c:2197
+#: io.c:2040 io.c:2108 io.c:2276 io.c:2308
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr ""
-"lỗi di chuyển ống dẫn đến thiết bị xuất chuẩn trong tiến trình con (dup "
-"(nhân đôi): %s)"
+msgstr "lỗi di chuyển ống dẫn đến thiết bị xuất chuẩn trong tiến trình con (trùng: %s)"
-#: io.c:1972 io.c:2032
+#: io.c:2047 io.c:2113
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
-msgstr ""
-"lỗi di chuyển ống dẫn đến thiết bị nhập chuẩn trong tiến trình con (dup "
-"(nhân đôi): %s)"
+msgstr "lỗi di chuyển ống dẫn đến thiết bị nhập chuẩn trong tiến trình con (trùng: %s)"
-#: io.c:1992 io.c:2187
+#: io.c:2073 io.c:2298
msgid "restoring stdout in parent process failed\n"
msgstr "phục hồi đầu ra tiêu chuẩn trong tiến trình mẹ gặp lỗi\n"
-#: io.c:2000
+#: io.c:2081
msgid "restoring stdin in parent process failed\n"
msgstr "phục hồi đầu vào tiêu chuẩn trong tiến trình mẹ gặp lỗi\n"
-#: io.c:2035 io.c:2199 io.c:2213
+#: io.c:2116 io.c:2310 io.c:2324
#, c-format
msgid "close of pipe failed (%s)"
msgstr "đóng ống dẫn gặp lỗi (%s)"
-#: io.c:2089
+#: io.c:2174
msgid "`|&' not supported"
msgstr "“|&†không được hỗ trợ"
-#: io.c:2156
+#: io.c:2261
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "không thể mở ống dẫn “%s†(%s)"
-#: io.c:2207
+#: io.c:2318
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "không thể tạo tiến trình con cho “%s†(fork: %s)"
-#: io.c:2667
+#: io.c:2790
msgid "register_input_parser: received NULL pointer"
msgstr "register_input_parser: nhận được con trỠNULL"
-#: io.c:2695
+#: io.c:2818
#, c-format
msgid "input parser `%s' conflicts with previously installed input parser `%s'"
-msgstr ""
-"bộ phân tích đầu vào “%s†xung đột với bộ phân tích đầu vào được cài đặt "
-"trước đó “%sâ€"
+msgstr "bá»™ phân tích đầu vào “%s†xung đột vá»›i bá»™ phân tích đầu vào được cài đặt trước đó “%sâ€"
-#: io.c:2702
+#: io.c:2825
#, c-format
msgid "input parser `%s' failed to open `%s'"
msgstr "bá»™ phân tích đầu vào “%s†gặp lá»—i khi mở “%sâ€"
-#: io.c:2722
+#: io.c:2845
msgid "register_output_wrapper: received NULL pointer"
msgstr "register_output_wrapper: nhận được con trỠNULL"
-#: io.c:2750
+#: io.c:2873
#, c-format
-msgid ""
-"output wrapper `%s' conflicts with previously installed output wrapper `%s'"
-msgstr ""
-"bá»™ bao kết xuất “%s†xung đột vá»›i bá»™ bao kết xuất được cài đặt trước đó “%sâ€"
+msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'"
+msgstr "bá»™ bao kết xuất “%s†xung đột vá»›i bá»™ bao kết xuất được cài đặt trước đó “%sâ€"
-#: io.c:2757
+#: io.c:2880
#, c-format
msgid "output wrapper `%s' failed to open `%s'"
msgstr "bá»™ bao kết xuất “%s†gặp lá»—i khi mở “%sâ€"
-#: io.c:2778
+#: io.c:2901
msgid "register_output_processor: received NULL pointer"
msgstr "register_output_processor: nhận được con trỠNULL"
-#: io.c:2807
+#: io.c:2930
#, c-format
-msgid ""
-"two-way processor `%s' conflicts with previously installed two-way processor "
-"`%s'"
-msgstr ""
-"bộ xử lý hai hướng “%s†xung đột với bộ xử lý hai hướng đã được cài đặt "
-"trước đó “%sâ€"
+msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'"
+msgstr "bá»™ xá»­ lý hai hướng “%s†xung đột vá»›i bá»™ xá»­ lý hai hướng đã được cài đặt trước đó “%sâ€"
-#: io.c:2816
+#: io.c:2939
#, c-format
msgid "two way processor `%s' failed to open `%s'"
msgstr "bá»™ xá»­ lý hai hướng “%s†gặp lá»—i khi mở “%sâ€"
-#: io.c:2923
+#: io.c:3064
#, c-format
msgid "data file `%s' is empty"
msgstr "tập tin dữ liệu “%s†là rỗng"
-#: io.c:2965 io.c:2973
+#: io.c:3106 io.c:3114
msgid "could not allocate more input memory"
msgstr "không thể cấp phát bộ nhớ nhập thêm nữa"
-#: io.c:3539
+#: io.c:3682
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "giá trị đa ký tự của “RS†là phần mở rộng gawk"
-#: io.c:3628
+#: io.c:3771
msgid "IPv6 communication is not supported"
msgstr "Truyá»n thông trên IPv6 không được há»— trợ"
-#: main.c:388
+#: main.c:405
msgid "empty argument to `-e/--source' ignored"
msgstr "đối số rá»—ng cho tuỳ chá»n “-e/--source†bị bá» qua"
-#: main.c:478
+#: main.c:495
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: tùy chá»n “-W %s†không được nhận diện nên bị bá» qua\n"
-#: main.c:524
+#: main.c:541
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: tùy chá»n cần đến đối số “-- %câ€\n"
-#: main.c:545
+#: main.c:562
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr ""
-"biến môi trưá»ng “POSIXLY_CORRECT†(đúng kiểu POSIX) đã được đặt; Ä‘ang bật "
-"tùy chá»n “--posixâ€"
+msgstr "biến môi trưá»ng “POSIXLY_CORRECT†(đúng kiểu POSIX) đã được đặt; Ä‘ang bật tùy chá»n “--posixâ€"
-#: main.c:551
+#: main.c:568
msgid "`--posix' overrides `--traditional'"
msgstr "tùy chá»n “--posix†có quyá»n cao hÆ¡n “--traditional†(truyá»n thống)"
-#: main.c:562
+#: main.c:579
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
-msgstr ""
-"“--posixâ€/“--traditional†(truyá»n thống) có quyá»n cao hÆ¡n “--non-decimal-"
-"data†(dữ liệu khác thập phân)"
+msgstr "“--posixâ€/“--traditional†(cổ Ä‘iển) có quyá»n cao hÆ¡n “--non-decimal-data†(dữ liệu khác thập phân)"
-#: main.c:566
+#: main.c:583
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "việc chạy %s với tư cách “setuid root†có thể rủi rỠbảo mật"
-#: main.c:571
+#: main.c:588
msgid "`--posix' overrides `--characters-as-bytes'"
msgstr "“--posix†đè lên “--characters-as-bytesâ€"
-#: main.c:630
+#: main.c:647
#, c-format
msgid "can't set binary mode on stdin (%s)"
-msgstr "không thể đặt chế độ nhị phân trên thiết bị nhập chuẩn (%s)"
+msgstr "không thể đặt chế độ nhị phân trên đầu vào tiêu chuẩn (%s)"
-#: main.c:633
+#: main.c:650
#, c-format
msgid "can't set binary mode on stdout (%s)"
-msgstr "không thể đặt chế độ nhị phân trên thiết bị xuất chuẩn (%s)"
+msgstr "không thể đặt chế độ nhị phân trên đầu ra tiêu chuẩn (%s)"
-#: main.c:635
+#: main.c:652
#, c-format
msgid "can't set binary mode on stderr (%s)"
-msgstr "không thể đặt chế độ nhị phân trên thiết bị lỗi chuẩn (%s)"
+msgstr "không thể đặt chế độ nhị phân trên đầu ra lỗi tiêu chuẩn (%s)"
-#: main.c:693
+#: main.c:710
msgid "no program text at all!"
-msgstr "không có đoạn chữ chương trình nào cả !"
+msgstr "không có đoạn chữ chương trình nào cả!"
-#: main.c:779
+#: main.c:799
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
-msgstr ""
-"Cách dùng: %s [tùy chá»n kiểu POSIX hay GNU] -f tập_tin_chương_trình [--] "
-"tập_tin ...\n"
+msgstr "Cách dùng: %s [tùy chá»n kiểu POSIX hay GNU] -f tập_tin_chương_trình [--] tập_tin ...\n"
-#: main.c:781
+#: main.c:801
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
-msgstr ""
-"Cách dùng: %s [tùy chá»n kiểu POSIX hay GNU] [--] %cchương_trình%c "
-"tập_tin ...\n"
+msgstr "Cách dùng: %s [tùy chá»n kiểu POSIX hay GNU] [--] %cchương_trình%c tập_tin ...\n"
-#: main.c:786
+#: main.c:806
msgid "POSIX options:\t\tGNU long options: (standard)\n"
-msgstr "Tùy chá»n POSIX:\t\tTùy chá»n dài GNU: (tiêu chuẩn)\n"
+msgstr "Tùy chá»n POSIX:\t\t\tTùy chá»n dài GNU: (tiêu chuẩn)\n"
-#: main.c:787
+#: main.c:807
msgid "\t-f progfile\t\t--file=progfile\n"
-msgstr "\t-f tập_tin_chương_trình\t\t--file=tập_tin_chương_trình\n"
+msgstr "\t-f tập_tin_chương_trình\t--file=tập_tin_chương_trình\n"
-#: main.c:788
+#: main.c:808
msgid "\t-F fs\t\t\t--field-separator=fs\n"
-msgstr "\t-F fs\t\t\t--field-separator=ký hiệu phân cách trưá»ng\n"
+msgstr "\t-F fs\t\t\t--field-separator=ký_hiệu_phân_cách_trưá»ng\n"
-#: main.c:789
+#: main.c:809
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr ""
-"\t-v var=giá trị\t\t--assign=biến=giá_trị\n"
+"\t-v var=giá_trị\t\t--assign=biến=giá_trị\n"
"(assign: gán)\n"
-#: main.c:790
+#: main.c:810
msgid "Short options:\t\tGNU long options: (extensions)\n"
-msgstr "Tuỳ chá»n ngắn:\t\tTuỳ chá»n GNU dạng dài: (mở rá»™ng)\n"
+msgstr "Tuỳ chá»n ngắn:\t\t\tTuỳ chá»n GNU dạng dài: (mở rá»™ng)\n"
-#: main.c:791
+#: main.c:811
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:792
+#: main.c:812
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:793
+#: main.c:813
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:794
+#: main.c:814
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
-msgstr "\t-d[tệp_tin]\t\t--dump-variables[=tệp_tin]\n"
+msgstr "\t-d[tập_tin]\t\t--dump-variables[=tập_tin]\n"
-#: main.c:795
+#: main.c:815
msgid "\t-D[file]\t\t--debug[=file]\n"
msgstr "\t-D[tập_tin]\t\t--debug[=tập_tin]\n"
-#: main.c:796
+#: main.c:816
msgid "\t-e 'program-text'\t--source='program-text'\n"
-msgstr "\t-e “program-textâ€\t--source=â€program-textâ€\n"
+msgstr "\t-e “program-textâ€\t--source=“program-textâ€\n"
-#: main.c:797
+#: main.c:817
msgid "\t-E file\t\t\t--exec=file\n"
-msgstr "\t-E file\t\t\t--exec=tệp_tin\n"
+msgstr "\t-E file\t\t\t--exec=tập_tin\n"
-#: main.c:798
+#: main.c:818
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:799
+#: main.c:819
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:800
+#: main.c:820
msgid "\t-i includefile\t\t--include=includefile\n"
msgstr "\t-i includefile\t\t--include=tập-tin-bao-gồm\n"
-#: main.c:801
+#: main.c:821
msgid "\t-l library\t\t--load=library\n"
msgstr "\t-l library\t\t--load=thư-viện\n"
-#: main.c:802
+#: main.c:822
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:803
+#: main.c:823
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:804
+#: main.c:824
msgid "\t-M\t\t\t--bignum\n"
msgstr "\t-M\t\t\t--bignum\n"
-#: main.c:805
+#: main.c:825
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:806
+#: main.c:826
msgid "\t-o[file]\t\t--pretty-print[=file]\n"
msgstr "\t-o[tập_tin]\t\t--pretty-print[=tập_tin]\n"
-#: main.c:807
+#: main.c:827
msgid "\t-O\t\t\t--optimize\n"
-msgstr "\t-O\t\t\t--optimize\ttối ưu hoá\n"
+msgstr "\t-O\t\t\t--optimize (tạm dịch: tối_ưu_hoá)\n"
-#: main.c:808
+#: main.c:828
msgid "\t-p[file]\t\t--profile[=file]\n"
-msgstr "\t-p[file]\t\t--profile[=file]\n"
+msgstr "\t-p[tập_tin]\t\t--profile[=tập_tin]\n"
-#: main.c:809
+#: main.c:829
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:810
+#: main.c:830
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:811
+#: main.c:831
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:812
+#: main.c:832
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:813
+#: main.c:833
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:815
+#: main.c:835
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr ""
"\t-W nostalgia\t\t--nostalgia\n"
"(nỗi luyến tiếc quá khứ)\n"
-#: main.c:818
+#: main.c:838
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -3126,7 +3011,7 @@ msgstr "\t-Y\t\t--parsedebug\n"
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:827
+#: main.c:847
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -3135,32 +3020,33 @@ msgid ""
msgstr ""
"\n"
"Äể thông báo lá»—i, xem nút “Bugs†(lá»—i) trong tập tin\n"
-"thông tin “gawk.info†mà nằm trong phần\n"
-"“Reporting Problems and Bugs†(thông báo vấn đỠvà lỗi)\n"
+"thông tin “gawk.infoâ€, cái mà nằm trong phần\n"
+"“Reporting Problems and Bugs†(thông báo trục trặc và lỗi)\n"
"trong bản in.\n"
+"Thông báo lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"
"\n"
-#: main.c:831
+#: main.c:851
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
"\n"
msgstr ""
"gawk là ngôn ngữ quét và xử lý mẫu.\n"
-"Mặc định là nó Ä‘á»c thiết bị nhập chuẩn và ghi ra thiết bị xuất chuẩn.\n"
+"Mặc định, nó Ä‘á»c từ đầu vào tiêu chuẩn và ghi ra đầu ra tiêu chuẩn.\n"
"\n"
-#: main.c:835
+#: main.c:855
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
msgstr ""
-"Ví dụ :\n"
-"\tgawk “{ sum += $1 }; END { print sum }†file\n"
-"\tgawk -F: “{ print $1 }†/etc/passwd\n"
+"Ví dụ:\n"
+"\tgawk \"{ sum += $1 }; END { print sum }\" file\n"
+"\tgawk -F: \"{ print $1 }\" /etc/passwd\n"
-#: main.c:855
+#: main.c:880
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -3173,13 +3059,13 @@ msgid ""
msgstr ""
"Tác quyá»n © năm 1989, 1991-%d cá»§a Tổ chức Phần má»m Tá»± do.\n"
"\n"
-"Chương trình này là phần má»m tá»± do; bạn có thể phát hành lại nó và/hoặc sá»­a "
-"đổi nó vá»›i Ä‘iá»u kiện cá»§a Giấy Phép Công Cá»™ng GNU như được xuất bản bởi Tổ "
-"Chức Phần Má»m Tá»± Do; hoặc phiên bản 3 cá»§a Giấy Phép này, hoặc (tùy chá»n) bất "
-"kỳ phiên bản sau nào.\n"
+"Chương trình này là phần má»m tá»± do; bạn có thể phát hành lại nó\n"
+"và/hoặc sá»­a đổi nó vá»›i các Ä‘iá»u Ä‘iá»u khoản cá»§a Giấy Phép Công Cá»™ng GNU\n"
+"được xuất bản bởi Tổ Chức Phần Má»m Tá»± Do; hoặc là phiên bản 3\n"
+"cá»§a Giấy Phép này, hoặc là (tùy chá»n) bất kỳ phiên bản má»›i hÆ¡n.\n"
"\n"
-#: main.c:863
+#: main.c:888
msgid ""
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -3188,79 +3074,79 @@ msgid ""
"\n"
msgstr ""
"Chúng tôi phân phối chương trình này vì mong muốn nó hữu ích,\n"
-"nhưng mà KHÔNG BẢO ÄẢM GÃŒ CẢ, không ngay cả ngụ ý bảo đảm\n"
-"KHẢ NÄ‚NG BÃN hoặc KHẢ NÄ‚NG LÀM VIỆC DỨT KHOÃT.\n"
-"Hãy xem Bản Quyá»n Công Chung GNU (GPL) để tìm chi tiết.\n"
+"nhưng mà KHÔNG BẢO ÄẢM GÃŒ CẢ, không ngay cả khi nó ÄÆ¯á»¢C BÃN\n"
+"hoặc PHÙ HỢP VỚI CÃC MỤC ÄÃCH ÄẶC THÙ.\n"
+"Hãy xem Giấy phép Công Chung GNU (GPL) để biết chi tiết.\n"
"\n"
-#: main.c:869
+#: main.c:894
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 ""
"Bạn nên nhận một bản sao của Giấy Phép Công Cộng GNU cùng với chương\n"
-"trình này. Nếu chưa có, bạn lấy vá» từ “http://www.gnu.org/licenses/â€.\n"
+"trình này. Nếu chưa có, bạn xem tại <http://www.gnu.org/licenses/>.\n"
-#: main.c:904
+#: main.c:931
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft không đặt FS (hệ thống tập tin?) vào tab trong awk POSIX"
-#: main.c:1181
+#: main.c:1208
#, c-format
msgid "unknown value for field spec: %d\n"
-msgstr "không hiểu giá trị dành cho đặc tính trưá»ng: %d\n"
+msgstr "không hiểu giá trị dành cho đặc tả trưá»ng: %d\n"
-#: main.c:1279
+#: main.c:1306
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr ""
-"%s: đối số “%s†đối vá»›i “-v†không có dạng “biến=giá_trịâ€\n"
+"%s: đối số “%s†cho “-v†không có dạng “biến=giá_trịâ€\n"
"\n"
-#: main.c:1305
+#: main.c:1332
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "“%s†không phải là tên biến hợp lệ"
-#: main.c:1308
+#: main.c:1335
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "“%s†không phải là tên biến; Ä‘ang tìm tập tin “%s=%sâ€"
-#: main.c:1312
+#: main.c:1339
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "không thể dùng builtin (dựng sẵn) của gawk “%s†như là tên biến"
-#: main.c:1317
+#: main.c:1344
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "không thể dùng hàm “%s†như là tên biến"
-#: main.c:1370
+#: main.c:1397
msgid "floating point exception"
-msgstr "ngoại lệ điểm phù động"
+msgstr "ngoại lệ số thực dấu chấm động"
-#: main.c:1377
+#: main.c:1404
msgid "fatal error: internal error"
msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™"
-#: main.c:1392
+#: main.c:1419
msgid "fatal error: internal error: segfault"
-msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™ : lá»—i chia ra từng Ä‘oạn"
+msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™: lá»—i phân Ä‘oạn"
-#: main.c:1404
+#: main.c:1431
msgid "fatal error: internal error: stack overflow"
-msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™ : tràn đống"
+msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™: tràn ngăn xếp"
-#: main.c:1463
+#: main.c:1490
#, c-format
msgid "no pre-opened fd %d"
msgstr "không có fd (bộ mô tả tập tin) %d đã mở trước"
-#: main.c:1470
+#: main.c:1497
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "không thể mở trước “/dev/null†cho fd %d"
@@ -3315,19 +3201,19 @@ msgstr "%s: đối số #%d giá trị phần phân số %Rg sẽ bị cắt cá»
msgid "%s: argument #%d negative value %Zd will give strange results"
msgstr "%s: đối số #%d có giá trị âm %Zd sẽ đưa ra kết quả không như mong muốn"
-#: msg.c:61
+#: msg.c:68
#, c-format
msgid "cmd. line:"
msgstr "dòng lệnh:"
#: node.c:421
msgid "backslash at end of string"
-msgstr "gặp xuyệc ngoặc tại kết thúc của chuỗi"
+msgstr "gặp dấu gạch ngược tại kết thúc của chuỗi"
#: node.c:500
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
-msgstr "awk cÅ© không há»— trợ dãy thoát “\\%câ€"
+msgstr "awk cÅ© không há»— trợ thoát chuá»—i “\\%câ€"
#: node.c:551
msgid "POSIX does not allow `\\x' escapes"
@@ -3335,29 +3221,21 @@ msgstr "POSIX không cho phép thoát chuá»—i “\\xâ€"
#: node.c:557
msgid "no hex digits in `\\x' escape sequence"
-msgstr "không có số thập lúc nằm trong dây thoát “\\xâ€"
+msgstr "không có số thập lúc nằm trong thoát chuá»—i “\\xâ€"
#: node.c:579
#, c-format
-msgid ""
-"hex escape \\x%.*s of %d characters probably not interpreted the way you "
-"expect"
-msgstr ""
-"dây thoát thập lục \\x%.*s chứa %d ký tá»± mà rất có thể không phải được Ä‘á»c "
-"bằng cách dự định"
+msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect"
+msgstr "thoát chuá»—i thập lục \\x%.*s chứa %d ký tá»± mà rất có thể không phải được Ä‘á»c bằng cách dá»± định"
#: node.c:594
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
-msgstr "dây thoát “\\%c†được xử lý như là “%c†chuẩn"
+msgstr "thoát chuỗi “\\%c†được xử lý như là “%c†chuẩn"
#: node.c:739
-msgid ""
-"Invalid multibyte data detected. There may be a mismatch between your data "
-"and your locale."
-msgstr ""
-"Dữ liệu dạng đa byte (multibyte) không hợp lệ được tìm thấy. Tại đó có lẽ "
-"không khớp giữa dữ liệu của bạn và nơi xảy ra."
+msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale."
+msgstr "Dữ liệu dạng đa byte (multibyte) không hợp lệ được tìm thấy. Tại đó có lẽ không khớp giữa dữ liệu của bạn và nơi xảy ra."
#: posix/gawkmisc.c:177
#, c-format
@@ -3367,20 +3245,18 @@ msgstr "%s %s “%sâ€: không thể lấy cá» mô tả (fd): (fcntl F_GETFD: %
#: posix/gawkmisc.c:189
#, c-format
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
-msgstr ""
-"%s %s “%sâ€: không thể đặt “close-on-exec†(đóng má»™t khi thá»±c hiện): (fcntl "
-"F_SETFD: %s)"
+msgstr "%s %s “%sâ€: không thể đặt “close-on-exec†(đóng má»™t khi thá»±c hiện): (fcntl F_SETFD: %s)"
-#: profile.c:70
+#: profile.c:71
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "không thể mở “%s†để ghi: %s"
-#: profile.c:72
+#: profile.c:73
msgid "sending profile to standard error"
msgstr "đang gởi hồ sơ cho thiết bị lỗi chuẩn"
-#: profile.c:188
+#: profile.c:193
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -3389,7 +3265,7 @@ msgstr ""
"\t# %s khối\n"
"\n"
-#: profile.c:193
+#: profile.c:198
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -3398,16 +3274,16 @@ msgstr ""
"\t# Quy tắc\n"
"\n"
-#: profile.c:267
+#: profile.c:272
#, c-format
msgid "internal error: %s with null vname"
msgstr "lỗi nội bộ: %s với vname (tên biến?) vô giá trị"
-#: profile.c:530
+#: profile.c:537
msgid "internal error: builtin with null fname"
msgstr "lỗi nội bộ: phần dựng sẵn với fname là null"
-#: profile.c:942
+#: profile.c:949
#, c-format
msgid ""
"\t# Loaded extensions (-l and/or @load)\n"
@@ -3416,12 +3292,12 @@ msgstr ""
"\t# Các phần mở rộng được tải (-l và/hoặc @load)\n"
"\n"
-#: profile.c:965
+#: profile.c:972
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# hồ sơ gawk, được tạo %s\n"
-#: profile.c:1351
+#: profile.c:1475
#, c-format
msgid ""
"\n"
@@ -3430,22 +3306,15 @@ msgstr ""
"\n"
"\t# Danh sách các hàm theo thứ tự abc\n"
-#: profile.c:1389
+#: profile.c:1513
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: không hiểu kiểu chuyển hướng %d"
-#: re.c:583
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr "vùng của dạng thức “[%c-%c]†phụ thuộc vào vị trí"
-
-#: re.c:610
+#: re.c:607
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr ""
-"thành phần của biểu thức chính qui (regexp) “%.*s†hầu như chắc chắn nên là "
-"“[%.*s]â€"
+msgstr "thành phần cá»§a biểu thức chính qui (regexp) “%.*s†gần như chắc chắn nên là “[%.*s]â€"
#: regcomp.c:131
msgid "Success"
@@ -3469,11 +3338,11 @@ msgstr "Tên hạng ký tự không hợp lệ"
#: regcomp.c:146
msgid "Trailing backslash"
-msgstr "Gặp xuyệc ngược nằm theo"
+msgstr "Gặp dấu gạch ngược thừa"
#: regcomp.c:149
msgid "Invalid back reference"
-msgstr "Tham chiếu trở lại không hợp lệ"
+msgstr "Tham chiếu ngược không hợp lệ"
#: regcomp.c:152
msgid "Unmatched [ or [^"
@@ -3493,7 +3362,7 @@ msgstr "Kết thúc phạm vi không hợp lệ"
#: regcomp.c:167
msgid "Memory exhausted"
-msgstr "Hết bộ nhớ rồi"
+msgstr "Hết bộ nhớ"
#: regcomp.c:170
msgid "Invalid preceding regular expression"
@@ -3505,21 +3374,24 @@ msgstr "Kết thúc quá sớm của biểu thức chính quy"
#: regcomp.c:179
msgid "Unmatched ) or \\)"
-msgstr "Chưa khá»›p “)†hay “\\)â€"
+msgstr "Chưa khá»›p “)†hoặc “\\)â€"
#: regcomp.c:704
msgid "No previous regular expression"
msgstr "Không có biểu thức chính quy nằm trước"
-#: symbol.c:740
+#: symbol.c:741
msgid "can not pop main context"
-msgstr "không thể pop ngữ cảnh chính"
+msgstr "không thể pop (lấy ra) ngữ cảnh chính"
+
+#~ msgid "range of the form `[%c-%c]' is locale dependent"
+#~ msgstr "vùng của dạng thức “[%c-%c]†phụ thuộc vào vị trí"
#~ msgid "attempt to use function `%s' as an array"
#~ msgstr "cố gắng dùng hàm “%s†như mảng"
#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-#~ msgstr "tham chiếu đến phần tá»­ chưa sở khởi “%s[â€%.*sâ€]â€"
+#~ msgstr "tham chiếu đến phần tá»­ chưa khởi tạo “%s[â€%.*sâ€]â€"
#~ msgid "subscript of array `%s' is null string"
#~ msgstr "chữ in dưới mảng “%s†là chuỗi rỗng"
@@ -3584,14 +3456,11 @@ msgstr "không thể pop ngữ cảnh chính"
#~ msgid "statement has no effect"
#~ msgstr "câu không có tác dụng"
-#~ msgid ""
-#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
-#~ msgstr ""
-#~ "cho loop: (cho vòng lặp) mảng “%s†đã thay đổi kích thước từ %ld đến %ld "
-#~ "trong khi thực hiện vòng lặp"
+#~ msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr "cho loop: (cho vòng lặp) mảng “%s†đã thay đổi kích thước từ %ld đến %ld trong khi thực hiện vòng lặp"
#~ msgid "function called indirectly through `%s' does not exist"
#~ msgstr "hàm được gá»i gián tiếp thông qua “%s†không tồn tại"
#~ msgid "function `%s' not defined"
-#~ msgstr "chưa xác định hàm “%sâ€"
+#~ msgstr "chưa định nghÄ©a hàm “%sâ€"
diff --git a/regex.c b/regex.c
index 167d35b2..f56e8692 100644
--- a/regex.c
+++ b/regex.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
diff --git a/regex.h b/regex.h
index c72079b2..56602961 100644
--- a/regex.h
+++ b/regex.h
@@ -1,6 +1,6 @@
/* Definitions for data structures and routines for the regular
expression library.
- Copyright (C) 1985, 1989-2013 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1989-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -539,7 +539,7 @@ extern void re_set_registers (struct re_pattern_buffer *__buffer,
regoff_t *__starts, regoff_t *__ends);
#endif /* Use GNU */
-#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD)
+#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_MISC)
# ifndef _CRAY
/* 4.2 bsd compatibility. */
extern char *re_comp (const char *);
diff --git a/regex_internal.c b/regex_internal.c
index c7de18b6..10dd6e00 100644
--- a/regex_internal.c
+++ b/regex_internal.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
diff --git a/regex_internal.h b/regex_internal.h
index 448e32ea..c8981a08 100644
--- a/regex_internal.h
+++ b/regex_internal.h
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
diff --git a/test/ChangeLog b/test/ChangeLog
index 29dff6c3..65409956 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,46 @@
+2014-02-03 Stepan Kasal <kasal@ucw.cz>
+
+ * strftime.awk: the default format uses %e, not %d (Introduced on
+ 2014-01-16; the previous code mangled the output of command "date"
+ to match %d.) Remove the "mucking" for cygwin, it's obsolete and
+ incompatible with %e.
+
+2014-01-28 Eli Zaretskii <eliz@gnu.org>
+
+ * strftime.awk: If DATECMD variable is non-empty, use it instead
+ of the literal "date" as the 'date'-like command.
+
+2014-01-19 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (mpfrnegzero): New test.
+ * mpfrnegzero.awk, mpfrnegzero.ok: New files.
+
+2014-01-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (readdir): Run ls commands outside the awk script.
+ * readdir0.awk: Read ls results from files. Helps with MinGW.
+ Thanks to Eli Zaretskii for the problem report.
+
+2014-01-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am: Quote instances of $(top_srcdir) also.
+
+2014-01-16 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * Makefile.am (strftime): Remove comment about the race condition, since
+ this should be fixed. And gawk now calls date inside the script.
+ * strftime.awk: Based on an idea from Pat Rankin, fix the race
+ condition by looping repeatedly over strftime/date/strftime until
+ the before and after strftime results match. That should fix
+ the race condition where the seconds field might increment between
+ invocations.
+
+2014-01-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (split_after_fpat): New test.
+ * split_after_fpat.awk, split_after_fpat.ok,
+ split_after_fpat.in: New files.
+
2013-12-30 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (ignrcas2): Change to use en_US.UTF-8; it
diff --git a/test/Makefile.am b/test/Makefile.am
index 9c00062d..97848a00 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,7 +1,7 @@
#
# test/Makefile.am --- automake input file for gawk
#
-# Copyright (C) 1988-2012 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2014 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -522,6 +522,8 @@ EXTRA_DIST = \
mpfrexprange.ok \
mpfrieee.awk \
mpfrieee.ok \
+ mpfrnegzero.awk \
+ mpfrnegzero.ok \
mpfrnr.awk \
mpfrnr.in \
mpfrnr.ok \
@@ -808,6 +810,9 @@ EXTRA_DIST = \
sortu.awk \
sortu.ok \
space.ok \
+ split_after_fpat.awk \
+ split_after_fpat.in \
+ split_after_fpat.ok \
splitarg4.awk \
splitarg4.in \
splitarg4.ok \
@@ -995,7 +1000,8 @@ GAWK_EXT_TESTS = \
patsplit posix printfbad1 printfbad2 printfbad3 procinfs \
profile1 profile2 profile3 profile4 profile5 pty1 \
rebuf regx8bit reginttrad reint reint2 rsstart1 \
- rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
+ rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \
+ splitarg4 strftime \
strtonum switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
symtab7 symtab8 symtab9
@@ -1005,7 +1011,8 @@ INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
-MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
+MPFR_TESTS = mpfrnr mpfrnegzero mpfrrnd mpfrieee mpfrexprange \
+ mpfrsort mpfrbigint
LOCALE_CHARSET_TESTS = \
asort asorti backbigs1 backsmalls1 backsmalls2 \
@@ -1250,12 +1257,10 @@ nonl::
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
strftime::
- @echo This test could fail on slow machines or on a minute boundary,
- @echo so if it does, double check the actual results:
@echo $@
@GAWKLOCALE=C; export GAWKLOCALE; \
TZ=GMT0; export TZ; \
- (LC_ALL=C date) | $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk
+ $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk
@-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
litoct::
@@ -1695,6 +1700,11 @@ mpfrrnd:
@$(AWK) -M -vPREC=53 -f "$(srcdir)"/$@.awk > _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+mpfrnegzero:
+ @echo $@
+ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
mpfrnr:
@echo $@
@$(AWK) -M -vPREC=113 -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in > _$@
@@ -1800,7 +1810,7 @@ inplace3::
testext::
@echo $@
- @$(AWK) '/^(@load|BEGIN)/,/^}/' $(top_srcdir)/extension/testext.c > testext.awk
+ @$(AWK) '/^(@load|BEGIN)/,/^}/' "$(top_srcdir)"/extension/testext.c > testext.awk
@$(AWK) -f testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ testext.awk
@@ -1810,9 +1820,12 @@ readdir:
echo If it does, try rerunning on an ext'[234]' filesystem. ; \
fi
@echo $@
- @$(AWK) -f "$(srcdir)"/readdir.awk $(top_srcdir) > _$@
- @ls -afli $(top_srcdir) | sed 1d | $(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ $(top_srcdir) > $@.ok
- @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@
+ @$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@
+ @ls -afi "$(top_srcdir)" > _dirlist
+ @ls -lna "$(top_srcdir)" | sed 1d > _longlist
+ @$(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ \
+ -v dirlist=_dirlist -v longlist=_longlist > $@.ok
+ @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ _dirlist _longlist
fts:
@case `uname` in \
diff --git a/test/Makefile.in b/test/Makefile.in
index d1cdb26a..468c19c5 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -17,7 +17,7 @@
#
# test/Makefile.am --- automake input file for gawk
#
-# Copyright (C) 1988-2012 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2014 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -768,6 +768,8 @@ EXTRA_DIST = \
mpfrexprange.ok \
mpfrieee.awk \
mpfrieee.ok \
+ mpfrnegzero.awk \
+ mpfrnegzero.ok \
mpfrnr.awk \
mpfrnr.in \
mpfrnr.ok \
@@ -1054,6 +1056,9 @@ EXTRA_DIST = \
sortu.awk \
sortu.ok \
space.ok \
+ split_after_fpat.awk \
+ split_after_fpat.in \
+ split_after_fpat.ok \
splitarg4.awk \
splitarg4.in \
splitarg4.ok \
@@ -1240,14 +1245,17 @@ GAWK_EXT_TESTS = \
patsplit posix printfbad1 printfbad2 printfbad3 procinfs \
profile1 profile2 profile3 profile4 profile5 pty1 \
rebuf regx8bit reginttrad reint reint2 rsstart1 \
- rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
+ rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \
+ splitarg4 strftime \
strtonum switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
symtab7 symtab8 symtab9
EXTRA_TESTS = inftest regtest
INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
-MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
+MPFR_TESTS = mpfrnr mpfrnegzero mpfrrnd mpfrieee mpfrexprange \
+ mpfrsort mpfrbigint
+
LOCALE_CHARSET_TESTS = \
asort asorti backbigs1 backsmalls1 backsmalls2 \
fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \
@@ -1674,12 +1682,10 @@ nonl::
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
strftime::
- @echo This test could fail on slow machines or on a minute boundary,
- @echo so if it does, double check the actual results:
@echo $@
@GAWKLOCALE=C; export GAWKLOCALE; \
TZ=GMT0; export TZ; \
- (LC_ALL=C date) | $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk
+ $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk
@-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
litoct::
@@ -2118,6 +2124,11 @@ mpfrrnd:
@$(AWK) -M -vPREC=53 -f "$(srcdir)"/$@.awk > _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+mpfrnegzero:
+ @echo $@
+ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
mpfrnr:
@echo $@
@$(AWK) -M -vPREC=113 -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in > _$@
@@ -2223,7 +2234,7 @@ inplace3::
testext::
@echo $@
- @$(AWK) '/^(@load|BEGIN)/,/^}/' $(top_srcdir)/extension/testext.c > testext.awk
+ @$(AWK) '/^(@load|BEGIN)/,/^}/' "$(top_srcdir)"/extension/testext.c > testext.awk
@$(AWK) -f testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ testext.awk
@@ -2233,9 +2244,12 @@ readdir:
echo If it does, try rerunning on an ext'[234]' filesystem. ; \
fi
@echo $@
- @$(AWK) -f "$(srcdir)"/readdir.awk $(top_srcdir) > _$@
- @ls -afli $(top_srcdir) | sed 1d | $(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ $(top_srcdir) > $@.ok
- @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@
+ @$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@
+ @ls -afi "$(top_srcdir)" > _dirlist
+ @ls -lna "$(top_srcdir)" | sed 1d > _longlist
+ @$(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ \
+ -v dirlist=_dirlist -v longlist=_longlist > $@.ok
+ @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ _dirlist _longlist
fts:
@case `uname` in \
@@ -3504,6 +3518,11 @@ sortu:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+split_after_fpat:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
splitarg4:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index df272ce8..b9b713c4 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1182,6 +1182,11 @@ sortu:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+split_after_fpat:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
splitarg4:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/mpfrnegzero.awk b/test/mpfrnegzero.awk
new file mode 100644
index 00000000..cc6bf65b
--- /dev/null
+++ b/test/mpfrnegzero.awk
@@ -0,0 +1,15 @@
+BEGIN {
+ printf("-0 -> %f, -0.0 -> %f\n", -0, -0.0)
+
+ printf("atan2(+0, -0) = %f\n", atan2(+0, -0))
+ printf("atan2(+0.0, -0.0) = %f\n", atan2(+0.0, -0.0))
+
+ printf("atan2(-0, -0) = %f\n", atan2(-0, -0))
+ printf("atan2(-0.0, -0.0) = %f\n", atan2(-0.0, -0.0))
+
+ printf("atan2(+0, +0) = %f\n", atan2(+0, +0))
+ printf("atan2(+0.0, +0.0) = %f\n", atan2(+0.0, +0.0))
+
+ printf("atan2(-0, +0) = %f\n", atan2(-0, +0))
+ printf("atan2(-0.0, +0.0) = %f\n", atan2(-0.0, +0.0))
+}
diff --git a/test/mpfrnegzero.ok b/test/mpfrnegzero.ok
new file mode 100644
index 00000000..7af16292
--- /dev/null
+++ b/test/mpfrnegzero.ok
@@ -0,0 +1,9 @@
+-0 -> -0.000000, -0.0 -> -0.000000
+atan2(+0, -0) = 3.141593
+atan2(+0.0, -0.0) = 3.141593
+atan2(-0, -0) = -3.141593
+atan2(-0.0, -0.0) = -3.141593
+atan2(+0, +0) = 0.000000
+atan2(+0.0, +0.0) = 0.000000
+atan2(-0, +0) = -0.000000
+atan2(-0.0, +0.0) = -0.000000
diff --git a/test/readdir0.awk b/test/readdir0.awk
index 296c03c7..2b7674a4 100644
--- a/test/readdir0.awk
+++ b/test/readdir0.awk
@@ -1,4 +1,9 @@
+# NOTE: This program is not a generalized parser for the output of 'ls'.
+# It's job is to read the output of ls from the gawk source code directory,
+# where we know there are no symbolic links, nor are there files with
+# spaces in their file names, etc.
BEGIN {
+ # analyze results from readdir extension
while ((getline x < extout) > 0) {
numrec++
if ((split(x, f, "/") == 3) && (f[3] == "u"))
@@ -12,12 +17,7 @@ BEGIN {
}
BEGIN {
- dir = ARGV[1]
- delete ARGV[1]
- ls_afi = "ls -afi " dir
- ls_al = ("ls -lna " dir " | sed 1d")
-
- for (i = 1; (ls_afi | getline) > 0; i++) {
+ for (i = 1; (getline < dirlist) > 0; i++) {
# inode number is $1, filename is read of record
inode = $1
$1 = ""
@@ -26,21 +26,18 @@ BEGIN {
names[i] = $0
ino[names[i]] = inode
}
- close(ls_afi)
+ close(dirlist)
- for (j = 1; (ls_al | getline) > 0; j++) {
+ for (j = 1; (getline < longlist) > 0; j++) {
type_let = substr($0, 1, 1)
if (type_let == "-")
type_let = "f"
- $1 = $2 = $3 = $4 = $5 = $6 = $7 = $8 = ""
- $0 = $0
- sub(/^ */, "")
- type[$0] = type_let
+ type[$NF] = type_let
}
- close(ls_al)
+ close(longlist)
if (i != j)
- printf("mismatch: %d from `ls -afi' and %d from `ls -l'\n", i, j) > "/dev/stderr"
+ printf("mismatch: %d from `ls -afi' and %d from `ls -lna'\n", i, j) > "/dev/stderr"
for (i = 1; i in names; i++)
printf("%s/%s/%s\n", ino[names[i]], names[i], (ftype_unknown ? "u" : type[names[i]]))
diff --git a/test/split_after_fpat.awk b/test/split_after_fpat.awk
new file mode 100644
index 00000000..7e7cfd99
--- /dev/null
+++ b/test/split_after_fpat.awk
@@ -0,0 +1,11 @@
+BEGIN { FPAT = "\"[^\"]*\"" }
+
+{ print $1 }
+
+END { f("hi there") }
+
+function f (p, a, n, i)
+{
+ n = split(p,a)
+ print n ; for (i=1; i<=n; i++) print a[i]
+}
diff --git a/test/split_after_fpat.in b/test/split_after_fpat.in
new file mode 100644
index 00000000..1aeefd59
--- /dev/null
+++ b/test/split_after_fpat.in
@@ -0,0 +1 @@
+a"stuff"b
diff --git a/test/split_after_fpat.ok b/test/split_after_fpat.ok
new file mode 100644
index 00000000..5c284490
--- /dev/null
+++ b/test/split_after_fpat.ok
@@ -0,0 +1,4 @@
+"stuff"
+2
+hi
+there
diff --git a/test/strftime.awk b/test/strftime.awk
index 775cd4e5..f1276c15 100644
--- a/test/strftime.awk
+++ b/test/strftime.awk
@@ -1,19 +1,35 @@
# strftime.awk ; test the strftime code
#
# input is the output of `date', see Makefile.in
-#
-# The mucking about with $0 and $N is to avoid problems
-# on cygwin, where the timezone field is empty and there
-# are two consecutive blanks.
-# Additional mucking about to lop off the seconds field;
-# helps decrease chance of difference due to a second boundary
+BEGIN {
+ maxtries = 10
+ # On DOS/Windows, DATECMD is set by the Makefile to point to
+ # Unix-like 'date' command.
+ datecmd = DATECMD
+ if (datecmd == "")
+ datecmd = "date"
+ fmt = "%a %b %e %H:%M:%S %Z %Y"
-{
- $3 = sprintf("%02d", $3 + 0)
- $4 = substr($4, 1, 5)
- print > "strftime.ok"
- $0 = strftime("%a %b %d %H:%M %Z %Y")
- $NF = $NF
- print > OUTPUT
+ # loop until before equals after, thereby protecting
+ # against a race condition where the seconds field might have
+ # incremented between running date and strftime
+ i = 0
+ while (1) {
+ if (++i > maxtries) {
+ printf "Warning: this system is so slow that after %d attempts, we could never get two sequential invocations of strftime to give the same result!\n", maxtries > "/dev/stderr"
+ break
+ }
+ before = strftime(fmt)
+ datecmd | getline sd
+ after = strftime(fmt)
+ close(datecmd)
+ if (before == after) {
+ if (i > 1)
+ printf "Notice: it took %d loops to get the before and after strftime values to match\n", i > "/dev/stderr"
+ break
+ }
+ }
+ print sd > "strftime.ok"
+ print after > OUTPUT
}
diff --git a/vms/ChangeLog b/vms/ChangeLog
index 0db7efd2..94bc9f1a 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,7 +1,20 @@
+2014-02-12 John E. Malmberg <wb8tyw@qsl.net>
+
+ * vmstest.com: (strftime) requires GNV Coreutils date command to run
+ (readdir) fix file cleanup to not generate warnings.
+
+2014-01-21 John E. Malmberg <wb8tyw@qsl.net>
+
+ * generate_config_vms_h_gawk.com: upate copyright and fix exit status.
+
+2014-01-17 John E. Malmberg <wb8tyw@qsl.net>
+
+ * vmstest.com (split_after_fpat): Added this test.
+
2014-01-03 John E. Malmberg <wb8tyw@qsl.net>
* config_h.com, generate_config_vms_h_gawk.com,
- vms_args.c, vms_cli.c, vms_fwrite.c, vms_gawk.c, vms_misc.c,
+ vms_args.c, vms_cli.c, vms_fwrite.c, vms_gawk.c, vms_misc.c,
vms_popen.c: Update copyright to 2014.
* descrip.mms: Improve spotless cleanup.
* vmstest.com: Improve test cleanup.
diff --git a/vms/generate_config_vms_h_gawk.com b/vms/generate_config_vms_h_gawk.com
index 3a02fdfe..12d3d6cf 100644
--- a/vms/generate_config_vms_h_gawk.com
+++ b/vms/generate_config_vms_h_gawk.com
@@ -13,22 +13,31 @@ $! This generates a []config.h file and also a config_vms.h file,
$! which is used to supplement that file.
$!
$!
-$! Copyright 2013, John Malmberg
+$! Copyright (C) 2014 the Free Software Foundation, Inc.
$!
-$! Permission to use, copy, modify, and/or distribute this software for any
-$! purpose with or without fee is hereby granted, provided that the above
-$! copyright notice and this permission notice appear in all copies.
+$! This file is part of GAWK, the GNU implementation of the
+$! AWK Progamming Language.
$!
-$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$! GAWK is free software; you can redistribute it and/or modify
+$! it under the terms of the GNU General Public License as published by
+$! the Free Software Foundation; either version 3 of the License, or
+$! (at your option) any later version.
$!
+$! GAWK is distributed in the hope that it will be useful,
+$! but WITHOUT ANY WARRANTY; without even the implied warranty of
+$! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+$! GNU General Public License for more details.
$!
-$! 28-Nov-2013 J. Malmberg
+$! You should have received a copy of the GNU General Public License
+$! along with this program; if not, write to the Free Software
+$! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+$! USA
+$!
+$! Per assignment agreement with FSF, similar procedures may be present
+$! in other packages under other licensing agreements and copyrights
+$!
+$!
+$! 21-Jan-2014 J. Malmberg
$!
$!=========================================================================
$!
@@ -264,8 +273,11 @@ $ write cvh "static void vms_exit(int status) {"
$ write cvh " int vms_status;"
$ write cvh " /* Fake the __posix_exit with severity added */"
$ write cvh " /* Undocumented correct way to do this. */"
-$ write cvh " vms_status = C_FACILITY_NO | 0xA000 | STS$M_INHIB_MSG;"
-$ write cvh " vms_status |= (status << 3);"
+$ write cvh " vms_status = 0;"
+$ write cvh " if (status != 0) {"
+$ write cvh " vms_status = C_FACILITY_NO | 0xA000 | STS$M_INHIB_MSG;"
+$ write cvh " vms_status |= (status << 3);"
+$ write cvh " }"
$ write cvh " if (status == EXIT_FAILURE) {"
$ write cvh " vms_status |= STS$K_ERROR;"
$ write cvh " } else if (status == EXIT_FATAL) {"
diff --git a/vms/vms-notes b/vms/vms-notes
deleted file mode 100644
index 2d57648e..00000000
--- a/vms/vms-notes
+++ /dev/null
@@ -1,1148 +0,0 @@
-Thu Nov 22 18:18:47 IST 2012
-============================
-
-Per Anders Wallin, the HP VMS porting guide is available at
-
- http://h71000.www7.hp.com/portability/portingguidelines.html
-
-This file documents this fact, and anything else of interest.
-From wb8tyw@qsl.net Wed Dec 11 20:03:44 2013
-Return-Path: <wb8tyw@qsl.net>
-Received: from skeeve.com (skeeve.com [127.0.0.1])
- by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id rBBI3gNX002464
- for <arnold@localhost>; Wed, 11 Dec 2013 20:03:43 +0200
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- frenzy.freefriends.org
-X-Spam-Level:
-X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM
- autolearn=ham version=3.3.1
-X-Envelope-From: wb8tyw@qsl.net
-X-Envelope-To: <arnold@skeeve.com>
-Received: from frenzy.freefriends.org [66.54.153.139]
- by skeeve.com with IMAP (fetchmail-6.3.21)
- for <arnold@localhost> (single-drop); Wed, 11 Dec 2013 20:03:43 +0200 (IST)
-Received: from Encompasserve.org (Eisner.encompasserve.org [67.53.90.116])
- by freefriends.org (8.14.6/8.14.6) with ESMTP id rBB5jaW9020988
- for <arnold@skeeve.com>; Tue, 10 Dec 2013 22:45:40 -0700
-Received: from [192.168.0.101]
- (173-19-202-206.client.mchsi.com [173.19.202.206])
- by Encompasserve.org (PMDF V6.6 #13031)
- with ESMTPSA id <01P1SYL5LELG002FZE@Encompasserve.org> for arnold@skeeve.com;
- Tue, 10 Dec 2013 23:45:35 -0600 (CST)
-Date: Tue, 10 Dec 2013 23:45:36 -0600
-From: "John E. Malmberg" <wb8tyw@qsl.net>
-Subject: Re: Some questions...
-In-reply-to: <201312110426.rBB4QXXc003297@skeeve.com>
-To: Aharon Robbins <arnold@skeeve.com>
-Cc: wb8tyw@qsl.net
-Message-id: <52A7FC00.2040905@qsl.net>
-MIME-version: 1.0
-Content-type: text/plain; charset=ISO-8859-1; format=flowed
-Content-transfer-encoding: 7BIT
-User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215
- Thunderbird/17.0.3
-References: <529A9537.7090404@qsl.net> <201312110426.rBB4QXXc003297@skeeve.com>
-Status: RO
-
-On 12/10/2013 10:26 PM, Aharon Robbins wrote:
-> Hi. Some questions about your changes.
->
-> 1. I notice that there is at least one instance of #if __VMS, where as
-> it seems most code uses #if VMS. Is that on purpose? If not, which
-> is correct?
-
-VMS is a macro historically pre-defined by C compilers on C before the
-ANSI rules.
-
-Under strict ANSI rules, a standards compliant compiler is not allowed
-to pre-define macros that are not prefixed by "__".
-
-Which means that you can not count on the VMS macro being defined unless
-you do it yourself.
-
-So __VMS is the ANSI correct definition. But it would be a lot of work
-to change all the code.
-
-The vms_config.h that is now generated has these lines in it to make
-sure that VMS is defined.
-
-#ifdef __VMS /* ANSI compliant */
-#ifndef VMS /* PRE-ansi */
-#define VMS 1
-#endif
-#endif
-
-This may be needed for other architectures. It only shows up as an
-issue if you set a "strict" compliance flag on the compile command.
-
-> 2. For the include of the main wrapper. Gawk already has a routine
-> os_arg_fixup which is intended to manipulate argc and argv as needed
-> by an OS-specific routine before main() parses it. A quick look at
-> the wrapper looks to me like it could be made to fit within that framework,
-> which would keep #if and the include out of the mainline code.
-
-I can look at that. I can also look to see if I can move the logic from
-vms_crtl_init.c into it in a way that would sidestep that it has no
-copyright notice at all. The result would be code that is almost
-identical to code that is in the official Perl distribution.
-
-GNV was started as a user project and when the VMS POSIX product was
-dropped and they needed a Unix like environment, Digital took over the
-GNV product, but did not really do much to keep it up to date.
-
-The routine in vms_crtl_init.c is actually called before main() is
-called, so just linking a module with it in is all that it takes to
-activate the change. Unfortunately I do not know how to get it to
-magically fix up the argv array.
-
-> If that looks reasonable to you, can you make that change? You can send
-> it as a diff against what you currently have already done.
-
-I will look at it tomorrow night. I also found another change needed
-for vms_args.c to work properly under a bash shell.
-
-> I'm sorry about the hassle on the copyrights, but I really have to play
-> this game by the FSF rules. I hope we can get it clarified soon
-> so that I can include the files in the dist.
-
-I hope so. I have not seen a reply from Karl yet. He did say that
-there are other options.
-
-This would clear the way for getting the similar code accepted into the
-Bash and coreutils repositories. I have a report that the first bash
-4.3 beta built on VMS and looked real good on the test run.
-
-I am currently working on adapting the packaging scripts from bash and
-coreutils to gawk. Each product has had it unique features, so I have
-not yet come up with a generic set of scripts.
-
-This is a preview what will be coming:
-
-backup_gawk_src.com - Builds a VMS equivalent to tar archive. By
-placing the source in the PCSI kit, it covers the requirement of
-providing source somewhere with the binary.
-
-build_gawk_pcsi_desc.com - Creates a VMS PCSI package manifest file.
-
-build_gawk_pcsi_text.com - text output by the VMS PCSI package installer.
-
-compare_gawk_source.com - I have the source checked out on an NFS
-server. The backup program needs me to copy it to a VMS volume first.
-This procedure makes sure that the two copies are the same and ready for
-backup.
-
-gawk_alias_setup.com - Sets up gawk and awk links to gnv$gawk.exe.
-Needed to repair when sins of the past partially break an install.
-
-gawk_verb.cld - for gawk to use gnv$gawk.exe as an image. Different
-than gawk.cld. To properly add an image to the VMS command table, it
-needs a prefix. I have "GNV$" registered as a prefix for this purpose.
-
-gnv_gawk_kit_name.com - Calculates the VMS PCSI package name, used for
-both file names and file contents.
-
-gnv_gawk_startup.com - Run at VMS startup to make sure that the
-environment is set up properly for gawk.
-
-pcsi_gawk_file_list.txt - Source file for build_gawk_pcsi_desc.com.
-
-remove_old_gawk.com - Needed to properly clean up sins of the past.
-Only touches the the GNV provided gawk and awk programs.
-
-stage_gawk_install.com - Does a pre-install into a fake "root" directory
-tree for the kitting procedure to pull files out of.
-
-Regards,
--John
-
-From wb8tyw@qsl.net Thu Dec 12 12:21:57 2013
-Return-Path: <wb8tyw@qsl.net>
-Received: from skeeve.com (skeeve.com [127.0.0.1])
- by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id rBCAIn2l004322
- for <arnold@localhost>; Thu, 12 Dec 2013 12:21:55 +0200
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- frenzy.freefriends.org
-X-Spam-Level:
-X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM
- autolearn=ham version=3.3.1
-X-Envelope-From: wb8tyw@qsl.net
-X-Envelope-To: <arnold@skeeve.com>
-Received: from frenzy.freefriends.org [66.54.153.139]
- by skeeve.com with IMAP (fetchmail-6.3.21)
- for <arnold@localhost> (single-drop); Thu, 12 Dec 2013 12:21:55 +0200 (IST)
-Received: from Encompasserve.org (Eisner.encompasserve.org [67.53.90.116])
- by freefriends.org (8.14.6/8.14.6) with ESMTP id rBC6FboY024650
- for <arnold@skeeve.com>; Wed, 11 Dec 2013 23:15:41 -0700
-Received: from [192.168.0.101]
- (173-19-202-206.client.mchsi.com [173.19.202.206])
- by Encompasserve.org (PMDF V6.6 #13031)
- with ESMTPSA id <01P1UDWPUU7M002J4J@Encompasserve.org> for arnold@skeeve.com;
- Thu, 12 Dec 2013 00:15:35 -0600 (CST)
-Date: Thu, 12 Dec 2013 00:15:38 -0600
-From: "John E. Malmberg" <wb8tyw@qsl.net>
-Subject: Re: Some questions...
-In-reply-to: <201312110755.rBB7tIrb026097@freefriends.org>
-To: arnold@skeeve.com
-Cc: wb8tyw@qsl.net
-Message-id: <52A9548A.5060604@qsl.net>
-MIME-version: 1.0
-Content-type: multipart/mixed; boundary="Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)"
-User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215
- Thunderbird/17.0.3
-References: <529A9537.7090404@qsl.net> <201312110426.rBB4QXXc003297@skeeve.com>
- <52A7FC00.2040905@qsl.net> <201312110755.rBB7tIrb026097@freefriends.org>
-Status: RO
-X-Status: A
-
-This is a multi-part message in MIME format.
-
---Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)
-Content-type: text/plain; charset=ISO-8859-1; format=flowed
-Content-transfer-encoding: 7BIT
-
-I moved the vms_gawk_main_wrapper.c code into gawkmisc.vms so that file
-is not needed anymore.
-
-I also discovered that we were not building with exact case public
-symbols, so I fixed up the source to build with exact case symbols.
-This will be more important when building dynamic plug-ins, and in the
-future if and when the other related packages can be built with it.
-
-This caused small changes to most of the source files in VMS, as all the
-system services routines were in the wrong case.
-
-I see that just about everything has been backed out of git until the
-legal stuff is resolved.
-
-This is what I currently have for io.c changes based on a branch I just
-made against master.
-
-And this is what the diff for the vms/gawkmisc.vms changes are, which
-eliminates the change to main.c.
-
-Regards,
--John
-
-
-
-On 12/11/2013 1:55 AM, arnold@skeeve.com wrote:
-> Hi.
->
-> Thahks for the answers. I will address some of this later; I'm at work now.
->
-> I would like to emphasize that, from my perspective, the priorities are:
->
-> 1. Code changes (os_arg_fixup, etc.).
-> 2. Documentation revisions.
-> 3. The other VMS-only goodies that you described.
->
-> The documentation revisions are not optional; I have to have them.
->
-> But, as I said, it's enough if you give me plain text. I can do the
-> markup. If the markup is what's holding you back then don't bother,
-> just send me text, with some kind of clear indication of the sectioning /
-> subsectioning (if any), and I'll do the markup.
->
-> Karl replied further to me; I don't know if it was on purpose or
-> by accident that he didn't include you. I will include you on the
-> further correspondance that I need to send.
->
-> Believe me, I very much want to move this forward, but I really do
-> have to play by the rules.
->
-> Thanks,
->
-> Arnold
->
-
-
---Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)
-Content-type: application/gzip; name=gawk_io_c_vms.patch.gz
-Content-transfer-encoding: base64
-Content-disposition: attachment; filename=gawk_io_c_vms.patch.gz
-
-H4sICANRqVICAzAwMDEtaW8uYy1yZWRpcmVjdC1BZGQtYWRkaXRpb25hbC1WTVMtZXJyb3It
-Y29kZXMucGF0Y2gAnVV/b9pIEP0bf4q5pmptwI5tzM82FRRImyqQXEhzV51OyPaOwY3t5Wwn
-TdT0u9/sGhNIIuVyKyTvzs6bfTNvdjlMeQy+7Ti+z3zT902n6wZdz/acltU0zQBNn7VZs2m2
-ut0GTHgCM1yB1QbT7Mkf2KZpKYcUpgdf+DKBiRvFHqYLeP/D6+S3P/r/ZJGRYP5BGbk59uAP
-ZHWwLBihT1irAXaj12z0GjboZss0ldmV9x39vAd/nQ7Oh5//hpAbPqgpsjAlu9aDAWPgMhbm
-IU/cCC4mM8A05Sn4nGFmSIACaoI3eRBGSIgzzNNb4CtMwA1yJM+IZ2GygIzHCMIpMxRF13UF
-hks3WeAxX8Ad0HCgRkMpSMghzLYpzVtD1yXaLoKBL6OIRLsQJhmmgmum1rQ6NIFhhMVa1xSF
-hUEAur4Ic3D370/37udKmDC8AdfqYIc1DAO7zGx6Llim2XIcQXsbqRCbHXS/D7pVb0DNqreh
-31dqouq6ZeskQjmkcmPjXjw5HilYK/2rL1blMfal+pAKG+bmhvnM53lOzRQG4eXGCO8zYWZG
-7IZRP/P8RcQ9d50EKFApOYhzMHZvPcy4f4llHgyDMJGZQEAZjL58Oj01dpWSeE9+1vo4AV2j
-Junjt5sMW51dfaRjIY2cSlVsq94iXehDWpA0sIcJnSIo7oVBQQOZSrXUlNpemPjRFUNKLqMd
-Y/lB2AI6O4DZ7PV8/OfHb+fHEzIWuG0jmDe2azkA+1WpTMdwIEMqd3Wf/ItDtw5I4/IEKIM9
-rJQaMK0ijWK2xVwk5rRskZjTaheJQam1enTy8eshVKv+VSrWdfA4jyC7DFcr0pviVCoV4li4
-xW7iLjDGhF4DIir2qKUSDgdgvpPLgNGc4bVoHTVI3FhEDJOYWk59lb7StHdKjdyolqoqfA/g
-aHoxOD4azT8PpqPjsQZv3oC6DnoA48nhERk1+ClhRX5znqC6DvSE5T9S+FXSF9eBEPLMIgnB
-7jdgfJ6nbnl/ikpUrlaMHs35+OxsejIPk7ygSiFFlbtOp07vZ63blF8ylddRnZ6MxlCVyzne
-rOr0COXFbn67wmJZpVhBtK654PCgDHB3B/emqaxMwWqnCKJTRQtSWyl6od4gWi3dfdFnF23D
-epvBEM7OjyHMiEJ+lSbiZudLWtLTmKPLZIEe4WpPwzDDDU6wodvOg5KyunSvMXmbQ56GyICT
-ewornuX6RcuwIbslXJxpopv03Wvy+9eT8wFdE/o3Gz7ce/YKibwxEsR2ynh0ItpLZrfZ3d3e
-KTFFJaFlSyrw7FCv3Rv/9Qa9ncXdnaI/H+ApvMxU0+4f6/8BF8e/GH82oQCD4VCCK1LWJxxm
-36ba0z24fn3KSv+kVxcUy2gbXUX5F+2/BB3kCAAA
-
---Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)
-Content-type: application/gzip; name=gawk_gawkmisc_vms.gdiff.gz
-Content-transfer-encoding: base64
-Content-disposition: attachment; filename=gawk_gawkmisc_vms.gdiff.gz
-
-H4sICINTqVICA2dhd2tfZ2F3a21pc2Nfdm1zLmdkaWZmAJ0aa1PbSPKz+RWzDgU22MY2JLsX
-X3LLgtmllpBUTPZxHKWSpbGtQ5YUjcRj9/jv193z0OhhlrtUBdBMT09Pv7tn+v0+OxCp56Rx
-nB0s3fvbg7u1oD/WgfAG8NH6lfvslHtsNGLj8dvX3709/I6Nh6PDrf39fYbgL198OH47/ptc
-/P33rD8+7B0O2T78Ojp6w77/fouxPXYW55HvZkEc9dh55A167PWInaVudBsGEZtlKedZj50F
-i2zFzsI4Tnvsh1hkCP7hmLHheDQa9keHw1GPfZkdI8qDLba1/yqIvDD3Ofu7yPwgHqzel8fS
-IFpWBr3sMeE1QD8M5jRoD/tceGmQVID9u8Dni8ogX0T1wYXwGkZFJuqDWbCuEhVGaw1HZCWp
-u1y7bM3Xc546bhgsozWPMibcO15MR3ENIIyj5X2c+lv7wJDcy1iQ8bUTBiJzDtmfW/utPBIA
-CzIVqzgFeB5N6qNe7HMcvosDHwQ6zxeunzbA7bGUZxLF0wQJV5sughDY6UZOkK1D2HqMWzP4
-V999ma0mjXOwVJGBk97KTWE7L14ncQQHNTtuYhXOBcCQ2e+z7R+nV6e/nP/akahKeyG/GAi0
-1zCneLFy7VkvjgTIQZ7TF962UpwsTh0BFPr8LnLXmxbY0thjkjsWrOJ3EIt5dbSzx1yRgRi6
-nRLx3d6mUwF4kq7r2KM8DN102Z3YLDo7v5jOTo4vOy8/KTgdmLTwbxT+Hrtzw5zjuTdSu8cW
-ob8I3aWoY6xv7uYPcZ5tFppWzOKQjI559fny4vJD7ZBVUtysdLC/4kTmzkPuwMRLSGegHlXg
-ChVK2V1vDQbwUlVSX3RiieFrHmecvWO7/9rdnaixPXAziQuO9x07nZ59Or76yZ4Bx1hMXpz/
-YM/z6E7whCG+HqDbfwXwQcTZLx9mzuXxh6lzMb1kI3QB4Po9uQZDCx732gbaH92QVA722JV7
-y5kbhixbcbbIIwZCZfGCiWCdhI8gjfgWnDrLE+bCxzLw3JDYhxFBb4TCFY/CydIIvCgxqyMZ
-pdgIC3FNr+RISCHVEGKgbwc1Zmsf3aTEsH0KRvH5/NPVx8+dQsisDTpEFuOcTn9pI8dbTXqE
-WgTsQuAPzsnxbOr8cHF+eYrgm7RD6wbC0MHgjLlo8LwpF3mYWahsdQgysLvrsWRzS34NbwZw
-OiDHnHRiz6GrVbQ6s6vP55c/lqZlBNCrS1PS0GBqx9Bkpkd60+HEHlObDSWoPvMAuXHvyJgA
-03Aw+LujxEdcLoG6ThIDjziS1ZFi7SrgGuzc8TEVQMWenWz/7Jxe/f5p6lw1wHmhK4SBO7k4
-ns2cmSRUCgPmLE+yQ66C7VjasWMMnA17UhZdxZQF62yjKcyujq++wK8vJyfT2awjEXe7GCUB
-rAWWcZmjVfB0HUQuGLEb+ejR8jQiU5HJDllBq0UiuZbMvyFzH6J9tp4ImVplFAlH2RaDLTDL
-I+tkfcghE9wQzQ/xt3GuzRIXNG2Rxmu2iu9p4uOMgQ2GoIbACJmWAabf45zdx3noQ0aCCILo
-Fn669KdAhcWpOZyCidxbwa8kjYFd6x5kFhCowRyBKYw/ZBxSKJ8CCBMJ94IFWDzmkYK5KWdw
-aO/2kWUxEiZ4j7hyz9mKkiL0wzGwTHkTP1gseMojj8PO2T0HNXTZyeerC7bkEU+BqT4gXd6B
-ChMelzAkIHyY4A/c63RL85AF+EDWPAbd9FzBxQAXHBhnu7dVMLRDIRAO0N1itivSw+BS/9zq
-t+Rg0mN7X+v2jl+FkSuvJVZwPD0beiQ8Y0cgiPMFnZ18OE0CvjQT7D7IkO0HPZyOQCcZyMUF
-jsxFHOaZXAEokIcot7X7SFwF1gF4wbD5I+EnNgZwLu766K5xDDKzNbBIIsG9BwzJkVuRQPhd
-AMIgsrRESJfB4FZcKNJQYySOe1ewMLjlEAdIBRE2hRChNiKhRJz7AsUOyrUIHlAtk4Fcrlhx
-Oj052f70cXb+m3Py8cOni/PjyysHwxpGoxnSJniGGMY2bzQrYP357OftXz5efPkwlay5D0DB
-YLsEhANpplTCQI2LDH8iVYBSItGUSbIOjB/QuoD69Q6M9mCXzL+lRR2BORBrUNxS3jpZbjX7
-fL7GP68PbwikEi+gkHEwrbw+ktO0C1iyTFev3xw1rjIAOl5sDFwSzMQuid8PxO1dHOIG49dv
-mukyIGoLhEHv9COIRUB9A3q2iNM1uQHQV+2hcJ3yfwd7/Rf9k9CGTyYgdkTwBwctNoftsj4b
-TarAKmhBIbHtHF9cQOQHFapBmUBpsNVAioBZZ6+BG1WpKxhF5MH/17UVNomgszX6RhZ9O5Zw
-Xt/U4AoiaxKyAMel+F4aL8d4dE7Hvi+9UwqJ4wMDqdIn4M7XXLkMLVGrbJOW5SYJBIfqAvL4
-GGPkOlBOL3nsFBT32mS/bRV/W8aoZHrhrdLOjjHE0U2PzFAeBUy0gP7mHbv8cnGhLLRlUpQC
-os80HqU8BAgHQQcEjvxrHoDDAB8MsSNjK4hMiuaWZTkb0xqbyEnjKitvsvxEDeyZPKgJ+Jlk
-qFVOh4oSG2Za07PL7RNnennWk99D9XvH2kINaZ1Rn9pPqU/kOqVRQykWkss3f5VDtSTrVQiA
-4mB7yTPAfM8WbhDaoUYHPvinQo7KACDSQXxUeQCkK8vUXcuQE2cGnuLS6QlQKGLmxzi3wiaU
-AThGFC7UMhwjTfsgWycHClmb3ZMWwNBbA+/HoCOYQ/EHYIkelnrSktmAMbbWE+OhAMSbOGJc
-/vCmYMsGJGpWxR7LccnQU/FSOnxAeuTAlIoehu+V3JUCN2WhmHJpl2eOVQShkju8KWhUillz
-qnrCkT6o6k0LemQ8ZuI2SFC+ENciKC4heaHiEnLOVHhxYZGkZIomFZ2dXcNBten+/qT0jZv2
-+2rsydr9mFL3dXwnOZGloIK4rxdDkdi0pXUocCVy/7e1/Uv7tWpLbfY9vVA20mcaksqOn+2/
-UxHHnrkuA91YHp+2O1lx7xZcYwpMR4cfYSgPZQI555BiBjBY54GUqHZlxdHBZ0fo4XVfAYqt
-kvtW8IpM032QwzZLjBl0MAxAOu+tE7V3z3QtukiCdjwlLoJnUXUHWesS/ruQNGdQ3HjyxHFq
-jJqyT3YSgxsIXDAmfW5IkK8oc12D7hlo1/NyTLZ7uINHlZMbgnuReFGLeQEcLGRSuuDg/FJy
-Mq6XBXd8UPEdyNqOPjQeiu3sKBDsl1REXXC+YD26AWDS5P+SxHOiaAFWFY61HIr4XchCQxeS
-o3VlAemf+MP2bNhq0nWRH8gylUojXRlRECc3HmSK63NqbVE6usdkCmqXNECYGsUaH3QBg7tM
-TQ5UqRNEajXMwzT8XOcio0K4Xnq1ihymMcFGMAdHTD1Q1Iqtct9pEfDQd6iXaufs9b6sqR90
-BqibY3QMe0Q3VWhjiuA6FigASISKTO+vch5zlo0JT1Ep18DrHSJTbTdAP5fwVCGfy3bwVHG0
-m6F95RBpHnWVB1IOssANIUvHsEIJAF6Y6PuLIqU9Z/9G8cs8gUpbiD3FaqgioyRXnUihS0XK
-hV0AepQeoCfTFq1IlN9gIqx4gmpGWIpix9F1hyboHTubnVxuO9Ty/zQ9mdQgDYOH9TlzA8Nk
-TlzwR6VbWvlFUSKbwhqKLGr1UJ5cJXFUJxGKrPOT6aQGt5HA0XMEgkOVQqMiRKZ0VEVgXkda
-UiVpXCcJ+waTGtRGgsYbCSpgDuu7oJZOalAbdzl87thTVTchZO2ER/beVbRHz2x5tHHLUl1g
-3SupWPMXlyndHWOWPb2mcFQUZox36zFZH1Btptn6fI9VxT0kpFHl37Fmb9O8sFDFbzAQmQau
-SaRjvGpTlQvw6ZbzxJGuUo0EVqn4q6Wf2lmr5pbIPY8LschDWRhhL7DB7GU3SschtVaZ4UAt
-1OthN1lZC0Gw1NziLI7Aty1lT8xUSDCqlwFySJexGRMvyJZpoSlcRJ4k2NfBM0zPZnoV8gM8
-J/h4wWuUXFFowJ4j9YgfHh62dZMglj3CYO0uVYtAL7oIovyBaTsW2q2qNq06TRhiTDccy0DN
-rBaExiVzJNVMbTbdiQFRxUaD9asimkQugxM1GGR2tLu9a1WwCqjSVlBrTWVhbWf+7JvFfWbn
-RYp6W+GetthWH/WqLV3y22t85TG4gZw95R6Y2+NA5HP4uPnx+NefB9PfppOozfrvWRu/28iX
-fiuxTqLjLJzmBk7DsE1ncLEkjzA0Up+Oln5tXvpeL3VD0AeqQv5O4T+itW74XqIiJIAG+UWJ
-HrKK/ec/7CsDiC7MEHFfJwWVfp5YoP8oWjJvEcU+G3W7E4WxY1OXAFmDXTBfLRBEvvdV36UQ
-tVJ5BhAmJmgAWmvqeXDx01EX0Hb+q8dVBowSUjc0KrWWfoCsEL0FqSvdjJDNBTr9RF1vD/gD
-b2tKtG8pUmv50RwltNtBXjTFGODEyOjlM0BHRYVgETDSKXmpu0AO70En8g9SABFm/LCqp47T
-A5QaBPd9kK7V4GjaRqX+RQVgjlYA2+fRQtupi0X1nVpEUcOZu5NKlWEa+rIwKTfxIaG0mvj1
-oGBGMjj6pLIQRisZtlSCIrJfUSrI3UgorcB7NXceylsacgnUonKxSWXd0KAzPAt0WoDJuWxi
-3q8CqGAFT1ysQIUJROYCRq3FkDCwahZzzGaLlz1VHZwL4Ir7K4VDA0XeUFvG/xQptGEc6GDx
-kliB2UaxrhoxTM+26uQNucbT/4++3mZh2YnrZmtadjNmQdfiz3nEvlye/8bw3Qj4OwjA5chL
-qThwUF7J6riIvCB+6she3G0Jy90ksRDBPOR62T1m9XgTixWPvno1DsrKE1K6SNbL1H0h0YlK
-IjNwIQeMiHJwGxHkJWng6YXGAKjwBi2IHqHIdAUMWJHcaA+YjyWggnHo6YtIrCGr4ikpYyuw
-nA0YCShNJxB+sAwyjeA6uLGbJUauT4UHLSBVC0ZD7xXkDidNnuzAMld0klrZiXUdbJvgbSww
-B1s/XZOp4QqQGQiklOhIb/MC3ijAGmswfMq5a9We5LsYmMtj091qk0lOj+X0g71Ejf22Yclh
-wy6Hz+9ypJhcpOTAZ3PyYXN8wm4t9tp0aa8chEtP5hSMrYhgNZ6Lmoq3h6qpmev2f9F8s5ip
-mGPHszpVjeGsRKpxhWSa7N591O8tOL3d1G8uONggJfMIrPXiWGCe74ZgO/4jWmkAJZVfIAB/
-LW9CpBco6c4iScEyFlBN+TxNVbBsqwYFXq5gFxKvbeXlBuwTxthvR6T/iuRTqabu3GVM7yyX
-WEUA84Ec0w2rpFdFXLHflEnEjc/NTK/xSb6the3kzTx2BN059uXxgl7gKzNtVPQwxdxQYvCk
-lxdyHYafkGPvFz1dBOsS4DJaYU9F0DWUagVCwUNweRzctXqaAHg9WgwqFsb3ajHJyLwSaNGG
-QDpIj0d3nfbsp+nFhWQgqpOcLpsmjUOcgISKpiGlAtLb3ZLGmVcjo0ZZlKef1G56tEiiyD8a
-nVU+0fAfXJydtdnj7+DUdGgbWjsd5TZVYqUzYw0I6fKTersUC8dNlw4IDpiMz5fkX9ZDFBbi
-40RgJT5Tf/2m9y3bP/p23Bsf0St1JH8PMHiJef64h993Cb3N0Q9usj+cNA957XXOFmt18DVt
-l2gzlHQIY48uxpKueZVzBomDIg6ffrM/4ki1mnASlIzeOchQhmoBIhd4TwRCVHag6ADmrd0w
-jL3OaDiWabJpthRPIDvtq39CGq3W9JiBfcnzMzA5pXAVJITB1pTGnell3PmH6T8/Xk6dz18u
-po2EvJCSZ0kxSrJIOe+oyW5ZRaDujRMsmkFB6A96VOaGDAy2/3GmWpVCa8l4+F1vNGL7b45G
-vdG3pCcg6MUYX0HEoY+ep/9ezPMF7EJeC6spfJimWp7Wq7xXwcLnC+Z8mU3hjKd0zkKhO4sR
-IMqQPrSpxVh/KW+I6nv0XX8eyKY9C3zYKr4NdINyZ4cpDAF4/wIDfCFv2CuUEtCot1NOodi1
-Z+0p3YM60eadBRT51KNmh/qBfpTJN4AVgtSdaUETDNSBRlWgUQPQuAo0Jlfxikd+sFCiBjK2
-/gvg4az2BTMAAA==
-
---Boundary_(ID_0V6xQMBg8dMk2LzZyR0ioQ)--
-
-From wb8tyw@qsl.net Sun Dec 8 19:58:11 2013
-Return-Path: <wb8tyw@qsl.net>
-Received: from skeeve.com (skeeve.com [127.0.0.1])
- by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id rB8Hw8Y1002346
- for <arnold@localhost>; Sun, 8 Dec 2013 19:58:10 +0200
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- frenzy.freefriends.org
-X-Spam-Level:
-X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM
- autolearn=ham version=3.3.1
-X-Envelope-From: wb8tyw@qsl.net
-X-Envelope-To: <arnold@skeeve.com>
-Received: from frenzy.freefriends.org [66.54.153.139]
- by skeeve.com with IMAP (fetchmail-6.3.21)
- for <arnold@localhost> (single-drop); Sun, 08 Dec 2013 19:58:10 +0200 (IST)
-Received: from Encompasserve.org (Eisner.encompasserve.org [67.53.90.116])
- by freefriends.org (8.14.6/8.14.6) with ESMTP id rB84BBd2018585
- for <arnold@skeeve.com>; Sat, 7 Dec 2013 21:11:14 -0700
-Received: from [192.168.0.101]
- (173-19-202-206.client.mchsi.com [173.19.202.206])
- by Encompasserve.org (PMDF V6.6 #13031)
- with ESMTPSA id <01P1OOF0VUTE001YI1@Encompasserve.org> for arnold@skeeve.com;
- Sat, 07 Dec 2013 22:11:09 -0600 (CST)
-Date: Sat, 07 Dec 2013 22:11:05 -0600
-From: "John E. Malmberg" <wb8tyw@qsl.net>
-Subject: Re: VMS patch for config.h generation, passing tests.
-In-reply-to: <52A277C3.303@qsl.net>
-To: "John E. Malmberg" <wb8tyw@qsl.net>
-Cc: arnold@skeeve.com, r.pat.rankin@gmail.com, anders_s_wallin@yahoo.se
-Message-id: <52A3F159.9000607@qsl.net>
-MIME-version: 1.0
-Content-type: text/plain; charset=ISO-8859-1; format=flowed
-Content-transfer-encoding: 7BIT
-User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215
- Thunderbird/17.0.3
-References: <52A17089.9060701@qsl.net>
- <201312060840.rB68eH2F029601@freefriends.org> <52A277C3.303@qsl.net>
-Status: R
-X-Status: A
-
-I have merged in your changes with my local copy, but not sure yet what
-to do to get the git status happy.
-
-Unfortunately the VMS 8.3 Alpha manyfile test failed. Closing 2 files
-in io.c was not good enough. I am trying again with closing 4 files.
-Still failed. I am going to have to add some diagnostics to identify
-the failure.
-
-And the beginfile1 test also is failing on VMS 8.3 Alpha. I will look
-at that after I resolve the manyfile issue.
-
-I also did not notice that ofmta test failed on VMS 7.3 VAX. The
-floating point number is rounding differently. I get the same result
-with the replacement SNPRINTF or the VMS provided SNPRINTF.
-
-TOAD> diff ofmta.ok sys$disk:[]_ofmta.tmp
-************
-File SRC_ROOT:[GAWK.TEST]OFMTA.OK;1
- 5 4.234
- 6 4.2345 hi
-******
-File LCL_ROOT:[GAWK.TEST]_OFMTA.TMP;2
- 5 4.235
- 6 4.2345 hi
-************
-
-I tried that build again with #undef HAVE_VPRINTF, and it failed.
-
- From eval.c:
- I1 8733 #ifndef HAVE_VPRINTF
- I1 8734 #error "you lose: you need a system with vfprintf"
- .1
-%CC-E-ERRORMESSAGE, (1) #error "you lose: you need a system with vfprintf"
-
-Note that the error message has the wrong routine name.
-
-I have looked over the manual, and will try to get some detailed changes
-to it.
-
-Some preliminary things to help collect my thoughts.
-
-As the MMS program has a lot of issues with ODS-5, Some open source
-programmers have switched to Madgoat Make, known as MMK from
-https://github.com/endlesssoftware/mmk . MMK uses most unmodified MMS
-description files and handles ODS-5 volumes better than MMS does.
-
-The optional POSIX subsystem is no longer supported on VMS. While I
-used to know at what version this support stopped in my head, I have
-forgotten, and so far have not found that with an online search.
-
-Most of the C runtime routines that formerly required the POSIX
-subsystem are in the VMS C runtime, so there no separate POSIX builds
-needed for newer versions of VMS.
-
-The behavior of the VMS C runtime is controlled by feature settings that
-can be set by logical names before the program is run.
-
-These feature settings include the support of longer filenames with
-almost any characters including UTF-8, on ODS-5 volumes and if routines
-should behave in a more Unix like fashion.
-
-I will be adding vms_crtl_init.c to the next commit for vmsbuild.com and
-descrip.mms. This vms_crtl_init.c detects when the program is running
-under a bash or similar shell and sets the feature settings for better
-UNIX compatibility, or sets them for better DCL compatibilities.
-It makes sure that the extended filename support is enabled.
-This way a single binary can be used for both the VMS environment and
-the DCL environment.
-
-As a replacement, a GNV https://sourceforge.net/projects/gnv/ was
-created. There is older version of gawk that is provided by that package.
-
-Recently a group of programmers have started trying to correct issues
-with the GNV project and reorganize it as a collection of packages along
-wth a VMSPORTS https://sourceforge.net/projects/vms-ports/ effort.
-
-The GNV environment provides a Bash shell and several other utilities
-intended to simulate a Unix environment.
-
-The web page https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/
-documents what needs to be done before installing these newer packages
-while GNV is in the transition phase.
-
-Currently only Bash 4.2.45 and Coreutils 8.21 have been packaged, both
-are fixing critical issues in GNV.
-
-I plan to have a GAWK PCSI package that will be installed with the VMS
-PRODUCT command. This package will install into the GNV directory
-structure, which mimics a Linux directory tree, so I will need to
-determine where to put the gawk.hlp file in it.
-
-Regards,
--John
-
-
-
-On 12/6/2013 7:20 PM, John E. Malmberg wrote:
-> Hello Arnold,
->
-> I almost missed this, the gmail randomizer threw it in the spam folder.
-> It tends to do that with about 1 to 5 percent of my incoming e-mail.
->
-> I am still learning git, so I am not sure how to regenerate the patch
-> set. If you can help me with the commands, I can try to regenerate it.
->
-> I ended up doing two patches, because I forgot that VMS execute
-> permission is interpreted differently than Unix, so is usually on.
->
-> I did not change the commands to kick off the build procedure, just the
-> internals.
->
-> Unfortunately Texinfo is not in my toolbox. I will look at the *.tex*
-> files to see what I can figure out for editing the source format for any
-> changes. I did update the readme.vms FILE.
->
-> Also this patch should enable the dynamic extension loading, which I
-> forgot to put in the change list.
->
-> To better support dynamic extensions, gawk on VMS/ALPHA should be built
-> using IEEE floating point.
->
-> This slightly changes the precision of floating point output. I am not
-> sure that anyone would notice. IA64 defaults to IEEE, and VAX can not
-> support IEEE.
->
-> The reason for this is that most open source packages expect the IEEE
-> behavior, so it seems best to default to that when possible.
->
-> When we get this step resolved, I am going to work on the procedure to
-> generate a installable package in the VMS PCSI format.
->
-> Regards,
-> -John
->
->
->
-> On 12/6/2013 2:40 AM, arnold@skeeve.com wrote:
->> Hi.
->>
->> Thanks for this. I already pushed the change you suggested about
->> version.c. Do you want to pull and regenerate this patch set?
->> Or should I just apply it all and you'll send me an updated patch?
->>
->> Finally, we need the manual updated about the build procedure. If
->> Texinfo isn't in your toolbox, you can just send me plain text and I'll
->> handle the formatting, but the manual needs to be updated and also
->> and README files.
->>
->> This is great work and it's exciting that VMS gawk is progressing
->> this way.
->>
->> Thanks,
->>
->> Arnold
->>
->> "John E. Malmberg" <wb8tyw@qsl.net> wrote:
->>
->>> Forgot to document that the previous strftime test was incorrect as it
->>> was not specifying a timezone on VMS versions that support timezones
->>> which made the behavior different than on Unix/Linux. The test has been
->>> fixed.
->>>
->>> All tests now passing on VAX/VMS 7.3, Alpha and IA64/VMS 8.4.
->>> Tests are still running on ALPHA/VMS 8.3, but I am expecting them to
->>> also pass.
->>>
->>> VMS build procedures no longer need to be edited when the version number
->>> changes.
->>>
->>> 2013-12-05 John E. Malmberg <wb8tyw@qsl.net>
->>>
->>> * New config_h.com to generate config.h
->>>
->>> * New gawk_ident.com generates ident line for link option file.
->>>
->>> * Add version_c.com to create version.c from version.in.
->>>
->>> * Remove fcntl.h covering up real fcntl.h. If an older version
->>> of VMS needs this file, the build procedure should be updated
->>> to generate it from a template.
->>>
->>> * descrip.mms: Use command files to generate files based
->>> on same input files as a Linux build.
->>>
->>> * gawkmisc.vms (files_are_same): support _USE_STD_STAT for VMS 8.x.
->>>
->>> * generate_config_vms_h_gawk.com: Generates a helper file
->>> config_vms.h to cover issues config_h.com can not handle.
->>>
->>> * vmsbuild.com: Use command files to generate files based
->>> on the same input files as a Linux build.
->>>
->>> * vms_misc.c (vms_open): VMS CRTL setting errno to ENOENT where
->>> it should be set to EMFILE.
->>>
->>> Regards,
->>> -John
->
-
-From wb8tyw@gmail.com Mon Dec 16 21:27:20 2013
-Return-Path: <wb8tyw@gmail.com>
-Received: from skeeve.com (skeeve.com [127.0.0.1])
- by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id rBGJQJfQ002202
- for <arnold@localhost>; Mon, 16 Dec 2013 21:27:19 +0200
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- frenzy.freefriends.org
-X-Spam-Level:
-X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
- DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW autolearn=ham
- version=3.3.1
-X-Envelope-From: wb8tyw@gmail.com
-X-Envelope-To: <arnold@skeeve.com>
-Received: from frenzy.freefriends.org [66.54.153.139]
- by skeeve.com with IMAP (fetchmail-6.3.21)
- for <arnold@localhost> (single-drop); Mon, 16 Dec 2013 21:27:19 +0200 (IST)
-Received: from mail-ie0-f173.google.com (mail-ie0-f173.google.com [209.85.223.173])
- by freefriends.org (8.14.6/8.14.6) with ESMTP id rBG6Tatb002732
- for <arnold@skeeve.com>; Sun, 15 Dec 2013 23:29:39 -0700
-Received: by mail-ie0-f173.google.com with SMTP id to1so5932042ieb.4
- for <arnold@skeeve.com>; Sun, 15 Dec 2013 22:29:36 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=gmail.com; s=20120113;
- h=message-id:date:from:user-agent:mime-version:to:cc:subject
- :content-type;
- bh=ksiNjtwxRvh74kzY1LKaRL/l+Ja2PriUxgPwwm+Igho=;
- b=BiJLgaDXXU4R0IwBKeNvon0qca3q3Le4HtVArPhKruA9rRhSqfVcTRHrQ8fF1r0f5h
- N28vQidBEX3PNHi9k0uzfHF1sqT7LHGxOfSS/7ipk8UWoa4BVB3taSOFAAMzTkQUeduC
- 2RNaWLJHjFR4xRvkOwYqJPVikLyg2atmds6iLoxKOFbNCz+KUFQacDmaCLiibEg4pxV1
- DsZWlBKLFrl8wXF5+gy3ZAj3FafIZluCgY5rUqrfXxrV9a7kumGrgljPG84MAOT01eCe
- nXnlrhJgxIAjndT7sYPSYGZkeieSagmN57kRqefNkHk9PhdF5RbY3J0PBC7r0cJn/MKE
- Uh0A==
-X-Received: by 10.50.154.102 with SMTP id vn6mr13663789igb.1.1387175375953;
- Sun, 15 Dec 2013 22:29:35 -0800 (PST)
-Received: from [192.168.0.101] (173-19-202-206.client.mchsi.com. [173.19.202.206])
- by mx.google.com with ESMTPSA id da14sm14704681igc.1.2013.12.15.22.29.33
- for <multiple recipients>
- (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
- Sun, 15 Dec 2013 22:29:34 -0800 (PST)
-Message-ID: <52AE9DD7.1020409@gmail.com>
-Date: Mon, 16 Dec 2013 00:29:43 -0600
-From: John Malmberg <wb8tyw@gmail.com>
-User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3
-MIME-Version: 1.0
-To: Aharon Robbins <arnold@skeeve.com>
-CC: "John E. Malmberg" <wb8tyw@qsl.net>
-Subject: Updates for gawktexi.in,readme.vms
-Content-Type: multipart/mixed;
- boundary="------------040502020402090508010905"
-Status: RO
-X-Status: A
-
-This is a multi-part message in MIME format.
---------------040502020402090508010905
-Content-Type: text/plain; charset=ISO-8859-1; format=flowed
-Content-Transfer-Encoding: 7bit
-
-Hello Arnold,
-
-These are the preliminary updates for the VMS documentation.
-
-I forgot to document (not sure where to put it)
-
- * The exit code reporting in GAWK is wrong and violates VMS
- standards. This is a common problem in older ports because
- the exit() was not implemented correctly, and neither was
- the rest of the C runtime. Day 1 porting bug that was inevitable.
-
- The first problem is that if I fix it to report the correct exit
- status, it would break DCL procedures written to expect the
- wrong value.
-
- The second problem is that the new exit() call does not
- allow setting the severity values and the existing gawk code
- is setting them for tests to use.
-
- Using reverse engineering, I have determined how to encode
- the correct exit codes with severity into the old exit()
- API.
-
- If the shell is a UNIX shell:
-
- * The input parameters and options are handled the same as Unix.
- (I have forgotten if I sent you that patch yet)
-
- * The exit codes are correct. The DCL severity information
- is also added even though most C programs will not use them.
-
-I do not know if would be permissible to change the behavior to always
-use the correct exit code with the severity values set.
-
-Existing DCL code using the severity values would not notice this change.
-
-I would have to document how to convert UNIX exit codes to DCL values
-for people to get the original codes back.
-
-
-
-In the documentation, I have been trying to change the case of the
-filenames referenced in the VMS sections to be exact instead in upper case.
-
-
-In general, on the older ODS-2 VMS file system, the files were stored
-and displayed in upper case.
-
-In the newer ODS-5 file system, filenames are stored in a case preserved
-state and are when unpacked from a repository are still in lower case.
-
-The VMS DCL shell also has an optional mode /PARSE=EXTEND mode where it
-handles those names.
-
-In the normal mode DCL converts all unquoted parameters to upper case,
-and then the C runtime converts all unquoted parameters to lower case.
-A slight but significant difference.
-
-In the extended mode, DCL and the C runtime will also not do any
-conversion of parameters.
-
-Which means that in extended mode, the target to the MMS or MMK program
-needs to be in the exact case, or it may not be found.
-
-When you have an NFS mounted volume, like I do, things get a bit strange
-on older VMS, like VAX/VMS, because it presents lower case filenames in
-upper case, and uses the $ character to indicate when the case gets
-inverted.
-
-Example:
-
-TOAD> dir src_root:[gawk.readme_d]readme.vms
-%DIRECT-E-OPENIN, error opening SRC_ROOT:[GAWK.README_D]README.VMS;* as
-input
-
-TOAD> dir src_root:[gawk.$readme_$d]$readme.vms
-
-Directory SRC_ROOT:[GAWK.$README_$D]
-
-$README.VMS;1
-
-On current versions of VMS that support ODS-5, the exact case of the
-files are seen.
-
-EAGLE> dir src_root:[gawk.readme_d]readme.vms
-
-Directory SRC_ROOT:[gawk.README_d]
-
-README.VMS;1
-
-This affects build procedures as they must look for both path names.
-
-Regards,
--John
-
---------------040502020402090508010905
-Content-Type: text/plain; charset=windows-1252;
- name="gawktexti_in.gdiff"
-Content-Transfer-Encoding: 7bit
-Content-Disposition: attachment;
- filename="gawktexti_in.gdiff"
-
---- /src_root/gawk/doc/gawktexi.in Fri Dec 13 17:43:41 2013
-+++ /vms_root/gawk/doc/gawktexi.in Sun Dec 15 23:28:13 2013
-@@ -32713,6 +32713,9 @@
- @item
- Prestandard VAX C compiler for VAX/VMS
-
-+@item
-+GCC for VAX and Alpha has not been tested for a while.
-+
- @end itemize
-
- @end itemize
-@@ -33993,41 +33996,96 @@
- @appendixsubsubsec Compiling @command{gawk} on VMS
- @cindex compiling @command{gawk} for VMS
-
--To compile @command{gawk} under VMS, there is a @code{DCL} command procedure that
--issues all the necessary @code{CC} and @code{LINK} commands. There is
--also a @file{Makefile} for use with the @code{MMS} utility. From the source
--directory, use either:
-+To compile @command{gawk} under VMS, there is a @code{DCL} command procedure
-+that issues all the necessary @code{CC} and @code{LINK} commands. There is
-+also a @file{Makefile} for use with the @code{MMS} or @code{MMK} utility.
-+From the source directory, use either:
-
- @example
--$ @kbd{@@[.VMS]VMSBUILD.COM}
-+$ @kbd{@@[.vms]vmsbuild.com}
- @end example
-
- @noindent
- or:
-
- @example
--$ @kbd{MMS/DESCRIPTION=[.VMS]DESCRIP.MMS GAWK}
-+$ @kbd{MMS/DESCRIPTION=[.vms]descrip.mms gawk}
- @end example
-+or:
-+
-+@example
-+$ @kbd{MMK/DESCRIPTION=[.vms]descrip.mms gawk}
-+@end example
-+
-+The @code{MMK} is an open source freeware near clone of @code{MMS} and
-+can better handle @code{ODS-5} volumes with upper and lower case filenames.
-+@code{MMK} is available from @url{https://github.com/endlesssoftware/mmk}.
-+
-+With @CODE{ODS-5} volumes and extended parsing enabled, the case of the target
-+parameter may need to be exact.
-
- Older versions of @command{gawk} could be built with VAX C or
- GNU C on VAX/VMS, as well as with DEC C, but that is no longer
- supported. DEC C (also briefly known as ``Compaq C'' and now known
- as ``HP C,'' but referred to here as ``DEC C'') is required. Both
--@code{VMSBUILD.COM} and @code{DESCRIP.MMS} contain some obsolete support
-+@code{vmsbuild.com} and @code{descrip.mms} contain some obsolete support
- for the older compilers but are set up to use DEC C by default.
-
--@command{gawk} has been tested under Alpha/VMS 7.3-1 using Compaq C V6.4,
--and on Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.@footnote{The IA64
--architecture is also known as ``Itanium.''}
-+@command{gawk} has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1
-+using Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.
-+Most recent builds are were using HP C V7.3 on Alpha VMS 8.3 and both
-+Alpha and IA64 VMS 8.4 using HP C 7.3.
-+@footnote{The IA64 architecture is also known as ``Itanium.''}
-+
-+Work is currently being done for a procedure to build @code{gawk} and create
-+a PCSI kit for compatible with the GNV product.
-+
-+@appendixsubsubsec Compiling @command{gawk} Dynamic Extensions on VMS
-+
-+Dynamic extensions need to be compiled with the same compiler options for
-+floating point, pointer size, and symbol name handling as @code{gawk}.
-+Alpha and Itanium should use IEEE floating point. The pointer size is 32 bits,
-+and the symbol name handling is to be exact case with CRC shortening for
-+symbols longer than 32 bits.
-+
-+Alpha and Itanium:
-+
-+@example
-+/name=(as_is,short)
-+/float=ieee/ieee_mode=denorm_results
-+@end example
-+
-+VAX:
-+
-+@example
-+/name=(as_is,short)
-+@end example
-+
-+Compile time macros needed to be defined before the first VMS supplied
-+header file is included.
-+
-+@example
-+#if (__CRTL_VER >= 70200000) && !defined (__VAX)
-+#define _LARGEFILE 1
-+#endif
-+
-+#ifndef __VAX
-+#ifdef __CRTL_VER
-+#if __CRTL_VER >= 80200000
-+#define _USE_STD_STAT 1
-+#endif
-+#endif
-+#endif
-+@end example
-
- @node VMS Installation Details
- @appendixsubsubsec Installing @command{gawk} on VMS
-
--To install @command{gawk}, all you need is a ``foreign'' command, which is
--a @code{DCL} symbol whose value begins with a dollar sign. For example:
-+To use @command{gawk}, all you need is a ``foreign'' command, which is a
-+@code{DCL} symbol whose value begins with a dollar sign. For example:
-
- @example
--$ @kbd{GAWK :== $disk1:[gnubin]GAWK}
-+$ @kbd{GAWK :== $disk1:[gnubin]gawk}
- @end example
-
- @noindent
-@@ -34039,10 +34097,15 @@
- @file{sylogin.com} procedure, which allows all users
- to run @command{gawk}.
-
-+If your @command{gawk} was installed by a PCSI kit into the
-+@file{GNV$GNU:} directory tree, the program will be known as
-+@file{GNV$GNU:[bin]gnv$gawk.exe} and the help file will be
-+@file{GNV$GNU:[vms_help]gawk.hlp}.
-+
- Optionally, the help entry can be loaded into a VMS help library:
-
- @example
--$ @kbd{LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP}
-+$ @kbd{LIBRARY/HELP sys$help:helplib [.vms]gawk.hlp}
- @end example
-
- @noindent
-@@ -34106,6 +34169,19 @@
- of @env{AWKPATH} is a comma-separated list of directory specifications.
- When defining it, the value should be quoted so that it retains a single
- translation and not a multitranslation @code{RMS} searchlist.
-+
-+@node VMS GNV
-+
-+The VMS GNV package provides a build environment similar to POSIX with ports
-+of a collection of open source tools. The @command{gawk} found in the GNV
-+base kit is an older port. Currently the GNV project is being reorganized
-+to be individual PCSI packages for each component.
-+@url{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}
-+
-+The normal build procedure @command{gawk} will produce a program that
-+is suitable for use with GNV. At this time work is being done to create
-+the procedures for building a PCSI kit to replace the older @code{gawk}
-+port.
-
- @ignore
- @c The VMS POSIX product, also known as POSIX for OpenVMS, is long defunct
-
---------------040502020402090508010905
-Content-Type: text/plain; charset=windows-1252;
- name="readme_vms.gdiff"
-Content-Transfer-Encoding: 7bit
-Content-Disposition: attachment;
- filename="readme_vms.gdiff"
-
---- /src_root/gawk/readme_d/README.VMS Fri Dec 13 17:43:41 2013
-+++ /vms_root/gawk/readme_d/README.VMS Sun Dec 15 22:57:42 2013
-@@ -37,6 +37,38 @@
- GAWK was originally ported for VMS V4.6 and up. It has not been tested
- with a release that old for some time.
-
-+Compiling dynamic extensions on VMS:
-+
-+Dynamic extensions need to be compiled with the same compiler options for
-+floating point, pointer size, and symbol name handling as gawk.
-+Alpha and Itanium should use IEEE floating point. The pointer size is 32 bits,
-+and the symbol name handling is to be exact case with CRC shortening for
-+symbols longer than 32 bits.
-+
-+Alpha and Itanium:
-+
-+/name=(as_is,short)
-+/float=ieee/ieee_mode=denorm_results
-+
-+VAX:
-+
-+/name=(as_is,short)
-+
-+Compile time macros needed to be defined before the first VMS supplied
-+header file is included.
-+
-+#if (__CRTL_VER >= 70200000) && !defined (__VAX)
-+#define _LARGEFILE 1
-+#endif
-+
-+#ifndef __VAX
-+#ifdef __CRTL_VER
-+#if __CRTL_VER >= 80200000
-+#define _USE_STD_STAT 1
-+#endif
-+#endif
-+#endif
-+
-
- Installing GAWK on VMS:
-
-@@ -47,6 +79,10 @@
- That symbol should be placed in the user's login.com or in the system-
- wide sylogin.com procedure so that it will be defined every time the
- user logs on.
-+
-+If your gawk was installed by a PCSI kit into the GNV$GNU: directory tree,
-+the program will be known as GNV$GNU:[bin]gnv$gawk.exe and the help file
-+will be GNV$GNU:[vms_help]gawk.hlp.
-
- Optionally, the help entry can be loaded into a VMS help library.
- |$ LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP
-
---------------040502020402090508010905--
-
-From wb8tyw@qsl.net Wed Dec 11 20:03:44 2013
-Return-Path: <wb8tyw@qsl.net>
-Received: from skeeve.com (skeeve.com [127.0.0.1])
- by skeeve.com (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id rBBI3gNX002464
- for <arnold@localhost>; Wed, 11 Dec 2013 20:03:43 +0200
-X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
- frenzy.freefriends.org
-X-Spam-Level:
-X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM
- autolearn=ham version=3.3.1
-X-Envelope-From: wb8tyw@qsl.net
-X-Envelope-To: <arnold@skeeve.com>
-Received: from frenzy.freefriends.org [66.54.153.139]
- by skeeve.com with IMAP (fetchmail-6.3.21)
- for <arnold@localhost> (single-drop); Wed, 11 Dec 2013 20:03:43 +0200 (IST)
-Received: from Encompasserve.org (Eisner.encompasserve.org [67.53.90.116])
- by freefriends.org (8.14.6/8.14.6) with ESMTP id rBB5jaW9020988
- for <arnold@skeeve.com>; Tue, 10 Dec 2013 22:45:40 -0700
-Received: from [192.168.0.101]
- (173-19-202-206.client.mchsi.com [173.19.202.206])
- by Encompasserve.org (PMDF V6.6 #13031)
- with ESMTPSA id <01P1SYL5LELG002FZE@Encompasserve.org> for arnold@skeeve.com;
- Tue, 10 Dec 2013 23:45:35 -0600 (CST)
-Date: Tue, 10 Dec 2013 23:45:36 -0600
-From: "John E. Malmberg" <wb8tyw@qsl.net>
-Subject: Re: Some questions...
-In-reply-to: <201312110426.rBB4QXXc003297@skeeve.com>
-To: Aharon Robbins <arnold@skeeve.com>
-Cc: wb8tyw@qsl.net
-Message-id: <52A7FC00.2040905@qsl.net>
-MIME-version: 1.0
-Content-type: text/plain; charset=ISO-8859-1; format=flowed
-Content-transfer-encoding: 7BIT
-User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130215
- Thunderbird/17.0.3
-References: <529A9537.7090404@qsl.net> <201312110426.rBB4QXXc003297@skeeve.com>
-Status: R
-
-On 12/10/2013 10:26 PM, Aharon Robbins wrote:
-> Hi. Some questions about your changes.
->
-> 1. I notice that there is at least one instance of #if __VMS, where as
-> it seems most code uses #if VMS. Is that on purpose? If not, which
-> is correct?
-
-VMS is a macro historically pre-defined by C compilers on C before the
-ANSI rules.
-
-Under strict ANSI rules, a standards compliant compiler is not allowed
-to pre-define macros that are not prefixed by "__".
-
-Which means that you can not count on the VMS macro being defined unless
-you do it yourself.
-
-So __VMS is the ANSI correct definition. But it would be a lot of work
-to change all the code.
-
-The vms_config.h that is now generated has these lines in it to make
-sure that VMS is defined.
-
-#ifdef __VMS /* ANSI compliant */
-#ifndef VMS /* PRE-ansi */
-#define VMS 1
-#endif
-#endif
-
-This may be needed for other architectures. It only shows up as an
-issue if you set a "strict" compliance flag on the compile command.
-
-> 2. For the include of the main wrapper. Gawk already has a routine
-> os_arg_fixup which is intended to manipulate argc and argv as needed
-> by an OS-specific routine before main() parses it. A quick look at
-> the wrapper looks to me like it could be made to fit within that framework,
-> which would keep #if and the include out of the mainline code.
-
-I can look at that. I can also look to see if I can move the logic from
-vms_crtl_init.c into it in a way that would sidestep that it has no
-copyright notice at all. The result would be code that is almost
-identical to code that is in the official Perl distribution.
-
-GNV was started as a user project and when the VMS POSIX product was
-dropped and they needed a Unix like environment, Digital took over the
-GNV product, but did not really do much to keep it up to date.
-
-The routine in vms_crtl_init.c is actually called before main() is
-called, so just linking a module with it in is all that it takes to
-activate the change. Unfortunately I do not know how to get it to
-magically fix up the argv array.
-
-> If that looks reasonable to you, can you make that change? You can send
-> it as a diff against what you currently have already done.
-
-I will look at it tomorrow night. I also found another change needed
-for vms_args.c to work properly under a bash shell.
-
-> I'm sorry about the hassle on the copyrights, but I really have to play
-> this game by the FSF rules. I hope we can get it clarified soon
-> so that I can include the files in the dist.
-
-I hope so. I have not seen a reply from Karl yet. He did say that
-there are other options.
-
-This would clear the way for getting the similar code accepted into the
-Bash and coreutils repositories. I have a report that the first bash
-4.3 beta built on VMS and looked real good on the test run.
-
-I am currently working on adapting the packaging scripts from bash and
-coreutils to gawk. Each product has had it unique features, so I have
-not yet come up with a generic set of scripts.
-
-This is a preview what will be coming:
-
-backup_gawk_src.com - Builds a VMS equivalent to tar archive. By
-placing the source in the PCSI kit, it covers the requirement of
-providing source somewhere with the binary.
-
-build_gawk_pcsi_desc.com - Creates a VMS PCSI package manifest file.
-
-build_gawk_pcsi_text.com - text output by the VMS PCSI package installer.
-
-compare_gawk_source.com - I have the source checked out on an NFS
-server. The backup program needs me to copy it to a VMS volume first.
-This procedure makes sure that the two copies are the same and ready for
-backup.
-
-gawk_alias_setup.com - Sets up gawk and awk links to gnv$gawk.exe.
-Needed to repair when sins of the past partially break an install.
-
-gawk_verb.cld - for gawk to use gnv$gawk.exe as an image. Different
-than gawk.cld. To properly add an image to the VMS command table, it
-needs a prefix. I have "GNV$" registered as a prefix for this purpose.
-
-gnv_gawk_kit_name.com - Calculates the VMS PCSI package name, used for
-both file names and file contents.
-
-gnv_gawk_startup.com - Run at VMS startup to make sure that the
-environment is set up properly for gawk.
-
-pcsi_gawk_file_list.txt - Source file for build_gawk_pcsi_desc.com.
-
-remove_old_gawk.com - Needed to properly clean up sins of the past.
-Only touches the the GNV provided gawk and awk programs.
-
-stage_gawk_install.com - Does a pre-install into a fake "root" directory
-tree for the kitting procedure to pull files out of.
-
-Regards,
--John
-
diff --git a/vms/vmstest.com b/vms/vmstest.com
index 6d46c4d7..30bdbf22 100644
--- a/vms/vmstest.com
+++ b/vms/vmstest.com
@@ -120,8 +120,9 @@ $ list = "include2 indirectcall lint lintold lintwarn match1" -
+ " nondec2 patsplit posix profile1 procinfs printfbad1" -
+ " printfbad2 printfbad3 profile2 profile3 pty1" -
+ " regx8bit rebuf reginttrad reint reint2 rsstart1 rsstart2 rsstart3 rstest6" -
- + " shadow sortfor sortu splitarg4 strtonum strftime switch2" -
- + " symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 symtab7 symtab8 symtab9"
+ + " shadow sortfor sortu split_after_fpat splitarg4" -
+ + " strtonum strftime switch2 symtab1 symtab2 symtab3" -
+ + " symtab4 symtab5 symtab6 symtab7 symtab8 symtab9"
$ gosub list_of_tests
$ return
$
@@ -267,6 +268,7 @@ $rstest6:
$rswhite:
$sortempty:
$sortfor:
+$split_after_fpat:
$splitarg4:
$splitargv:
$splitarr:
@@ -604,6 +606,14 @@ $ ! this test could fail on slow machines or on a second boundary,
$ ! so if it does, double check the actual results
$ ! This test needs SYS$TIMEZONE_NAME and SYS$TIMEZONE_RULE
$ ! to be properly defined.
+$ ! This test now needs GNV Corutils to work
+$ date_bin = "gnv$gnu:[bin]gnv$date.exe"
+$ if f$search(date_bin) .eqs. ""
+$ then
+$ echo "''test' skipped"
+$ return
+$ endif
+$ date := $'date_bin'
$!! date | gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk
$ now = f$time()
$ wkd = f$extract(0,3,f$cvtime(now,,"WEEKDAY"))
@@ -1900,7 +1910,8 @@ $ then
$ call exit_code '$status' _'test'.tmp
$ write sys$output _'test'.tmp
$ else
-$ rm _'test'.tmp;*,_'test'.;*
+$ if f$search("_''test'.tmp") .nes. "" then rm _'test'.tmp;*
+$ if f$search("_''test'.") .nes. "" then rm _'test'.;*
$ endif
$ set On
$ return