summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--ChangeLog110
-rw-r--r--Makefile.in10
-rw-r--r--NEWS8
-rw-r--r--README6
-rw-r--r--README.git53
-rw-r--r--README_d/ChangeLog10
-rw-r--r--aclocal.m41
-rw-r--r--awkgram.c36
-rw-r--r--awkgram.y38
-rw-r--r--awklib/ChangeLog4
-rw-r--r--awklib/Makefile.in10
-rw-r--r--builtin.c5
-rw-r--r--configh.in13
-rwxr-xr-xconfigure5
-rw-r--r--configure.ac7
-rw-r--r--dfa.c2246
-rw-r--r--dfa.h19
-rw-r--r--doc/ChangeLog9
-rw-r--r--doc/Makefile.in10
-rw-r--r--doc/awkcard.in7
-rw-r--r--doc/gawk.info962
-rw-r--r--doc/gawk.texi21
-rw-r--r--doc/texinfo.tex1161
-rw-r--r--ext.c14
-rw-r--r--extension/ChangeLog9
-rw-r--r--getopt.c133
-rw-r--r--getopt.h11
-rw-r--r--getopt1.c10
-rw-r--r--getopt_int.h5
-rw-r--r--io.c2
-rw-r--r--m4/ChangeLog9
-rw-r--r--m4/noreturn.m438
-rw-r--r--main.c19
-rw-r--r--mbsupport.h6
-rw-r--r--missing_d/ChangeLog4
-rw-r--r--pc/ChangeLog58
-rw-r--r--pc/Makefile7
-rw-r--r--pc/Makefile.tst115
-rw-r--r--pc/config.h19
-rw-r--r--pc/config.sed2
-rw-r--r--pc/gawkmisc.pc23
-rw-r--r--pc/testoutcmp.awk19
-rw-r--r--po/ChangeLog4
-rw-r--r--po/da.gmobin48739 -> 46123 bytes
-rw-r--r--po/da.po1461
-rw-r--r--po/de.gmobin52166 -> 49358 bytes
-rw-r--r--po/de.po1076
-rw-r--r--po/es.gmobin51471 -> 48746 bytes
-rw-r--r--po/es.po1079
-rw-r--r--po/fi.gmobin51684 -> 48930 bytes
-rw-r--r--po/fi.po1075
-rw-r--r--po/fr.gmobin53311 -> 50390 bytes
-rw-r--r--po/fr.po1076
-rw-r--r--po/gawk.pot970
-rw-r--r--po/it.gmobin44316 -> 41479 bytes
-rw-r--r--po/it.po1065
-rw-r--r--po/ja.gmobin55596 -> 52218 bytes
-rw-r--r--po/ja.po1064
-rw-r--r--po/nl.gmobin49267 -> 46629 bytes
-rw-r--r--po/nl.po1077
-rw-r--r--po/pl.gmobin50946 -> 48745 bytes
-rw-r--r--po/pl.po1095
-rw-r--r--po/sv.gmobin48752 -> 46113 bytes
-rw-r--r--po/sv.po1077
-rw-r--r--posix/ChangeLog4
-rw-r--r--re.c5
-rw-r--r--regcomp.c42
-rw-r--r--regex.c5
-rw-r--r--regex.h18
-rw-r--r--regex_internal.c37
-rw-r--r--regex_internal.h10
-rw-r--r--regexec.c27
-rw-r--r--test/ChangeLog15
-rw-r--r--test/Makefile.am80
-rw-r--r--test/Makefile.in95
-rw-r--r--test/Maketests5
-rw-r--r--test/printfbad3.awk22
-rw-r--r--test/printfbad3.ok1
-rw-r--r--vms/ChangeLog24
-rw-r--r--vms/descrip.mms2
-rw-r--r--vms/vms-conf.h20
-rw-r--r--vms/vmsbuild.com2
-rw-r--r--vms/vmstest.com16
84 files changed, 9418 insertions, 8386 deletions
diff --git a/.gitignore b/.gitignore
index e2ae74d3..533493a3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ gawk
pgawk
stamp-h1
+test/fmtspcl.ok
diff --git a/ChangeLog b/ChangeLog
index 67d016a8..848ab3b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -87,6 +87,114 @@
initialize_watch_item, do_watch, print_watch_item): Minor adjustments.
(debug_pre_execute): Adjusted to handle MPFR and GMP numbers.
+2012-03-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * configure.ac (GAWK_AC_NORETURN): Do as macro instead of inline.
+
+2012-03-29 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.h, dfa.c: Sync with grep. Major cleanups and some changes
+ there.
+ * re.c (research): Pass size_t* to dfaexec to match type change.
+ * configure.ac (AH_VERBATIM[_Noreturn]): Added from Paul Eggert to
+ ease compiling.
+ (AC_INIT): Bump version.
+ * configure, configh.in, version.c: Regenerated.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * getopt.c: Add DJGPP to list of platforms where it's ok
+ to include <stdlib.h>.
+ * awkgram.y, builtin.c, ext.c, mbsupport.h, re.c: Update
+ copyright year.
+
+2012-03-21 Corinna Vinschen <vinschen@redhat.com>
+
+ * getopt.c: Add Cygwin to list of platforms where it's ok
+ to include <stdlib.h>.
+
+2012-03-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ Get new getopt to work on Linux and C90 compilers:
+
+ * getopt.c: Undef ELIDE_CODE for gawk.
+ (_getopt_internal_r): Init first.needs_free to 0. In test for -W
+ move executable code to after declarations for C90 compilers.
+ * getopt1.c: Undef ELIDE_CODE for gawk.
+
+ Minor bug fix with printf, thanks to John Haque:
+
+ * builtin.c (format_tree): Initialize base to zero at the top
+ of the while loop.
+
+ Getting next tar ball ready:
+
+ * configure.ac: Remove duplicate check for wcscoll. Thanks
+ to Stepan Kasal.
+
+2012-03-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * getopt.c, getopt.h, getopt1.c, getopt_int.h, regcomp.c,
+ regex.c, regex.h, regex_internal.c, regex_internal.h,
+ regexec.c: Sync with GLIBC, what the heck.
+
+2012-03-14 Eli Zaretskii <eliz@gnu.org>
+
+ * mbsupport.h (btowc): Change for non-DJGPP.
+ * re.c (dfaerror): Add call to exit for DJGPP.
+
+2012-03-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * regex_internal.c (re_string_skip_chars): Fix calculation of
+ remain_len with m.b. chars. Thanks to Stanislav Brabec
+ <sbrabec@suse.cz>.
+
+2012-02-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * main.c (init_groupset): Make `getgroups' failing a non-fatal
+ error. After all, what's the big deal? Should help on Plan 9.
+
+2012-02-27 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c (parse_bracket_exp): Revert changes 2012-02-15 to stay
+ in sync with grep.
+ * dfa.h (dfarerror): Add __attribute__ from grep.
+
+2012-02-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ Fix warnings from GCC 4.6.2 -Wall option.
+
+ * awkgram.y (newline_eof): New function to replace body of
+ NEWLINE_EOF macro.
+ (yylex): Replace body of NEWLINE_EOF macro.
+ * dfa.c (parse_bracket_exp): Init variables to zero.
+ * ext.c (dummy, junk): Remove.
+ * regex_internal.c (re_string_reconstruct): Remove buf array. It was
+ set but not used.
+
+2012-02-10 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c: Sync with GNU grep.
+
+2012-02-07 Arnold D. Robbins <arnold@skeeve.com>
+
+ * main.c (main): Move init of `output_fp' to before parsing of
+ program so that error messages from msg.c don't dump core.
+ Thanks to Michael Haardt <michael@moria.de>.
+
+2012-01-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c [is_valid_unibtye_character]: Fix from GNU grep to
+ bug reported by me from Scott Deifik for DJGPP.
+
+2012-01-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c: Sync with GNU grep.
+
2012-01-02 Arnold D. Robbins <arnold@skeeve.com>
* io.c (Read_can_timeout, Read_timeout, Read_default_timeout):
@@ -111,7 +219,7 @@
* profile_p.c: Remove the file.
* msg.c (err): Remove check for name being dgawk.
-
+=======
2011-12-31 Arnold D. Robbins <arnold@skeeve.com>
* awk.h [STREQ, STREQN]: Remove macros.
diff --git a/Makefile.in b/Makefile.in
index 3775dc4a..b3da3c8e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -73,11 +73,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
- $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
diff --git a/NEWS b/NEWS
index 803c1d52..b422e4ec 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -23,7 +23,11 @@ Changes from 4.0.0 to 4.0.1
the behavior of 3.1. It was silly to think I could break compatibility that
way, even for standards compliance.
-XXX. Lots of minor bugs fixed and portability clean-ups along the way. See
+2. Completed the implementation of Rational Range Interpretation.
+
+3. Failure to get the group set is no longer a fatal error.
+
+4. Lots of minor bugs fixed and portability clean-ups along the way. See
the ChangeLog for details.
Changes from 3.1.8 to 4.0.0
diff --git a/README b/README
index 3e009c5c..b752c65a 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
- Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011
+ Copyright (C) 2005, 2006, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
@@ -7,11 +7,11 @@
README:
-This is GNU Awk 4.0.0. It is upwardly compatible with Brian Kernighan's
+This is GNU Awk 4.0.1. It is upwardly compatible with Brian Kernighan's
version of Unix awk. It is almost completely compliant with the
2008 POSIX 1003.1 standard for awk. (See the note below about POSIX.)
-This is a major new release. See NEWS and ChangeLog for details.
+This is a bug fix release. See NEWS and ChangeLog for details.
Work to be done is described briefly in the FUTURES file. Changes in this
version are summarized in the NEWS file. Please read the LIMITATIONS file.
diff --git a/README.git b/README.git
index 59079598..70840f3a 100644
--- a/README.git
+++ b/README.git
@@ -20,10 +20,18 @@ Really.
You can find gawk's GIT repository at Savannah
https://savannah.gnu.org/git/?group=gawk
+
Detailed instructions on using and contributing to gawk can also be
-found there
-http://savannah.gnu.org/maintenance/UsingGit
+found at Savannah, see http://savannah.gnu.org/maintenance/UsingGit
+
+Thanks,
+
+Arnold Robbins
+Gawk Maintainer
+=====================================================================
+Here are some questions and answers related to using git compiled
+by several of the gawk maintainers.
- How can I check out the GIT repository ?
@@ -235,8 +243,43 @@ You can inspect the log history file-wise but also directory-wise.
git gc
+- I'm a devoted user of Bazaar, and don't want to switch to git. Is
+ there any way for me to track Gawk development with bzr?
-Thanks,
+Yes, there is. First, install the latest version of bzr (2.5.0 or
+later is required). If it doesn't come with the bzr-git plugin,
+download and install it from https://launchpad.net/bzr-git. You will
+also need dulwich, which is a Python implementation of the git
+protocol; get it from http://www.samba.org/~jelmer/dulwich/.
-Arnold Robbins
-Gawk Maintainer
+(To know whether you have bzr-git, type "bzr plugins".)
+
+Next, clone the Gawk git repository with this command:
+
+ bzr git-import git://git.savannah.gnu.org/gawk.git gawk
+
+This will create a directory called 'gawk' with meta-data of the
+repository, but without any working trees. To checkout the files,
+chdir to that directory and type:
+
+ bzr checkout
+
+This will checkout the files for the default branch. To see the list
+of branches, type
+
+ bzr branches
+
+To switch to another branch, type
+
+ bzr switch --force BRANCH
+
+where BRANCH is the name of the branch, e.g. 'xgawk'. (The --force
+option is a workaround for an annoying misfeature in bzr 2.5.0, which
+will most probably be resolved in the near future.)
+
+To sync the current branch with upstream, type
+
+ bzr pull
+
+If you want to update several branches, "bzr switch" to each one in
+turn, followed by "bzr pull" to sync the branch.
diff --git a/README_d/ChangeLog b/README_d/ChangeLog
index e319a9ce..0310bd8d 100644
--- a/README_d/ChangeLog
+++ b/README_d/ChangeLog
@@ -1,8 +1,14 @@
2012-04-11 John Haque <j.eh@mchsi.com>
- README.hacking: New file.
+
+ * README.hacking: New file.
2012-04-01 John Haque <j.eh@mchsi.com>
- README.mpfr: New file.
+
+ * README.mpfr: New file.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
2011-07-29 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/aclocal.m4 b/aclocal.m4
index bc66ce56..c2a9c005 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -965,6 +965,7 @@ m4_include([m4/libsigsegv.m4])
m4_include([m4/longlong.m4])
m4_include([m4/mpfr.m4])
m4_include([m4/nls.m4])
+m4_include([m4/noreturn.m4])
m4_include([m4/po.m4])
m4_include([m4/progtest.m4])
m4_include([m4/readline.m4])
diff --git a/awkgram.c b/awkgram.c
index 8858e772..07de29e4 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -5480,6 +5480,32 @@ allow_newline(void)
}
}
+/* newline_eof --- return newline or EOF as needed and adjust variables */
+
+/*
+ * This routine used to be a macro, however GCC 4.6.2 warned about
+ * the result of a computation not being used. Converting to a function
+ * removes the warnings.
+ */
+
+static int newline_eof()
+{
+ /* NB: a newline at end does not start a source line. */
+ if (lasttok != NEWLINE) {
+ pushback();
+ if (do_lint && ! eof_warned) {
+ lintwarn(_("source file does not end in newline"));
+ eof_warned = TRUE;
+ }
+ sourceline++;
+ return NEWLINE;
+ }
+
+ sourceline--;
+ eof_warned = FALSE;
+ return LEX_EOF;
+}
+
/* yylex --- Read the input and turn it into tokens. */
static int
@@ -5499,15 +5525,7 @@ yylex(void)
#define GET_INSTRUCTION(op) bcalloc(op, 1, sourceline)
- /* NB: a newline at end does not start a source line. */
-
-#define NEWLINE_EOF \
- (lasttok != NEWLINE ? \
- (pushback(), do_lint && ! eof_warned && \
- (lintwarn(_("source file does not end in newline")), \
- eof_warned = TRUE), sourceline++, NEWLINE) : \
- (sourceline--, eof_warned = FALSE, LEX_EOF))
-
+#define NEWLINE_EOF newline_eof()
yylval = (INSTRUCTION *) NULL;
if (lasttok == SUBSCRIPT) {
diff --git a/awkgram.y b/awkgram.y
index 1c487bf5..73c45f60 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 1986, 1988, 1989, 1991-2011 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -2783,6 +2783,32 @@ allow_newline(void)
}
}
+/* newline_eof --- return newline or EOF as needed and adjust variables */
+
+/*
+ * This routine used to be a macro, however GCC 4.6.2 warned about
+ * the result of a computation not being used. Converting to a function
+ * removes the warnings.
+ */
+
+static int newline_eof()
+{
+ /* NB: a newline at end does not start a source line. */
+ if (lasttok != NEWLINE) {
+ pushback();
+ if (do_lint && ! eof_warned) {
+ lintwarn(_("source file does not end in newline"));
+ eof_warned = TRUE;
+ }
+ sourceline++;
+ return NEWLINE;
+ }
+
+ sourceline--;
+ eof_warned = FALSE;
+ return LEX_EOF;
+}
+
/* yylex --- Read the input and turn it into tokens. */
static int
@@ -2802,15 +2828,7 @@ yylex(void)
#define GET_INSTRUCTION(op) bcalloc(op, 1, sourceline)
- /* NB: a newline at end does not start a source line. */
-
-#define NEWLINE_EOF \
- (lasttok != NEWLINE ? \
- (pushback(), do_lint && ! eof_warned && \
- (lintwarn(_("source file does not end in newline")), \
- eof_warned = TRUE), sourceline++, NEWLINE) : \
- (sourceline--, eof_warned = FALSE, LEX_EOF))
-
+#define NEWLINE_EOF newline_eof()
yylval = (INSTRUCTION *) NULL;
if (lasttok == SUBSCRIPT) {
diff --git a/awklib/ChangeLog b/awklib/ChangeLog
index 2ae225be..1be7b4b7 100644
--- a/awklib/ChangeLog
+++ b/awklib/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
2011-06-24 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (EXTRA_DIST): Add ChangeLog.0.
diff --git a/awklib/Makefile.in b/awklib/Makefile.in
index 1b1a274e..8ff83c41 100644
--- a/awklib/Makefile.in
+++ b/awklib/Makefile.in
@@ -68,11 +68,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
- $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/builtin.c b/builtin.c
index b17cea9f..9134e024 100644
--- a/builtin.c
+++ b/builtin.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 1986, 1988, 1989, 1991-2011 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -653,7 +653,7 @@ format_tree(
long *cur = NULL;
uintmax_t uval;
int sgn;
- int base = 0;
+ int base;
/*
* Although this is an array, the elements serve two different
* purposes. The first element is the general buffer meant
@@ -770,6 +770,7 @@ format_tree(
cur = &fw;
fw = 0;
prec = 0;
+ base = 0;
argnum = 0;
base = 0;
have_prec = FALSE;
diff --git a/configh.in b/configh.in
index c8960d6f..e055276a 100644
--- a/configh.in
+++ b/configh.in
@@ -414,6 +414,19 @@
/* Define to 1 if on MINIX. */
#undef _MINIX
+/* The _Noreturn keyword of C11. */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+ || 0x5110 <= __SUNPRO_C)
+# define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn
+# endif
+#endif
+
+
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
diff --git a/configure b/configure
index da22093e..fbbfc462 100755
--- a/configure
+++ b/configure
@@ -8819,6 +8819,9 @@ fi
+
+
+
for ac_func in vprintf
do :
ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf"
@@ -9860,7 +9863,7 @@ for ac_func in atexit btowc fmod getgrent getgroups grantpt \
memset_ulong mkstemp setenv setlocale setsid snprintf strchr \
strerror strftime strncasecmp strcoll strtod strtoul \
system tmpfile towlower towupper tzset usleep wcrtomb \
- wcscoll wcscoll wctype
+ wcscoll wctype
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.ac b/configure.ac
index 7e07a791..e4ab7f44 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-2011 the Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2012 the Free Software Foundation, Inc.
dnl
dnl This file is part of GAWK, the GNU implementation of the
dnl AWK Programming Language.
@@ -237,6 +237,9 @@ dnl AC_MSG_ERROR([Cannot find a type to use in place of socklen_t])
])
TYPE_SOCKLEN_T
+dnl Check for C11 _Noreturn
+GAWK_AC_NORETURN
+
dnl checks for functions
AC_FUNC_VPRINTF
AC_FUNC_MKTIME
@@ -268,7 +271,7 @@ AC_CHECK_FUNCS(atexit btowc fmod getgrent getgroups grantpt \
memset_ulong mkstemp setenv setlocale setsid snprintf strchr \
strerror strftime strncasecmp strcoll strtod strtoul \
system tmpfile towlower towupper tzset usleep wcrtomb \
- wcscoll wcscoll wctype)
+ wcscoll wctype)
dnl this check is for both mbrtowc and the mbstate_t type, which is good
AC_FUNC_MBRTOWC
diff --git a/dfa.c b/dfa.c
index acd1a947..21cabc3b 100644
--- a/dfa.c
+++ b/dfa.c
@@ -1,5 +1,5 @@
/* dfa.c - deterministic extended regexp routines for GNU
- Copyright (C) 1988, 1998, 2000, 2002, 2004-2005, 2007-2011 Free Software
+ Copyright (C) 1988, 1998, 2000, 2002, 2004-2005, 2007-2012 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -58,18 +58,25 @@
/* We can handle multibyte strings. */
#include <wchar.h>
#include <wctype.h>
-
-#if HAVE_LANGINFO_CODESET
-# include <langinfo.h>
-#endif
#endif
#ifdef GAWK
#define bool int
#define true (1)
#define false (0)
+
+/* The __pure__ attribute was added in gcc 2.96. */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
#endif /* GAWK */
+#if HAVE_LANGINFO_CODESET
+# include <langinfo.h>
+#endif
+
#include "regex.h"
#include "dfa.h"
#include "xalloc.h"
@@ -112,7 +119,28 @@ typedef int charclass[CHARCLASS_INTS];
/* Convert a possibly-signed character to an unsigned character. This is
a bit safer than casting to unsigned char, since it catches some type
errors that the cast doesn't. */
-static inline unsigned char to_uchar (char ch) { return ch; }
+static inline unsigned char
+to_uchar (char ch)
+{
+ return ch;
+}
+
+/* Contexts tell us whether a character is a newline or a word constituent.
+ Word-constituent characters are those that satisfy iswalnum(), plus '_'.
+ Each character has a single CTX_* value; bitmasks of CTX_* values denote
+ a particular character class.
+
+ A state also stores a context value, which is a bitmask of CTX_* values.
+ A state's context represents a set of characters that the state's
+ predecessors must match. For example, a state whose context does not
+ include CTX_LETTER will never have transitions where the previous
+ character is a word constituent. A state whose context is CTX_ANY
+ might have transitions from any character. */
+
+#define CTX_NONE 1
+#define CTX_LETTER 2
+#define CTX_NEWLINE 4
+#define CTX_ANY 7
/* Sometimes characters can only be matched depending on the surrounding
context. Such context decisions depend on what the previous character
@@ -121,54 +149,55 @@ static inline unsigned char to_uchar (char ch) { return ch; }
is set indicates that the constraint succeeds in the corresponding
context.
- bit 7 - previous and current are newlines
- bit 6 - previous was newline, current isn't
- bit 5 - previous wasn't newline, current is
- bit 4 - neither previous nor current is a newline
- bit 3 - previous and current are word-constituents
- bit 2 - previous was word-constituent, current isn't
- bit 1 - previous wasn't word-constituent, current is
- bit 0 - neither previous nor current is word-constituent
-
- Word-constituent characters are those that satisfy isalnum().
+ bit 8-11 - valid contexts when next character is CTX_NEWLINE
+ bit 4-7 - valid contexts when next character is CTX_LETTER
+ bit 0-3 - valid contexts when next character is CTX_NONE
The macro SUCCEEDS_IN_CONTEXT determines whether a given constraint
- succeeds in a particular context. Prevn is true if the previous character
- was a newline, currn is true if the lookahead character is a newline.
- Prevl and currl similarly depend upon whether the previous and current
- characters are word-constituent letters. */
-#define MATCHES_NEWLINE_CONTEXT(constraint, prevn, currn) \
- ((constraint) & 1 << (((prevn) ? 2 : 0) + ((currn) ? 1 : 0) + 4))
-#define MATCHES_LETTER_CONTEXT(constraint, prevl, currl) \
- ((constraint) & 1 << (((prevl) ? 2 : 0) + ((currl) ? 1 : 0)))
-#define SUCCEEDS_IN_CONTEXT(constraint, prevn, currn, prevl, currl) \
- (MATCHES_NEWLINE_CONTEXT(constraint, prevn, currn) \
- && MATCHES_LETTER_CONTEXT(constraint, prevl, currl))
+ succeeds in a particular context. Prev is a bitmask of possible
+ context values for the previous character, curr is the (single-bit)
+ context value for the lookahead character. */
+#define NEWLINE_CONSTRAINT(constraint) (((constraint) >> 8) & 0xf)
+#define LETTER_CONSTRAINT(constraint) (((constraint) >> 4) & 0xf)
+#define OTHER_CONSTRAINT(constraint) ((constraint) & 0xf)
+
+#define SUCCEEDS_IN_CONTEXT(constraint, prev, curr) \
+ ((((curr) & CTX_NONE ? OTHER_CONSTRAINT(constraint) : 0) \
+ | ((curr) & CTX_LETTER ? LETTER_CONSTRAINT(constraint) : 0) \
+ | ((curr) & CTX_NEWLINE ? NEWLINE_CONSTRAINT(constraint) : 0)) & (prev))
/* The following macros give information about what a constraint depends on. */
+#define PREV_NEWLINE_CONSTRAINT(constraint) (((constraint) >> 2) & 0x111)
+#define PREV_LETTER_CONSTRAINT(constraint) (((constraint) >> 1) & 0x111)
+#define PREV_OTHER_CONSTRAINT(constraint) ((constraint) & 0x111)
+
#define PREV_NEWLINE_DEPENDENT(constraint) \
- (((constraint) & 0xc0) >> 2 != ((constraint) & 0x30))
+ (PREV_NEWLINE_CONSTRAINT (constraint) != PREV_OTHER_CONSTRAINT (constraint))
#define PREV_LETTER_DEPENDENT(constraint) \
- (((constraint) & 0x0c) >> 2 != ((constraint) & 0x03))
+ (PREV_LETTER_CONSTRAINT (constraint) != PREV_OTHER_CONSTRAINT (constraint))
/* Tokens that match the empty string subject to some constraint actually
work by applying that constraint to determine what may follow them,
taking into account what has gone before. The following values are
the constraints corresponding to the special tokens previously defined. */
-#define NO_CONSTRAINT 0xff
-#define BEGLINE_CONSTRAINT 0xcf
-#define ENDLINE_CONSTRAINT 0xaf
-#define BEGWORD_CONSTRAINT 0xf2
-#define ENDWORD_CONSTRAINT 0xf4
-#define LIMWORD_CONSTRAINT 0xf6
-#define NOTLIMWORD_CONSTRAINT 0xf9
+#define NO_CONSTRAINT 0x777
+#define BEGLINE_CONSTRAINT 0x444
+#define ENDLINE_CONSTRAINT 0x700
+#define BEGWORD_CONSTRAINT 0x050
+#define ENDWORD_CONSTRAINT 0x202
+#define LIMWORD_CONSTRAINT 0x252
+#define NOTLIMWORD_CONSTRAINT 0x525
/* The regexp is parsed into an array of tokens in postfix form. Some tokens
are operators and others are terminal symbols. Most (but not all) of these
codes are returned by the lexical analyzer. */
-typedef enum
+
+typedef ptrdiff_t token;
+
+/* Predefined token values. */
+enum
{
- END = -1, /* END is a terminal symbol that matches the
+ END = -1, /* END is a terminal symbol that matches the
end of input; any value of END or less in
the parse tree is such a symbol. Accepting
states of the DFA are those that would have
@@ -176,83 +205,83 @@ typedef enum
/* Ordinary character values are terminal symbols that match themselves. */
- EMPTY = NOTCHAR, /* EMPTY is a terminal symbol that matches
+ EMPTY = NOTCHAR, /* EMPTY is a terminal symbol that matches
the empty string. */
- BACKREF, /* BACKREF is generated by \<digit>; it
+ BACKREF, /* BACKREF is generated by \<digit>; it
is not completely handled. If the scanner
detects a transition on backref, it returns
a kind of "semi-success" indicating that
the match will have to be verified with
a backtracking matcher. */
- BEGLINE, /* BEGLINE is a terminal symbol that matches
+ BEGLINE, /* BEGLINE is a terminal symbol that matches
the empty string if it is at the beginning
of a line. */
- ENDLINE, /* ENDLINE is a terminal symbol that matches
+ ENDLINE, /* ENDLINE is a terminal symbol that matches
the empty string if it is at the end of
a line. */
- BEGWORD, /* BEGWORD is a terminal symbol that matches
+ BEGWORD, /* BEGWORD is a terminal symbol that matches
the empty string if it is at the beginning
of a word. */
- ENDWORD, /* ENDWORD is a terminal symbol that matches
+ ENDWORD, /* ENDWORD is a terminal symbol that matches
the empty string if it is at the end of
a word. */
- LIMWORD, /* LIMWORD is a terminal symbol that matches
+ LIMWORD, /* LIMWORD is a terminal symbol that matches
the empty string if it is at the beginning
or the end of a word. */
- NOTLIMWORD, /* NOTLIMWORD is a terminal symbol that
+ NOTLIMWORD, /* NOTLIMWORD is a terminal symbol that
matches the empty string if it is not at
the beginning or end of a word. */
- QMARK, /* QMARK is an operator of one argument that
- matches zero or one occurences of its
+ QMARK, /* QMARK is an operator of one argument that
+ matches zero or one occurrences of its
argument. */
- STAR, /* STAR is an operator of one argument that
+ STAR, /* STAR is an operator of one argument that
matches the Kleene closure (zero or more
occurrences) of its argument. */
- PLUS, /* PLUS is an operator of one argument that
+ PLUS, /* PLUS is an operator of one argument that
matches the positive closure (one or more
occurrences) of its argument. */
- REPMN, /* REPMN is a lexical token corresponding
+ REPMN, /* REPMN is a lexical token corresponding
to the {m,n} construct. REPMN never
appears in the compiled token vector. */
- CAT, /* CAT is an operator of two arguments that
+ CAT, /* CAT is an operator of two arguments that
matches the concatenation of its
arguments. CAT is never returned by the
lexical analyzer. */
- OR, /* OR is an operator of two arguments that
+ OR, /* OR is an operator of two arguments that
matches either of its arguments. */
- LPAREN, /* LPAREN never appears in the parse tree,
+ LPAREN, /* LPAREN never appears in the parse tree,
it is only a lexeme. */
- RPAREN, /* RPAREN never appears in the parse tree. */
+ RPAREN, /* RPAREN never appears in the parse tree. */
- ANYCHAR, /* ANYCHAR is a terminal symbol that matches
- any multibyte (or single byte) characters.
- It is used only if MB_CUR_MAX > 1. */
+ ANYCHAR, /* ANYCHAR is a terminal symbol that matches
+ any multibyte (or single byte) characters.
+ It is used only if MB_CUR_MAX > 1. */
- MBCSET, /* MBCSET is similar to CSET, but for
+ MBCSET, /* MBCSET is similar to CSET, but for
multibyte characters. */
- WCHAR, /* Only returned by lex. wctok contains
+ WCHAR, /* Only returned by lex. wctok contains
the wide character representation. */
- CSET /* CSET and (and any value greater) is a
+ CSET /* CSET and (and any value greater) is a
terminal symbol that matches any of a
class of characters. */
-} token;
+};
/* States of the recognizer correspond to sets of positions in the parse
@@ -261,116 +290,127 @@ typedef enum
a constraint. */
typedef struct
{
- unsigned int index; /* Index into the parse array. */
- unsigned int constraint; /* Constraint for matching this position. */
+ size_t index; /* Index into the parse array. */
+ unsigned int constraint; /* Constraint for matching this position. */
} position;
/* Sets of positions are stored as arrays. */
typedef struct
{
- position *elems; /* Elements of this position set. */
- int nelem; /* Number of elements in this set. */
+ position *elems; /* Elements of this position set. */
+ size_t nelem; /* Number of elements in this set. */
+ size_t alloc; /* Number of elements allocated in ELEMS. */
} position_set;
+/* Sets of leaves are also stored as arrays. */
+typedef struct
+{
+ size_t *elems; /* Elements of this position set. */
+ size_t nelem; /* Number of elements in this set. */
+} leaf_set;
+
/* A state of the dfa consists of a set of positions, some flags,
and the token value of the lowest-numbered position of the state that
contains an END token. */
typedef struct
{
- int hash; /* Hash of the positions of this state. */
- position_set elems; /* Positions this state could match. */
- char newline; /* True if previous state matched newline. */
- char letter; /* True if previous state matched a letter. */
- char backref; /* True if this state matches a \<digit>. */
- unsigned char constraint; /* Constraint for this state to accept. */
- int first_end; /* Token value of the first END in elems. */
- position_set mbps; /* Positions which can match multibyte
- characters. e.g. period.
- These staff are used only if
- MB_CUR_MAX > 1. */
+ size_t hash; /* Hash of the positions of this state. */
+ position_set elems; /* Positions this state could match. */
+ unsigned char context; /* Context from previous state. */
+ char backref; /* True if this state matches a \<digit>. */
+ unsigned short constraint; /* Constraint for this state to accept. */
+ token first_end; /* Token value of the first END in elems. */
+ position_set mbps; /* Positions which can match multibyte
+ characters. e.g. period.
+ These staff are used only if
+ MB_CUR_MAX > 1. */
} dfa_state;
+/* States are indexed by state_num values. These are normally
+ nonnegative but -1 is used as a special value. */
+typedef ptrdiff_t state_num;
+
/* A bracket operator.
e.g. [a-c], [[:alpha:]], etc. */
struct mb_char_classes
{
- int cset;
+ ptrdiff_t cset;
int invert;
- wchar_t *chars; /* Normal characters. */
- int nchars;
- wctype_t *ch_classes; /* Character classes. */
- int nch_classes;
- wchar_t *range_sts; /* Range characters (start of the range). */
- wchar_t *range_ends; /* Range characters (end of the range). */
- int nranges;
- char **equivs; /* Equivalent classes. */
- int nequivs;
+ wchar_t *chars; /* Normal characters. */
+ size_t nchars;
+ wctype_t *ch_classes; /* Character classes. */
+ size_t nch_classes;
+ wchar_t *range_sts; /* Range characters (start of the range). */
+ wchar_t *range_ends; /* Range characters (end of the range). */
+ size_t nranges;
+ char **equivs; /* Equivalent classes. */
+ size_t nequivs;
char **coll_elems;
- int ncoll_elems; /* Collating elements. */
+ size_t ncoll_elems; /* Collating elements. */
};
/* A compiled regular expression. */
struct dfa
{
/* Fields filled by the scanner. */
- charclass *charclasses; /* Array of character sets for CSET tokens. */
- int cindex; /* Index for adding new charclasses. */
- int calloc; /* Number of charclasses currently allocated. */
+ charclass *charclasses; /* Array of character sets for CSET tokens. */
+ size_t cindex; /* Index for adding new charclasses. */
+ size_t calloc; /* Number of charclasses currently allocated. */
/* Fields filled by the parser. */
- token *tokens; /* Postfix parse array. */
- int tindex; /* Index for adding new tokens. */
- int talloc; /* Number of tokens currently allocated. */
- int depth; /* Depth required of an evaluation stack
+ token *tokens; /* Postfix parse array. */
+ size_t tindex; /* Index for adding new tokens. */
+ size_t talloc; /* Number of tokens currently allocated. */
+ size_t depth; /* Depth required of an evaluation stack
used for depth-first traversal of the
parse tree. */
- int nleaves; /* Number of leaves on the parse tree. */
- int nregexps; /* Count of parallel regexps being built
+ size_t nleaves; /* Number of leaves on the parse tree. */
+ size_t nregexps; /* Count of parallel regexps being built
with dfaparse(). */
- unsigned int mb_cur_max; /* Cached value of MB_CUR_MAX. */
- int utf8_anychar_classes[5]; /* To lower ANYCHAR in UTF-8 locales. */
+ unsigned int mb_cur_max; /* Cached value of MB_CUR_MAX. */
+ token utf8_anychar_classes[5]; /* To lower ANYCHAR in UTF-8 locales. */
/* The following are used only if MB_CUR_MAX > 1. */
/* The value of multibyte_prop[i] is defined by following rule.
- if tokens[i] < NOTCHAR
- bit 0 : tokens[i] is the first byte of a character, including
- single-byte characters.
- bit 1 : tokens[i] is the last byte of a character, including
- single-byte characters.
+ if tokens[i] < NOTCHAR
+ bit 0 : tokens[i] is the first byte of a character, including
+ single-byte characters.
+ bit 1 : tokens[i] is the last byte of a character, including
+ single-byte characters.
- if tokens[i] = MBCSET
- ("the index of mbcsets correspnd to this operator" << 2) + 3
+ if tokens[i] = MBCSET
+ ("the index of mbcsets corresponding to this operator" << 2) + 3
e.g.
tokens
- = 'single_byte_a', 'multi_byte_A', single_byte_b'
- = 'sb_a', 'mb_A(1st byte)', 'mb_A(2nd byte)', 'mb_A(3rd byte)', 'sb_b'
+ = 'single_byte_a', 'multi_byte_A', single_byte_b'
+ = 'sb_a', 'mb_A(1st byte)', 'mb_A(2nd byte)', 'mb_A(3rd byte)', 'sb_b'
multibyte_prop
- = 3 , 1 , 0 , 2 , 3
- */
- int nmultibyte_prop;
+ = 3 , 1 , 0 , 2 , 3
+ */
+ size_t nmultibyte_prop;
int *multibyte_prop;
/* Array of the bracket expression in the DFA. */
struct mb_char_classes *mbcsets;
- int nmbcsets;
- int mbcsets_alloc;
+ size_t nmbcsets;
+ size_t mbcsets_alloc;
/* Fields filled by the state builder. */
- dfa_state *states; /* States of the dfa. */
- int sindex; /* Index for adding new states. */
- int salloc; /* Number of states currently allocated. */
+ dfa_state *states; /* States of the dfa. */
+ state_num sindex; /* Index for adding new states. */
+ state_num salloc; /* Number of states currently allocated. */
/* Fields filled by the parse tree->NFA conversion. */
- position_set *follows; /* Array of follow sets, indexed by position
+ position_set *follows; /* Array of follow sets, indexed by position
index. The follow of a position is the set
of positions containing characters that
could conceivably follow a character
matching the given position in a string
matching the regexp. Allocated to the
maximum possible position index. */
- int searchflag; /* True if we are supposed to build a searching
+ int searchflag; /* True if we are supposed to build a searching
as opposed to an exact matcher. A searching
matcher finds the first and shortest string
matching a regexp anywhere in the buffer,
@@ -379,29 +419,29 @@ struct dfa
beginning of the buffer. */
/* Fields filled by dfaexec. */
- int tralloc; /* Number of transition tables that have
+ state_num tralloc; /* Number of transition tables that have
slots so far. */
- int trcount; /* Number of transition tables that have
+ int trcount; /* Number of transition tables that have
actually been built. */
- int **trans; /* Transition tables for states that can
+ state_num **trans; /* Transition tables for states that can
never accept. If the transitions for a
state have not yet been computed, or the
state could possibly accept, its entry in
this table is NULL. */
- int **realtrans; /* Trans always points to realtrans + 1; this
+ state_num **realtrans; /* Trans always points to realtrans + 1; this
is so trans[-1] can contain NULL. */
- int **fails; /* Transition tables after failing to accept
+ state_num **fails; /* Transition tables after failing to accept
on a state that potentially could do so. */
- int *success; /* Table of acceptance conditions used in
+ int *success; /* Table of acceptance conditions used in
dfaexec and computed in build_state. */
- int *newlines; /* Transitions on newlines. The entry for a
+ state_num *newlines; /* Transitions on newlines. The entry for a
newline in any transition table is always
-1 so we can count lines without wasting
too many cycles. The transition for a
newline is stored separately and handled
as a special case. Newline is also used
as a sentinel at the end of the buffer. */
- struct dfamust *musts; /* List of strings, at least one of which
+ struct dfamust *musts; /* List of strings, at least one of which
is known to appear in any r.e. matching
the dfa. */
};
@@ -413,9 +453,8 @@ struct dfa
/* ACCEPTS_IN_CONTEXT returns true if the given state accepts in the
specified context. */
-#define ACCEPTS_IN_CONTEXT(prevn, currn, prevl, currl, state, dfa) \
- SUCCEEDS_IN_CONTEXT((dfa).states[state].constraint, \
- prevn, currn, prevl, currl)
+#define ACCEPTS_IN_CONTEXT(prev, curr, state, dfa) \
+ SUCCEEDS_IN_CONTEXT ((dfa).states[state].constraint, prev, curr)
static void dfamust (struct dfa *dfa);
static void regexp (void);
@@ -445,7 +484,6 @@ static void regexp (void);
#define REALLOC_IF_NECESSARY(p, n_alloc, n_required) \
do \
{ \
- assert (0 <= (n_required)); \
if ((n_alloc) <= (n_required)) \
{ \
size_t new_n_alloc = (n_required) + !(p); \
@@ -464,33 +502,72 @@ prtok (token t)
char const *s;
if (t < 0)
- fprintf(stderr, "END");
+ fprintf (stderr, "END");
else if (t < NOTCHAR)
- fprintf(stderr, "%c", t);
+ {
+ int ch = t;
+ fprintf (stderr, "%c", ch);
+ }
else
{
switch (t)
{
- case EMPTY: s = "EMPTY"; break;
- case BACKREF: s = "BACKREF"; break;
- case BEGLINE: s = "BEGLINE"; break;
- case ENDLINE: s = "ENDLINE"; break;
- case BEGWORD: s = "BEGWORD"; break;
- case ENDWORD: s = "ENDWORD"; break;
- case LIMWORD: s = "LIMWORD"; break;
- case NOTLIMWORD: s = "NOTLIMWORD"; break;
- case QMARK: s = "QMARK"; break;
- case STAR: s = "STAR"; break;
- case PLUS: s = "PLUS"; break;
- case CAT: s = "CAT"; break;
- case OR: s = "OR"; break;
- case LPAREN: s = "LPAREN"; break;
- case RPAREN: s = "RPAREN"; break;
- case ANYCHAR: s = "ANYCHAR"; break;
- case MBCSET: s = "MBCSET"; break;
- default: s = "CSET"; break;
+ case EMPTY:
+ s = "EMPTY";
+ break;
+ case BACKREF:
+ s = "BACKREF";
+ break;
+ case BEGLINE:
+ s = "BEGLINE";
+ break;
+ case ENDLINE:
+ s = "ENDLINE";
+ break;
+ case BEGWORD:
+ s = "BEGWORD";
+ break;
+ case ENDWORD:
+ s = "ENDWORD";
+ break;
+ case LIMWORD:
+ s = "LIMWORD";
+ break;
+ case NOTLIMWORD:
+ s = "NOTLIMWORD";
+ break;
+ case QMARK:
+ s = "QMARK";
+ break;
+ case STAR:
+ s = "STAR";
+ break;
+ case PLUS:
+ s = "PLUS";
+ break;
+ case CAT:
+ s = "CAT";
+ break;
+ case OR:
+ s = "OR";
+ break;
+ case LPAREN:
+ s = "LPAREN";
+ break;
+ case RPAREN:
+ s = "RPAREN";
+ break;
+ case ANYCHAR:
+ s = "ANYCHAR";
+ break;
+ case MBCSET:
+ s = "MBCSET";
+ break;
+ default:
+ s = "CSET";
+ break;
}
- fprintf(stderr, "%s", s);
+ fprintf (stderr, "%s", s);
}
}
#endif /* DEBUG */
@@ -546,17 +623,17 @@ equal (charclass const s1, charclass const s2)
static struct dfa *dfa;
/* Find the index of charclass s in dfa->charclasses, or allocate a new charclass. */
-static int
+static size_t
charclass_index (charclass const s)
{
- int i;
+ size_t i;
for (i = 0; i < dfa->cindex; ++i)
- if (equal(s, dfa->charclasses[i]))
+ if (equal (s, dfa->charclasses[i]))
return i;
- REALLOC_IF_NECESSARY(dfa->charclasses, dfa->calloc, dfa->cindex + 1);
+ REALLOC_IF_NECESSARY (dfa->charclasses, dfa->calloc, dfa->cindex + 1);
++dfa->cindex;
- copyset(s, dfa->charclasses[i]);
+ copyset (s, dfa->charclasses[i]);
return i;
}
@@ -569,14 +646,72 @@ static int case_fold;
/* End-of-line byte in data. */
static unsigned char eolbyte;
+/* Cache of char-context values. */
+static int sbit[NOTCHAR];
+
+/* Set of characters considered letters. */
+static charclass letters;
+
+/* Set of characters that are newline. */
+static charclass newline;
+
+/* Add this to the test for whether a byte is word-constituent, since on
+ BSD-based systems, many values in the 128..255 range are classified as
+ alphabetic, while on glibc-based systems, they are not. */
+#ifdef __GLIBC__
+# define is_valid_unibyte_character(c) 1
+#else
+# define is_valid_unibyte_character(c) (! (MBS_SUPPORT && btowc (c) == WEOF))
+#endif
+
+/* Return non-zero if C is a 'word-constituent' byte; zero otherwise. */
+#define IS_WORD_CONSTITUENT(C) \
+ (is_valid_unibyte_character (C) && (isalnum (C) || (C) == '_'))
+
+static int
+char_context (unsigned char c)
+{
+ if (c == eolbyte || c == 0)
+ return CTX_NEWLINE;
+ if (IS_WORD_CONSTITUENT (c))
+ return CTX_LETTER;
+ return CTX_NONE;
+}
+
+static int
+wchar_context (wint_t wc)
+{
+ if (wc == (wchar_t) eolbyte || wc == 0)
+ return CTX_NEWLINE;
+ if (wc == L'_' || iswalnum (wc))
+ return CTX_LETTER;
+ return CTX_NONE;
+}
+
/* Entry point to set syntax options. */
void
dfasyntax (reg_syntax_t bits, int fold, unsigned char eol)
{
+ unsigned int i;
+
syntax_bits_set = 1;
syntax_bits = bits;
case_fold = fold;
eolbyte = eol;
+
+ for (i = 0; i < NOTCHAR; ++i)
+ {
+ sbit[i] = char_context (i);
+ switch (sbit[i])
+ {
+ case CTX_LETTER:
+ setbit (i, letters);
+ break;
+ case CTX_NEWLINE:
+ setbit (i, newline);
+ break;
+ }
+ }
}
/* Set a bit in the charclass for the given wchar_t. Do nothing if WC
@@ -612,8 +747,7 @@ static inline bool
setbit_wc (wint_t wc, charclass c)
{
abort ();
- /*NOTREACHED*/
- return false;
+ /*NOTREACHED*/ return false;
}
#endif
@@ -666,38 +800,38 @@ using_utf8 (void)
reader is referred to the GNU Regex documentation for the
meaning of the @#%!@#%^!@ syntax bits. */
-static char const *lexptr; /* Pointer to next input character. */
-static int lexleft; /* Number of characters remaining. */
-static token lasttok; /* Previous token returned; initially END. */
-static int laststart; /* True if we're separated from beginning or (, |
+static char const *lexptr; /* Pointer to next input character. */
+static size_t lexleft; /* Number of characters remaining. */
+static token lasttok; /* Previous token returned; initially END. */
+static int laststart; /* True if we're separated from beginning or (, |
only by zero-width characters. */
-static int parens; /* Count of outstanding left parens. */
-static int minrep, maxrep; /* Repeat counts for {m,n}. */
+static size_t parens; /* Count of outstanding left parens. */
+static int minrep, maxrep; /* Repeat counts for {m,n}. */
-static int cur_mb_len = 1; /* Length of the multibyte representation of
+static int cur_mb_len = 1; /* Length of the multibyte representation of
wctok. */
/* These variables are used only if (MB_CUR_MAX > 1). */
-static mbstate_t mbs; /* Mbstate for mbrlen(). */
-static wchar_t wctok; /* Wide character representation of the current
+static mbstate_t mbs; /* Mbstate for mbrlen(). */
+static wchar_t wctok; /* Wide character representation of the current
multibyte character. */
-static unsigned char *mblen_buf;/* Correspond to the input buffer in dfaexec().
- Each element store the amount of remain
- byte of corresponding multibyte character
- in the input string. A element's value
- is 0 if corresponding character is a
- single byte chracter.
- e.g. input : 'a', <mb(0)>, <mb(1)>, <mb(2)>
- mblen_buf : 0, 3, 2, 1
- */
-static wchar_t *inputwcs; /* Wide character representation of input
+static unsigned char *mblen_buf; /* Correspond to the input buffer in dfaexec().
+ Each element store the amount of remain
+ byte of corresponding multibyte character
+ in the input string. A element's value
+ is 0 if corresponding character is a
+ single byte character.
+ e.g. input : 'a', <mb(0)>, <mb(1)>, <mb(2)>
+ mblen_buf : 0, 3, 2, 1
+ */
+static wchar_t *inputwcs; /* Wide character representation of input
string in dfaexec().
The length of this array is same as
the length of input string(char array).
inputstring[i] is a single-byte char,
or 1st byte of a multibyte char.
And inputwcs[i] is the codepoint. */
-static unsigned char const *buf_begin; /* reference to begin in dfaexec(). */
-static unsigned char const *buf_end; /* reference to end in dfaexec(). */
+static unsigned char const *buf_begin; /* reference to begin in dfaexec(). */
+static unsigned char const *buf_end; /* reference to end in dfaexec(). */
#if MBS_SUPPORT
@@ -714,7 +848,7 @@ static unsigned char const *buf_end; /* reference to end in dfaexec(). */
else \
{ \
wchar_t _wc; \
- cur_mb_len = mbrtowc(&_wc, lexptr, lexleft, &mbs); \
+ cur_mb_len = mbrtowc (&_wc, lexptr, lexleft, &mbs); \
if (cur_mb_len <= 0) \
{ \
cur_mb_len = 1; \
@@ -726,7 +860,7 @@ static unsigned char const *buf_end; /* reference to end in dfaexec(). */
lexptr += cur_mb_len; \
lexleft -= cur_mb_len; \
(wc) = _wc; \
- (c) = wctob(wc); \
+ (c) = wctob (wc); \
} \
} \
} while(0)
@@ -734,8 +868,8 @@ static unsigned char const *buf_end; /* reference to end in dfaexec(). */
# define FETCH(c, eoferr) \
do { \
wint_t wc; \
- FETCH_WC(c, wc, eoferr); \
- } while(0)
+ FETCH_WC (c, wc, eoferr); \
+ } while (0)
#else
/* Note that characters become unsigned here. */
@@ -756,34 +890,39 @@ static unsigned char const *buf_end; /* reference to end in dfaexec(). */
#endif /* MBS_SUPPORT */
+#ifndef MIN
+# define MIN(a,b) ((a) < (b) ? (a) : (b))
+#endif
+
typedef int predicate (int);
/* The following list maps the names of the Posix named character classes
to predicate functions that determine whether a given character is in
the class. The leading [ has already been eaten by the lexical analyzer. */
-struct dfa_ctype {
+struct dfa_ctype
+{
const char *name;
predicate *func;
bool single_byte_only;
};
static const struct dfa_ctype prednames[] = {
- { "alpha", isalpha, false },
- { "upper", isupper, false },
- { "lower", islower, false },
- { "digit", isdigit, true },
- { "xdigit", isxdigit, true },
- { "space", isspace, false },
- { "punct", ispunct, false },
- { "alnum", isalnum, false },
- { "print", isprint, false },
- { "graph", isgraph, false },
- { "cntrl", iscntrl, false },
- { "blank", is_blank, false },
- { NULL, NULL, false }
+ {"alpha", isalpha, false},
+ {"upper", isupper, false},
+ {"lower", islower, false},
+ {"digit", isdigit, true},
+ {"xdigit", isxdigit, true},
+ {"space", isspace, false},
+ {"punct", ispunct, false},
+ {"alnum", isalnum, false},
+ {"print", isprint, false},
+ {"graph", isgraph, false},
+ {"cntrl", iscntrl, false},
+ {"blank", is_blank, false},
+ {NULL, NULL, false}
};
-static const struct dfa_ctype * _GL_ATTRIBUTE_PURE
+static const struct dfa_ctype *_GL_ATTRIBUTE_PURE
find_pred (const char *str)
{
unsigned int i;
@@ -817,15 +956,16 @@ parse_bracket_exp (void)
/* Work area to build a mb_char_classes. */
struct mb_char_classes *work_mbc;
- int chars_al, range_sts_al, range_ends_al, ch_classes_al,
+ size_t chars_al, range_sts_al, range_ends_al, ch_classes_al,
equivs_al, coll_elems_al;
- chars_al = 1;
+ chars_al = 0;
range_sts_al = range_ends_al = 0;
ch_classes_al = equivs_al = coll_elems_al = 0;
if (MB_CUR_MAX > 1)
{
- REALLOC_IF_NECESSARY(dfa->mbcsets, dfa->mbcsets_alloc, dfa->nmbcsets + 1);
+ REALLOC_IF_NECESSARY (dfa->mbcsets, dfa->mbcsets_alloc,
+ dfa->nmbcsets + 1);
/* dfa->multibyte_prop[] hold the index of dfa->mbcsets.
We will update dfa->multibyte_prop[] in addtok(), because we can't
@@ -851,7 +991,7 @@ parse_bracket_exp (void)
colon_warning_state = (c == ':');
do
{
- c1 = EOF; /* mark c1 is not initialized". */
+ c1 = EOF; /* mark c1 is not initialized". */
colon_warning_state &= ~2;
/* Note that if we're looking at some other [:...:] construct,
@@ -867,8 +1007,7 @@ parse_bracket_exp (void)
/* If pattern contains `[[:', `[[.', or `[[='. */
if (c1 == ':'
/* TODO: handle `[[.' and `[[=' also for MB_CUR_MAX == 1. */
- || (MB_CUR_MAX > 1 && (c1 == '.' || c1 == '='))
- )
+ || (MB_CUR_MAX > 1 && (c1 == '.' || c1 == '=')))
{
size_t len = 0;
for (;;)
@@ -890,57 +1029,48 @@ parse_bracket_exp (void)
/* build character class. */
{
char const *class
- = (case_fold && (STREQ (str, "upper")
- || STREQ (str, "lower"))
- ? "alpha"
- : str);
+ = (case_fold && (STREQ (str, "upper")
+ || STREQ (str, "lower")) ? "alpha" : str);
const struct dfa_ctype *pred = find_pred (class);
if (!pred)
- dfaerror(_("invalid character class"));
+ dfaerror (_("invalid character class"));
if (MB_CUR_MAX > 1 && !pred->single_byte_only)
{
/* Store the character class as wctype_t. */
wctype_t wt = wctype (class);
- if (ch_classes_al == 0)
- MALLOC(work_mbc->ch_classes, ++ch_classes_al);
- REALLOC_IF_NECESSARY(work_mbc->ch_classes,
- ch_classes_al,
- work_mbc->nch_classes + 1);
+ REALLOC_IF_NECESSARY (work_mbc->ch_classes,
+ ch_classes_al,
+ work_mbc->nch_classes + 1);
work_mbc->ch_classes[work_mbc->nch_classes++] = wt;
}
for (c2 = 0; c2 < NOTCHAR; ++c2)
- if (pred->func(c2))
+ if (pred->func (c2))
setbit_case_fold_c (c2, ccl);
}
else if (MBS_SUPPORT && (c1 == '=' || c1 == '.'))
{
char *elem;
- MALLOC(elem, len + 1);
- strncpy(elem, str, len + 1);
+ MALLOC (elem, len + 1);
+ strncpy (elem, str, len + 1);
if (c1 == '=')
/* build equivalent class. */
{
- if (equivs_al == 0)
- MALLOC(work_mbc->equivs, ++equivs_al);
- REALLOC_IF_NECESSARY(work_mbc->equivs,
- equivs_al,
- work_mbc->nequivs + 1);
+ REALLOC_IF_NECESSARY (work_mbc->equivs,
+ equivs_al, work_mbc->nequivs + 1);
work_mbc->equivs[work_mbc->nequivs++] = elem;
}
if (c1 == '.')
/* build collating element. */
{
- if (coll_elems_al == 0)
- MALLOC(work_mbc->coll_elems, ++coll_elems_al);
- REALLOC_IF_NECESSARY(work_mbc->coll_elems,
- coll_elems_al,
- work_mbc->ncoll_elems + 1);
+ REALLOC_IF_NECESSARY (work_mbc->coll_elems,
+ coll_elems_al,
+ work_mbc->ncoll_elems + 1);
work_mbc->coll_elems[work_mbc->ncoll_elems++] = elem;
}
}
@@ -956,15 +1086,15 @@ parse_bracket_exp (void)
}
if (c == '\\' && (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS))
- FETCH_WC(c, wc, _("unbalanced ["));
+ FETCH_WC (c, wc, _("unbalanced ["));
if (c1 == EOF)
- FETCH_WC(c1, wc1, _("unbalanced ["));
+ FETCH_WC (c1, wc1, _("unbalanced ["));
if (c1 == '-')
/* build range characters. */
{
- FETCH_WC(c2, wc2, _("unbalanced ["));
+ FETCH_WC (c2, wc2, _("unbalanced ["));
if (c2 == ']')
{
/* In the case [x-], the - is an ordinary hyphen,
@@ -976,37 +1106,31 @@ parse_bracket_exp (void)
if (c1 == '-' && c2 != ']')
{
- if (c2 == '\\'
- && (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS))
- FETCH_WC(c2, wc2, _("unbalanced ["));
+ if (c2 == '\\' && (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS))
+ FETCH_WC (c2, wc2, _("unbalanced ["));
if (MB_CUR_MAX > 1)
{
/* When case folding map a range, say [m-z] (or even [M-z])
to the pair of ranges, [m-z] [M-Z]. */
- if (range_sts_al == 0)
- {
- MALLOC(work_mbc->range_sts, ++range_sts_al);
- MALLOC(work_mbc->range_ends, ++range_ends_al);
- }
- REALLOC_IF_NECESSARY(work_mbc->range_sts,
- range_sts_al, work_mbc->nranges + 1);
- REALLOC_IF_NECESSARY(work_mbc->range_ends,
- range_ends_al, work_mbc->nranges + 1);
+ REALLOC_IF_NECESSARY (work_mbc->range_sts,
+ range_sts_al, work_mbc->nranges + 1);
+ REALLOC_IF_NECESSARY (work_mbc->range_ends,
+ range_ends_al, work_mbc->nranges + 1);
work_mbc->range_sts[work_mbc->nranges] =
- case_fold ? towlower(wc) : (wchar_t)wc;
+ case_fold ? towlower (wc) : (wchar_t) wc;
work_mbc->range_ends[work_mbc->nranges++] =
- case_fold ? towlower(wc2) : (wchar_t)wc2;
+ case_fold ? towlower (wc2) : (wchar_t) wc2;
#ifndef GREP
- if (case_fold && (iswalpha(wc) || iswalpha(wc2)))
+ if (case_fold && (iswalpha (wc) || iswalpha (wc2)))
{
- REALLOC_IF_NECESSARY(work_mbc->range_sts,
- range_sts_al, work_mbc->nranges + 1);
- work_mbc->range_sts[work_mbc->nranges] = towupper(wc);
- REALLOC_IF_NECESSARY(work_mbc->range_ends,
- range_ends_al, work_mbc->nranges + 1);
- work_mbc->range_ends[work_mbc->nranges++] = towupper(wc2);
+ REALLOC_IF_NECESSARY (work_mbc->range_sts,
+ range_sts_al, work_mbc->nranges + 1);
+ work_mbc->range_sts[work_mbc->nranges] = towupper (wc);
+ REALLOC_IF_NECESSARY (work_mbc->range_ends,
+ range_ends_al, work_mbc->nranges + 1);
+ work_mbc->range_ends[work_mbc->nranges++] = towupper (wc2);
}
#endif
}
@@ -1023,7 +1147,7 @@ parse_bracket_exp (void)
}
colon_warning_state |= 8;
- FETCH_WC(c1, wc1, _("unbalanced ["));
+ FETCH_WC (c1, wc1, _("unbalanced ["));
continue;
}
@@ -1035,25 +1159,25 @@ parse_bracket_exp (void)
continue;
}
- if (case_fold && iswalpha(wc))
+ if (case_fold && iswalpha (wc))
{
- wc = towlower(wc);
+ wc = towlower (wc);
if (!setbit_wc (wc, ccl))
{
- REALLOC_IF_NECESSARY(work_mbc->chars, chars_al,
- work_mbc->nchars + 1);
+ REALLOC_IF_NECESSARY (work_mbc->chars, chars_al,
+ work_mbc->nchars + 1);
work_mbc->chars[work_mbc->nchars++] = wc;
}
#ifdef GREP
continue;
#else
- wc = towupper(wc);
+ wc = towupper (wc);
#endif
}
if (!setbit_wc (wc, ccl))
{
- REALLOC_IF_NECESSARY(work_mbc->chars, chars_al,
- work_mbc->nchars + 1);
+ REALLOC_IF_NECESSARY (work_mbc->chars, chars_al,
+ work_mbc->nchars + 1);
work_mbc->chars[work_mbc->nchars++] = wc;
}
}
@@ -1066,34 +1190,21 @@ parse_bracket_exp (void)
{
static charclass zeroclass;
work_mbc->invert = invert;
- work_mbc->cset = equal(ccl, zeroclass) ? -1 : charclass_index(ccl);
+ work_mbc->cset = equal (ccl, zeroclass) ? -1 : charclass_index (ccl);
return MBCSET;
}
if (invert)
{
- assert(MB_CUR_MAX == 1);
- notset(ccl);
+ assert (MB_CUR_MAX == 1);
+ notset (ccl);
if (syntax_bits & RE_HAT_LISTS_NOT_NEWLINE)
- clrbit(eolbyte, ccl);
+ clrbit (eolbyte, ccl);
}
- return CSET + charclass_index(ccl);
+ return CSET + charclass_index (ccl);
}
-/* Add this to the test for whether a byte is word-constituent, since on
- BSD-based systems, many values in the 128..255 range are classified as
- alphabetic, while on glibc-based systems, they are not. */
-#ifdef __GLIBC__
-# define is_valid_unibyte_character(c) 1
-#else
-# define is_valid_unibyte_character(c) (MBS_SUPPORT && btowc (c) != WEOF)
-#endif
-
-/* Return non-zero if C is a `word-constituent' byte; zero otherwise. */
-#define IS_WORD_CONSTITUENT(C) \
- (is_valid_unibyte_character(C) && (isalnum(C) || (C) == '_'))
-
static token
lex (void)
{
@@ -1113,11 +1224,11 @@ lex (void)
if (MB_CUR_MAX > 1)
{
FETCH_WC (c, wctok, NULL);
- if ((int)c == EOF)
+ if ((int) c == EOF)
goto normal_char;
}
else
- FETCH(c, NULL);
+ FETCH (c, NULL);
switch (c)
{
@@ -1125,7 +1236,7 @@ lex (void)
if (backslash)
goto normal_char;
if (lexleft == 0)
- dfaerror(_("unfinished \\ escape"));
+ dfaerror (_("unfinished \\ escape"));
backslash = 1;
break;
@@ -1133,9 +1244,7 @@ lex (void)
if (backslash)
goto normal_char;
if (syntax_bits & RE_CONTEXT_INDEP_ANCHORS
- || lasttok == END
- || lasttok == LPAREN
- || lasttok == OR)
+ || lasttok == END || lasttok == LPAREN || lasttok == OR)
return lasttok = BEGLINE;
goto normal_char;
@@ -1173,12 +1282,12 @@ lex (void)
case '`':
if (backslash && !(syntax_bits & RE_NO_GNU_OPS))
- return lasttok = BEGLINE; /* FIXME: should be beginning of string */
+ return lasttok = BEGLINE; /* FIXME: should be beginning of string */
goto normal_char;
case '\'':
if (backslash && !(syntax_bits & RE_NO_GNU_OPS))
- return lasttok = ENDLINE; /* FIXME: should be end of string */
+ return lasttok = ENDLINE; /* FIXME: should be end of string */
goto normal_char;
case '<':
@@ -1234,73 +1343,53 @@ lex (void)
if (!(syntax_bits & RE_CONTEXT_INDEP_OPS) && laststart)
goto normal_char;
- if (syntax_bits & RE_NO_BK_BRACES)
- {
- /* Scan ahead for a valid interval; if it's not valid,
- treat it as a literal '{'. */
- int lo = -1, hi = -1;
- char const *p = lexptr;
- char const *lim = p + lexleft;
- for (; p != lim && ISASCIIDIGIT (*p); p++)
- lo = (lo < 0 ? 0 : lo * 10) + *p - '0';
- if (p != lim && *p == ',')
- while (++p != lim && ISASCIIDIGIT (*p))
- hi = (hi < 0 ? 0 : hi * 10) + *p - '0';
- else
- hi = lo;
- if (p == lim || *p != '}'
- || lo < 0 || RE_DUP_MAX < hi || (0 <= hi && hi < lo))
- goto normal_char;
- }
-
- minrep = 0;
/* Cases:
{M} - exact count
{M,} - minimum count, maximum is infinity
+ {,N} - 0 through N
+ {,} - 0 to infinity (same as '*')
{M,N} - M through N */
- FETCH(c, _("unfinished repeat count"));
- if (ISASCIIDIGIT (c))
- {
- minrep = c - '0';
- for (;;)
- {
- FETCH(c, _("unfinished repeat count"));
- if (! ISASCIIDIGIT (c))
- break;
- minrep = 10 * minrep + c - '0';
- }
- }
- else
- dfaerror(_("malformed repeat count"));
- if (c == ',')
- {
- FETCH (c, _("unfinished repeat count"));
- if (! ISASCIIDIGIT (c))
- maxrep = -1;
- else
- {
- maxrep = c - '0';
- for (;;)
- {
- FETCH (c, _("unfinished repeat count"));
- if (! ISASCIIDIGIT (c))
- break;
- maxrep = 10 * maxrep + c - '0';
- }
- if (0 <= maxrep && maxrep < minrep)
- dfaerror (_("malformed repeat count"));
- }
- }
- else
- maxrep = minrep;
- if (!(syntax_bits & RE_NO_BK_BRACES))
- {
- if (c != '\\')
- dfaerror(_("malformed repeat count"));
- FETCH(c, _("unfinished repeat count"));
- }
- if (c != '}')
- dfaerror(_("malformed repeat count"));
+ {
+ char const *p = lexptr;
+ char const *lim = p + lexleft;
+ minrep = maxrep = -1;
+ for (; p != lim && ISASCIIDIGIT (*p); p++)
+ {
+ if (minrep < 0)
+ minrep = *p - '0';
+ else
+ minrep = MIN (RE_DUP_MAX + 1, minrep * 10 + *p - '0');
+ }
+ if (p != lim)
+ {
+ if (*p != ',')
+ maxrep = minrep;
+ else
+ {
+ if (minrep < 0)
+ minrep = 0;
+ while (++p != lim && ISASCIIDIGIT (*p))
+ {
+ if (maxrep < 0)
+ maxrep = *p - '0';
+ else
+ maxrep = MIN (RE_DUP_MAX + 1, maxrep * 10 + *p - '0');
+ }
+ }
+ }
+ if (! ((! backslash || (p != lim && *p++ == '\\'))
+ && p != lim && *p++ == '}'
+ && 0 <= minrep && (maxrep < 0 || minrep <= maxrep)))
+ {
+ if (syntax_bits & RE_INVALID_INTERVAL_ORD)
+ goto normal_char;
+ dfaerror (_("Invalid content of \\{\\}"));
+ }
+ if (RE_DUP_MAX < maxrep)
+ dfaerror (_("Regular expression too big"));
+ lexptr = p;
+ lexleft = lim - p;
+ }
laststart = 0;
return lasttok = REPMN;
@@ -1314,8 +1403,7 @@ lex (void)
case '\n':
if (syntax_bits & RE_LIMITED_OPS
- || backslash
- || !(syntax_bits & RE_NEWLINE_ALT))
+ || backslash || !(syntax_bits & RE_NEWLINE_ALT))
goto normal_char;
laststart = 1;
return lasttok = OR;
@@ -1346,46 +1434,46 @@ lex (void)
laststart = 0;
return lasttok = ANYCHAR;
}
- zeroset(ccl);
- notset(ccl);
+ zeroset (ccl);
+ notset (ccl);
if (!(syntax_bits & RE_DOT_NEWLINE))
- clrbit(eolbyte, ccl);
+ clrbit (eolbyte, ccl);
if (syntax_bits & RE_DOT_NOT_NULL)
- clrbit('\0', ccl);
+ clrbit ('\0', ccl);
laststart = 0;
- return lasttok = CSET + charclass_index(ccl);
+ return lasttok = CSET + charclass_index (ccl);
case 's':
case 'S':
if (!backslash || (syntax_bits & RE_NO_GNU_OPS))
goto normal_char;
- zeroset(ccl);
+ zeroset (ccl);
for (c2 = 0; c2 < NOTCHAR; ++c2)
- if (isspace(c2))
- setbit(c2, ccl);
+ if (isspace (c2))
+ setbit (c2, ccl);
if (c == 'S')
- notset(ccl);
+ notset (ccl);
laststart = 0;
- return lasttok = CSET + charclass_index(ccl);
+ return lasttok = CSET + charclass_index (ccl);
case 'w':
case 'W':
if (!backslash || (syntax_bits & RE_NO_GNU_OPS))
goto normal_char;
- zeroset(ccl);
+ zeroset (ccl);
for (c2 = 0; c2 < NOTCHAR; ++c2)
- if (IS_WORD_CONSTITUENT(c2))
- setbit(c2, ccl);
+ if (IS_WORD_CONSTITUENT (c2))
+ setbit (c2, ccl);
if (c == 'W')
- notset(ccl);
+ notset (ccl);
laststart = 0;
- return lasttok = CSET + charclass_index(ccl);
+ return lasttok = CSET + charclass_index (ccl);
case '[':
if (backslash)
goto normal_char;
laststart = 0;
- return lasttok = parse_bracket_exp();
+ return lasttok = parse_bracket_exp ();
default:
normal_char:
@@ -1395,11 +1483,11 @@ lex (void)
if (MB_CUR_MAX > 1)
return lasttok = WCHAR;
- if (case_fold && isalpha(c))
+ if (case_fold && isalpha (c))
{
- zeroset(ccl);
+ zeroset (ccl);
setbit_case_fold_c (c, ccl);
- return lasttok = CSET + charclass_index(ccl);
+ return lasttok = CSET + charclass_index (ccl);
}
return lasttok = c;
@@ -1408,14 +1496,14 @@ lex (void)
/* The above loop should consume at most a backslash
and some other character. */
- abort();
- return END; /* keeps pedantic compilers happy. */
+ abort ();
+ return END; /* keeps pedantic compilers happy. */
}
/* Recursive descent parser for regular expressions. */
-static token tok; /* Lookahead token. */
-static int depth; /* Current depth of a hypothetical stack
+static token tok; /* Lookahead token. */
+static size_t depth; /* Current depth of a hypothetical stack
holding deferred productions. This is
used to determine the depth that will be
required of the real stack later on in
@@ -1426,12 +1514,12 @@ addtok_mb (token t, int mbprop)
{
if (MB_CUR_MAX > 1)
{
- REALLOC_IF_NECESSARY(dfa->multibyte_prop, dfa->nmultibyte_prop,
- dfa->tindex + 1);
+ REALLOC_IF_NECESSARY (dfa->multibyte_prop, dfa->nmultibyte_prop,
+ dfa->tindex + 1);
dfa->multibyte_prop[dfa->tindex] = mbprop;
}
- REALLOC_IF_NECESSARY(dfa->tokens, dfa->talloc, dfa->tindex + 1);
+ REALLOC_IF_NECESSARY (dfa->tokens, dfa->talloc, dfa->tindex + 1);
dfa->tokens[dfa->tindex++] = t;
switch (t)
@@ -1472,7 +1560,7 @@ addtok (token t)
This does not require UTF-8. */
if (!work_mbc->invert)
{
- int i;
+ size_t i;
for (i = 0; i < work_mbc->nchars; i++)
{
addtok_wc (work_mbc->chars[i]);
@@ -1485,12 +1573,11 @@ addtok (token t)
/* UTF-8 allows treating a simple, non-inverted MBCSET like a CSET. */
if (work_mbc->invert
- || (!using_utf8() && work_mbc->cset != -1)
+ || (!using_utf8 () && work_mbc->cset != -1)
|| work_mbc->nchars != 0
|| work_mbc->nch_classes != 0
|| work_mbc->nranges != 0
- || work_mbc->nequivs != 0
- || work_mbc->ncoll_elems != 0)
+ || work_mbc->nequivs != 0 || work_mbc->ncoll_elems != 0)
{
addtok_mb (MBCSET, ((dfa->nmbcsets - 1) << 2) + 3);
if (need_or)
@@ -1537,15 +1624,18 @@ addtok_wc (wint_t wc)
if (cur_mb_len <= 0)
buf[0] = 0;
- addtok_mb(buf[0], cur_mb_len == 1 ? 3 : 1);
+ addtok_mb (buf[0], cur_mb_len == 1 ? 3 : 1);
for (i = 1; i < cur_mb_len; i++)
{
- addtok_mb(buf[i], i == cur_mb_len - 1 ? 2 : 0);
- addtok(CAT);
+ addtok_mb (buf[i], i == cur_mb_len - 1 ? 2 : 0);
+ addtok (CAT);
}
}
#else
-static void addtok_wc (wint_t wc) {}
+static void
+addtok_wc (wint_t wc)
+{
+}
#endif
static void
@@ -1553,11 +1643,11 @@ add_utf8_anychar (void)
{
#if MBS_SUPPORT
static const charclass utf8_classes[5] = {
- { 0, 0, 0, 0, ~0, ~0, 0, 0 }, /* 80-bf: non-lead bytes */
- { ~0, ~0, ~0, ~0, 0, 0, 0, 0 }, /* 00-7f: 1-byte sequence */
- { 0, 0, 0, 0, 0, 0, 0xfffffffcU, 0 }, /* c2-df: 2-byte sequence */
- { 0, 0, 0, 0, 0, 0, 0, 0xffff }, /* e0-ef: 3-byte sequence */
- { 0, 0, 0, 0, 0, 0, 0, 0xff0000 } /* f0-f7: 4-byte sequence */
+ {0, 0, 0, 0, ~0, ~0, 0, 0}, /* 80-bf: non-lead bytes */
+ {~0, ~0, ~0, ~0, 0, 0, 0, 0}, /* 00-7f: 1-byte sequence */
+ {0, 0, 0, 0, 0, 0, 0xfffffffcU, 0}, /* c2-df: 2-byte sequence */
+ {0, 0, 0, 0, 0, 0, 0, 0xffff}, /* e0-ef: 3-byte sequence */
+ {0, 0, 0, 0, 0, 0, 0, 0xff0000} /* f0-f7: 4-byte sequence */
};
const unsigned int n = sizeof (utf8_classes) / sizeof (utf8_classes[0]);
unsigned int i;
@@ -1575,15 +1665,15 @@ add_utf8_anychar (void)
if (syntax_bits & RE_DOT_NOT_NULL)
clrbit ('\0', c);
}
- dfa->utf8_anychar_classes[i] = CSET + charclass_index(c);
+ dfa->utf8_anychar_classes[i] = CSET + charclass_index (c);
}
/* A valid UTF-8 character is
- ([0x00-0x7f]
- |[0xc2-0xdf][0x80-0xbf]
- |[0xe0-0xef[0x80-0xbf][0x80-0xbf]
- |[0xf0-f7][0x80-0xbf][0x80-0xbf][0x80-0xbf])
+ ([0x00-0x7f]
+ |[0xc2-0xdf][0x80-0xbf]
+ |[0xe0-0xef[0x80-0xbf][0x80-0xbf]
+ |[0xf0-f7][0x80-0xbf][0x80-0xbf][0x80-0xbf])
which I'll write more concisely "B|CA|DAA|EAAA". Factor the [0x00-0x7f]
and you get "B|(C|(D|EA)A)A". And since the token buffer is in reverse
@@ -1643,28 +1733,28 @@ atom (void)
}
else if (MBS_SUPPORT && tok == WCHAR)
{
- addtok_wc (case_fold ? towlower(wctok) : wctok);
+ addtok_wc (case_fold ? towlower (wctok) : wctok);
#ifndef GREP
- if (case_fold && iswalpha(wctok))
+ if (case_fold && iswalpha (wctok))
{
- addtok_wc (towupper(wctok));
+ addtok_wc (towupper (wctok));
addtok (OR);
}
#endif
- tok = lex();
+ tok = lex ();
}
- else if (MBS_SUPPORT && tok == ANYCHAR && using_utf8())
+ else if (MBS_SUPPORT && tok == ANYCHAR && using_utf8 ())
{
/* For UTF-8 expand the period to a series of CSETs that define a valid
UTF-8 character. This avoids using the slow multibyte path. I'm
pretty sure it would be both profitable and correct to do it for
any encoding; however, the optimization must be done manually as
- it is done above in add_utf8_anychar. So, let's start with
+ it is done above in add_utf8_anychar. So, let's start with
UTF-8: it is the most used, and the structure of the encoding
makes the correctness more obvious. */
- add_utf8_anychar();
- tok = lex();
+ add_utf8_anychar ();
+ tok = lex ();
}
else if ((tok >= 0 && tok < NOTCHAR) || tok >= CSET || tok == BACKREF
|| tok == BEGLINE || tok == ENDLINE || tok == BEGWORD
@@ -1673,26 +1763,26 @@ atom (void)
#endif /* MBS_SUPPORT */
|| tok == ENDWORD || tok == LIMWORD || tok == NOTLIMWORD)
{
- addtok(tok);
- tok = lex();
+ addtok (tok);
+ tok = lex ();
}
else if (tok == LPAREN)
{
- tok = lex();
- regexp();
+ tok = lex ();
+ regexp ();
if (tok != RPAREN)
- dfaerror(_("unbalanced ("));
- tok = lex();
+ dfaerror (_("unbalanced ("));
+ tok = lex ();
}
else
- addtok(EMPTY);
+ addtok (EMPTY);
}
/* Return the number of tokens in the given subexpression. */
-static int _GL_ATTRIBUTE_PURE
-nsubtoks (int tindex)
+static size_t _GL_ATTRIBUTE_PURE
+nsubtoks (size_t tindex)
{
- int ntoks1;
+ size_t ntoks1;
switch (dfa->tokens[tindex - 1])
{
@@ -1701,23 +1791,23 @@ nsubtoks (int tindex)
case QMARK:
case STAR:
case PLUS:
- return 1 + nsubtoks(tindex - 1);
+ return 1 + nsubtoks (tindex - 1);
case CAT:
case OR:
- ntoks1 = nsubtoks(tindex - 1);
- return 1 + ntoks1 + nsubtoks(tindex - 1 - ntoks1);
+ ntoks1 = nsubtoks (tindex - 1);
+ return 1 + ntoks1 + nsubtoks (tindex - 1 - ntoks1);
}
}
/* Copy the given subexpression to the top of the tree. */
static void
-copytoks (int tindex, int ntokens)
+copytoks (size_t tindex, size_t ntokens)
{
- int i;
+ size_t i;
for (i = 0; i < ntokens; ++i)
{
- addtok(dfa->tokens[tindex + i]);
+ addtok (dfa->tokens[tindex + i]);
/* Update index into multibyte csets. */
if (MB_CUR_MAX > 1 && dfa->tokens[tindex + i] == MBCSET)
dfa->multibyte_prop[dfa->tindex - 1] = dfa->multibyte_prop[tindex + i];
@@ -1727,64 +1817,65 @@ copytoks (int tindex, int ntokens)
static void
closure (void)
{
- int tindex, ntokens, i;
+ int i;
+ size_t tindex, ntokens;
- atom();
+ atom ();
while (tok == QMARK || tok == STAR || tok == PLUS || tok == REPMN)
if (tok == REPMN && (minrep || maxrep))
{
- ntokens = nsubtoks(dfa->tindex);
+ ntokens = nsubtoks (dfa->tindex);
tindex = dfa->tindex - ntokens;
if (maxrep < 0)
- addtok(PLUS);
+ addtok (PLUS);
if (minrep == 0)
- addtok(QMARK);
+ addtok (QMARK);
for (i = 1; i < minrep; ++i)
{
- copytoks(tindex, ntokens);
- addtok(CAT);
+ copytoks (tindex, ntokens);
+ addtok (CAT);
}
for (; i < maxrep; ++i)
{
- copytoks(tindex, ntokens);
- addtok(QMARK);
- addtok(CAT);
+ copytoks (tindex, ntokens);
+ addtok (QMARK);
+ addtok (CAT);
}
- tok = lex();
+ tok = lex ();
}
else if (tok == REPMN)
{
- dfa->tindex -= nsubtoks(dfa->tindex);
- tok = lex();
- closure();
+ dfa->tindex -= nsubtoks (dfa->tindex);
+ tok = lex ();
+ closure ();
}
else
{
- addtok(tok);
- tok = lex();
+ addtok (tok);
+ tok = lex ();
}
}
static void
branch (void)
{
- closure();
+ closure ();
while (tok != RPAREN && tok != OR && tok >= 0)
{
- closure();
- addtok(CAT);
+ closure ();
+ addtok (CAT);
}
}
static void
regexp (void)
{
- branch();
+ branch ();
while (tok == OR)
{
- tok = lex();
- branch();
- addtok(OR);
+ tok = lex ();
+ branch ();
+ addtok (OR);
}
}
@@ -1803,25 +1894,25 @@ dfaparse (char const *s, size_t len, struct dfa *d)
if (MB_CUR_MAX > 1)
{
cur_mb_len = 0;
- memset(&mbs, 0, sizeof mbs);
+ memset (&mbs, 0, sizeof mbs);
}
- if (! syntax_bits_set)
- dfaerror(_("no syntax specified"));
+ if (!syntax_bits_set)
+ dfaerror (_("no syntax specified"));
- tok = lex();
+ tok = lex ();
depth = d->depth;
- regexp();
+ regexp ();
if (tok != END)
- dfaerror(_("unbalanced )"));
+ dfaerror (_("unbalanced )"));
- addtok(END - d->nregexps);
- addtok(CAT);
+ addtok (END - d->nregexps);
+ addtok (CAT);
if (d->nregexps)
- addtok(OR);
+ addtok (OR);
++d->nregexps;
}
@@ -1830,24 +1921,34 @@ dfaparse (char const *s, size_t len, struct dfa *d)
/* Copy one set to another; the destination must be large enough. */
static void
-copy (position_set const *src, position_set *dst)
+copy (position_set const *src, position_set * dst)
{
- memcpy(dst->elems, src->elems, sizeof(dst->elems[0]) * src->nelem);
+ REALLOC_IF_NECESSARY (dst->elems, dst->alloc, src->nelem);
+ memcpy (dst->elems, src->elems, sizeof (dst->elems[0]) * src->nelem);
dst->nelem = src->nelem;
}
+static void
+alloc_position_set (position_set * s, size_t size)
+{
+ MALLOC (s->elems, size);
+ s->alloc = size;
+ s->nelem = 0;
+}
+
/* Insert position P in set S. S is maintained in sorted order on
decreasing index. If there is already an entry in S with P.index
then merge (logically-OR) P's constraints into the one in S.
S->elems must point to an array large enough to hold the resulting set. */
static void
-insert (position p, position_set *s)
+insert (position p, position_set * s)
{
- int count = s->nelem;
- int lo = 0, hi = count;
+ size_t count = s->nelem;
+ size_t lo = 0, hi = count;
+ size_t i;
while (lo < hi)
{
- int mid = ((unsigned) lo + (unsigned) hi) >> 1;
+ size_t mid = (lo + hi) >> 1;
if (s->elems[mid].index > p.index)
lo = mid + 1;
else
@@ -1855,24 +1956,26 @@ insert (position p, position_set *s)
}
if (lo < count && p.index == s->elems[lo].index)
- s->elems[lo].constraint |= p.constraint;
- else
{
- int i;
- for (i = count; i > lo; i--)
- s->elems[i] = s->elems[i - 1];
- s->elems[lo] = p;
- ++s->nelem;
+ s->elems[lo].constraint |= p.constraint;
+ return;
}
+
+ REALLOC_IF_NECESSARY (s->elems, s->alloc, count + 1);
+ for (i = count; i > lo; i--)
+ s->elems[i] = s->elems[i - 1];
+ s->elems[lo] = p;
+ ++s->nelem;
}
/* Merge two sets of positions into a third. The result is exactly as if
the positions of both sets were inserted into an initially empty set. */
static void
-merge (position_set const *s1, position_set const *s2, position_set *m)
+merge (position_set const *s1, position_set const *s2, position_set * m)
{
- int i = 0, j = 0;
+ size_t i = 0, j = 0;
+ REALLOC_IF_NECESSARY (m->elems, m->alloc, s1->nelem + s2->nelem);
m->nelem = 0;
while (i < s1->nelem && j < s2->nelem)
if (s1->elems[i].index > s2->elems[j].index)
@@ -1892,9 +1995,9 @@ merge (position_set const *s1, position_set const *s2, position_set *m)
/* Delete a position from a set. */
static void
-delete (position p, position_set *s)
+delete (position p, position_set * s)
{
- int i;
+ size_t i;
for (i = 0; i < s->nelem; ++i)
if (p.index == s->elems[i].index)
@@ -1906,17 +2009,13 @@ delete (position p, position_set *s)
/* Find the index of the state corresponding to the given position set with
the given preceding context, or create a new state if there is no such
- state. Newline and letter tell whether we got here on a newline or
- letter, respectively. */
-static int
-state_index (struct dfa *d, position_set const *s, int newline, int letter)
+ state. Context tells whether we got here on a newline or letter. */
+static state_num
+state_index (struct dfa *d, position_set const *s, int context)
{
- int hash = 0;
+ size_t hash = 0;
int constraint;
- int i, j;
-
- newline = newline ? 1 : 0;
- letter = letter ? 1 : 0;
+ state_num i, j;
for (i = 0; i < s->nelem; ++i)
hash ^= s->elems[i].index + s->elems[i].constraint;
@@ -1925,7 +2024,7 @@ state_index (struct dfa *d, position_set const *s, int newline, int letter)
for (i = 0; i < d->sindex; ++i)
{
if (hash != d->states[i].hash || s->nelem != d->states[i].elems.nelem
- || newline != d->states[i].newline || letter != d->states[i].letter)
+ || context != d->states[i].context)
continue;
for (j = 0; j < s->nelem; ++j)
if (s->elems[j].constraint
@@ -1937,12 +2036,11 @@ state_index (struct dfa *d, position_set const *s, int newline, int letter)
}
/* We'll have to create a new state. */
- REALLOC_IF_NECESSARY(d->states, d->salloc, d->sindex + 1);
+ REALLOC_IF_NECESSARY (d->states, d->salloc, d->sindex + 1);
d->states[i].hash = hash;
- MALLOC(d->states[i].elems.elems, s->nelem);
- copy(s, &d->states[i].elems);
- d->states[i].newline = newline;
- d->states[i].letter = letter;
+ alloc_position_set (&d->states[i].elems, s->nelem);
+ copy (s, &d->states[i].elems);
+ d->states[i].context = context;
d->states[i].backref = 0;
d->states[i].constraint = 0;
d->states[i].first_end = 0;
@@ -1955,12 +2053,9 @@ state_index (struct dfa *d, position_set const *s, int newline, int letter)
if (d->tokens[s->elems[j].index] < 0)
{
constraint = s->elems[j].constraint;
- if (SUCCEEDS_IN_CONTEXT(constraint, newline, 0, letter, 0)
- || SUCCEEDS_IN_CONTEXT(constraint, newline, 0, letter, 1)
- || SUCCEEDS_IN_CONTEXT(constraint, newline, 1, letter, 0)
- || SUCCEEDS_IN_CONTEXT(constraint, newline, 1, letter, 1))
+ if (SUCCEEDS_IN_CONTEXT (constraint, context, CTX_ANY))
d->states[i].constraint |= constraint;
- if (! d->states[i].first_end)
+ if (!d->states[i].first_end)
d->states[i].first_end = d->tokens[s->elems[j].index];
}
else if (d->tokens[s->elems[j].index] == BACKREF)
@@ -1980,13 +2075,13 @@ state_index (struct dfa *d, position_set const *s, int newline, int letter)
constraint. Repeat exhaustively until no funny positions are left.
S->elems must be large enough to hold the result. */
static void
-epsclosure (position_set *s, struct dfa const *d)
+epsclosure (position_set * s, struct dfa const *d)
{
- int i, j;
- char *visited; /* array of booleans, enough to use char, not int */
+ size_t i, j;
+ char *visited; /* array of booleans, enough to use char, not int */
position p, old;
- CALLOC(visited, d->tindex);
+ CALLOC (visited, d->tindex);
for (i = 0; i < s->nelem; ++i)
if (d->tokens[s->elems[i].index] >= NOTCHAR
@@ -1999,7 +2094,7 @@ epsclosure (position_set *s, struct dfa const *d)
{
old = s->elems[i];
p.constraint = old.constraint;
- delete(s->elems[i], s);
+ delete (s->elems[i], s);
if (visited[old.index])
{
--i;
@@ -2032,15 +2127,62 @@ epsclosure (position_set *s, struct dfa const *d)
for (j = 0; j < d->follows[old.index].nelem; ++j)
{
p.index = d->follows[old.index].elems[j].index;
- insert(p, s);
+ insert (p, s);
}
/* Force rescan to start at the beginning. */
i = -1;
}
- free(visited);
+ free (visited);
+}
+
+/* Returns the set of contexts for which there is at least one
+ character included in C. */
+
+static int
+charclass_context (charclass c)
+{
+ int context = 0;
+ unsigned int j;
+
+ if (tstbit (eolbyte, c))
+ context |= CTX_NEWLINE;
+
+ for (j = 0; j < CHARCLASS_INTS; ++j)
+ {
+ if (c[j] & letters[j])
+ context |= CTX_LETTER;
+ if (c[j] & ~(letters[j] | newline[j]))
+ context |= CTX_NONE;
+ }
+
+ return context;
+}
+
+/* Returns the contexts on which the position set S depends. Each context
+ in the set of returned contexts (let's call it SC) may have a different
+ follow set than other contexts in SC, and also different from the
+ follow set of the complement set (sc ^ CTX_ANY). However, all contexts
+ in the complement set will have the same follow set. */
+
+static int _GL_ATTRIBUTE_PURE
+state_separate_contexts (position_set const *s)
+{
+ int separate_contexts = 0;
+ size_t j;
+
+ for (j = 0; j < s->nelem; ++j)
+ {
+ if (PREV_NEWLINE_DEPENDENT (s->elems[j].constraint))
+ separate_contexts |= CTX_NEWLINE;
+ if (PREV_LETTER_DEPENDENT (s->elems[j].constraint))
+ separate_contexts |= CTX_LETTER;
+ }
+
+ return separate_contexts;
}
+
/* Perform bottom-up analysis on the parse tree, computing various functions.
Note that at this point, we're pretending constructs like \< are real
characters rather than constraints on what can follow them.
@@ -2096,174 +2238,167 @@ epsclosure (position_set *s, struct dfa const *d)
void
dfaanalyze (struct dfa *d, int searchflag)
{
- int *nullable; /* Nullable stack. */
- int *nfirstpos; /* Element count stack for firstpos sets. */
- position *firstpos; /* Array where firstpos elements are stored. */
- int *nlastpos; /* Element count stack for lastpos sets. */
- position *lastpos; /* Array where lastpos elements are stored. */
- int *nalloc; /* Sizes of arrays allocated to follow sets. */
- position_set tmp; /* Temporary set for merging sets. */
- position_set merged; /* Result of merging sets. */
- int wants_newline; /* True if some position wants newline info. */
+ int *nullable; /* Nullable stack. */
+ size_t *nfirstpos; /* Element count stack for firstpos sets. */
+ position *firstpos; /* Array where firstpos elements are stored. */
+ size_t *nlastpos; /* Element count stack for lastpos sets. */
+ position *lastpos; /* Array where lastpos elements are stored. */
+ position_set tmp; /* Temporary set for merging sets. */
+ position_set merged; /* Result of merging sets. */
+ int separate_contexts; /* Context wanted by some position. */
int *o_nullable;
- int *o_nfirst, *o_nlast;
+ size_t *o_nfirst, *o_nlast;
position *o_firstpos, *o_lastpos;
- int i, j;
+ size_t i, j;
position *pos;
#ifdef DEBUG
- fprintf(stderr, "dfaanalyze:\n");
+ fprintf (stderr, "dfaanalyze:\n");
for (i = 0; i < d->tindex; ++i)
{
- fprintf(stderr, " %d:", i);
- prtok(d->tokens[i]);
+ fprintf (stderr, " %zd:", i);
+ prtok (d->tokens[i]);
}
- putc('\n', stderr);
+ putc ('\n', stderr);
#endif
d->searchflag = searchflag;
- MALLOC(nullable, d->depth);
+ MALLOC (nullable, d->depth);
o_nullable = nullable;
- MALLOC(nfirstpos, d->depth);
+ MALLOC (nfirstpos, d->depth);
o_nfirst = nfirstpos;
- MALLOC(firstpos, d->nleaves);
+ MALLOC (firstpos, d->nleaves);
o_firstpos = firstpos, firstpos += d->nleaves;
- MALLOC(nlastpos, d->depth);
+ MALLOC (nlastpos, d->depth);
o_nlast = nlastpos;
- MALLOC(lastpos, d->nleaves);
+ MALLOC (lastpos, d->nleaves);
o_lastpos = lastpos, lastpos += d->nleaves;
- CALLOC(nalloc, d->tindex);
- MALLOC(merged.elems, d->nleaves);
+ alloc_position_set (&merged, d->nleaves);
- CALLOC(d->follows, d->tindex);
+ CALLOC (d->follows, d->tindex);
for (i = 0; i < d->tindex; ++i)
{
- switch (d->tokens[i])
- {
- case EMPTY:
- /* The empty set is nullable. */
- *nullable++ = 1;
+ switch (d->tokens[i])
+ {
+ case EMPTY:
+ /* The empty set is nullable. */
+ *nullable++ = 1;
- /* The firstpos and lastpos of the empty leaf are both empty. */
- *nfirstpos++ = *nlastpos++ = 0;
- break;
+ /* The firstpos and lastpos of the empty leaf are both empty. */
+ *nfirstpos++ = *nlastpos++ = 0;
+ break;
- case STAR:
- case PLUS:
- /* Every element in the firstpos of the argument is in the follow
- of every element in the lastpos. */
- tmp.nelem = nfirstpos[-1];
- tmp.elems = firstpos;
- pos = lastpos;
- for (j = 0; j < nlastpos[-1]; ++j)
- {
- merge(&tmp, &d->follows[pos[j].index], &merged);
- REALLOC_IF_NECESSARY(d->follows[pos[j].index].elems,
- nalloc[pos[j].index], merged.nelem);
- copy(&merged, &d->follows[pos[j].index]);
- }
+ case STAR:
+ case PLUS:
+ /* Every element in the firstpos of the argument is in the follow
+ of every element in the lastpos. */
+ tmp.nelem = nfirstpos[-1];
+ tmp.elems = firstpos;
+ pos = lastpos;
+ for (j = 0; j < nlastpos[-1]; ++j)
+ {
+ merge (&tmp, &d->follows[pos[j].index], &merged);
+ copy (&merged, &d->follows[pos[j].index]);
+ }
- case QMARK:
- /* A QMARK or STAR node is automatically nullable. */
- if (d->tokens[i] != PLUS)
- nullable[-1] = 1;
- break;
+ case QMARK:
+ /* A QMARK or STAR node is automatically nullable. */
+ if (d->tokens[i] != PLUS)
+ nullable[-1] = 1;
+ break;
- case CAT:
- /* Every element in the firstpos of the second argument is in the
- follow of every element in the lastpos of the first argument. */
- tmp.nelem = nfirstpos[-1];
- tmp.elems = firstpos;
- pos = lastpos + nlastpos[-1];
- for (j = 0; j < nlastpos[-2]; ++j)
- {
- merge(&tmp, &d->follows[pos[j].index], &merged);
- REALLOC_IF_NECESSARY(d->follows[pos[j].index].elems,
- nalloc[pos[j].index], merged.nelem);
- copy(&merged, &d->follows[pos[j].index]);
- }
+ case CAT:
+ /* Every element in the firstpos of the second argument is in the
+ follow of every element in the lastpos of the first argument. */
+ tmp.nelem = nfirstpos[-1];
+ tmp.elems = firstpos;
+ pos = lastpos + nlastpos[-1];
+ for (j = 0; j < nlastpos[-2]; ++j)
+ {
+ merge (&tmp, &d->follows[pos[j].index], &merged);
+ copy (&merged, &d->follows[pos[j].index]);
+ }
- /* The firstpos of a CAT node is the firstpos of the first argument,
- union that of the second argument if the first is nullable. */
- if (nullable[-2])
- nfirstpos[-2] += nfirstpos[-1];
- else
- firstpos += nfirstpos[-1];
- --nfirstpos;
+ /* The firstpos of a CAT node is the firstpos of the first argument,
+ union that of the second argument if the first is nullable. */
+ if (nullable[-2])
+ nfirstpos[-2] += nfirstpos[-1];
+ else
+ firstpos += nfirstpos[-1];
+ --nfirstpos;
- /* The lastpos of a CAT node is the lastpos of the second argument,
- union that of the first argument if the second is nullable. */
- if (nullable[-1])
- nlastpos[-2] += nlastpos[-1];
- else
- {
- pos = lastpos + nlastpos[-2];
- for (j = nlastpos[-1] - 1; j >= 0; --j)
- pos[j] = lastpos[j];
- lastpos += nlastpos[-2];
- nlastpos[-2] = nlastpos[-1];
- }
- --nlastpos;
+ /* The lastpos of a CAT node is the lastpos of the second argument,
+ union that of the first argument if the second is nullable. */
+ if (nullable[-1])
+ nlastpos[-2] += nlastpos[-1];
+ else
+ {
+ pos = lastpos + nlastpos[-2];
+ for (j = nlastpos[-1]; j-- > 0;)
+ pos[j] = lastpos[j];
+ lastpos += nlastpos[-2];
+ nlastpos[-2] = nlastpos[-1];
+ }
+ --nlastpos;
- /* A CAT node is nullable if both arguments are nullable. */
- nullable[-2] = nullable[-1] && nullable[-2];
- --nullable;
- break;
+ /* A CAT node is nullable if both arguments are nullable. */
+ nullable[-2] = nullable[-1] && nullable[-2];
+ --nullable;
+ break;
- case OR:
- /* The firstpos is the union of the firstpos of each argument. */
- nfirstpos[-2] += nfirstpos[-1];
- --nfirstpos;
+ case OR:
+ /* The firstpos is the union of the firstpos of each argument. */
+ nfirstpos[-2] += nfirstpos[-1];
+ --nfirstpos;
- /* The lastpos is the union of the lastpos of each argument. */
- nlastpos[-2] += nlastpos[-1];
- --nlastpos;
+ /* The lastpos is the union of the lastpos of each argument. */
+ nlastpos[-2] += nlastpos[-1];
+ --nlastpos;
- /* An OR node is nullable if either argument is nullable. */
- nullable[-2] = nullable[-1] || nullable[-2];
- --nullable;
- break;
+ /* An OR node is nullable if either argument is nullable. */
+ nullable[-2] = nullable[-1] || nullable[-2];
+ --nullable;
+ break;
- default:
- /* Anything else is a nonempty position. (Note that special
- constructs like \< are treated as nonempty strings here;
- an "epsilon closure" effectively makes them nullable later.
- Backreferences have to get a real position so we can detect
- transitions on them later. But they are nullable. */
- *nullable++ = d->tokens[i] == BACKREF;
-
- /* This position is in its own firstpos and lastpos. */
- *nfirstpos++ = *nlastpos++ = 1;
- --firstpos, --lastpos;
- firstpos->index = lastpos->index = i;
- firstpos->constraint = lastpos->constraint = NO_CONSTRAINT;
-
- /* Allocate the follow set for this position. */
- nalloc[i] = 1;
- MALLOC(d->follows[i].elems, nalloc[i]);
- break;
- }
+ default:
+ /* Anything else is a nonempty position. (Note that special
+ constructs like \< are treated as nonempty strings here;
+ an "epsilon closure" effectively makes them nullable later.
+ Backreferences have to get a real position so we can detect
+ transitions on them later. But they are nullable. */
+ *nullable++ = d->tokens[i] == BACKREF;
+
+ /* This position is in its own firstpos and lastpos. */
+ *nfirstpos++ = *nlastpos++ = 1;
+ --firstpos, --lastpos;
+ firstpos->index = lastpos->index = i;
+ firstpos->constraint = lastpos->constraint = NO_CONSTRAINT;
+
+ /* Allocate the follow set for this position. */
+ alloc_position_set (&d->follows[i], 1);
+ break;
+ }
#ifdef DEBUG
- /* ... balance the above nonsyntactic #ifdef goo... */
- fprintf(stderr, "node %d:", i);
- prtok(d->tokens[i]);
- putc('\n', stderr);
- fprintf(stderr, nullable[-1] ? " nullable: yes\n" : " nullable: no\n");
- fprintf(stderr, " firstpos:");
- for (j = nfirstpos[-1] - 1; j >= 0; --j)
+ /* ... balance the above nonsyntactic #ifdef goo... */
+ fprintf (stderr, "node %zd:", i);
+ prtok (d->tokens[i]);
+ putc ('\n', stderr);
+ fprintf (stderr, nullable[-1] ? " nullable: yes\n" : " nullable: no\n");
+ fprintf (stderr, " firstpos:");
+ for (j = nfirstpos[-1]; j-- > 0;)
{
- fprintf(stderr, " %d:", firstpos[j].index);
- prtok(d->tokens[firstpos[j].index]);
+ fprintf (stderr, " %zd:", firstpos[j].index);
+ prtok (d->tokens[firstpos[j].index]);
}
- fprintf(stderr, "\n lastpos:");
- for (j = nlastpos[-1] - 1; j >= 0; --j)
+ fprintf (stderr, "\n lastpos:");
+ for (j = nlastpos[-1]; j-- > 0;)
{
- fprintf(stderr, " %d:", lastpos[j].index);
- prtok(d->tokens[lastpos[j].index]);
+ fprintf (stderr, " %zd:", lastpos[j].index);
+ prtok (d->tokens[lastpos[j].index]);
}
- putc('\n', stderr);
+ putc ('\n', stderr);
#endif
}
@@ -2272,57 +2407,52 @@ dfaanalyze (struct dfa *d, int searchflag)
for (i = 0; i < d->tindex; ++i)
if (d->tokens[i] < NOTCHAR || d->tokens[i] == BACKREF
#if MBS_SUPPORT
- || d->tokens[i] == ANYCHAR
- || d->tokens[i] == MBCSET
+ || d->tokens[i] == ANYCHAR || d->tokens[i] == MBCSET
#endif
|| d->tokens[i] >= CSET)
{
#ifdef DEBUG
- fprintf(stderr, "follows(%d:", i);
- prtok(d->tokens[i]);
- fprintf(stderr, "):");
- for (j = d->follows[i].nelem - 1; j >= 0; --j)
+ fprintf (stderr, "follows(%zd:", i);
+ prtok (d->tokens[i]);
+ fprintf (stderr, "):");
+ for (j = d->follows[i].nelem; j-- > 0;)
{
- fprintf(stderr, " %d:", d->follows[i].elems[j].index);
- prtok(d->tokens[d->follows[i].elems[j].index]);
+ fprintf (stderr, " %zd:", d->follows[i].elems[j].index);
+ prtok (d->tokens[d->follows[i].elems[j].index]);
}
- putc('\n', stderr);
+ putc ('\n', stderr);
#endif
- copy(&d->follows[i], &merged);
- epsclosure(&merged, d);
- if (d->follows[i].nelem < merged.nelem)
- REALLOC(d->follows[i].elems, merged.nelem);
- copy(&merged, &d->follows[i]);
+ copy (&d->follows[i], &merged);
+ epsclosure (&merged, d);
+ copy (&merged, &d->follows[i]);
}
/* Get the epsilon closure of the firstpos of the regexp. The result will
be the set of positions of state 0. */
merged.nelem = 0;
for (i = 0; i < nfirstpos[-1]; ++i)
- insert(firstpos[i], &merged);
- epsclosure(&merged, d);
-
- /* Check if any of the positions of state 0 will want newline context. */
- wants_newline = 0;
- for (i = 0; i < merged.nelem; ++i)
- if (PREV_NEWLINE_DEPENDENT(merged.elems[i].constraint))
- wants_newline = 1;
+ insert (firstpos[i], &merged);
+ epsclosure (&merged, d);
/* Build the initial state. */
d->salloc = 1;
d->sindex = 0;
- MALLOC(d->states, d->salloc);
- state_index(d, &merged, wants_newline, 0);
+ MALLOC (d->states, d->salloc);
- free(o_nullable);
- free(o_nfirst);
- free(o_firstpos);
- free(o_nlast);
- free(o_lastpos);
- free(nalloc);
- free(merged.elems);
+ separate_contexts = state_separate_contexts (&merged);
+ state_index (d, &merged,
+ (separate_contexts & CTX_NEWLINE
+ ? CTX_NEWLINE : separate_contexts ^ CTX_ANY));
+
+ free (o_nullable);
+ free (o_nfirst);
+ free (o_firstpos);
+ free (o_nlast);
+ free (o_lastpos);
+ free (merged.elems);
}
+
/* Find, for each character, the transition out of state s of d, and store
it in the appropriate slot of trans.
@@ -2354,53 +2484,40 @@ dfaanalyze (struct dfa *d, int searchflag)
create a new group labeled with the characters of C and insert this
position in that group. */
void
-dfastate (int s, struct dfa *d, int trans[])
-{
- position_set *grps; /* As many as will ever be needed. */
- charclass *labels; /* Labels corresponding to the groups. */
- int ngrps = 0; /* Number of groups actually used. */
- position pos; /* Current position being considered. */
- charclass matches; /* Set of matching characters. */
- int matchesf; /* True if matches is nonempty. */
- charclass intersect; /* Intersection with some label set. */
- int intersectf; /* True if intersect is nonempty. */
- charclass leftovers; /* Stuff in the label that didn't match. */
- int leftoversf; /* True if leftovers is nonempty. */
- static charclass letters; /* Set of characters considered letters. */
- static charclass newline; /* Set of characters that aren't newline. */
- position_set follows; /* Union of the follows of some group. */
- position_set tmp; /* Temporary space for merging sets. */
- int state; /* New state. */
- int wants_newline; /* New state wants to know newline context. */
- int state_newline; /* New state on a newline transition. */
- int wants_letter; /* New state wants to know letter context. */
- int state_letter; /* New state on a letter transition. */
- static int initialized; /* Flag for static initialization. */
- int next_isnt_1st_byte = 0; /* Flag if we can't add state0. */
- int i, j, k;
-
- grps = xnmalloc (NOTCHAR, sizeof *grps);
- labels = xnmalloc (NOTCHAR, sizeof *labels);
-
- /* Initialize the set of letters, if necessary. */
- if (! initialized)
- {
- initialized = 1;
- for (i = 0; i < NOTCHAR; ++i)
- if (IS_WORD_CONSTITUENT(i))
- setbit(i, letters);
- setbit(eolbyte, newline);
- }
-
- zeroset(matches);
+dfastate (state_num s, struct dfa *d, state_num trans[])
+{
+ leaf_set *grps; /* As many as will ever be needed. */
+ charclass *labels; /* Labels corresponding to the groups. */
+ size_t ngrps = 0; /* Number of groups actually used. */
+ position pos; /* Current position being considered. */
+ charclass matches; /* Set of matching characters. */
+ int matchesf; /* True if matches is nonempty. */
+ charclass intersect; /* Intersection with some label set. */
+ int intersectf; /* True if intersect is nonempty. */
+ charclass leftovers; /* Stuff in the label that didn't match. */
+ int leftoversf; /* True if leftovers is nonempty. */
+ position_set follows; /* Union of the follows of some group. */
+ position_set tmp; /* Temporary space for merging sets. */
+ int possible_contexts; /* Contexts that this group can match. */
+ int separate_contexts; /* Context that new state wants to know. */
+ state_num state; /* New state. */
+ state_num state_newline; /* New state on a newline transition. */
+ state_num state_letter; /* New state on a letter transition. */
+ int next_isnt_1st_byte = 0; /* Flag if we can't add state0. */
+ size_t i, j, k;
+
+ MALLOC (grps, NOTCHAR);
+ MALLOC (labels, NOTCHAR);
+
+ zeroset (matches);
for (i = 0; i < d->states[s].elems.nelem; ++i)
{
pos = d->states[s].elems.elems[i];
if (d->tokens[pos.index] >= 0 && d->tokens[pos.index] < NOTCHAR)
- setbit(d->tokens[pos.index], matches);
+ setbit (d->tokens[pos.index], matches);
else if (d->tokens[pos.index] >= CSET)
- copyset(d->charclasses[d->tokens[pos.index] - CSET], matches);
+ copyset (d->charclasses[d->tokens[pos.index] - CSET], matches);
else if (MBS_SUPPORT
&& (d->tokens[pos.index] == ANYCHAR
|| d->tokens[pos.index] == MBCSET))
@@ -2410,10 +2527,8 @@ dfastate (int s, struct dfa *d, int trans[])
must put it to d->states[s].mbps, which contains the positions
which can match with a single character not a byte. */
if (d->states[s].mbps.nelem == 0)
- {
- MALLOC(d->states[s].mbps.elems, d->states[s].elems.nelem);
- }
- insert(pos, &(d->states[s].mbps));
+ alloc_position_set (&d->states[s].mbps, 1);
+ insert (pos, &(d->states[s].mbps));
continue;
}
else
@@ -2421,23 +2536,20 @@ dfastate (int s, struct dfa *d, int trans[])
/* Some characters may need to be eliminated from matches because
they fail in the current context. */
- if (pos.constraint != 0xFF)
+ if (pos.constraint != NO_CONSTRAINT)
{
- if (! MATCHES_NEWLINE_CONTEXT(pos.constraint,
- d->states[s].newline, 1))
- clrbit(eolbyte, matches);
- if (! MATCHES_NEWLINE_CONTEXT(pos.constraint,
- d->states[s].newline, 0))
+ if (!SUCCEEDS_IN_CONTEXT (pos.constraint,
+ d->states[s].context, CTX_NEWLINE))
for (j = 0; j < CHARCLASS_INTS; ++j)
- matches[j] &= newline[j];
- if (! MATCHES_LETTER_CONTEXT(pos.constraint,
- d->states[s].letter, 1))
+ matches[j] &= ~newline[j];
+ if (!SUCCEEDS_IN_CONTEXT (pos.constraint,
+ d->states[s].context, CTX_LETTER))
for (j = 0; j < CHARCLASS_INTS; ++j)
matches[j] &= ~letters[j];
- if (! MATCHES_LETTER_CONTEXT(pos.constraint,
- d->states[s].letter, 0))
+ if (!SUCCEEDS_IN_CONTEXT (pos.constraint,
+ d->states[s].context, CTX_NONE))
for (j = 0; j < CHARCLASS_INTS; ++j)
- matches[j] &= letters[j];
+ matches[j] &= letters[j] | newline[j];
/* If there are no characters left, there's no point in going on. */
for (j = 0; j < CHARCLASS_INTS && !matches[j]; ++j)
@@ -2452,7 +2564,7 @@ dfastate (int s, struct dfa *d, int trans[])
group's label doesn't contain that character, go on to the
next group. */
if (d->tokens[pos.index] >= 0 && d->tokens[pos.index] < NOTCHAR
- && !tstbit(d->tokens[pos.index], labels[j]))
+ && !tstbit (d->tokens[pos.index], labels[j]))
continue;
/* Check if this group's label has a nonempty intersection with
@@ -2460,7 +2572,7 @@ dfastate (int s, struct dfa *d, int trans[])
intersectf = 0;
for (k = 0; k < CHARCLASS_INTS; ++k)
(intersect[k] = matches[k] & labels[j][k]) ? (intersectf = 1) : 0;
- if (! intersectf)
+ if (!intersectf)
continue;
/* It does; now find the set differences both ways. */
@@ -2477,20 +2589,22 @@ dfastate (int s, struct dfa *d, int trans[])
/* If there were leftovers, create a new group labeled with them. */
if (leftoversf)
{
- copyset(leftovers, labels[ngrps]);
- copyset(intersect, labels[j]);
- MALLOC(grps[ngrps].elems, d->nleaves);
- copy(&grps[j], &grps[ngrps]);
+ copyset (leftovers, labels[ngrps]);
+ copyset (intersect, labels[j]);
+ MALLOC (grps[ngrps].elems, d->nleaves);
+ memcpy (grps[ngrps].elems, grps[j].elems,
+ sizeof (grps[j].elems[0]) * grps[j].nelem);
+ grps[ngrps].nelem = grps[j].nelem;
++ngrps;
}
- /* Put the position in the current group. Note that there is no
- reason to call insert() here. */
- grps[j].elems[grps[j].nelem++] = pos;
+ /* Put the position in the current group. The constraint is
+ irrelevant here. */
+ grps[j].elems[grps[j].nelem++] = pos.index;
/* If every character matching the current position has been
accounted for, we're done. */
- if (! matchesf)
+ if (!matchesf)
break;
}
@@ -2498,44 +2612,38 @@ dfastate (int s, struct dfa *d, int trans[])
unaccounted for, then we'll have to create a new group. */
if (j == ngrps)
{
- copyset(matches, labels[ngrps]);
- zeroset(matches);
- MALLOC(grps[ngrps].elems, d->nleaves);
+ copyset (matches, labels[ngrps]);
+ zeroset (matches);
+ MALLOC (grps[ngrps].elems, d->nleaves);
grps[ngrps].nelem = 1;
- grps[ngrps].elems[0] = pos;
+ grps[ngrps].elems[0] = pos.index;
++ngrps;
}
}
- MALLOC(follows.elems, d->nleaves);
- MALLOC(tmp.elems, d->nleaves);
+ alloc_position_set (&follows, d->nleaves);
+ alloc_position_set (&tmp, d->nleaves);
/* If we are a searching matcher, the default transition is to a state
containing the positions of state 0, otherwise the default transition
is to fail miserably. */
if (d->searchflag)
{
- wants_newline = 0;
- wants_letter = 0;
- for (i = 0; i < d->states[0].elems.nelem; ++i)
- {
- if (PREV_NEWLINE_DEPENDENT(d->states[0].elems.elems[i].constraint))
- wants_newline = 1;
- if (PREV_LETTER_DEPENDENT(d->states[0].elems.elems[i].constraint))
- wants_letter = 1;
- }
- copy(&d->states[0].elems, &follows);
- state = state_index(d, &follows, 0, 0);
- if (wants_newline)
- state_newline = state_index(d, &follows, 1, 0);
+ /* Find the state(s) corresponding to the positions of state 0. */
+ copy (&d->states[0].elems, &follows);
+ separate_contexts = state_separate_contexts (&follows);
+ state = state_index (d, &follows, separate_contexts ^ CTX_ANY);
+ if (separate_contexts & CTX_NEWLINE)
+ state_newline = state_index (d, &follows, CTX_NEWLINE);
else
state_newline = state;
- if (wants_letter)
- state_letter = state_index(d, &follows, 0, 1);
+ if (separate_contexts & CTX_LETTER)
+ state_letter = state_index (d, &follows, CTX_LETTER);
else
state_letter = state;
+
for (i = 0; i < NOTCHAR; ++i)
- trans[i] = (IS_WORD_CONSTITUENT(i)) ? state_letter : state;
+ trans[i] = (IS_WORD_CONSTITUENT (i)) ? state_letter : state;
trans[eolbyte] = state_newline;
}
else
@@ -2549,8 +2657,8 @@ dfastate (int s, struct dfa *d, int trans[])
/* Find the union of the follows of the positions of the group.
This is a hideously inefficient loop. Fix it someday. */
for (j = 0; j < grps[i].nelem; ++j)
- for (k = 0; k < d->follows[grps[i].elems[j].index].nelem; ++k)
- insert(d->follows[grps[i].elems[j].index].elems[k], &follows);
+ for (k = 0; k < d->follows[grps[i].elems[j]].nelem; ++k)
+ insert (d->follows[grps[i].elems[j]].elems[k], &follows);
if (d->mb_cur_max > 1)
{
@@ -2586,35 +2694,25 @@ dfastate (int s, struct dfa *d, int trans[])
/* If we are building a searching matcher, throw in the positions
of state 0 as well. */
if (d->searchflag
- && (! MBS_SUPPORT
- || (d->mb_cur_max == 1 || !next_isnt_1st_byte)))
+ && (!MBS_SUPPORT || (d->mb_cur_max == 1 || !next_isnt_1st_byte)))
for (j = 0; j < d->states[0].elems.nelem; ++j)
- insert(d->states[0].elems.elems[j], &follows);
+ insert (d->states[0].elems.elems[j], &follows);
/* Find out if the new state will want any context information. */
- wants_newline = 0;
- if (tstbit(eolbyte, labels[i]))
- for (j = 0; j < follows.nelem; ++j)
- if (PREV_NEWLINE_DEPENDENT(follows.elems[j].constraint))
- wants_newline = 1;
-
- wants_letter = 0;
- for (j = 0; j < CHARCLASS_INTS; ++j)
- if (labels[i][j] & letters[j])
- break;
- if (j < CHARCLASS_INTS)
- for (j = 0; j < follows.nelem; ++j)
- if (PREV_LETTER_DEPENDENT(follows.elems[j].constraint))
- wants_letter = 1;
+ possible_contexts = charclass_context (labels[i]);
+ separate_contexts = state_separate_contexts (&follows);
/* Find the state(s) corresponding to the union of the follows. */
- state = state_index(d, &follows, 0, 0);
- if (wants_newline)
- state_newline = state_index(d, &follows, 1, 0);
+ if ((separate_contexts & possible_contexts) != possible_contexts)
+ state = state_index (d, &follows, separate_contexts ^ CTX_ANY);
+ else
+ state = -1;
+ if (separate_contexts & possible_contexts & CTX_NEWLINE)
+ state_newline = state_index (d, &follows, CTX_NEWLINE);
else
state_newline = state;
- if (wants_letter)
- state_letter = state_index(d, &follows, 0, 1);
+ if (separate_contexts & possible_contexts & CTX_LETTER)
+ state_letter = state_index (d, &follows, CTX_LETTER);
else
state_letter = state;
@@ -2627,7 +2725,7 @@ dfastate (int s, struct dfa *d, int trans[])
if (c == eolbyte)
trans[c] = state_newline;
- else if (IS_WORD_CONSTITUENT(c))
+ else if (IS_WORD_CONSTITUENT (c))
trans[c] = state_letter;
else if (c < NOTCHAR)
trans[c] = state;
@@ -2635,11 +2733,11 @@ dfastate (int s, struct dfa *d, int trans[])
}
for (i = 0; i < ngrps; ++i)
- free(grps[i].elems);
- free(follows.elems);
- free(tmp.elems);
- free(grps);
- free(labels);
+ free (grps[i].elems);
+ free (follows.elems);
+ free (tmp.elems);
+ free (grps);
+ free (labels);
}
/* Some routines for manipulating a compiled dfa's transition tables.
@@ -2650,10 +2748,10 @@ dfastate (int s, struct dfa *d, int trans[])
TODO: Improve this comment, get rid of the unnecessary redundancy. */
static void
-build_state (int s, struct dfa *d)
+build_state (state_num s, struct dfa *d)
{
- int *trans; /* The new transition table. */
- int i;
+ state_num *trans; /* The new transition table. */
+ state_num i;
/* Set an upper limit on the number of transition tables that will ever
exist at once. 1024 is arbitrary. The idea is that the frequently
@@ -2663,8 +2761,8 @@ build_state (int s, struct dfa *d)
{
for (i = 0; i < d->tralloc; ++i)
{
- free(d->trans[i]);
- free(d->fails[i]);
+ free (d->trans[i]);
+ free (d->fails[i]);
d->trans[i] = d->fails[i] = NULL;
}
d->trcount = 0;
@@ -2674,18 +2772,15 @@ build_state (int s, struct dfa *d)
/* Set up the success bits for this state. */
d->success[s] = 0;
- if (ACCEPTS_IN_CONTEXT(d->states[s].newline, 1, d->states[s].letter, 0,
- s, *d))
- d->success[s] |= 4;
- if (ACCEPTS_IN_CONTEXT(d->states[s].newline, 0, d->states[s].letter, 1,
- s, *d))
- d->success[s] |= 2;
- if (ACCEPTS_IN_CONTEXT(d->states[s].newline, 0, d->states[s].letter, 0,
- s, *d))
- d->success[s] |= 1;
-
- MALLOC(trans, NOTCHAR);
- dfastate(s, d, trans);
+ if (ACCEPTS_IN_CONTEXT (d->states[s].context, CTX_NEWLINE, s, *d))
+ d->success[s] |= CTX_NEWLINE;
+ if (ACCEPTS_IN_CONTEXT (d->states[s].context, CTX_LETTER, s, *d))
+ d->success[s] |= CTX_LETTER;
+ if (ACCEPTS_IN_CONTEXT (d->states[s].context, CTX_NONE, s, *d))
+ d->success[s] |= CTX_NONE;
+
+ MALLOC (trans, NOTCHAR);
+ dfastate (s, d, trans);
/* Now go through the new transition table, and make sure that the trans
and fail arrays are allocated large enough to hold a pointer for the
@@ -2693,15 +2788,15 @@ build_state (int s, struct dfa *d)
for (i = 0; i < NOTCHAR; ++i)
if (trans[i] >= d->tralloc)
{
- int oldalloc = d->tralloc;
+ state_num oldalloc = d->tralloc;
while (trans[i] >= d->tralloc)
d->tralloc *= 2;
- REALLOC(d->realtrans, d->tralloc + 1);
+ REALLOC (d->realtrans, d->tralloc + 1);
d->trans = d->realtrans + 1;
- REALLOC(d->fails, d->tralloc);
- REALLOC(d->success, d->tralloc);
- REALLOC(d->newlines, d->tralloc);
+ REALLOC (d->fails, d->tralloc);
+ REALLOC (d->success, d->tralloc);
+ REALLOC (d->newlines, d->tralloc);
while (oldalloc < d->tralloc)
{
d->trans[oldalloc] = NULL;
@@ -2714,7 +2809,7 @@ build_state (int s, struct dfa *d)
d->newlines[s] = trans[eolbyte];
trans[eolbyte] = -1;
- if (ACCEPTING(s, *d))
+ if (ACCEPTING (s, *d))
d->fails[s] = trans;
else
d->trans[s] = trans;
@@ -2725,12 +2820,12 @@ build_state_zero (struct dfa *d)
{
d->tralloc = 1;
d->trcount = 0;
- CALLOC(d->realtrans, d->tralloc + 1);
+ CALLOC (d->realtrans, d->tralloc + 1);
d->trans = d->realtrans + 1;
- CALLOC(d->fails, d->tralloc);
- MALLOC(d->success, d->tralloc);
- MALLOC(d->newlines, d->tralloc);
- build_state(0, d);
+ CALLOC (d->fails, d->tralloc);
+ MALLOC (d->success, d->tralloc);
+ MALLOC (d->newlines, d->tralloc);
+ build_state (0, d);
}
/* Multibyte character handling sub-routines for dfaexec. */
@@ -2751,29 +2846,29 @@ build_state_zero (struct dfa *d)
++p; \
if ((char *) p >= end) \
{ \
- free(mblen_buf); \
- free(inputwcs); \
+ free (mblen_buf); \
+ free (inputwcs); \
*end = saved_end; \
return NULL; \
} \
}
static void
-realloc_trans_if_necessary(struct dfa *d, int new_state)
+realloc_trans_if_necessary (struct dfa *d, state_num new_state)
{
/* Make sure that the trans and fail arrays are allocated large enough
to hold a pointer for the new state. */
if (new_state >= d->tralloc)
{
- int oldalloc = d->tralloc;
+ state_num oldalloc = d->tralloc;
while (new_state >= d->tralloc)
d->tralloc *= 2;
- REALLOC(d->realtrans, d->tralloc + 1);
+ REALLOC (d->realtrans, d->tralloc + 1);
d->trans = d->realtrans + 1;
- REALLOC(d->fails, d->tralloc);
- REALLOC(d->success, d->tralloc);
- REALLOC(d->newlines, d->tralloc);
+ REALLOC (d->fails, d->tralloc);
+ REALLOC (d->success, d->tralloc);
+ REALLOC (d->newlines, d->tralloc);
while (oldalloc < d->tralloc)
{
d->trans[oldalloc] = NULL;
@@ -2786,9 +2881,9 @@ realloc_trans_if_necessary(struct dfa *d, int new_state)
transit_state_consume_1char. */
typedef enum
{
- TRANSIT_STATE_IN_PROGRESS, /* State transition has not finished. */
- TRANSIT_STATE_DONE, /* State transition has finished. */
- TRANSIT_STATE_END_BUFFER /* Reach the end of the buffer. */
+ TRANSIT_STATE_IN_PROGRESS, /* State transition has not finished. */
+ TRANSIT_STATE_DONE, /* State transition has finished. */
+ TRANSIT_STATE_END_BUFFER /* Reach the end of the buffer. */
} status_transit_state;
/* Consume a single byte and transit state from 's' to '*next_state'.
@@ -2796,11 +2891,11 @@ typedef enum
But state transition is done just once, otherwise matching succeed or
reach the end of the buffer. */
static status_transit_state
-transit_state_singlebyte (struct dfa *d, int s, unsigned char const *p,
- int *next_state)
+transit_state_singlebyte (struct dfa *d, state_num s, unsigned char const *p,
+ state_num * next_state)
{
- int *t;
- int works = s;
+ state_num *t;
+ state_num works = s;
status_transit_state rval = TRANSIT_STATE_IN_PROGRESS;
@@ -2829,7 +2924,7 @@ transit_state_singlebyte (struct dfa *d, int s, unsigned char const *p,
}
else
{
- build_state(works, d);
+ build_state (works, d);
}
}
*next_state = works;
@@ -2840,35 +2935,29 @@ transit_state_singlebyte (struct dfa *d, int s, unsigned char const *p,
current position. Return the length of the match, in bytes.
POS is the position of the ".". */
static int
-match_anychar (struct dfa *d, int s, position pos, int idx)
+match_anychar (struct dfa *d, state_num s, position pos, size_t idx)
{
- int newline = 0;
- int letter = 0;
+ int context;
wchar_t wc;
int mbclen;
wc = inputwcs[idx];
- mbclen = (mblen_buf[idx] == 0)? 1 : mblen_buf[idx];
+ mbclen = (mblen_buf[idx] == 0) ? 1 : mblen_buf[idx];
- /* Check context. */
- if (wc == (wchar_t)eolbyte)
+ /* Check syntax bits. */
+ if (wc == (wchar_t) eolbyte)
{
if (!(syntax_bits & RE_DOT_NEWLINE))
return 0;
- newline = 1;
}
- else if (wc == (wchar_t)'\0')
+ else if (wc == (wchar_t) '\0')
{
if (syntax_bits & RE_DOT_NOT_NULL)
return 0;
- newline = 1;
}
- if (iswalnum(wc) || wc == L'_')
- letter = 1;
-
- if (!SUCCEEDS_IN_CONTEXT(pos.constraint, d->states[s].newline,
- newline, d->states[s].letter, letter))
+ context = wchar_context (wc);
+ if (!SUCCEEDS_IN_CONTEXT (pos.constraint, d->states[s].context, context))
return 0;
return mbclen;
@@ -2879,70 +2968,66 @@ match_anychar (struct dfa *d, int s, position pos, int idx)
Return the length of the match, in bytes.
POS is the position of the bracket expression. */
static int
-match_mb_charset (struct dfa *d, int s, position pos, int idx)
+match_mb_charset (struct dfa *d, state_num s, position pos, size_t idx)
{
- int i;
- int match; /* Flag which represent that matching succeed. */
- int match_len; /* Length of the character (or collating element)
- with which this operator match. */
- int op_len; /* Length of the operator. */
+ size_t i;
+ int match; /* Flag which represent that matching succeed. */
+ int match_len; /* Length of the character (or collating element)
+ with which this operator match. */
+ int op_len; /* Length of the operator. */
char buffer[128];
- /* Pointer to the structure to which we are currently refering. */
+ /* Pointer to the structure to which we are currently referring. */
struct mb_char_classes *work_mbc;
- int newline = 0;
- int letter = 0;
- wchar_t wc; /* Current refering character. */
+ int context;
+ wchar_t wc; /* Current referring character. */
wc = inputwcs[idx];
- /* Check context. */
- if (wc == (wchar_t)eolbyte)
+ /* Check syntax bits. */
+ if (wc == (wchar_t) eolbyte)
{
if (!(syntax_bits & RE_DOT_NEWLINE))
return 0;
- newline = 1;
}
- else if (wc == (wchar_t)'\0')
+ else if (wc == (wchar_t) '\0')
{
if (syntax_bits & RE_DOT_NOT_NULL)
return 0;
- newline = 1;
}
- if (iswalnum(wc) || wc == L'_')
- letter = 1;
- if (!SUCCEEDS_IN_CONTEXT(pos.constraint, d->states[s].newline,
- newline, d->states[s].letter, letter))
+
+ context = wchar_context (wc);
+ if (!SUCCEEDS_IN_CONTEXT (pos.constraint, d->states[s].context, context))
return 0;
- /* Assign the current refering operator to work_mbc. */
+ /* Assign the current referring operator to work_mbc. */
work_mbc = &(d->mbcsets[(d->multibyte_prop[pos.index]) >> 2]);
match = !work_mbc->invert;
- match_len = (mblen_buf[idx] == 0)? 1 : mblen_buf[idx];
+ match_len = (mblen_buf[idx] == 0) ? 1 : mblen_buf[idx];
/* Match in range 0-255? */
if (wc < NOTCHAR && work_mbc->cset != -1
- && tstbit((unsigned char)wc, d->charclasses[work_mbc->cset]))
+ && tstbit ((unsigned char) wc, d->charclasses[work_mbc->cset]))
goto charset_matched;
/* match with a character class? */
- for (i = 0; i<work_mbc->nch_classes; i++)
+ for (i = 0; i < work_mbc->nch_classes; i++)
{
- if (iswctype((wint_t)wc, work_mbc->ch_classes[i]))
+ if (iswctype ((wint_t) wc, work_mbc->ch_classes[i]))
goto charset_matched;
}
- strncpy(buffer, (char const *) buf_begin + idx, match_len);
+ strncpy (buffer, (char const *) buf_begin + idx, match_len);
buffer[match_len] = '\0';
/* match with an equivalent class? */
- for (i = 0; i<work_mbc->nequivs; i++)
+ for (i = 0; i < work_mbc->nequivs; i++)
{
- op_len = strlen(work_mbc->equivs[i]);
- strncpy(buffer, (char const *) buf_begin + idx, op_len);
+ op_len = strlen (work_mbc->equivs[i]);
+ strncpy (buffer, (char const *) buf_begin + idx, op_len);
buffer[op_len] = '\0';
- if (strcoll(work_mbc->equivs[i], buffer) == 0)
+ if (strcoll (work_mbc->equivs[i], buffer) == 0)
{
match_len = op_len;
goto charset_matched;
@@ -2950,13 +3035,13 @@ match_mb_charset (struct dfa *d, int s, position pos, int idx)
}
/* match with a collating element? */
- for (i = 0; i<work_mbc->ncoll_elems; i++)
+ for (i = 0; i < work_mbc->ncoll_elems; i++)
{
- op_len = strlen(work_mbc->coll_elems[i]);
- strncpy(buffer, (char const *) buf_begin + idx, op_len);
+ op_len = strlen (work_mbc->coll_elems[i]);
+ strncpy (buffer, (char const *) buf_begin + idx, op_len);
buffer[op_len] = '\0';
- if (strcoll(work_mbc->coll_elems[i], buffer) == 0)
+ if (strcoll (work_mbc->coll_elems[i], buffer) == 0)
{
match_len = op_len;
goto charset_matched;
@@ -2964,7 +3049,7 @@ match_mb_charset (struct dfa *d, int s, position pos, int idx)
}
/* match with a range? */
- for (i = 0; i<work_mbc->nranges; i++)
+ for (i = 0; i < work_mbc->nranges; i++)
{
if (work_mbc->range_sts[i] <= wc &&
wc <= work_mbc->range_ends[i])
@@ -2972,7 +3057,7 @@ match_mb_charset (struct dfa *d, int s, position pos, int idx)
}
/* match with a character? */
- for (i = 0; i<work_mbc->nchars; i++)
+ for (i = 0; i < work_mbc->nchars; i++)
{
if (wc == work_mbc->chars[i])
goto charset_matched;
@@ -2980,7 +3065,7 @@ match_mb_charset (struct dfa *d, int s, position pos, int idx)
match = !match;
- charset_matched:
+charset_matched:
return match ? match_len : 0;
}
@@ -2991,26 +3076,26 @@ match_mb_charset (struct dfa *d, int s, position pos, int idx)
`idx' is the index from the buf_begin, and it is the current position
in the buffer.
Caller MUST free the array which this function return. */
-static int*
-check_matching_with_multibyte_ops (struct dfa *d, int s, int idx)
+static int *
+check_matching_with_multibyte_ops (struct dfa *d, state_num s, size_t idx)
{
- int i;
- int* rarray;
+ size_t i;
+ int *rarray;
- MALLOC(rarray, d->states[s].mbps.nelem);
+ MALLOC (rarray, d->states[s].mbps.nelem);
for (i = 0; i < d->states[s].mbps.nelem; ++i)
{
position pos = d->states[s].mbps.elems[i];
- switch(d->tokens[pos.index])
+ switch (d->tokens[pos.index])
{
case ANYCHAR:
- rarray[i] = match_anychar(d, s, pos, idx);
+ rarray[i] = match_anychar (d, s, pos, idx);
break;
case MBCSET:
- rarray[i] = match_mb_charset(d, s, pos, idx);
+ rarray[i] = match_mb_charset (d, s, pos, idx);
break;
default:
- break; /* cannot happen. */
+ break; /* cannot happen. */
}
}
return rarray;
@@ -3023,64 +3108,64 @@ check_matching_with_multibyte_ops (struct dfa *d, int s, int idx)
`mbclen' and `pps' are the output. `mbclen' is the length of the
character consumed, and `pps' is the set this function enumerate. */
static status_transit_state
-transit_state_consume_1char (struct dfa *d, int s, unsigned char const **pp,
- int *match_lens, int *mbclen, position_set *pps)
-{
- int i, j;
- int s1, s2;
- int* work_mbls;
+transit_state_consume_1char (struct dfa *d, state_num s,
+ unsigned char const **pp,
+ int *match_lens, int *mbclen, position_set * pps)
+{
+ size_t i, j;
+ int k;
+ state_num s1, s2;
+ int *work_mbls;
status_transit_state rs = TRANSIT_STATE_DONE;
/* Calculate the length of the (single/multi byte) character
to which p points. */
- *mbclen = (mblen_buf[*pp - buf_begin] == 0)? 1
- : mblen_buf[*pp - buf_begin];
+ *mbclen = (mblen_buf[*pp - buf_begin] == 0) ? 1 : mblen_buf[*pp - buf_begin];
/* Calculate the state which can be reached from the state `s' by
consuming `*mbclen' single bytes from the buffer. */
s1 = s;
- for (i = 0; i < *mbclen; i++)
+ for (k = 0; k < *mbclen; k++)
{
s2 = s1;
- rs = transit_state_singlebyte(d, s2, (*pp)++, &s1);
+ rs = transit_state_singlebyte (d, s2, (*pp)++, &s1);
}
/* Copy the positions contained by `s1' to the set `pps'. */
- copy(&(d->states[s1].elems), pps);
+ copy (&(d->states[s1].elems), pps);
- /* Check (inputed)match_lens, and initialize if it is NULL. */
+ /* Check (input) match_lens, and initialize if it is NULL. */
if (match_lens == NULL && d->states[s].mbps.nelem != 0)
- work_mbls = check_matching_with_multibyte_ops(d, s, *pp - buf_begin);
+ work_mbls = check_matching_with_multibyte_ops (d, s, *pp - buf_begin);
else
work_mbls = match_lens;
/* Add all of the positions which can be reached from `s' by consuming
a single character. */
- for (i = 0; i < d->states[s].mbps.nelem ; i++)
- {
+ for (i = 0; i < d->states[s].mbps.nelem; i++)
+ {
if (work_mbls[i] == *mbclen)
for (j = 0; j < d->follows[d->states[s].mbps.elems[i].index].nelem;
j++)
- insert(d->follows[d->states[s].mbps.elems[i].index].elems[j],
- pps);
+ insert (d->follows[d->states[s].mbps.elems[i].index].elems[j], pps);
}
if (match_lens == NULL && work_mbls != NULL)
- free(work_mbls);
+ free (work_mbls);
return rs;
}
/* Transit state from s, then return new state and update the pointer of the
buffer. This function is for some operator which can match with a multi-
byte character or a collating element (which may be multi characters). */
-static int
-transit_state (struct dfa *d, int s, unsigned char const **pp)
+static state_num
+transit_state (struct dfa *d, state_num s, unsigned char const **pp)
{
- int s1;
- int mbclen; /* The length of current input multibyte character. */
+ state_num s1;
+ int mbclen; /* The length of current input multibyte character. */
int maxlen = 0;
- int i, j;
+ size_t i, j;
int *match_lens = NULL;
- int nelem = d->states[s].mbps.nelem; /* Just a alias. */
+ size_t nelem = d->states[s].mbps.nelem; /* Just a alias. */
position_set follows;
unsigned char const *p1 = *pp;
wchar_t wc;
@@ -3090,7 +3175,7 @@ transit_state (struct dfa *d, int s, unsigned char const **pp)
We check whether each of them can match or not. */
{
/* Note: caller must free the return value of this function. */
- match_lens = check_matching_with_multibyte_ops(d, s, *pp - buf_begin);
+ match_lens = check_matching_with_multibyte_ops (d, s, *pp - buf_begin);
for (i = 0; i < nelem; i++)
/* Search the operator which match the longest string,
@@ -3106,50 +3191,48 @@ transit_state (struct dfa *d, int s, unsigned char const **pp)
We need to check only one single byte character. */
{
status_transit_state rs;
- rs = transit_state_singlebyte(d, s, *pp, &s1);
+ rs = transit_state_singlebyte (d, s, *pp, &s1);
/* We must update the pointer if state transition succeeded. */
if (rs == TRANSIT_STATE_DONE)
- ++*pp;
+ ++ * pp;
- free(match_lens);
+ free (match_lens);
return s1;
}
/* This state has some operators which can match a multibyte character. */
- follows.nelem = 0;
- MALLOC(follows.elems, d->nleaves);
+ alloc_position_set (&follows, d->nleaves);
/* `maxlen' may be longer than the length of a character, because it may
not be a character but a (multi character) collating element.
We enumerate all of the positions which `s' can reach by consuming
`maxlen' bytes. */
- transit_state_consume_1char(d, s, pp, match_lens, &mbclen, &follows);
+ transit_state_consume_1char (d, s, pp, match_lens, &mbclen, &follows);
wc = inputwcs[*pp - mbclen - buf_begin];
- s1 = state_index(d, &follows, wc == L'\n', iswalnum(wc));
- realloc_trans_if_necessary(d, s1);
+ s1 = state_index (d, &follows, wchar_context (wc));
+ realloc_trans_if_necessary (d, s1);
while (*pp - p1 < maxlen)
{
- follows.nelem = 0;
- transit_state_consume_1char(d, s1, pp, NULL, &mbclen, &follows);
+ transit_state_consume_1char (d, s1, pp, NULL, &mbclen, &follows);
- for (i = 0; i < nelem ; i++)
+ for (i = 0; i < nelem; i++)
{
if (match_lens[i] == *pp - p1)
for (j = 0;
j < d->follows[d->states[s1].mbps.elems[i].index].nelem; j++)
- insert(d->follows[d->states[s1].mbps.elems[i].index].elems[j],
- &follows);
+ insert (d->follows[d->states[s1].mbps.elems[i].index].elems[j],
+ &follows);
}
wc = inputwcs[*pp - mbclen - buf_begin];
- s1 = state_index(d, &follows, wc == L'\n', iswalnum(wc));
- realloc_trans_if_necessary(d, s1);
+ s1 = state_index (d, &follows, wchar_context (wc));
+ realloc_trans_if_necessary (d, s1);
}
- free(match_lens);
- free(follows.elems);
+ free (match_lens);
+ free (follows.elems);
return s1;
}
@@ -3171,14 +3254,14 @@ prepare_wc_buf (const char *begin, const char *end)
if (remain_bytes == 0)
{
remain_bytes
- = mbrtowc(inputwcs + i, begin + i, end - begin - i + 1, &mbs);
+ = mbrtowc (inputwcs + i, begin + i, end - begin - i + 1, &mbs);
if (remain_bytes < 1
|| remain_bytes == (size_t) -1
|| remain_bytes == (size_t) -2
- || (remain_bytes == 1 && inputwcs[i] == (wchar_t)begin[i]))
+ || (remain_bytes == 1 && inputwcs[i] == (wchar_t) begin[i]))
{
remain_bytes = 0;
- inputwcs[i] = (wchar_t)begin[i];
+ inputwcs[i] = (wchar_t) begin[i];
mblen_buf[i] = 0;
if (begin[i] == eol)
break;
@@ -3199,7 +3282,7 @@ prepare_wc_buf (const char *begin, const char *end)
buf_end = (unsigned char *) (begin + i);
mblen_buf[i] = 0;
- inputwcs[i] = 0; /* sentinel */
+ inputwcs[i] = 0; /* sentinel */
#endif /* MBS_SUPPORT */
}
@@ -3210,36 +3293,24 @@ prepare_wc_buf (const char *begin, const char *end)
points to the beginning of the buffer, and END points to the first byte
after its end. Note however that we store a sentinel byte (usually
newline) in *END, so the actual buffer must be one byte longer.
- When NEWLINE is nonzero, newlines may appear in the matching string.
+ When ALLOW_NL is nonzero, newlines may appear in the matching string.
If COUNT is non-NULL, increment *COUNT once for each newline processed.
Finally, if BACKREF is non-NULL set *BACKREF to indicate whether we
encountered a back-reference (1) or not (0). The caller may use this
to decide whether to fall back on a backtracking matcher. */
char *
dfaexec (struct dfa *d, char const *begin, char *end,
- int newline, int *count, int *backref)
+ int allow_nl, size_t *count, int *backref)
{
- int s, s1; /* Current state. */
- unsigned char const *p; /* Current input character. */
- int **trans, *t; /* Copy of d->trans so it can be optimized
+ state_num s, s1; /* Current state. */
+ unsigned char const *p; /* Current input character. */
+ state_num **trans, *t; /* Copy of d->trans so it can be optimized
into a register. */
- unsigned char eol = eolbyte; /* Likewise for eolbyte. */
+ unsigned char eol = eolbyte; /* Likewise for eolbyte. */
unsigned char saved_end;
- static int sbit[NOTCHAR]; /* Table for anding with d->success. */
- static int sbit_init;
-
- if (! sbit_init)
- {
- unsigned int i;
-
- sbit_init = 1;
- for (i = 0; i < NOTCHAR; ++i)
- sbit[i] = (IS_WORD_CONSTITUENT(i)) ? 2 : 1;
- sbit[eol] = 4;
- }
- if (! d->tralloc)
- build_state_zero(d);
+ if (!d->tralloc)
+ build_state_zero (d);
s = s1 = 0;
p = (unsigned char const *) begin;
@@ -3249,9 +3320,9 @@ dfaexec (struct dfa *d, char const *begin, char *end,
if (d->mb_cur_max > 1)
{
- MALLOC(mblen_buf, end - begin + 2);
- MALLOC(inputwcs, end - begin + 2);
- memset(&mbs, 0, sizeof(mbstate_t));
+ MALLOC (mblen_buf, end - begin + 2);
+ MALLOC (inputwcs, end - begin + 2);
+ memset (&mbs, 0, sizeof (mbstate_t));
prepare_wc_buf ((const char *) p, end);
}
@@ -3263,7 +3334,7 @@ dfaexec (struct dfa *d, char const *begin, char *end,
if (p > buf_end)
break;
s1 = s;
- SKIP_REMAINS_MB_IF_INITIAL_STATE(s, p);
+ SKIP_REMAINS_MB_IF_INITIAL_STATE (s, p);
if (d->states[s].mbps.nelem == 0)
{
@@ -3278,15 +3349,15 @@ dfaexec (struct dfa *d, char const *begin, char *end,
if (backref)
{
*backref = 1;
- free(mblen_buf);
- free(inputwcs);
+ free (mblen_buf);
+ free (inputwcs);
*end = saved_end;
return (char *) p;
}
/* Can match with a multibyte character (and multi character
collating element). Transition table might be updated. */
- s = transit_state(d, s, &p);
+ s = transit_state (d, s, &p);
trans = d->trans;
}
else
@@ -3296,7 +3367,9 @@ dfaexec (struct dfa *d, char const *begin, char *end,
s1 = t[*p++];
if ((t = trans[s1]) == NULL)
{
- int tmp = s; s = s1; s1 = tmp; /* swap */
+ state_num tmp = s;
+ s = s1;
+ s1 = tmp; /* swap */
break;
}
s = t[*p++];
@@ -3311,8 +3384,8 @@ dfaexec (struct dfa *d, char const *begin, char *end,
*backref = (d->states[s].backref != 0);
if (d->mb_cur_max > 1)
{
- free(mblen_buf);
- free(inputwcs);
+ free (mblen_buf);
+ free (inputwcs);
}
*end = saved_end;
return (char *) p;
@@ -3323,7 +3396,7 @@ dfaexec (struct dfa *d, char const *begin, char *end,
{
/* Can match with a multibyte character (and multicharacter
collating element). Transition table might be updated. */
- s = transit_state(d, s, &p);
+ s = transit_state (d, s, &p);
trans = d->trans;
}
else
@@ -3335,7 +3408,7 @@ dfaexec (struct dfa *d, char const *begin, char *end,
if ((char *) p <= end && p[-1] == eol)
{
if (count)
- ++*count;
+ ++ * count;
if (d->mb_cur_max > 1)
prepare_wc_buf ((const char *) p, end);
@@ -3346,8 +3419,8 @@ dfaexec (struct dfa *d, char const *begin, char *end,
{
if (d->mb_cur_max > 1)
{
- free(mblen_buf);
- free(inputwcs);
+ free (mblen_buf);
+ free (inputwcs);
}
*end = saved_end;
return NULL;
@@ -3355,12 +3428,12 @@ dfaexec (struct dfa *d, char const *begin, char *end,
if (s >= 0)
{
- build_state(s, d);
+ build_state (s, d);
trans = d->trans;
continue;
}
- if (p[-1] == eol && newline)
+ if (p[-1] == eol && allow_nl)
{
s = d->newlines[s1];
continue;
@@ -3373,30 +3446,30 @@ dfaexec (struct dfa *d, char const *begin, char *end,
static void
free_mbdata (struct dfa *d)
{
- unsigned int i;
+ size_t i;
- free(d->multibyte_prop);
+ free (d->multibyte_prop);
d->multibyte_prop = NULL;
for (i = 0; i < d->nmbcsets; ++i)
{
- unsigned int j;
+ size_t j;
struct mb_char_classes *p = &(d->mbcsets[i]);
- free(p->chars);
- free(p->ch_classes);
- free(p->range_sts);
- free(p->range_ends);
+ free (p->chars);
+ free (p->ch_classes);
+ free (p->range_sts);
+ free (p->range_ends);
for (j = 0; j < p->nequivs; ++j)
- free(p->equivs[j]);
- free(p->equivs);
+ free (p->equivs[j]);
+ free (p->equivs);
for (j = 0; j < p->ncoll_elems; ++j)
- free(p->coll_elems[j]);
- free(p->coll_elems);
+ free (p->coll_elems[j]);
+ free (p->coll_elems);
}
- free(d->mbcsets);
+ free (d->mbcsets);
d->mbcsets = NULL;
d->nmbcsets = 0;
}
@@ -3409,33 +3482,33 @@ dfainit (struct dfa *d)
memset (d, 0, sizeof *d);
d->calloc = 1;
- MALLOC(d->charclasses, d->calloc);
+ MALLOC (d->charclasses, d->calloc);
d->talloc = 1;
- MALLOC(d->tokens, d->talloc);
+ MALLOC (d->tokens, d->talloc);
d->mb_cur_max = MB_CUR_MAX;
if (d->mb_cur_max > 1)
{
d->nmultibyte_prop = 1;
- MALLOC(d->multibyte_prop, d->nmultibyte_prop);
+ MALLOC (d->multibyte_prop, d->nmultibyte_prop);
d->mbcsets_alloc = 1;
- MALLOC(d->mbcsets, d->mbcsets_alloc);
+ MALLOC (d->mbcsets, d->mbcsets_alloc);
}
}
static void
dfaoptimize (struct dfa *d)
{
- unsigned int i;
+ size_t i;
- if (!MBS_SUPPORT || !using_utf8())
+ if (!MBS_SUPPORT || !using_utf8 ())
return;
for (i = 0; i < d->tindex; ++i)
{
- switch(d->tokens[i])
+ switch (d->tokens[i])
{
case ANYCHAR:
/* Lowered. */
@@ -3456,49 +3529,50 @@ dfaoptimize (struct dfa *d)
void
dfacomp (char const *s, size_t len, struct dfa *d, int searchflag)
{
- dfainit(d);
- dfaparse(s, len, d);
- dfamust(d);
- dfaoptimize(d);
- dfaanalyze(d, searchflag);
+ dfainit (d);
+ dfaparse (s, len, d);
+ dfamust (d);
+ dfaoptimize (d);
+ dfaanalyze (d, searchflag);
}
/* Free the storage held by the components of a dfa. */
void
dfafree (struct dfa *d)
{
- int i;
+ size_t i;
struct dfamust *dm, *ndm;
- free(d->charclasses);
- free(d->tokens);
+ free (d->charclasses);
+ free (d->tokens);
if (d->mb_cur_max > 1)
- free_mbdata(d);
-
- for (i = 0; i < d->sindex; ++i) {
- free(d->states[i].elems.elems);
- if (MBS_SUPPORT)
- free(d->states[i].mbps.elems);
- }
- free(d->states);
+ free_mbdata (d);
+
+ for (i = 0; i < d->sindex; ++i)
+ {
+ free (d->states[i].elems.elems);
+ if (MBS_SUPPORT)
+ free (d->states[i].mbps.elems);
+ }
+ free (d->states);
for (i = 0; i < d->tindex; ++i)
- free(d->follows[i].elems);
- free(d->follows);
+ free (d->follows[i].elems);
+ free (d->follows);
for (i = 0; i < d->tralloc; ++i)
{
- free(d->trans[i]);
- free(d->fails[i]);
+ free (d->trans[i]);
+ free (d->fails[i]);
}
- free(d->realtrans);
- free(d->fails);
- free(d->newlines);
- free(d->success);
+ free (d->realtrans);
+ free (d->fails);
+ free (d->newlines);
+ free (d->success);
for (dm = d->musts; dm; dm = ndm)
{
ndm = dm->next;
- free(dm->must);
- free(dm);
+ free (dm->must);
+ free (dm);
}
}
@@ -3605,15 +3679,15 @@ icpyalloc (char const *string)
return icatalloc (NULL, string);
}
-static char * _GL_ATTRIBUTE_PURE
+static char *_GL_ATTRIBUTE_PURE
istrstr (char const *lookin, char const *lookfor)
{
char const *cp;
size_t len;
- len = strlen(lookfor);
+ len = strlen (lookfor);
for (cp = lookin; *cp != '\0'; ++cp)
- if (strncmp(cp, lookfor, len) == 0)
+ if (strncmp (cp, lookfor, len) == 0)
return (char *) cp;
return NULL;
}
@@ -3621,13 +3695,13 @@ istrstr (char const *lookin, char const *lookfor)
static void
freelist (char **cpp)
{
- int i;
+ size_t i;
if (cpp == NULL)
return;
for (i = 0; cpp[i] != NULL; ++i)
{
- free(cpp[i]);
+ free (cpp[i]);
cpp[i] = NULL;
}
}
@@ -3635,38 +3709,38 @@ freelist (char **cpp)
static char **
enlist (char **cpp, char *new, size_t len)
{
- int i, j;
+ size_t i, j;
if (cpp == NULL)
return NULL;
- if ((new = icpyalloc(new)) == NULL)
+ if ((new = icpyalloc (new)) == NULL)
{
- freelist(cpp);
+ freelist (cpp);
return NULL;
}
new[len] = '\0';
/* Is there already something in the list that's new (or longer)? */
for (i = 0; cpp[i] != NULL; ++i)
- if (istrstr(cpp[i], new) != NULL)
+ if (istrstr (cpp[i], new) != NULL)
{
- free(new);
+ free (new);
return cpp;
}
/* Eliminate any obsoleted strings. */
j = 0;
while (cpp[j] != NULL)
- if (istrstr(new, cpp[j]) == NULL)
+ if (istrstr (new, cpp[j]) == NULL)
++j;
else
{
- free(cpp[j]);
+ free (cpp[j]);
if (--i == j)
break;
cpp[j] = cpp[i];
cpp[i] = NULL;
}
/* Add the new string. */
- cpp = xnrealloc(cpp, i + 2, sizeof *cpp);
+ REALLOC (cpp, i + 2);
cpp[i] = new;
cpp[i + 1] = NULL;
return cpp;
@@ -3685,7 +3759,7 @@ comsubs (char *left, char const *right)
if (left == NULL || right == NULL)
return NULL;
- cpp = malloc(sizeof *cpp);
+ cpp = malloc (sizeof *cpp);
if (cpp == NULL)
return NULL;
cpp[0] = NULL;
@@ -3720,13 +3794,13 @@ comsubs (char *left, char const *right)
static char **
addlists (char **old, char **new)
{
- int i;
+ size_t i;
if (old == NULL || new == NULL)
return NULL;
for (i = 0; new[i] != NULL; ++i)
{
- old = enlist(old, new[i], strlen(new[i]));
+ old = enlist (old, new[i], strlen (new[i]));
if (old == NULL)
break;
}
@@ -3740,11 +3814,11 @@ inboth (char **left, char **right)
{
char **both;
char **temp;
- int lnum, rnum;
+ size_t lnum, rnum;
if (left == NULL || right == NULL)
return NULL;
- both = malloc(sizeof *both);
+ both = malloc (sizeof *both);
if (both == NULL)
return NULL;
both[0] = NULL;
@@ -3752,15 +3826,15 @@ inboth (char **left, char **right)
{
for (rnum = 0; right[rnum] != NULL; ++rnum)
{
- temp = comsubs(left[lnum], right[rnum]);
+ temp = comsubs (left[lnum], right[rnum]);
if (temp == NULL)
{
- freelist(both);
+ freelist (both);
return NULL;
}
- both = addlists(both, temp);
- freelist(temp);
- free(temp);
+ both = addlists (both, temp);
+ freelist (temp);
+ free (temp);
if (both == NULL)
return NULL;
}
@@ -3777,10 +3851,10 @@ typedef struct
} must;
static void
-resetmust (must *mp)
+resetmust (must * mp)
{
mp->left[0] = mp->right[0] = mp->is[0] = '\0';
- freelist(mp->in);
+ freelist (mp->in);
}
static void
@@ -3789,8 +3863,8 @@ dfamust (struct dfa *d)
must *musts;
must *mp;
char *result;
- int ri;
- int i;
+ size_t ri;
+ size_t i;
int exact;
token t;
static must must0;
@@ -3799,27 +3873,27 @@ dfamust (struct dfa *d)
result = empty_string;
exact = 0;
- musts = xnmalloc(d->tindex + 1, sizeof *musts);
+ MALLOC (musts, d->tindex + 1);
mp = musts;
for (i = 0; i <= d->tindex; ++i)
mp[i] = must0;
for (i = 0; i <= d->tindex; ++i)
{
- mp[i].in = xmalloc(sizeof *mp[i].in);
- mp[i].left = xmalloc(2);
- mp[i].right = xmalloc(2);
- mp[i].is = xmalloc(2);
+ mp[i].in = xmalloc (sizeof *mp[i].in);
+ mp[i].left = xmalloc (2);
+ mp[i].right = xmalloc (2);
+ mp[i].is = xmalloc (2);
mp[i].left[0] = mp[i].right[0] = mp[i].is[0] = '\0';
mp[i].in[0] = NULL;
}
#ifdef DEBUG
- fprintf(stderr, "dfamust:\n");
+ fprintf (stderr, "dfamust:\n");
for (i = 0; i < d->tindex; ++i)
{
- fprintf(stderr, " %d:", i);
- prtok(d->tokens[i]);
+ fprintf (stderr, " %zd:", i);
+ prtok (d->tokens[i]);
}
- putc('\n', stderr);
+ putc ('\n', stderr);
#endif
for (ri = 0; ri < d->tindex; ++ri)
{
@@ -3836,13 +3910,13 @@ dfamust (struct dfa *d)
case LIMWORD:
case NOTLIMWORD:
case BACKREF:
- resetmust(mp);
+ resetmust (mp);
break;
case STAR:
case QMARK:
assert (musts < mp);
--mp;
- resetmust(mp);
+ resetmust (mp);
break;
case OR:
assert (&musts[2] <= mp);
@@ -3850,7 +3924,7 @@ dfamust (struct dfa *d)
char **new;
must *lmp;
must *rmp;
- int j, ln, rn, n;
+ size_t j, ln, rn, n;
rmp = --mp;
lmp = --mp;
@@ -3863,8 +3937,8 @@ dfamust (struct dfa *d)
++i;
lmp->left[i] = '\0';
/* Right side */
- ln = strlen(lmp->right);
- rn = strlen(rmp->right);
+ ln = strlen (lmp->right);
+ rn = strlen (rmp->right);
n = ln;
if (n > rn)
n = rn;
@@ -3874,11 +3948,11 @@ dfamust (struct dfa *d)
for (j = 0; j < i; ++j)
lmp->right[j] = lmp->right[(ln - i) + j];
lmp->right[j] = '\0';
- new = inboth(lmp->in, rmp->in);
+ new = inboth (lmp->in, rmp->in);
if (new == NULL)
goto done;
- freelist(lmp->in);
- free(lmp->in);
+ freelist (lmp->in);
+ free (lmp->in);
lmp->in = new;
}
break;
@@ -3890,7 +3964,7 @@ dfamust (struct dfa *d)
case END:
assert (mp == &musts[1]);
for (i = 0; musts[0].in[i] != NULL; ++i)
- if (strlen(musts[0].in[i]) > strlen(result))
+ if (strlen (musts[0].in[i]) > strlen (result))
result = musts[0].in[i];
if (STREQ (result, musts[0].is))
exact = 1;
@@ -3904,41 +3978,39 @@ dfamust (struct dfa *d)
rmp = --mp;
lmp = --mp;
/* In. Everything in left, plus everything in
- right, plus catenation of
+ right, plus concatenation of
left's right and right's left. */
- lmp->in = addlists(lmp->in, rmp->in);
+ lmp->in = addlists (lmp->in, rmp->in);
if (lmp->in == NULL)
goto done;
- if (lmp->right[0] != '\0' &&
- rmp->left[0] != '\0')
+ if (lmp->right[0] != '\0' && rmp->left[0] != '\0')
{
char *tp;
- tp = icpyalloc(lmp->right);
- tp = icatalloc(tp, rmp->left);
- lmp->in = enlist(lmp->in, tp, strlen(tp));
- free(tp);
+ tp = icpyalloc (lmp->right);
+ tp = icatalloc (tp, rmp->left);
+ lmp->in = enlist (lmp->in, tp, strlen (tp));
+ free (tp);
if (lmp->in == NULL)
goto done;
}
/* Left-hand */
if (lmp->is[0] != '\0')
{
- lmp->left = icatalloc(lmp->left,
- rmp->left);
+ lmp->left = icatalloc (lmp->left, rmp->left);
if (lmp->left == NULL)
goto done;
}
/* Right-hand */
if (rmp->is[0] == '\0')
lmp->right[0] = '\0';
- lmp->right = icatalloc(lmp->right, rmp->right);
+ lmp->right = icatalloc (lmp->right, rmp->right);
if (lmp->right == NULL)
goto done;
/* Guaranteed to be */
if (lmp->is[0] != '\0' && rmp->is[0] != '\0')
{
- lmp->is = icatalloc(lmp->is, rmp->is);
+ lmp->is = icatalloc (lmp->is, rmp->is);
if (lmp->is == NULL)
goto done;
}
@@ -3956,59 +4028,55 @@ dfamust (struct dfa *d)
/* not on *my* shift */
goto done;
}
- else if (t >= CSET
- || !MBS_SUPPORT
- || t == ANYCHAR
- || t == MBCSET
- )
+ else if (t >= CSET || !MBS_SUPPORT || t == ANYCHAR || t == MBCSET)
{
/* easy enough */
- resetmust(mp);
+ resetmust (mp);
}
else
{
/* plain character */
- resetmust(mp);
+ resetmust (mp);
mp->is[0] = mp->left[0] = mp->right[0] = t;
mp->is[1] = mp->left[1] = mp->right[1] = '\0';
- mp->in = enlist(mp->in, mp->is, (size_t)1);
+ mp->in = enlist (mp->in, mp->is, (size_t) 1);
if (mp->in == NULL)
goto done;
}
break;
}
#ifdef DEBUG
- fprintf(stderr, " node: %d:", ri);
- prtok(d->tokens[ri]);
- fprintf(stderr, "\n in:");
+ fprintf (stderr, " node: %zd:", ri);
+ prtok (d->tokens[ri]);
+ fprintf (stderr, "\n in:");
for (i = 0; mp->in[i]; ++i)
- fprintf(stderr, " \"%s\"", mp->in[i]);
- fprintf(stderr, "\n is: \"%s\"\n", mp->is);
- fprintf(stderr, " left: \"%s\"\n", mp->left);
- fprintf(stderr, " right: \"%s\"\n", mp->right);
+ fprintf (stderr, " \"%s\"", mp->in[i]);
+ fprintf (stderr, "\n is: \"%s\"\n", mp->is);
+ fprintf (stderr, " left: \"%s\"\n", mp->left);
+ fprintf (stderr, " right: \"%s\"\n", mp->right);
#endif
++mp;
}
- done:
- if (strlen(result))
+done:
+ if (strlen (result))
{
- MALLOC(dm, 1);
+ MALLOC (dm, 1);
dm->exact = exact;
- MALLOC(dm->must, strlen(result) + 1);
- strcpy(dm->must, result);
+ MALLOC (dm->must, strlen (result) + 1);
+ strcpy (dm->must, result);
dm->next = d->musts;
d->musts = dm;
}
mp = musts;
for (i = 0; i <= d->tindex; ++i)
{
- freelist(mp[i].in);
- free(mp[i].in);
- free(mp[i].left);
- free(mp[i].right);
- free(mp[i].is);
+ freelist (mp[i].in);
+ free (mp[i].in);
+ free (mp[i].left);
+ free (mp[i].right);
+ free (mp[i].is);
}
- free(mp);
+ free (mp);
}
struct dfa *
@@ -4017,7 +4085,7 @@ dfaalloc (void)
return xmalloc (sizeof (struct dfa));
}
-struct dfamust * _GL_ATTRIBUTE_PURE
+struct dfamust *_GL_ATTRIBUTE_PURE
dfamusts (struct dfa const *d)
{
return d->musts;
diff --git a/dfa.h b/dfa.h
index d45f3139..96dd4b86 100644
--- a/dfa.h
+++ b/dfa.h
@@ -1,5 +1,5 @@
/* dfa.h - declarations for GNU deterministic regexp compiler
- Copyright (C) 1988, 1998, 2007, 2009-2011 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1998, 2007, 2009-2012 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
@@ -18,17 +18,6 @@
/* Written June, 1988 by Mike Haertel */
-#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) || __STRICT_ANSI__
-# define __attribute__(x)
-#endif
-
-/* The __pure__ attribute was added in gcc 2.96. */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
-#else
-# define _GL_ATTRIBUTE_PURE /* empty */
-#endif
-
/* Element of a list of strings, at least one of which is known to
appear in any R.E. matching the DFA. */
struct dfamust
@@ -74,7 +63,7 @@ extern void dfacomp (char const *, size_t, struct dfa *, int);
encountered a back-reference (1) or not (0). The caller may use this
to decide whether to fall back on a backtracking matcher. */
extern char *dfaexec (struct dfa *d, char const *begin, char *end,
- int newline, int *count, int *backref);
+ int newline, size_t *count, int *backref);
/* Free the storage held by the components of a struct dfa. */
extern void dfafree (struct dfa *);
@@ -93,7 +82,7 @@ extern void dfaanalyze (struct dfa *, int);
/* Compute, for each possible character, the transitions out of a given
state, storing them in an array of integers. */
-extern void dfastate (int, struct dfa *, int []);
+extern void dfastate (ptrdiff_t, struct dfa *, ptrdiff_t []);
/* Error handling. */
@@ -106,4 +95,4 @@ extern void dfawarn (const char *);
/* dfaerror() is called by the regexp routines whenever an error occurs. It
takes a single argument, a NUL-terminated string describing the error.
The user must supply a dfaerror. */
-extern void dfaerror (const char *);
+extern _Noreturn void dfaerror (const char *);
diff --git a/doc/ChangeLog b/doc/ChangeLog
index a54832db..6e4c0103 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -38,6 +38,15 @@
* gawk.1: Same.
* awkcard.in: Same.
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
+2012-02-10 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawk.texi, awkcard.in: Bump patch level.
+ * texinfo.tex: Updated from Texinfo CVS.
+
2011-12-06 Arnold D. Robbins <arnold@skeeve.com>
* gawk.texi: Various typo fixes from mailing list.
diff --git a/doc/Makefile.in b/doc/Makefile.in
index f0571c49..e475208b 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -69,11 +69,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
- $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
diff --git a/doc/awkcard.in b/doc/awkcard.in
index ab42e9fd..b7d87691 100644
--- a/doc/awkcard.in
+++ b/doc/awkcard.in
@@ -1,7 +1,8 @@
.\" AWK Reference Card --- Arnold Robbins, arnold@skeeve.com
.\"
.\" Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-.\" 2003, 2004, 2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+.\" 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012
+.\" Free Software Foundation, Inc.
.\"
.\" Permission is granted to make and distribute verbatim copies of
.\" this reference card provided the copyright notice and this permission
@@ -100,7 +101,7 @@ Brian Kernighan and Michael Brennan who reviewed it.
.SL
.nf
\*(FRCopyright \(co 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+2005, 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
.nf
.BT
@@ -1925,7 +1926,7 @@ to use the current domain.\*(CB
.ES
.nf
\*(CDHost: \*(FCftp.gnu.org\*(FR
-File: \*(FC/gnu/gawk/gawk-4.0.0.tar.gz\fP
+File: \*(FC/gnu/gawk/gawk-4.0.1.tar.gz\fP
.in +.2i
.fi
GNU \*(AK (\*(GK). There may be a later version.
diff --git a/doc/gawk.info b/doc/gawk.info
index c5702eee..bf279828 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -10,8 +10,8 @@ START-INFO-DIR-ENTRY
END-INFO-DIR-ENTRY
Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011 Free Software
-Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012 Free
+Software Foundation, Inc.
This is Edition 4 of `GAWK: Effective AWK Programming: A User's
@@ -42,8 +42,8 @@ This file documents `awk', a program that you can use to select
particular records in a file and perform operations upon them.
Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011 Free Software
-Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012 Free
+Software Foundation, Inc.
This is Edition 4 of `GAWK: Effective AWK Programming: A User's
@@ -1414,7 +1414,8 @@ pass to that interpreter. The operating system then runs the
interpreter with the given argument and the full argument list of the
executed program. The first argument in the list is the full file name
of the `awk' program. The rest of the argument list contains either
-options to `awk', or data files, or both.
+options to `awk', or data files, or both. Note that on many systems
+`awk' may be found in `/usr/bin' instead of in `/bin'. Caveat Emptor.

File: gawk.info, Node: Comments, Next: Quoting, Prev: Executable Scripts, Up: Running gawk
@@ -3221,6 +3222,10 @@ sequences and that are not listed in the table stand for themselves:
constants are valid and work the way you want them to, using any
version of `awk'.(2)
+ Finally, when `{' and `}' appear in regexp constants in a way that
+ cannot be interpreted as an interval expression (such as
+ `/q{a}/'), then they stand for themselves.
+
In regular expressions, the `*', `+', and `?' operators, as well as
the braces `{' and `}', have the highest precedence, followed by
concatenation, and finally by `|'. As in arithmetic, parentheses can
@@ -9327,7 +9332,7 @@ specific to `gawk' are marked with a pound sign (`#').
The working precision of arbitrary precision floating-point
numbers, 53 by default (*note Setting Precision::).
-`RNDMODE #'
+`ROUNDMODE #'
The rounding mode to use for arbitrary precision arithmetic on
numbers, by default `"N"' (`roundTiesToEven' in the IEEE-754
standard) (*note Setting Rounding Mode::).
@@ -10723,7 +10728,8 @@ with numbers. Optional parameters are enclosed in square
brackets ([ ]):
`atan2(Y, X)'
- Return the arctangent of `Y / X' in radians.
+ Return the arctangent of `Y / X' in radians. You can use `pi =
+ atan2(0, -1)' to retrieve the value of pi.
`cos(X)'
Return the cosine of X, with X in radians.
@@ -13922,11 +13928,11 @@ File: gawk.info, Node: Rounding Mode, Next: Arbitrary Precision Floats, Prev:
The "rounding mode" specifies the behavior for the results of numerical
operations when discarding extra precision. Each rounding mode indicates
how the least significant returned digit of a rounded result is to be
-calculated. The `RNDMODE' variable (*note Setting Rounding Mode::)
+calculated. The `ROUNDMODE' variable (*note Setting Rounding Mode::)
provides program level control over the rounding mode. *note
table-rounding-modes:: lists the IEEE-754 defined rounding modes:
-Rounding Mode IEEE Name `RNDMODE'
+Rounding Mode IEEE Name `ROUNDMODE'
---------------------------------------------------------------------------
Round to nearest, ties to even `roundTiesToEven' `"N"' or `"n"'
Round toward plus Infinity `roundTowardPositive' `"U"' or `"u"'
@@ -14013,18 +14019,18 @@ and rounding modes, and gives correctly rounded reproducible
platform-independent results. With the command-line option `--bignum'
or `-M', all floating-point arithmetic operators and numeric functions
can yield results to any desired precision level supported by MPFR.
-Two built-in variables `PREC' (*note Setting Precision::) and `RNDMODE'
-(*note Setting Rounding Mode::) provide control over the working
-precision and the rounding mode. The precision and the rounding mode
-are set globally for every operation to follow.
+Two built-in variables `PREC' (*note Setting Precision::) and
+`ROUNDMODE' (*note Setting Rounding Mode::) provide control over the
+working precision and the rounding mode. The precision and the
+rounding mode are set globally for every operation to follow.
The default working precision for arbitrary precision floats is 53,
-and the default value for `RNDMODE' is `"N"', which selects the IEEE-754
-`roundTiesToEven' (*note Rounding Mode::) rounding mode.(1) `gawk' uses
-the default exponent range in MPFR (EMAX = 2^30 - 1, EMIN = -EMAX) for
-all floating-point contexts. There is no explicit mechanism to adjust
-the exponent range. MPFR does not implement subnormal numbers by
-default, and this behavior cannot be changed in `gawk'.
+and the default value for `ROUNDMODE' is `"N"', which selects the
+IEEE-754 `roundTiesToEven' (*note Rounding Mode::) rounding mode.(1)
+`gawk' uses the default exponent range in MPFR (EMAX = 2^30 - 1, EMIN =
+-EMAX) for all floating-point contexts. There is no explicit mechanism
+to adjust the exponent range. MPFR does not implement subnormal
+numbers by default, and this behavior cannot be changed in `gawk'.
NOTE: When emulating an IEEE-754 format (*note Setting
Precision::), `gawk' internally adjusts the exponent range to the
@@ -14113,19 +14119,19 @@ File: gawk.info, Node: Setting Rounding Mode, Next: Floating-point Constants,
11.7 Setting the Rounding Mode
==============================
-The built-in variable `RNDMODE' has the default value `"N"', which
+The built-in variable `ROUNDMODE' has the default value `"N"', which
selects the IEEE-754 rounding mode `roundTiesToEven'. The other
-possible values for `RNDMODE' are `"U"' for rounding mode
+possible values for `ROUNDMODE' are `"U"' for rounding mode
`roundTowardPositive', `"D"' for `roundTowardNegative', and `"Z"' for
`roundTowardZero'. `gawk' also accepts `"A"' to select the IEEE-754
mode `roundTiesToAway' if your version of the MPFR library supports it;
-otherwise setting `RNDMODE' to this value has no effect. *Note Rounding
-Mode::, for the meanings of the various rounding modes.
+otherwise setting `ROUNDMODE' to this value has no effect. *Note
+Rounding Mode::, for the meanings of the various rounding modes.
Here is an example of how to change the default rounding behavior of
`printf''s output:
- $ gawk -M -vRNDMODE="Z" 'BEGIN { printf("%.2f\n", 1.378) }'
+ $ gawk -M -vROUNDMODE="Z" 'BEGIN { printf("%.2f\n", 1.378) }'
-| 1.37

@@ -26353,7 +26359,7 @@ Index
* coprocesses, closing: Close Files And Pipes.
(line 6)
* coprocesses, getline from: Getline/Coprocess. (line 6)
-* cos() function: Numeric Functions. (line 14)
+* cos() function: Numeric Functions. (line 15)
* counting: Wc Program. (line 6)
* csh utility: Statements/Lines. (line 44)
* csh utility, POSIXLY_CORRECT environment variable: Options. (line 329)
@@ -26714,7 +26720,7 @@ Index
* exclamation point (!), !~ operator: Regexp Usage. (line 19)
* exit statement: Exit Statement. (line 6)
* exit status, of gawk: Exit Status. (line 6)
-* exp() function: Numeric Functions. (line 17)
+* exp() function: Numeric Functions. (line 18)
* expand utility: Very Simple. (line 69)
* expressions: Expressions. (line 6)
* expressions, as patterns: Expression Patterns. (line 6)
@@ -27044,7 +27050,7 @@ Index
(line 26)
* gawk, regular expressions, operators: GNU Regexp Operators.
(line 6)
-* gawk, regular expressions, precedence: Regexp Operators. (line 157)
+* gawk, regular expressions, precedence: Regexp Operators. (line 161)
* gawk, RT variable in <1>: Auto-set. (line 213)
* gawk, RT variable in <2>: Getline/Variable/File.
(line 10)
@@ -27226,7 +27232,7 @@ Index
* installation, VMS: VMS Installation. (line 6)
* installing gawk: Installation. (line 6)
* INT signal (MS-Windows): Profiling. (line 206)
-* int() function: Numeric Functions. (line 22)
+* int() function: Numeric Functions. (line 23)
* integer, arbitrary precision: Arbitrary Precision Integers.
(line 6)
* integers: Basic Data Typing. (line 21)
@@ -27400,7 +27406,7 @@ Index
* localization, See internationalization, localization: I18N and L10N.
(line 6)
* log files, timestamps in: Time Functions. (line 6)
-* log() function: Numeric Functions. (line 29)
+* log() function: Numeric Functions. (line 30)
* logical false/true: Truth Values. (line 6)
* logical operators, See Boolean expressions: Boolean Ops. (line 6)
* login information: Passwd Functions. (line 16)
@@ -27536,7 +27542,7 @@ Index
* numbers, hexadecimal: Nondecimal-numbers. (line 6)
* numbers, NODE internal type: Internals. (line 23)
* numbers, octal: Nondecimal-numbers. (line 6)
-* numbers, random: Numeric Functions. (line 63)
+* numbers, random: Numeric Functions. (line 64)
* numbers, rounding: Round Function. (line 6)
* numeric, constants: Scalar Constants. (line 6)
* numeric, output format: OFMT. (line 6)
@@ -27738,7 +27744,7 @@ Index
* POSIX awk, OFMT variable and: OFMT. (line 27)
* POSIX awk, period (.), using: Regexp Operators. (line 50)
* POSIX awk, printf format strings and: Format Modifiers. (line 159)
-* POSIX awk, regular expressions and: Regexp Operators. (line 157)
+* POSIX awk, regular expressions and: Regexp Operators. (line 161)
* POSIX awk, timestamps and: Time Functions. (line 6)
* POSIX awk, | I/O operator and: Getline/Pipe. (line 52)
* POSIX mode: Options. (line 228)
@@ -27750,7 +27756,7 @@ Index
* PREC variable: User-modified. (line 134)
* precedence <1>: Precedence. (line 6)
* precedence: Increment Ops. (line 61)
-* precedence, regexp operators: Regexp Operators. (line 152)
+* precedence, regexp operators: Regexp Operators. (line 156)
* print debugger command: Viewing And Changing Data.
(line 36)
* print statement: Printing. (line 16)
@@ -27841,12 +27847,12 @@ Index
* r debugger command (alias for run): Debugger Execution Control.
(line 62)
* Rakitzis, Byron: History Sorting. (line 25)
-* rand() function: Numeric Functions. (line 33)
+* rand() function: Numeric Functions. (line 34)
* random numbers, Cliff: Cliff Random Function.
(line 6)
* random numbers, rand()/srand() functions: Numeric Functions.
- (line 33)
-* random numbers, seed of: Numeric Functions. (line 63)
+ (line 34)
+* random numbers, seed of: Numeric Functions. (line 64)
* range expressions (regexps): Bracket Expressions. (line 6)
* range patterns: Ranges. (line 6)
* Rankin, Pat <1>: Bugs. (line 72)
@@ -27916,7 +27922,7 @@ Index
* regular expressions, operators, gawk: GNU Regexp Operators.
(line 6)
* regular expressions, operators, precedence of: Regexp Operators.
- (line 152)
+ (line 156)
* regular expressions, searching for: Egrep Program. (line 6)
* relational operators, See comparison operators: Typing and Comparison.
(line 9)
@@ -27940,9 +27946,6 @@ Index
* Ritchie, Dennis: Basic Data Typing. (line 74)
* RLENGTH variable: Auto-set. (line 200)
* RLENGTH variable, match() function and: String Functions. (line 223)
-* RNDMODE variable <1>: Setting Rounding Mode.
- (line 6)
-* RNDMODE variable: User-modified. (line 138)
* Robbins, Arnold <1>: Future Extensions. (line 6)
* Robbins, Arnold <2>: Bugs. (line 32)
* Robbins, Arnold <3>: Contributors. (line 108)
@@ -27963,6 +27966,9 @@ Index
* round() user-defined function: Round Function. (line 16)
* rounding mode, floating-point: Rounding Mode. (line 6)
* rounding numbers: Round Function. (line 6)
+* ROUNDMODE variable <1>: Setting Rounding Mode.
+ (line 6)
+* ROUNDMODE variable: User-modified. (line 138)
* RS variable <1>: User-modified. (line 143)
* RS variable: Records. (line 20)
* RS variable, multiline records and: Multiple Line. (line 17)
@@ -28053,7 +28059,7 @@ Index
* SIGUSR1 signal: Profiling. (line 180)
* silent debugger command: Debugger Execution Control.
(line 10)
-* sin() function: Numeric Functions. (line 74)
+* sin() function: Numeric Functions. (line 75)
* single precision floating-point: Basic Data Typing. (line 36)
* single quote (') <1>: Quoting. (line 31)
* single quote (') <2>: Long. (line 33)
@@ -28096,9 +28102,9 @@ Index
* sprintf() function, OFMT variable and: User-modified. (line 124)
* sprintf() function, print/printf statements and: Round Function.
(line 6)
-* sqrt() function: Numeric Functions. (line 77)
+* sqrt() function: Numeric Functions. (line 78)
* square brackets ([]): Regexp Operators. (line 55)
-* srand() function: Numeric Functions. (line 81)
+* srand() function: Numeric Functions. (line 82)
* Stallman, Richard <1>: Glossary. (line 301)
* Stallman, Richard <2>: Contributors. (line 24)
* Stallman, Richard <3>: Acknowledgments. (line 18)
@@ -28418,441 +28424,441 @@ Index

Tag Table:
-Node: Top1346
-Node: Foreword31547
-Node: Preface35892
-Ref: Preface-Footnote-138945
-Ref: Preface-Footnote-239051
-Node: History39283
-Node: Names41674
-Ref: Names-Footnote-143151
-Node: This Manual43223
-Ref: This Manual-Footnote-148161
-Node: Conventions48261
-Node: Manual History50395
-Ref: Manual History-Footnote-153665
-Ref: Manual History-Footnote-253706
-Node: How To Contribute53780
-Node: Acknowledgments54924
-Node: Getting Started59420
-Node: Running gawk61799
-Node: One-shot62985
-Node: Read Terminal64210
-Ref: Read Terminal-Footnote-165860
-Ref: Read Terminal-Footnote-266136
-Node: Long66307
-Node: Executable Scripts67683
-Ref: Executable Scripts-Footnote-169552
-Ref: Executable Scripts-Footnote-269654
-Node: Comments70105
-Node: Quoting72572
-Node: DOS Quoting77195
-Node: Sample Data Files77870
-Node: Very Simple80902
-Node: Two Rules85501
-Node: More Complex87648
-Ref: More Complex-Footnote-190578
-Node: Statements/Lines90663
-Ref: Statements/Lines-Footnote-195125
-Node: Other Features95390
-Node: When96318
-Node: Invoking Gawk98465
-Node: Command Line99850
-Node: Options100633
-Ref: Options-Footnote-1114990
-Node: Other Arguments115015
-Node: Naming Standard Input117673
-Node: Environment Variables118767
-Node: AWKPATH Variable119211
-Ref: AWKPATH Variable-Footnote-1121808
-Node: Other Environment Variables122068
-Node: Exit Status124560
-Node: Include Files125235
-Node: Obsolete128720
-Node: Undocumented129406
-Node: Regexp129647
-Node: Regexp Usage131036
-Node: Escape Sequences133062
-Node: Regexp Operators138825
-Ref: Regexp Operators-Footnote-1146022
-Ref: Regexp Operators-Footnote-2146169
-Node: Bracket Expressions146267
-Ref: table-char-classes148157
-Node: GNU Regexp Operators150680
-Node: Case-sensitivity154403
-Ref: Case-sensitivity-Footnote-1157371
-Ref: Case-sensitivity-Footnote-2157606
-Node: Leftmost Longest157714
-Node: Computed Regexps158915
-Node: Reading Files162325
-Node: Records164329
-Ref: Records-Footnote-1173003
-Node: Fields173040
-Ref: Fields-Footnote-1176073
-Node: Nonconstant Fields176159
-Node: Changing Fields178361
-Node: Field Separators184342
-Node: Default Field Splitting186971
-Node: Regexp Field Splitting188088
-Node: Single Character Fields191430
-Node: Command Line Field Separator192489
-Node: Field Splitting Summary195930
-Ref: Field Splitting Summary-Footnote-1199122
-Node: Constant Size199223
-Node: Splitting By Content203807
-Ref: Splitting By Content-Footnote-1207533
-Node: Multiple Line207573
-Ref: Multiple Line-Footnote-1213420
-Node: Getline213599
-Node: Plain Getline215815
-Node: Getline/Variable217904
-Node: Getline/File219045
-Node: Getline/Variable/File220367
-Ref: Getline/Variable/File-Footnote-1221966
-Node: Getline/Pipe222053
-Node: Getline/Variable/Pipe224613
-Node: Getline/Coprocess225720
-Node: Getline/Variable/Coprocess226963
-Node: Getline Notes227677
-Node: Getline Summary229619
-Ref: table-getline-variants229962
-Node: Read Timeout230818
-Ref: Read Timeout-Footnote-1234563
-Node: Command line directories234620
-Node: Printing235250
-Node: Print236881
-Node: Print Examples238218
-Node: Output Separators241002
-Node: OFMT242762
-Node: Printf244120
-Node: Basic Printf245026
-Node: Control Letters246565
-Node: Format Modifiers250377
-Node: Printf Examples256386
-Node: Redirection259101
-Node: Special Files266085
-Node: Special FD266618
-Ref: Special FD-Footnote-1270243
-Node: Special Network270317
-Node: Special Caveats271167
-Node: Close Files And Pipes271963
-Ref: Close Files And Pipes-Footnote-1278986
-Ref: Close Files And Pipes-Footnote-2279134
-Node: Expressions279284
-Node: Values280416
-Node: Constants281092
-Node: Scalar Constants281772
-Ref: Scalar Constants-Footnote-1282631
-Node: Nondecimal-numbers282813
-Node: Regexp Constants285872
-Node: Using Constant Regexps286347
-Node: Variables289402
-Node: Using Variables290057
-Node: Assignment Options291781
-Node: Conversion293653
-Ref: table-locale-affects299029
-Ref: Conversion-Footnote-1299653
-Node: All Operators299762
-Node: Arithmetic Ops300392
-Node: Concatenation302897
-Ref: Concatenation-Footnote-1305690
-Node: Assignment Ops305810
-Ref: table-assign-ops310798
-Node: Increment Ops312206
-Node: Truth Values and Conditions315676
-Node: Truth Values316759
-Node: Typing and Comparison317808
-Node: Variable Typing318597
-Ref: Variable Typing-Footnote-1322494
-Node: Comparison Operators322616
-Ref: table-relational-ops323026
-Node: POSIX String Comparison326575
-Ref: POSIX String Comparison-Footnote-1327531
-Node: Boolean Ops327669
-Ref: Boolean Ops-Footnote-1331747
-Node: Conditional Exp331838
-Node: Function Calls333570
-Node: Precedence337164
-Node: Locales340833
-Node: Patterns and Actions341922
-Node: Pattern Overview342976
-Node: Regexp Patterns344645
-Node: Expression Patterns345188
-Node: Ranges348873
-Node: BEGIN/END351839
-Node: Using BEGIN/END352601
-Ref: Using BEGIN/END-Footnote-1355332
-Node: I/O And BEGIN/END355438
-Node: BEGINFILE/ENDFILE357720
-Node: Empty360613
-Node: Using Shell Variables360929
-Node: Action Overview363214
-Node: Statements365571
-Node: If Statement367425
-Node: While Statement368924
-Node: Do Statement370968
-Node: For Statement372124
-Node: Switch Statement375276
-Node: Break Statement377373
-Node: Continue Statement379363
-Node: Next Statement381156
-Node: Nextfile Statement383546
-Node: Exit Statement386091
-Node: Built-in Variables388507
-Node: User-modified389602
-Ref: User-modified-Footnote-1397955
-Node: Auto-set398017
-Ref: Auto-set-Footnote-1407863
-Node: ARGC and ARGV408068
-Node: Arrays411919
-Node: Array Basics413424
-Node: Array Intro414250
-Node: Reference to Elements418568
-Node: Assigning Elements420838
-Node: Array Example421329
-Node: Scanning an Array423061
-Node: Controlling Scanning425375
-Ref: Controlling Scanning-Footnote-1430308
-Node: Delete430624
-Ref: Delete-Footnote-1433059
-Node: Numeric Array Subscripts433116
-Node: Uninitialized Subscripts435299
-Node: Multi-dimensional436927
-Node: Multi-scanning440021
-Node: Arrays of Arrays441612
-Node: Functions446257
-Node: Built-in447079
-Node: Calling Built-in448157
-Node: Numeric Functions450145
-Ref: Numeric Functions-Footnote-1453910
-Ref: Numeric Functions-Footnote-2454267
-Ref: Numeric Functions-Footnote-3454315
-Node: String Functions454584
-Ref: String Functions-Footnote-1478081
-Ref: String Functions-Footnote-2478210
-Ref: String Functions-Footnote-3478458
-Node: Gory Details478545
-Ref: table-sub-escapes480224
-Ref: table-sub-posix-92481578
-Ref: table-sub-proposed482921
-Ref: table-posix-sub484271
-Ref: table-gensub-escapes485817
-Ref: Gory Details-Footnote-1487024
-Ref: Gory Details-Footnote-2487075
-Node: I/O Functions487226
-Ref: I/O Functions-Footnote-1493881
-Node: Time Functions494028
-Ref: Time Functions-Footnote-1504920
-Ref: Time Functions-Footnote-2504988
-Ref: Time Functions-Footnote-3505146
-Ref: Time Functions-Footnote-4505257
-Ref: Time Functions-Footnote-5505369
-Ref: Time Functions-Footnote-6505596
-Node: Bitwise Functions505862
-Ref: table-bitwise-ops506420
-Ref: Bitwise Functions-Footnote-1510580
-Node: Type Functions510764
-Node: I18N Functions511234
-Node: User-defined512861
-Node: Definition Syntax513665
-Ref: Definition Syntax-Footnote-1518575
-Node: Function Example518644
-Node: Function Caveats521238
-Node: Calling A Function521659
-Node: Variable Scope522774
-Node: Pass By Value/Reference524749
-Node: Return Statement528189
-Node: Dynamic Typing531170
-Node: Indirect Calls531905
-Node: Internationalization541590
-Node: I18N and L10N543029
-Node: Explaining gettext543715
-Ref: Explaining gettext-Footnote-1548781
-Ref: Explaining gettext-Footnote-2548965
-Node: Programmer i18n549130
-Node: Translator i18n553330
-Node: String Extraction554123
-Ref: String Extraction-Footnote-1555084
-Node: Printf Ordering555170
-Ref: Printf Ordering-Footnote-1557954
-Node: I18N Portability558018
-Ref: I18N Portability-Footnote-1560467
-Node: I18N Example560530
-Ref: I18N Example-Footnote-1563165
-Node: Gawk I18N563237
-Node: Arbitrary Precision Arithmetic563854
-Ref: Arbitrary Precision Arithmetic-Footnote-1566729
-Node: Floating-point Programming566877
-Node: Floating-point Representation572147
-Node: Floating-point Context573251
-Ref: table-ieee-formats574086
-Node: Rounding Mode575456
-Ref: table-rounding-modes576081
-Ref: Rounding Mode-Footnote-1579202
-Node: Arbitrary Precision Floats579383
-Ref: Arbitrary Precision Floats-Footnote-1581420
-Node: Setting Precision581731
-Node: Setting Rounding Mode584489
-Node: Floating-point Constants585398
-Node: Changing Precision586817
-Ref: Changing Precision-Footnote-1588217
-Node: Exact Arithmetic588390
-Node: Integer Programming591403
-Node: Arbitrary Precision Integers593183
-Ref: Arbitrary Precision Integers-Footnote-1596207
-Node: MPFR and GMP Libraries596353
-Node: Advanced Features596738
-Node: Nondecimal Data598261
-Node: Array Sorting599844
-Node: Controlling Array Traversal600541
-Node: Array Sorting Functions608778
-Ref: Array Sorting Functions-Footnote-1612452
-Ref: Array Sorting Functions-Footnote-2612545
-Node: Two-way I/O612739
-Ref: Two-way I/O-Footnote-1618171
-Node: TCP/IP Networking618241
-Node: Profiling621085
-Node: Library Functions628539
-Ref: Library Functions-Footnote-1631546
-Node: Library Names631717
-Ref: Library Names-Footnote-1635188
-Ref: Library Names-Footnote-2635408
-Node: General Functions635494
-Node: Strtonum Function636447
-Node: Assert Function639377
-Node: Round Function642703
-Node: Cliff Random Function644246
-Node: Ordinal Functions645262
-Ref: Ordinal Functions-Footnote-1648332
-Ref: Ordinal Functions-Footnote-2648584
-Node: Join Function648793
-Ref: Join Function-Footnote-1650564
-Node: Gettimeofday Function650764
-Node: Data File Management654479
-Node: Filetrans Function655111
-Node: Rewind Function659250
-Node: File Checking660637
-Node: Empty Files661731
-Node: Ignoring Assigns663961
-Node: Getopt Function665514
-Ref: Getopt Function-Footnote-1676818
-Node: Passwd Functions677021
-Ref: Passwd Functions-Footnote-1685996
-Node: Group Functions686084
-Node: Walking Arrays694168
-Node: Sample Programs695737
-Node: Running Examples696402
-Node: Clones697130
-Node: Cut Program698354
-Node: Egrep Program708199
-Ref: Egrep Program-Footnote-1715972
-Node: Id Program716082
-Node: Split Program719698
-Ref: Split Program-Footnote-1723217
-Node: Tee Program723345
-Node: Uniq Program726148
-Node: Wc Program733577
-Ref: Wc Program-Footnote-1737843
-Ref: Wc Program-Footnote-2738043
-Node: Miscellaneous Programs738135
-Node: Dupword Program739323
-Node: Alarm Program741354
-Node: Translate Program746103
-Ref: Translate Program-Footnote-1750490
-Ref: Translate Program-Footnote-2750718
-Node: Labels Program750852
-Ref: Labels Program-Footnote-1754223
-Node: Word Sorting754307
-Node: History Sorting758191
-Node: Extract Program760030
-Ref: Extract Program-Footnote-1767513
-Node: Simple Sed767641
-Node: Igawk Program770703
-Ref: Igawk Program-Footnote-1785860
-Ref: Igawk Program-Footnote-2786061
-Node: Anagram Program786199
-Node: Signature Program789267
-Node: Debugger790367
-Node: Debugging791319
-Node: Debugging Concepts791752
-Node: Debugging Terms793608
-Node: Awk Debugging796205
-Node: Sample Debugging Session797097
-Node: Debugger Invocation797617
-Node: Finding The Bug798946
-Node: List of Debugger Commands805434
-Node: Breakpoint Control806768
-Node: Debugger Execution Control810432
-Node: Viewing And Changing Data813792
-Node: Execution Stack817148
-Node: Debugger Info818615
-Node: Miscellaneous Debugger Commands822596
-Node: Readline Support828041
-Node: Limitations828872
-Node: Language History831124
-Node: V7/SVR3.1832636
-Node: SVR4834957
-Node: POSIX836399
-Node: BTL837407
-Node: POSIX/GNU838141
-Node: Common Extensions843292
-Node: Ranges and Locales844399
-Ref: Ranges and Locales-Footnote-1849003
-Node: Contributors849224
-Node: Installation853485
-Node: Gawk Distribution854379
-Node: Getting854863
-Node: Extracting855689
-Node: Distribution contents857381
-Node: Unix Installation862603
-Node: Quick Installation863220
-Node: Additional Configuration Options865182
-Node: Configuration Philosophy866659
-Node: Non-Unix Installation869001
-Node: PC Installation869459
-Node: PC Binary Installation870758
-Node: PC Compiling872606
-Node: PC Testing875550
-Node: PC Using876726
-Node: Cygwin880911
-Node: MSYS881911
-Node: VMS Installation882425
-Node: VMS Compilation883028
-Ref: VMS Compilation-Footnote-1884035
-Node: VMS Installation Details884093
-Node: VMS Running885728
-Node: VMS Old Gawk887335
-Node: Bugs887809
-Node: Other Versions891661
-Node: Notes896976
-Node: Compatibility Mode897668
-Node: Additions898451
-Node: Accessing The Source899263
-Node: Adding Code900688
-Node: New Ports906655
-Node: Dynamic Extensions910768
-Node: Internals912208
-Node: Plugin License920727
-Node: Loading Extensions921365
-Node: Sample Library923175
-Node: Internal File Description923865
-Node: Internal File Ops927580
-Ref: Internal File Ops-Footnote-1932304
-Node: Using Internal File Ops932444
-Node: Future Extensions934821
-Node: Basic Concepts937325
-Node: Basic High Level938082
-Ref: Basic High Level-Footnote-1942117
-Node: Basic Data Typing942302
-Node: Floating Point Issues946827
-Node: String Conversion Precision947910
-Ref: String Conversion Precision-Footnote-1949610
-Node: Unexpected Results949719
-Node: POSIX Floating Point Problems951545
-Ref: POSIX Floating Point Problems-Footnote-1955250
-Node: Glossary955288
-Node: Copying980264
-Node: GNU Free Documentation License1017821
-Node: Index1042958
+Node: Top1352
+Node: Foreword31559
+Node: Preface35904
+Ref: Preface-Footnote-138957
+Ref: Preface-Footnote-239063
+Node: History39295
+Node: Names41686
+Ref: Names-Footnote-143163
+Node: This Manual43235
+Ref: This Manual-Footnote-148173
+Node: Conventions48273
+Node: Manual History50407
+Ref: Manual History-Footnote-153677
+Ref: Manual History-Footnote-253718
+Node: How To Contribute53792
+Node: Acknowledgments54936
+Node: Getting Started59432
+Node: Running gawk61811
+Node: One-shot62997
+Node: Read Terminal64222
+Ref: Read Terminal-Footnote-165872
+Ref: Read Terminal-Footnote-266148
+Node: Long66319
+Node: Executable Scripts67695
+Ref: Executable Scripts-Footnote-169564
+Ref: Executable Scripts-Footnote-269666
+Node: Comments70213
+Node: Quoting72680
+Node: DOS Quoting77303
+Node: Sample Data Files77978
+Node: Very Simple81010
+Node: Two Rules85609
+Node: More Complex87756
+Ref: More Complex-Footnote-190686
+Node: Statements/Lines90771
+Ref: Statements/Lines-Footnote-195233
+Node: Other Features95498
+Node: When96426
+Node: Invoking Gawk98573
+Node: Command Line99958
+Node: Options100741
+Ref: Options-Footnote-1115098
+Node: Other Arguments115123
+Node: Naming Standard Input117781
+Node: Environment Variables118875
+Node: AWKPATH Variable119319
+Ref: AWKPATH Variable-Footnote-1121916
+Node: Other Environment Variables122176
+Node: Exit Status124668
+Node: Include Files125343
+Node: Obsolete128828
+Node: Undocumented129514
+Node: Regexp129755
+Node: Regexp Usage131144
+Node: Escape Sequences133170
+Node: Regexp Operators138933
+Ref: Regexp Operators-Footnote-1146313
+Ref: Regexp Operators-Footnote-2146460
+Node: Bracket Expressions146558
+Ref: table-char-classes148448
+Node: GNU Regexp Operators150971
+Node: Case-sensitivity154694
+Ref: Case-sensitivity-Footnote-1157662
+Ref: Case-sensitivity-Footnote-2157897
+Node: Leftmost Longest158005
+Node: Computed Regexps159206
+Node: Reading Files162616
+Node: Records164620
+Ref: Records-Footnote-1173294
+Node: Fields173331
+Ref: Fields-Footnote-1176364
+Node: Nonconstant Fields176450
+Node: Changing Fields178652
+Node: Field Separators184633
+Node: Default Field Splitting187262
+Node: Regexp Field Splitting188379
+Node: Single Character Fields191721
+Node: Command Line Field Separator192780
+Node: Field Splitting Summary196221
+Ref: Field Splitting Summary-Footnote-1199413
+Node: Constant Size199514
+Node: Splitting By Content204098
+Ref: Splitting By Content-Footnote-1207824
+Node: Multiple Line207864
+Ref: Multiple Line-Footnote-1213711
+Node: Getline213890
+Node: Plain Getline216106
+Node: Getline/Variable218195
+Node: Getline/File219336
+Node: Getline/Variable/File220658
+Ref: Getline/Variable/File-Footnote-1222257
+Node: Getline/Pipe222344
+Node: Getline/Variable/Pipe224904
+Node: Getline/Coprocess226011
+Node: Getline/Variable/Coprocess227254
+Node: Getline Notes227968
+Node: Getline Summary229910
+Ref: table-getline-variants230253
+Node: Read Timeout231109
+Ref: Read Timeout-Footnote-1234854
+Node: Command line directories234911
+Node: Printing235541
+Node: Print237172
+Node: Print Examples238509
+Node: Output Separators241293
+Node: OFMT243053
+Node: Printf244411
+Node: Basic Printf245317
+Node: Control Letters246856
+Node: Format Modifiers250668
+Node: Printf Examples256677
+Node: Redirection259392
+Node: Special Files266376
+Node: Special FD266909
+Ref: Special FD-Footnote-1270534
+Node: Special Network270608
+Node: Special Caveats271458
+Node: Close Files And Pipes272254
+Ref: Close Files And Pipes-Footnote-1279277
+Ref: Close Files And Pipes-Footnote-2279425
+Node: Expressions279575
+Node: Values280707
+Node: Constants281383
+Node: Scalar Constants282063
+Ref: Scalar Constants-Footnote-1282922
+Node: Nondecimal-numbers283104
+Node: Regexp Constants286163
+Node: Using Constant Regexps286638
+Node: Variables289693
+Node: Using Variables290348
+Node: Assignment Options292072
+Node: Conversion293944
+Ref: table-locale-affects299320
+Ref: Conversion-Footnote-1299944
+Node: All Operators300053
+Node: Arithmetic Ops300683
+Node: Concatenation303188
+Ref: Concatenation-Footnote-1305981
+Node: Assignment Ops306101
+Ref: table-assign-ops311089
+Node: Increment Ops312497
+Node: Truth Values and Conditions315967
+Node: Truth Values317050
+Node: Typing and Comparison318099
+Node: Variable Typing318888
+Ref: Variable Typing-Footnote-1322785
+Node: Comparison Operators322907
+Ref: table-relational-ops323317
+Node: POSIX String Comparison326866
+Ref: POSIX String Comparison-Footnote-1327822
+Node: Boolean Ops327960
+Ref: Boolean Ops-Footnote-1332038
+Node: Conditional Exp332129
+Node: Function Calls333861
+Node: Precedence337455
+Node: Locales341124
+Node: Patterns and Actions342213
+Node: Pattern Overview343267
+Node: Regexp Patterns344936
+Node: Expression Patterns345479
+Node: Ranges349164
+Node: BEGIN/END352130
+Node: Using BEGIN/END352892
+Ref: Using BEGIN/END-Footnote-1355623
+Node: I/O And BEGIN/END355729
+Node: BEGINFILE/ENDFILE358011
+Node: Empty360904
+Node: Using Shell Variables361220
+Node: Action Overview363505
+Node: Statements365862
+Node: If Statement367716
+Node: While Statement369215
+Node: Do Statement371259
+Node: For Statement372415
+Node: Switch Statement375567
+Node: Break Statement377664
+Node: Continue Statement379654
+Node: Next Statement381447
+Node: Nextfile Statement383837
+Node: Exit Statement386382
+Node: Built-in Variables388798
+Node: User-modified389893
+Ref: User-modified-Footnote-1398248
+Node: Auto-set398310
+Ref: Auto-set-Footnote-1408156
+Node: ARGC and ARGV408361
+Node: Arrays412212
+Node: Array Basics413717
+Node: Array Intro414543
+Node: Reference to Elements418861
+Node: Assigning Elements421131
+Node: Array Example421622
+Node: Scanning an Array423354
+Node: Controlling Scanning425668
+Ref: Controlling Scanning-Footnote-1430601
+Node: Delete430917
+Ref: Delete-Footnote-1433352
+Node: Numeric Array Subscripts433409
+Node: Uninitialized Subscripts435592
+Node: Multi-dimensional437220
+Node: Multi-scanning440314
+Node: Arrays of Arrays441905
+Node: Functions446550
+Node: Built-in447372
+Node: Calling Built-in448450
+Node: Numeric Functions450438
+Ref: Numeric Functions-Footnote-1454270
+Ref: Numeric Functions-Footnote-2454627
+Ref: Numeric Functions-Footnote-3454675
+Node: String Functions454944
+Ref: String Functions-Footnote-1478441
+Ref: String Functions-Footnote-2478570
+Ref: String Functions-Footnote-3478818
+Node: Gory Details478905
+Ref: table-sub-escapes480584
+Ref: table-sub-posix-92481938
+Ref: table-sub-proposed483281
+Ref: table-posix-sub484631
+Ref: table-gensub-escapes486177
+Ref: Gory Details-Footnote-1487384
+Ref: Gory Details-Footnote-2487435
+Node: I/O Functions487586
+Ref: I/O Functions-Footnote-1494241
+Node: Time Functions494388
+Ref: Time Functions-Footnote-1505280
+Ref: Time Functions-Footnote-2505348
+Ref: Time Functions-Footnote-3505506
+Ref: Time Functions-Footnote-4505617
+Ref: Time Functions-Footnote-5505729
+Ref: Time Functions-Footnote-6505956
+Node: Bitwise Functions506222
+Ref: table-bitwise-ops506780
+Ref: Bitwise Functions-Footnote-1510940
+Node: Type Functions511124
+Node: I18N Functions511594
+Node: User-defined513221
+Node: Definition Syntax514025
+Ref: Definition Syntax-Footnote-1518935
+Node: Function Example519004
+Node: Function Caveats521598
+Node: Calling A Function522019
+Node: Variable Scope523134
+Node: Pass By Value/Reference525109
+Node: Return Statement528549
+Node: Dynamic Typing531530
+Node: Indirect Calls532265
+Node: Internationalization541950
+Node: I18N and L10N543389
+Node: Explaining gettext544075
+Ref: Explaining gettext-Footnote-1549141
+Ref: Explaining gettext-Footnote-2549325
+Node: Programmer i18n549490
+Node: Translator i18n553690
+Node: String Extraction554483
+Ref: String Extraction-Footnote-1555444
+Node: Printf Ordering555530
+Ref: Printf Ordering-Footnote-1558314
+Node: I18N Portability558378
+Ref: I18N Portability-Footnote-1560827
+Node: I18N Example560890
+Ref: I18N Example-Footnote-1563525
+Node: Gawk I18N563597
+Node: Arbitrary Precision Arithmetic564214
+Ref: Arbitrary Precision Arithmetic-Footnote-1567089
+Node: Floating-point Programming567237
+Node: Floating-point Representation572507
+Node: Floating-point Context573611
+Ref: table-ieee-formats574446
+Node: Rounding Mode575816
+Ref: table-rounding-modes576443
+Ref: Rounding Mode-Footnote-1579566
+Node: Arbitrary Precision Floats579747
+Ref: Arbitrary Precision Floats-Footnote-1581788
+Node: Setting Precision582099
+Node: Setting Rounding Mode584857
+Node: Floating-point Constants585774
+Node: Changing Precision587193
+Ref: Changing Precision-Footnote-1588593
+Node: Exact Arithmetic588766
+Node: Integer Programming591779
+Node: Arbitrary Precision Integers593559
+Ref: Arbitrary Precision Integers-Footnote-1596583
+Node: MPFR and GMP Libraries596729
+Node: Advanced Features597114
+Node: Nondecimal Data598637
+Node: Array Sorting600220
+Node: Controlling Array Traversal600917
+Node: Array Sorting Functions609154
+Ref: Array Sorting Functions-Footnote-1612828
+Ref: Array Sorting Functions-Footnote-2612921
+Node: Two-way I/O613115
+Ref: Two-way I/O-Footnote-1618547
+Node: TCP/IP Networking618617
+Node: Profiling621461
+Node: Library Functions628915
+Ref: Library Functions-Footnote-1631922
+Node: Library Names632093
+Ref: Library Names-Footnote-1635564
+Ref: Library Names-Footnote-2635784
+Node: General Functions635870
+Node: Strtonum Function636823
+Node: Assert Function639753
+Node: Round Function643079
+Node: Cliff Random Function644622
+Node: Ordinal Functions645638
+Ref: Ordinal Functions-Footnote-1648708
+Ref: Ordinal Functions-Footnote-2648960
+Node: Join Function649169
+Ref: Join Function-Footnote-1650940
+Node: Gettimeofday Function651140
+Node: Data File Management654855
+Node: Filetrans Function655487
+Node: Rewind Function659626
+Node: File Checking661013
+Node: Empty Files662107
+Node: Ignoring Assigns664337
+Node: Getopt Function665890
+Ref: Getopt Function-Footnote-1677194
+Node: Passwd Functions677397
+Ref: Passwd Functions-Footnote-1686372
+Node: Group Functions686460
+Node: Walking Arrays694544
+Node: Sample Programs696113
+Node: Running Examples696778
+Node: Clones697506
+Node: Cut Program698730
+Node: Egrep Program708575
+Ref: Egrep Program-Footnote-1716348
+Node: Id Program716458
+Node: Split Program720074
+Ref: Split Program-Footnote-1723593
+Node: Tee Program723721
+Node: Uniq Program726524
+Node: Wc Program733953
+Ref: Wc Program-Footnote-1738219
+Ref: Wc Program-Footnote-2738419
+Node: Miscellaneous Programs738511
+Node: Dupword Program739699
+Node: Alarm Program741730
+Node: Translate Program746479
+Ref: Translate Program-Footnote-1750866
+Ref: Translate Program-Footnote-2751094
+Node: Labels Program751228
+Ref: Labels Program-Footnote-1754599
+Node: Word Sorting754683
+Node: History Sorting758567
+Node: Extract Program760406
+Ref: Extract Program-Footnote-1767889
+Node: Simple Sed768017
+Node: Igawk Program771079
+Ref: Igawk Program-Footnote-1786236
+Ref: Igawk Program-Footnote-2786437
+Node: Anagram Program786575
+Node: Signature Program789643
+Node: Debugger790743
+Node: Debugging791695
+Node: Debugging Concepts792128
+Node: Debugging Terms793984
+Node: Awk Debugging796581
+Node: Sample Debugging Session797473
+Node: Debugger Invocation797993
+Node: Finding The Bug799322
+Node: List of Debugger Commands805810
+Node: Breakpoint Control807144
+Node: Debugger Execution Control810808
+Node: Viewing And Changing Data814168
+Node: Execution Stack817524
+Node: Debugger Info818991
+Node: Miscellaneous Debugger Commands822972
+Node: Readline Support828417
+Node: Limitations829248
+Node: Language History831500
+Node: V7/SVR3.1833012
+Node: SVR4835333
+Node: POSIX836775
+Node: BTL837783
+Node: POSIX/GNU838517
+Node: Common Extensions843668
+Node: Ranges and Locales844775
+Ref: Ranges and Locales-Footnote-1849379
+Node: Contributors849600
+Node: Installation853861
+Node: Gawk Distribution854755
+Node: Getting855239
+Node: Extracting856065
+Node: Distribution contents857757
+Node: Unix Installation862979
+Node: Quick Installation863596
+Node: Additional Configuration Options865558
+Node: Configuration Philosophy867035
+Node: Non-Unix Installation869377
+Node: PC Installation869835
+Node: PC Binary Installation871134
+Node: PC Compiling872982
+Node: PC Testing875926
+Node: PC Using877102
+Node: Cygwin881287
+Node: MSYS882287
+Node: VMS Installation882801
+Node: VMS Compilation883404
+Ref: VMS Compilation-Footnote-1884411
+Node: VMS Installation Details884469
+Node: VMS Running886104
+Node: VMS Old Gawk887711
+Node: Bugs888185
+Node: Other Versions892037
+Node: Notes897352
+Node: Compatibility Mode898044
+Node: Additions898827
+Node: Accessing The Source899639
+Node: Adding Code901064
+Node: New Ports907031
+Node: Dynamic Extensions911144
+Node: Internals912584
+Node: Plugin License921103
+Node: Loading Extensions921741
+Node: Sample Library923551
+Node: Internal File Description924241
+Node: Internal File Ops927956
+Ref: Internal File Ops-Footnote-1932680
+Node: Using Internal File Ops932820
+Node: Future Extensions935197
+Node: Basic Concepts937701
+Node: Basic High Level938458
+Ref: Basic High Level-Footnote-1942493
+Node: Basic Data Typing942678
+Node: Floating Point Issues947203
+Node: String Conversion Precision948286
+Ref: String Conversion Precision-Footnote-1949986
+Node: Unexpected Results950095
+Node: POSIX Floating Point Problems951921
+Ref: POSIX Floating Point Problems-Footnote-1955626
+Node: Glossary955664
+Node: Copying980640
+Node: GNU Free Documentation License1018197
+Node: Index1043334

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 44243b36..8cd7e38e 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -20,7 +20,7 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH November, 2011
+@set UPDATE-MONTH February, 2012
@set VERSION 4.0
@set PATCHLEVEL 1
@@ -145,7 +145,7 @@ Some comments on the layout for TeX.
@copying
Copyright @copyright{} 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011
+2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
@sp 2
@@ -1992,9 +1992,11 @@ line beginning with @samp{#!} lists the full @value{FN} of an interpreter
to run and an optional initial command-line argument to pass to that
interpreter. The operating system then runs the interpreter with the given
argument and the full argument list of the executed program. The first argument
-in the list is the full @value{FN} of the @command{awk} program. The rest of the
+in the list is the full @value{FN} of the @command{awk} program.
+The rest of the
argument list contains either options to @command{awk}, or @value{DF}s,
-or both.} as if you had
+or both. Note that on many systems @command{awk} may be found in
+@file{/usr/bin} instead of in @file{/bin}. Caveat Emptor.} as if you had
typed @samp{awk -f advice}:
@example
@@ -4544,6 +4546,10 @@ it is good practice to always escape them with a backslash. Then the
regexp constants are valid and work the way you want them to, using
any version of @command{awk}.@footnote{Use two backslashes if you're
using a string constant with a regexp operator or function.}
+
+Finally, when @samp{@{} and @samp{@}} appear in regexp constants
+in a way that cannot be interpreted as an interval expression
+(such as @code{/q@{a@}/}), then they stand for themselves.
@end table
@cindex precedence, regexp operators
@@ -14400,6 +14406,13 @@ Optional parameters are enclosed in square brackets@w{ ([ ]):}
@item atan2(@var{y}, @var{x})
@cindex @code{atan2()} function
Return the arctangent of @code{@var{y} / @var{x}} in radians.
+You can use @samp{pi = atan2(0, -1)} to retrieve the value of
+@tex
+$\pi$.
+@end tex
+@ifnottex
+pi.
+@end ifnottex
@item cos(@var{x})
@cindex @code{cos()} function
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 1130b8fc..dcdeb9b4 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{2010-12-23.17}
+\def\texinfoversion{2012-01-19.16}
%
% 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 Free Software Foundation, Inc.
+% 2007, 2008, 2009, 2010, 2011 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
@@ -116,10 +116,11 @@
% Set up fixed words for English if not already set.
\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
+\ifx\putworderror\undefined \gdef\putworderror{error}\fi
\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
\ifx\putwordin\undefined \gdef\putwordin{in}\fi
-\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
-\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
@@ -158,15 +159,18 @@
\def\spaceisspace{\catcode`\ =\spacecat}
% sometimes characters are active, so we need control sequences.
+\chardef\ampChar = `\&
\chardef\colonChar = `\:
\chardef\commaChar = `\,
\chardef\dashChar = `\-
\chardef\dotChar = `\.
\chardef\exclamChar= `\!
+\chardef\hashChar = `\#
\chardef\lquoteChar= `\`
\chardef\questChar = `\?
\chardef\rquoteChar= `\'
\chardef\semiChar = `\;
+\chardef\slashChar = `\/
\chardef\underChar = `\_
% Ignore a token.
@@ -215,7 +219,7 @@
\tracingmacros2
\tracingrestores1
\showboxbreadth\maxdimen \showboxdepth\maxdimen
- \ifx\eTeXversion\undefined\else % etex gives us more logging
+ \ifx\eTeXversion\thisisundefined\else % etex gives us more logging
\tracingscantokens1
\tracingifs1
\tracinggroups1
@@ -226,6 +230,13 @@
\errorcontextlines16
}%
+% @errormsg{MSG}. Do the index-like expansions on MSG, but if things
+% aren't perfect, it's not the end of the world, being an error message,
+% after all.
+%
+\def\errormsg{\begingroup \indexnofonts \doerrormsg}
+\def\doerrormsg#1{\errmessage{#1}}
+
% add check for \lastpenalty to plain's definitions. If the last thing
% we did was a \nobreak, we don't want to insert more space.
%
@@ -545,7 +556,7 @@
}
\def\inenvironment#1{%
\ifx#1\empty
- out of any environment%
+ outside of any environment%
\else
in environment \expandafter\string#1%
\fi
@@ -557,7 +568,7 @@
\parseargdef\end{%
\if 1\csname iscond.#1\endcsname
\else
- % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+ % The general wording of \badenverr may not be ideal.
\expandafter\checkenv\csname#1\endcsname
\csname E#1\endcsname
\endgroup
@@ -608,7 +619,7 @@
\else\ifx\temp\offword \plainnonfrenchspacing
\else
\errhelp = \EMsimple
- \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
+ \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
\fi\fi
}
@@ -690,15 +701,6 @@ where each line of input produces a line of output.}
\newdimen\mil \mil=0.001in
-% Old definition--didn't work.
-%\parseargdef\need{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
-%\prevdepth=-1000pt
-%}}
-
\parseargdef\need{%
% Ensure vertical mode, so we don't make a big box in the middle of a
% paragraph.
@@ -849,6 +851,7 @@ where each line of input produces a line of output.}
\makevalueexpandable % we want to expand any @value in FILE.
\turnoffactive % and allow special characters in the expansion
\indexnofonts % Allow `@@' and other weird things in file names.
+ \wlog{texinfo.tex: doing @include of #1^^J}%
\edef\temp{\noexpand\input #1 }%
%
% This trickery is to read FILE outside of a group, in case it makes
@@ -1078,9 +1081,8 @@ where each line of input produces a line of output.}
\newif\ifpdfmakepagedest
% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
-% can be set). So we test for \relax and 0 as well as \undefined,
-% borrowed from ifpdf.sty.
-\ifx\pdfoutput\undefined
+% can be set). So we test for \relax and 0 as well as being undefined.
+\ifx\pdfoutput\thisisundefined
\else
\ifx\pdfoutput\relax
\else
@@ -1095,50 +1097,24 @@ where each line of input produces a line of output.}
% for display in the outlines, and in other places. Thus, we have to
% double any backslashes. Otherwise, a name like "\node" will be
% interpreted as a newline (\n), followed by o, d, e. Not good.
-% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
-% (and related messages, the final outcome is that it is up to the TeX
-% user to double the backslashes and otherwise make the string valid, so
-% that's what we do).
-
-% double active backslashes.
-%
-{\catcode`\@=0 \catcode`\\=\active
- @gdef@activebackslashdouble{%
- @catcode`@\=@active
- @let\=@doublebackslash}
-}
-
-% To handle parens, we must adopt a different approach, since parens are
-% not active characters. hyperref.dtx (which has the same problem as
-% us) handles it with this amazing macro to replace tokens, with minor
-% changes for Texinfo. It is included here under the GPL by permission
-% from the author, Heiko Oberdiek.
-%
-% #1 is the tokens to replace.
-% #2 is the replacement.
-% #3 is the control sequence with the string.
-%
-\def\HyPsdSubst#1#2#3{%
- \def\HyPsdReplace##1#1##2\END{%
- ##1%
- \ifx\\##2\\%
- \else
- #2%
- \HyReturnAfterFi{%
- \HyPsdReplace##2\END
- }%
- \fi
- }%
- \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
-}
-\long\def\HyReturnAfterFi#1\fi{\fi#1}
-
-% #1 is a control sequence in which to do the replacements.
-\def\backslashparens#1{%
- \xdef#1{#1}% redefine it as its expansion; the definition is simply
- % \lastnode when called from \setref -> \pdfmkdest.
- \HyPsdSubst{(}{\realbackslash(}{#1}%
- \HyPsdSubst{)}{\realbackslash)}{#1}%
+%
+% See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
+% related messages. The final outcome is that it is up to the TeX user
+% to double the backslashes and otherwise make the string valid, so
+% that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to
+% do this reliably, so we use it.
+
+% #1 is a control sequence in which to do the replacements,
+% which we \xdef.
+\def\txiescapepdf#1{%
+ \ifx\pdfescapestring\relax
+ % No primitive available; should we give a warning or log?
+ % Many times it won't matter.
+ \else
+ % The expandable \pdfescapestring primitive escapes parentheses,
+ % backslashes, and other special chars.
+ \xdef#1{\pdfescapestring{#1}}%
+ \fi
}
\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
@@ -1200,29 +1176,31 @@ output) for that.)}
\def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
\def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
%
- % pdftex (and the PDF format) support .png, .jpg, .pdf (among
- % others). Let's try in that order.
+ % pdftex (and the PDF format) support .pdf, .png, .jpg (among
+ % others). Let's try in that order, PDF first since if
+ % someone has a scalable image, presumably better to use that than a
+ % bitmap.
\let\pdfimgext=\empty
\begingroup
- \openin 1 #1.png \ifeof 1
- \openin 1 #1.jpg \ifeof 1
- \openin 1 #1.jpeg \ifeof 1
- \openin 1 #1.JPG \ifeof 1
- \openin 1 #1.pdf \ifeof 1
- \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.pdf \ifeof 1
+ \openin 1 #1.PDF \ifeof 1
+ \openin 1 #1.png \ifeof 1
+ \openin 1 #1.jpg \ifeof 1
+ \openin 1 #1.jpeg \ifeof 1
+ \openin 1 #1.JPG \ifeof 1
\errhelp = \nopdfimagehelp
\errmessage{Could not find image file #1 for pdf}%
- \else \gdef\pdfimgext{PDF}%
+ \else \gdef\pdfimgext{JPG}%
\fi
- \else \gdef\pdfimgext{pdf}%
+ \else \gdef\pdfimgext{jpeg}%
\fi
- \else \gdef\pdfimgext{JPG}%
+ \else \gdef\pdfimgext{jpg}%
\fi
- \else \gdef\pdfimgext{jpeg}%
+ \else \gdef\pdfimgext{png}%
\fi
- \else \gdef\pdfimgext{jpg}%
+ \else \gdef\pdfimgext{PDF}%
\fi
- \else \gdef\pdfimgext{png}%
+ \else \gdef\pdfimgext{pdf}%
\fi
\closein 1
\endgroup
@@ -1250,10 +1228,9 @@ output) for that.)}
% such as \, aren't expanded when present in a section title.
\indexnofonts
\turnoffactive
- \activebackslashdouble
\makevalueexpandable
\def\pdfdestname{#1}%
- \backslashparens\pdfdestname
+ \txiescapepdf\pdfdestname
\safewhatsit{\pdfdest name{\pdfdestname} xyz}%
}}
%
@@ -1285,28 +1262,22 @@ output) for that.)}
% page number. We could generate a destination for the section
% text in the case where a section has no node, but it doesn't
% seem worth the trouble, since most documents are normally structured.
- \def\pdfoutlinedest{#3}%
+ \edef\pdfoutlinedest{#3}%
\ifx\pdfoutlinedest\empty
\def\pdfoutlinedest{#4}%
\else
- % Doubled backslashes in the name.
- {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
- \backslashparens\pdfoutlinedest}%
+ \txiescapepdf\pdfoutlinedest
\fi
%
- % Also double the backslashes in the display string.
- {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
- \backslashparens\pdfoutlinetext}%
+ % Also escape PDF chars in the display string.
+ \edef\pdfoutlinetext{#1}%
+ \txiescapepdf\pdfoutlinetext
%
\pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
}
%
\def\pdfmakeoutlines{%
\begingroup
- % Thanh's hack / proper braces in bookmarks
- \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
- \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
- %
% Read toc silently, to get counts of subentries for \pdfoutline.
\def\partentry##1##2##3##4{}% ignore parts in the outlines
\def\numchapentry##1##2##3##4{%
@@ -1362,15 +1333,26 @@ output) for that.)}
% Latin 2 (0xea) gets translated to a | character. Info from
% Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
%
- % xx to do this right, we have to translate 8-bit characters to
- % their "best" equivalent, based on the @documentencoding. Right
- % now, I guess we'll just let the pdf reader have its way.
+ % TODO this right, we have to translate 8-bit characters to
+ % their "best" equivalent, based on the @documentencoding. Too
+ % much work for too little return. Just use the ASCII equivalents
+ % we use for the index sort strings.
+ %
\indexnofonts
\setupdatafile
+ % We can have normal brace characters in the PDF outlines, unlike
+ % Texinfo index files. So set that up.
+ \def\{{\lbracecharliteral}%
+ \def\}{\rbracecharliteral}%
\catcode`\\=\active \otherbackslash
\input \tocreadfilename
\endgroup
}
+ {\catcode`[=1 \catcode`]=2
+ \catcode`{=\other \catcode`}=\other
+ \gdef\lbracecharliteral[{]%
+ \gdef\rbracecharliteral[}]%
+ ]
%
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
@@ -1512,7 +1494,7 @@ output) for that.)}
% if we are producing pdf, and we have \pdffontattr, then define cmaps.
% (\pdffontattr was introduced many years ago, but people still run
% older pdftex's; it's easy to conditionalize, so we do.)
-\ifpdf \ifx\pdffontattr\undefined \else
+\ifpdf \ifx\pdffontattr\thisisundefined \else
\begingroup
\catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
\catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
@@ -1779,7 +1761,7 @@ end
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
% before you read in texinfo.tex.
-\ifx\fontprefix\undefined
+\ifx\fontprefix\thisisundefined
\def\fontprefix{cm}
\fi
% Support font families that don't use the same naming scheme as CM.
@@ -2070,7 +2052,7 @@ end
%
\parseargdef\fonttextsize{%
\def\textsizearg{#1}%
- \wlog{doing @fonttextsize \textsizearg}%
+ %\wlog{doing @fonttextsize \textsizearg}%
%
% Set \globaldefs so that documents can use this inside @tex, since
% makeinfo 4.8 does not support it, but we need it nonetheless.
@@ -2252,12 +2234,14 @@ end
% Markup style setup for left and right quotes.
\defmarkupstylesetup\markupsetuplq{%
- \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp
+ \csname markupsetuplq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuplqdefault \else \temp \fi
}
\defmarkupstylesetup\markupsetuprq{%
- \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname
+ \expandafter\let\expandafter \temp
+ \csname markupsetuprq\currentmarkupstyle\endcsname
\ifx\temp\relax \markupsetuprqdefault \else \temp \fi
}
@@ -2291,12 +2275,11 @@ end
\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-% Allow an option to not replace quotes with a regular directed right
-% quote/apostrophe (char 0x27), but instead use the undirected quote
-% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
-% the default, but it works for pasting with more pdf viewers (at least
-% evince), the lilypond developers report. xpdf does work with the
-% regular 0x27.
+% Allow an option to not use regular directed right quote/apostrophe
+% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
+% The undirected quote is ugly, so don't make it the default, but it
+% works for pasting with more pdf viewers (at least evince), the
+% lilypond developers report. xpdf does work with the regular 0x27.
%
\def\codequoteright{%
\expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
@@ -2320,6 +2303,36 @@ end
\else \char'22 \fi
}
+% Commands to set the quote options.
+%
+\parseargdef\codequoteundirected{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxicodequoteundirected\endcsname
+ = t%
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxicodequoteundirected\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}%
+ \fi\fi
+}
+%
+\parseargdef\codequotebacktick{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxicodequotebacktick\endcsname
+ = t%
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxicodequotebacktick\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}%
+ \fi\fi
+}
+
% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
\def\noligaturesquoteleft{\relax\lq}
@@ -2347,7 +2360,9 @@ end
\else\ifx\next-%
\else\ifx\next.%
\else\ptexslash
- \fi\fi\fi}
+ \fi\fi\fi
+ \aftersmartic
+}
% like \smartslanted except unconditionally uses \ttsl, and no ic.
% @var is set to this for defun arguments.
@@ -2357,9 +2372,15 @@ end
% ttsl for book titles, do we?
\def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
+\def\aftersmartic{}
+\def\var#1{%
+ \let\saveaftersmartic = \aftersmartic
+ \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
+ \smartslanted{#1}%
+}
+
\let\i=\smartitalic
\let\slanted=\smartslanted
-\def\var#1{\smartslanted{#1}}
\let\dfn=\smartslanted
\let\emph=\smartitalic
@@ -2455,7 +2476,7 @@ end
\plainfrenchspacing
#1%
}%
- \null
+ \null % reset spacefactor to 1000
}
% We *must* turn on hyphenation at `-' and `_' in @code.
@@ -2487,6 +2508,8 @@ end
}
}
+\def\codex #1{\tclose{#1}\endgroup}
+
\def\realdash{-}
\def\codedash{-\discretionary{}{}{}}
\def\codeunder{%
@@ -2500,7 +2523,6 @@ end
\discretionary{}{}{}}%
{\_}%
}
-\def\codex #1{\tclose{#1}\endgroup}
% An additional complication: the above will allow breaks after, e.g.,
% each of the four underscores in __typeof__. This is undesirable in
@@ -2520,63 +2542,18 @@ end
\allowcodebreaksfalse
\else
\errhelp = \EMsimple
- \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
+ \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}%
\fi\fi
}
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
-% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
-% `example' (@kbd uses ttsl only inside of @example and friends),
-% or `code' (@kbd uses normal tty font always).
-\parseargdef\kbdinputstyle{%
- \def\txiarg{#1}%
- \ifx\txiarg\worddistinct
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
- \else\ifx\txiarg\wordexample
- \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
- \else\ifx\txiarg\wordcode
- \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
- \else
- \errhelp = \EMsimple
- \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
- \fi\fi\fi
-}
-\def\worddistinct{distinct}
-\def\wordexample{example}
-\def\wordcode{code}
-
-% Default is `distinct'.
-\kbdinputstyle distinct
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
-
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
-\let\command=\code
-
-% @clicksequence{File @click{} Open ...}
-\def\clicksequence#1{\begingroup #1\endgroup}
-
-% @clickstyle @arrow (by default)
-\parseargdef\clickstyle{\def\click{#1}}
-\def\click{\arrow}
-
% @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. Perhaps eventually put in
-% a hypertex \special here.
-%
-\def\uref#1{\douref #1,,,\finish}
-\def\douref#1,#2,#3,#4\finish{\begingroup
+% 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}%
@@ -2597,6 +2574,103 @@ end
\endlink
\endgroup}
+% This \urefbreak definition is the active one.
+\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
+ \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\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
+ \fi
+ \else
+ \urefcode{#1}% only url given, so show it
+ \fi
+ \fi
+ \endlink
+\endgroup}
+
+% Allow line breaks around only a few characters (only).
+\def\urefcatcodes{%
+ \catcode\ampChar=\active \catcode\dotChar=\active
+ \catcode\hashChar=\active \catcode\questChar=\active
+ \catcode\slashChar=\active
+}
+{
+ \urefcatcodes
+ %
+ \global\def\urefcode{\begingroup
+ \setupmarkupstyle{code}%
+ \urefcatcodes
+ \let&\urefcodeamp
+ \let.\urefcodedot
+ \let#\urefcodehash
+ \let?\urefcodequest
+ \let/\urefcodeslash
+ \codex
+ }
+ %
+ % By default, they are just regular characters.
+ \global\def&{\normalamp}
+ \global\def.{\normaldot}
+ \global\def#{\normalhash}
+ \global\def?{\normalquest}
+ \global\def/{\normalslash}
+}
+
+% 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\urefcodeamp{\urefprestretch \&\urefpoststretch}
+\def\urefcodedot{\urefprestretch .\urefpoststretch}
+\def\urefcodehash{\urefprestretch \#\urefpoststretch}
+\def\urefcodequest{\urefprestretch ?\urefpoststretch}
+\def\urefcodeslash{\futurelet\next\urefcodeslashfinish}
+{
+ \catcode`\/=\active
+ \global\def\urefcodeslashfinish{%
+ \urefprestretch \slashChar
+ % Allow line break only after the final / in a sequence of
+ % slashes, to avoid line break between the slashes in http://.
+ \ifx\next/\else \urefpoststretch \fi
+ }
+}
+
+% One more complication: by default we'll break after the special
+% characters, but some people like to break before the special chars, so
+% allow that. Also allow no breaking at all, for manual control.
+%
+\parseargdef\urefbreakstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\wordnone
+ \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak}
+ \else\ifx\txiarg\wordbefore
+ \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak}
+ \else\ifx\txiarg\wordafter
+ \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak}
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @urefbreakstyle setting `\txiarg'}%
+ \fi\fi\fi
+}
+\def\wordafter{after}
+\def\wordbefore{before}
+\def\wordnone{none}
+
+\urefbreakstyle after
+
% @url synonym for @uref, since that's how everyone uses it.
%
\let\url=\uref
@@ -2618,6 +2692,51 @@ end
\let\email=\uref
\fi
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
+
+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
+% `example' (@kbd uses ttsl only inside of @example and friends),
+% or `code' (@kbd uses normal tty font always).
+\parseargdef\kbdinputstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\worddistinct
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
+ \else\ifx\txiarg\wordexample
+ \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
+ \else\ifx\txiarg\wordcode
+ \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @kbdinputstyle setting `\txiarg'}%
+ \fi\fi\fi
+}
+\def\worddistinct{distinct}
+\def\wordexample{example}
+\def\wordcode{code}
+
+% Default is `distinct'.
+\kbdinputstyle distinct
+
+\def\xkey{\key}
+\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
+\ifx\one\xkey\ifx\threex\three \key{#2}%
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
+
+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
+\let\indicateurl=\code
+\let\env=\code
+\let\command=\code
+
+% @clicksequence{File @click{} Open ...}
+\def\clicksequence#1{\begingroup #1\endgroup}
+
+% @clickstyle @arrow (by default)
+\parseargdef\clickstyle{\def\click{#1}}
+\def\click{\arrow}
+
% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
%
@@ -2639,6 +2758,7 @@ end
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @abbr for "Comput. J." and the like.
@@ -2651,6 +2771,7 @@ end
\ifx\temp\empty \else
\space ({\unsepspaces \ignorespaces \temp \unskip})%
\fi
+ \null % reset \spacefactor=1000
}
% @asis just yields its argument. Used with @table, for example.
@@ -2715,20 +2836,48 @@ end
}
}
+% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
+% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
+% except specified as a normal braced arg, so no newlines to worry about.
+%
+\def\outfmtnametex{tex}
+%
+\long\def\inlinefmt#1{\doinlinefmt #1,\finish}
+\long\def\doinlinefmt#1,#2,\finish{%
+ \def\inlinefmtname{#1}%
+ \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\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
+% ignored. But this isn't important because if people want a literal
+% *right* brace they would have to use a command anyway, so they may as
+% well use a command to get a left brace too. We could re-use the
+% delimiter character idea from \verb, but it seems like overkill.
+%
+\long\def\inlineraw{\tex \doinlineraw}
+\long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+\def\doinlinerawtwo#1,#2,\finish{%
+ \def\inlinerawname{#1}%
+ \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
+ \endgroup % close group opened by \tex.
+}
+
\message{glyphs,}
% and logos.
-% @@ prints an @.
+% @@ prints an @, as does @atchar{}.
\def\@{\char64 }
+\let\atchar=\@
-% Used to generate quoted braces. Unless we're in typewriter, use
-% \ecfont because the CM text fonts do not have braces, and we don't
-% want to switch into math.
+% @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
+% Unless we're in typewriter, use \ecfont because the CM text fonts do
+% not have braces, and we don't want to switch into math.
\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
-\let\{=\mylbrace
-\let\}=\myrbrace
+\let\{=\mylbrace \let\lbracechar=\{
+\let\}=\myrbrace \let\rbracechar=\}
\begingroup
% Definitions to produce \{ and \} commands for indices,
% and @{ and @} for the aux/toc files.
@@ -2856,7 +3005,7 @@ end
{\tentt \global\dimen0 = 3em}% Width of the box.
\dimen2 = .55pt % Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt}
+\setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
%
\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
@@ -3005,7 +3154,7 @@ end
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
% so we'll define it if necessary.
%
-\ifx\Orb\undefined
+\ifx\Orb\thisisundefined
\def\Orb{\mathhexbox20D}
\fi
@@ -3033,8 +3182,9 @@ end
\newif\ifsetshortcontentsaftertitlepage
\let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
-\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
- \endgroup\page\hbox{}\page}
+\parseargdef\shorttitlepage{%
+ \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+ \endgroup\page\hbox{}\page}
\envdef\titlepage{%
% Open one extra group, as we want to close it in the middle of \Etitlepage.
@@ -3094,7 +3244,7 @@ end
\finishedtitlepagetrue
}
-%%% Macros to be used within @titlepage:
+% Macros to be used within @titlepage:
\let\subtitlerm=\tenrm
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
@@ -3127,7 +3277,7 @@ end
}
-%%% Set up page headings and footings.
+% Set up page headings and footings.
\let\thispage=\folio
@@ -3279,7 +3429,7 @@ end
% This produces Day Month Year style of output.
% Only define if not already defined, in case a txi-??.tex file has set
% up a different format (e.g., txi-cs.tex does this).
-\ifx\today\undefined
+\ifx\today\thisisundefined
\def\today{%
\number\day\space
\ifcase\month
@@ -3826,18 +3976,18 @@ end
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
\global\advance\multitablelinespace by-\ht0
\fi
-%% Test to see if parskip is larger than space between lines of
-%% table. If not, do nothing.
-%% If so, set to same dimension as multitablelinespace.
+% Test to see if parskip is larger than space between lines of
+% table. If not, do nothing.
+% If so, set to same dimension as multitablelinespace.
\ifdim\multitableparskip>\multitablelinespace
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+ % than skip between lines in the table.
\fi%
\ifdim\multitableparskip=0pt
\global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
- %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+ % than skip between lines in the table.
\fi}
@@ -4349,6 +4499,7 @@ end
%
% Commands that take arguments.
\definedummyword\acronym
+ \definedummyword\anchor
\definedummyword\cite
\definedummyword\code
\definedummyword\command
@@ -5242,7 +5393,8 @@ end
\global\let\subsubsection = \appendixsubsubsec
}
-\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+% normally unnmhead0 calls unnumberedzzz:
+\outer\parseargdef\unnumbered{\unnmhead0{#1}}
\def\unnumberedzzz#1{%
\global\secno=0 \global\subsecno=0 \global\subsubsecno=0
\global\advance\unnumberedno by 1
@@ -5286,40 +5438,47 @@ end
\let\top\unnumbered
% Sections.
+%
\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
\def\seczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
}
-\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+% normally calls appendixsectionzzz:
+\outer\parseargdef\appendixsection{\apphead1{#1}}
\def\appendixsectionzzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
}
\let\appendixsec\appendixsection
-\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+% normally calls unnumberedseczzz:
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
\def\unnumberedseczzz#1{%
\global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
\sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
}
% Subsections.
-\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+%
+% normally calls numberedsubseczzz:
+\outer\parseargdef\numberedsubsec{\numhead2{#1}}
\def\numberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
}
-\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+% normally calls appendixsubseczzz:
+\outer\parseargdef\appendixsubsec{\apphead2{#1}}
\def\appendixsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno}%
}
-\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+% normally calls unnumberedsubseczzz:
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
\def\unnumberedsubseczzz#1{%
\global\subsubsecno=0 \global\advance\subsecno by 1
\sectionheading{#1}{subsec}{Ynothing}%
@@ -5327,21 +5486,25 @@ end
}
% Subsubsections.
-\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+%
+% normally numberedsubsubseczzz:
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
\def\numberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynumbered}%
{\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+% normally appendixsubsubseczzz:
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}}
\def\appendixsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Yappendix}%
{\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
}
-\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+% normally unnumberedsubsubseczzz:
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
\def\unnumberedsubsubseczzz#1{%
\global\advance\subsubsecno by 1
\sectionheading{#1}{subsubsec}{Ynothing}%
@@ -5391,14 +5554,13 @@ end
% (including whitespace, linebreaking, etc. around it),
% given all the information in convenient, parsed form.
-%%% Args are the skip and penalty (usually negative)
+% Args are the skip and penalty (usually negative)
\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-%%% Define plain chapter starts, and page on/off switching for it
% Parameter controlling skip before chapter headings (if needed)
-
\newskip\chapheadingskip
+% Define plain chapter starts, and page on/off switching for it.
\def\chapbreak{\dobreak \chapheadingskip {-4000}}
\def\chappager{\par\vfill\supereject}
% Because \domark is called before \chapoddpage, the filler page will
@@ -5601,6 +5763,8 @@ end
%
\def\sectionheading#1#2#3#4{%
{%
+ \checkenv{}% should not be in an environment.
+ %
% Switch to the right set of fonts.
\csname #2fonts\endcsname \rmisbold
%
@@ -5718,7 +5882,6 @@ end
% This is purely so the last item on the list is a known \penalty >
% 10000. This is so \startdefun can avoid allowing breakpoints after
% section headings. Otherwise, it would insert a valid breakpoint between:
- %
% @section sec-whatever
% @deffn def-whatever
\penalty 10001
@@ -6136,6 +6299,12 @@ end
\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
+ % collide with the section heading.
+ \ifnum\lastpenalty>10000 \vskip\parskip \fi
+ %
\vbox\bgroup
\baselineskip=0pt\parskip=0pt\lineskip=0pt
\carttop
@@ -6149,7 +6318,7 @@ end
\lineskip=\normlskip
\parskip=\normpskip
\vskip -\parskip
- \comment % For explanation, see the end of \def\group.
+ \comment % For explanation, see the end of def\group.
}
\def\Ecartouche{%
\ifhmode\par\fi
@@ -6346,7 +6515,7 @@ end
%
\def\Equotation{%
\par
- \ifx\quotationauthor\undefined\else
+ \ifx\quotationauthor\thisisundefined\else
% indent a bit.
\leftline{\kern 2\leftskip \sl ---\quotationauthor}%
\fi
@@ -6505,6 +6674,7 @@ end
\makevalueexpandable
\setupverbatim
\indexnofonts % Allow `@@' and other weird things in file names.
+ \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}%
\input #1
\afterenvbreak
}%
@@ -6554,7 +6724,7 @@ end
% commands also insert a nobreak penalty, and we don't want to allow
% a break between a section heading and a defun.
%
- % As a minor refinement, we avoid "club" headers by signalling
+ % As a further refinement, we avoid "club" headers by signalling
% with penalty of 10003 after the very first @deffn in the
% sequence (see above), and penalty of 10002 after any following
% @def command.
@@ -6621,13 +6791,36 @@ end
\def\domakedefun#1#2#3{%
\envdef#1{%
\startdefun
+ \doingtypefnfalse % distinguish typed functions from all else
\parseargusing\activeparens{\printdefunline#3}%
}%
\def#2{\dodefunx#1}%
\def#3%
}
-%%% Untyped functions:
+\newif\ifdoingtypefn % doing typed function?
+\newif\ifrettypeownline % typeset return type on its own line?
+
+% @deftypefnnewline on|off says whether the return type of typed functions
+% are printed on their own line. This affects @deftypefn, @deftypefun,
+% @deftypeop, and @deftypemethod.
+%
+\parseargdef\deftypefnnewline{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETtxideftypefnnl\endcsname
+ = \empty
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETtxideftypefnnl\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @txideftypefnnl value `\temp',
+ must be on|off}%
+ \fi\fi
+}
+
+% Untyped functions:
% @deffn category name args
\makedefun{deffn}{\deffngeneral{}}
@@ -6646,7 +6839,7 @@ end
\defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
}
-%%% Typed functions:
+% Typed functions:
% @deftypefn category type name args
\makedefun{deftypefn}{\deftypefngeneral{}}
@@ -6661,10 +6854,11 @@ end
%
\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
\dosubind{fn}{\code{#4}}{#1}%
+ \doingtypefntrue
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-%%% Typed variables:
+% Typed variables:
% @deftypevr category type var args
\makedefun{deftypevr}{\deftypecvgeneral{}}
@@ -6682,7 +6876,7 @@ end
\defname{#2}{#3}{#4}\defunargs{#5\unskip}%
}
-%%% Untyped variables:
+% Untyped variables:
% @defvr category var args
\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
@@ -6693,7 +6887,8 @@ end
% \defcvof {category of}class var args
\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
-%%% Type:
+% Types:
+
% @deftp category name args
\makedefun{deftp}#1 #2 #3\endheader{%
\doind{tp}{\code{#2}}%
@@ -6721,25 +6916,49 @@ end
% We are followed by (but not passed) the arguments, if any.
%
\def\defname#1#2#3{%
+ \par
% Get the values of \leftskip and \rightskip as they were outside the @def...
\advance\leftskip by -\defbodyindent
%
- % How we'll format the type name. Putting it in brackets helps
+ % Determine if we are typesetting the return type of a typed function
+ % on a line by itself.
+ \rettypeownlinefalse
+ \ifdoingtypefn % doing a typed function specifically?
+ % then check user option for putting return type on its own line:
+ \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else
+ \rettypeownlinetrue
+ \fi
+ \fi
+ %
+ % How we'll format the category name. Putting it in brackets helps
% distinguish it from the body text that may end up on the next line
% just below it.
\def\temp{#1}%
\setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
%
- % Figure out line sizes for the paragraph shape.
+ % Figure out line sizes for the paragraph shape. We'll always have at
+ % least two.
+ \tempnum = 2
+ %
% The first line needs space for \box0; but if \rightskip is nonzero,
% we need only space for the part of \box0 which exceeds it:
\dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
+ %
+ % If doing a return type on its own line, we'll have another line.
+ \ifrettypeownline
+ \advance\tempnum by 1
+ \def\maybeshapeline{0in \hsize}%
+ \else
+ \def\maybeshapeline{}%
+ \fi
+ %
% The continuations:
\dimen2=\hsize \advance\dimen2 by -\defargsindent
- % (plain.tex says that \dimen1 should be used only as global.)
- \parshape 2 0in \dimen0 \defargsindent \dimen2
%
- % Put the type name to the right margin.
+ % The final paragraph shape:
+ \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2
+ %
+ % Put the category name at the right margin.
\noindent
\hbox to 0pt{%
\hfil\box0 \kern-\hsize
@@ -6761,8 +6980,16 @@ end
% . this still does not fix the ?` and !` ligatures, but so far no
% one has made identifiers using them :).
\df \tt
- \def\temp{#2}% return value type
- \ifx\temp\empty\else \tclose{\temp} \fi
+ \def\temp{#2}% text of the return type
+ \ifx\temp\empty\else
+ \tclose{\temp}% typeset the return type
+ \ifrettypeownline
+ % put return type on its own line; prohibit line break following:
+ \hfil\vadjust{\nobreak}\break
+ \else
+ \space % type on same line, so just followed by a space
+ \fi
+ \fi % no return type
#3% output function name
}%
{\rm\enskip}% hskip 0.5 em of \tenrm
@@ -6880,7 +7107,7 @@ end
% To do this right we need a feature of e-TeX, \scantokens,
% which we arrange to emulate with a temporary file in ordinary TeX.
-\ifx\eTeXversion\undefined
+\ifx\eTeXversion\thisisundefined
\newwrite\macscribble
\def\scantokens#1{%
\toks0={#1}%
@@ -6905,12 +7132,14 @@ end
% ... and for \example:
\spaceisspace
%
- % The \empty here causes a following catcode 5 newline to be eaten
- % as part of reading whitespace after a control sequence. It does
- % not eat a catcode 13 newline. There's no good way to handle the
- % two cases. See the Macro Details node in the manual for the
- % workaround we currently have to recommend for macros and
+ % The \empty here causes a following catcode 5 newline to be eaten as
+ % part of reading whitespace after a control sequence. It does not
+ % eat a catcode 13 newline. There's no good way to handle the two
+ % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX
+ % would then have different behavior). See the Macro Details node in
+ % the manual for the workaround we recommend for macros and
% line-oriented commands.
+ %
\scantokens{#1\empty}%
\endgroup}
@@ -7045,9 +7274,15 @@ end
\def\macroxxx#1{%
\getargs{#1}% now \macname is the macname and \argl the arglist
\ifx\argl\empty % no arguments
- \paramno=0
+ \paramno=0\relax
\else
\expandafter\parsemargdef \argl;%
+ \if\paramno>256\relax
+ \ifx\eTeXversion\thisisundefined
+ \errhelp = \EMsimple
+ \errmessage{You need eTeX to compile a file with macros with more than 256 arguments}
+ \fi
+ \fi
\fi
\if1\csname ismacro.\the\macname\endcsname
\message{Warning: redefining \the\macname}%
@@ -7097,9 +7332,17 @@ end
\def\getmacname#1 #2\relax{\macname={#1}}
\def\getmacargs#1{\def\argl{#1}}
+% For macro processing make @ a letter so that we can make Texinfo private macro names.
+\edef\texiatcatcode{\the\catcode`\@}
+\catcode `@=11\relax
+
% 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 be ##N where N is the position in that list.
+% 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
+% 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.
+%
% That gets used by \mbodybackslash (above).
%
% We need to get `macro parameter char #' into several definitions.
@@ -7109,12 +7352,33 @@ end
%
% The same technique is used to protect \eatspaces till just before
% the macro is used.
-
+%
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef the body (nothing else will expand because of
+% the catcode regime underwhich the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, you need that no macro has more than 256 arguments, otherwise an
+% error is produced.
\def\parsemargdef#1;{%
\paramno=0\def\paramlist{}%
\let\hash\relax
\let\xeatspaces\relax
\parsemargdefxxx#1,;,%
+ % In case that there are 10 or more arguments we parse again the arguments
+ % list to set new definitions for the \macarg.BLAH macros corresponding to
+ % each BLAH argument. It was anyhow needed to parse already once this list
+ % in order to count the arguments, and as macros with at most 9 arguments
+ % are by far more frequent than macro with 10 or more arguments, defining
+ % twice the \macarg.BLAH macros does not cost too much processing power.
+ \ifnum\paramno<10\relax\else
+ \paramno0\relax
+ \parsemmanyargdef@@#1,;,% 10 or more arguments
+ \fi
}
\def\parsemargdefxxx#1,{%
\if#1;\let\next=\relax
@@ -7125,16 +7389,205 @@ end
\edef\paramlist{\paramlist\hash\the\paramno,}%
\fi\next}
+\def\parsemmanyargdef@@#1,{%
+ \if#1;\let\next=\relax
+ \else
+ \let\next=\parsemmanyargdef@@
+ \edef\tempb{\eatspaces{#1}}%
+ \expandafter\def\expandafter\tempa
+ \expandafter{\csname macarg.\tempb\endcsname}%
+ % Note that we need some extra \noexpand\noexpand, this is because we
+ % don't want \the to be expanded in the \parsermacbody as it uses an
+ % \xdef .
+ \expandafter\edef\tempa
+ {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
+ \advance\paramno by 1\relax
+ \fi\next}
+
% These two commands read recursive and nonrecursive macro bodies.
% (They're different since rec and nonrec macros end differently.)
%
+
+\catcode `\@\texiatcatcode
\long\def\parsemacbody#1@end macro%
{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
\long\def\parsermacbody#1@end rmacro%
{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\catcode `\@=11\relax
+
+\let\endargs@\relax
+\let\nil@\relax
+\def\nilm@{\nil@}%
+\long\def\nillm@{\nil@}%
+
+% This macro is expanded during the Texinfo macro expansion, not during its
+% definition. It gets all the arguments values and assigns them to macros
+% macarg.ARGNAME
+%
+% #1 is the macro name
+% #2 is the list of argument names
+% #3 is the list of argument values
+\def\getargvals@#1#2#3{%
+ \def\macargdeflist@{}%
+ \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
+ \def\paramlist{#2,\nil@}%
+ \def\macroname{#1}%
+ \begingroup
+ \macroargctxt
+ \def\argvaluelist{#3,\nil@}%
+ \def\@tempa{#3}%
+ \ifx\@tempa\empty
+ \setemptyargvalues@
+ \else
+ \getargvals@@
+ \fi
+}
+
+%
+\def\getargvals@@{%
+ \ifx\paramlist\nilm@
+ % Some sanity check needed here that \argvaluelist is also empty.
+ \ifx\argvaluelist\nillm@
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Too many arguments in macro `\macroname'!}%
+ \fi
+ \let\next\macargexpandinbody@
+ \else
+ \ifx\argvaluelist\nillm@
+ % No more arguments values passed to macro. Set remaining named-arg
+ % macros to empty.
+ \let\next\setemptyargvalues@
+ \else
+ % pop current arg name into \@tempb
+ \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}%
+ \expandafter\@tempa\expandafter{\paramlist}%
+ % pop current argument value into \@tempc
+ \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}%
+ \expandafter\@tempa\expandafter{\argvaluelist}%
+ % Here \@tempb is the current arg name and \@tempc is the current arg value.
+ % First place the new argument macro definition into \@tempd
+ \expandafter\macname\expandafter{\@tempc}%
+ \expandafter\let\csname macarg.\@tempb\endcsname\relax
+ \expandafter\def\expandafter\@tempe\expandafter{%
+ \csname macarg.\@tempb\endcsname}%
+ \edef\@tempd{\long\def\@tempe{\the\macname}}%
+ \push@\@tempd\macargdeflist@
+ \let\next\getargvals@@
+ \fi
+ \fi
+ \next
+}
+
+\def\push@#1#2{%
+ \expandafter\expandafter\expandafter\def
+ \expandafter\expandafter\expandafter#2%
+ \expandafter\expandafter\expandafter{%
+ \expandafter#1#2}%
+}
+
+% Replace arguments by their values in the macro body, and place the result
+% in macro \@tempa
+\def\macvalstoargs@{%
+ % To do this we use the property that token registers that are \the'ed
+ % within an \edef expand only once. So we are going to place all argument
+ % values into respective token registers.
+ %
+ % First we save the token context, and initialize argument numbering.
+ \begingroup
+ \paramno0\relax
+ % Then, for each argument number #N, we place the corresponding argument
+ % value into a new token list register \toks#N
+ \expandafter\putargsintokens@\saveparamlist@,;,%
+ % Then, we expand the body so that argument are replaced by their
+ % values. The trick for values not to be expanded themselves is that they
+ % are within tokens and that tokens expand only once in an \edef .
+ \edef\@tempc{\csname mac.\macroname .body\endcsname}%
+ % Now we restore the token stack pointer to free the token list registers
+ % which we have used, but we make sure that expanded body is saved after
+ % group.
+ \expandafter
+ \endgroup
+ \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
+ }
+
+\def\macargexpandinbody@{%
+ %% Define the named-macro outside of this group and then close this group.
+ \expandafter
+ \endgroup
+ \macargdeflist@
+ % First the replace in body the macro arguments by their values, the result
+ % is in \@tempa .
+ \macvalstoargs@
+ % Then we point at the \norecurse or \gobble (for recursive) macro value
+ % with \@tempb .
+ \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
+ % Depending on whether it is recursive or not, we need some tailing
+ % \egroup .
+ \ifx\@tempb\gobble
+ \let\@tempc\relax
+ \else
+ \let\@tempc\egroup
+ \fi
+ % And now we do the real job:
+ \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}%
+ \@tempd
+}
+
+\def\putargsintokens@#1,{%
+ \if#1;\let\next\relax
+ \else
+ \let\next\putargsintokens@
+ % First we allocate the new token list register, and give it a temporary
+ % alias \@tempb .
+ \toksdef\@tempb\the\paramno
+ % Then we place the argument value into that token list register.
+ \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname
+ \expandafter\@tempb\expandafter{\@tempa}%
+ \advance\paramno by 1\relax
+ \fi
+ \next
+}
+
+% Save the token stack pointer into macro #1
+\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
+% Restore the token stack pointer from number in macro #1
+\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
+% newtoks that can be used non \outer .
+\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
+
+% Tailing missing arguments are set to empty
+\def\setemptyargvalues@{%
+ \ifx\paramlist\nilm@
+ \let\next\macargexpandinbody@
+ \else
+ \expandafter\setemptyargvaluesparser@\paramlist\endargs@
+ \let\next\setemptyargvalues@
+ \fi
+ \next
+}
+
+\def\setemptyargvaluesparser@#1,#2\endargs@{%
+ \expandafter\def\expandafter\@tempa\expandafter{%
+ \expandafter\def\csname macarg.#1\endcsname{}}%
+ \push@\@tempa\macargdeflist@
+ \def\paramlist{#2}%
+}
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
+% #1 is the element target macro
+% #2 is the list macro
+% #3,#4\endargs@ is the list value
+\def\pop@#1#2#3,#4\endargs@{%
+ \def#1{#3}%
+ \def#2{#4}%
+}
+\long\def\longpop@#1#2#3,#4\endargs@{%
+ \long\def#1{#3}%
+ \long\def#2{#4}%
+}
+
+% This defines a Texinfo @macro. There are eight cases: recursive and
+% nonrecursive macros of zero, one, up to nine, and many arguments.
% Much magic with \expandafter here.
% \xdef is used so that macro definitions will survive the file
% they're defined in; @include reads the file inside a group.
@@ -7153,17 +7606,25 @@ end
\expandafter\noexpand\csname\the\macname xxx\endcsname}%
\expandafter\xdef\csname\the\macname xxx\endcsname##1{%
\egroup\noexpand\scanmacro{\temp}}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+ \else
+ \ifnum\paramno<10\relax % at most 9
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+ \else % 10 or more
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \noexpand\getargvals@{\the\macname}{\argl}%
+ }%
+ \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+ \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
+ \fi
\fi
\else
\ifcase\paramno
@@ -7180,23 +7641,33 @@ end
\egroup
\noexpand\norecurse{\the\macname}%
\noexpand\scanmacro{\temp}\egroup}%
- \else % many
- \expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup\noexpand\macroargctxt
- \expandafter\noexpand\csname\the\macname xx\endcsname}%
- \expandafter\xdef\csname\the\macname xx\endcsname##1{%
- \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
- \expandafter\expandafter
- \expandafter\xdef
- \expandafter\expandafter
- \csname\the\macname xxx\endcsname
- \paramlist{%
- \egroup
- \noexpand\norecurse{\the\macname}%
- \noexpand\scanmacro{\temp}\egroup}%
+ \else % at most 9
+ \ifnum\paramno<10\relax
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \bgroup\noexpand\macroargctxt
+ \expandafter\noexpand\csname\the\macname xx\endcsname}%
+ \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+ \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+ \expandafter\expandafter
+ \expandafter\xdef
+ \expandafter\expandafter
+ \csname\the\macname xxx\endcsname
+ \paramlist{%
+ \egroup
+ \noexpand\norecurse{\the\macname}%
+ \noexpand\scanmacro{\temp}\egroup}%
+ \else % 10 or more:
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \noexpand\getargvals@{\the\macname}{\argl}%
+ }%
+ \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+ \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
+ \fi
\fi
\fi}
+\catcode `\@\texiatcatcode\relax
+
\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
% \braceorline decides whether the next nonwhitespace character is a
@@ -7235,7 +7706,8 @@ end
% @inforef is relatively simple.
\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+\def\inforefzzz #1,#2,#3,#4**{%
+ \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
node \samp{\ignorespaces#1{}}}
% @node's only job in TeX is to define \lastnode, which is used in
@@ -7296,11 +7768,32 @@ end
\toks0 = \expandafter{\lastsection}%
\immediate \writexrdef{title}{\the\toks0 }%
\immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
- \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout
+ \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
}%
\fi
}
+% @xrefautosectiontitle on|off says whether @section(ing) names are used
+% automatically in xrefs, if the third arg is not explicitly specified.
+% This was provided as a "secret" @set xref-automatic-section-title
+% variable, now it's official.
+%
+\parseargdef\xrefautomaticsectiontitle{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+ \expandafter\let\csname SETxref-automatic-section-title\endcsname
+ = \empty
+ \else\ifx\temp\offword
+ \expandafter\let\csname SETxref-automatic-section-title\endcsname
+ = \relax
+ \else
+ \errhelp = \EMsimple
+ \errmessage{Unknown @xrefautomaticsectiontitle value `\temp',
+ must be on|off}%
+ \fi\fi
+}
+
+
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
% node name, #4 the name of the Info file, #5 the name of the printed
@@ -7309,26 +7802,36 @@ end
\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
\def\ref#1{\xrefX[#1,,,,,,,]}
+%
+\newbox\topbox
+\newbox\printedrefnamebox
+\newbox\printedmanualbox
+%
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
\unsepspaces
- \def\printedmanual{\ignorespaces #5}%
+ %
\def\printedrefname{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual\unskip}%
- \setbox0=\hbox{\printedrefname\unskip}%
- \ifdim \wd0 = 0pt
+ \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
+ %
+ \def\printedmanual{\ignorespaces #5}%
+ \setbox\printedmanualbox = \hbox{\printedmanual\unskip}%
+ %
+ % If the printed reference name (arg #3) was not explicitly given in
+ % the @xref, figure out what we want to use.
+ \ifdim \wd\printedrefnamebox = 0pt
% No printed node name was explicitly given.
- \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
- % Use the node name inside the square brackets.
+ \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
+ % Not auto section-title: use node name inside the square brackets.
\def\printedrefname{\ignorespaces #1}%
\else
- % Use the actual chapter/section title appear inside
- % the square brackets. Use the real section title if we have it.
- \ifdim \wd1 > 0pt
- % It is in another manual, so we don't have it.
+ % Auto section-title: use chapter/section title inside
+ % the square brackets if we have it.
+ \ifdim \wd\printedmanualbox > 0pt
+ % It is in another manual, so we don't have it; use node name.
\def\printedrefname{\ignorespaces #1}%
\else
\ifhavexrefs
- % We know the real title if we have the xref values.
+ % We (should) know the real title if we have the xref values.
\def\printedrefname{\refx{#1-title}{}}%
\else
% Otherwise just copy the Info node name.
@@ -7346,9 +7849,8 @@ end
% etc. don't get their TeX definitions.
\getfilename{#4}%
%
- % See comments at \activebackslashdouble.
- {\activebackslashdouble \xdef\pdfxrefdest{#1}%
- \backslashparens\pdfxrefdest}%
+ \edef\pdfxrefdest{#1}%
+ \txiescapepdf\pdfxrefdest
%
\leavevmode
\startlink attr{/Border [0 0 0]}%
@@ -7375,7 +7877,7 @@ end
\iffloat\Xthisreftitle
% If the user specified the print name (third arg) to the ref,
% print it instead of our usual "Figure 1.2".
- \ifdim\wd0 = 0pt
+ \ifdim\wd\printedrefnamebox = 0pt
\refx{#1-snt}{}%
\else
\printedrefname
@@ -7383,21 +7885,46 @@ end
%
% if the user also gave the printed manual name (fifth arg), append
% "in MANUALNAME".
- \ifdim \wd1 > 0pt
+ \ifdim \wd\printedmanualbox > 0pt
\space \putwordin{} \cite{\printedmanual}%
\fi
\else
% node/anchor (non-float) references.
- %
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
- \ifdim \wd1 > 0pt
- \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
+ %
+ % If we use \unhbox to print the node names, TeX does not insert
+ % empty discretionaries after hyphens, which means that it will not
+ % find a line break at a hyphen in a node names. Since some manuals
+ % are best written with fairly long node names, containing hyphens,
+ % this is a loss. Therefore, we give the text of the node name
+ % again, so it is as if TeX is seeing it for the first time.
+ %
+ % Cross-manual reference. Only include the "Section ``foo'' in" if
+ % the foo is neither missing or Top. Thus, @xref{,,,foo,The Foo Manual}
+ % outputs simply "see The Foo Manual".
+ \ifdim \wd\printedmanualbox > 0pt
+ % What is the 7sp about? The idea is that we also want to omit
+ % the Section part if we would be printing "Top", since they are
+ % clearly trying to refer to the whole manual. But, this being
+ % TeX, we can't easily compare strings while ignoring the possible
+ % spaces before and after in the input. By adding the arbitrary
+ % 7sp, we make it much less likely that a real node name would
+ % happen to have the same width as "Top" (e.g., in a monospaced font).
+ % I hope it will never happen in practice.
+ %
+ % For the same basic reason, we retypeset the "Top" at every
+ % reference, since the current font is indeterminate.
+ %
+ \setbox\topbox = \hbox{Top\kern7sp}%
+ \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+ \ifdim \wd2 > 7sp
+ \ifdim \wd2 = \wd\topbox \else
+ \putwordSection{} ``\printedrefname'' \putwordin{}\space
+ \fi
+ \fi
+ \cite{\printedmanual}%
\else
+ % Reference in this manual.
+ %
% _ (for example) has to be the character _ for the purposes of the
% control sequence corresponding to the node, but it has to expand
% into the usual \leavevmode...\vrule stuff for purposes of
@@ -7409,7 +7936,7 @@ end
\setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
\ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
}%
- % output the `[mynode]' via a macro so it can be overridden.
+ % output the `[mynode]' via the macro below so it can be overridden.
\xrefprintnodename\printedrefname
%
% But we always want a comma and a space:
@@ -7637,7 +8164,7 @@ end
% space to prevent strange expansion errors.)
\def\supereject{\par\penalty -20000\footnoteno =0 }
-% @footnotestyle is meaningful for info output only.
+% @footnotestyle is meaningful for Info output only.
\let\footnotestyle=\comment
{\catcode `\@=11
@@ -7700,6 +8227,8 @@ end
% expands into a box, it must come within the paragraph, lest it
% provide a place where TeX can split the footnote.
\footstrut
+ %
+ % Invoke rest of plain TeX footnote routine.
\futurelet\next\fo@t
}
}%end \catcode `\@=11
@@ -7787,7 +8316,7 @@ end
it from ftp://tug.org/tex/epsf.tex.}
%
\def\image#1{%
- \ifx\epsfbox\undefined
+ \ifx\epsfbox\thisiundefined
\ifwarnednoepsf \else
\errhelp = \noepsfhelp
\errmessage{epsf.tex not found, images will be ignored}%
@@ -8252,7 +8781,7 @@ directory should work if nowhere else does.}
%
% Latin1 (ISO-8859-1) character definitions.
\def\latonechardefs{%
- \gdef^^a0{~}
+ \gdef^^a0{\tie}
\gdef^^a1{\exclamdown}
\gdef^^a2{\missingcharmsg{CENT SIGN}}
\gdef^^a3{{\pounds}}
@@ -8282,7 +8811,7 @@ directory should work if nowhere else does.}
\gdef^^b9{$^1$}
\gdef^^ba{\ordm}
%
- \gdef^^bb{\guilletright}
+ \gdef^^bb{\guillemetright}
\gdef^^bc{$1\over4$}
\gdef^^bd{$1\over2$}
\gdef^^be{$3\over4$}
@@ -8374,7 +8903,7 @@ directory should work if nowhere else does.}
% Latin2 (ISO-8859-2) character definitions.
\def\lattwochardefs{%
- \gdef^^a0{~}
+ \gdef^^a0{\tie}
\gdef^^a1{\ogonek{A}}
\gdef^^a2{\u{}}
\gdef^^a3{\L}
@@ -8547,7 +9076,7 @@ directory should work if nowhere else does.}
\gdef\DeclareUnicodeCharacter#1#2{%
\countUTFz = "#1\relax
- \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
+ %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
\begingroup
\parseXMLCharref
\def\UTFviiiTwoOctets##1##2{%
@@ -9223,28 +9752,21 @@ directory should work if nowhere else does.}
\message{and turning on texinfo input format.}
+\def^^L{\par} % remove \outer, so ^L can appear in an @comment
+
% DEL is a comment character, in case @c does not suffice.
\catcode`\^^? = 14
% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\catcode`\$=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-\def\normaldollar{$}%$ font-lock fix
+\catcode`\"=\other \def\normaldoublequote{"}
+\catcode`\$=\other \def\normaldollar{$}%$ font-lock fix
+\catcode`\+=\other \def\normalplus{+}
+\catcode`\<=\other \def\normalless{<}
+\catcode`\>=\other \def\normalgreater{>}
+\catcode`\^=\other \def\normalcaret{^}
+\catcode`\_=\other \def\normalunderscore{_}
+\catcode`\|=\other \def\normalverticalbar{|}
+\catcode`\~=\other \def\normaltilde{~}
% This macro is used to make a character print one way in \tt
% (where it can probably be output as-is), and another way in other fonts,
@@ -9322,14 +9844,24 @@ directory should work if nowhere else does.}
% In texinfo, backslash is an active character; it prints the backslash
% in fixed width font.
-\catcode`\\=\active
-@def@normalbackslash{{@tt@backslashcurfont}}
+\catcode`\\=\active % @ for escape char from now on.
+
+% The story here is that in math mode, the \char of \backslashcurfont
+% ends up printing the roman \ from the math symbol font (because \char
+% in math mode uses the \mathcode, and plain.tex sets
+% \mathcode`\\="026E). It seems better for @backslashchar{} to always
+% print a typewriter backslash, hence we use an explicit \mathchar,
+% which is the decimal equivalent of "715c (class 7, e.g., use \fam;
+% ignored family value; char position "5C). We can't use " for the
+% usual hex value because it has already been made active.
+@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
+@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
+
% On startup, @fixbackslash assigns:
% @let \ = @normalbackslash
-
% \rawbackslash defines an active \ to do \backslashcurfont.
% \otherbackslash defines an active \ to be a literal `\' character with
-% catcode other.
+% catcode other. We switch back and forth between these.
@gdef@rawbackslash{@let\=@backslashcurfont}
@gdef@otherbackslash{@let\=@realbackslash}
@@ -9337,16 +9869,16 @@ directory should work if nowhere else does.}
% the literal character `\'.
%
@def@normalturnoffactive{%
- @let\=@normalbackslash
@let"=@normaldoublequote
- @let~=@normaltilde
+ @let$=@normaldollar %$ font-lock fix
+ @let+=@normalplus
+ @let<=@normalless
+ @let>=@normalgreater
+ @let\=@normalbackslash
@let^=@normalcaret
@let_=@normalunderscore
@let|=@normalverticalbar
- @let<=@normalless
- @let>=@normalgreater
- @let+=@normalplus
- @let$=@normaldollar %$ font-lock fix
+ @let~=@normaltilde
@markupsetuplqdefault
@markupsetuprqdefault
@unsepspaces
@@ -9378,10 +9910,19 @@ directory should work if nowhere else does.}
% Say @foo, not \foo, in error messages.
@escapechar = `@@
+% These (along with & and #) are made active for url-breaking, so need
+% active definitions as the normal characters.
+@def@normaldot{.}
+@def@normalquest{?}
+@def@normalslash{/}
+
% These look ok in all fonts, so just make them not special.
-@catcode`@& = @other
-@catcode`@# = @other
-@catcode`@% = @other
+% @hashchar{} gets its own user-level command, because of #line.
+@catcode`@& = @other @def@normalamp{&}
+@catcode`@# = @other @def@normalhash{#}
+@catcode`@% = @other @def@normalpercent{%}
+
+@let @hashchar = @normalhash
@c Finally, make ` and ' active, so that txicodequoteundirected and
@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
diff --git a/ext.c b/ext.c
index 6a87632d..0f56849d 100644
--- a/ext.c
+++ b/ext.c
@@ -7,7 +7,7 @@
*/
/*
- * Copyright (C) 1995 - 2001, 2003-2011 the Free Software Foundation, Inc.
+ * Copyright (C) 1995 - 2001, 2003-2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -33,12 +33,8 @@
#include <dlfcn.h>
-#ifdef __GNUC__
-static unsigned long long dummy; /* fake out gcc for dynamic loading? */
-#endif
-
/* do_ext --- load an extension at run-time: interface to load_ext */
-
+
NODE *
do_ext(int nargs)
{
@@ -70,12 +66,6 @@ load_ext(const char *lib_name, const char *init_func, NODE *obj)
int flags = RTLD_LAZY;
int *gpl_compat;
-#ifdef __GNUC__
- AWKNUM junk;
-
- junk = (AWKNUM) dummy;
-#endif
-
if (do_sandbox)
fatal(_("extensions are not allowed in sandbox mode"));
diff --git a/extension/ChangeLog b/extension/ChangeLog
index dff4cf67..0b3053ed 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,6 +1,11 @@
2011-08-31 John Haque <j.eh@mchsi.com>
- * arrayparm.c, filefuncs.c, fork.c, ordchr.c, readfile.c,
- rwarray.c, testarg.c: Updated.
+
+ * arrayparm.c, filefuncs.c, fork.c, ordchr.c, readfile.c,
+ rwarray.c, testarg.c: Updated.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
2011-06-23 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/getopt.c b/getopt.c
index 6521f48e..58df01a0 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-1996,1998-2004,2008,2009,2010
+ Copyright (C) 1987-1996,1998-2004,2008,2009,2010,2011
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -17,9 +17,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
Ditto for AIX 3.2 and <stdlib.h>. */
@@ -49,14 +48,22 @@
# endif
#endif
+/* !@#$%^&*() !!!!!!!! */
+#ifdef GAWK
+#undef ELIDE_CODE
+#endif
+
#ifndef ELIDE_CODE
/* This needs to come after some library #include
to get __GNU_LIBRARY__ defined. */
-#ifdef __GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
- contain conflicting prototypes for getopt. */
+#if defined (__GNU_LIBRARY__) || defined (__CYGWIN__) || defined(DJGPP)
+/* Don't include stdlib.h for
+ * non-GNU C libraries
+ * non-Cygwin
+ * non-DJGPP
+ * because some of them contain conflicting prototypes for getopt. */
# include <stdlib.h>
# include <unistd.h>
#endif /* GNU C library. */
@@ -74,7 +81,7 @@
# define _(msgid) gettext (msgid)
#endif
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
# include <wchar.h>
#endif
@@ -526,23 +533,29 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
|| !strchr (optstring, argv[d->optind][1])))))
{
char *nameend;
+ unsigned int namelen;
const struct option *p;
const struct option *pfound = NULL;
+ struct option_list
+ {
+ const struct option *p;
+ struct option_list *next;
+ int needs_free;
+ } *ambig_list = NULL;
int exact = 0;
- int ambig = 0;
int indfound = -1;
int option_index;
for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++)
/* Do nothing. */ ;
+ namelen = nameend - d->__nextchar;
/* Test all long options for either exact match
or abbreviated matches. */
for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar))
+ if (!strncmp (p->name, d->__nextchar, namelen))
{
- if ((unsigned int) (nameend - d->__nextchar)
- == (unsigned int) strlen (p->name))
+ if (namelen == (unsigned int) strlen (p->name))
{
/* Exact match found. */
pfound = p;
@@ -560,19 +573,47 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
|| pfound->has_arg != p->has_arg
|| pfound->flag != p->flag
|| pfound->val != p->val)
+ {
/* Second or later nonexact match found. */
- ambig = 1;
+ struct option_list *newp = malloc (sizeof (*newp));
+ newp->p = p;
+ newp->needs_free = 1;
+ newp->next = ambig_list;
+ ambig_list = newp;
+ }
}
- if (ambig && !exact)
+ if (ambig_list != NULL && !exact)
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
+ struct option_list first;
+ first.p = pfound;
+ first.next = ambig_list;
+ first.needs_free = 0;
+ ambig_list = &first;
+
+#if defined _LIBC
+ char *buf = NULL;
+ size_t buflen = 0;
+
+ FILE *fp = open_memstream (&buf, &buflen);
+ if (fp != NULL)
+ {
+ fprintf (fp,
+ _("%s: option '%s' is ambiguous; possibilities:"),
+ argv[0], argv[d->optind]);
- if (__asprintf (&buf, _("%s: option '%s' is ambiguous\n"),
- argv[0], argv[d->optind]) >= 0)
+ do
+ {
+ fprintf (fp, " '--%s'", ambig_list->p->name);
+ ambig_list = ambig_list->next;
+ }
+ while (ambig_list != NULL);
+
+ fputc_unlocked ('\n', fp);
+
+ if (__builtin_expect (fclose (fp) != EOF, 1))
{
_IO_flockfile (stderr);
@@ -586,9 +627,24 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
free (buf);
}
+ }
#else
- fprintf (stderr, _("%s: option '%s' is ambiguous\n"),
+ fprintf (stderr,
+ _("%s: option '%s' is ambiguous; possibilities:"),
argv[0], argv[d->optind]);
+ do
+ {
+ struct option_list *tmp_next;
+
+ fprintf (stderr, " '--%s'", ambig_list->p->name);
+ tmp_next = ambig_list->next;
+ if (ambig_list->needs_free)
+ free(ambig_list);
+ ambig_list = tmp_next;
+ }
+ while (ambig_list != NULL);
+
+ fputc ('\n', stderr);
#endif
}
d->__nextchar += strlen (d->__nextchar);
@@ -611,7 +667,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
int n;
#endif
@@ -619,7 +675,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
if (argv[d->optind - 1][1] == '-')
{
/* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
n = __asprintf (&buf, _("\
%s: option '--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
@@ -632,7 +688,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
else
{
/* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
n = __asprintf (&buf, _("\
%s: option '%c%s' doesn't allow an argument\n"),
argv[0], argv[d->optind - 1][0],
@@ -645,7 +701,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
#endif
}
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
if (n >= 0)
{
_IO_flockfile (stderr);
@@ -678,7 +734,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
if (__asprintf (&buf, _("\
@@ -729,7 +785,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
int n;
#endif
@@ -737,7 +793,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
if (argv[d->optind][1] == '-')
{
/* --option */
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"),
argv[0], d->__nextchar);
#else
@@ -748,7 +804,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
else
{
/* +option or -option */
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"),
argv[0], argv[d->optind][0], d->__nextchar);
#else
@@ -757,7 +813,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
#endif
}
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
if (n >= 0)
{
_IO_flockfile (stderr);
@@ -795,19 +851,19 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
int n;
#endif
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
argv[0], c);
#else
fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
#endif
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
if (n >= 0)
{
_IO_flockfile (stderr);
@@ -838,6 +894,9 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
int indfound = 0;
int option_index;
+ if (longopts == NULL)
+ goto no_longs;
+
/* This is an option that requires an argument. */
if (*d->__nextchar != '\0')
{
@@ -850,7 +909,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
if (__asprintf (&buf,
@@ -924,7 +983,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
@@ -964,7 +1023,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
if (__asprintf (&buf, _("\
@@ -1003,7 +1062,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
if (__asprintf (&buf, _("\
@@ -1045,6 +1104,8 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
}
return pfound->val;
}
+
+ no_longs:
d->__nextchar = NULL;
return 'W'; /* Let the application handle it. */
}
@@ -1076,7 +1137,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
-#if defined _LIBC && defined USE_IN_LIBIO
+#if defined _LIBC
char *buf;
if (__asprintf (&buf, _("\
diff --git a/getopt.h b/getopt.h
index b84953f7..82d0ab9e 100644
--- a/getopt.h
+++ b/getopt.h
@@ -1,5 +1,5 @@
/* Declarations for getopt.
- Copyright (C) 1989-1994,1996-1999,2001,2003,2004
+ Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2009,2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -14,9 +14,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#ifndef _GETOPT_H
@@ -158,9 +157,9 @@ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
additional functionality can be disable at runtime. This redirection
helps to also do this at runtime. */
# ifdef __REDIRECT
- extern int __REDIRECT (getopt, (int ___argc, char *const *___argv,
+ extern int __REDIRECT_NTH (getopt, (int ___argc, char *const *___argv,
const char *__shortopts),
- __posix_getopt) __THROW;
+ __posix_getopt);
# else
extern int __posix_getopt (int ___argc, char *const *___argv,
const char *__shortopts) __THROW;
diff --git a/getopt1.c b/getopt1.c
index 95f2fb35..03fba35e 100644
--- a/getopt1.c
+++ b/getopt1.c
@@ -13,9 +13,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -46,6 +45,11 @@
#endif
#endif
+/* !@#$%^&*() !!!!!!!! */
+#ifdef GAWK
+#undef ELIDE_CODE
+#endif
+
#ifndef ELIDE_CODE
diff --git a/getopt_int.h b/getopt_int.h
index 6a32a514..b0d7695a 100644
--- a/getopt_int.h
+++ b/getopt_int.h
@@ -14,9 +14,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#ifndef _GETOPT_INT_H
#define _GETOPT_INT_H 1
diff --git a/io.c b/io.c
index f6feab6a..721b1ab7 100644
--- a/io.c
+++ b/io.c
@@ -3408,7 +3408,7 @@ get_read_timeout(IOBUF *iop)
if (full_idx == NULL || strcmp(name, last_name) != 0) {
val = in_PROCINFO(name, "READ_TIMEOUT", & full_idx);
if (last_name != NULL)
- efree((char *) last_name);
+ efree((void *) last_name);
last_name = estrdup(name, strlen(name));
} else /* use cached full index */
val = in_array(PROCINFO_node, full_idx);
diff --git a/m4/ChangeLog b/m4/ChangeLog
index 22dc64dc..782171ab 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,6 +1,15 @@
2012-04-01 John Haque <j.eh@mchsi.com>
+
* mpfr.m4: New file.
+2012-03-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * noreturn.m4: New file.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
2011-06-23 Arnold D. Robbins <arnold@skeeve.com>
* ChangeLog.0: Rotated ChangeLog into this file.
diff --git a/m4/noreturn.m4 b/m4/noreturn.m4
new file mode 100644
index 00000000..7fa7d377
--- /dev/null
+++ b/m4/noreturn.m4
@@ -0,0 +1,38 @@
+dnl Date: Sun, 26 Feb 2012 11:31:50 -0800
+dnl From: Paul Eggert <eggert@cs.ucla.edu>
+dnl To: arnold@skeeve.com
+dnl CC: bug-grep@gnu.org
+dnl Subject: Re: avoid gcc 4.6.2 'may be used before set' warnings in dfa.c
+dnl
+dnl On 02/26/2012 01:18 AM, arnold@skeeve.com wrote:
+dnl > It looks like I can just use the code as it is now in grep. I have asked
+dnl > for compile failures and haven't gotten any.
+dnl
+dnl Sure, but the gnulib support for this is better
+dnl than what's in the dfa code. It could be that
+dnl your correspondents aren't using the less-common hosts
+dnl or compiler warning options that gnulib is ported to.
+dnl
+dnl In the long run stdnoreturn.h or _Noreturn is the way to go,
+dnl since they're part of the C standard.
+dnl
+dnl If you'd rather not create a separate file, how about if
+dnl we change the dfa code to use _Noreturn instead of
+dnl <stdnoreturn.h> and noreturn, and you can put the
+dnl following into your configure.ac so that config.h
+dnl defines _Noreturn the same way gnulib does:
+
+AC_DEFUN([GAWK_AC_NORETURN],[
+AH_VERBATIM([_Noreturn],
+[/* The _Noreturn keyword of C11. */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+ || 0x5110 <= __SUNPRO_C)
+# define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn
+# endif
+#endif
+])])
diff --git a/main.c b/main.c
index dca938a8..8a38a760 100644
--- a/main.c
+++ b/main.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 1986, 1988, 1989, 1991-2011 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -24,7 +24,7 @@
*/
/* FIX THIS BEFORE EVERY RELEASE: */
-#define UPDATE_YEAR 2011
+#define UPDATE_YEAR 2012
#include "awk.h"
#include "getopt.h"
@@ -293,6 +293,8 @@ main(int argc, char **argv)
/* init array handling. */
array_init();
+ output_fp = stdout;
+
/* we do error messages ourselves on invalid options */
opterr = FALSE;
@@ -1417,17 +1419,20 @@ init_groupset()
*/
ngroups = getgroups(0, NULL);
#endif
- if (ngroups == -1)
- fatal(_("could not find groups: %s"), strerror(errno));
- else if (ngroups == 0)
+ /* If an error or no groups, just give up and get on with life. */
+ if (ngroups <= 0)
return;
/* fill in groups */
emalloc(groupset, GETGROUPS_T *, ngroups * sizeof(GETGROUPS_T), "init_groupset");
ngroups = getgroups(ngroups, groupset);
- if (ngroups == -1)
- fatal(_("could not find groups: %s"), strerror(errno));
+ /* same thing here, give up but keep going */
+ if (ngroups == -1) {
+ efree(groupset);
+ ngroups = 0;
+ groupset = NULL;
+ }
#endif
}
diff --git a/mbsupport.h b/mbsupport.h
index f647d788..db6788ce 100644
--- a/mbsupport.h
+++ b/mbsupport.h
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2004, 2005, 2011 the Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2011, 2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -81,7 +81,9 @@
#define WEOF EOF
#define towupper toupper
#define towlower tolower
-#define btowc(x) (x)
+#ifndef DJGPP
+#define btowc(x) ((int)x)
+#endif
#define iswalnum isalnum
#define iswalpha isalpha
#define iswupper isupper
diff --git a/missing_d/ChangeLog b/missing_d/ChangeLog
index 4a06aa60..c6913bc2 100644
--- a/missing_d/ChangeLog
+++ b/missing_d/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
2011-11-02 Pat Rankin <r.pat.rankin@gmail.com>
* wcmisc.c: Make code be conditional upon corresponding !HAVE_WCxxx.
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 27a485c5..8d340b45 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -32,6 +32,64 @@
* config.h: Comment out "#undef HAVE_LIBREADLINE" (again).
+2012-03-29 Arnold D. Robbins <arnold@skeeve.com>
+
+ * config.h: Add definition for _Noreturn.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
+2012-03-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.tst (printfbad3): New test.
+
+2012-03-14 Eli Zaretskii <eliz@gnu.org>
+
+ * gawkmisc.pc (btowc): New version for DJGPP.
+
+2012-03-01 Scott Deifik <scottd.mail@sbcglobal.net>
+
+ * Makefile.tst: Sync with mainline version.
+
+2012-03-01 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile: Quiet confusing info messages from the linker when
+ gawk is linked against readline as a shared library.
+
+2012-02-22 Eli Zaretskii <eliz@gnu.org>
+
+ * Makefile.tst: Update CMP and CP definitions, add "Expect xxxx to
+ fail with MinGW" messages as needed.
+
+2012-02-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawkmisc.pc (execvp): Modify signature, return -1
+ on error.
+
+2012-02-11 Eli Zaretskii <eliz@gnu.org>
+
+ Fix dependencies in pc/Makefile.
+ * Makefile ($(ALLOBJS) $(LIBOBJS) eval_p$O profile_p$O): Add eval_d$O,
+ debug$O, and command$O.
+
+ Support MinGW build with the readline library.
+ * Makefile (default): Add a line for the mingw32-readline target.
+ (mingw32-readline): New target, passes -DHAVE_LIBREADLINE to the
+ compiler and adds -lreadline to the linker command line.
+
+ * config.sed: Comment out "#undef HAVE_LIBREADLINE", so that it
+ could be #define'd on the compiler command line.
+
+2012-02-10 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawkmisc.pc (execvp): New function based on code from Eli
+ Zaretskii to make dgawk's restarting the debugger work.
+
+2012-01-27 Scott Deifik <scottd.mail@sbcglobal.net>
+
+ * Makefile.tst: Sync with mainline version.
+
2011-12-12 Scott Deifik <scottd.mail@sbcglobal.net>
* Makefile.tst: Sync with mainline version.
diff --git a/pc/Makefile b/pc/Makefile
index f01849a8..21fe0bfe 100644
--- a/pc/Makefile
+++ b/pc/Makefile
@@ -178,6 +178,13 @@ mingw32-readline-mpfr:
OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
LF2="-lmpfr -lgmp -lreadline -lmsvcp60 -Wl,--enable-auto-import" RSP=
+mingw32-readline:
+ $(MAK) all \
+ CC=gcc O=.o CF="-DHAVE_LIBREADLINE -O2 -gdwarf-2 -g3" OBJ=popen.o \
+ LNK=LMINGW32 PLNK=PLMINGW32 DLNK=DLMINGW32 \
+ LF="-gdwarf-2 -g3" \
+ LF2="-lreadline -lmsvcp60 -Wl,--enable-auto-import" RSP=
+
# Define BIND for BINDless compiles, otherwise $($(BIND)) may break.
BIND = EMPTY
PBIND = EMPTY
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index 83a8a32a..ab566531 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -1,6 +1,6 @@
# Makefile for GNU Awk test suite.
#
-# Copyright (C) 1988-2011 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2012 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -86,8 +86,8 @@ PGAWK = ../gawk.exe -p
#CMP = cmp
# See the comment above for why you might want to set CMP to "env LFN=n diff"
#CMP = env LFN=n diff
-CMP = diff
-#CMP = diff -c
+#CMP = diff
+CMP = diff -u
#CMP = gcmp
# cmp replacement program for PC where the error messages aren't
@@ -96,9 +96,9 @@ TESTOUTCMP = $(AWK) -f ../testoutcmp.awk
# Set your "cp," "mv," and "mkdir" commands here. Note: DOS's copy must take
# forward slashes.
-#CP = cp
+CP = cp
#CP = : && command -c copy
-CP = command.com /c copy
+#CP = command.com /c copy
MV = cmd.exe /c ren
@@ -124,37 +124,43 @@ abs_builddir = .
# Get rid of core files when cleaning and generated .ok file
CLEANFILES = core core.* fmtspcl.ok
-# try to keep these sorted
+# try to keep these sorted. each letter starts a new line
BASIC_TESTS = \
addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 \
arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
- aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
- closebad clsflnam compare compare2 concat1 concat2 concat3 \
- concat4 convfmt datanonl defref delargv delarpm2 delarprm delfunc \
- dfastress dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 \
- fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \
- fordel forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
- funstack getline getline2 getline3 getline4 \
- getlnbuf getnr2tb getnr2tm \
+ aryprm8 arysubnm asgext awkpath \
+ back89 backgsub \
+ childin clobber closebad clsflnam compare compare2 concat1 concat2 \
+ concat3 concat4 convfmt \
+ datanonl defref delargv delarpm2 delarprm delfunc dfastress dynlj \
+ eofsplit exitval1 exitval2 \
+ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \
+ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \
+ fstabplus funsemnl funsmnam funstack \
+ getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
gsubtst7 gsubtst8 \
- hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
- longsub longwrds manglprm math membug1 messages minusstr mmap8k \
- mtchi18n nasty nasty2 negexp negrange nested nfldstr nfneg \
- nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \
- noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \
- ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup \
- paramres paramtyp parse1 parsefld parseme pcntplus posix2008sub \
- prdupval prec printf0 printf1 prmarscl prmreuse prt1eval prtoeval \
- rand range1 rebt8b1 redfilnm regeq regrange reindops reparse resplit \
- rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 rstest3 rstest4 \
- rstest5 rswhite scalar sclforin sclifin sortempty splitargv \
- splitarr splitdef splitvar splitwht strcat1 strnum1 strtod subamp \
- subi18n subsepnm subslash substr swaplns synerr1 synerr2 tradanch \
- tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized unterm \
- uparrfs wideidx wideidx2 widesub widesub2 widesub3 widesub4 \
- wjposer1 zero2 zeroe0 zeroflag
+ hex hsprint \
+ inputred intest intprec iobug1 \
+ leaddig leadnl litoct longsub longwrds \
+ manglprm math membug1 messages minusstr mmap8k mtchi18n \
+ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \
+ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
+ noparms nors nulrsend numindex numsubstr \
+ octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \
+ paramdup paramres paramtyp parse1 parsefld parseme pcntplus \
+ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
+ prt1eval prtoeval \
+ rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \
+ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
+ rstest3 rstest4 rstest5 rswhite \
+ scalar sclforin sclifin sortempty splitargv splitarr splitdef \
+ splitvar splitwht strcat1 strnum1 strtod subamp subi18n \
+ subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
+ uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
+ wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
+ zero2 zeroe0 zeroflag
UNIX_TESTS = \
fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \
@@ -162,15 +168,16 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
- backw badargs beginfile1 beginfile2 \
- binmode1 clos1way delsub devfd devfd1 \
- devfd2 dumpvars exit fieldwdth fpat1 fpat2 fpat3 \
- fpatnull fsfwfs funlen \
+ backw badargs beginfile1 beginfile2 binmode1 \
+ clos1way delsub devfd devfd1 devfd2 dumpvars exit \
+ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \
fwtest fwtest2 fwtest3 \
gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
- icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall lint \
- lintold lintwarn manyfiles match1 match2 match3 mbstr1 nastyparm \
- next nondec nondec2 patsplit posix printfbad1 printfbad2 procinfs \
+ icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall \
+ lint lintold lintwarn \
+ manyfiles match1 match2 match3 mbstr1 \
+ nastyparm next nondec nondec2 \
+ patsplit posix printfbad1 printfbad2 printfbad3 procinfs \
profile1 profile2 profile3 pty1 \
rebuf regx8bit reint reint2 rsstart1 \
rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
@@ -451,6 +458,7 @@ pipeio1::
pipeio2::
@echo $@
+ @echo Expect pipeio2 to fail with MinGW
@$(AWK) -v SRCDIR=$(srcdir) -f $(srcdir)/pipeio2.awk >_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -674,6 +682,7 @@ devfd1::
# The program text is the '1' which will print each record. How compact can you get?
devfd2::
@echo $@
+ @echo Expect devfd2 to fail in MinGW
@$(AWK) 1 /dev/fd/4 /dev/fd/5 4< $(srcdir)/devfd.in1 5< $(srcdir)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -701,7 +710,7 @@ localenl::
mbprintf1::
@echo $@
- @echo Expect mbprintf1 to fail with DJGPP.
+ @echo Expect mbprintf1 to fail with DJGPP and MinGW.
@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -720,7 +729,7 @@ mbprintf3::
mbfw1::
@echo $@
- @echo Expect mbfw1 to fail with DJGPP.
+ @echo Expect mbfw1 to fail with DJGPP and MinGW.
@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -743,13 +752,13 @@ printfbad2: printfbad2.ok
beginfile1::
@echo $@
- @echo Expect beginfile1 to fail with DJGPP
+ @echo Expect beginfile1 to fail with DJGPP and MinGW
@AWKPATH=$(srcdir) $(AWK) -f $@.awk $(srcdir)/$@.awk . ./no/such/file Makefile >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
beginfile2:
@echo $@
- @-( cd $(srcdir) && AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
+ @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
# @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@-$(TESTOUTCMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -786,10 +795,11 @@ posix2008sub:
next:
@echo $@
@-AWK="$(AWKPROG)" $(srcdir)/$@.sh > _$@ 2>&1
- @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+ @-LC_ALL=C $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
exit:
@echo $@
+ @echo Expect exit to fail with MinGW
@-AWK="$(AWKPROG)" $(srcdir)/$@.sh > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -823,6 +833,11 @@ mpfrbigint:
@$(AWK) -M -f $(srcdir)/$@.awk > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+rri1::
+ @echo $@
+ @[ -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:
@@ -1032,6 +1047,7 @@ eofsplit:
exitval2:
@echo exitval2
+ @echo Expect exitval2 to fail with MinGW
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -1197,6 +1213,7 @@ hex:
hsprint:
@echo hsprint
+ @echo Expect hsprint to fail with MinGW due to 3 digits in %e output
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -1533,11 +1550,13 @@ rstest3:
rstest4:
@echo rstest4
+ @echo Expect rstest4 to fail with MinGW
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
rstest5:
@echo rstest5
+ @echo Expect rstest5 to fail with MinGW
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -1806,7 +1825,7 @@ gensub2:
getlndir:
@echo getlndir
- @echo Expect getlndir to fail with DJGPP.
+ @echo Expect getlndir to fail with DJGPP and MinGW.
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -1902,6 +1921,7 @@ patsplit:
posix:
@echo posix
+ @echo Expect posix to fail with MinGW due to 3 digits in e+NNN exponent
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -1910,6 +1930,11 @@ printfbad1:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+printfbad3:
+ @echo printfbad3
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
procinfs:
@echo procinfs
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1917,7 +1942,7 @@ procinfs:
pty1:
@echo pty1
- @echo Expect pty1 to fail with DJGPP.
+ @echo Expect pty1 to fail with DJGPP and MinGW.
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -1973,6 +1998,7 @@ double1:
double2:
@echo double2
+ @echo Expect double2 to fail with MinGW due to 3 digits in e+NNN exponents
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
@@ -1993,6 +2019,7 @@ asorti:
fmttest:
@echo fmttest
+ @echo Expect fmttest to fail with MinGW due to 3 digits in e+NNN exponents
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
diff --git a/pc/config.h b/pc/config.h
index 4893fe54..bc22a30a 100644
--- a/pc/config.h
+++ b/pc/config.h
@@ -425,7 +425,7 @@
#define PACKAGE_NAME "GNU Awk"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU Awk 4.0.0f"
+#define PACKAGE_STRING "GNU Awk 4.0.70"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gawk"
@@ -434,7 +434,7 @@
#define PACKAGE_URL "http://www.gnu.org/software/gawk/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.0.0f"
+#define PACKAGE_VERSION "4.0.70"
/* Define to 1 if *printf supports %F format */
#undef PRINTF_HAS_F_FORMAT
@@ -496,7 +496,7 @@
/* Version number of package */
-#define VERSION "4.0.0f"
+#define VERSION "4.0.70"
/* Number of bits in a file offset, on hosts where this is settable. */
#undef _FILE_OFFSET_BITS
@@ -507,6 +507,19 @@
/* Define to 1 if on MINIX. */
#undef _MINIX
+/* The _Noreturn keyword of C11. */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+ || 0x5110 <= __SUNPRO_C)
+# define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn
+# endif
+#endif
+
+
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
diff --git a/pc/config.sed b/pc/config.sed
index 7fe0f922..96b2c2d7 100644
--- a/pc/config.sed
+++ b/pc/config.sed
@@ -73,6 +73,8 @@ s/^#undef HAVE_FMOD *$/#define HAVE_FMOD 1/
#define HAVE_ISWUPPER 1\
#endif
s/^#undef HAVE_LIBM *$/#define HAVE_LIBM 1/
+/^#undef HAVE_LIBREADLINE *$/c\
+/* #undef HAVE_LIBREADLINE */
s/^#undef HAVE_LIMITS_H *$/#define HAVE_LIMITS_H 1/
/^#undef HAVE_LOCALE_H *$/c\
#ifdef __MINGW32__\
diff --git a/pc/gawkmisc.pc b/pc/gawkmisc.pc
index 64b42396..b2a67a50 100644
--- a/pc/gawkmisc.pc
+++ b/pc/gawkmisc.pc
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 1986, 1988, 1989, 1991 - 2003 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991 - 2003, 2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Progamming Language.
@@ -569,6 +569,19 @@ wctob (wint_t wc)
return EOF;
}
+/*
+ * On MS-Windows with MinGW, execvp causes the shell and the re-exec'ed
+ * dgawk to compete for the keyboard input.
+ *
+ * This will need work if we ever need a real version of execvp.
+ */
+int execvp(const char *file, const char *const *argv)
+{
+ if (_spawnvp(_P_WAIT, file, (const char * const *)argv) != -1)
+ exit(EXIT_SUCCESS);
+
+ return -1;
+}
#endif /* __MINGW32__ */
#ifdef __DJGPP__
@@ -582,4 +595,12 @@ unsetenv (const char *name)
return putenv (name);
}
+/* This is needed to defeat too-clever GCC warnings in dfa.c about
+ comparison being always false due to limited range of data type. */
+wint_t
+btowc (int c)
+{
+ return c;
+}
+
#endif /* __DJGPP__ */
diff --git a/pc/testoutcmp.awk b/pc/testoutcmp.awk
index ff190155..33dcaa3f 100644
--- a/pc/testoutcmp.awk
+++ b/pc/testoutcmp.awk
@@ -1,5 +1,24 @@
# cmp replacement program for PC where the error messages aren't
# exactly the same. should run even on old awk
+#
+# Copyright (C) 2011 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
{
if (FNR == NR)
diff --git a/po/ChangeLog b/po/ChangeLog
index ff5d3695..d17674da 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
2011-07-17 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.in.in (dist2): Remove README from list of files checked for
diff --git a/po/da.gmo b/po/da.gmo
index 0270b5ce..df6ac1be 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index bb9d3b9d..b988b630 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,529 +1,486 @@
# Danish translation of gawk
# Copyright (C) 2001 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.
+# Martin Sjögren <md9ms@mdstud.chalmers.se>, 2001-2002.
# Christer Andersson <klamm@comhem.se>, 2007.
-# Keld Simonsen <keld@keldix.com>, 2002,2011.
-# Review by Torben Grøn Helligsø <torben-dansk@thel.dk>, 2011.
+# Keld Simonsen <keld@keldix.com>, 2002,2011,2012.
+# Review by Torben Grøn Helligsø <torben-dansk@thel.dk>, 2011.
# Review by Ask Hjorth Larsen <asklarsen@gmail.com>, 2011.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.83\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-05-22 10:37+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-02-06 10:37+0100\n"
"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "fra %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
-msgstr "forsøg på at bruge en skalar som array"
+msgstr "forsøg på at bruge en skalar som array"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "forsøg på at bruge funktionen '%s' som et array"
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
-msgstr "forsøg på at bruge skalarparameteren '%s' som et array"
+msgstr "forsøg på at bruge skalarparameteren '%s' som et array"
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
-msgstr "forsøg på at bruge skalar '%s' som et array"
+msgstr "forsøg på at bruge skalar '%s' som et array"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
-msgstr "forsøg på at bruge array '%s' i skalarsammenhæng"
-
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "reference til ikke-initieret element '%s[\"%.*s\"]'"
+msgstr "forsøg på at bruge array '%s' i skalarsammenhæng"
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "indeks i array '%s' er en tom streng"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indeks '%s' findes ikke i array '%s'"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
-msgstr "forsøg på at bruge skalaren '%s[\"%.*s\"]' som array"
-
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: tom (null)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: tom (nul)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: tabelstørrelse = %d, arraystørrelse = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: er parameter\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: arrayreference til %s\n"
+msgstr "forsøg på at bruge skalaren '%s[\"%.*s\"]' som array"
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: argument er ikke et array"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: andet argument er ikke et array"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: andet argument er ikke et array"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
-msgstr "asort: første argument er ikke et array"
+msgstr "asort: første argument er ikke et array"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
-msgstr "asorti: første argument er ikke et array"
+msgstr "asorti: første argument er ikke et array"
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
-"asort: kan ikke bruge et underarray af første argument for andet argument"
+"asort: kan ikke bruge et underarray af første argument for andet argument"
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
-"asorti: kan ikke bruge et underarray af første argument for andet argument"
+"asorti: kan ikke bruge et underarray af første argument for andet argument"
-#: array.c:1108
+#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
-"asort: kan ikke bruge et underarray af andet argument for første argument"
+"asort: kan ikke bruge et underarray af andet argument for første argument"
-#: array.c:1109
+#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
-"asorti: kan ikke bruge et underarray af andet argument for første argument"
+"asorti: kan ikke bruge et underarray af andet argument for første argument"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "'%s' er ugyldigt som funktionsnavn"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "funktionen for sorteringssammenligning '%s' er ikke defineret"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s-blokke skal have en handlingsdel"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
-msgstr "hver regel skal have et mønster eller en handlingsdel"
+msgstr "hver regel skal have et mønster eller en handlingsdel"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr ""
-"gamle versioner af awk understøtter ikke flere 'BEGIN'- eller 'END'-regler"
+"gamle versioner af awk understøtter ikke flere 'BEGIN'- eller 'END'-regler"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "'%s' er en indbygget funktion, den kan ikke omdefineres"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "regexp-konstanten '//' ser ud som en C++-kommentar, men er det ikke"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr "regexp-konstanten '/%s/' ser ud som en C-kommentar, men er det ikke"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
-msgstr "dublet case-værdier i switch-krop %s"
+msgstr "dublet case-værdier i switch-krop %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "dublet 'default' opdaget i switch-krop"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
-msgstr "'break' uden for en løkke eller switch er ikke tilladt"
+msgstr "'break' uden for en løkke eller switch er ikke tilladt"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
-msgstr "'continue' uden for en løkke er ikke tilladt"
+msgstr "'continue' uden for en løkke er ikke tilladt"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "'next' brugt i %s-handling"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "'nextfile' er en gawk-udvidelse"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "'nextfile' brugt i %s-handling"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "'return' brugt uden for funktion"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
-"alenestående 'print' i BEGIN eller END-regel skulle muligvis være 'print "
+"alenestående 'print' i BEGIN eller END-regel skulle muligvis være 'print "
"\"\"'"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "'delete array' er en gawk-udvidelse"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "'delete array' er en ikke-portabel udvidelse fra tawk"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "flertrins dobbeltrettede datakanaler fungerer ikke"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
-msgstr "regulært udtryk i højreleddet af en tildeling"
+msgstr "regulært udtryk i højreleddet af en tildeling"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
-msgstr "regulært udtryk på venstre side af en '~'- eller '!~'-operator"
+msgstr "regulært udtryk på venstre side af en '~'- eller '!~'-operator"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr ""
-"gamle versioner af awk understøtter ikke nøgleordet 'in' undtagen efter 'for'"
+"gamle versioner af awk understøtter ikke nøgleordet 'in' undtagen efter 'for'"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
-msgstr "regulært udtryk i højreleddet af en sammenligning"
+msgstr "regulært udtryk i højreleddet af en sammenligning"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "'getline var' ugyldig inden i '%s' regel"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "'getline' ugyldig inden i '%s' regel"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "ikke-omdirigeret 'getline' udefineret inden i END-handling"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
-msgstr "gamle versioner af awk understøtter ikke flerdimensionale array"
+msgstr "gamle versioner af awk understøtter ikke flerdimensionale array"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "kald af 'length' uden parenteser er ikke portabelt"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "indirekte funktionskald er en gawk-udvidelse"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr "kan ikke bruge specialvariabel '%s' til indirekte funktionskald"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "ugyldigt indeksudtryk"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "brug af ikke-array som array"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "advarsel: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "fatal: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "uventet nylinjetegn eller strengafslutning"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
-msgstr "kan ikke åbne kildefilen '%s' for læsning (%s)"
+msgstr "kan ikke åbne kildefilen '%s' for læsning (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
-msgstr "ukendt årsag"
+msgstr "ukendt årsag"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "allerede inkluderet kildefil '%s'"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include er en gawk-udvidelse"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "tomt filnavn efter @include"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
-msgstr "tom programtekst på kommandolinjen"
+msgstr "tom programtekst på kommandolinjen"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
-msgstr "kan ikke læse kildefilen '%s' (%s)"
+msgstr "kan ikke læse kildefilen '%s' (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "kildefilen '%s' er tom"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "kildefilen slutter ikke med en ny linje"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr "uafsluttet regulært udtryk slutter med '\\' i slutningen af filen"
+msgstr "uafsluttet regulært udtryk slutter med '\\' i slutningen af filen"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr "%s: %d: regex-ændringstegn '/.../%c' fra tawk virker ikke i gawk"
+msgstr "%s: %d: regex-ændringstegn '/.../%c' fra tawk virker ikke i gawk"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr "regex-ændringstegn '/.../%c' fra tawk virker ikke i gawk"
+msgstr "regex-ændringstegn '/.../%c' fra tawk virker ikke i gawk"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
-msgstr "uafsluttet regulært udtryk"
+msgstr "uafsluttet regulært udtryk"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
-msgstr "uafsluttet regulært udtryk i slutningen af filen"
+msgstr "uafsluttet regulært udtryk i slutningen af filen"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
-msgstr "brug af '\\ #...' for linjefortsættelse er ikke portabelt"
+msgstr "brug af '\\ #...' for linjefortsættelse er ikke portabelt"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
-msgstr "sidste tegn på linjen er ikke en omvendt skråstreg"
+msgstr "sidste tegn på linjen er ikke en omvendt skråstreg"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX tillader ikke operatoren '**='"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
-msgstr "gamle versioner af awk understøtter ikke operatoren '**='"
+msgstr "gamle versioner af awk understøtter ikke operatoren '**='"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX tillader ikke operatoren '**'"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
-msgstr "gamle versioner af awk understøtter ikke operatoren '**'"
+msgstr "gamle versioner af awk understøtter ikke operatoren '**'"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
-msgstr "operatoren '^=' understøttes ikke i gamle versioner af awk"
+msgstr "operatoren '^=' understøttes ikke i gamle versioner af awk"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
-msgstr "operatoren '^' understøttes ikke i gamle versioner af awk"
+msgstr "operatoren '^' understøttes ikke i gamle versioner af awk"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "uafsluttet streng"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ugyldigt tegn '%c' i udtryk"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "'%s' er en gawk-udvidelse"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "'%s' er en Bell Labs-udvidelse"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX tillader ikke '%s'"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
-msgstr "'%s' understøttes ikke i gamle versioner af awk"
+msgstr "'%s' understøttes ikke i gamle versioner af awk"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "'goto' anses for skadelig!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d er et ugyldigt antal argumenter for %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr ""
"%s: bogstavelig streng som sidste argument til erstatning har ingen effekt"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
-msgstr "%s: tredje argument er ikke et ændringsbart objekt"
+msgstr "%s: tredje argument er ikke et ændringsbart objekt"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: tredje argument er en gawk-udvidelse"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: andet argument er en gawk-udvidelse"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"brug af dcgettext(_\"...\") er forkert: fjern det indledende "
"understregningstegn"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"brug af dcgettext(_\"...\") er forkert: fjern det indledende "
"understregningstegn"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "funktionen '%s': parameter %d, '%s', er samme som parameter %d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktionen '%s': parameteren '%s' overskygger en global variabel"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
-msgstr "kunne ikke åbne '%s' for skrivning (%s)"
+msgstr "kunne ikke åbne '%s' for skrivning (%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "sender variabelliste til standard fejl"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: lukning mislykkedes (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() kaldt to gange!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "der var skyggede variable."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "funktionsnavnet '%s' er allerede defineret"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktionen '%s': kan ikke bruge funktionsnavn som parameternavn"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
"funktionen '%s': kan ikke bruge specialvariabel '%s' som en "
"funktionsparameter"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "funktionsnavnet '%s' er allerede defineret"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "funktionen '%s': parameter %d, '%s', er samme som parameter %d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktionen '%s' kaldt, men aldrig defineret"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktionen '%s' defineret, men aldrig kaldt direkte"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
-msgstr "konstant regulært udtryk for parameter %d giver en boolesk værdi"
+msgstr "konstant regulært udtryk for parameter %d giver en boolesk værdi"
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -532,457 +489,452 @@ msgstr ""
"funktionen '%s' kaldt med blanktegn mellem navnet og '(',\n"
"eller brugt som en variabel eller et array"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
-msgstr "forsøgte at dividere med nul"
+msgstr "forsøgte at dividere med nul"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
-msgstr "forsøgte at dividere med nul i '%%'"
+msgstr "forsøgte at dividere med nul i '%%'"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s til '%s' mislykkedes (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "standard ud"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: fik et ikke-numerisk argument"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
-msgstr "exp: argumentet %g er uden for det tilladte område"
+msgstr "exp: argumentet %g er uden for det tilladte område"
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
-"fflush: kan ikke rense: datakanalen '%s' åbnet for læsning, ikke skrivning"
+"fflush: kan ikke rense: datakanalen '%s' åbnet for læsning, ikke skrivning"
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
-msgstr "fflush: kan ikke rense: filen '%s' åbnet for læsning, ikke skrivning"
+msgstr "fflush: kan ikke rense: filen '%s' åbnet for læsning, ikke skrivning"
-#: builtin.c:215
+#: builtin.c:217
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
-msgstr "fflush: '%s' er ikke en åben fil, datakanal eller ko-proces"
+msgstr "fflush: '%s' er ikke en åben fil, datakanal eller ko-proces"
-#: builtin.c:333
+#: builtin.c:335
msgid "index: received non-string first argument"
-msgstr "indeks: første argument er ikke en streng"
+msgstr "indeks: første argument er ikke en streng"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "indeks: andet argument er ikke en streng"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: fik et ikke-numerisk argument"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: fik et array-argument"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "'length(array)' er en gawk-udvidelse"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: fik et argument som ikke er en streng"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: fik et ikke-numerisk argument"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: fik et negativt argument %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
-msgstr "fatal: skal bruge 'count$' på alle formater eller ikke nogen"
+msgstr "fatal: skal bruge 'count$' på alle formater eller ikke nogen"
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "feltbredde ignoreret for '%%'-angivelse"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
-msgstr "præcision ignoreret for '%%'-angivelse"
+msgstr "præcision ignoreret for '%%'-angivelse"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
-msgstr "feltbredde og præcision ignoreret for '%%'-angivelse"
+msgstr "feltbredde og præcision ignoreret for '%%'-angivelse"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal: '$' tillades ikke i awk-formater"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
-msgstr "fatal: argumentantallet med '$' skal være > 0"
+msgstr "fatal: argumentantallet med '$' skal være > 0"
-#: builtin.c:829
+#: builtin.c:834
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
-msgstr "fatal: argumentantallet %ld er større end antal givne argumenter"
+msgstr "fatal: argumentantallet %ld er større end antal givne argumenter"
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal: '$' tillades ikke efter et punktum i formatet"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
-"fatal: intet '$' angivet for bredde eller præcision af positionsangivet felt"
+"fatal: intet '$' angivet for bredde eller præcision af positionsangivet felt"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
-msgstr "'l' er meningsløst i awk-formater, ignoreret"
+msgstr "'l' er meningsløst i awk-formater, ignoreret"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal: 'l' tillades ikke i POSIX awk-formater"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
-msgstr "'L' er meningsløst i awk-formater, ignoreret"
+msgstr "'L' er meningsløst i awk-formater, ignoreret"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal: 'L' tillades ikke i POSIX awk-formater"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
-msgstr "'h' er meningsløst i awk-formater, ignoreret"
+msgstr "'h' er meningsløst i awk-formater, ignoreret"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: 'h' tillades ikke i POSIX awk-formater"
-#: builtin.c:1271
+#: builtin.c:1276
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: værdi %g er uden for område for '%%%c'-format"
+msgstr "[s]printf: værdi %g er uden for område for '%%%c'-format"
-#: builtin.c:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"ignorerer ukendt formatspecificeringstegn '%c': intet argument konverteret"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
-msgstr "fatal: for få argumenter til formatstrengen"
+msgstr "fatal: for få argumenter til formatstrengen"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "^ sluttede her"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: formatspecifikation har intet kommandobogstav"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "for mange argumenter til formatstrengen"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: ingen argumenter"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: fik ikke-numerisk argument"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: kaldt med negativt argument %g"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
-msgstr "substr: længden %g er ikke >= 1"
+msgstr "substr: længden %g er ikke >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
-msgstr "substr: længden %g er ikke >= 0"
+msgstr "substr: længden %g er ikke >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
-msgstr "substr: længden %g som ikke er et heltal vil blive trunkeret"
+msgstr "substr: længden %g som ikke er et heltal vil blive trunkeret"
-#: builtin.c:1516
+#: builtin.c:1521
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
-msgstr "substr: længden %g for stor til strengindeksering, trunkerer til %g"
+msgstr "substr: længden %g for stor til strengindeksering, trunkerer til %g"
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindeks %g er ugyldigt, bruger 1"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: startindeks %g som ikke er et heltal vil blive trunkeret"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: kildestrengen er tom"
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
-msgstr "substr: startindeks %g er forbi slutningen på strengen"
+msgstr "substr: startindeks %g er forbi slutningen på strengen"
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr ""
-"substr: længden %g ved startindeks %g overskrider længden af første argument "
+"substr: længden %g ved startindeks %g overskrider længden af første argument "
"(%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
-msgstr "strftime: formatværdi i PROCINFO[\"strftime\"] har numerisk type"
+msgstr "strftime: formatværdi i PROCINFO[\"strftime\"] har numerisk type"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: fik et ikke-numerisk andet argument"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
+msgstr "strftime: andet argument mindre end 0 eller for stort til time_t"
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
-msgstr "strftime: fik et første argument som ikke er en streng"
+msgstr "strftime: fik et første argument som ikke er en streng"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: fik en tom formatstreng"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: fik et argument som ikke er en streng"
-#: builtin.c:1778
+#: builtin.c:1784
msgid "mktime: at least one of the values is out of the default range"
-msgstr "mktime: mindst én af værdierne er udenfor standardområdet"
+msgstr "mktime: mindst én af værdierne er udenfor standardområdet"
-#: builtin.c:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "'system'-funktion ikke tilladt i sandkasse-tilstand"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: fik et argument som ikke er en streng"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "reference til ikke-initieret variabel '%s'"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "reference til ikke-initieret felt '$%d'"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: fik et argument som ikke er en streng"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: fik et argument som ikke er en streng"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
-msgstr "atan2: fik et ikke-numerisk første argument"
+msgstr "atan2: fik et ikke-numerisk første argument"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: fik et ikke-numerisk andet argument"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: fik et ikke-numerisk argument"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: fik et ikke-numerisk argument"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: fik et ikke-numerisk argument"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: tredje argument er ikke et array"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 0 i tredje argument behandlet som 1"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
-msgstr "lshift: fik et ikke-numerisk første argument"
+msgstr "lshift: fik et ikke-numerisk første argument"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fik et ikke-numerisk andet argument"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
-msgstr "lshift(%lf, %lf): negative værdier vil give mærkelige resultater"
+msgstr "lshift(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
-msgstr "lshift(%lf, %lf): kommatalsværdier vil blive trunkeret"
+msgstr "lshift(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
-"lshift(%lf, %lf): for store skifteværdier vil give mærkelige resultater"
+"lshift(%lf, %lf): for store skifteværdier vil give mærkelige resultater"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
-msgstr "rshift: fik et ikke-numerisk første argument"
+msgstr "rshift: fik et ikke-numerisk første argument"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fik et ikke-numerisk andet argument"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
-msgstr "rshift(%lf, %lf): negative værdier vil give mærkelige resultater"
+msgstr "rshift(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
-msgstr "rshift(%lf, %lf): kommatalsværdier vil blive trunkeret"
+msgstr "rshift(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
-"rshift(%lf, %lf): for store skifteværdier vil give mærkelige resultater"
+"rshift(%lf, %lf): for store skifteværdier vil give mærkelige resultater"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
-msgstr "and: fik et ikke-numerisk første argument"
+msgstr "and: fik et ikke-numerisk første argument"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: fik et ikke-numerisk andet argument"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
-msgstr "and(%lf, %lf): negative værdier vil give mærkelige resultater"
+msgstr "and(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
-msgstr "and(%lf, %lf): kommatalsværdier vil blive trunkeret"
+msgstr "and(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
-msgstr "or: fik et ikke-numerisk første argument"
+msgstr "or: fik et ikke-numerisk første argument"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: fik et ikke-numerisk andet argument"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
-msgstr "or(%lf, %lf): negative værdier vil give mærkelige resultater"
+msgstr "or(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
-msgstr "or(%lf, %lf): kommatalsværdier vil blive trunkeret"
+msgstr "or(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
-msgstr "xor: fik et ikke-numerisk første argument"
+msgstr "xor: fik et ikke-numerisk første argument"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: fik et ikke-numerisk andet argument"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
-msgstr "xor(%lf, %lf): negative værdier vil give mærkelige resultater"
+msgstr "xor(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
-msgstr "xor(%lf, %lf): kommatalsværdier vil blive trunkeret"
+msgstr "xor(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: fik et ikke-numerisk argument"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
-msgstr "compl(%lf): negative værdier vil give mærkelige resultater"
+msgstr "compl(%lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
-msgstr "compl(%lf): kommatalsværdier vil blive trunkeret"
+msgstr "compl(%lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: '%s' er ikke en gyldig lokalitetskategori"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "ukendt nodetype %d"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "ukendt opkode %d"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
-msgstr "opkode %s er ikke en operator eller et nøgleord"
+msgstr "opkode %s er ikke en operator eller et nøgleord"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
-msgstr "bufferoverløb i genflags2str"
+msgstr "bufferoverløb i genflags2str"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -993,221 +945,169 @@ msgstr ""
"\t# Funktionskaldsstak:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "'IGNORECASE' er en gawk-udvidelse"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "'BINMODE' er en gawk-udvidelse"
-#: eval.c:812
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
-msgstr "BINMODE værdi '%s' er ugyldig, behandles som 3"
+msgstr "BINMODE værdi '%s' er ugyldig, behandles som 3"
-#: eval.c:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "forkert '%sFMT'-specifikation '%s'"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
-msgstr "deaktiverer '--lint' på grund af en tildeling til 'LINT'"
+msgstr "deaktiverer '--lint' på grund af en tildeling til 'LINT'"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "kan ikke bruge funktionsnavnet '%s' som variabel eller array"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "reference til ikke-initieret argument '%s'"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "reference til ikke-initieret variabel '%s'"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
-msgstr "forsøg på at referere til et felt fra ikke-numerisk værdi"
+msgstr "forsøg på at referere til et felt fra ikke-numerisk værdi"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
-msgstr "forsøg på at referere til et felt fra tom streng"
+msgstr "forsøg på at referere til et felt fra tom streng"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
-msgstr "forsøg på at få adgang til felt %ld"
+msgstr "forsøg på at få adgang til felt %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "reference til ikke-initieret felt '$%ld'"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktionen '%s' kaldt med flere argumenter end deklareret"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: uventet type `%s'"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
-msgstr "forsøgte at dividere med nul i '/='"
+msgstr "forsøgte at dividere med nul i '/='"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
-msgstr "forsøgte at dividere med nul i '%%='"
-
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "forsøg på at bruge array '%s[\"%.*s\"]' i skalarsammenhæng"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "tildeling brugt i sammenligningsammenhæng"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "kommandoen har ingen effekt"
+msgstr "forsøgte at dividere med nul i '%%='"
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"for-løkke: array '%s' ændrede størrelse fra %ld til %ld under udførelse af "
-"løkken"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "funktion kaldt indirekte via '%s' eksisterer ikke"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "funktionen '%s' er ikke defineret"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "ikke-omdirigeret 'getline' ugyldig inden i '%s'-regel"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "fejl ved læsning af inddatafilen '%s': %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "'nextfile' kan ikke kaldes fra en '%s'-regel"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "'next' kan ikke kaldes fra en '%s'-regel"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Véd desværre ikke hvordan '%s' skal fortolkes"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "udvidelser er ikke tilladt i sandkasse-tilstand"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "'extension' er en gawk-udvidelse"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
-msgstr "atalt: extension: kan ikke åbne '%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
+msgstr "atalt: extension: kan ikke åbne '%s' (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"fatalt: extension: bibliotek '%s': definer ikke "
"'plugin_is_GPL_compatible' (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"fatalt: extension: bibliotek '%s': kan ikke kalde funktionen '%s' (%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "extension: mangler funktionsnavn"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: ugyldigt tegn '%c' i funktionsnavn '%s'"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: kan ikke omdefinere funktion '%s'"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: funktionen '%s' er allerede defineret"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension: funktionsnavnet '%s' er defineret tidligere"
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr "extension: kan ikke bruge gawk's indbyggede '%s' som funktionsnavn"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negativt argumentantal for funktion '%s'"
-#: ext.c:269
+#: ext.c:207
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "funktionen '%s' defineret til at tage ikke mere end %d argumenter"
-#: ext.c:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "funktion '%s': mangler argument nummer %d"
-#: ext.c:289
+#: ext.c:227
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr ""
-"funktion '%s': argument nummer %d: forsøg på at bruge skalar som et array"
+"funktion '%s': argument nummer %d: forsøg på at bruge skalar som et array"
-#: ext.c:293
+#: ext.c:231
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr ""
-"funktion '%s': argument nummer %d: forsøg på at bruge array som en skalar"
+"funktion '%s': argument nummer %d: forsøg på at bruge array som en skalar"
-#: ext.c:306
+#: ext.c:245
msgid "Operation Not Supported"
-msgstr "Operationen understøttes ikke"
+msgstr "Operationen understøttes ikke"
+
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
#: field.c:328
msgid "NF set to negative value"
-msgstr "NF sat til en negativ værdi"
+msgstr "NF sat til en negativ værdi"
#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
@@ -1265,535 +1165,545 @@ msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: kan ikke bruge et underarray af fjerde argument som andet argument"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "'FIELDWIDTHS' er en gawk-udvidelse"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
-msgstr "ugyldig FIELDWIDTHS værdi, nær '%s"
+msgstr "ugyldig FIELDWIDTHS værdi, nær '%s"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "tom streng som 'FS' er en gawk-udvidelse"
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
-msgstr "gamle versioner af awk understøtter ikke regexp'er som værdi for 'FS'"
+msgstr "gamle versioner af awk understøtter ikke regexp'er som værdi for 'FS'"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "'FPAT' er en gawk-udvidelse"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: flaget '%s' er flertydigt\n"
-#: getopt.c:623 getopt.c:627
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: flaget '--%s' tillader ikke noget argument\n"
-#: getopt.c:636 getopt.c:641
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flaget '%c%s' tillader ikke noget argument\n"
-#: getopt.c:684 getopt.c:703
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: flaget '--%s' kræver et argument\n"
+msgstr "%s: flaget '--%s' kræver et argument\n"
-#: getopt.c:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ukendt flag '--%s'\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ukendt flag '%c%s'\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ugyldigt flag - '%c'\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: flaget kræver et argument - '%c'\n"
+msgstr "%s: flaget kræver et argument - '%c'\n"
-#: getopt.c:930 getopt.c:946
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flaget '-W %s' er flertydigt\n"
-#: getopt.c:970 getopt.c:988
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flaget '-W %s' tillader ikke noget argument\n"
-#: getopt.c:1009 getopt.c:1027
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: flaget '-W %s' kræver et argument\n"
+msgstr "%s: flaget '-W %s' kræver et argument\n"
-#: io.c:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "kommandolinjeargument '%s' er et katalog, oversprunget"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
-msgstr "kan ikke åbne filen '%s' for læsning (%s)"
+msgstr "kan ikke åbne filen '%s' for læsning (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "lukning af fd %d ('%s') mislykkedes (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "omdirigering ikke tilladt i sandkasse-tilstand"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
-msgstr "udtrykket i '%s'-omdirigering har kun numerisk værdi"
+msgstr "udtrykket i '%s'-omdirigering har kun numerisk værdi"
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
-msgstr "udtrykket for '%s'-omdirigering har en tom streng som værdi"
+msgstr "udtrykket for '%s'-omdirigering har en tom streng som værdi"
-#: io.c:624
+#: io.c:659
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
-"filnavnet '%s' for '%s'-omdirigering kan være resultatet af et logisk udtryk"
+"filnavnet '%s' for '%s'-omdirigering kan være resultatet af et logisk udtryk"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
-msgstr "unødig blanding af '>' og '>>' for filen '%.*s'"
+msgstr "unødig blanding af '>' og '>>' for filen '%.*s'"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
-msgstr "kan ikke åbne datakanalen '%s' for udskrivning (%s)"
+msgstr "kan ikke åbne datakanalen '%s' for udskrivning (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
-msgstr "kan ikke åbne datakanalen '%s' for indtastning (%s)"
+msgstr "kan ikke åbne datakanalen '%s' for indtastning (%s)"
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr "kan ikke åbne tovejsdatakanalen '%s' for ind-/uddata (%s)"
+msgstr "kan ikke åbne tovejsdatakanalen '%s' for ind-/uddata (%s)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan ikke omdirigere fra '%s' (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan ikke omdirigere til '%s' (%s)"
-#: io.c:889
+#: io.c:924
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
-"nåede systembegrænsningen for åbne filer: begynder at multiplekse "
+"nåede systembegrænsningen for åbne filer: begynder at multiplekse "
"fildeskriptorer"
-#: io.c:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "lukning af '%s' mislykkedes (%s)."
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
-msgstr "for mange datakanaler eller inddatafiler åbne"
+msgstr "for mange datakanaler eller inddatafiler åbne"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
-msgstr "close: andet argument skal være 'to' eller 'from'"
+msgstr "close: andet argument skal være 'to' eller 'from'"
-#: io.c:952
+#: io.c:987
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
-msgstr "close: '%.*s' er ikke en åben fil, datakanal eller ko-proces"
+msgstr "close: '%.*s' er ikke en åben fil, datakanal eller ko-proces"
-#: io.c:957
+#: io.c:992
msgid "close of redirection that was never opened"
-msgstr "lukning af omdirigering som aldrig blev åbnet"
+msgstr "lukning af omdirigering som aldrig blev åbnet"
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
-"close: omdirigeringen '%s' blev ikke åbnet med '|&', andet argument ignoreret"
+"close: omdirigeringen '%s' blev ikke åbnet med '|&', andet argument ignoreret"
-#: io.c:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "fejlstatus (%d) fra lukning af datakanalen '%s' (%s)"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "fejlstatus (%d) fra fillukning af '%s' (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "ingen eksplicit lukning af soklen '%s' angivet"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "ingen eksplicit lukning af ko-processen '%s' angivet"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "ingen eksplicit lukning af datakanalen '%s' angivet"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "ingen eksplicit lukning af filen '%s' angivet"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "fejl ved skrivning til standard ud (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "fejl ved skrivning til standard fejl (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "datakanalsrensning af '%s' mislykkedes (%s)."
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "ko-procesrensning af datakanalen til '%s' mislykkedes (%s)."
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "filrensning af '%s' mislykkedes (%s)."
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokal port %s ugyldig i '/inet'"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
-msgstr "fjernvært og portinformation (%s, %s) ugyldige"
+msgstr "fjernvært og portinformation (%s, %s) ugyldige"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "ingen (kendt) protokol opgivet i special-filnavn '%s'"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
-msgstr "special-filnavn '%s' er ufuldstændigt"
+msgstr "special-filnavn '%s' er ufuldstændigt"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "fjernmaskinenavn til '/inet' skal angives"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "fjernport til '/inet' skal angives"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
-msgstr "TCP/IP-kommunikation understøttes ikke"
+msgstr "TCP/IP-kommunikation understøttes ikke"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
-msgstr "kunne ikke åbne '%s', tilstand '%s'"
+msgstr "kunne ikke åbne '%s', tilstand '%s'"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "lukning af master-pty mislykkedes (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "lukning af standard ud i underproces mislykkedes (%s)"
-#: io.c:1753
+#: io.c:1788
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
"flytning af slave-pty til standard ud i underproces mislykkedes (dup: %s)"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "lukning af standard ind i underproces mislykkedes (%s)"
-#: io.c:1758
+#: io.c:1793
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
"flytning af slave-pty til standard ind i underproces mislykkedes (dup: %s)"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "lukning af slave-pty mislykkedes (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"flytning af datakanal til standard ud i underproces mislykkedes (dup: %s)"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
"flytning af datakanalen til standard ind i underproces mislykkedes (dup: %s)"
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
-msgstr "genskabelse af standard ud i forælderprocessen mislykkedes\n"
+msgstr "genskabelse af standard ud i forælderprocessen mislykkedes\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
-msgstr "genskabelse af standard ind i forælderprocessen mislykkedes\n"
+msgstr "genskabelse af standard ind i forælderprocessen mislykkedes\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "lukning af datakanalen mislykkedes (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
-msgstr "'|&' understøttes ikke"
+msgstr "'|&' understøttes ikke"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
-msgstr "kan ikke åbne datakanalen '%s' (%s)"
+msgstr "kan ikke åbne datakanalen '%s' (%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan ikke oprette barneproces for '%s' (fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "datafilen '%s' er tom"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "kunne ikke allokere mere hukommelse til inddata"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
-msgstr "'RS' som flertegnsværdi er en gawk-udvidelse"
+msgstr "'RS' som flertegnsværdi er en gawk-udvidelse"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
-msgstr "IPv6-kommunikation understøttes ikke"
+msgstr "IPv6-kommunikation understøttes ikke"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "'-m[fr]'-flaget er irrelevant i gawk"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "brug af flaget -m: '-m[fr] nnn'"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "tomt argument til '-e/--source' ignoreret"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: flaget '-W %s' ukendt, ignoreret\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: flaget kræver et argument -- %c\n"
+msgstr "%s: flaget kræver et argument -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr "miljøvariablen 'POSIXLY_CORRECT' sat: aktiverer '--posix'"
+msgstr "miljøvariablen 'POSIXLY_CORRECT' sat: aktiverer '--posix'"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
-msgstr "'--posix' tilsidesætter '--traditional'"
+msgstr "'--posix' tilsidesætter '--traditional'"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
-msgstr "'--posix'/'--traditional' tilsidesætter '--non-decimal-data'"
+msgstr "'--posix'/'--traditional' tilsidesætter '--non-decimal-data'"
-#: main.c:555
+#: main.c:552
#, c-format
msgid "running %s setuid root may be a security problem"
-msgstr "at køre %s setuid root kan være et sikkerhedsproblem"
+msgstr "at køre %s setuid root kan være et sikkerhedsproblem"
-#: main.c:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
-msgstr "'--posix' tilsidesætter '--binary'"
+msgstr "'--posix' tilsidesætter '--binary'"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
-msgstr "kan ikke sætte binær tilstand på standard ind (%s)"
+msgstr "kan ikke sætte binær tilstand på standard ind (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
-msgstr "kan ikke sætte binær tilstand på standard ud (%s)"
+msgstr "kan ikke sætte binær tilstand på standard ud (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
-msgstr "kan ikke sætte binær tilstand på standard fejl (%s)"
+msgstr "kan ikke sætte binær tilstand på standard fejl (%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "ingen programtekst overhovedet!"
-#: main.c:733
+#: main.c:737
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Brug: %s [flag i POSIX- eller GNU-stil] -f progfil [--] fil ...\n"
-#: main.c:735
+#: main.c:739
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Brug: %s [flag i POSIX- eller GNU-stil] %cprogram%c fil ...\n"
-#: main.c:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-flag:\t\tlange GNU-flag: (standard)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f progfil\t\t--file=progfil\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
-msgstr "\t-v var=værdi\t\t--assign=var=værdi\n"
+msgstr "\t-v var=værdi\t\t--assign=var=værdi\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "POSIX-flag:\t\tlange GNU-flag: (udvidelser)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fil]\t\t--dump-variables[=fil]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[fil]\t\t--profile[=fil]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programtekst'\t--source='programtekst'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fil\t\t\t--exec=fil\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[fil]\t\t--profile[=fil]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fil]\t\t--profile[=fil]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R file\t\t\t--command=fil\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1802,7 +1712,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1813,19 +1723,19 @@ msgstr ""
"For at rapportere fejl kan du se punktet 'Bugs' i 'gawk.info', som er\n"
"sektionen 'Reporting Problems and Bugs' i den trykte version.\n"
"\n"
-"Rapportér kommentarer til oversættelsen til <dansk@dansk-gruppen.dk>.\n"
+"Rapportér kommentarer til oversættelsen til <dansk@dansk-gruppen.dk>.\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
"\n"
msgstr ""
-"gawk er et sprog til mønster-genkendelse og -behandling.\n"
-"Almindeligvis læser gawk fra standard ind og skriver til standard ud.\n"
+"gawk er et sprog til mønster-genkendelse og -behandling.\n"
+"Almindeligvis læser gawk fra standard ind og skriver til standard ud.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1835,7 +1745,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fil\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1846,16 +1756,16 @@ msgid ""
"(at your option) any later version.\n"
"\n"
msgstr ""
-"Copyright © 1989, 1991-%d Free Software Foundation.\n"
+"Copyright © 1989, 1991-%d Free Software Foundation.\n"
"\n"
"Dette program er frit programmel. Du kan distribuere det og/eller\n"
-"ændre det under betingelserne i GNU General Public License, offentliggjort\n"
+"ændre det under betingelserne i GNU General Public License, offentliggjort\n"
"af Free Software Foundation, enten version 3 af licensen, eller (hvis du "
"vil)\n"
"enhver senere version.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1863,157 +1773,152 @@ msgid ""
"GNU General Public License for more details.\n"
"\n"
msgstr ""
-"Dette program distribueres i håb om at det vil være nyttigt,\n"
-"men UDEN NOGEN SOM HELST GARANTI, også uden underforstået garanti\n"
-"om SALGBARHED eller EGNETHED FOR NOGET SPECIELT FORMÃ…L. Se GNU\n"
+"Dette program distribueres i håb om at det vil være nyttigt,\n"
+"men UDEN NOGEN SOM HELST GARANTI, også uden underforstået garanti\n"
+"om SALGBARHED eller EGNETHED FOR NOGET SPECIELT FORMÅL. Se GNU\n"
"General Public License for yderligere information.\n"
"\n"
-#: main.c:820
+#: main.c:825
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 ""
-"Du bør have fået en kopi af GNU General Public License sammen\n"
-"med dette program. Hvis ikke, så se http://www.gnu.org/licenses/.\n"
+"Du bør have fået en kopi af GNU General Public License sammen\n"
+"med dette program. Hvis ikke, så se http://www.gnu.org/licenses/.\n"
-#: main.c:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
-msgstr "-Ft sætter ikke FS til tab i POSIX-awk"
+msgstr "-Ft sætter ikke FS til tab i POSIX-awk"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
-msgstr "ukendt værdi for felt-spec: %d\n"
+msgstr "ukendt værdi for felt-spec: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr ""
-"%s: '%s' argument til '-v' ikke på formen 'var=værdi'\n"
+"%s: '%s' argument til '-v' ikke på formen 'var=værdi'\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "'%s' er ikke et gyldigt variabelnavn"
-#: main.c:1199
+#: main.c:1201
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "'%s' er ikke et variabelnavn, leder efter fil '%s=%s'"
-#: main.c:1203
-#, fuzzy, c-format
+#: main.c:1205
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr "extension: kan ikke bruge gawk's indbyggede '%s' som funktionsnavn"
+msgstr "kan ikke bruge gawk's indbyggede '%s' som variabelnavn"
-#: main.c:1208
-#, fuzzy, c-format
+#: main.c:1210
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "kan ikke bruge funktionsnavnet '%s' som variabel eller array"
+msgstr "kan ikke bruge funktion '%s' som variabelnavn"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "flydendetalsundtagelse"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "fatal fejl: intern fejl"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "fatal fejl: intern fejl: segmentfejl"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
-msgstr "fatal fejl: intern fejl: stakoverløb"
+msgstr "fatal fejl: intern fejl: stakoverløb"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
-msgstr "ingen fd %d åbnet i forvejen"
+msgstr "ingen fd %d åbnet i forvejen"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
-msgstr "kunne ikke i forvejen åbne /dev/null for fd %d"
-
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "kunne ikke finde grupper: %s"
+msgstr "kunne ikke i forvejen åbne /dev/null for fd %d"
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "kommandolinje:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "fejl: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
-msgstr "omvendt skråstreg i slutningen af strengen"
+msgstr "omvendt skråstreg i slutningen af strengen"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
-msgstr "gamle versioner af awk understøtter ikke '\\%c' undvigesekvens"
+msgstr "gamle versioner af awk understøtter ikke '\\%c' undvigesekvens"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX tillader ikke '\\x'-kontrolsekvenser"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "ingen heksadecimale cifre i '\\x'-kontrolsekvenser"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
"expect"
msgstr ""
-"den heksadecimale sekvens \\x%.*s på %d tegn nok ikke forstået som du "
+"den heksadecimale sekvens \\x%.*s på %d tegn nok ikke forstået som du "
"forventer det"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "kontrolsekvensen '\\%c' behandlet som kun '%c'"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
msgstr ""
-"Ugyldigt multibyte data fundet. MÃ¥ske er der uoverensstemmelse mellem dine "
+"Ugyldigt multibyte data fundet. Måske er der uoverensstemmelse mellem dine "
"data og dit locale."
#: posix/gawkmisc.c:176
#, c-format
msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)"
-msgstr "%s %s '%s': kunne ikke få fat på fd flag: (fcntl F_GETFD: %s)"
+msgstr "%s %s '%s': kunne ikke få fat på fd flag: (fcntl F_GETFD: %s)"
#: posix/gawkmisc.c:188
#, c-format
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
-msgstr "%s %s '%s': kunne ikke sætte luk-ved-exec (fcntl F_SETFD: %s)"
+msgstr "%s %s '%s': kunne ikke sætte luk-ved-exec (fcntl F_SETFD: %s)"
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
-msgstr "kunne ikke åbne '%s' for skrivning: %s"
+msgstr "kunne ikke åbne '%s' for skrivning: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "sender profilen til standard fejl"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2022,7 +1927,7 @@ msgstr ""
"\t# %s blokke\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2031,17 +1936,22 @@ msgstr ""
"\t# Regler\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "intern fejl: %s med null vname"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "intern fejl: %s med null vname"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profil til gawk oprettet %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2050,116 +1960,191 @@ msgstr ""
"\n"
"\t# Funktioner, listede alfabetisk\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: uykendt omdirigeringstype %d"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr "område på formen `[%c-%c]' er locale-afhængig"
+msgstr "område på formen `[%c-%c]' er locale-afhængig"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr "regexp-komponent `%.*s' skulle nok være `[%.*s]'"
+msgstr "regexp-komponent `%.*s' skulle nok være `[%.*s]'"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Lykkedes"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Mislykkedes"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
-msgstr "Ugyldigt regulært udtryk"
+msgstr "Ugyldigt regulært udtryk"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Ugyldigt sorteringstegn"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Ugyldigt tegnklassenavn"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
-msgstr "Efterfølgende omvendt skråstreg"
+msgstr "Efterfølgende omvendt skråstreg"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Ugyldig bagudreference"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "Ubalanceret [ eller [^"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "Ubalanceret ( eller \\("
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "Ubalanceret \\{"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Ugyldigt indhold i \\{\\}"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Ugyldig intervalslutning"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Hukommelsen opbrugt"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
-msgstr "Ugyldigt foregående regulært udtryk"
+msgstr "Ugyldigt foregående regulært udtryk"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
-msgstr "For tidligt slut på regulært udtryk"
+msgstr "For tidligt slut på regulært udtryk"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
-msgstr "Regulært udtryk for stort"
+msgstr "Regulært udtryk for stort"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr "Ubalanceret ) eller \\)"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
-msgstr "Intet foregående regulært udtryk"
+msgstr "Intet foregående regulært udtryk"
+
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "forsøg på at bruge funktionen '%s' som et array"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "reference til ikke-initieret element '%s[\"%.*s\"]'"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "indeks i array '%s' er en tom streng"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: tom (null)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: tom (nul)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: tabelstørrelse = %d, arraystørrelse = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: er parameter\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: arrayreference til %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "brug af ikke-array som array"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "kan ikke bruge funktionsnavnet '%s' som variabel eller array"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "forsøg på at bruge array '%s[\"%.*s\"]' i skalarsammenhæng"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "tildeling brugt i sammenligningsammenhæng"
+
+#~ msgid "statement has no effect"
+#~ msgstr "kommandoen har ingen effekt"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr ""
+#~ "for-løkke: array '%s' ændrede størrelse fra %ld til %ld under udførelse "
+#~ "af løkken"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "funktion kaldt indirekte via '%s' eksisterer ikke"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "funktionen '%s' er ikke defineret"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "ikke-omdirigeret 'getline' ugyldig inden i '%s'-regel"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "fejl ved læsning af inddatafilen '%s': %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "'nextfile' kan ikke kaldes fra en '%s'-regel"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "'exit' kan ikke kaldes i den aktuelle kontekst"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "'next' kan ikke kaldes fra en '%s'-regel"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Véd desværre ikke hvordan '%s' skal fortolkes"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R file\t\t\t--command=fil\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "kunne ikke finde grupper: %s"
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "tildeling er ikke tilladt til resultatet fra en indbygget funktion"
#~ msgid "attempt to use array in a scalar context"
-#~ msgstr "forsøg på at bruge array i skalarsammenhæng"
+#~ msgstr "forsøg på at bruge array i skalarsammenhæng"
#~ msgid "statement may have no effect"
-#~ msgstr "kommandoen har måske ikke nogen effekt"
+#~ msgstr "kommandoen har måske ikke nogen effekt"
#~ msgid "out of memory"
-#~ msgstr "slut på hukommelsen"
+#~ msgstr "slut på hukommelsen"
#~ msgid "attempt to use scalar `%s' as array"
-#~ msgstr "forsøg på at bruge skalaren '%s' som array"
+#~ msgstr "forsøg på at bruge skalaren '%s' som array"
#~ msgid "attempt to use array `%s' in scalar context"
-#~ msgstr "forsøg på at bruge array '%s' i skalarsammenhæng"
+#~ msgstr "forsøg på at bruge array '%s' i skalarsammenhæng"
#~ msgid "call of `length' without parentheses is deprecated by POSIX"
-#~ msgstr "kald af 'length' uden parenteser er forældet ifølge POSIX"
+#~ msgstr "kald af 'length' uden parenteser er forældet ifølge POSIX"
#~ msgid "division by zero attempted in `/'"
-#~ msgstr "forsøgte at dividere med nul i '/'"
+#~ msgstr "forsøgte at dividere med nul i '/'"
#~ msgid "length: untyped parameter argument will be forced to scalar"
#~ msgstr "length: parameter uden type vil blive brugt som skalar"
@@ -2168,10 +2153,10 @@ msgstr "Intet foregående regulært udtryk"
#~ msgstr "length: argument uden type vil blive brugt som skalar"
#~ msgid "`break' outside a loop is not portable"
-#~ msgstr "'break' uden for en løkke er ikke portabelt"
+#~ msgstr "'break' uden for en løkke er ikke portabelt"
#~ msgid "`continue' outside a loop is not portable"
-#~ msgstr "'continue' uden for en løkke er ikke portabelt"
+#~ msgstr "'continue' uden for en løkke er ikke portabelt"
#~ msgid "`next' cannot be called from a BEGIN rule"
#~ msgstr "'next' kan ikke kaldes fra en BEGIN-regel"
@@ -2183,7 +2168,7 @@ msgstr "Intet foregående regulært udtryk"
#~ "concatenation: side effects in one expression have changed the length of "
#~ "another!"
#~ msgstr ""
-#~ "konkatenering: sideeffekter i et udtryk har ændret længden af et andet!"
+#~ "konkatenering: sideeffekter i et udtryk har ændret længden af et andet!"
#~ msgid "illegal type (%s) in tree_eval"
#~ msgstr "ugyldig type (%s) i tree_eval"
@@ -2192,16 +2177,16 @@ msgstr "Intet foregående regulært udtryk"
#~ msgstr "\t# -- main --\n"
#~ msgid "invalid tree type %s in redirect()"
-#~ msgstr "ugyldig trætype %s i redirect()"
+#~ msgstr "ugyldig trætype %s i redirect()"
#~ msgid "/inet/raw client not ready yet, sorry"
-#~ msgstr "/inet/raw-klient er desværre ikke klar endnu"
+#~ msgstr "/inet/raw-klient er desværre ikke klar endnu"
#~ msgid "only root may use `/inet/raw'."
#~ msgstr "kun root kan bruge '/inet/raw'."
#~ msgid "/inet/raw server not ready yet, sorry"
-#~ msgstr "/inet/raw-server er desværre ikke klar endnu"
+#~ msgstr "/inet/raw-server er desværre ikke klar endnu"
#~ msgid "file `%s' is a directory"
#~ msgstr "filen '%s' er et katalog"
@@ -2213,7 +2198,7 @@ msgstr "Intet foregående regulært udtryk"
#~ msgstr "brug 'PROCINFO[...]' i stedet for '/dev/user'"
#~ msgid "\t-m[fr] val\n"
-#~ msgstr "\t-m[fr] værdi\n"
+#~ msgstr "\t-m[fr] værdi\n"
#~ msgid "\t-W compat\t\t--compat\n"
#~ msgstr "\t-W compat\t\t--compat\n"
@@ -2231,7 +2216,7 @@ msgstr "Intet foregående regulært udtryk"
#~ msgstr "# behandlet internt som 'delete'"
#~ msgid "# this is a dynamically loaded extension function"
-#~ msgstr "# dette er en dynamisk indlæst udvidelsesfunktion"
+#~ msgstr "# dette er en dynamisk indlæst udvidelsesfunktion"
#~ msgid ""
#~ "\t# BEGIN block(s)\n"
diff --git a/po/de.gmo b/po/de.gmo
index f0682785..2a17fa9a 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 2c1c6265..20dcb88a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2,14 +2,14 @@
# Copyright (C) 2000 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
#
-# Philipp Thomas <pth@suse.de>, 2011
+# Philipp Thomas <pth@suse.de>, 2011 2012
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-09-27 16:38+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-01-30 16:21+0100\n"
"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -17,525 +17,482 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "von %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "Es wird versucht, einen Skalar als Feld zu verwenden"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "Es wird versucht, die Funktion »%s« als Feld zu verwenden"
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "Es wird versucht, den skalaren Parameter »%s« als Feld zu verwenden"
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "Es wird versucht, den Skalar »%s« als Array zu verwenden"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "Es wird versucht, das Feld »%s« in einem Skalarkontext zu verwenden"
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "Bezug auf ein nicht initialisiertes Element »%s[\"%.*s\"]«"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "Der Index von Feld »%s« ist ein Nullstring"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: Index »%s« ist in Feld »%s« nicht vorhanden"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "Es wird versucht, den Skalar »%s[\"%.*s\"]« als Feld zu verwenden"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: leer (Null)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: leer (0)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: Tabellengröße = %d, Feldgröße = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: ist ein Parameter\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: Feld-Referenz auf %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: Das Argument ist kein Feld"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: Das zweite Argument ist kein Feld"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: Das zweite Argument ist kein Feld"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: Das erste Argument ist kein Feld"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: Das erste Argument ist kein Feld"
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
"asort: ein untergeordnetes Feld des ersten Arguments kann nicht als zweites "
"Argument verwendet werden"
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
"asorti: ein untergeordnetes Feld des ersten Arguments kann nicht als zweites "
"Argument verwendet werden"
-#: array.c:1108
+#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
"asort: ein untergeordnetes Feld des zweiten Arguments kann nicht als erstes "
"Argument verwendet werden"
-#: array.c:1109
+#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
"asorti: ein untergeordnetes Feld des zweiten Arguments kann nicht als erstes "
"Argument verwendet werden"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "»%s« ist ein unzulässiger Funktionsname"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "Die Vergleichsfunktion »%s« für das Sortieren ist nicht definiert"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s-Blöcke müssen einen Aktionsteil haben"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "Jede Regel muss entweder ein Muster oder einen Aktionsteil haben"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "Das alte awk erlaubt keine mehrfachen »BEGIN«- oder »END«-Regeln"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "»%s« ist eine eingebaute Funktion und kann nicht umdefiniert werden"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr ""
"Die Regulärer-Ausdruck-Konstante »//« sieht wie ein C-Kommentar aus, ist "
"aber keiner"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr ""
"Die Regulärer-Ausdruck-Konstante »/%s/« sieht wie ein C-Kommentar aus, ist "
"aber keiner"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "doppelte Case-Werte im Switch-Block: %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "doppeltes »default« im Switch-Block gefunden"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr ""
"»break« ist außerhalb einer Schleife oder eines Switch-Blocks nicht zulässig"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "»continue« ist außerhalb einer Schleife nicht zulässig"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "»next« wird in %s-Aktion verwendet"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "»nextfile« ist eine gawk-Erweiterung"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "»nextfile« wird in %s-Aktion verwendet"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "»return« wird außerhalb einer Funktion verwendet"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
"Einfaches »print« in BEGIN- oder END-Regel soll vermutlich »print \"\"« sein"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "»delete array« ist eine gawk-Erweiterung"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "»delete(array)« ist eine gawk-Erweiterung"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "mehrstufige Zweiwege-Pipes funktionieren nicht"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "Regulärer Ausdruck auf der rechten Seite einer Zuweisung"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "Regulärer Ausdruck links vom »~«- oder »!~«-Operator"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "Das alte awk unterstützt das Schlüsselwort »in« nur nach »for«"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "Regulärer Ausdruck rechts von einem Vergleich"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "»getline var« ist ungültig innerhalb der »%s«-Regel"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "»getline« ist ungültig innerhalb der »%s«-Regel"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr ""
"Nicht-umgelenktes »getline« ist innerhalb der END-Aktion nicht definiert"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "Das alte awk unterstützt keine mehrdimensionalen Felder"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "Aufruf von »length« ohne Klammern ist nicht portabel"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "indirekte Funktionsaufrufe sind eine gawk-Erweiterung"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
"die besondere Variable »%s« kann nicht für den indirekten Funktionsaufruf "
"verwendet werden"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "Ungültiger Index-Ausdruck"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "Verwendung eines Nicht-Feldes als Feld"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "Warnung: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "Fatal: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "Unerwarteter Zeilenumbruch oder Ende der Zeichenkette"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "Quelldatei »%s« kann nicht zum Lesen geöffnet werden (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "Unbekannte Ursache"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "Quelldatei »%s« wurde bereits eingebunden"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "»@include« ist eine gawk-Erweiterung"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "leerer Dateiname nach @include"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "Kein Programmtext auf der Kommandozeile"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "Die Quelldatei »%s« kann nicht gelesen werden (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "Die Quelldatei »%s« ist leer"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "Die Quelldatei hört nicht mit einem Zeilenende auf"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr ""
"Nicht beendeter regulärer Ausdruck (hört mit '\\' auf) am Ende der Datei"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
"%s: %d: der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert "
"nicht in gawk"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
"Der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert nicht in "
"gawk"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "Nicht beendeter regulärer Ausdruck"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "Nicht beendeter regulärer Ausdruck am Dateiende"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr ""
"Die Verwendung von »\\#...« zur Fortsetzung von Zeilen ist nicht portabel"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "das letzte Zeichen auf der Zeile ist kein Backslash (»\\«)"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX erlaubt den Operator »**=« nicht"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "Das alte awk unterstützt den Operator »**=« nicht"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX erlaubt den Operator »**« nicht"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "Das alte awk unterstützt den Operator »**« nicht"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "Das alte awk unterstützt den Operator »^=« nicht"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "Das alte awk unterstützt den Operator »^« nicht"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "Nicht beendete Zeichenkette"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "Ungültiges Zeichen »%c« in einem Ausdruck"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "»%s« ist eine gawk-Erweiterung"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "»%s« ist eine Erweiterung der Bell Labs"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX erlaubt »%s« nicht"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "»%s« wird im alten awk nicht unterstützt"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "»goto« gilt als schlechter Stil!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "Unzulässige Argumentzahl %d für %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr "%s: Ein String als letztes Argument von substitute hat keinen Effekt"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "Der dritte Parameter von %s ist ein unveränderliches Objekt"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: Das dritte Argument ist eine gawk-Erweiterung"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: Das zweite Argument ist eine gawk-Erweiterung"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"Fehlerhafte Verwendung von dcgettext(_\"...\"): \n"
"Entfernen Sie den führenden Unterstrich"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"Fehlerhafte Verwendung von dcngettext(_\"...\"): \n"
"Entfernen Sie den führenden Unterstrich"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "Funktion »%s«: Parameter #%d, »%s« wiederholt Parameter #%d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "Funktion »%s«: Parameter »%s« verdeckt eine globale Variable"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "»%s« kann nicht zum Schreiben geöffne werden(%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "Die Liste der Variablen wird auf der Standardfehlerausgabe ausgegeben"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: close ist gescheitert (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() zweimal aufgerufen!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "es sind verdeckte Variablen vorhanden"
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "Funktion »%s« wurde bereits definiert"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "Funktion »%s«: Funktionsnamen können nicht als Parameternamen benutzen"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
"Funktion »%s«: die spezielle Variable »%s« kann nicht als Parameter "
"verwendet werden"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "Funktion »%s« wurde bereits definiert"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "Funktion »%s«: Parameter #%d, »%s« wiederholt Parameter #%d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "Aufgerufene Funktion »%s« ist nirgends definiert"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "Funktion »%s« wurde definiert aber nirgends aufgerufen"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
"Regulärer-Ausdruck-Konstante für Parameter #%d ergibt einen \n"
"logischen Wert"
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -544,233 +501,233 @@ msgstr ""
"Funktion »%s« wird mit Leerzeichen zwischen Name und »(« aufgerufen, \n"
"oder als Variable oder Feld verwendet"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "Division durch Null wurde versucht"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "Division durch Null versucht in »%%«"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s to \"%s\" fehlgeschlagen (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "Standardausgabe"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: das Argument ist keine Zahl"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: das Argument %g liegt außerhalb des gültigen Bereichs"
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: Leeren der Puffer nicht möglich, Pipe »%s« ist nur zum Lesen geöffnet"
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: Leeren der Puffer nicht möglich, Datei »%s« ist nur zum Lesen "
"geöffnet"
-#: builtin.c:215
+#: builtin.c:217
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: »%s« ist keine geöffnete Datei, Pipe oder Prozess"
-#: builtin.c:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: Erstes Argument ist kein String"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: Zweites Argument ist kein string"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "Argument ist keine Zahl"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: Argument ist ein Feld"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "»length(array)« ist eine gawk-Erweiterung"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: Argument ist kein String"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: Argument ist keine Zahl"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: Negatives Argument %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr "Fatal: »count$« muss auf alle Formate angewandt werden oder auf keines"
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "Feldbreite wird für die »%%«-Angabe ignoriert"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "Genauigkeit wird für die »%%«-Angabe ignoriert"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "Feldbreite und Genauigkeit werden für die »%%«-Angabe ignoriert"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "Fatal: »$« ist in awk-Formaten nicht zulässig"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "Fatal: die Anzahl der Argumen bei »$« muss > 0 sein"
-#: builtin.c:829
+#: builtin.c:834
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
"Fatal: Argumentenanzahl %ld ist größer als die Gesamtzahl angegebener "
"Argumente"
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "Fatal: »$« nach Punkt in Formatangabe nicht zulässig"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "Fatal: »$« fehlt in positionsabhängiger Feldbreite oder Genauigkeit"
#
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "»l« ist in awk-Formaten bedeutungslos, ignoriert"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "Fatal: »l« ist in POSIX-awk-Formaten nicht zulässig"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "»L« ist in awk-Formaten bedeutungslos, ignoriert"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "Fatal: »L« ist in POSIX-awk-Formaten nicht zulässig"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "»h« ist in awk-Formaten bedeutungslos, ignoriert"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "Fatal: »h« ist in POSIX-awk-Formaten nicht zulässig"
-#: builtin.c:1271
+#: builtin.c:1276
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: Wert %g ist außerhalb des Bereichs für Format »%%%c«"
-#: builtin.c:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"das unbekannte Zeichen »%c« in der Formatspezifikation wird ignoriert: keine "
"Argumente umgewandelt"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr "Fatal: Nicht genügend Argumente für die Formatangabe"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "^ hierfür fehlte es"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: Format-Spezifikation hat keinen Controlcode"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "Zu viele Argumente für den Formatstring"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: Keine Argumente"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: das Argument ist keine Zahl"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: das Argument %g ist negativ"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: Länge %g ist nicht >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: Länge %g ist nicht >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: Nicht ganzzahlige Länge %g wird abgeschnitten"
-#: builtin.c:1516
+#: builtin.c:1521
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr ""
"substr: Länge %g ist zu groß für Stringindizierung, wird auf %g gekürzt"
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: Start-Index %g ist ungültig, 1 wird verwendet"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: Nicht ganzzahliger Start-Wert %g wird abgeschnitten"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: Quellstring ist leer"
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: Start-Wert %g liegt hinter dem Ende des Strings"
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -778,234 +735,230 @@ msgstr ""
"substr: Länge %g am Start-Wert %g überschreitet die Länge des ersten "
"Arguments (%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: Formatwert in PROCINFO[\"strftime\"] ist numerischen Typs"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: Das zweite Argument ist keine Zahl"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr ""
+"strftime: das zweite Argument ist kleiner als 0 oder zu groß für time_t"
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: Das erste Argument ist kein String"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: Der Format-String ist leer"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: Das Argument ist kein String"
-#: builtin.c:1778
+#: builtin.c:1784
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: mindestens einer der Werte ist außerhalb des normalen Bereichs"
-#: builtin.c:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "Die Funktion »system« ist im Sandbox-Modus nicht erlaubt"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: Das Argument ist kein String"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "Referenz auf die nicht initialisierte Variable »%s«"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "Referenz auf das nicht initialisierte Feld »$%d«"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: das Argument ist kein String"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: das Argument ist kein String"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: das erste Argument ist keine Zahl"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: das zweite Argument ist keine Zahl"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: das Argument ist keine Zahl"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: das Argument ist keine Zahl"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: das Argument ist keine Zahl"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: das dritte Argument ist kein Array"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 0 als drittes Argument wird als 1 interpretiert"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: das erste Argument ist keine Zahl"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: das zweite Argument ist keine Zahl"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr ""
"lshift(%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"lshift(%lf, %lf): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen "
"führen"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: das erste Argument ist keine Zahl"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: das zweite Argument ist keine Zahl"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr ""
"rshift (%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"rshift(%lf, %lf): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen "
"führen"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: das erste Argument ist keine Zahl"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: das zweite Argument ist keine Zahl"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr ""
"and(%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: das erste Argument ist keine Zahl"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: das zweite Argument ist keine Zahl"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: das erste Argument ist keine Zahl"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: das zweite Argument ist keine Zahl"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf: Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: das erste Argument ist keine Zahl"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): Negativer Wert wird zu merkwürdigen Ergebnissen führen"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: »%s« ist keine gültige Locale-Kategorie"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "Unbekannter Knotentyp %d"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "Unbekannter Opcode %d"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "Opcode %s ist weder ein Operator noch ein Schlüsselwort"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "Pufferüberlauf in genflags2str"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -1016,226 +969,173 @@ msgstr ""
"\t# Funktions-Aufruf-Stack\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "»IGNORECASE« ist eine gawk-Erweiterung"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "»BINMODE« ist eine gawk-Erweiterung"
-#: eval.c:812
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "BINMODE Wert »%s« ist ungültig und wird als 3 behandelt"
-#: eval.c:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "Falsche »%sFMT«-Angabe »%s«"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "»--lint« wird abgeschaltet, da an »LINT« zugewiesen wird"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "Funktion »%s« kann nicht als Variable oder Feld verwendet werden"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "Referenz auf nicht initialisiertes Argument »%s«"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "Referenz auf die nicht initialisierte Variable »%s«"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "Nicht numerischer Wert für Feldreferenz verwendet"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "Referenz auf ein Feld von einem Null-String"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "Versuch des Zugriffs auf Feld %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "Referenz auf das nicht initialisierte Feld »$%ld«"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "Funktion »%s« mit zu vielen Argumenten aufgerufen"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: unerwarteter Typ »%s«"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "Division durch Null versucht in »/=«"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "Division durch Null versucht in »%%=«"
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr ""
-"Es wird versucht, das Feld »%s[\"%.*s\"]« in einem Skalarkontext zu verwenden"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "Zuweisung in einer Bedingung"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "Anweisung hat keinen Effekt"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"for-Schleife: Feld »%s« ändert seine Größe von %ld innerhalb der Schleife zu "
-"%ld"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "die durch »%s« indirekt aufgerufene Funktion existiert nicht"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "Funktion »%s« ist nicht definiert"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "Nicht umgelenktes »getline« ist innerhalb der »%s«-Aktion unzuässig"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "Fehler beim Lesen der Eingabedatei »%s«: %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "»nextfile« kann nicht aus einer »«%s-Regel aufgerufen werden"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "»next« kann nicht in einer »%s«-Regel verwendet werden"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Entschuldigung, aber es ist unbekannt, wie »%s« zu interpretieren ist"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "Erweiterungen sind im Sandbox-Modus nicht erlaubt"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "»extension« ist eine gawk-Erweiterung"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "Fatal: extension: »%s« kann nicht geöffnet werden (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"Fatal: Erweiterung: Bibliothek »%s«: definiert »plugin_is_GPL_compatible« "
"nicht (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"Fatal: Erweiterung: Bibliothek »%s«: Funktion »%s« kann nicht aufgerufen "
"werden (%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "Erweiterung: Funktionsname fehlt"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "Erweiterung: unzulässiges Zeichen »%c« in Funktionsname »%s«"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "Erweiterung: Funktion »%s« kann nicht neu definiert werden"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "Erweiterung: Funktion »%s« wurde bereits definiert"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "Erweiterung: Funktion »%s« wurde bereits vorher definiert"
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
"Erweiterung: die eingebaute Funktion »%s« kann nicht als Funktionsname "
"verwendet werden"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negative Anzahl von Argumenten für Funktion »%s«"
-#: ext.c:269
+#: ext.c:207
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr ""
"Funktion »%s« wird als Funktion definiert, die nie mehr als %d Argument(e) "
"akzeptiert"
-#: ext.c:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "Funktion »%s«: fehlendes Argument #%d"
-#: ext.c:289
+#: ext.c:227
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr ""
"Funktion »%s«: Argument #%d: Es wird versucht, einen Skalar als Feld zu "
"verwenden"
-#: ext.c:293
+#: ext.c:231
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr ""
"Funktion »%s«: Argument #%d: Es wird versucht, ein Feld als Skalar zu "
"verwenden"
-#: ext.c:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "Die Operation wird nicht unterstützt"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "NF wird ein negativer Wert zugewiesen"
@@ -1304,555 +1204,565 @@ msgstr ""
"patsplit: Ein untergeordnetes Feld des vierten Arguments kann nicht als "
"zweites Argument verwendet werden"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "»FIELDWIDTHS« ist eine gawk-Erweiterung"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ungültiger FIELDWIDTHS-Wert nah bei »%s«"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "Null-String für »FS« ist eine gawk-Erweiterung"
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
msgstr "Das alte awk unterstützt keine regulären Ausdrücke als Wert von »FS«"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "»FPAT« ist eine gawk-Erweiterung"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: Option »%s« ist mehrdeutig\n"
-#: getopt.c:623 getopt.c:627
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: Die Option »--%s« hat keine Argumente\n"
-#: getopt.c:636 getopt.c:641
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: Die Option »%c%s« hat keine Argument\n"
-#: getopt.c:684 getopt.c:703
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: Die Option »%s« erfordert ein Argument\n"
-#: getopt.c:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: Die Option »--%s« ist unbekannt\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: Die Option »%c%s« ist unbekannt\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: Ungültige Option -- »%c«\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s Die Option »%c« erfordert ein Argument\n"
-#: getopt.c:930 getopt.c:946
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: Die Option »-W %s« ist mehrdeutig\n"
-#: getopt.c:970 getopt.c:988
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: Die Option »-W %s« hat keine Argumente\n"
-#: getopt.c:1009 getopt.c:1027
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: Die Option »-W %s« erfordert ein Argument\n"
-#: io.c:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr ""
"das Kommandozeilen-Argument »%s« ist ein Verzeichnis: wird übersprungen"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "Die Datei »%s« kann nicht zum Lesen geöffnet werden (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "Das Schließen des Dateideskriptors %d (»%s«) ist gescheitert (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "Umlenkungen sind im Sandbox-Modus nicht erlaubt"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr ""
"Der Ausdruck in einer Umlenkung mittels »%s« hat nur einen numerischen Wert"
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "Der Ausdruck für eine Umlenkung mittels »%s« ist ein leerer String"
-#: io.c:624
+#: io.c:659
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
"Der Dateiname »%s« für eine Umlenkung mittels »%s« kann das Ergebnis eines "
"logischen Ausdrucks sein"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "Unnötige Kombination von »>« und »>>« für Datei »%.*s«"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "Die Pipe »%s« kann nicht für die Ausgabe geöffnet werden (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "Die Pipe »%s« kann nicht für die Eingabe geöffnet werden (%s)"
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr ""
"Die bidirektionale Pipe »%s« kann nicht für die Ein-/Ausgabe geöffnet werden "
"(%s)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "Von »%s« kann nicht umgelenkt werden (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "Zu »%s« kann nicht umgelenkt werden (%s)"
-#: io.c:889
+#: io.c:924
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"Die Systemgrenze offener Dateien ist erreicht, daher werden nun "
"Dateideskriptoren mehrfach verwendet"
-#: io.c:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "Das Schließen von »%s« ist gescheitert (%s)."
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "Zu viele Pipes oder Eingabedateien offen"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: Das zweite Argument muss »to« oder »from« sein"
-#: io.c:952
+#: io.c:987
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: »%.*s« ist weder offene Datei, noch Pipe oder Ko-Prozess"
-#: io.c:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "»close« für eine Umlenkung, die nie geöffnet wurde"
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: Umlenkung »%s« wurde nicht mit »[&« geöffnet, das zweite Argument "
"wird ignoriert"
-#: io.c:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "Fehlerstatus (%d) beim Schließen der Pipe »%s« (%s)"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "Fehlerstatus (%d) beim Schließen der Datei »%s« (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "Das explizite Schließen des Sockets »%s« fehlt"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "Das explizite Schließen des Ko-Prozesses »%s« fehlt"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "Das explizite Schließen der Pipe »%s« fehlt"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "Das explizite Schließen der Datei »%s« fehlt"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "Fehler beim Schreiben auf die Standardausgabe (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "Fehler beim Schreiben auf die Standardfehlerausgabe (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "Das Leeren der Pipe »%s« ist gescheitert (%s)"
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "Ko-Prozess: Das Leeren der Pipe zu »%s« ist gescheitert (%s)"
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "Das Leeren der Datei »%s« ist gescheitert (%s)"
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "Der lokale Port »%s« ist ungültig in »/inet«"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "Die Angaben zu entferntem Host und Port (%s, %s) sind ungültig"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "Es wurde kein (bekanntes) Protokoll im Dateinamen »%s« angegeben"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "Der Dateiname »%s« ist unvollständig"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "Sie müssen in /inet einen Rechnernamen angeben"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "Sie müssen in »/inet« einen Port angeben"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-Verbindungen werden nicht unterstützt"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "»%s« konnte nicht geöffnet werden, Modus »%s«"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr ""
"Das Schließen der übergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "Das Schließen der Standardausgabe im Kindprozess ist gescheitert (%s)"
-#: io.c:1753
+#: io.c:1788
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
"Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardausgabe "
"im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "Schließen von stdin im Kindprozess gescheitert (%s)"
-#: io.c:1758
+#: io.c:1793
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
"Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardeingabe "
"im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr ""
"Das Schließen der untergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"Das Verschieben der Pipe zur Standardausgabe im Kindprozess ist gescheitert "
"(dup: %s)"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
"Das Verschieben der Pipe zur Standardeingabe im Kindprozess ist gescheitert "
"(dup: %s)"
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr ""
"Das Wiederherstellen der Standardausgabe im Elternprozess ist gescheitert\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr ""
"Das Wiederherstellen der Standardeingabe im Elternprozess ist gescheitert\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "Das Schließen der Pipe ist gescheitert (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "»|&« wird nicht unterstützt"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "Pipe »%s« kann nicht geöffnet werden (%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "Kindprozess für »%s« kann nicht erzeugt werden (fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "Die Datei »%s« ist leer"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "Es konnte kein weiterer Speicher für die Eingabe beschafft werden"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "Multicharacter-Wert von »RS« ist eine gawk-Erweiterung"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "IPv6-Verbindungen werden nicht unterstützt"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "Die Option »-m[fr]« ist in gawk bedeutungslos"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "Anwendung der Option -m: »-m[fr] nnn«"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "Das leere Argument für »--source« wird ignoriert"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: Die Option »-W %s« ist unbekannt und wird ignoriert\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Die Option %c erfordert ein Argument\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"Die Umgebungsvariable »POSIXLY_CORRECT« ist gesetzt: »--posix« wird "
"eingeschaltet"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "»--posix« hat Vorrang vor »--traditional«"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "»--posix« /»--traditional« hat Vorrang vor »--non-decimal-data«"
-#: main.c:555
+#: main.c:552
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "%s als setuid root auszuführen kann zu Sicherheitsproblemen führen"
-#: main.c:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "»--posix« hat Vorrang vor »--binary«"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr ""
"Das Setzen des Binärermodus für die Standardeingabe ist nicht möglich (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr ""
"Das Setzen des Binärermodus für die Standardausgabe ist nicht möglich (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr ""
"Das Setzen des Binärermodus für die Standardfehlerausgabe ist nicht möglich "
"(%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "Es wurde überhaupt kein Programmtext angegeben!"
-#: main.c:733
+#: main.c:737
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -f PROGRAMM [--] Datei ...\n"
-#: main.c:735
+#: main.c:739
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -- %cPROGRAMM%c Datei ...\n"
-#: main.c:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-Optionen\t\tlange GNU-Optionen: (standard)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f PROGRAMM\t\t--file=PROGRAMM\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F Feldtrenner\t\t\t--field-separator=Feldtrenner\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=Wert\t\t--assign=var=Wert\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "POSIX-Optionen\t\tGNU-Optionen (lang): (Erweiterungen)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d [Datei]\t\t--dump-variables[=Datei]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p [Datei]\t\t--profile[=Datei]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'Programmtext'\t--source=Programmtext\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E Datei\t\t\t--exec=Datei\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p [Datei]\t\t--profile[=Datei]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p [Datei]\t\t--profile[=Datei]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R Datei\t\t\t--command=Datei\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1861,7 +1771,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1877,7 +1787,7 @@ msgstr ""
"an translation-team-de@lists.sourceforge.net\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1888,7 +1798,7 @@ msgstr ""
"auf der Standardausgabe aus.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1898,7 +1808,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1918,7 +1828,7 @@ msgstr ""
"spätere Version.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1931,7 +1841,7 @@ msgstr ""
"leistung einer HANDELBARKEIT oder der EIGNUNG FÃœR EINEN BESTIMMTEN ZWECK.\n"
"Sehen Sie bitte die GNU General Public License für weitere Details.\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1940,16 +1850,16 @@ msgstr ""
"diesem Programm erhalten haben. Wenn nicht, lesen Sie bitte\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft setzt FS im POSIX-awk nicht auf Tab"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "unbekannter Wert für eine Feldangabe: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1958,86 +1868,81 @@ msgstr ""
"%s: Argument »%s« von »-v« ist nicht in der Form »Variable=Wert«\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "»%s« ist kein gültiger Variablenname"
-#: main.c:1199
+#: main.c:1201
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "»%s« ist kein Variablenname, es wird nach der Datei »%s=%s« gesucht"
-#: main.c:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
"die eingebaute Funktion »%s« kann nicht als Variablenname verwendet werden"
# c-format
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "Funktion »%s« kann nicht als Name einer Variablen verwendet werden"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "Fließkomma-Ausnahme"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "Fataler Fehler: interner Fehler"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "Fataler Fehler: interner Fehler: Speicherbegrenzungsfehler"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "Fataler Fehler: interner Fehler: Stapelüberlauf"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "Kein bereits geöffneter Dateideskriptor %d"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "/dev/null konnte nicht für Dateideskriptor %d geöffnet werden"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "Die Gruppen konnten nicht gefunden werden: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "Kommandozeile:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "Fehler: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "Backslash am Ende der Zeichenkette"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "Das alte awk unterstützt die Fluchsequenz »\\%c« nicht"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX erlaubt keine »\\x«-Escapes"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "In der »\\x«-Fluchtsequenz sind keine hexadezimalen Zahlen"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -2046,12 +1951,12 @@ msgstr ""
"Die Hex-Sequenz \\x%.*s aus %d Zeichen wird wahrscheinlich nicht wie "
"gewünscht interpretiert"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "Fluchtsequenz »\\%c« wird wie ein normales »%c« behandelt"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2072,16 +1977,16 @@ msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr ""
"%s %s »%s«: close-on-exec konnte nicht gesetzt werden: (fcntl F_SETFD: %s)"
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "»%s« konnte nicht zum Schreiben geöffnet werden: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "Das Profil wird auf der Standardfehlerausgabe ausgegeben"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2090,7 +1995,7 @@ msgstr ""
"\t# %s Blöcke\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2099,17 +2004,22 @@ msgstr ""
"\t# Regeln(s)\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "Interner Fehler: %s mit null vname"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "Interner Fehler: %s mit null vname"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-Profil, erzeugt %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2118,95 +2028,173 @@ msgstr ""
"\n"
"\t# Funktionen in alphabetischer Reihenfolge\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: unbekannter Umlenkungstyp %d"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
msgstr ""
"Ein Bereich in der Form »[%c-%c]« ist abhängig von der gesetzten Locale"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
"Regulärer-Ausdruck-Komponente »%.*s« sollte wahrscheinlich »[%.*s]« sein"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Erfolg"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Kein Treffer"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Ungültiger Regulärer Ausdruck"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Ungültiges Zeichen"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Ungültiger Name für eine Zeichenklasse"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "Angehängter Backslash"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Ungültige Rück-Referenz"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "[ oder [^ werden nicht geschlossen"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "( oder \\( werden nicht geschlossen"
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "\\{ wird nicht geschlossen"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Ungültiger Inhalt von \\{\\}"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Ungültiges Bereichsende"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Kein freier Speicher mehr vorhanden"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Vorangehender regulärer Ausdruck ist ungültig"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Vorzeitiges Ende des regulären Ausdrucks"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "Regulärer Ausdruck ist zu groß"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ") oder \\) werden nicht geöffnet"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "Kein vorangehender regulärer Ausdruck"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "Es wird versucht, die Funktion »%s« als Feld zu verwenden"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "Bezug auf ein nicht initialisiertes Element »%s[\"%.*s\"]«"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "Der Index von Feld »%s« ist ein Nullstring"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: leer (Null)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: leer (0)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: Tabellengröße = %d, Feldgröße = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: ist ein Parameter\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: Feld-Referenz auf %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "Verwendung eines Nicht-Feldes als Feld"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "Funktion »%s« kann nicht als Variable oder Feld verwendet werden"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr ""
+#~ "Es wird versucht, das Feld »%s[\"%.*s\"]« in einem Skalarkontext zu "
+#~ "verwenden"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "Zuweisung in einer Bedingung"
+
+#~ msgid "statement has no effect"
+#~ msgstr "Anweisung hat keinen Effekt"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr ""
+#~ "for-Schleife: Feld »%s« ändert seine Größe von %ld innerhalb der Schleife "
+#~ "zu %ld"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "die durch »%s« indirekt aufgerufene Funktion existiert nicht"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "Funktion »%s« ist nicht definiert"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "Nicht umgelenktes »getline« ist innerhalb der »%s«-Aktion unzuässig"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "Fehler beim Lesen der Eingabedatei »%s«: %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "»nextfile« kann nicht aus einer »«%s-Regel aufgerufen werden"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "»exit« kann im aktuellen Kontext nicht aufgerufen werden"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "»next« kann nicht in einer »%s«-Regel verwendet werden"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr ""
+#~ "Entschuldigung, aber es ist unbekannt, wie »%s« zu interpretieren ist"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R Datei\t\t\t--command=Datei\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "Die Gruppen konnten nicht gefunden werden: %s"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr ""
#~ "Zuweisungen an das Ergebnis einer eingebauten Funktion sind nicht erlaubt"
diff --git a/po/es.gmo b/po/es.gmo
index 7df5fab8..29c36a3e 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index fd28a8a8..2c1ab61c 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,14 +1,14 @@
-# Mensajes en español para gawk-4.0.0.
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Mensajes en español para gawk-4.0.0h.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
-# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011.
+# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-08-14 12:02-0500\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-01-30 07:42-0600\n"
"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\n"
@@ -16,519 +16,476 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "desde %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "se intentó usar un valor escalar como una matriz"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "se intentó usar la función `%s' como una matriz"
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "se intentó usar el parámetro escalar `%s como una matriz'"
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "se intentó usar el escalar `%s' como una matriz"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "se intentó usar la matriz `%s' en un contexto escalar"
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "referencia al elemento sin inicializar `%s[\"%.*s\"]'"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "el subíndice de la matriz `%s' es la cadena nula"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: el índice `%s' no está en la matriz `%s'"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "se intentó usar el dato escalar `%s[\"%.*s\"]' como una matriz"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: vacío (nulo)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: vacío (cero)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: tamaño_tabla = %d, tamaño_matriz = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: es un parámetro\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: array_ref a %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: el argumento no es una matriz"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: el segundo argumento no es una matriz"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: el segundo argumento no es una matriz"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: el primer argumento no es una matriz"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: el primer argumento no es una matriz"
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
"asort: no se puede usar una submatriz del primer argumento para el segundo "
"argumento"
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
"asorti: no se puede usar una submatriz del primer argumento para el segundo "
"argumento"
-#: array.c:1108
+#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
"asort: no se puede usar una submatriz del segundo argumento para el primer "
"argumento"
-#: array.c:1109
+#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
"asorti: no se puede usar una submatriz del segundo argumento para el primer "
"argumento"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "`%s' es inválido como un nombre de función"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "la función de comparación de ordenamiento `%s' no está definida"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "los bloques %s deben tener una parte de acción"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "cada regla debe tener un patrón o una parte de acción"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "el awk antiguo no admite múltiples reglas `BEGIN' o `END'"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "`%s' es una función interna, no se puede redefinir"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr ""
"la constante de expresión regular `//' parece un comentario de C++, pero no "
"lo es"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr ""
"la constante de expresión regular `/%s/' parece un comentario de C, pero no "
"lo es"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "valores case duplicados en el cuerpo de un switch: %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "se detectó un `default' duplicado en el cuerpo de un switch"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "no se permite `break' fuera de un bucle o switch"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "no se permite `continue' fuera de un bucle"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "se usó `next' en la acción %s"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "`nextfile' es una extensión de gawk"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "se usó `nextfile' en la acción %s"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "se usó `return' fuera del contexto de la función"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
"el `print' simple en la regla BEGIN o END probablemente debe ser `print \"\"'"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "`delete array' es una extensión de gawk"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(array)' es una extensión de tawk que no es transportable"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "las líneas de trabajo de dos vías multiestado no funcionan"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "expresión regular del lado derecho de una asignación"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "expresión regular a la izquierda del operador `~' o `!~'"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr ""
"el awk antiguo no admite la palabra clave `in' excepto después de `for'"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "expresión regular a la derecha de una comparación"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "`getline var' inválido dentro de la regla `%s'"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "`getline' inválido dentro de la regla `%s'"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "`getline' no redirigido indefinido dentro de la acción de END"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "el awk antiguo no admite matrices multidimensionales"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "la llamada de `length' sin paréntesis no es transportable"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "las llamadas indirectas a función son una extensión de gawk"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
"no se puede usar la variable especial `%s' como llamada indirecta a función"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "expresión de subíndice inválida"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "uso de una matriz que no es matriz"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "aviso: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "fatal: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "nueva línea o fin de la cadena inesperados"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "no se puede abrir el fichero fuente `%s' para lectura (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "razón desconocida"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "ya se incluyó el fichero fuente `%s'"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include es una extensión de gawk"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "nombre de fichero vacío después de @include"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "texto de programa vacío en la linea de órdenes"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "no se puede leer el fichero fuente `%s' (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "el fichero fuente `%s' está vacío"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "el fichero fuente no termina con línea nueva"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "expresión regular sin terminar termina con `\\` al final del fichero"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
"%s: %d: el modificador de expresión regular `/.../%c` de tawk no funciona en "
"gawk"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
"el modificador de expresión regular `/.../%c` de tawk no funciona en gawk"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "expresión regular sin terminar"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "expresión regular sin terminar al final del fichero"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr "el uso de la continuación de línea `\\ #...' no es transportable"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "la barra invertida no es el último caracter en la línea"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX no permite el operador `**='"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "el awk antiguo no admite el operador `**='"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX no permite el operador `**'"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "el awk antiguo no admite el operador `**='"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "el operador `^=' no se admite en el awk antiguo"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "el operador `^' no se admite en el awk antiguo"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "cadena sin terminar"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "caracter '%c' inválido en la expresión"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' es una extensión de gawk"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "`%s' es una extensión de Bell Labs"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX no permite `%s'"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "`%s' no se admite en el awk antiguo"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "¡`goto' se considera dañino!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d es inválido como número de argumentos para %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr ""
"%s: la literal de cadena como último argumento de substitute no tiene efecto"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "el tercer argumento de %s no es un objecto modificable"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: el tercer argumento es una extensión de gawk"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: el segundo argumento es una extensión de gawk"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"el uso de dcgettext(_\"...\") es incorrecto: quite el subrayado inicial"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"el uso de dcngettext(_\"...\") es incorrecto: quite el subrayado inicial"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "función `%s': parámetro #%d, `%s', duplica el parámetro #%d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "función `%s': parámetro `%s' oscurece la variable global"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "no se puede abrir `%s' para escritura (%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "se envía la lista de variables a la salida estándar de error"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: falló close (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "¡se llamó shadow_funcs() dos veces!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "hay variables opacadas."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "el nombre de función `%s' se definió previamente"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr ""
"función `%s': no se puede usar un nombre de función como nombre de parámetro"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
"función `%s': no se puede usar la variable especial `%s' como un parámetro "
"de función"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "el nombre de función `%s' se definió previamente"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "función `%s': parámetro #%d, `%s', duplica el parámetro #%d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "se llamó a la función `%s' pero nunca se definió"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "se definió la función `%s' pero nunca se llamó directamente"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
"la constante de expresión regular para el parámetro #%d da un valor booleano"
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -537,238 +494,238 @@ msgstr ""
"se llamó la función `%s' con espacio entre el nombre y el `(',\n"
"o se usó como una variable o una matriz"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "se intentó una división por cero"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "se intentó una división por cero en `%%'"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "falló %s a \"%s\" (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "salida estándar"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: se recibió un argumento que no es númerico"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: el argumento %g está fuera de rango"
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: no se puede limpiar: se abrió la tubería `%s' para lectura, no para "
"escritura"
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: no se puede limpiar: se abrió el fichero `%s' para lectura, no para "
"escritura"
-#: builtin.c:215
+#: builtin.c:217
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: `%s' no es un fichero abierto, tubería o co-proceso"
-#: builtin.c:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: el primer argumento recibido no es una cadena"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: el segundo argumento recibido no es una cadena"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: se recibió un argumento que no es númerico"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: se recibió un argumento de matriz"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "`length(array)' es una extensión de gawk"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: se recibió un argumento que no es una cadena"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: se recibió un argumento que no es númerico"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: se recibió el argumento negativo %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr "fatal: se debe utilizar `count$' en todos los formatos o en ninguno"
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "se descarta la anchura del campo para el especificador `%%'"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "se descarta la precisión para el especificador `%%'"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr ""
"se descartan la anchura del campo y la precisión para el especificador `%%'"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal: no se permite `$' en los formatos de awk"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal: la cuenta de argumentos con `$' debe ser > 0"
-#: builtin.c:829
+#: builtin.c:834
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
"fatal: la cuenta de argumentos %ld es mayor que el número total de "
"argumentos proporcionados"
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal: no se permite `$' después de un punto en el formato"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
"fatal: no se proporciona `$' para la anchura o la precisión del campo "
"posicional"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "`l' no tiene significado en los formatos de awk; se descarta"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal: no se permite `l' en los formatos POSIX de awk"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "`L' no tiene significado en los formatos de awk; se descarta"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal: no se permite `L' en los formatos POSIX de awk"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "`h' no tiene significado en los formatos de awk; se descarta"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: no se permite `h' en los formatos POSIX de awk"
-#: builtin.c:1271
+#: builtin.c:1276
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: el valor %g está fuera del rango para el formato `%%%c'"
-#: builtin.c:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"se descarta el carácter especificador de formato `%c' desconocido: no se "
"convirtió ningún argumento"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
"fatal: no hay suficientes argumentos para satisfacer a la cadena de formato"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "se acabó ^ para éste"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: el especificador de formato no tiene letras de control"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "se proporcionaron demasiados argumentos para la cadena de formato"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: sin argumentos"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: se recibió un argumento que no es un númerico"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: se llamó con el argumento negativo %g"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: la longitud %g no es >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: la longitud %g no es >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: se truncará la longitud no entera %g"
-#: builtin.c:1516
+#: builtin.c:1521
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr ""
"substr: la longitud %g es demasiado grande para ser índice de cadena, se "
"trunca a %g"
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: el índice de inicio %g es inválido, se usa 1"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: se truncará el índice de inicio no entero %g"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: la cadena de origen es de longitud cero"
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: el índice de inicio %g está después del fin de la cadena"
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -776,233 +733,229 @@ msgstr ""
"substr: la cadena %g en el índice de inicio %g excede la longitud del primer "
"argumento (%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: el valor de formato en PROCINFO[\"strftime\"] tiene tipo numérico"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: el segundo argumento recibido no es númerico"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr ""
+"strftime: el segundo argumento es menor que 0 o demasiado grande para time_t"
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: el primer argumento recibido no es una cadena"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: se recibió una cadena de formato vacía"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: se recibió un argumento que no es una cadena"
-#: builtin.c:1778
+#: builtin.c:1784
msgid "mktime: at least one of the values is out of the default range"
msgstr ""
"mktime: por lo menos uno de los valores está fuera del rango por defecto"
-#: builtin.c:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "no se permite la función 'system' en modo sandbox"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: se recibió un argumento que no es una cadena"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "referencia a la variable sin inicializar `%s'"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "referencia al campo sin inicializar `$%d'"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: se recibió un argumento que no es una cadena"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: se recibió un argumento que no es una cadena"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: el primer argumento recibido no es númerico"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: el segundo argumento recibido no es númerico"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: se recibió un argumento que no es númerico"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: se recibió un argumento que no es númerico"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: se recibió un argumento que no es númerico"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: el tercer argumento no es una matriz"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: el tercer argumento de 0 se trata como 1"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: el primer argumento recibido no es númerico"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: el segundo argumento recibido no es númerico"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): los valores fraccionarios se truncarán"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"lshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados "
"extraños"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: el primer argumento recibido no es númerico"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: el segundo argumento recibido no es númerico"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): los valores fraccionarios serán truncados"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"rshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados "
"extraños"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: el primer argumento recibido no es númerico"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: el segundo argumento recibido no es númerico"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): los valores fraccionarios serán truncados"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: el primer argumento recibido no es númerico"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: el segundo argumento recibido no es númerico"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): los valores fraccionarios serán truncados"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: el primer argumento recibido no es númerico"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: el segundo argumento recibido no es númerico"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): los valores fraccionarios se truncarán"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: se recibió un argumento que no es númerico"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): el valor negativo dará resultados extraños"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): el valor fraccionario se truncará"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' no es una categoría local válida"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "tipo de nodo %d desconocido"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "código de operación %d desconocido"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "el código de operación %s no es un operador o una palabra clave"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "desbordamiento de almacenamiento temporal en genflags2str"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -1013,221 +966,169 @@ msgstr ""
"\t# Pila de Llamadas de Funciones:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "`IGNORECASE' es una extensión de gawk"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "`BINMODE' es una extensión de gawk"
-#: eval.c:812
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "el valor BINMODE `%s' es inválido; se trata como 3"
-#: eval.c:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "especificación `%sFMT' `%s' errónea"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "se desactiva `--lint' debido a una asignación a `LINT'"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "no se puede usar el nombre de la función `%s' como variable o matriz"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "referencia al argumento sin inicializar `%s'"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "referencia a la variable sin inicializar `%s'"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "se intentó una referencia de campo desde un valor que no es númerico"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "se intentó una referencia de campo desde una cadena nula"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "se intentó acceder al campo %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "referencia al campo sin inicializar `$%ld'"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "se llamó a la función `%s' con más argumentos de los declarados"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: tipo `%s' inesperado"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "se intentó una división por cero en `/='"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "se intentó una división por cero en `%%='"
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "se intentó usar la matriz `%s[\"%.*s\"]' en un contexto escalar"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "se usó una asignación en un contexto condicional"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "la declaración no tiene efecto"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"bucle for: la matriz `%s' cambió de tamaño de %ld a %ld durante la ejecución "
-"del bucle"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "no existe la función llamada indirectamente a través de `%s'"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "la función `%s' no está definida"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "`getline' no redirigido es inválido dentro de la regla `%s'"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "error al leer el fichero de entrada `%s': %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "`nextfile' no se puede llamar desde una regla `%s'"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "`next' no se puede llamar desde una regla `%s'"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Perdón, no se cómo interpretar `%s'"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "no se permiten las extensiones en modo sandbox"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "`extension' es una extensión de gawk"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "fatal: extension: no se puede abrir `%s' (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"fatal: extension: la biblioteca `%s': no define "
"`plugin_is_GPL_compatible' (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"fatal: extension: la biblioteca `%s': no puede llamar a la función `"
"%s' (%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "extension: falta el nombre de la función"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: carácter ilegal `%c' en el nombre de la función `%s'"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: no se puede redefinir la función `%s'"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: la función `%s' ya está definida"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension: el nombre de función `%s' se definió previamente"
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
"extension: no se puede utilizar la orden interna de gawk `%s' como nombre de "
"función"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: cuenta de argumento negativa para la función `%s'"
-#: ext.c:269
+#: ext.c:207
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "la función `%s' se definió para tomar no más de %d argumento(s)"
-#: ext.c:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "función `%s': falta el argumento #%d"
-#: ext.c:289
+#: ext.c:227
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr ""
"función `%s': argumento #%d: se intentó usar un escalar como una matriz"
-#: ext.c:293
+#: ext.c:231
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr ""
"función `%s': argumento #%d: se intentó usar una matriz como un escalar"
-#: ext.c:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "No Se Admite La Operación"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "se definió NF con un valor negativo"
@@ -1296,547 +1197,557 @@ msgstr ""
"patsplit: no se puede usar una submatriz del cuarto argumento para el "
"segundo argumento"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' es una extensión gawk"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valor de FIELDWIDTHS inválido, cerca de `%s'"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "la cadena nula para `FS' es una extensión de gawk"
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
msgstr "el awk antiguo no admite expresiones regulares como valor de `FS'"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' es una extensión de gawk"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: la opción '%s' es ambigua\n"
-#: getopt.c:623 getopt.c:627
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: la opción '--%s' no admite ningún argumento\n"
-#: getopt.c:636 getopt.c:641
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: la opción '%c%s' no admite ningún argumento\n"
-#: getopt.c:684 getopt.c:703
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: la opción '--%s' requiere un argumento\n"
-#: getopt.c:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: no se reconoce la opción '--%s'\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: no se reconoce la opción '%c%s'\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opción inválida -- '%c'\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: la opción requiere un argumento -- '%c'\n"
-#: getopt.c:930 getopt.c:946
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: la opción '-W %s' es ambigua\n"
-#: getopt.c:970 getopt.c:988
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: la opción '-W %s' no admite ningún argumento\n"
-#: getopt.c:1009 getopt.c:1027
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: la opción '-W %s' requiere un argumento\n"
-#: io.c:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "el argumento de la línea de órdenes `%s' es un directorio: se salta"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "no se puede abrir el fichero `%s' para lectura (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "falló al cerrar el df %d (`%s') (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "no se permite la redirección en modo sandbox"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "la expresión en la redirección `%s' sólo tiene valor numérico"
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "la expresión para la redirección `%s' tiene un valor de cadena nula"
-#: io.c:624
+#: io.c:659
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
"el fichero `%s' para la redirección `%s' puede ser resultado de una "
"expresión lógica"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mezcla innecesaria de `>' y `>>' para el fichero `%.*s'"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "no se puede abrir la tubería `%s' para la salida (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "no se puede abrir la tubería `%s' para la entrada (%s)"
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "no se puede abrir la tubería de dos vías `%s' para entrada/salida (%s)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "no se puede redirigir desde `%s' (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "no se puede redirigir a `%s' (%s)"
-#: io.c:889
+#: io.c:924
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"se alcanzó el límite del sistema para ficheros abiertos: comenzando a "
"multiplexar los descriptores de fichero"
-#: io.c:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "falló al cerrar `%s' (%s)."
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "demasiadas tuberías o ficheros de entrada abiertos"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: el segundo argumento debe ser `to' o `from'"
-#: io.c:952
+#: io.c:987
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: `%.*s' no es un fichero abierto, tubería o co-proceso"
-#: io.c:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "se cerró una redirección que nunca se abrió"
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: la redirección `%s' no se abrió con `|&', se descarta el segundo "
"argumento"
-#: io.c:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "estado de fallo (%d) al cerrar la tubería de `%s' (%s)"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "estado de fallo (%d) al cerrar el fichero de `%s' (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "no se provee el cerrado explícito del `socket' `%s'"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "no se provee el cerrado explícito del co-proceso `%s'"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "no se provee el cerrado explícito del la tubería `%s'"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "no se provee el cerrado explícito del fichero `%s'"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "error al escribir en la salida estándar (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "error al escribir en la salida estándar de error (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "falló la limpieza de la tubería de `%s' (%s)."
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "falló la limpieza del co-proceso de la tubería a `%s' (%s)."
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "falló la limpieza del fichero de `%s' (%s)."
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "puerto local %s inválido en `/inet'"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "anfitrión remoto e información de puerto (%s, %s) inválidos"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
"no se proporciona algún protocolo (conocido) en el nombre de fichero "
"especial `%s'"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "el nombre de fichero especial `%s' está incompleto"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "se debe proporcionar a `/inet' un nombre de anfitrión remoto"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "se debe proporcionar a `/inet' un puerto remoto"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "no se admiten las comunicaciones TCP/IP"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "no se puede abrir `%s', modo `%s'"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "falló al cerrar el pty maestro (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "falló al cerrar la salida estándar en el hijo (%s)"
-#: io.c:1753
+#: io.c:1788
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
"falló el movimiento del pty esclavo a la salida estándar en el hijo (dup: %s)"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "falló al cerrar la entrada estándar en el hijo (%s)"
-#: io.c:1758
+#: io.c:1793
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
"falló el movimiento del pty esclavo a la entrada estándar en el hijo (dup: "
"%s)"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "falló al cerrar el pty esclavo (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "falló el movimiento a la salida estándar en el hijo (dup: %s)"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
"falló el movimiento de la tubería a la entrada estándar en el hijo (dup: %s)"
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr "falló la restauración de la salida estándar en el proceso padre\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr "falló la restauración de la entrada estándar en el proceso padre\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "falló al cerrar la tubería (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "no se admite `|&'"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "no se puede abrir la tubería `%s' (%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "no se puede crear el proceso hijo para `%s' (fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "el fichero de datos `%s' está vacío"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "no se puede reservar más memoria de entrada"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "el valor multicaracter de `RS' es una extensión de gawk"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "no se admite la comunicación IPv6"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "la opción -m[fr] es irrelevante en gawk"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "uso de la opción -m: `-m[fr]' nnn"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "se descarta el argumento vacío para `-e/--source'"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: no se reconoce la opción `-W %s', se descarta\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: la opción requiere un argumento -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"la variable de ambiente `POSIXLY_CORRECT' está definida: se activa `--posix'"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "`--posix' se impone a `--traditional'"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' se imponen a `--non-decimal-data'"
-#: main.c:555
+#: main.c:552
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "ejecutar %s como setuid root puede ser un problema de seguridad"
-#: main.c:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "`--posix' se impone a `--binary'"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "no se puede establecer el modo binario en la entrada estándar (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "no se puede establecer el modo binario en la salida estándar (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr ""
"no se puede establecer el modo binario en la salida estándar de error (%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "¡No hay ningún programa de texto!"
-#: main.c:733
+#: main.c:737
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr ""
"Modo de empleo: %s [opciones estilo POSIX o GNU] -f fichprog [--] "
"fichero ...\n"
-#: main.c:735
+#: main.c:739
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr ""
"Modo de empleo: %s [opciones estilo POSIX o GNU] [--] %cprograma%c "
"fichero ...\n"
-#: main.c:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opciones POSIX:\t\tOpciones largas GNU: (estándar)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fichprog\t\t--file=fichprog\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F sc\t\t\t--field-separator=sc\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valor\t\t--assign=var=valor\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Opciones cortas:\t\tOpciones largas GNU: (extensiones)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fichero]\t\t--dump-variables[=fichero]\n"
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[fichero]\t\t--profile[=fichero]\n"
+
# Esta es la línea más larga de la lista de argumentos.
# Probar con gawk para revisar tabuladores. cfuga
-#: main.c:749
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'texto-prog'\t--source='texto-prog'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fichero\t\t--exec=fichero\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[fichero]\t\t--profile[=fichero]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fichero]\t\t--profile[=fichero]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R fichero\t\t\t--command=fichero\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1845,7 +1756,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1859,7 +1770,7 @@ msgstr ""
"Reporte los errores de los mensajes en español a <es@li.org>.\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1869,7 +1780,7 @@ msgstr ""
"Por defecto lee la entrada estándar y escribe en la salida estándar.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1879,7 +1790,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fichero\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1899,7 +1810,7 @@ msgstr ""
"(a su elección) cualquier versión posterior.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1913,7 +1824,7 @@ msgstr ""
"Licencia Pública General de GNU para más detalles.\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1922,16 +1833,16 @@ msgstr ""
"junto con este programa. Si no es así, consulte\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft no establece FS a tabulador en el awk de POSIX"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valor desconocido para la especificación de campo: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1940,85 +1851,80 @@ msgstr ""
"%s: el argumento `%s' para `-v' no es de la forma `var=valor'\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' no es un nombre de variable legal"
-#: main.c:1199
+#: main.c:1201
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "`%s' no es un nombre de variable, se busca el fichero `%s=%s'"
-#: main.c:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
"no se puede utilizar la orden interna de gawk `%s' como nombre de variable"
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "no se puede usar la función `%s' como nombre de variable"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "excepción de coma flotante"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "error fatal: error interno"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "error fatal: error interno: falla de segmentación"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "error fatal: error interno: desbordamiento de pila"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "no existe el df %d abierto previamente"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "no se puede abrir previamente /dev/null para el df %d"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "no se pueden encontrar los grupos: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "línea ord.:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "error: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "barra invertida al final de la cadena"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "el awk antiguo no admite la secuencia de escape `\\%c'"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX no permite escapes `\\x'"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "no hay dígitos hexadecimales en la secuencia de escape `\\x'"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -2027,12 +1933,12 @@ msgstr ""
"el escape hexadecimal \\x%.*s de %d caracteres tal vez no se interprete de "
"la forma esperada"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "la secuencia de escape `\\%c' se trata como una simple `%c'"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2051,16 +1957,16 @@ msgstr ""
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s `%s': no se puede establecer close-on-exec: (fcntl F_SETFD: %s)"
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "no se puede abrir `%s' para escritura: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "se envía el perfil a la salida estándar de error"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2069,7 +1975,7 @@ msgstr ""
"\t# bloque(s) %s\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2078,17 +1984,22 @@ msgstr ""
"\t# Regla(s)\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "error interno: %s con vname nulo"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "error interno: %s con vname nulo"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# perfil de gawk, creado %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2097,94 +2008,170 @@ msgstr ""
"\n"
"\t# Funciones, enumeradas alfabéticamente\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tipo de redirección %d desconocida"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr "el rango de la forma [%c-%c] depende del local"
+msgstr "el rango de la forma `[%c-%c]' depende del local"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
"el componente de expresión regular `%.*s' probablemente debe ser `[%.*s]'"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Éxito"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "No hay coincidencia"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Expresión regular inválida"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Caracter de ordenación inválido"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Nombre de clase de caracter inválido"
-#: 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 "Referencia hacia atrás inválida"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "[ o [^ desemparejados"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "( o \\( desemparejados"
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "\\{ desemparejado"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Contenido inválido de \\{\\}"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Final de rango inválido"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Memoria agotada"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Expresión regular precedente inválida"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Fin prematuro de la expresión regular"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "La expresión regular es demasiado grande"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ") o \\) desemparejados"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "No hay una expresión regular previa"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "se intentó usar la función `%s' como una matriz"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "referencia al elemento sin inicializar `%s[\"%.*s\"]'"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "el subíndice de la matriz `%s' es la cadena nula"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: vacío (nulo)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: vacío (cero)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: tamaño_tabla = %d, tamaño_matriz = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: es un parámetro\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: array_ref a %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "uso de una matriz que no es matriz"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr ""
+#~ "no se puede usar el nombre de la función `%s' como variable o matriz"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "se intentó usar la matriz `%s[\"%.*s\"]' en un contexto escalar"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "se usó una asignación en un contexto condicional"
+
+#~ msgid "statement has no effect"
+#~ msgstr "la declaración no tiene efecto"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr ""
+#~ "bucle for: la matriz `%s' cambió de tamaño de %ld a %ld durante la "
+#~ "ejecución del bucle"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "no existe la función llamada indirectamente a través de `%s'"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "la función `%s' no está definida"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "`getline' no redirigido es inválido dentro de la regla `%s'"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "error al leer el fichero de entrada `%s': %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "`nextfile' no se puede llamar desde una regla `%s'"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "`exit' no se puede llamar en el contexto actual"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "`next' no se puede llamar desde una regla `%s'"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Perdón, no se cómo interpretar `%s'"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R fichero\t\t\t--command=fichero\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "no se pueden encontrar los grupos: %s"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "no se permite la asignación como resultado de una función interna"
diff --git a/po/fi.gmo b/po/fi.gmo
index abe20e1a..a556e9b1 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index c698f564..46a10424 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,14 +1,14 @@
# Finnish messages for gawk.
-# Copyright © 2010, 2011 Free Software Foundation, Inc.
+# Copyright © 2010, 2011, 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
-# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010-2011.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010-2012.
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-09-12 12:14+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-03-13 18:00+0200\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
@@ -17,508 +17,465 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "taulukosta %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "yritettiin käyttää skalaariarvoa taulukkona"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "yritettiin käyttää funktiota â€%s†taulukkona"
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "yritettiin käyttää skalaariparametria â€%s†taulukkona"
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "yritettiin käyttää skalaaria â€%s†taulukkona"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "yritettiin käyttää taulukkoa â€%s†skalaarikontekstissa"
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "viite alustamattomaan elementtiin â€%s[\"%.*s\"]â€"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "taulukon alaindeksi â€%s†on null-merkkijono"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indeksi â€%s†ei ole taulukossa â€%sâ€"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "yritettiin käyttää skalaaria â€%s[\"%.*s\"]†taulukkona"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: tyhjä (null)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: tyhjä (nolla)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: table_size = %d, array_size = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: on parametri\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: array_ref-viite taulukkoon %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: argumentti ei ole taulukko"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: toinen argumentti ei ole taulukko"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: toinen argumentti ei ole taulukko"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: ensimmäinen argumentti ei ole taulukko"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: ensimmäinen argumentti ei ole taulukko"
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
"asort: ei voida käyttää ensimmäisen argumentin alitaulukkoa toiselle "
"argumentille"
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
"asorti: ei voida käyttää ensimmäisen argumentin alitaulukkoa toiselle "
"argumentille"
-#: array.c:1108
+#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
"asort: ei voida käyttää toisen argumentin alitaulukkoa ensimmäiselle "
"argumentille"
-#: array.c:1109
+#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
"asorti: ei voida käyttää toisen argumentin alitaulukkoa ensimmäiselle "
"argumentille"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "â€%s†on virheellinen funktionimenä"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "lajitteluvertailufunktiota â€%s†ei ole määritelty"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s lohkoilla on oltava toiminto-osa"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "jokaisella säännöllä on oltava malli tai toiminto-osa"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "vanha awk ei tue useita â€BEGINâ€- tai â€ENDâ€-sääntöjä"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "â€%s†on sisäänrakennettu funktio. Sitä ei voi määritellä uudelleen"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr ""
"säännöllisen lausekkeen vakio â€//†näyttää C++-kommentilta, mutta ei ole"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr ""
"säännöllisen lausekkeen vakio â€/%s/†näyttää C-kommentilta, mutta ei ole"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "kaksi samanlaista case-arvoa switch-rakenteen rungossa: %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "kaksoiskappale â€default†havaittu switch-rungossa"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "â€break†ei ole sallittu silmukan tai switch-lauseen ulkopuolella"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "â€continue†ei ole sallittu silmukan ulkopuolella"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "â€next†käytetty %s-toiminnossa"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "â€nextfile†on gawk-laajennus"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "â€nextfile†käytetty %s-toiminnossa"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "â€return†käytetty funktiokontekstin ulkopuolella"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
"pelkkä â€print†BEGIN- tai END-säännössä pitäisi luultavasti olla â€print \"\"â€"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "â€delete array†on gawk-laajennus"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "â€delete(array)†ei ole siirrettävä tawk-laajennus"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "monivaiheiset kaksisuuntaiset putket eivät toimi"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "säännöllinen lauseke sijoituksen oikealla puolella"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "säännöllinen lauseke â€~â€- tai â€!~â€-operaattorin vasemmalla puolella"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "vanha awk ei tue avainsanaa â€in†paitsi â€forâ€-sanan jälkeen"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "säännöllinen lauseke vertailun oikealla puolella"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "â€getline var†virheellinen säännön â€%s†sisällä"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "â€getline†virheellinen säännön â€%s†sisällä"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "edelleenohjaamaton â€getline†määrittelemätön END-toiminnon sisällä"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "vanha awk ei tue moniulotteisia taulukkoja"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "â€lengthâ€-kutsu ilman sulkumerkkejä ei ole siirrettävä"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "epäsuorat funktiokutsut ovat gawk-laajennus"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr "ei voi käyttää erikoismuuttujaa â€%s†epäsuoralle funktiokutsulle"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "virheellinen indeksointilauseke"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "ei-taulukon käyttö taulukkona"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "varoitus:"
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "tuhoisa:"
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "odottamaton rivinvaihto tai merkkijonon loppu"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "ei voi avata lähdetiedostoa â€%s†lukemista varten (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "syy tuntematon"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "on jo sisällytetty lähdetiedostoon â€%sâ€"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include on gawk-laajennus"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "tyhjä tiedostonimi @include:n jälkeen"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "tyhjä ohjelmateksti komentorivillä"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "ei voi lukea lähdetiedostoa â€%s†(%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "lähdetiedosto â€%s†on tyhjä"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "lähdetiedoston lopussa ei ole rivinvaihtoa"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr ""
"päättämätön säännöllinen lauseke loppuu â€\\â€-merkkeihin tiedoston lopussa"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "%s: %d: tawk:n regex-määre â€/.../%c†ei toimi gawk:ssa"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "tawkin regex-määre â€/.../%c†ei toimi gawkissa"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "päättämätön säännöllinen lauseke"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "päättämätön säännöllinen lauseke tiedoston lopussa"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr "â€\\ #...â€-rivijatkamisen käyttö ei ole siirrettävä"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "kenoviiva ei ole rivin viimeinen merkki"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX ei salli operaattoria â€**=â€"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "vanha awk ei tue operaattoria â€**=â€"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX ei salli operaattoria â€**â€"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "vanha awk ei tue operaattoria â€**â€"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "operaattoria â€^=†ei tueta vanhassa awk:ssa"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "operaattoria â€^†ei tueta vanhassa awk:ssa"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "päättämätön merkkijono"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "virheellinen merkki ’%c’ lausekkeessa"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "â€%s†on gawk-laajennus"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "â€%s†on Bell Labs -laajennus"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX ei salli operaattori â€%sâ€"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "â€%s†ei ole tuettu vanhassa awk-ohjelmassa"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "â€gotoâ€-käskyä pidetään haitallisena!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d on virheellinen argumenttilukumäärä operaattorille %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr ""
"%s: merkkijonoliteraalilla ei ole vaikutusta korvauksen viimeisenä "
"argumenttina"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s kolmas parametri ei ole vaihdettava objekti"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: kolmas argumentti on gawk-laajennus"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: toinen argumentti on gawk-laajennus"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcgettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcngettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "funktio â€%sâ€: parametri #%d, â€%sâ€, samanlainen parametri #%d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktio â€%sâ€: parametri â€%s†varjostaa yleismuuttujaa"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "ei voitu avata tiedostoa â€%s†kirjoittamista varten (%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "lähetetään muuttujaluettelo vakiovirheeseen"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: sulkeminen epäonnistui (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() kutsuttu kahdesti!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "siellä oli varjostettuja muuttujia."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "funktionimi â€%s†on jo aikaisemmin määritelty"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktio â€%sâ€: ei voi käyttää funktionimeä parametrinimenä"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr "funktio â€%sâ€: ei voi käyttää erikoismuuttujaa â€%s†funktioparametrina"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "funktionimi â€%s†on jo aikaisemmin määritelty"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "funktio â€%sâ€: parametri #%d, â€%sâ€, samanlainen parametri #%d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktiota â€%s†kutsuttiin, mutta sitä ei ole koskaan määritelty"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktio â€%s†määriteltiin, mutta sitä ei ole koskaan kutsuttu suoraan"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "säännöllisen lausekkeen vakio parametrille #%d antaa boolean-arvon"
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -527,235 +484,235 @@ msgstr ""
"funktio â€%s†kutsuttu välilyönnillä nimen ja â€(â€-merkin\n"
"välillä, tai käytetty muuttujana tai taulukkona"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "nollalla jakoa yritettiin"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "jakoa nollalla yritettiin operaattorissa â€%%â€"
# kohteena voi olla vakiotuloste tai joku muu
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s kohteeseen â€%s†epäonnistui (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "vakiotuloste"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argumentti %g on lukualueen ulkopuolella"
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: ei voi tyhjentää: putki â€%s†avattu lukemista varten, ei "
"kirjoittamiseen"
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: ei voi tyhjentää: tiedosto â€%s†avattu lukemista varten, ei "
"kirjoittamiseen"
-#: builtin.c:215
+#: builtin.c:217
#, 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:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: ensimmäinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: vastaanotettu taulukkoargumentti"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "â€length(array)†on gawk-laajennus"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: vastaanotettu negatiivinen argumentti %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
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:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "kenttäleveys ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "tarkkuus ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "kenttäleveys ja tarkkuus ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu awk-muodoissa"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "kohtalokas: argumenttilukumäärän argumentilla â€$†on oltava > 0"
-#: builtin.c:829
+#: builtin.c:834
#, 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:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu pisteen jälkeen muodossa"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
"kohtalokas: ei â€$â€-argumenttia tarjottu sijantikenttäleveydelle tai "
"tarkkuudelle"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "â€l†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€l†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "â€L†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€L†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "â€h†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€h†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:1271
+#: builtin.c:1276
#, 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:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"ohitetaan tuntematon muotoargumenttimerkki â€%câ€: ei muunnettu argumenttia"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr "kohtalokas: ei kylliksi argumentteja muotomerkkijonon tyydyttämiseksi"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "^ tällainen loppui kesken"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: muotoargumentilla ei ole ohjauskirjainta"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "muotomerkkijonoon toimitettu liian monta argumenttia"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: ei argumentteja"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: kutsuttu negatiivisella argumentilla %g"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: pituus %g ei ole >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: pituus %g ei ole >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: typistetään pituus %g, joka ei ole kokonaisluku"
-#: builtin.c:1516
+#: builtin.c:1521
#, 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:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: aloitusindeksi %g on virheellinen, käytetään 1:tä"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: typistetään aloitusindeksi %g, joka ei ole kokonaisluku"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: lähdemerkkijono on nollapituinen"
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: aloitusindeksi %g on merkkijonon lopun jälkeen"
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -763,228 +720,225 @@ msgstr ""
"substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden "
"(%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:1682
+#: builtin.c:1687
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:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: ensimmäinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: vastaanotettu tyhjä muotomerkkijono"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1778
+#: builtin.c:1784
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:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "â€systemâ€-funktio ei ole sallittu hiekkalaatikkotilassa"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "viite alustamattomaan muuttujaan â€%sâ€"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "viite alustamattomaan kenttään â€$%dâ€"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: kolmas argumentti ei ole taulukko"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 0-arvoinen kolmas argumentti käsitellään kuin 1"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr "lshift(%lf, %lf): liian suuri siirrosarvo antaa outoja tuloksia"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr "rshift(%lf, %lf): liian suuri siirrosarvo antaa outoja tuloksia"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): jaosarvo typistetään"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: â€%s†ei ole kelvollinen paikallinen kategoria"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "tuntematon solmutyyppi %d"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "tuntematon käskykoodi %d"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "käskykoodi %s ei ole operaattori tai avainsana"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "puskurin ylivuoto funktiossa genflags2str"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -995,217 +949,165 @@ msgstr ""
"\t# Funktiokutsupino:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "â€IGNORECASE†on gawk-laajennus"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "â€BINMODE†on gawk-laajennus"
-#: eval.c:812
+#: 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:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "väärä â€%sFMTâ€-määritys â€%sâ€"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "käännetään pois â€--lintâ€-valitsin â€LINTâ€-sijoituksen vuoksi"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "funktionimeä â€%s†ei voi käyttää muuttujana tai taulukkona"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "viite alustamattomaan argumenttiin â€%sâ€"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "viite alustamattomaan muuttujaan â€%sâ€"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "yritettiin kenttäviitettä arvosta, joka ei ole numeerinen"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "yritettiin kenttäviitettä null-merkkijonosta"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "yritettiin saantia kenttään %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "viite alustamattomaan kenttään â€$%ldâ€"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktio â€%s†kutsuttiin useammalla argumentilla kuin esiteltiin"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: odottamaton tyyppi â€%sâ€"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "jakoa nollalla yritettiin operaatiossa â€/=â€"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "jakoa nollalla yritettiin operaatiossa â€%%=â€"
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "yritettiin käyttää taulukkoa â€%s[\"%.*s\"]†skalaarikontekstissa"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "sijoitusta käytetty ehdollisessa kontekstissa"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "käskyllä ei ole vaikutusta"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"for-silmukka: taulukon â€%s†koko muuttui arvosta %ld arvoon %ld silmukan "
-"suorituksen aikana"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "kohteen â€%s†kautta epäsuorasti kutsuttu funktio ei ole olemassa"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "funktio â€%s†ei ole määritelty"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "edelleenohjaamaton â€getline†virheellinen â€%sâ€-säännön sisällä"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "virhe luettaessa syötetiedostoa â€%sâ€: %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "â€nextfile†ei voida kutsua â€%sâ€-säännöstä"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "â€next†ei voida kutsua â€%sâ€-säännöstä"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Ei osata tulkita kohdetta â€%sâ€"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "laajennuksia ei sallita hiekkalaatikkotilassa"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "â€extension†on gawk-laajennus"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "tuhoisa: extension: ei voi avata solmua â€%s†(%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"tuhoisa: extension: kirjasto â€%sâ€: ei määrittele "
"â€plugin_is_GPL_compatible†(%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr "tuhoisa: extension: kirjasto â€%sâ€: ei voi kutsua funktiota â€%s†(%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "extension: puuttuva funktionimi"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: virheellinen merkki â€%c†funktionimessä â€%sâ€"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: ei voi määritellä uudelleen funktiota â€%sâ€"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: funktio â€%s†on jo määritelty"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension: funktionimi â€%s†on määritelty jo aiemmin"
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
"extension: ei voi käyttää gawk-ohjelman sisäistä muuttujanimeä â€%s†"
"funktionimenä"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negatiivinen argumenttilukumäärä funktiolle â€%sâ€"
-#: ext.c:269
+#: ext.c:207
#, 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:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "function â€%sâ€: puuttuva argumentti #%d"
-#: ext.c:289
+#: ext.c:227
#, 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:293
+#: ext.c:231
#, 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:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "Toimintoa ei tueta"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "NF asetettu negatiiviseen arvoon"
@@ -1273,546 +1175,556 @@ msgstr ""
"patsplit: ei voida käyttää neljännen argumentin alitaulukkoa toiselle "
"argumentille"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "â€FIELDWIDTHS†on gawk-laajennus"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "virheellinen FIELDWIDTHS-arvo, lähellä â€%sâ€"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "null-merkkijono â€FSâ€-kenttäerotinmuuttujalle on gawk-laajennus"
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
msgstr "vanha awk ei tue regexp-arvoja â€FSâ€-kenttäerotinmuuttujana"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "â€FPAT†on gawk-laajennus"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen\n"
-#: getopt.c:623 getopt.c:627
+#: 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:636 getopt.c:641
+#: 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:684 getopt.c:703
+#: 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:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: tunnistamaton valitsin ’--%s’\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: tunnistamaton valitsin ’%c%s’\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: virheellinen valitsin -- ’%c’\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: 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:930 getopt.c:946
+#: 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:970 getopt.c:988
+#: 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:1009 getopt.c:1027
+#: 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:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "komentoriviargumentti â€%s†on hakemisto: ohitettiin"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "ei voi avata tiedostoa â€%s†lukemista varten (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "tiedostomäärittelijän %d (â€%sâ€) sulkeminen epäonnistui (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "edelleenohjaus ei ole sallittua hiekkalaatikkotilassa"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "lausekkeella â€%sâ€-uudellenohjauksessa on vain numeerinen arvo"
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "lausekkeella â€%sâ€-uudelleenohjauksessa on null-merkkijonoarvo"
-#: io.c:624
+#: io.c:659
#, 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:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "turha merkkien â€>†ja â€>>†sekoittaminen tiedostolle â€%.*sâ€"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "ei voi avata putkea â€%s†tulosteelle (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "ei voi avata putkea â€%s†syötteelle (%s)"
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "ei voi avata kaksisuuntaista putkea â€%s†syötteelle/tulosteelle (%s)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "ei voi uudelleenohjata putkesta â€%s†(%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "ei voi uudelleenohjata putkeen â€%s†(%s)"
-#: io.c:889
+#: io.c:924
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:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†sulkeminen epäonnistui (%s)."
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "avoinna liian monta putkea tai syötetiedostoa"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: toisen argumentin on oltava â€to†tai â€fromâ€"
-#: io.c:952
+#: io.c:987
#, 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:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "suljettiin uudelleenohjaus, jota ei avattu koskaan"
-#: io.c:1054
+#: io.c:1089
#, 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:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "virhetila (%d) putken â€%s†sulkemisessa (%s)"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "virhetila (%d) tiedoston â€%s†sulkemisessa (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "pistokkeen â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "apuprosessin â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "putken â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "tiedoston â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "virhe kirjoitettaessa vakiotulosteeseen (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "virhe kirjoitettaessa vakiovirheeseen (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†putken tyhjennys epäonnistui (%s)."
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "putken apuprosessityhjennys uudelleenohjaukseen â€%s†epäonnistui (%s)."
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†tiedostontyhjennys epäonnistui (%s)."
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "paikallinen portti %s virheellinen pistokkeessa â€/inetâ€"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "etäkone- ja porttitiedot (%s, %s) ovat virheellisiä"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "ei (tunnettua) yhteyskäytäntöä tarjottu erikoistiedostonimessä â€%sâ€"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "erikoistiedostonimi â€%s†on vaillinainen"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "on tarjottava etäkoneen nimi pistokkeeseen â€/inetâ€"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "on tarjottava etäportti pistokkeeseen â€/inetâ€"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-viestintää ei tueta"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "ei voitu avata laitetta â€%sâ€, tila â€%sâ€"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "â€master ptyâ€-sulkeminen epäonnistui (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "vakiotulosteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1753
+#: io.c:1788
#, 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:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "vakiosyötteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1758
+#: io.c:1793
#, 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:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "â€slave ptyâ€:n sulkeminen epäonnistui (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, 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:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr "vakiotulosteen palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr "vakiosyötön palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "putken sulkeminen epäonnistui (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "â€|&†ei tueta"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "ei voi avata putkea â€%s†(%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "ei voida luoda lapsiprosessia komennolle â€%s†(fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "data-tiedosto â€%s†on tyhjä"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "ei voitu varata lisää syötemuistia"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "â€RSâ€-monimerkkiarvo on gawk-laajennus"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "IPv6-viestintää ei tueta"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "â€-m[fr]â€-valitsin asiaanliittymätön gawk:ssa"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m valitsinkäyttö: â€-m[fr] nnnâ€"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "tyhjä argumentti valitsimelle â€-e/--source†ohitetaan"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: valitsin â€-W %s†on tunnistamaton, ohitetaan\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: valitsin vaatii argumentin -- %c\n"
-#: main.c:534
+#: main.c:531
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:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "valitsin â€--posix†korvaa valitsimen â€--traditionalâ€"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
"valitsin â€--posix†tai â€--traditional†korvaa valitsimen â€--non-decimal-dataâ€"
-#: main.c:555
+#: main.c:552
#, 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:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "valitsin â€--posix†korvaa valitsimen â€--binaryâ€"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "ei voi asettaa binaaritilaa vakiosyötteessä (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "ei voi asettaa binaaritilaa vakiotulosteessa (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "ei voi asettaa binaaritilaa vakiovirheessä (%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "ei ohjelmatekstiä ollenkaan!"
-#: main.c:733
+#: main.c:737
#, 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:735
+#: main.c:739
#, 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:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-valitsimet:\t\tGNU-pitkät valitsimet: (vakio)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f ohjelmatiedosto\t\t--file=ohjelmatiedosto\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=arvo\t\t--assign=muuttuja=arvo\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Lyhyet valitsimet:\t\tGNU-pitkät valitsimet: (laajennukset)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[tiedosto]\t\t--dump-variables[=tiedosto]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'program-text'\t--source='program-text'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=tiedosto\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-po\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R tiedosto\t\t\t--exec=tiedosto\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1821,7 +1733,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1834,7 +1746,7 @@ msgstr ""
"joka on kappale â€Reporting Problems and Bugs†painetussa versiossa.\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1844,7 +1756,7 @@ msgstr ""
"Oletuksena se lukee vakiosyötettä ja kirjoittaa vakiotulosteeseen.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1854,7 +1766,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' tiedosto\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1873,7 +1785,7 @@ msgstr ""
"ehtojen mukaisesti.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1887,7 +1799,7 @@ msgstr ""
"GNU General Public License-ehdoista.\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1895,16 +1807,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:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft ei aseta FS välilehteen POSIX awk:ssa"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "tuntematon arvo kenttämääritteelle: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1913,84 +1825,79 @@ msgstr ""
"%s: â€%s†argumentti valitsimelle â€-v†ei ole â€var=arvoâ€-muodossa\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "â€%s†ei ole laillinen muuttujanimi"
-#: main.c:1199
+#: main.c:1201
#, 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:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "ei voi käyttää gawk-ohjelman sisäistä â€%sâ€-määrittelyä muuttujanimenä"
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "funktionimeä â€%s†ei voi käyttää muuttujanimenä"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "liukulukupoikkeus"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "tuhoisa virhe: sisäinen virhe"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "tuhoisa virhe: sisäinen virhe: segmenttivirhe"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "tuhoisa virhe: sisäinen virhe: pinoylivuoto"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "ei avattu uudelleen tiedostomäärittelijää %d"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "ei voitu avata uudelleen laitetta /dev/null tiedostomäärittelijälle %d"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "ei voitu löytää ryhmiä: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "komentorivi:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "virhe:"
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "kenoviiva merkkijonon lopussa"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "vanha awk ei tue â€\\%câ€-koodinvaihtosekvenssiä"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX ei salli â€\\xâ€-koodinvaihtoja"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "ei heksadesimaalilukuja â€\\xâ€-koodinvaihtosekvenssissä"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -1999,12 +1906,12 @@ msgstr ""
"heksadesimaalikoodinvaihtomerkkejä \\x%.*s / %d ei ole luultavasti tulkittu "
"sillä tavalla kuin odotat"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "koodinvaihtosekvenssi â€\\%c†käsitelty kuin pelkkä â€%câ€"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2022,16 +1929,16 @@ msgstr "%s %s â€%sâ€: ei voitu hakea fd-lippuja: (fcntl F_GETFD: %s)"
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s â€%sâ€: ei voitu asettaa close-on-exec: (fcntl F_SETFD: %s)"
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "ei voitu avata tiedostoa â€%s†kirjoittamista varten: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "lähetetään profiili vakiovirheeseen"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2040,7 +1947,7 @@ msgstr ""
"\t# %s-lohko(t)\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2049,17 +1956,22 @@ msgstr ""
"\t# Säännöt\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "sisäinen virhe: %s null vname-arvolla"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "sisäinen virhe: %s null vname-arvolla"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiili, luotu %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2068,94 +1980,169 @@ msgstr ""
"\n"
"\t# Funktiot, luetteloitu aakkosjärjestyksessä\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tuntematon edelleenohjaustyyppi %d"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "muodon â€[%c-%c]†lukualue on paikallisasetuksesta riippuvainen"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
"säännöllisen lausekkeen komponentin â€%.*s†pitäisi luultavasti olla â€[%.*s]â€"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Onnistui"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Ei täsmäystä"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Virheellinen säännöllinen lauseke"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Virheellinen vertailumerkki"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Virheellinen merkkiluokkanimi"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "Jäljessä oleva kenoviiva"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Virheellinen paluuviite"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "Pariton [ tai [^"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "Pariton ( tai \\("
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "Pariton \\{"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Virheellinen \\{\\}-sisältö"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Virheellinen lukualueen loppu"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Muisti loppui"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Virheellinen edeltävä säännöllinen lauseke"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Ennenaikainen säännöllisen lausekkeen loppu"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "Säännöllinen lauseke on liian iso"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr "Pariton ) tai \\)"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "Ei edellistä säännöllistä lauseketta"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "yritettiin käyttää funktiota â€%s†taulukkona"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "viite alustamattomaan elementtiin â€%s[\"%.*s\"]â€"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "taulukon alaindeksi â€%s†on null-merkkijono"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: tyhjä (null)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: tyhjä (nolla)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: table_size = %d, array_size = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: on parametri\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: array_ref-viite taulukkoon %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "ei-taulukon käyttö taulukkona"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "funktionimeä â€%s†ei voi käyttää muuttujana tai taulukkona"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "yritettiin käyttää taulukkoa â€%s[\"%.*s\"]†skalaarikontekstissa"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "sijoitusta käytetty ehdollisessa kontekstissa"
+
+#~ msgid "statement has no effect"
+#~ msgstr "käskyllä ei ole vaikutusta"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr ""
+#~ "for-silmukka: taulukon â€%s†koko muuttui arvosta %ld arvoon %ld silmukan "
+#~ "suorituksen aikana"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "kohteen â€%s†kautta epäsuorasti kutsuttu funktio ei ole olemassa"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "funktio â€%s†ei ole määritelty"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "edelleenohjaamaton â€getline†virheellinen â€%sâ€-säännön sisällä"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "virhe luettaessa syötetiedostoa â€%sâ€: %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "â€nextfile†ei voida kutsua â€%sâ€-säännöstä"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "â€exit†ei voida kutsua nykyisessä asiayhteydessä"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "â€next†ei voida kutsua â€%sâ€-säännöstä"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Ei osata tulkita kohdetta â€%sâ€"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R tiedosto\t\t\t--exec=tiedosto\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "ei voitu löytää ryhmiä: %s"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "sijoitusta ei sallita sisäänrakennetun funktion tulokselle"
diff --git a/po/fr.gmo b/po/fr.gmo
index 49267fd7..60f7491a 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index b43094c4..f25cab0e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-07-16 16:50+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-01-30 23:52+0100\n"
"Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir."
"org>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -20,512 +20,469 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "de %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "tentative d'utiliser un scalaire comme tableau"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "tentative d'utiliser la fonction « %s » comme tableau"
-
-#: array.c:254
+#: array.c:369
#, 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:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "tentative d'utiliser le scalaire « %s » comme tableau"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, 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:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "référence à un élément non initialisé « %s[\"%.*s\"] »"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "l'indice du tableau « %s » est une chaîne vide"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete : l'indice « %s » est absent du tableau « %s »"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "tentative d'utiliser le scalaire « %s[\"%.*s\"] » comme tableau"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s : vide (non défini)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s : vide (vide)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s : table_size = %d, array_size = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s : est un paramètre\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s : array_ref à %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump : l'argument n'est pas un tableau"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort : le 2nd argument n'est pas un tableau"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti : le 2nd argument n'est pas un tableau"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort : le 1er argument n'est pas un tableau"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti : le 1er argument n'est pas un tableau"
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr "asort : le 2nd argument ne doit pas être un sous-tableau du 1er"
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr "asorti : le 2nd argument ne doit pas être un sous-tableau du 1er"
-#: array.c:1108
+#: array.c:855
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 2nd"
-#: array.c:1109
+#: array.c:856
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 2nd"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "« %s » n'est pas un nom de fonction valide"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "la fonction de comparaison « %s » du tri n'est pas définie"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "les blocs %s doivent avoir une partie action"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "chaque règle doit avoir au moins une partie motif ou action"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "l'ancien awk ne permet pas les « BEGIN » ou « END » multiples"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "« %s » est une fonction interne, elle ne peut être redéfinie"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "l'expression rationnelle constante « // » n'est pas un commentaire C++"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr "l'expression rationnelle constante « /%s/ » n'est pas un commentaire C"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "le corps du switch comporte des cas répétés : %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "plusieurs « default » ont été détectés dans le corps du switch"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "« break » est interdit en dehors d'une boucle ou d'un switch"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "« continue » est interdit en dehors d'une boucle ou d'un switch"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "« next » est utilisé dans l'action %s"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "« nextfile » est une extension gawk"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "« nextfile » est utilisé dans l'action %s"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "« return » est utilisé hors du contexte d'une fonction"
-#: awkgram.y:925
+#: awkgram.y:892
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 "
"\"\" »"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "« delete array » est une extension gawk"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "« delete(array) » est une extension non portable de tawk"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "impossible d'utiliser des tubes bidirectionnels en série"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "expression rationnelle à droite d'une affectation"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "expression rationnelle à gauche d'un opérateur « ~ » ou « !~ »"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "l'ancien awk n'autorise le mot-clef « in » qu'après « for »"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "expression rationnelle à droite d'une comparaison"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "« getline var » n'est pas valable dans une règle « %s »"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "« getline » n'est pas valable dans une règle « %s »"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "dans une action END, un « getline » non redirigé n'est pas défini"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "l'ancien awk ne dispose pas des tableaux multidimensionnels"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "l'appel de « length » sans parenthèses n'est pas portable"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "les appels indirects de fonctions sont une extension gawk"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, 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"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "expression indice non valide"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "utilisation d'un non tableau comme tableau"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "avertissement : "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "fatal : "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "fin de chaîne ou passage à la ligne inattendu"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "impossible d'ouvrir le fichier source « %s » en lecture (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "raison inconnue"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "le fichier source « %s » a déjà été intégré"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include est une extension gawk"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "Le nom de fichier après @include est vide"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "le programme indiqué en ligne de commande est vide"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "impossible de lire le fichier source « %s » (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "le fichier source « %s » est vide"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "le fichier source ne se termine pas par un passage à la ligne"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr ""
"expression rationnelle non refermée terminée par un « \\ » en fin de fichier"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, 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"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, 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"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "expression rationnelle non refermée"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "expression rationnelle non refermée en fin de fichier"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr ""
"l'utilisation de « \\ #... » pour prolonger une ligne n'est pas portable"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "la barre oblique inverse n'est pas le dernier caractère de la ligne"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX n'autorise pas l'opérateur « **= »"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "l'ancien awk ne dispose pas de l'opérateur « **= »"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX n'autorise pas l'opérateur « ** »"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "l'ancien awk ne dispose pas de l'opérateur « ** »"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "l'ancien awk ne dispose pas de l'opérateur « ^= »"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "l'ancien awk ne dispose pas de l'opérateur « ^ »"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "chaîne non refermée"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "caractère non valide « %c » dans l'expression"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "« %s » est une extension gawk"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "« %s » est une extension Bell Labs"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX n'autorise pas « %s »"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "l'ancien awk ne dispose pas de « %s »"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "« goto est jugé dangereux ! » (Edsger W. Dijkstra)\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d n'est pas un nombre d'arguments valide de %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, 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"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "le 3e paramètre de %s n'est pas un objet modifiable"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match : le 3e argument est une extension gawk"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close : le 2e argument est une extension gawk"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"utilisation incorrecte de dcgettext(_\"...\") : enlevez le souligné de tête"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"utilisation incorrecte de dcngettext(_\"...\") : enlevez le souligné de tête"
-#: awkgram.y:3893
-#, 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"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "fonction « %s » : le paramètre « %s » masque la variable globale"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "impossible d'ouvrir « %s » en écriture (%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "envoi de la liste des variables vers la sortie d'erreur standard"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s : échec de la fermeture (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadows_funcs() a été appelé deux fois !"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "il y avait des variables masquées."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "nom de fonction « %s » déjà défini"
+
+#: awkgram.y:4044
#, 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"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, 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"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "nom de fonction « %s » déjà défini"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr ""
+"fonction « %s » : paramètre #%d, « %s » est un doublon du paramètre #%d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "fonction « %s » appelée sans être définie"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "fonction « %s » définie mais jamais appelée directement"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, 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:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -534,232 +491,232 @@ msgstr ""
"fonction « %s » appelée avec un espace entre son nom\n"
"et « ( », ou utilisée comme variable ou tableau"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "tentative de division par zéro"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "tentative de division par zéro dans « %% »"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "échec de %s vers « %s » (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "sortie standard"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp : l'argument n'est pas numérique"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp : l'argument %g est hors limite"
-#: builtin.c:200
+#: builtin.c:202
#, 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"
-#: builtin.c:203
+#: builtin.c:205
#, 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"
-#: builtin.c:215
+#: builtin.c:217
#, 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"
-#: builtin.c:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index : le premier argument n'est pas une chaîne"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index : le second argument n'est pas une chaîne"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int : l'argument n'est pas numérique"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length : l'argument reçu est un tableau"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "« length(tableau) » est une extension gawk"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length : l'argument n'est pas une chaîne"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log : l'argument n'est pas numérique"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log : l'argument est négatif %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
"fatal : « numéro$ » doit être utilisé pour toutes les formats ou pour aucun"
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "taille du champ de la spécification « %% » ignorée"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "précision de la spécification « %% » ignorée"
-#: builtin.c:765
+#: builtin.c:770
#, 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:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal : « $ » n'est pas autorisé dans les formats awk"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal : le numéro d'argument de « $ » doit être > 0"
-#: builtin.c:829
+#: builtin.c:834
#, 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"
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal : dans un format, « $ » ne doit pas suivre un point"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
"fatal : aucun « $ » fourni pour la taille ou la précision du champ positionné"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "« l » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal : « l » est interdit dans un format awk POSIX"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "« L » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal : « L » est interdit dans un format awk POSIX"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "« h » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal : « h » est interdit dans un format awk POSIX"
-#: builtin.c:1271
+#: builtin.c:1276
#, 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:1331
+#: builtin.c:1336
#, 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:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr "fatal : pas assez d'arguments pour satisfaire la chaîne de formatage"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "^ à court pour celui-ci"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf : spécification de format sans lettre de contrôle"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "trop d'arguments pour la chaîne de formatage"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf : aucun argument"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt : l'argument n'est pas numérique"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt : appelé avec un argument négatif %g"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr : la longueur %g n'est pas >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr : la longueur %g n'est pas >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, 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:1516
+#: builtin.c:1521
#, 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:1528
+#: builtin.c:1533
#, 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:1533
+#: builtin.c:1538
#, 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:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr : la chaîne source est de longueur nulle"
-#: builtin.c:1574
+#: builtin.c:1579
#, 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:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -767,237 +724,232 @@ 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:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime : la valeur de formatage PROCINFO[\"strftime\"] est de type "
"numérique"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime : le second argument n'est pas numérique"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
+msgstr "strftime: second argument négatif ou trop grand pour time_t"
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftim : le premier argument n'est pas une chaîne"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime : la chaîne de formatage est vide"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime : l'argument n'est pas une chaîne"
-#: builtin.c:1778
+#: builtin.c:1784
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"
-#: builtin.c:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "La fonction « system » est interdite en isolement (mode sandbox)"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system : l'argument n'est pas une chaîne"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "référence à une variable non initialisée « %s »"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "référence à un champ non initialisé « $%d »"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower : l'argument n'est pas une chaîne"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper : l'argument n'est pas une chaîne"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2 : le premier argument n'est pas numérique"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2 : le second argument n'est pas numérique"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin : l'argument n'est pas numérique"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos : l'argument n'est pas numérique"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand : l'argument n'est pas numérique"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match : le 3e argument n'est pas un tableau"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub : le 3e argument vaut 0, il sera traité comme un 1"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift : le premier argument n'est pas numérique"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift : le second argument reçu n'est pas numérique"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr ""
"lshift(%lf, %lf) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf) : les valeurs non entières seront tronquées"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"lshift(%lf, %lf) : un décalage trop grand donnera des résultats inattendus"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift : le premier argument n'est pas numérique"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift : le second argument reçu n'est pas numérique"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr ""
"rshift(%lf, %lf) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf) : les valeurs non entières seront tronquées"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"rshift(%lf, %lf) : un décalage trop grand donnera des résultats inattendus"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and : le premier argument n'est pas numérique"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and : le second argument reçu n'est pas numérique"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr ""
"and(%lf, %lf) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): les valeurs non entières seront tronquées"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or : le premier argument n'est pas numérique"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or : le second argument reçu n'est pas numérique"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr ""
"or(%lf, %lf) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf) : les valeurs non entières seront tronquées"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor : le premier argument n'est pas numérique"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor : le second argument reçu n'est pas numérique"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr ""
"xor(%lf, %lf) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf) : les valeurs non entières seront tronquées"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl : l'argument n'est pas numérique"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf) : les valeurs négatives donneront des résultats inattendus"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf) : les valeurs non entières seront tronquées"
-#: builtin.c:3135
+#: builtin.c:3137
#, 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"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "type de nœud %d inconnu"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "code opération %d inconnu"
-#: eval.c:434
+#: eval.c:415
#, c-format
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:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "débordement de tampon dans genflag2str"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -1008,222 +960,171 @@ msgstr ""
"\t# Pile des appels de fonctions :\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "« IGNORECASE » est une extension gawk"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "« BINMODE » est une extension gawk"
-#: eval.c:812
+#: 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:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "spécification de « %sFMT » erronée « %s »"
-#: eval.c:980
+#: 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:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "impossible d'utiliser la fonction « %s » comme variable ou tableau"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "référence à un argument non initialisé « %s »"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "référence à une variable non initialisée « %s »"
+
+#: eval.c:1138
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:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "tentative de référence à un champ via une chaîne nulle"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "tentative d'accès au champ %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "référence à un champ non initialisé « $%ld »"
-#: eval.c:1256
+#: eval.c:1242
#, 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:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: type « %s » inattendu"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "tentative de division par zéro dans « /= »"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "tentative de division par zéro dans « %%= »"
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr ""
-"tentative d'utilisation du tableau « %s[\"%.*s\"] » dans un contexte scalaire"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "affectation utilisée dans un contexte conditionnel"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "la déclaration est sans effet"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr "boucle for : la taille du tableau « %s » est passée de %ld à %ld"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "la fonction indirectement appelée via « %s » n'existe pas"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "fonction « %s » non définie"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "un « getline » non redirigé n'est pas valable dans une règle « %s »"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "erreur lors de la lecture du fichier en entrée « %s » : %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "« nextfile » ne peut pas être appelé depuis une règle « %s »"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "« next » ne peut pas être appelé depuis une règle « %s »"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Désolé, je ne sais pas comment interpréter « %s »"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "les extensions sont interdites en isolement (mode sandbox)"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "« extension » est une extension gawk"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "fatal : extension : impossible d'ouvrir « %s » (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"fatal : extension : la bibliothèque « %s »ne définit pas "
"« plugin_is_GPL_compatible » (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"fatal : extension : bibliothèque « %s » : impossible d'appeler la fonction "
"« %s » (%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "extension : nom de fonction manquant"
-#: ext.c:142
+#: ext.c:124
#, 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 »"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension : impossible de redéfinir la fonction « %s »"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension : fonction « %s » est déjà définie"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension : nom de la fonction « %s » déjà défini"
-#: ext.c:162
+#: ext.c:142
#, 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"
-#: ext.c:166
+#: ext.c:145
#, 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:269
+#: ext.c:207
#, 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:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "fonction « %s » : argument #%d manquant"
-#: ext.c:289
+#: ext.c:227
#, 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"
-#: ext.c:293
+#: ext.c:231
#, 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"
-#: ext.c:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "Opération non disponible"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "une valeur négative a été assignée à NF"
@@ -1287,549 +1188,559 @@ msgstr ""
"patsplit : impossible d'utiliser un sous-tableau du 4e argument en 2e "
"argument"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "« FIELDWIDTHS » est une extension gawk"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valeur de FIELDWIDTHS non valide, près de « %s »"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "utiliser une chaîne vide pour « FS » est une extension gawk"
-#: field.c:1250
+#: field.c:1252
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 »"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "« FPAT » est une extension gawk"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s : l'option « %s » est ambiguë\n"
-#: getopt.c:623 getopt.c:627
+#: 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:636 getopt.c:641
+#: 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:684 getopt.c:703
+#: 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:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s : option non reconnue « --%s »\n"
-#: getopt.c:752 getopt.c:755
+#: 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:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s : option non valide -- « %c »\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: 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:930 getopt.c:946
+#: 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:970 getopt.c:988
+#: 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:1009 getopt.c:1027
+#: 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:280
+#: io.c:315
#, 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:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "impossible d'ouvrir le fichier « %s » en lecture (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "échec de la fermeture du fd %d (« %s ») : %s"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "les redirections sont interdites en isolement (mode sandbox)"
-#: io.c:612
+#: io.c:648
#, 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:618
+#: io.c:654
#, 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:624
+#: io.c:659
#, 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"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mélange non nécessaire de « > » et « >> » pour le fichier « %.*s »"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "impossible d'ouvrir le tube « %s » en sortie (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "impossible d'ouvrir le tube « %s » en entrée (%s)"
-#: io.c:753
+#: io.c:788
#, 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)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "impossible de rediriger depuis « %s » (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "impossible de rediriger vers « %s » (%s)"
-#: io.c:889
+#: io.c:924
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:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "échec de la fermeture de « %s » (%s)"
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "trop de fichiers d'entrées ou de tubes ouverts"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close : le second argument doit être « to » ou « from »"
-#: io.c:952
+#: io.c:987
#, 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"
-#: io.c:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "fermeture d'une redirection qui n'a jamais été ouverte"
-#: io.c:1054
+#: io.c:1089
#, 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é"
-#: io.c:1070
+#: io.c:1105
#, 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:1073
+#: io.c:1108
#, 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:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "aucune fermeture explicite du connecteur « %s » fournie"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "aucune fermeture explicite du co-processus « %s » fournie"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "aucune fermeture explicite du tube « %s » fournie"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "aucune fermeture explicite du fichier « %s » fournie"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "erreur lors de l'écriture vers la sortie standard (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "erreur lors de l'écriture vers l'erreur standard (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "échec du vidage du tube « %s » (%s)."
-#: io.c:1145
+#: io.c:1180
#, 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:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "échec du vidage vers le fichier « %s » (%s)"
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "le port local %s n'est pas valide dans « /inet »"
-#: io.c:1280
+#: io.c:1315
#, 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"
-#: io.c:1432
+#: io.c:1467
#, 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 »"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "nom de fichier spécial « %s » incomplet"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "un nom d'hôte distant doit être fourni à « /inet »"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "un port distant doit être fourni à « /inet »"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "les communications TCP/IP ne sont pas disponibles"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "impossible d'ouvrir « %s », mode « %s »"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "échec de la fermeture du pty maître (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "échec de la fermeture de stdout du processus fils (%s)"
-#: io.c:1753
+#: io.c:1788
#, 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)"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "échec de fermeture du stdin du processus fils (%s)"
-#: io.c:1758
+#: io.c:1793
#, 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)"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "échec de la fermeture du pty esclave (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, 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:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, 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:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr "échec de la restauration du stdout dans le processus parent\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr "échec de la restauration du stdin dans le processus parent\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "échec de la fermeture du tube (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "« |& » non disponible"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "impossible d'ouvrir le tube « %s » (%s)"
-#: io.c:2088
+#: io.c:2123
#, 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:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "le fichier de données « %s » est vide"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "impossible d'allouer plus de mémoire d'entrée"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr ""
"l'utilisation d'un « RS » de plusieurs caractères est une extension gawk"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "les communications IPv6 ne sont pas disponibles"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "l'option « -m[fr] » n'est pas pertinente en gawk"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "utilisation de l'option « -m » : « -m[fr] nnn »"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "argument vide de l'option « -e / --source » ignoré"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s : option « -W %s » non reconnue, ignorée\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s : l'option requiert un argument -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"variable d'environnement « POSIXLY__CORRECT » définie : activation de « --"
"posix »"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "« --posix » prend le pas sur « --traditional »"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
"« --posix » et « --traditional » prennent le pas sur « --non-decimal-data »"
-#: main.c:555
+#: main.c:552
#, 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é"
-#: main.c:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "« --posix » prend le pas sur « --binary »"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "impossible d'activer le mode binaire sur stdin (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "impossible d'activer le mode binaire sur stdout (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "impossible d'activer le mode binaire sur stderr (%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "aucun programme !"
-#: main.c:733
+#: main.c:737
#, 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"
-#: main.c:735
+#: main.c:739
#, 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"
-#: main.c:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Options POSIX :\t\tOptions longues GNU : (standard)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fichier_prog\t\t--file=fichier_prog\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valeur\t\t--assign=var=valeur\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Options POSIX :\t\tOptions longues GNU : (extensions)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fichier]\t\t--dump-variables[=fichier]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[fichier]\t\t--profile[=fichier]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programme'\t\t--source='programme'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fichier\t\t--exec=fichier\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[fichier]\t\t--profile[=fichier]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fichier]\t\t--profile[=fichier]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R fichier\t\t\t--command=fichier\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1838,7 +1749,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1853,7 +1764,7 @@ msgstr ""
"<traduc CHEZ traduc POINT org>.\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1863,7 +1774,7 @@ msgstr ""
"Par défaut, il lit l'entrée standard et écrit sur la sortie standard.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1873,7 +1784,7 @@ msgstr ""
"\tgawk '{ somme += $1 }; END { print somme }' fichier\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1893,7 +1804,7 @@ msgstr ""
"version ultérieure de votre choix.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1908,7 +1819,7 @@ msgstr ""
"General Public License).\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1917,16 +1828,16 @@ msgstr ""
"(GNU General Public License) avec ce programme. Sinon, consultez\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:855
+#: main.c:860
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:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valeur inconnue pour la définition de champ : %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1935,84 +1846,79 @@ msgstr ""
"%s : « %s » l'argument de « -v » ne respecte pas la forme « var=valeur »\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "« %s » n'est pas un nom de variable valide"
-#: main.c:1199
+#: main.c:1201
#, 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:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "impossible d'utiliser le mot clef gawk « %s » comme variable"
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "impossible d'utiliser la fonction « %s » comme variable"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "exception du traitement en virgule flottante"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "fatal : erreur interne"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "fatal : erreur interne : erreur de segmentation"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "fatal : erreur interne : débordement de la pile"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "aucun descripteur fd %d pré-ouvert"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "impossible de pré-ouvrir /dev/null pour le descripteud fd %d"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "impossible de trouver les groupes : %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "ligne de commande:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "erreur : "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "barre oblique inverse à la fin de la chaîne"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "l'ancien awk ne dispose pas de la séquence d'échappement « \\%c »"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX n'autorise pas les séquences d'échappement « \\x »"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "aucun chiffre hexadécimal dans la séquence d'échappement « \\x » "
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -2021,12 +1927,12 @@ 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:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "séquence d'échappement « \\%c » traitée comme un simple « %c »"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2046,16 +1952,16 @@ 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)"
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "impossible d'ouvrir « %s » en écriture : %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "envoi du profil vers la sortie d'erreur standard"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2064,7 +1970,7 @@ msgstr ""
"\t# Bloc(s) %s\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2073,17 +1979,22 @@ msgstr ""
"\t# Règle(s)\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "erreur interne : %s avec un vname nul"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "erreur interne : %s avec un vname nul"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profile gawk, créé %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2092,96 +2003,169 @@ msgstr ""
"\n"
"\t# Fonctions, par ordre alphabétique\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str : type de redirection %d inconnu"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
-msgstr ""
-"les plages de type « [%c-%c] » sont dépendantes des paramètres régionaux "
-"(locale)"
+msgstr "les plages « [%c-%c] » sont dépendantes des paramètres régionaux"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
"le composant d'expression rationnelle « %.*s » devrait probablement être "
"« [%.*s] »"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Succès"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Aucune concordance"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Expression rationnelle non valide"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Caractère d'interclassement non valide"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Nom de classe de caractères non valide"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "Barre oblique inverse finale"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Référence arrière non valide"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "[ ou [^ sans correspondance"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "( ou \\( sans correspondance"
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "\\{ sans correspondance"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Contenu de \\{\\} non valide"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Borne finale non valide"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Mémoire épuisée"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Expression rationnelle précédente non valide"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Fin prématurée de l'expression rationnelle"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "Expression rationnelle trop grande"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ") ou \\) sans correspondance"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "Aucune expression rationnelle précédente"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "tentative d'utiliser la fonction « %s » comme tableau"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "référence à un élément non initialisé « %s[\"%.*s\"] »"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "l'indice du tableau « %s » est une chaîne vide"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s : vide (non défini)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s : vide (vide)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s : table_size = %d, array_size = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s : est un paramètre\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s : array_ref à %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "utilisation d'un non tableau comme tableau"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "impossible d'utiliser la fonction « %s » comme variable ou tableau"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr ""
+#~ "tentative d'utilisation du tableau « %s[\"%.*s\"] » dans un contexte "
+#~ "scalaire"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "affectation utilisée dans un contexte conditionnel"
+
+#~ msgid "statement has no effect"
+#~ msgstr "la déclaration est sans effet"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr "boucle for : la taille du tableau « %s » est passée de %ld à %ld"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "la fonction indirectement appelée via « %s » n'existe pas"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "fonction « %s » non définie"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "un « getline » non redirigé n'est pas valable dans une règle « %s »"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "erreur lors de la lecture du fichier en entrée « %s » : %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "« nextfile » ne peut pas être appelé depuis une règle « %s »"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "« exit » ne peut pas être appelé dans ce contexte"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "« next » ne peut pas être appelé depuis une règle « %s »"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Désolé, je ne sais pas comment interpréter « %s »"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R fichier\t\t\t--command=fichier\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "impossible de trouver les groupes : %s"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "impossible d'affecter au résultat d'une fonction interne"
diff --git a/po/gawk.pot b/po/gawk.pot
index aa30ff3c..29777e0c 100644
--- a/po/gawk.pot
+++ b/po/gawk.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0e\n"
+"Project-Id-Version: gawk 4.0.70\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\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,944 +17,895 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr ""
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr ""
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr ""
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr ""
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr ""
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr ""
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr ""
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr ""
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr ""
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr ""
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
+#: array.c:794
+msgid "adump: first argument not an array"
msgstr ""
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr ""
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr ""
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr ""
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr ""
-
-#: array.c:963
-msgid "adump: argument not an array"
-msgstr ""
-
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr ""
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr ""
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr ""
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr ""
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
-#: array.c:1108
+#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
-#: array.c:1109
+#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr ""
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr ""
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr ""
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr ""
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr ""
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr ""
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr ""
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr ""
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr ""
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr ""
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr ""
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr ""
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr ""
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr ""
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr ""
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr ""
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr ""
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr ""
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr ""
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr ""
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr ""
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr ""
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr ""
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr ""
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr ""
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr ""
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr ""
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr ""
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr ""
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr ""
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr ""
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr ""
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr ""
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr ""
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr ""
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr ""
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr ""
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr ""
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr ""
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr ""
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr ""
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr ""
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr ""
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr ""
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr ""
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr ""
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr ""
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr ""
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr ""
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr ""
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr ""
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr ""
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr ""
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr ""
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr ""
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr ""
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr ""
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr ""
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr ""
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr ""
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr ""
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr ""
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr ""
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr ""
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr ""
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr ""
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr ""
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr ""
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr ""
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr ""
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr ""
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr ""
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr ""
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr ""
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr ""
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr ""
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr ""
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr ""
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
"or used as a variable or an array"
msgstr ""
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr ""
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr ""
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr ""
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr ""
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr ""
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr ""
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
-#: builtin.c:215
+#: builtin.c:217
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr ""
-#: builtin.c:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr ""
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr ""
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr ""
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr ""
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr ""
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr ""
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr ""
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr ""
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr ""
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr ""
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr ""
-#: builtin.c:829
+#: builtin.c:834
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr ""
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:1271
+#: builtin.c:1276
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr ""
-#: builtin.c:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr ""
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr ""
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr ""
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr ""
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr ""
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr ""
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr ""
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr ""
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr ""
-#: builtin.c:1516
+#: builtin.c:1521
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr ""
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr ""
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr ""
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr ""
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
msgstr ""
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr ""
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr ""
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr ""
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr ""
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr ""
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr ""
-#: builtin.c:1778
+#: builtin.c:1784
msgid "mktime: at least one of the values is out of the default range"
msgstr ""
-#: builtin.c:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr ""
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr ""
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr ""
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr ""
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr ""
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr ""
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr ""
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr ""
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr ""
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr ""
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr ""
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr ""
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr ""
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr ""
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr ""
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr ""
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr ""
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr ""
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr ""
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr ""
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr ""
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr ""
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr ""
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr ""
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr ""
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr ""
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr ""
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr ""
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr ""
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr ""
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr ""
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -962,211 +913,161 @@ msgid ""
"\n"
msgstr ""
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr ""
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr ""
-#: eval.c:812
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr ""
-#: eval.c:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr ""
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr ""
-#: eval.c:1127 eval.c:1777
+#: eval.c:1119
#, c-format
-msgid "can't use function name `%s' as variable or array"
+msgid "reference to uninitialized argument `%s'"
msgstr ""
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1120
#, c-format
-msgid "reference to uninitialized argument `%s'"
+msgid "reference to uninitialized variable `%s'"
msgstr ""
-#: eval.c:1177
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr ""
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr ""
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr ""
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr ""
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr ""
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr ""
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr ""
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr ""
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr ""
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr ""
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr ""
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr ""
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr ""
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr ""
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr ""
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr ""
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr ""
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr ""
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr ""
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr ""
-#: ext.c:85
+#: ext.c:80
#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr ""
-#: ext.c:94
+#: ext.c:86
#, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
-#: ext.c:103
+#: ext.c:91
#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr ""
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr ""
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr ""
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr ""
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr ""
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr ""
-#: ext.c:269
+#: ext.c:207
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr ""
-#: ext.c:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr ""
-#: ext.c:289
+#: ext.c:227
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr ""
-#: ext.c:293
+#: ext.c:231
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr ""
-#: ext.c:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr ""
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr ""
@@ -1223,527 +1124,535 @@ msgstr ""
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr ""
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr ""
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr ""
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
msgstr ""
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr ""
-#: getopt.c:574 getopt.c:590
+#: getopt.c:604 getopt.c:633
#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr ""
-#: getopt.c:623 getopt.c:627
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:636 getopt.c:641
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:684 getopt.c:703
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr ""
-#: getopt.c:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr ""
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr ""
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: 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:930 getopt.c:946
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr ""
-#: getopt.c:970 getopt.c:988
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
-#: getopt.c:1009 getopt.c:1027
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr ""
-#: io.c:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr ""
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr ""
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr ""
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr ""
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr ""
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr ""
-#: io.c:624
+#: io.c:659
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr ""
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr ""
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr ""
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr ""
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr ""
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr ""
-#: io.c:889
+#: io.c:924
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
-#: io.c:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr ""
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr ""
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr ""
-#: io.c:952
+#: io.c:987
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr ""
-#: io.c:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr ""
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
-#: io.c:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr ""
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr ""
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr ""
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr ""
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr ""
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr ""
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr ""
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr ""
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr ""
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr ""
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr ""
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr ""
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr ""
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr ""
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr ""
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr ""
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr ""
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr ""
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr ""
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr ""
-#: io.c:1753
+#: io.c:1788
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr ""
-#: io.c:1758
+#: io.c:1793
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr ""
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr ""
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr ""
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr ""
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr ""
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr ""
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr ""
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr ""
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr ""
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr ""
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr ""
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr ""
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr ""
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr ""
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr ""
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr ""
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr ""
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
-#: main.c:555
+#: main.c:552
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr ""
-#: main.c:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr ""
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr ""
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr ""
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr ""
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr ""
-#: main.c:733
+#: main.c:737
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr ""
-#: main.c:735
+#: main.c:739
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr ""
-#: main.c:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr ""
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr ""
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr ""
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr ""
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr ""
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr ""
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr ""
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr ""
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr ""
-#: main.c:749
+#: main.c:753
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr ""
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr ""
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr ""
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr ""
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr ""
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr ""
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr ""
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr ""
-#: main.c:756
+#: main.c:762
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr ""
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr ""
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr ""
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr ""
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr ""
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr ""
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr ""
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr ""
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr ""
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr ""
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr ""
@@ -1752,7 +1661,7 @@ msgstr ""
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1760,21 +1669,21 @@ msgid ""
"\n"
msgstr ""
-#: main.c:782
+#: main.c:787
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:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
msgstr ""
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1786,7 +1695,7 @@ msgid ""
"\n"
msgstr ""
-#: main.c:814
+#: main.c:819
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"
@@ -1795,118 +1704,113 @@ msgid ""
"\n"
msgstr ""
-#: main.c:820
+#: main.c:825
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:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr ""
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr ""
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr ""
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr ""
-#: main.c:1199
+#: main.c:1201
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr ""
-#: main.c:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr ""
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr ""
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr ""
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr ""
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr ""
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr ""
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr ""
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr ""
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr ""
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr ""
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr ""
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr ""
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr ""
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr ""
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
"expect"
msgstr ""
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr ""
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -1922,129 +1826,133 @@ msgstr ""
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr ""
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr ""
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr ""
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
"\n"
msgstr ""
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
"\n"
msgstr ""
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr ""
-#: profile.c:952
+#: profile.c:528
+msgid "internal error: builtin with null fname"
+msgstr ""
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr ""
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
"\t# Functions, listed alphabetically\n"
msgstr ""
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr ""
-#: re.c:572
+#: re.c:573
#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
msgstr ""
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr ""
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr ""
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr ""
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr ""
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr ""
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr ""
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr ""
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr ""
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr ""
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr ""
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr ""
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr ""
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr ""
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr ""
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr ""
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr ""
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ""
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr ""
diff --git a/po/it.gmo b/po/it.gmo
index 597024e7..7ccd1762 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 4fd09749..8d12276a 100644
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gawk 3.1.81\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
"PO-Revision-Date: 2011-03-19 16:52+0100\n"
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
"Language-Team: Italian <it@li.org>\n"
@@ -15,513 +15,470 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "da %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "tentativo di usare valore scalare come vettore"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "tentativo di usare funzione '%s' come vettore"
-
-#: array.c:254
+#: array.c:369
#, 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:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "tentativo di usare scalare '%s' come vettore"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "tentativo di usare vettore `%s' in un contesto scalare"
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "riferimento a elemento non inizializzato `%s[\"%.*s\"]'"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "l'indice del vettore '%s' è una stringa nulla"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indice `%s' non presente nel vettore `%s'"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "tentativo di usare scalare`%s[\"%.*s\"]' come vettore"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: vuoto (nullo)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: vuoto (zero)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: dimensione_tabella = %d, dimensione_vettore = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: è parametro\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: riferimento_vettoriale a %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: l'argomento non è un vettore"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: il secondo argomento non è un vettore"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: il secondo argomento non è un vettore"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: il primo argomento non è un vettore"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: il primo argomento non è un vettore"
-#: array.c:1102
+#: array.c:849
#, fuzzy
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
"patsplit: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: array.c:1103
+#: array.c:850
#, fuzzy
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
"patsplit: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: array.c:1108
+#: array.c:855
#, fuzzy
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
"split: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: array.c:1109
+#: array.c:856
#, fuzzy
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
"split: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: array.c:1659
+#: array.c:1329
#, fuzzy, c-format
msgid "`%s' is invalid as a function name"
msgstr "estensione: manca nome di funzione"
-#: array.c:1663
+#: array.c:1333
#, fuzzy, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "funzione `%s' non definita"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "blocchi %s richiedono una 'azione'"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "ogni regola deve avere una parte 'espressione' o una parte 'azione'"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "il vecchio awk non supporta più di una regola `BEGIN' o `END'"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "`%s' è una funzione interna, non si può ridefinire"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "espressione regolare costante `//' sembra un commento C++, ma non lo è"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr "espressione regolare costante `/%s/' sembra un commento C, ma non lo è"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "valori di 'case' doppi all'interno di uno 'switch': %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "valori di default doppi all'interno di uno 'switch'"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "`break' non permesso fuori da un ciclo o da uno 'switch'"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "`continue' non permesso fuori da un un ciclo"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "`next' usato in 'azione' %s"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "`nextfile' è un'estensione gawk"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "`nextfile' usato in 'azione' %s"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "`return' usato fuori da una funzione"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr "`print' da solo in BEGIN o END dovrebbe forse essere `print \"\"'"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "`delete array' è un'estensione gawk"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(array)' è un'estensione tawk non-portabile"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "'pipeline' multistadio bidirezionali non funzionano"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "espressione regolare usata per assegnare un valore"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "espressione regolare prima di operatore `~' o `!~'"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "il vecchio awk non supporta la parola-chiave `in' se non dopo `for'"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "espressione regolare a destra in un confronto"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "`getline var' invalida all'interno della regola `%s'"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "`getline' invalida all'interno della regola `%s'"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "`getline' non re-diretta indefinita dentro 'azione' END"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "il vecchio awk non supporta vettori multidimensionali"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "chiamata a `length' senza parentesi non portabile"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "chiamate a funzione indirette sono un'estensione gawk"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
"non posso usare la variabile speciale `%s' come parametro indiretto di "
"funzione "
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "espressione indice invalida"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "uso di non-vettore come vettore"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "attenzione: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "fatale: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "carattere 'a capo' o fine stringa inaspettati"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "ragione indeterminata"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "file sorgente `%s' già incluso"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include è un'estensione gawk"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "nome-file mancante dopo @include"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "programma nullo sulla linea comandi"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "non riesco a leggere file sorgente `%s' (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "file sorgente `%s' vuoto"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "file sorgente non termina con carattere 'a capo'"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "espressione regolare non completata termina con `\\' a fine file"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
"%s: %d: modificatore di espressione regolare tawk `/.../%c' non valido in "
"gawk"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "modificatore di espressione regolare tawk `/.../%c' non valido in gawk"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "espressione regolare non completata"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "espressione regolare non completata a fine file"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr "uso di `\\ #...' continuazione linea non portabile"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "'\\' non è l'ultimo carattere della linea"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX non permette l'operatore `**='"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "il vecchio awk non supporta l'operatore `**='"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX non permette l'operatore `**'"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "il vecchio awk non supporta l'operatore `**'"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "l'operatore `^=' non è supportato nel vecchio awk"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "l'operatore `^' non è supportato nel vecchio awk"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "stringa non terminata"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "carattere '%c' non valido in un'espressione"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' è un'estensione gawk"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "`%s' è un'estensione Bell Labs"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX non permette `%s'"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "`%s' non è supportato nel vecchio awk"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "`goto' considerato pericoloso!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d non valido come numero di argomenti per %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr "%s: una stringa come ultimo argomento di 'substitute' non ha effetto"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "il terzo parametro di '%s' non è un oggetto modificabile"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: il terzo argomento è un'estensione gawk"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: il secondo argomento è un'estensione gawk"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"uso scorretto di dcgettext(_\"...\"): togliere il carattere '_' iniziale"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"uso scorretto di dcngettext(_\"...\"): togliere il carattere '_' iniziale"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funzione `%s': parametro `%s' nasconde variabile globale"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "non riesco ad aprire `%s' in scrittura (%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
#, fuzzy
msgid "sending variable list to standard error"
msgstr "mando profilo a 'standard error'"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: 'close' fallita (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() chiamata due volte!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "c'erano variabili nascoste."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "funzione di nome `%s' definita in precedenza"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funzione `%s': non posso usare nome della funzione come nome parametro"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
"funzione `%s': non posso usare la variabile speciale `%s' come parametro di "
"funzione"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "funzione di nome `%s' definita in precedenza"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "funzione `%s' chiamata ma mai definita"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funzione `%s' definita ma mai chiamata direttamente"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, 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:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -530,227 +487,227 @@ msgstr ""
"funzione `%s' chiamata con spazio tra il nome e `(',\n"
"o usata come variabile o vettore"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "tentativo di dividere per zero"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "tentativo di dividere per zero in `%%'"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s a \"%s\" fallita (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "standard output"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: argomento non numerico"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argomento %g non accettabile"
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: non posso scaricare: 'pipe' `%s' aperta in lettura, non in scrittura"
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: non posso scaricare: file `%s' aperto in lettura, non in scrittura"
-#: builtin.c:215
+#: builtin.c:217
#, 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:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: il primo argomento non è una stringa"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: il secondo argomento non è una stringa"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: argomento non numerico"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: l'argomento fornito è un vettore"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "`length(array)' è un'estensione gawk"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: l'argomento non è una stringa"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: argomento non numerico"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: argomento negativo %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr ""
-#: builtin.c:816
+#: builtin.c:821
#, fuzzy
msgid "fatal: `$' is not permitted in awk formats"
msgstr "l'operatore `^' non è supportato nel vecchio awk"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr ""
-#: builtin.c:829
+#: builtin.c:834
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr ""
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:1271
+#: builtin.c:1276
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr ""
-#: builtin.c:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr ""
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr ""
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr ""
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: manca argomento"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: argomento non numerico"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: chiamata con argomento negativo %g"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: lunghezza %g non >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: lunghezza %g non >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: lunghezza non intera %g: sarà troncata"
-#: builtin.c:1516
+#: builtin.c:1521
#, 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:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: indice di partenza %g non valido, uso 1"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: indice di partenza non intero %g: sarà troncato"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: stringa di partenza lunga zero"
-#: builtin.c:1574
+#: builtin.c:1579
#, 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:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -758,228 +715,223 @@ msgstr ""
"substr: lunghezza %g all'indice di partenza %g supera la lunghezza del primo "
"argomento (%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: il valore del 'format' in PROCINFO[\"strftime\"] è di tipo numerico"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: il secondo argomento non è numerico"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr ""
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: il primo argomento non è una stringa"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: 'format' è una stringa nulla"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: l'argomento non è una stringa"
-#: builtin.c:1778
+#: builtin.c:1784
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:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "la funzione 'system' non è permessa in modo 'sandbox'"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: l'argomento non è una stringa"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "riferimento a variabile non inizializzata `%s'"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "riferimento a variabile non inizializzata `$%d'"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: l'argomento non è una stringa"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: l'argomento non è una stringa"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: il primo argomento non è numerico"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: il secondo argomento non è numerico"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: l'argomento non è numerico"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: l'argomento non è numerico"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: l'argomento non è numerico"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: il terzo argomento non è un vettore"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: il terzo argomento è 0, trattato come 1"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: il primo argomento non è numerico"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: il secondo argomento non è numerico"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr "lshift(%lf, %lf): valori troppo alti daranno risultati strani"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: il primo argomento non è numerico"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: il secondo argomento non è numerico"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr "rshift(%lf, %lf): valori troppo alti daranno risultati strani"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: il primo argomento non è numerico"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: il secondo argomento non è numerico"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: il primo argomento non è numerico"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: il secondo argomento non è numerico"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: il primo argomento non è numerico"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: il secondo argomento non è numerico"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: l'argomento non è numerico"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): valore negativo darà risultati strani"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): valore con decimali verrà troncato"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' non è una categoria 'locale' valida"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "tipo nodo sconosciuto %d"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "codice operativo sconosciuto %d"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "codice operativo %s non è un operatore o una parola chiave"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "superamento limiti buffer in 'genflags2str'"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -990,217 +942,165 @@ msgstr ""
"\t# 'Stack' (Pila) Chiamate Funzione:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "`IGNORECASE' è un'estensione gawk"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "`BINMODE' è un'estensione gawk"
-#: eval.c:812
+#: 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:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "specificazione invalida `%sFMT' `%s'"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "disabilito `--lint' a causa di assegnamento a `LINT'"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "non posso usare nome di funzione `%s' come variabile o vettore"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "riferimento ad argomento non inizializzato `%s'"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "riferimento a variabile non inizializzata `%s'"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "tentativo di riferimento a un campo da valore non numerico"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "tentativo di riferimento a un campo da una stringa nulla"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "tentativo di accedere al campo %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "riferimento a campo non inizializzato `$%ld'"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funzione `%s' chiamata con più argomenti di quelli previsti"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: tipo non previsto `%s'"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "divisione per zero tentata in `/='"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "divisione per zero tentata in `%%='"
-#: eval.c:1876 eval.c:2122
-#, fuzzy, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "tentativo di usare vettore `%s' in un contesto scalare"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "assegnamento usato nel contesto di un test condizionale"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "istruzione che non fa nulla"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"ciclo for: vettore `%s' ha cambiato dimensione da %ld a %ld durante "
-"l'esecuzione del ciclo"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "la funzione chiamata indirettamente tramite `%s' non esiste"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "funzione `%s' non definita"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "`getline' non-diretta indefinita dentro regola '%s'"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "errore leggendo file di input `%s': %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "`nextfile' non può essere chiamato da una regola `%s'"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "`next' non può essere chiamato da una regola `%s'"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Spiacente, non so come interpretare `%s'"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "le estensioni non sono permesse in modo 'sandbox'"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "`extension' è un'estensione gawk"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "fatale: estensione: non riesco ad aprire `%s' (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"fatale: estensione: libreria `%s': non definisce "
"`plugin_is_GPL_compatible' (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"fatale: estensione: libreria `%s': non riesco a chiamare funzione `%s' (%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "estensione: manca nome di funzione"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "estensione: carattere non ammesso `%c' nel nome di funzione `%s'"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "estensione: non riesco a ridefinire funzione `%s'"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "estensione: funzione `%s' già definita"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "estensione: funzione di nome `%s' definita in precedenza"
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
"estensione: nome funzione interna gawk `%s' non ammesso come nome funzione"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: contatore argomenti negativo per la funzione `%s'"
-#: ext.c:269
+#: ext.c:207
#, 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:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "funzione `%s': manca argomento #%d"
-#: ext.c:289
+#: ext.c:227
#, 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:293
+#: ext.c:231
#, 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:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "Operazione Non Supportata"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "NF impostato a un valore negativo"
@@ -1269,537 +1169,547 @@ msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' è un'estensione gawk"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valore di FIELDWIDTHS non valido, vicino a `%s'"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "la stringa nulla usata come `FS' è un'estensione gawk"
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
msgstr "il vecchio awk non supporta espressioni come valori di `FS'"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' è un'estensione gawk"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: opzione '%s' ambigua\n"
-#: getopt.c:623 getopt.c:627
+#: 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:636 getopt.c:641
+#: 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:684 getopt.c:703
+#: 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:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opzione sconosciuta '--%s'\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opzione sconosciuta '%c%s'\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opzione non valida -- '%c'\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: 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:930 getopt.c:946
+#: 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:970 getopt.c:988
+#: 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:1009 getopt.c:1027
+#: 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:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "l'argomento in linea comando `%s' è una directory: saltato"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "non riesco ad aprire file `%s' in lettura (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "chiusura di fd %d (`%s') fallita (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "re-direzione non permessa in modo 'sandbox'"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "espressione nella re-direzione `%s' ha solo un valore numerico"
-#: io.c:618
+#: io.c:654
#, 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:624
+#: io.c:659
#, 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:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mistura non necessaria di `>' e `>>' per il file `%.*s'"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "non posso aprire 'pipe' `%s' in scrittura (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "non posso aprire 'pipe' `%s' in lettura (%s)"
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "non posso aprire 'pipe' bidirezionale `%s' per lettura/scrittura (%s)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "non posso re-dirigere da `%s' (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "non posso re-dirigere a `%s' (%s)"
-#: io.c:889
+#: io.c:924
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:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "chiusura di `%s' fallita (%s)."
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "troppe 'pipe' o file di input aperti"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: il secondo argomento deve essere `a' o `da'"
-#: io.c:952
+#: io.c:987
#, 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:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "chiusura di una re-direzione mai aperta"
-#: io.c:1054
+#: io.c:1089
#, 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:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura della 'pipe' `%s' (%s)"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura del file `%s' (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per 'socket' `%s'"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per co-processo `%s'"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per 'pipe' `%s'"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per file `%s'"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "errore scrivendo 'standard output' (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "errore scrivendo 'standard error' (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "scaricamento di 'pipe' `%s' fallita (%s)."
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "scaricamento da co-processo di 'pipe' a `%s' fallita (%s)."
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "scaricamento di file `%s' fallita (%s)."
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "porta locale %s invalida in `/inet'"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "host remoto e informazione di porta (%s, %s) invalidi"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "nessuno protocollo (noto) specificato nel filename speciale `%s'"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "nome-file speciale `%s' incompleto"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "va fornito nome di 'host' remoto a `/inet'"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "va fornita porta remota a `/inet'"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "comunicazioni TCP/IP non supportate"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "non riesco ad aprire `%s', modo `%s'"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "fallita chiusura di 'pty' principale (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "fallita chiusura di 'stdout' nel processo-figlio (%s)"
-#: io.c:1753
+#: io.c:1788
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
"fallito trasferimento di 'pty' secondaria a 'stdout' nel processo-figlio "
"(dup: %s)"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "fallita chiusura di 'stdin' nel processo-figlio (%s)"
-#: io.c:1758
+#: io.c:1793
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
"fallito trasferimento di 'pty' secondaria a 'stdin' nel processo-figlio "
"(dup: %s)"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "fallita chiusura di 'pty' secondaria (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "fallito passaggio di 'pipe' a 'stdout' nel processo-figlio (dup: %s)"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr "fallito passaggio di pipe a 'stdin' nel processo-figlio (dup: %s)"
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr "fallito ripristino di 'stdout' nel processo-padre\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr "fallito ripristino di 'stdin' nel processo-padre\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "fallita chiusura di 'pipe' (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "`|&' non supportato"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "non riesco ad aprire 'pipe' `%s' (%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "file dati `%s' vuoto"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "non riesco ad allocare ulteriore memoria per l'input"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "valore multicarattere per `RS' è un'estensione gawk"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "comunicazioni IPv6 non supportate"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "`-m[fr]' opzione irrilevante per gawk"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m uso opzione: `-m[fr] nnn'"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "argomento di `-e/--source' nullo, ignorato"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'opzione richiede un argomento -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "variable d'ambiente `POSIXLY_CORRECT' impostata: attivo `--posix'"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "`--posix' annulla `--traditional'"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' annulla `--non-decimal-data'"
-#: main.c:555
+#: main.c:552
#, 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:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "`--posix' annulla `--binary"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "non posso impostare modalità binaria su 'stdin'(%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "non posso impostare modalità binaria su 'stdout'(%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "non posso impostare modalità binaria su 'stderr'(%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "manca del tutto il testo del programma!"
-#: main.c:733
+#: main.c:737
#, 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:735
+#: main.c:739
#, 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:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opzioni POSIX:\t\topzioni lunghe GNU: (standard)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fileprog\t\t--file=file-prog.\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valore\t\t--assign=var=valore\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Opzioni brevi:\t\topzioni lunghe GNU: (estensioni)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
#, fuzzy
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d [file]\t\t--dump-variables[=file]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p [file]\t\t--profile[=file]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'testo-del-programma'\t--source='testo-del-programma'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=file\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p [file]\t\t--profile[=file]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
#, fuzzy
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p [file]\t\t--profile[=file]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R file\t\t\t--command=file\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1808,7 +1718,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1820,7 +1730,7 @@ msgstr ""
"sezione `Reporting Problems and Bugs' nella versione a stampa.\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1830,7 +1740,7 @@ msgstr ""
"Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1840,7 +1750,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1859,7 +1769,7 @@ msgstr ""
"Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1873,7 +1783,7 @@ msgstr ""
"Vedi la 'GNU General Public License' per ulteriori dettagli.\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1882,16 +1792,16 @@ msgstr ""
"assieme a questo programma; se non è così, vedi http://www.gnu.org/"
"licenses/.\n"
-#: main.c:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft non imposta FS a 'tab' nell'awk POSIX"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valore non noto per specifica campo: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1900,85 +1810,80 @@ msgstr ""
"%s: `%s' argomento di `-v' non in forma `var=valore'\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' non è un nome di variabile ammesso"
-#: main.c:1199
+#: main.c:1201
#, 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:1203
+#: main.c:1205
#, fuzzy, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
"estensione: nome funzione interna gawk `%s' non ammesso come nome funzione"
-#: main.c:1208
+#: main.c:1210
#, fuzzy, c-format
msgid "cannot use function `%s' as variable name"
msgstr "non posso usare nome di funzione `%s' come variabile o vettore"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "eccezione floating point"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "errore fatale: errore interno"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "errore fatale: errore interno: segfault"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "errore fatale: errore interno: stack overflow"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "manca 'fd' pre-aperta %d"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "non riesco a pre-aprire /dev/null per 'fd' %d"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "non riesco a trovare gruppi: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "linea com.:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "errore: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "'\\' a fine stringa"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "il vecchio awk non supporta la sequenza di escape '\\%c'"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX non permette escape `\\x'"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "niente cifre esadecimali nella sequenza di escape `\\x'"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -1987,12 +1892,12 @@ msgstr ""
"sequenza di escape esadec.\\x%.*s di %d caratteri probabilmente non "
"interpretata nel modo previsto"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "sequenza di escape `\\%c' considerata come semplice `%c'"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2011,16 +1916,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:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "non riesco ad aprire `%s' in scrittura: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "mando profilo a 'standard error'"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2029,7 +1934,7 @@ msgstr ""
"\t# blocco(hi) %s\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2038,17 +1943,22 @@ msgstr ""
"\t# Regola(e)\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "errore interno: %s con 'vname' nullo"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "errore interno: %s con 'vname' nullo"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profilo gawk, creato %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2057,94 +1967,171 @@ msgstr ""
"\n"
"\t# Funzioni, listate in ordine alfabetico\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tipo di re-direzione non noto %d"
-#: re.c:572
+#: re.c:573
#, fuzzy, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "intervallo nella forma `[%c-%c]' dipende da 'locale'"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
"componente di espressione `%.*s' dovrebbe probabilmente essere `[%.*s]'"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Successo"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Nessuna corrispondenza"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Espressione regolare invalida"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Carattere di ordinamento non valido"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Nome di 'classe di caratteri' non valido"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "'\\' finale"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Riferimento indietro non valido"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "[ o [^ non chiusa"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "( o \\( non chiusa"
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "\\{ non chiusa"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Contenuto di \\{\\} non valido"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Fine di intervallo non valido"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Memoria esaurita"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Espressione regolare precedente invalida"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Fine di espressione regolare inaspettata"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "Espressione regolare troppo complessa"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ") o \\) non aperta"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "Nessuna espressione regolare precedente"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "tentativo di usare funzione '%s' come vettore"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "riferimento a elemento non inizializzato `%s[\"%.*s\"]'"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "l'indice del vettore '%s' è una stringa nulla"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: vuoto (nullo)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: vuoto (zero)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: dimensione_tabella = %d, dimensione_vettore = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: è parametro\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: riferimento_vettoriale a %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "uso di non-vettore come vettore"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "non posso usare nome di funzione `%s' come variabile o vettore"
+
+#, fuzzy
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "tentativo di usare vettore `%s' in un contesto scalare"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "assegnamento usato nel contesto di un test condizionale"
+
+#~ msgid "statement has no effect"
+#~ msgstr "istruzione che non fa nulla"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr ""
+#~ "ciclo for: vettore `%s' ha cambiato dimensione da %ld a %ld durante "
+#~ "l'esecuzione del ciclo"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "la funzione chiamata indirettamente tramite `%s' non esiste"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "funzione `%s' non definita"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "`getline' non-diretta indefinita dentro regola '%s'"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "errore leggendo file di input `%s': %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "`nextfile' non può essere chiamato da una regola `%s'"
+
+#, fuzzy
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "`next' non può essere chiamato da una regola `%s'"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "`next' non può essere chiamato da una regola `%s'"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Spiacente, non so come interpretare `%s'"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R file\t\t\t--command=file\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "non riesco a trovare gruppi: %s"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "assegnamento non permesso al risultato di una funzione interna"
diff --git a/po/ja.gmo b/po/ja.gmo
index c349e1b7..5c854c51 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 19c654f5..cc76b29e 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
"PO-Revision-Date: 2011-07-17 08:28+0900\n"
"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -18,499 +18,456 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "%s ã‹ã‚‰"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "スカラー値をé…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "関数 `%s' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "スカラー仮引数 `%s' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "スカラー `%s' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "スカラーコンテキストã§é…列 `%s' を使用ã™ã‚‹è©¦ã¿ã§ã™"
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„è¦ç´  `%s[\"%.*s\"]' ã¸ã®å‚ç…§ã§ã™"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "é…列 `%s' ã®æ·»å­—㌠NULL 文字列ã§ã™"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: é…列 `%2$s' 内ã«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ `%1$s' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "スカラー `%s[\"%.*s\"]' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: 空 (null)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: 空 (zero)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: テーブルサイズ (table_size) = %d, é…列サイズ (array_size) = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: 仮引数ã§ã™\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: %s ã¸ã®é…列å‚ç…§ (array_ref) ã§ã™\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: 引数ãŒé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: 第二引数ãŒé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: 第二引数ãŒé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: 第一引数ãŒé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: 第一引数ãŒé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr "asort: 第一引数ã®éƒ¨åˆ†é…列を第二引数用ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr "asorti: 第一引数ã®éƒ¨åˆ†é…列を第二引数用ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: array.c:1108
+#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr "asort: 第二引数ã®éƒ¨åˆ†é…列を第一引数用ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: array.c:1109
+#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr "asorti: 第二引数ã®éƒ¨åˆ†é…列を第一引数用ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "`%s' ã¯é–¢æ•°åã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "ソート比較関数 `%s' ãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s ブロックã«ã¯ã‚¢ã‚¯ã‚·ãƒ§ãƒ³éƒ¨ãŒå¿…é ˆã§ã™"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "å„ルールã«ã¯ãƒ‘ターンã¾ãŸã¯ã‚¢ã‚¯ã‚·ãƒ§ãƒ³éƒ¨ãŒå¿…é ˆã§ã™ã€‚"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "å¤ã„ awk ã¯è¤‡æ•°ã® `BEGIN' ã¾ãŸã¯ `END' ルールをサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "`%s' ã¯çµ„è¾¼ã¿é–¢æ•°ã§ã™ã€‚å†å®šç¾©ã§ãã¾ã›ã‚“"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "æ­£è¦è¡¨ç¾å®šæ•° `//' 㯠C++コメントã«ä¼¼ã¦ã„ã¾ã™ãŒã€é•ã„ã¾ã™ã€‚"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr "æ­£è¦è¡¨ç¾å®šæ•° `/%s/' 㯠C コメントã«ä¼¼ã¦ã„ã¾ã™ãŒã€ç•°ãªã‚Šã¾ã™"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "switch æ–‡ã®ä¸­ã§é‡è¤‡ã—㟠case 値ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™: %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "switch æ–‡ã®ä¸­ã§é‡è¤‡ã—㟠`default' ãŒæ¤œå‡ºã•ã‚Œã¾ã—ãŸ"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "`break' ã¯ãƒ«ãƒ¼ãƒ—ã¾ãŸã¯ switch ã®å¤–ã§ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "`continue' ã¯ãƒ«ãƒ¼ãƒ—ã®å¤–ã§ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "%s アクション内㧠`next' ãŒä½¿ç”¨ã•ã‚Œã¾ã—ãŸ"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "`nextfile' 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "`nextfile' ㌠%s アクション内ã§ä½¿ç”¨ã•ã‚Œã¾ã—ãŸ"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "`return' ãŒé–¢æ•°å®šç¾©æ–‡ã®å¤–ã§ä½¿ã‚ã‚Œã¾ã—ãŸ"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
"BEGIN ã¾ãŸã¯ END ルール内ã®å¼•æ•°ã®ç„¡ã„ `print' 㯠`print \"\"' ã ã¨æ€ã‚ã‚Œã¾ã™"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "`delete array' 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(array)' ã¯ç§»æ¤æ€§ã®ç„¡ã„ tawk æ‹¡å¼µã§ã™"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "多段階ã§åŒæ–¹å‘パイプを利用ã—ãŸå¼ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "æ­£è¦è¡¨ç¾ãŒä»£å…¥å¼ã®å³è¾ºã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "`~' ã‚„ `!~' 演算å­ã®å·¦è¾ºã«æ­£è¦è¡¨ç¾ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "å¤ã„ awk ã§ã¯ `in' 予約語㯠`for' ã®å¾Œã‚’除ãサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "比較å¼ã®å³è¾ºã«æ­£è¦è¡¨ç¾ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "`%s' ルールã®å†…部ã§ã¯ `getline var' ã¯ç„¡åŠ¹ã§ã™"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "`%s' ルールã®å†…部ã§ã¯ `getline' ã¯ç„¡åŠ¹ã§ã™"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "リダイレクトã•ã‚Œã¦ã„ãªã„ `getline' 㯠END アクションã§ã¯æœªå®šç¾©ã§ã™ã€‚"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "å¤ã„ awk ã¯å¤šæ¬¡å…ƒé…列をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "å°æ‹¬å¼§ãŒç„¡ã„ `length' ã¯ç§»æ¤æ€§ãŒã‚ã‚Šã¾ã›ã‚“"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "間接関数呼ã³å‡ºã—㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr "特別ãªå¤‰æ•° `%s' ã¯é–“接関数呼ã³å‡ºã—用ã«ã¯ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "添字ã®å¼ãŒç„¡åŠ¹ã§ã™"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "é…列ã§ãªã„ã‚‚ã®ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã—ã¦ã„ã¾ã™"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "警告: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "致命的: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "予期ã—ãªã„改行ã¾ãŸã¯æ–‡å­—列終端ã§ã™"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "ソースファイル `%s' を読ã¿è¾¼ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "原因ä¸æ˜Ž"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "ソースファイル `%s' ã¯æ—¢ã«èª­ã¿è¾¼ã¾ã‚Œã¦ã„ã¾ã™"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "@include ã®å¾Œã«ç©ºã®ãƒ•ã‚¡ã‚¤ãƒ«åãŒã‚ã‚Šã¾ã™"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "コマンド行ã®ãƒ—ログラム表記ãŒç©ºã§ã™"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "ソースファイル `%s' を読ã¿è¾¼ã‚ã¾ã›ã‚“ (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "ソースファイル `%s' ã¯ç©ºã§ã™"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "ソースファイルãŒæ”¹è¡Œã§çµ‚ã£ã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "終端ã•ã‚Œã¦ã„ãªã„æ­£è¦è¡¨ç¾ãŒãƒ•ã‚¡ã‚¤ãƒ«æœ€å¾Œã® `\\' ã§çµ‚ã£ã¦ã„ã¾ã™ã€‚"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "%s: %d: tawk ã®æ­£è¦è¡¨ç¾ä¿®é£¾å­ `/.../%c' 㯠gawk ã§ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "tawk ã®æ­£è¦è¡¨ç¾ä¿®é£¾å­ `/.../%c' 㯠gawk ã§ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "æ­£è¦è¡¨ç¾ãŒçµ‚端ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "ファイルã®ä¸­ã§æ­£è¦è¡¨ç¾ãŒçµ‚端ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr "`\\ #...' å½¢å¼ã®è¡Œç¶™ç¶šã¯ç§»æ¤æ€§ãŒã‚ã‚Šã¾ã›ã‚“"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒè¡Œæœ€å¾Œã®æ–‡å­—ã«ãªã£ã¦ã„ã¾ã›ã‚“。"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX ã§ã¯æ¼”ç®—å­ `**=' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `**=' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX ã§ã¯æ¼”ç®—å­ `**' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `**' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `^=' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `^' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "文字列ãŒçµ‚端ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "å¼å†…ã«ç„¡åŠ¹ãªæ–‡å­— '%c' ãŒã‚ã‚Šã¾ã™"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "`%s' ã¯ãƒ™ãƒ«ç ”究所ã«ã‚ˆã‚‹æ‹¡å¼µã§ã™"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX ã§ã¯ `%s' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "å¤ã„ awk 㯠`%s' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "`goto' ã¯æœ‰å®³ã ã¨è¦‹ãªã•ã‚Œã¦ã„ã¾ã™!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d 㯠%s 用ã®å¼•æ•°ã®æ•°ã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr "%s: 文字列リテラルを置ãæ›ãˆæœ€å¾Œã®å¼•æ•°ã«ä½¿ç”¨ã™ã‚‹ã¨åŠ¹æžœãŒã‚ã‚Šã¾ã›ã‚“"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s 第三仮引数ã¯å¯å¤‰ã‚ªãƒ–ジェクトã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: 第三引数㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: 第二引数㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"dcgettext(_\"...\")ã®ä½¿ç”¨æ³•ãŒé–“é•ã£ã¦ã„ã¾ã™: 先頭ã®ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢(_)を削除ã—"
"ã¦ãã ã•ã„"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"dcngettext(_\"...\")ã®ä½¿ç”¨æ³•ãŒé–“é•ã£ã¦ã„ã¾ã™: 先頭ã®ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢(_)を削除ã—"
"ã¦ãã ã•ã„"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "関数 `%s': 仮引数 #%d, `%s' ãŒä»®å¼•æ•° #%d ã¨é‡è¤‡ã—ã¦ã„ã¾ã™"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "関数 `%s': 仮引数 `%s' ãŒå¤§åŸŸå¤‰æ•°ã‚’覆ã„éš ã—ã¦ã„ã¾ã™"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "`%s' を書込ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ã§ã—㟠(%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "変数リストを標準エラーã«é€ã£ã¦ã„ã¾ã™"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() を二回呼ã³å‡ºã—ã¦ã„ã¾ã™!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "覆ã„éš ã•ã‚ŒãŸå¤‰æ•°ãŒã‚ã‚Šã¾ã—ãŸ"
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "関数å `%s' ã¯å‰ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "関数 `%s': 関数åを仮引数åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr "関数 `%s': 特別ãªå¤‰æ•° `%s' ã¯é–¢æ•°ã®ä»®å¼•æ•°ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "関数å `%s' ã¯å‰ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "関数 `%s': 仮引数 #%d, `%s' ãŒä»®å¼•æ•° #%d ã¨é‡è¤‡ã—ã¦ã„ã¾ã™"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "未定義ã®é–¢æ•° `%s' を呼ã³å‡ºã—ã¾ã—ãŸ"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "関数 `%s' ã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ãŒã€ä¸€åº¦ã‚‚直接呼ã³å‡ºã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "仮引数 #%d 用ã®æ­£è¦è¡¨ç¾å®šæ•°ã¯çœŸå½å€¤ã‚’出力ã—ã¾ã™"
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -519,230 +476,230 @@ msgstr ""
"関数å㨠`(' ã®é–“ã«ã‚¹ãƒšãƒ¼ã‚¹ã‚’入れã¦é–¢æ•° `%s' を呼ã³å‡ºã—ã¦ã„ã¾ã™ã€‚\n"
"ã¾ãŸã¯ã€å¤‰æ•°ã‹é…列ã¨ã—ã¦ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "ゼロã«ã‚ˆã‚‹é™¤ç®—ãŒè©¦ã¿ã‚‰ã‚Œã¾ã—ãŸ"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "`%%' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè©¦ã¿ã‚‰ã‚Œã¾ã—ãŸ"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s ã‹ã‚‰ \"%s\" ã¸å‡ºåŠ›ã§ãã¾ã›ã‚“ (%s)。"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "標準出力"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: 引数ãŒæ•°å€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: 引数 %g ãŒç¯„囲外ã§ã™"
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: flush ã§ãã¾ã›ã‚“: パイプ `%s' ã¯èª­ã¿è¾¼ã¿ç”¨ã«é–‹ã‹ã‚Œã¦ã„ã¾ã™ã€‚書ãè¾¼ã¿"
"用ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: flush ã§ãã¾ã›ã‚“: ファイル `%s' ã¯èª­ã¿è¾¼ã¿ç”¨ã«é–‹ã‹ã‚Œã¦ã„ã¾ã™ã€‚書ãè¾¼"
"ã¿ç”¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:215
+#: builtin.c:217
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: `%s' ãŒé–‹ã‹ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã€ãƒ‘イプã€ãƒ—ロセス共有ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: 文字列ã§ã¯ç„¡ã„第一引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: 文字列ã§ã¯ç„¡ã„第二引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: é…列引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "`length(array)' 㯠gawk æ‹¡å¼µã§ã™"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: 文字列ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: è² ã®å¼•æ•° %g ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
"致命的: `count$’ ã¯å…¨ã¦ã®æ›¸å¼ä½¿ç”¨ã™ã‚‹ã€ã¾ãŸã¯å…¨ã¦ã«ä½¿ç”¨ã—ãªã„ã®ã„ãšã‚Œã‹ã§ãªã‘"
"ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "`%%' 指定用ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å¹…ã¯ç„¡è¦–ã•ã‚Œã¾ã™"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "`%%' 指定用ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å¹…ã¯ç„¡è¦–ã•ã‚Œã¾ã™"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "`%%' 指定用ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å¹…ãŠã‚ˆã³ç²¾åº¦ã¯ç„¡è¦–ã•ã‚Œã¾ã™"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "致命的: `$' 㯠awk å½¢å¼å†…ã§ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "致命的: `$' ã§æŒ‡å®šã™ã‚‹å¼•æ•°ã®ç•ªå·ã¯æ­£ã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: builtin.c:829
+#: builtin.c:834
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr "致命的: 引数ã®ç•ªå· %ld ã¯å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸæ•°ã‚ˆã‚Šå¤§ãã„ã§ã™"
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "致命的: `$' ã¯æ›¸å¼æŒ‡å®šå†…ã®ãƒ”リオド `.' ã®å¾Œã«ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "致命的: フィールド幅ã€ã¾ãŸã¯ç²¾åº¦ã®æŒ‡å®šå­ã« `$' ãŒä¸Žãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `l' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `l' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `L' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™ã€‚"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `L' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `h' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™ã€‚"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `h' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtin.c:1271
+#: builtin.c:1276
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: 値 %g ã¯æ›¸å¼ `%%%c' ã®ç¯„囲外ã§ã™"
-#: builtin.c:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr "ä¸æ˜Žãªæ›¸å¼æŒ‡å®šæ–‡å­— `%c' を無視ã—ã¦ã„ã¾ã™: 変æ›ã•ã‚Œã‚‹å¼•æ•°ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr "致命的: 書å¼æ–‡å­—列を満ãŸã™å分ãªæ•°ã®å¼•æ•°ãŒã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "^ ã“ã“ã‹ã‚‰è¶³ã‚Šã¾ã›ã‚“"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: 書å¼æŒ‡å®šå­ã«åˆ¶å¾¡æ–‡å­—ãŒã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "書å¼æ–‡å­—列ã«ä¸Žãˆã‚‰ã‚Œã¦ã„る引数ãŒå¤šã™ãŽã¾ã™"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: 引数ãŒã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: è² ã®å€¤ %g を引数ã«ä½¿ç”¨ã—ã¦å‘¼ã³å‡ºã•ã‚Œã¾ã—ãŸ"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: é•·ã• %g ㌠1 以上ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: é•·ã• %g ㌠0 以上ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: 文字数 %g ã®å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã¾ã™ã€‚"
-#: builtin.c:1516
+#: builtin.c:1521
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr: 文字数 %g ã¯æœ€å¤§å€¤ã‚’超ãˆã¦ã„ã¾ã™ã€‚%g を使ã„ã¾ã™ã€‚"
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: 開始インデックス %g ãŒç„¡åŠ¹ã§ã™ã€‚1を使用ã—ã¾ã™"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: 開始インデックス %g ãŒéžæ•´æ•°ã®ãŸã‚ã€å€¤ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: 文字列ã®é•·ã•ãŒã‚¼ãƒ­ã§ã™ã€‚"
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: 開始インデックス %g ãŒæ–‡å­—列終端ã®å¾Œã«ã‚ã‚Šã¾ã™"
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -750,227 +707,222 @@ msgstr ""
"substr: 開始インデックス %2$g ã‹ã‚‰ã®é•·ã• %1$g ã¯ç¬¬ä¸€å¼•æ•°ã®é•·ã•ã‚’超ãˆã¦ã„ã¾ã™ "
"(%3$lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: PROCINFO[\"strftime\"] ã®æ›¸å¼ã®å€¤ã¯æ•°å€¤åž‹ã§ã™"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
msgstr ""
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: éžæ–‡å­—列ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: 空ã®æ›¸å¼æ–‡å­—列をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: éžæ–‡å­—列引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:1778
+#: builtin.c:1784
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: 一ã¤ä»¥ä¸Šã®å€¤ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ç¯„囲を超ãˆã¦ã„ã¾ã™"
-#: builtin.c:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "サンドボックスモードã§ã¯ 'system' 関数ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: 文字列ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„変数 `%s' ã¸ã®å‚ç…§ã§ã™"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„フィールド `$%d' ã¸ã®å‚ç…§ã§ã™"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: éžæ–‡å­—列引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: éžæ–‡å­—列引数をå—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: 第三引数ãŒé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 第三引数㌠0 ã§ã™ã€‚1 を代ã‚ã‚Šã«ä½¿ç”¨ã—ã¾ã™"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr "lshift(%lf, %lf): シフト値ãŒå¤§ãéŽãŽã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr "rshift(%lf, %lf): シフト値ãŒå¤§ãéŽãŽã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' ã¯ç„¡åŠ¹ãªãƒ­ã‚±ãƒ¼ãƒ«åŒºåˆ†ã§ã™"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "ä¸æ˜ŽãªãƒŽãƒ¼ãƒ‰åž‹ %d ã§ã™"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "ä¸æ˜Žãªã‚ªãƒšã‚³ãƒ¼ãƒ‰ %d ã§ã™"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "オペコード %s ã¯æ¼”ç®—å­ã¾ãŸã¯äºˆç´„語ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "genflags2str 内ã§ãƒãƒƒãƒ•ã‚¡ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒ­ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -981,216 +933,165 @@ msgstr ""
"\t# 呼出関数スタック:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "`IGNORECASE' 㯠gawk æ‹¡å¼µã§ã™"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "`BINMODE' 㯠gawk æ‹¡å¼µã§ã™"
-#: eval.c:812
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "BINMODE 値 `%s' ã¯ç„¡åŠ¹ã§ã™ã€‚代ã‚ã‚Šã« 3 を使用ã—ã¾ã™"
-#: eval.c:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "誤ã£ãŸ `%sFMT' 指定 `%s' ã§ã™"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "`LINT' ã¸ã®ä»£å…¥ã«å¾“ã„ `--lint' を無効ã«ã—ã¾ã™"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "関数å `%s' ã¯å¤‰æ•°ã¾ãŸã¯é…列ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„引数 `%s' ã¸ã®å‚ç…§ã§ã™"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„変数 `%s' ã¸ã®å‚ç…§ã§ã™"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "éžæ•°å€¤ã‚’使用ã—ãŸãƒ•ã‚¤ãƒ¼ãƒ«ãƒ‰å‚ç…§ã®è©¦ã¿ã§ã™"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "NULL 文字列を使用ã—ã¦ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å‚照を試ã¿ã¦ã„ã¾ã™"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "フィールド %ld ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã®è©¦ã¿ã§ã™"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„フィールド `$%ld' ã¸ã®å‚ç…§ã§ã™"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "宣言ã•ã‚Œã¦ã„る数より多ã„引数を使ã£ã¦é–¢æ•° `%s' を呼ã³å‡ºã—ã¾ã—ãŸ"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: 予期ã—ãªã„åž‹ `%s' ã§ã™"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "`/=' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè¡Œã‚ã‚Œã¾ã—ãŸ"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "`%%=' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè¡Œã‚ã‚Œã¾ã—ãŸ"
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "スカラーコンテキスト内ã§é…列 `%s[\"%.*s\"]' ã®ä½¿ç”¨ã®è©¦ã¿ã§ã™"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "æ¡ä»¶ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã§ä»£å…¥ãŒä½¿ç”¨ã•ã‚Œã¾ã—ãŸ"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "æ–‡ã«åŠ¹æžœãŒã‚ã‚Šã¾ã›ã‚“"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"for ループ: ループ実行中ã«é…列 `%s' ã®ã‚µã‚¤ã‚ºãŒ %ld ã‹ã‚‰ %ld ã¸å¤‰æ›´ã•ã‚Œã¾ã—ãŸ"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "`%s' を通ã—ã¦é–“接的ã«å‘¼ã³å‡ºã•ã‚ŒãŸé–¢æ•°ãŒå­˜åœ¨ã—ã¾ã›ã‚“"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "関数 `%s' ã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "`%s' ルールã®å†…å´ã§ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¦ã„ãªã„ `getline' ã¯ç„¡åŠ¹ã§ã™"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "入力ファイル `%s' を読ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "`nextfile' 㯠`%s' ルールã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "`next' 㯠`%s' ã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "申ã—訳ã‚ã‚Šã¾ã›ã‚“㌠`%s' ã‚’ã©ã®ã‚ˆã†ã«è§£é‡ˆã™ã‚‹ã‹åˆ†ã‹ã‚Šã¾ã›ã‚“"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "サンドボックスモード内ã§ã¯æ‹¡å¼µã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "`extension' 㯠gawk æ‹¡å¼µã§ã™"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "致命的: extension: `%s' ã‚’é–‹ãã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"致命的: extension: ライブラリ `%s': `plugin_is_GPL_compatible' ãŒå®šç¾©ã•ã‚Œã¦ã„"
"ã¾ã›ã‚“ (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"致命的: extension: ライブラリ `%s': 関数 `%s' を呼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“ "
"(%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "extension: 関数åãŒã‚ã‚Šã¾ã›ã‚“"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: 関数å `%2$s' ã®ä¸­ã§ä¸æ­£ãªæ–‡å­— `%1$c' ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: 関数 `%s' ã‚’å†å®šç¾©ã§ãã¾ã›ã‚“"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: 関数 `%s' ã¯æ—¢ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension: 関数å `%s' ã¯å‰ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™"
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr "extension: gawk ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ `%s' ã¯é–¢æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: 関数 `%s' ã®å¼•æ•°ã®æ•°ãŒè² ã§ã™"
-#: ext.c:269
+#: ext.c:207
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "関数 `%s' ã«ä½¿ãˆã‚‹å¼•æ•°ã®æ•°ã¯ `%d' 以下ã¨å®šç¾©ã•ã‚Œã¦ã„ã¾ã™"
-#: ext.c:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "関数 `%s': 引数 #%d ãŒã‚ã‚Šã¾ã›ã‚“"
-#: ext.c:289
+#: ext.c:227
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "関数 `%s': 引数 #%d: スカラーをé…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-#: ext.c:293
+#: ext.c:231
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "関数 `%s': 引数 #%d: é…列をスカラーã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-#: ext.c:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "ã“ã®æ“作ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "NF ãŒè² ã®å€¤ã«è¨­å®šã•ã‚Œã¦ã„ã¾ã™"
@@ -1247,541 +1148,551 @@ msgstr "patsplit: 第四引数ã«ç¬¬äºŒå¼•æ•°ã®éƒ¨åˆ†é…列を使用ã™ã‚‹ã“ã
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr "patsplit: 第二引数ã«ç¬¬å››å¼•æ•°ã®éƒ¨åˆ†é…列を使用ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' 㯠gawk æ‹¡å¼µã§ã™"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "`%s' 付近㮠FIELDWIDTHS 値ãŒç„¡åŠ¹ã§ã™"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "`FS' ã« NULL 文字列を使用ã™ã‚‹ã®ã¯ gawk æ‹¡å¼µã§ã™"
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
msgstr "å¤ã„ awk 㯠`FS' ã®å€¤ã¨ã—ã¦æ­£è¦è¡¨ç¾ã‚’サãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' 㯠gawk æ‹¡å¼µã§ã™"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: オプション '%s' ã¯æ›–昧ã§ã™\n"
-#: getopt.c:623 getopt.c:627
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: オプション '--%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
-#: getopt.c:636 getopt.c:641
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: オプション '%c%s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
-#: getopt.c:684 getopt.c:703
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: オプション '--%s' ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n"
-#: getopt.c:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: オプション '--%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: オプション '%c%s' ã‚’èªè­˜ã§ãã¾ã›ã‚“\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: 無効ãªã‚ªãƒ—ション -- '%c'\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ -- '%c'\n"
-#: getopt.c:930 getopt.c:946
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: オプション '-W %s' ã¯æ›–昧ã§ã™\n"
-#: getopt.c:970 getopt.c:988
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: オプション '-W %s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n"
-#: getopt.c:1009 getopt.c:1027
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: オプション '-W %s' ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n"
-#: io.c:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "コマンドライン引数 `%s' ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™: スキップã•ã‚Œã¾ã—ãŸ"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "ファイル `%s' を読ã¿è¾¼ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "fd %d (`%s') ã‚’é–‰ã˜ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "サンドボックスモード内ã§ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "`%s' リダイレクトã®å‘½ä»¤å¼ã«æ•°å€¤ã—ã‹è¨˜è¿°ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "`%s' リダイレクトã®å‘½ä»¤å¼ãŒç©ºåˆ—ã§ã™ã€‚"
-#: io.c:624
+#: io.c:659
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
"`%2$s' リダイレクトã«è«–ç†æ¼”ç®—ã®çµæžœã¨æ€ã‚れるファイルå `%1$s' ãŒä½¿ã‚ã‚Œã¦ã„ã¾"
"ã™ã€‚"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "ファイル `%.*s' ã§å¿…è¦ä»¥ä¸Šã« `>' 㨠`>>' を組åˆã›ã¦ã„ã¾ã™ã€‚"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "出力用ã«ãƒ‘イプ `%s' ã‚’é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "入力用ã«ãƒ‘イプ `%s' ã‚’é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "入出力用ã®åŒæ–¹å‘パイプ `%s' ãŒé–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "`%s' ã‹ã‚‰ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ãã¾ã›ã‚“ (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "`%s' ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ãã¾ã›ã‚“ (%s)"
-#: io.c:889
+#: io.c:924
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"é–‹ã„ã¦ã„るファイルã®æ•°ãŒã‚·ã‚¹ãƒ†ãƒ åˆ¶é™ã«é”ã—ã¾ã—ãŸã€‚ファイル記述å­ã‚’多é‡åŒ–ã—ã¾"
"ã™ã€‚"
-#: io.c:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "`%s' ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "é–‹ã„ã¦ã„るパイプã¾ãŸã¯å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã®æ•°ãŒå¤šéŽãŽã¾ã™ã€‚"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: 第二引数㯠`to' ã¾ãŸã¯ `from' ã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: io.c:952
+#: io.c:987
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: `%.*s' ã¯é–‹ã„ã¦ã„るファイルã€ãƒ‘イプã€ãƒ—ロセス共有ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: io.c:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "é–‹ã„ã¦ãªã„リダイレクトを閉ã˜ã‚ˆã†ã¨ã—ã¦ã„ã¾ã™"
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: リダイレクト `%s' 㯠`|&' を使用ã—ã¦é–‹ã‹ã‚Œã¦ã„ã¾ã›ã‚“。第二引数ã¯ç„¡è¦–ã•"
"ã‚Œã¾ã—ãŸ"
-#: io.c:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "パイプ `%2$s' ã‚’é–‰ã˜ãŸã¨ãã®çŠ¶æ…‹ã‚³ãƒ¼ãƒ‰ãŒå¤±æ•— (%1$d) ã§ã—㟠(%3$s)。"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "ファイル `%2$s' ã‚’é–‰ã˜ãŸã¨ãã®çŠ¶æ…‹ã‚³ãƒ¼ãƒ‰ãŒå¤±æ•— (%1$d) ã§ã—㟠(%3$s)。"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "ソケット `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "並行プロセス `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "パイプ `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "ファイル `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "標準出力ã¸ã®æ›¸è¾¼ã¿ã‚¨ãƒ©ãƒ¼ (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "標準エラーã¸ã®æ›¸è¾¼ã¿ã‚¨ãƒ©ãƒ¼ (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "パイプ `%s' をフラッシュã§ãã¾ã›ã‚“ (%s)。"
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "`%s' ã¸æŽ¥ç¶šã™ã‚‹ãƒ‘イプを並行プロセスã‹ã‚‰ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã§ãã¾ã›ã‚“ (%s)。"
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "ファイル `%s' をフラッシュã§ãã¾ã›ã‚“ (%s)。"
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "`/inet' 内ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒãƒ¼ãƒˆ %s ãŒç„¡åŠ¹ã§ã™"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "リモートã®ãƒ›ã‚¹ãƒˆãŠã‚ˆã³ãƒãƒ¼ãƒˆæƒ…å ± (%s, %s) ãŒç„¡åŠ¹ã§ã™"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
"スペシャルファイルå `%s' ã«ï¼ˆèªè­˜ã§ãる)プロトコルãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "スペシャルファイルå `%s' ã¯ä¸å®Œå…¨ã§ã™"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "`/inet' ã«ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆåを与ãˆãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "`/inet' ã«ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒãƒ¼ãƒˆç•ªå·ã‚’与ãˆãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP 通信ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "`%s' をモード `%s' ã§é–‹ã‘ã¾ã›ã‚“"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "マスター pty ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "å­ãƒ—ロセスãŒæ¨™æº–出力を閉ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:1753
+#: io.c:1788
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒã‚¹ãƒ¬ãƒ¼ãƒ– pty を標準出力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "å­ãƒ—ロセスãŒæ¨™æº–入力を閉ã˜ã‚‰ã‚Œã¾ã›ã‚“ (%s)。"
-#: io.c:1758
+#: io.c:1793
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒã‚¹ãƒ¬ãƒ¼ãƒ– pty を標準入力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "スレーブ pty ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒãƒ‘イプを標準出力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒãƒ‘イプを標準入力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr "親プロセスãŒæ¨™æº–出力を復旧ã§ãã¾ã›ã‚“。\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr "親プロセスãŒæ¨™æº–入力を復旧ã§ãã¾ã›ã‚“。\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "パイプを閉ã˜ã‚‰ã‚Œã¾ã›ã‚“ (%s)。"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "`|&' ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "パイプ `%s' ãŒé–‹ã‘ã¾ã›ã‚“ (%s)。"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "`%s' 用ã®å­ãƒ—ロセスを実行ã§ãã¾ã›ã‚“ (fork: %s)。"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "データファイル `%s' ã¯ç©ºã§ã™ã€‚"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "入力用メモリーをã“れ以上確ä¿ã§ãã¾ã›ã‚“。"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "複数ã®æ–‡å­—ã‚’ `RS' ã«ä½¿ç”¨ã™ã‚‹ã®ã¯ gawk 特有ã®æ‹¡å¼µã§ã™ã€‚"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "IPv6 通信ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "gawk ã§ã¯ã‚ªãƒ—ション `-m[fr]' ã«åŠ¹æžœã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m オプションã®ä½¿ç”¨æ³•: `-m[fr] 数値'"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "`-e/--source' ã¸ã®ç©ºã®å¼•æ•°ã¯ç„¡è¦–ã•ã‚Œã¾ã—ãŸ"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: オプション `-W %s' ã¯èªè­˜ã§ãã¾ã›ã‚“。無視ã•ã‚Œã¾ã—ãŸ\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: 引数ãŒå¿…è¦ãªã‚ªãƒ—ション -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"環境変数 `POSIXLY_CORRECT' ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™ã€‚オプション `--posix' を有効ã«"
"ã—ã¾ã™"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "オプション `--posix' 㯠`--traditional' を無効ã«ã—ã¾ã™ã€‚"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
"オプション `--posix'/`--traditional' 㯠`--non-decimal-data' を無効ã«ã—ã¾ã™ã€‚"
-#: main.c:555
+#: main.c:552
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr ""
"setuid root 㧠%s を実行ã™ã‚‹ã¨ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®å•é¡ŒãŒç™ºç”Ÿã™ã‚‹å ´åˆãŒã‚ã‚Šã¾"
"ã™ã€‚"
-#: main.c:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "`--posix' 㯠`--binary' を上書ãã—ã¾ã™"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "標準入力をãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "標準出力をãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "標準エラーをãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "プログラム文ãŒå…¨ãã‚ã‚Šã¾ã›ã‚“!"
-#: main.c:733
+#: main.c:737
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr ""
"使用法: %s [POSIX ã¾ãŸã¯ GNU å½¢å¼ã®ã‚ªãƒ—ション] -f progfile [--] file ...\n"
-#: main.c:735
+#: main.c:739
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr ""
"使用法: %s [POSIX ã¾ãŸã¯ GNU å½¢å¼ã®ã‚ªãƒ—ション] [--] %cprogram%c file ...\n"
-#: main.c:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX オプション:\t\tGNU é•·ã„å½¢å¼ã®ã‚ªãƒ—ション: (標準)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f progfile\t\t--file=progfile\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=val\t\t--assign=var=val\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "短ã„オプション:\t\tGNU é•·ã„å½¢å¼ã®ã‚ªãƒ—ション: (æ‹¡å¼µ)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[file]\t\t--dump-variables[=file]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[file]\t\t--profile[=file]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'program-text'\t--source='program-text'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=file\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[file]\t\t--profile[=file]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[file]\t\t--profile[=file]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R file\t\t\t--command=file\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1790,7 +1701,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1805,7 +1716,7 @@ msgstr ""
"翻訳ã«é–¢ã™ã‚‹ãƒã‚°ã¯<translation-team-ja@lists.sourceforge.net>ã«å ±å‘Šã—ã¦ãã ã•"
"ã„。\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1815,7 +1726,7 @@ msgstr ""
"デフォルト設定ã§ã¯ã€æ¨™æº–入力を読ã¿è¾¼ã¿ã€æ¨™æº–出力ã«æ›¸ã出ã—ã¾ã™ã€‚\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1825,7 +1736,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1844,7 +1755,7 @@ msgstr ""
"(at your option) any later version.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1858,7 +1769,7 @@ msgstr ""
"GNU General Public License for more details.\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1866,16 +1777,16 @@ msgstr ""
"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"
-#: main.c:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "POSIX awk ã§ã¯ -Ft 㯠FS をタブã«è¨­å®šã—ã¾ã›ã‚“"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "フィールド指定ã«ä¸æ˜Žãªå€¤ãŒã‚ã‚Šã¾ã™: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1884,84 +1795,79 @@ msgstr ""
"%s: オプション `-v' ã®å¼•æ•° `%s' ㌠`変数=代入値' ã®å½¢å¼ã«ãªã£ã¦ã„ã¾ã›ã‚“。\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' ã¯ä¸æ­£ãªå¤‰æ•°åã§ã™"
-#: main.c:1199
+#: main.c:1201
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "`%s' ã¯å¤‰æ•°åã§ã¯ã‚ã‚Šã¾ã›ã‚“。`%s=%s' ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã—ã¾ã™ã€‚"
-#: main.c:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "gawk ã«çµ„ã¿è¾¼ã¿ã® `%s' ã¯å¤‰æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "関数 `%s' ã¯å¤‰æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "浮動å°æ•°ç‚¹ä¾‹å¤–"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "致命的エラー: 内部エラー"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "致命的エラー: 内部エラー: セグメンテーションé•å"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "致命的エラー: 内部エラー: スタックオーãƒãƒ¼ãƒ•ãƒ­ãƒ¼"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "fd %d ãŒäº‹å‰ã«é–‹ã„ã¦ã„ã¾ã›ã‚“。"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "事å‰ã« fd %d 用㫠/dev/null ã‚’é–‹ã‘ã¾ã›ã‚“。"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "グループãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "コマンドライン:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "エラー: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "文字列ã®çµ‚ã‚Šã«ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "å¤ã„ awk 㯠`\\%c' エスケープシーケンスをサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX ã§ã¯ `\\x' エスケープã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "`\\x' エスケープシーケンスã«å六進数ãŒã‚ã‚Šã¾ã›ã‚“"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -1970,12 +1876,12 @@ msgstr ""
"å六進エスケープ \\x%.*s (%d 文字) ã¯ãŠãらã予期ã—ãŸã‚ˆã†ã«ã¯è§£é‡ˆã•ã‚Œãªã„ã§"
"ã—ょã†"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "エスケープシーケンス `\\%c' 㯠`%c' ã¨åŒç­‰ã«æ‰±ã‚ã‚Œã¾ã™"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -1993,16 +1899,16 @@ msgstr "%s %s `%s': fd フラグをå–å¾—ã§ãã¾ã›ã‚“: (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 を設定ã§ãã¾ã›ã‚“: (fcntl F_SETFD: %s)"
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "`%s' を書込ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "プロファイルを標準エラーã«é€ã£ã¦ã„ã¾ã™"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2011,7 +1917,7 @@ msgstr ""
"\t# %s ブロック\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2020,17 +1926,22 @@ msgstr ""
"\t# ルール\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "内部エラー: %s ã® vname ãŒç„¡åŠ¹ã§ã™ã€‚"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "内部エラー: %s ã® vname ãŒç„¡åŠ¹ã§ã™ã€‚"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk プロファイルã€ä½œæˆæ—¥æ™‚ %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2039,92 +1950,169 @@ msgstr ""
"\n"
"\t# 関数一覧(アルファベット順)\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: ä¸æ˜Žãªãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆåž‹ %d ã§ã™"
-#: re.c:572
+#: re.c:573
#, fuzzy, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "`[%c-%c]' å½¢å¼ã®ç¯„囲ã¯ãƒ­ã‚±ãƒ¼ãƒ«ä¾å­˜ã§ã™"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr "æ­£è¦è¡¨ç¾ã®è¦ç´  `%.*s' ã¯ãŠãらã `[%.*s]' ã§ã‚ã‚‹ã¹ãã§ã™"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "æˆåŠŸã§ã™"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "一致ã—ã¾ã›ã‚“"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "無効ãªæ­£è¦è¡¨ç¾ã§ã™"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "無効ãªç…§åˆæ–‡å­—ã§ã™"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "無効ãªæ–‡å­—クラスåã§ã™"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "終端ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "無効ãªå‰æ–¹å‚ç…§ã§ã™"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "[ ã¾ãŸã¯ [^ ãŒä¸ä¸€è‡´ã§ã™"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "( ã¾ãŸã¯ \\( ãŒä¸ä¸€è‡´ã§ã™"
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "\\{ ãŒä¸ä¸€è‡´ã§ã™"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "\\{\\} ã®ä¸­èº«ãŒç„¡åŠ¹ã§ã™"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "無効ãªç¯„囲終了ã§ã™"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "メモリを使ã„æžœãŸã—ã¾ã—ãŸ"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "無効ãªå‰æ–¹æ­£è¦è¡¨ç¾ã§ã™"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "æ­£è¦è¡¨ç¾ãŒé€”中ã§çµ‚了ã—ã¾ã—ãŸ"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "æ­£è¦è¡¨ç¾ãŒå¤§ãã™ãŽã¾ã™"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr ") ã¾ãŸã¯ \\) ãŒä¸ä¸€è‡´ã§ã™"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "以å‰ã«æ­£è¦è¡¨ç¾ãŒã‚ã‚Šã¾ã›ã‚“"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "関数 `%s' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„è¦ç´  `%s[\"%.*s\"]' ã¸ã®å‚ç…§ã§ã™"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "é…列 `%s' ã®æ·»å­—㌠NULL 文字列ã§ã™"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: 空 (null)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: 空 (zero)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr ""
+#~ "%s: テーブルサイズ (table_size) = %d, é…列サイズ (array_size) = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: 仮引数ã§ã™\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: %s ã¸ã®é…列å‚ç…§ (array_ref) ã§ã™\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "é…列ã§ãªã„ã‚‚ã®ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã—ã¦ã„ã¾ã™"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "関数å `%s' ã¯å¤‰æ•°ã¾ãŸã¯é…列ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "スカラーコンテキスト内ã§é…列 `%s[\"%.*s\"]' ã®ä½¿ç”¨ã®è©¦ã¿ã§ã™"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "æ¡ä»¶ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã§ä»£å…¥ãŒä½¿ç”¨ã•ã‚Œã¾ã—ãŸ"
+
+#~ msgid "statement has no effect"
+#~ msgstr "æ–‡ã«åŠ¹æžœãŒã‚ã‚Šã¾ã›ã‚“"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr ""
+#~ "for ループ: ループ実行中ã«é…列 `%s' ã®ã‚µã‚¤ã‚ºãŒ %ld ã‹ã‚‰ %ld ã¸å¤‰æ›´ã•ã‚Œã¾ã—"
+#~ "ãŸ"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "`%s' を通ã—ã¦é–“接的ã«å‘¼ã³å‡ºã•ã‚ŒãŸé–¢æ•°ãŒå­˜åœ¨ã—ã¾ã›ã‚“"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "関数 `%s' ã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "`%s' ルールã®å†…å´ã§ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¦ã„ãªã„ `getline' ã¯ç„¡åŠ¹ã§ã™"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "入力ファイル `%s' を読ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "`nextfile' 㯠`%s' ルールã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“"
+
+#, fuzzy
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "`next' 㯠`%s' ã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "`next' 㯠`%s' ã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "申ã—訳ã‚ã‚Šã¾ã›ã‚“㌠`%s' ã‚’ã©ã®ã‚ˆã†ã«è§£é‡ˆã™ã‚‹ã‹åˆ†ã‹ã‚Šã¾ã›ã‚“"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R file\t\t\t--command=file\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "グループãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "組込関数ã®æˆ»ã‚Šå€¤ã¸ã®ä»£å…¥ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
diff --git a/po/nl.gmo b/po/nl.gmo
index 52f492d6..02c2af4b 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index ecb41655..ea5d9ae1 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,17 +1,17 @@
# Dutch translations for GNU gawk.
-# Copyright (C) 2011 Free Software Foundation, Inc.
+# Copyright (C) 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
#
-# And so it goes.
+# Als het schone blinkt.
#
-# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2010, 2011.
+# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2010, 2011, 2012.
# Erwin Poeze <erwin.poeze@gmail.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-07-17 21:44+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-01-30 20:40+0100\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -21,505 +21,462 @@ msgstr ""
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "van %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "scalaire waarde wordt gebruikt als array"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "functie '%s' wordt gebruikt als array"
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "scalaire parameter '%s' wordt gebruikt als array"
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "scalair '%s' wordt gebruikt als array"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "array '%s' wordt gebruikt in een scalaire context"
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "verwijzing naar ongeïnitialiseerd element '%s[\"%.*s\"]'"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "index van array '%s' is lege string"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: index '%s' niet in array '%s'"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "scalair '%s[\"%.*s\"]' wordt gebruikt als array"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: leeg (nil)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: leeg (nul)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: tabelgrootte = %d, arraygrootte = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: is een parameter\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: array-verwijzing naar %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: argument is geen array"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: tweede argument is geen array"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: tweede argument is geen array"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: eerste argument is geen array"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: eerste argument is geen array"
-#: array.c:1102
+#: array.c:849
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"
-#: array.c:1103
+#: array.c:850
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"
-#: array.c:1108
+#: array.c:855
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"
-#: array.c:1109
+#: array.c:856
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"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "'%s' is ongeldig als functienaam"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "sorteervergelijkingsfunctie '%s' is niet gedefinieerd"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s-blokken horen een actiedeel te hebben"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "elke regel hoort een patroon of een actiedeel te hebben"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "oude 'awk' staat meerdere 'BEGIN'- en 'END'-regels niet toe"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "'%s' is een ingebouwde functie en is niet te herdefiniëren"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "regexp-constante '//' lijkt op C-commentaar, maar is het niet"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr "regexp-constante '/%s/' lijkt op C-commentaar, maar is het niet"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "dubbele 'case'-waarde in 'switch'-opdracht: %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "dubbele 'default' in 'switch'-opdracht"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "'break' buiten een lus of 'switch'-opdracht is niet toegestaan"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "'continue' buiten een lus is niet toegestaan"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "'next' wordt gebruikt in %s-actie"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "'nextfile' is een gawk-uitbreiding"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "'nextfile' wordt gebruikt in %s-actie"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "'return' wordt gebruikt buiten functiecontext"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
"kale 'print' in BEGIN- of END-regel moet vermoedelijk 'print \"\"' zijn"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "'delete array' is een gawk-uitbreiding"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "'delete(array)' is een niet-overdraagbare 'tawk'-uitbreiding"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "meerfase-tweerichtings-pijplijnen werken niet"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "reguliere expressie rechts van toewijzing"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "reguliere expressie links van operator '~' of '!~'"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "oude 'awk' kent het sleutelwoord 'in' niet, behalve na 'for'"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "reguliere expressie rechts van vergelijking"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "'getline var' is ongeldig binnen een '%s'-regel"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "'getline' is ongeldig binnen een '%s'-regel"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "niet-omgeleide 'getline' is ongedefinieerd binnen een END-actie"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "oude 'awk' kent geen meerdimensionale arrays"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "aanroep van 'length' zonder haakjes is niet overdraagbaar"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "indirecte functieaanroepen zijn een gawk-uitbreiding"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
"kan speciale variabele '%s' niet voor indirecte functieaanroep gebruiken"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "ongeldige index-expressie"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "non-array wordt gebruikt als array"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "waarschuwing: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "fataal: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "onverwacht regeleinde of einde van string"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "kan bronbestand '%s' niet openen om te lezen (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "reden onbekend"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "bronbestand '%s' is reeds ingesloten"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "'@include' is een gawk-uitbreiding"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "lege bestandsnaam na '@include'"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "lege programmatekst op commandoregel"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "kan bronbestand '%s' niet lezen (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "bronbestand '%s' is leeg"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "bronbestand eindigt niet met een regeleindeteken (LF)"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "onafgesloten reguliere expressie eindigt met '\\' aan bestandseinde"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "%s: %d: regexp-optie '/.../%c' van 'tawk' werkt niet in gawk"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "regexp-optie '/.../%c' van 'tawk' werkt niet in gawk"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "onafgesloten reguliere expressie"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "onafgesloten reguliere expressie aan bestandseinde"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr "gebruik van regelvoortzetting '\\ #...' is niet overdraagbaar"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "backslash is niet het laatste teken op de regel"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX staat operator '**=' niet toe"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "oude 'awk' kent de operator '**=' niet"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX staat operator '**' niet toe"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "oude 'awk' kent de operator '**' niet"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "oude 'awk' kent de operator '^=' niet"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "oude 'awk' kent de operator '^' niet"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "onafgesloten string"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ongeldig teken '%c' in expressie"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "'%s' is een gawk-uitbreiding"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "'%s' is een uitbreiding door Bell Labs"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX staat '%s' niet toe"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "oude 'awk' kent '%s' niet"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "'goto' wordt als schadelijk beschouwd!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d is een ongeldig aantal argumenten voor %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr "%s: een stringwaarde als laatste vervangingsargument heeft geen effect"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s: derde parameter is geen veranderbaar object"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: derde argument is een gawk-uitbreiding"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: tweede argument is een gawk-uitbreiding"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcgettext(_\"...\") is onjuist: verwijder het liggende streepje"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcngettext(_\"...\") is onjuist: verwijder het liggende streepje"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "functie '%s': parameter #%d, '%s', dupliceert parameter #%d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "functie '%s': parameter '%s' schaduwt een globale variabele"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kan '%s' niet openen om te schrijven (%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "variabelenlijst gaat naar standaardfoutuitvoer"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: sluiten is mislukt (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() twee keer aangeroepen!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "er waren geschaduwde variabelen."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "functienaam '%s' is al eerder gedefinieerd"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "functie '%s': kan functienaam niet als parameternaam gebruiken"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, 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"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "functienaam '%s' is al eerder gedefinieerd"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "functie '%s': parameter #%d, '%s', dupliceert parameter #%d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "functie '%s' wordt aangeroepen maar is nergens gedefinieerd"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "functie '%s' is gedefinieerd maar wordt nergens direct aangeroepen"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "regexp-constante als parameter #%d levert booleanwaarde op"
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -528,230 +485,230 @@ msgstr ""
"functie '%s' wordt aangeroepen met een spatie tussen naam en '(',\n"
"of wordt gebruikt als variabele of array"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "deling door nul"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "deling door nul in '%%'"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s naar \"%s\" is mislukt (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "standaarduitvoer"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: argument is geen getal"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argument %g ligt buiten toegestane bereik"
-#: builtin.c:200
+#: builtin.c:202
#, 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"
-#: builtin.c:203
+#: builtin.c:205
#, 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"
-#: builtin.c:215
+#: builtin.c:217
#, 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:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: eerste argument is geen string"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: tweede argument is geen string"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: argument is geen getal"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: argument is een array"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "'length(array)' is een gawk-uitbreiding"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: argument is geen string"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: argument is geen getal"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: argument %g is negatief"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
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:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "veldbreedte wordt genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "veldprecisie wordt genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "veldbreedte en -precisie worden genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fataal: '$' is niet toegestaan in awk-opmaak"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "fataal: het aantal argumenten met '$' moet > 0 zijn"
-#: builtin.c:829
+#: builtin.c:834
#, 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:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "fataal: '$' is niet toegestaan na een punt in de opmaak"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "fataal: geen '$' opgegeven bij positionele veldbreedte of -precisie"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "'l' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fataal: 'l' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "'L' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fataal: 'L' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "'h' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fataal: 'h' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:1271
+#: builtin.c:1276
#, 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:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"onbekend opmaakteken '%c' wordt genegeerd: geen argument is geconverteerd"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr "fataal: niet genoeg argumenten voor opmaakstring"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "niet genoeg ^ voor deze"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: opmaakaanduiding mist een stuurletter"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "te veel argumenten voor opmaakstring"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: geen argumenten"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: argument is geen getal"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: argument %g is negatief"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: lengte %g is niet >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: lengte %g is niet >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: lengte %g is geen integer; wordt afgekapt"
-#: builtin.c:1516
+#: builtin.c:1521
#, 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"
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindex %g is ongeldig; 1 wordt gebruikt"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: startindex %g is geen integer; wordt afgekapt"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: bronstring heeft lengte nul"
-#: builtin.c:1574
+#: builtin.c:1579
#, 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:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -759,227 +716,222 @@ msgstr ""
"substr: lengte %g bij startindex %g is groter dan de lengte van het eerste "
"argument (%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: opmaakwaarde in PROCINFO[\"strftime\"] is numeriek"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: tweede argument is geen getal"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
+msgstr "strftime: tweede argument is kleiner dan nul of te groot voor 'time_t'"
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: eerste argument is geen string"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: opmaakstring is leeg"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: argument is geen string"
-#: builtin.c:1778
+#: builtin.c:1784
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:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "'system'-functie is niet toegestaan in sandbox-modus"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: argument is geen string"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "verwijzing naar ongeïnitialiseerde variabele '%s'"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "verwijzing naar ongeïnitialiseerd veld '$%d'"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: argument is geen string"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: argument is geen string"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: eerste argument is geen getal"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: tweede argument is geen getal"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: argument is geen getal"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: argument is geen getal"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: argument is geen getal"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: derde argument is geen array"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: derde argument is 0; wordt beschouwd als 1"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: eerste argument is geen getal"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: tweede argument is geen getal"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr "lshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: eerste argument is geen getal"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: tweede argument is geen getal"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr "rshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: eerste argument is geen getal"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: tweede argument is geen getal"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: eerste argument is geen getal"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: tweede argument is geen getal"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: eerste argument is geen getal"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: tweede argument is geen getal"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: argument is geen getal"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): cijfers na de komma worden afgekapt"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: '%s' is geen geldige taalregio-deelcategorie"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "onbekend knooptype %d"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "onbekende opcode %d"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "opcode %s is geen operator noch sleutelwoord"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "bufferoverloop in genflags2str()"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -990,218 +942,166 @@ msgstr ""
"\t# Functieaanroepen-stack:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "'IGNORECASE' is een gawk-uitbreiding"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "'BINMODE' is een gawk-uitbreiding"
-#: eval.c:812
+#: 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:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "onjuiste opgave van '%sFMT': '%s'"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "'--lint' wordt uitgeschakeld wegens toewijzing aan 'LINT'"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "kan functienaam '%s' niet als variabele of array gebruiken"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "verwijzing naar ongeïnitialiseerd argument '%s'"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "verwijzing naar ongeïnitialiseerde variabele '%s'"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "veldverwijzingspoging via een waarde die geen getal is"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "veldverwijzingspoging via een lege string"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "toegangspoging tot veld %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "verwijzing naar ongeïnitialiseerd veld '$%ld'"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "functie '%s' aangeroepen met meer argumenten dan gedeclareerd"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack(): onverwacht type '%s'"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "deling door nul in '/='"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "deling door nul in '%%='"
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "array '%s[\"%.*s\"]' wordt gebruikt in een scalaire context"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "toewijzing wordt gebruikt in een conditionele context"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "opdracht heeft geen effect"
-
-#: eval.c:2343
-#, c-format
-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"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "indirect (via '%s') aangeroepen functie bestaat niet"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "functie '%s' is niet gedefinieerd"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "niet-omgeleide 'getline' is ongeldig binnen een '%s'-regel"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "fout tijdens lezen van invoerbestand '%s': %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "'nextfile' kan niet aangeroepen worden in een '%s'-regel"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "'next' kan niet aangeroepen worden in een '%s'-regel"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Kan '%s' niet interpreteren"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "uitbreidingen zijn niet toegestaan in sandbox-modus"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "'extension' is een gawk-uitbreiding"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "fatale fout: extension: kan '%s' niet openen (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"fatale fout: extension: bibliotheek '%s': definieert "
"'plugin_is_GPL_compatible' niet (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"fatale fout: extension: bibliotheek '%s': kan functie '%s' niet aanroepen "
"(%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "extension: ontbrekende functienaam"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: ongeldig teken '%c' in functienaam '%s'"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: kan functie '%s' niet herdefiniëren"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: functie '%s' is al gedefinieerd"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension: functienaam '%s' is al eerder gedefinieerd"
-#: ext.c:162
+#: ext.c:142
#, c-format
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:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negatief aantal argumenten voor functie '%s'"
-#: ext.c:269
+#: ext.c:207
#, 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"
-#: ext.c:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "functie '%s': ontbrekend argument #%d"
-#: ext.c:289
+#: ext.c:227
#, 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:293
+#: ext.c:231
#, 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:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "Actie wordt niet ondersteund"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "NF is op een negatieve waarde gezet"
@@ -1270,542 +1170,552 @@ msgstr ""
"patsplit: een subarray van het vierde argument kan niet als tweede argument "
"gebruikt worden"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "'FIELDWIDTHS' is een gawk-uitbreiding"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ongeldige waarde voor FIELDWIDTHS, nabij '%s'"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "een lege string als 'FS' is een gawk-uitbreiding"
-#: field.c:1250
+#: field.c:1252
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:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "'FPAT' is een gawk-uitbreiding"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: optie '%s' is niet eenduidig\n"
-#: getopt.c:623 getopt.c:627
+#: 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:636 getopt.c:641
+#: 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:684 getopt.c:703
+#: 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:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ongeldige optie -- '%c'\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: 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:930 getopt.c:946
+#: 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:970 getopt.c:988
+#: 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:1009 getopt.c:1027
+#: 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:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "opdrachtregelargument '%s' is een map -- overgeslagen"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "kan bestand '%s' niet openen om te lezen (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "sluiten van bestandsdescriptor %d ('%s') is mislukt (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "omleiding is niet toegestaan in sandbox-modus"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "expressie in omleiding '%s' heeft alleen een getal als waarde"
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "expressie voor omleiding '%s' heeft een lege string als waarde"
-#: io.c:624
+#: io.c:659
#, 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"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "onnodige mix van '>' en '>>' voor bestand '%.*s'"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "kan pijp '%s' niet openen voor uitvoer (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "kan pijp '%s' niet openen voor invoer (%s)"
-#: io.c:753
+#: io.c:788
#, 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:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan niet omleiden van '%s' (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan niet omleiden naar '%s' (%s)"
-#: io.c:889
+#: io.c:924
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:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "sluiten van '%s' is mislukt (%s)"
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "te veel pijpen of invoerbestanden geopend"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: tweede argument moet 'to' of 'from' zijn"
-#: io.c:952
+#: io.c:987
#, 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:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "sluiten van een nooit-geopende omleiding"
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: omleiding '%s' is niet geopend met '|&'; tweede argument wordt "
"genegeerd"
-#: io.c:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "afsluitwaarde %d bij mislukte sluiting van pijp '%s' (%s)"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "afsluitwaarde %d bij mislukte sluiting van bestand '%s' (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "geen expliciete sluiting van socket '%s' aangegeven"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "geen expliciete sluiting van co-proces '%s' aangegeven"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "geen expliciete sluiting van pijp '%s' aangegeven"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "geen expliciete sluiting van bestand '%s' aangegeven"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "fout tijdens schrijven van standaarduitvoer (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "fout tijdens schrijven van standaardfoutuitvoer (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "leegmaken van pijp '%s' is mislukt (%s)"
-#: io.c:1145
+#: io.c:1180
#, 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:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "leegmaken van bestand '%s' is mislukt (%s)"
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokale poort %s is ongeldig in '/inet'"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "host- en poortinformatie (%s, %s) zijn ongeldig"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "geen (bekend) protocol aangegeven in speciale bestandsnaam '%s'"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "speciale bestandsnaam '%s' is onvolledig"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "'/inet' heeft een gindse hostnaam nodig"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "'/inet' heeft een gindse poort nodig"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-communicatie wordt niet ondersteund"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kan '%s' niet openen -- modus '%s'"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "kan meester-pty van dochterproces niet sluiten (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "kan standaarduitvoer van dochterproces niet sluiten (%s)"
-#: io.c:1753
+#: io.c:1788
#, 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)"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "kan standaardinvoer van dochterproces niet sluiten (%s)"
-#: io.c:1758
+#: io.c:1793
#, 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)"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "kan slaaf-pty niet sluiten (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"kan pijp niet overzetten naar standaarduitvoer van dochterproces (dup: %s)"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
"kan pijp niet overzetten naar standaardinvoer van dochterproces (dup: %s)"
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr "kan standaarduitvoer van ouderproces niet herstellen\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr "kan standaardinvoer van ouderproces niet herstellen\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "kan pijp niet sluiten (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "'|&' wordt niet ondersteund"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan pijp '%s' niet openen (%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan voor '%s' geen dochterproces starten (fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "databestand '%s' is leeg"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "kan geen extra invoergeheugen meer toewijzen"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "een 'RS' van meerdere tekens is een gawk-uitbreiding"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "IPv6-communicatie wordt niet ondersteund"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "optie '-m[fr]' is irrelevant in gawk"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "gebruikswijze van optie -m: '-m[fr] nnn'"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "argument van '-e/--source' is leeg; genegeerd"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: optie '-W %s' is onbekend; genegeerd\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "omgevingsvariabele 'POSIXLY_CORRECT' is gezet: '--posix' ingeschakeld"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "'--posix' overstijgt '--traditional'"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "'--posix'/'--traditional' overstijgen '--non-decimal-data'"
-#: main.c:555
+#: main.c:552
#, 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:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "'--posix' overstijgt '--binary'"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "kan standaardinvoer niet in binaire modus zetten (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "kan standaarduitvoer niet in binaire modus zetten (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "kan standaardfoutuitvoer niet in binaire modus zetten (%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "helemaal geen programmatekst!"
-#: main.c:733
+#: main.c:737
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Gebruik: %s [opties] -f programmabestand [--] bestand...\n"
-#: main.c:735
+#: main.c:739
#, 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:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "\tPOSIX-opties:\t\tEquivalente GNU-opties: (standaard)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f programmabestand\t--file=programmabestand\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F veldscheidingsteken\t--field-separator=veldscheidingsteken\n"
-#: main.c:743
+#: main.c:747
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:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "\tKorte opties:\t\tEquivalente GNU-opties: (uitbreidingen)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[bestand]\t\t--dump-variables[=bestand]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[bestand]\t\t--profile[=bestand]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programmatekst'\t--source='programmatekst'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E bestand\t\t--exec=bestand\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fataal]\t\t--lint[=fataal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[bestand]\t\t--profile[=bestand]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[bestand]\t\t--profile[=bestand]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R bestand\t\t\t--command=bestand\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t\t--parsedebug\n"
@@ -1814,7 +1724,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1827,7 +1737,7 @@ msgstr ""
"Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1837,7 +1747,7 @@ msgstr ""
"Standaard leest het van standaardinvoer en schrijft naar standaarduitvoer.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1847,7 +1757,7 @@ msgstr ""
"\tgawk '{ som += $1 }; END { print som }' bestand\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1865,7 +1775,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:814
+#: main.c:819
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"
@@ -1879,7 +1789,7 @@ msgstr ""
"Zie de GNU General Public License voor meer details.\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1888,16 +1798,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:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft maakt van FS geen tab in POSIX-awk"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "onbekende waarde voor veldspecificatie: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1906,84 +1816,79 @@ msgstr ""
"%s: argument '%s' van '-v' is niet van de vorm 'var=waarde'\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "'%s' is geen geldige variabelenaam"
-#: main.c:1199
+#: main.c:1201
#, 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:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "kan in gawk ingebouwde '%s' niet als variabelenaam gebruiken"
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan functie '%s' niet als variabelenaam gebruiken"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "drijvendekomma-berekeningsfout"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "fatale fout: **interne fout**"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "fatale fout: **interne fout**: segmentatiefout"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "fatale fout: **interne fout**: stack is vol"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "geen reeds-geopende bestandsdescriptor %d"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kan /dev/null niet openen voor bestandsdescriptor %d"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "kan groepen niet vinden: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "commandoregel:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "fout: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "backslash aan het einde van de string"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "oude 'awk' kent de stuurcodereeks '\\%c' niet"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX staat stuurcode '\\x' niet toe"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "geen hex cijfers in stuurcodereeks '\\x'"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -1992,12 +1897,12 @@ msgstr ""
"hexadecimale stuurcode \\x%.*s van %d tekens wordt waarschijnlijk niet "
"afgehandeld zoals u verwacht"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "stuurcodereeks '\\%c' behandeld als normale '%c'"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2017,16 +1922,16 @@ msgstr ""
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:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "kan '%s' niet openen om te schrijven: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "profiel gaat naar standaardfoutuitvoer"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2035,7 +1940,7 @@ msgstr ""
"\t# %s-blok(ken)\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2044,17 +1949,22 @@ msgstr ""
"\t# Regel(s)\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "**interne fout**: %s heeft een lege 'vname'"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "**interne fout**: %s heeft een lege 'vname'"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiel, gemaakt op %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2063,96 +1973,171 @@ msgstr ""
"\n"
"\t# Functies, alfabetisch geordend\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str(): onbekend omleidingstype %d"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, 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:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
"component '%.*s' van reguliere expressie moet vermoedelijk '[%.*s]' zijn"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Gelukt"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Geen overeenkomsten"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Ongeldige reguliere expressie"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Ongeldig samengesteld teken"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Ongeldige tekenklassenaam"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "Backslash aan het eind"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Ongeldige terugverwijzing"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "Ongepaarde [ of [^"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "Ongepaarde ( of \\("
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "Ongepaarde \\{"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Ongeldige inhoud van \\{\\}"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Ongeldig bereikeinde"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Onvoldoende geheugen beschikbaar"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Ongeldige voorafgaande reguliere expressie"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Voortijdig einde van reguliere expressie"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "Reguliere expressie is te groot"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr "Ongepaarde ) of \\)"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "Geen eerdere reguliere expressie"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "functie '%s' wordt gebruikt als array"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "verwijzing naar ongeïnitialiseerd element '%s[\"%.*s\"]'"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "index van array '%s' is lege string"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: leeg (nil)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: leeg (nul)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: tabelgrootte = %d, arraygrootte = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: is een parameter\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: array-verwijzing naar %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "non-array wordt gebruikt als array"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "kan functienaam '%s' niet als variabele of array gebruiken"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "array '%s[\"%.*s\"]' wordt gebruikt in een scalaire context"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "toewijzing wordt gebruikt in een conditionele context"
+
+#~ 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 "function called indirectly through `%s' does not exist"
+#~ msgstr "indirect (via '%s') aangeroepen functie bestaat niet"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "functie '%s' is niet gedefinieerd"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "niet-omgeleide 'getline' is ongeldig binnen een '%s'-regel"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "fout tijdens lezen van invoerbestand '%s': %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "'nextfile' kan niet aangeroepen worden in een '%s'-regel"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "'exit' kan niet aangeroepen worden in de huidige context"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "'next' kan niet aangeroepen worden in een '%s'-regel"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Kan '%s' niet interpreteren"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R bestand\t\t\t--command=bestand\n"
+
+#~ msgid "could not find groups: %s"
+#~ 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"
diff --git a/po/pl.gmo b/po/pl.gmo
index f0b2f7c1..ed27cbd6 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 68aedb4f..583bfbc7 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,16 +1,16 @@
# Polish translations for GNU AWK package.
-# Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
#
-# Wojciech Polak <polak@gnu.org>, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011.
+# Wojciech Polak <polak@gnu.org>, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012.
# additional help by Sergey Poznyakoff <gray@gnu.org>, 2003.
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.81\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-05-14 11:41-0400\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-02-04 19:17+0100\n"
"Last-Translator: Wojciech Polak <polak@gnu.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
@@ -20,515 +20,471 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "od %s"
-#: array.c:248
+#: array.c:367
msgid "attempt to use a scalar value as array"
msgstr "próba użycia wartości skalarnej jako tablicy"
-#: array.c:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "próba użycia funkcji `%s' jako tablicy"
-
-#: array.c:254
+#: array.c:369
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
msgstr "próba użycia parametru `%s' skalaru jako tablicy"
-#: array.c:257
+#: array.c:372
#, c-format
msgid "attempt to use scalar `%s' as an array"
msgstr "próba użycia skalaru `%s' jako tablicy"
-#: array.c:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "próba użycia tablicy `%s' w kontekście skalaru"
-#: array.c:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "odwołanie do niezainicjowanego elementu `%s[\"%.*s\"]'"
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "indeks tablicy `%s' jest zerowym łańcuchem"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indeks `%s' nie jest w tablicy `%s'"
-#: array.c:734 eval.c:1865
+#: array.c:606
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "próba użycia skalaru `%s[\"%.*s\"]' jako tablicy"
-#: array.c:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: pusty (null)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: pusty (zero)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: table_size = %d, array_size = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: jest parametrem\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: array_ref do %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: argument nie jest tablicÄ…"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: drugi argument nie jest tablicÄ…"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: drugi argument nie jest tablicÄ…"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: pierwszy argument nie jest tablicÄ…"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: pierwszy argument nie jest tablicÄ…"
-#: array.c:1102
+#: array.c:849
msgid "asort: cannot use a subarray of first arg for second arg"
msgstr ""
"asort: nie można użyć podtablicy pierwszego argumentu dla drugiego argumentu"
-#: array.c:1103
+#: array.c:850
msgid "asorti: cannot use a subarray of first arg for second arg"
msgstr ""
"asorti: nie można użyć podtablicy pierwszego argumentu dla drugiego argumentu"
-#: array.c:1108
+#: array.c:855
msgid "asort: cannot use a subarray of second arg for first arg"
msgstr ""
"asort: nie można użyć podtablicy drugiego argumentu dla pierwszego argumentu"
-#: array.c:1109
+#: array.c:856
msgid "asorti: cannot use a subarray of second arg for first arg"
msgstr ""
"asorti: nie można użyć podtablicy drugiego argumentu dla pierwszego argumentu"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "nieprawidłowa nazwa funkcji `%s'"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "funkcja porównująca w sortowaniu `%s' nie została zdefiniowna"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s bloków musi posiadać część dotyczącą akcji"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "każda reguła musi posiadać wzorzec lub część dotyczącą akcji"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "stary awk nie wspiera wielokrotnych reguł `BEGIN' lub `END'"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr ""
"`%s' jest funkcją wbudowaną, więc nie może zostać ponownie zdefiniowana"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr ""
"stałe wyrażenie regularne `//' wygląda jak komentarz C++, ale nim nie jest"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr ""
"stałe wyrażenie regularne `/%s/' wygląda jak komentarz C, ale nim nie jest"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "powielone wartości case w ciele switch: %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "wykryto powielony `default' w ciele switch"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "instrukcja `break' poza pętlą lub switch'em jest niedozwolona"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "instrukcja `continue' poza pętlą jest niedozwolona"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "`next' użyty w akcji %s"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "`nextfile' jest rozszerzeniem gawk"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "`nextfile' użyty w akcji %s"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "`return' użyty poza kontekstem funkcji"
-#: awkgram.y:925
+#: awkgram.y:892
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
"zwykły `print' w regułach BEGIN lub END powinien prawdopodobnie być jako "
"`print \"\"'"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "`delete tablica' jest rozszerzeniem gawk"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(tablica)' jest nieprzenośnym rozszerzeniem tawk"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "wieloetapowe dwukierunkowe linie potokowe nie działają"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "wyrażanie regularne po prawej stronie przypisania"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "wyrażenie regularne po lewej stronie operatora `~' lub `!~'"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr ""
"stary awk nie wspiera słowa kluczowego `in', z wyjątkiem po słowie `for'"
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "wyrażenie regularne po prawej stronie porównania"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "nieprawidłowy `getline var' wewnątrz reguły `%s'"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "nieprawidłowy `getline' wewnątrz reguły `%s'"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr ""
"komenda `getline' bez przekierowania nie jest zdefiniowana wewnÄ…trz akcji END"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "stary awk nie wspiera wielowymiarowych tablic"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "wywołanie `length' bez nawiasów jest nieprzenośne"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "pośrednie wywołania funkcji są rozszerzeniem gawk"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
"nie można użyć specjalnej zmiennej `%s' do pośredniego wywołania funkcji"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "nieprawidłowe wyrażenie indeksowe"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "użycie nie-tablicy jako tablicy"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "ostrzeżenie: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "fatalny błąd: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "niespodziewany znak nowego wiersza lub końca łańcucha"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "nie można otworzyć pliku źródłowego `%s' do czytania (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "nieznany powód"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "plik źródłowy `%s' jest już załączony"
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include jest rozszerzeniem gawk"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "pusta nazwa pliku po @include"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "pusty tekst programu w linii poleceń"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "nie można otworzyć pliku źródłowego `%s' (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "plik źródłowy `%s' jest pusty"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "plik źródłowy nie posiada na końcu znaku nowego wiersza"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr ""
"niezakończone prawidłowo wyrażenie regularne kończy się znakiem `\\' na "
"końcu pliku"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
"%s: %d: modyfikator wyrażenia regularnego `/.../%c' tawk nie działa w gawk"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "modyfikator wyrażenia regularnego `/.../%c' tawk nie działa w gawk"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "niezakończone wyrażenie regularne"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "niezakończone wyrażenie regularne na końcu pliku"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr "użycie `\\ #...' kontynuacji linii nie jest przenośne"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "backslash nie jest ostatnim znakiem w wierszu"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX nie zezwala na operator `**='"
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "stary awk nie wspiera operatora `**='"
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX nie zezwala na operator `**'"
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "stary awk nie wspiera operatora `**'"
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "operator `^=' nie jest wspierany w starym awk"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "operator `^' nie jest wspierany w starym awk"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "niezakończony łańcuch"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "nieprawidłowy znak '%c' w wyrażeniu"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' jest rozszerzeniem gawk"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "`%s' jest rozszerzeniem Bell Labs"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX nie zezwala na `%s'"
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "`%s' nie jest wspierany w starym awk"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "`goto' uważane za szkodliwe!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d jest nieprawidłowe jako liczba argumentów dla %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr ""
"%s: literał łańcuchowy jako ostatni argument podstawienia nie ma żadnego "
"efektu"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s trzeci parametr nie jest zmiennym obiektem"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: trzeci argument jest rozszerzeniem gawk"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: drugi argument jest rozszerzeniem gawk"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr "nieprawidłowe użycie dcgettext(_\"...\"): usuń znak podkreślenia"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "nieprawidłowe użycie dcngettext(_\"...\"): usuń znak podkreślenia"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "funkcja `%s': parametr #%d, `%s', powiela parametr #%d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funkcja `%s': parametr `%s' zasłania globalną zmienną"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "nie można otworzyć `%s' do zapisu (%s)"
-#: awkgram.y:4094
-#, fuzzy
+#: awkgram.y:3886
msgid "sending variable list to standard error"
-msgstr "wysyłanie profilu na standardowe wyjście diagnostyczne"
+msgstr "wysyłanie listy zmiennych na standardowe wyjście diagnostyczne"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: zamknięcie nie powiodło się (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() wywołana podwójnie!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "wystąpiły przykryte zmienne."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "nazwa funkcji `%s' została zdefiniowana poprzednio"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funkcja `%s': nie można użyć nazwy funkcji jako nazwy parametru"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
"funkcja `%s': nie można użyć specjalnej zmiennej `%s' jako parametru funkcji"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "nazwa funkcji `%s' została zdefiniowana poprzednio"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "funkcja `%s': parametr #%d, `%s', powiela parametr #%d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "funkcja `%s' została wywołana, ale nigdy nie została zdefiniowana"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr ""
"funkcja `%s' została zdefiniowana, ale nigdy nie została wywołana "
"bezpośrednio"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "stałe wyrażenie regularne dla parametru #%d daje wartość logiczną"
-#: awkgram.y:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -538,233 +494,233 @@ msgstr ""
"`(',\n"
"lub użyta jako zmienna lub jako tablica"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "próba dzielenia przez zero"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "próba dzielenia przez zero w `%%'"
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s do \"%s\" nie powiódł się (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "standardowe wyjście"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: otrzymano argument nie będący liczbą"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argument %g jest poza zasięgiem"
-#: builtin.c:200
+#: builtin.c:202
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: nie można opróżnić: potok `%s' otwarty do czytania, a nie do zapisu"
-#: builtin.c:203
+#: builtin.c:205
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: nie można opróżnić: plik `%s' otwarty do czytania, a nie do zapisu"
-#: builtin.c:215
+#: builtin.c:217
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: `%s' nie jest ani otwartym plikiem, ani potokiem, ani procesem"
-#: builtin.c:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: otrzymano pierwszy argument, który nie jest łańcuchem"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: otrzymano drugi argument, który nie jest łańcuchem"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: otrzymano argument, który nie jest liczbą"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: otrzymano argument, który jest tablicą"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "`length(tablica)' jest rozszerzeniem gawk"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: otrzymano argument, który nie jest liczbą"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: otrzymano ujemny argument %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr "fatal: należy użyć `count$' we wszystkich formatach lub nic"
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "szerokość pola jest ignorowana dla specyfikatora `%%'"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "precyzja jest ignorowana dla specyfikatora `%%'"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "szerokość pola i precyzja są ignorowane dla specyfikatora `%%'"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal: `$' jest niedozwolony w formatach awk"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal: argument count z `$' musi być > 0"
-#: builtin.c:829
+#: builtin.c:834
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
"fatal: argument count %ld większy niż całkowita suma argumentów dostarczonych"
-#: builtin.c:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal: `$' jest niedozwolony po kropce w formacie"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "fatal: brak `$' dla pozycyjnej szerokości pola lub precyzji"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "`l' jest bezsensowny w formatach awk; zignorowany"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal: `l' jest niedozwolony w formatach POSIX awk"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "`L' jest bezsensowny w formatach awk; zignorowany"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal: `L' jest niedozwolony w formatach POSIX awk"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "`h' jest bezsensowny w formatach awk; zignorowany"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: `h' jest niedozwolony w formatach POSIX awk"
-#: builtin.c:1271
+#: builtin.c:1276
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: wartość %g jest poza zasięgiem dla formatu `%%%c'"
-#: builtin.c:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"pominięcie nieznanego formatu specyfikatora znaku `%c': nie skonwertowano "
"argumentu"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
"fatal: brak wystarczającej liczby argumentów, aby zaspokoić łańcuch "
"formatujÄ…cy"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "zabrakło ^"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: specyfikator formatu nie posiada kontrolnej litery"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "zbyt dużo podanych argumentów w łańcuchu formatującym"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: brak argumentów"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: otrzymano argument, który nie jest liczbą"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: wywołana z ujemnym argumentem %g"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: długość %g nie jest >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: długość %g nie jest >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: długość %g, która nie jest liczbą całkowitą, zostanie obcięta"
-#: builtin.c:1516
+#: builtin.c:1521
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr: długość %g zbyt duża dla indeksu łańcucha, obcinanie do %g"
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: początkowy indeks %g jest nieprawidłowy, nastąpi użycie 1"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr ""
"substr: początkowy indeks %g, który nie jest liczbą całkowitą, zostanie "
"obcięty"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: łańcuch źródłowy ma zerową długość"
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: początkowy indeks %g leży poza końcem łańcucha"
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -772,230 +728,225 @@ msgstr ""
"substr: długość %g zaczynając od %g przekracza długość pierwszego argumentu "
"(%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: wartość formatu w PROCINFO[\"strftime\"] posiada typ numeryczny"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
+msgstr "strftime: drugi argument mniejszy od 0 lub zbyt duży dla time_t"
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: otrzymano pierwszy argument, który nie jest łańcuchem"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: otrzymano pusty łańcuch formatujący"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:1778
+#: builtin.c:1784
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: przynajmniej jedna z wartości jest poza domyślnym zakresem"
-#: builtin.c:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "funkcja 'system' nie jest dozwolona w trybie piaskownicy"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "odwołanie do niezainicjowanej zmiennej `%s'"
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "odwołanie do niezainicjowanego pola `$%d'"
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: otrzymano trzeci argument, który nie jest tablicą"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: trzeci argument 0 potraktowany jako 1"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"lshift(%lf, %lf): zbyt duża wartość przesunięcia spowoduje dziwne wyniki"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
"rshift(%lf, %lf): zbyt duża wartość przesunięcia spowoduje dziwne wyniki"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' nie jest prawidłową kategorią lokalizacji"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "nieznany typ węzła %d"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "nieznany opcode %d"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "opcode %s nie jest operatorem ani słowem kluczowym"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "przepełnienie bufora w genflags2str"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -1006,219 +957,166 @@ msgstr ""
"\t# Stos Wywoławczy Funkcji:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "`IGNORECASE' jest rozszerzeniem gawk"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "`BINMODE' jest rozszerzeniem gawk"
-#: eval.c:812
+#: eval.c:794
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
msgstr "wartość BINMODE `%s' jest nieprawidłowa, przyjęto ją jako 3"
-#: eval.c:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "zła specyfikacja `%sFMT' `%s'"
-#: eval.c:980
+#: eval.c:969
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "wyłączenie `--lint' z powodu przypisania do `LINT'"
-#: eval.c:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "nie można użyć nazwy funkcji `%s' jako zmiennej lub tablicy"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "odwołanie do niezainicjowanego argumentu `%s'"
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "odwołanie do niezainicjowanej zmiennej `%s'"
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "próba odwołania do pola poprzez nienumeryczną wartość"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "próba odwołania z zerowego łańcucha"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "próba dostępu do pola %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "odwołanie do niezainicjowanego pola `$%ld'"
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr ""
"funkcja `%s' została wywołana z większą ilością argumentów niż zostało to "
"zadeklarowane"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: niespodziewany typ `%s'"
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "próba dzielenia przez zero w `/='"
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "próba dzielenia przez zero w `%%='"
-#: eval.c:1876 eval.c:2122
-#, c-format
-msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "próba użycia tablicy `%s[\"%.*s\"]' w kontekście skalaru"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "przypisanie użyte w kontekście warunkowym"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "instrukcja nie ma żadnego efektu"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"pętla for: tablica `%s' zmieniła rozmiar z %ld do %ld podczas wykonywania "
-"pętli"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "pośrednio wywołana funkcja poprzez `%s' nie istnieje"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "funkcja `%s' nie została zdefiniowana"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr ""
-"komenda `getline' bez przekierowania jest nieprawidłowa wewnątrz reguły `%s'"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "błąd podczas czytania z pliku `%s': %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "instrukcja `nextfile' nie może być wywołana z wnętrza reguły `%s'"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "instrukcja `next' nie może być wywołana z wnętrza reguły `%s'"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Niestety nie wiem jak zinterpretować `%s'"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "rozszerzenia nie sÄ… dozwolone w trybie piaskownicy"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "`extension' jest rozszerzeniem gawk"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "fatal: rozszerzenie: nie można otworzyć `%s' (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"fatal: rozszerzenie: biblioteka `%s': nie definiuje "
"`plugin_is_GPL_compatible' (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"fatal: rozszerzenie: biblioteka `%s': nie można wywołać funkcji `%s' (%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "rozszerzenie: brakujÄ…ca nazwa funkcji"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "rozszerzenie: nieprawidłowy znak `%c' w nazwie funkcji `%s'"
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "rozszerzenie: nie można zredefiniować funkcji `%s'"
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "rozserzenie: funkcja `%s' została już zdefiniowana"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "rozserzenie: nazwa funkcji `%s' została zdefiniowana wcześniej"
-#: ext.c:162
+#: ext.c:142
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr "rozszerzenie: nie można użyć wbudowanej w gawk `%s' jako nazwy funkcji"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: ujemny licznik argumentów dla funkcji `%s'"
-#: ext.c:269
+#: ext.c:207
#, c-format
msgid "function `%s' defined to take no more than %d argument(s)"
msgstr "funkcja `%s' zdefiniowana aby pobrać nie więcej niż %d argument(ów)"
-#: ext.c:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "funkcja `%s': brakuje #%d argumentu"
-#: ext.c:289
+#: ext.c:227
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr "funkcja `%s': argument #%d: próba użycia skalaru jako tablicy"
-#: ext.c:293
+#: ext.c:231
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr "funkcja `%s': argument #%d: próba użycia tablicy jako skalaru"
-#: ext.c:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "Operacja nie jest wspierana"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "NF ustawiony na wartość ujemną"
@@ -1283,553 +1181,561 @@ msgstr ""
"patsplit: nie można użyć podtablicy czwartego argumentu dla drugiego "
"argumentu"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' jest rozszerzeniem gawk"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "nieprawidłowa wartość FIELDWIDTHS, w pobliżu `%s'"
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "zerowy łańcuch dla `FS' jest rozszerzeniem gawk"
-#: field.c:1250
+#: field.c:1252
msgid "old awk does not support regexps as value of `FS'"
msgstr "stary awk nie wspiera wyrażeń regularnych jako wartości `FS'"
-#: field.c:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' jest rozszerzeniem gawk"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: opcja '%s' jest niejednoznaczna\n"
-#: getopt.c:623 getopt.c:627
+#: getopt.c:679 getopt.c:683
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opcja '--%s' nie może mieć argumentów\n"
-#: getopt.c:636 getopt.c:641
+#: getopt.c:692 getopt.c:697
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opcja '%c%s' nie może mieć argumentów\n"
-#: getopt.c:684 getopt.c:703
+#: getopt.c:740 getopt.c:759
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: opcja '--%s' wymaga argumentu\n"
-#: getopt.c:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: nieznana opcja '--%s'\n"
-#: getopt.c:752 getopt.c:755
+#: getopt.c:808 getopt.c:811
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: nieznana opcja '%c%s'\n"
-#: getopt.c:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: błędna opcja -- '%c'\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opcja wymaga argumentu -- '%c'\n"
-#: getopt.c:930 getopt.c:946
+#: getopt.c:989 getopt.c:1005
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
-#: getopt.c:970 getopt.c:988
+#: getopt.c:1029 getopt.c:1047
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opcja '-W %s' nie może mieć argumentów\n"
-#: getopt.c:1009 getopt.c:1027
+#: getopt.c:1068 getopt.c:1086
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: opcja '-W %s' wymaga argumentu\n"
-#: io.c:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "argument linii poleceń `%s' jest katalogiem: pominięto"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "nie można otworzyć pliku `%s' do czytania (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "zamknięcie fd %d (`%s') nie powiodło się (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "przekierowanie nie jest dozwolone w trybie piaskownicy"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "wyrażenie w przekierowaniu `%s' ma tylko wartość numeryczną"
-#: io.c:618
+#: io.c:654
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "wyrażenie dla przekierowania `%s' ma zerową wartość łańcucha"
-#: io.c:624
+#: io.c:659
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
"nazwa pliku `%s' dla przekierowania `%s' może być rezultatem logicznego "
"wyrażenia"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "niepotrzebne mieszanie `>' i `>>' dla pliku `%.*s'"
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "nie można otworzyć potoku `%s' jako wyjścia (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "nie można otworzyć potoku `%s' jako wejścia (%s)"
-#: io.c:753
+#: io.c:788
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr ""
"nie można otworzyć dwukierunkowego potoku `%s' jako wejścia/wyjścia (%s)"
-#: io.c:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "nie można przekierować z `%s' (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "nie można przekierować do `%s' (%s)"
-#: io.c:889
+#: io.c:924
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"osiągnięto systemowy limit otwartych plików: rozpoczęcie multipleksowania "
"deskryptorów plików"
-#: io.c:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "zamknięcie `%s' nie powiodło się (%s)."
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "zbyt dużo otwartych potoków lub plików wejściowych"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: drugim argumentem musi być `to' lub `from'"
-#: io.c:952
+#: io.c:987
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr ""
"close: `%.*s' nie jest ani otwartym plikiem, ani potokiem, ani procesem"
-#: io.c:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "zamknięcie przekierowania, które nigdy nie zostało otwarte"
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: przekierowanie `%s' nie zostało otwarte z `|&', drugi argument "
"zignorowany"
-#: io.c:1070
+#: io.c:1105
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "status awarii (%d) podczas zamykania potoku `%s' (%s)"
-#: io.c:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "status awarii (%d) podczas zamykania pliku `%s' (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "brak jawnego zamknięcia gniazdka `%s'"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "brak jawnego zamknięcia procesu pomocniczego `%s'"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "brak jawnego zamknięcia potoku `%s'"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "brak jawnego zamknięcia pliku `%s'"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "błąd podczas zapisu na standardowe wyjście (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "błąd podczas zapisu na standardowe wyjście diagnostyczne (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "opróżnienie potoku `%s' nie powiodło się (%s)."
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr ""
"opróżnienie potoku do `%s' przez proces pomocniczy nie powiodło się (%s)."
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "opróżnienie pliku `%s' nie powiodło się (%s)."
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "nieprawidłowy lokalny port %s w `/inet'"
-#: io.c:1280
+#: io.c:1315
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "informacje o zdalnym hoście i porcie są nieprawidłowe (%s, %s)"
-#: io.c:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "nie dostarczono (znanego) protokołu w specjalnym pliku `%s'"
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "specjalna nazwa pliku `%s' jest niekompletna"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "należy dostarczyć nazwę zdalnego hosta do `/inet'"
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "należy dostarczyć numer zdalnego portu do `/inet'"
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "Komunikacja TCP/IP nie jest wspierana"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "nie można otworzyć `%s', tryb `%s'"
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "zamknięcie nadrzędnego pty nie powiodło się (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr ""
"zamknięcie standardowego wyjścia w procesie potomnym nie powiodło się (%s)"
-#: io.c:1753
+#: io.c:1788
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
"przesunięcie podległego pty na standardowe wyjście w procesie potomnym nie "
"powiodło się (dup: %s)"
-#: io.c:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr ""
"zamknięcie standardowego wejścia w procesie potomnym nie powiodło się (%s)"
-#: io.c:1758
+#: io.c:1793
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
"przesunięcie podległego pty na standardowe wejście w procesie potomnym nie "
"powiodło się (dup: %s)"
-#: io.c:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "zamknięcie podległego pty nie powiodło się (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"przesunięcie potoku na standardowe wyjście w procesie potomnym nie powiodło "
"siÄ™ (dup: %s)"
-#: io.c:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
"przesunięcie potoku na standardowe wejście w procesie potomnym nie powiodło "
"siÄ™ (dup: %s)"
-#: io.c:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr ""
"odzyskanie standardowego wyjścia w procesie potomnym nie powiodło się\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr ""
"odzyskanie standardowego wejścia w procesie potomnym nie powiodło się\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "zamknięcie potoku nie powiodło się (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "`|&' nie jest wspierany"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "nie można otworzyć potoku `%s' (%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "nie można utworzyć procesu potomnego dla `%s' (fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "plik danych `%s' jest pusty"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "nie można zarezerwować więcej pamięci wejściowej"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "wieloznakowa wartość `RS' jest rozszerzeniem gawk"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "Komunikacja IPv6 nie jest wspierana"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "nieistotna opcja `-m[fr]' w gawk"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "użycie opcji -m: `-m[fr] nnn'"
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "pusty argument dla opcji `-e/--source' został zignorowany"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: opcja `-W %s' nierozpoznana i zignorowana\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: opcja musi mieć argument -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"zmienna środowiskowa `POSIXLY_CORRECT' ustawiona: `--posix' został włączony"
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "opcja `--posix' zostanie użyta nad `--traditional'"
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' użyte nad opcją `--non-decimal-data'"
-#: main.c:555
+#: main.c:552
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr ""
"uruchamianie %s setuid root może być problemem pod względem bezpieczeństwa"
-#: main.c:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "opcja `--posix' zostanie użyta nad `--binary'"
-#: main.c:611
+#: main.c:600
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "nie można ustawić trybu binarnego na standardowym wejściu (%s)"
-#: main.c:614
+#: main.c:603
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "nie można ustawić trybu binarnego na standardowym wyjściu (%s)"
-#: main.c:616
+#: main.c:605
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "nie można ustawić trybu binarnego na wyjściu diagnostycznym (%s)"
-#: main.c:655
+#: main.c:653
msgid "no program text at all!"
msgstr "brak tekstu programu!"
-#: main.c:733
+#: main.c:737
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr ""
"Użycie: %s [styl opcji POSIX lub GNU] -f plik_z_programem [--] plik ...\n"
-#: main.c:735
+#: main.c:739
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr "Użycie: %s [styl opcji POSIX lub GNU] [--] %cprogram%c plik ...\n"
-#: main.c:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opcje POSIX:\t\tDÅ‚ugie opcje GNU (standard):\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f program\t\t--file=program\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:743
+#: main.c:747
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v zmienna=wartość\t--assign=zmienna=wartość\n"
-#: main.c:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Krótkie opcje:\t\tDługie opcje GNU: (rozszerzenia)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
-#, fuzzy
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
-msgstr "\t-d [plik]\t\t--dump-variables[=plik]\n"
+msgstr "\t-d[plik]\t\t--dump-variables[=plik]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[plik]\t\t--profile[=plik]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'tekst-programu'\t--source='tekst-programu'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E plik\t\t\t--exec=plik\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[plik]\t\t--profile[=plik]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
-#, fuzzy
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
-msgstr "\t-p [plik]\t\t--profile[=plik]\n"
+msgstr "\t-p[plik]\t\t--profile[=plik]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R plik\t\t\t--command=plik\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1838,7 +1744,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1851,7 +1757,7 @@ msgstr ""
"dokumentacji.\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1861,7 +1767,7 @@ msgstr ""
"Program domyślnie czyta standardowe wejście i zapisuje standardowe wyjście.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1871,7 +1777,7 @@ msgstr ""
"\tgawk '{ suma += $1 }; END { print suma }' plik\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1890,7 +1796,7 @@ msgstr ""
"tej Licencji lub którejś z późniejszych wersji.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1905,7 +1811,7 @@ msgstr ""
"PowszechnÄ… LicencjÄ™ PublicznÄ… GNU.\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1914,16 +1820,16 @@ msgstr ""
"Powszechnej Licencji Publicznej GNU (GNU General Public License);\n"
"jeśli zaś nie - odwiedź stronę http://www.gnu.org/licenses/.\n"
-#: main.c:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft nie ustawia FS na znak tabulatora w POSIX awk"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "nieznana wartość dla specyfikacji pola: %d\n"
-#: main.c:1170
+#: main.c:1172
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1932,84 +1838,79 @@ msgstr ""
"%s: argument `%s' dla `-v' nie jest zgodny ze składnią `zmienna=wartość'\n"
"\n"
-#: main.c:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' nie jest dozwolonÄ… nazwÄ… zmiennej"
-#: main.c:1199
+#: main.c:1201
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "`%s' nie jest nazwÄ… zmiennej, szukanie pliku `%s=%s'"
-#: main.c:1203
-#, fuzzy, c-format
+#: main.c:1205
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr "rozszerzenie: nie można użyć wbudowanej w gawk `%s' jako nazwy funkcji"
+msgstr "nie można użyć wbudowanej w gawk `%s' jako nazwy zmiennej"
-#: main.c:1208
-#, fuzzy, c-format
+#: main.c:1210
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "nie można użyć nazwy funkcji `%s' jako zmiennej lub tablicy"
+msgstr "nie można użyć funkcji `%s' jako nazwy zmiennej"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "wyjÄ…tek zmiennopozycyjny"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "fatalny błąd: wewnętrzny błąd"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "fatalny błąd: wewnętrzny błąd: błąd segmentacji"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "fatalny błąd: wewnętrzny błąd: przepełnienie stosu"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "brak już otwartego fd %d"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "nie można otworzyć zawczasu /dev/null dla fd %d"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "nie można znaleźć grup: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "linia poleceń:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "błąd: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "backslash na końcu łańcucha"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "stary awk nie wspiera sekwencji ucieczki `\\%c'"
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX nie zezwala na sekwencjÄ™ ucieczki `\\x'"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "brak liczb szesnastkowych w sekwencji ucieczki `\\x'"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -2018,12 +1919,12 @@ msgstr ""
"szesnastkowa sekwencja ucieczki \\x%.*s %d znaków prawdopodobnie nie została "
"zinterpretowana jak tego oczekujesz"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "sekwencja ucieczki `\\%c' potraktowana jako zwykłe `%c'"
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2041,16 +1942,16 @@ msgstr "%s %s `%s': nie można uzyskać flag fd: (fcntl F_GETFD: %s)"
msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)"
msgstr "%s %s `%s': nie można ustawić close-on-exec: (fcntl F_SETFD: %s)"
-#: profile.c:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "nie można otworzyć `%s' do zapisu: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "wysyłanie profilu na standardowe wyjście diagnostyczne"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2059,7 +1960,7 @@ msgstr ""
"\t# %s blok(i)\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2068,17 +1969,22 @@ msgstr ""
"\t# Reguła(i)\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "wewnętrzny błąd: %s z zerowym vname"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "wewnętrzny błąd: %s z zerowym vname"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profil programu gawk, utworzony %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2087,93 +1993,170 @@ msgstr ""
"\n"
"\t# Funkcje, spis alfabetyczny\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: nieznany typ przekierowania %d"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "zasięg formy `[%c-%c]' jest zależny od lokalizacji"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr "komponent regexp `%.*s' powinien być prawdopodobnie `[%.*s]'"
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Sukces"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Brak dopasowania"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Nieprawidłowe wyrażenie regularne"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Nieprawidłowy znak porównania"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Nieprawidłowa nazwa klasy znaku"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "Końcowy znak backslash"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Nieprawidłowe odwołanie wsteczne"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "Niedopasowany znak [ lub [^"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "Niedopasowany znak ( lub \\("
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "Niedopasowany znak \\{"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Nieprawidłowa zawartość \\{\\}"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Nieprawidłowy koniec zakresu"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Pamięć wyczerpana"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Nieprawidłowe poprzedzające wyrażenie regularne"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "Przedwczesny koniec wyrażenia regularnego"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "Wyrażenie regularne jest zbyt duże"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr "Niedopasowany znak ) lub \\)"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "Brak poprzedniego wyrażenia regularnego"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "próba użycia funkcji `%s' jako tablicy"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "odwołanie do niezainicjowanego elementu `%s[\"%.*s\"]'"
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "indeks tablicy `%s' jest zerowym łańcuchem"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: pusty (null)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: pusty (zero)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: table_size = %d, array_size = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: jest parametrem\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: array_ref do %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "użycie nie-tablicy jako tablicy"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "nie można użyć nazwy funkcji `%s' jako zmiennej lub tablicy"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "próba użycia tablicy `%s[\"%.*s\"]' w kontekście skalaru"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "przypisanie użyte w kontekście warunkowym"
+
+#~ msgid "statement has no effect"
+#~ msgstr "instrukcja nie ma żadnego efektu"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
+#~ msgstr ""
+#~ "pętla for: tablica `%s' zmieniła rozmiar z %ld do %ld podczas wykonywania "
+#~ "pętli"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "pośrednio wywołana funkcja poprzez `%s' nie istnieje"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "funkcja `%s' nie została zdefiniowana"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr ""
+#~ "komenda `getline' bez przekierowania jest nieprawidłowa wewnątrz reguły `"
+#~ "%s'"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "błąd podczas czytania z pliku `%s': %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "instrukcja `nextfile' nie może być wywołana z wnętrza reguły `%s'"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "instrukcja `exit' nie może być wywołana w tym kontekście"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "instrukcja `next' nie może być wywołana z wnętrza reguły `%s'"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Niestety nie wiem jak zinterpretować `%s'"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R plik\t\t\t--command=plik\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "nie można znaleźć grup: %s"
+
#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr "przypisanie do wyniku wbudowanej funkcji nie jest dozwolone"
diff --git a/po/sv.gmo b/po/sv.gmo
index 79e809be..150af2e8 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 874798c8..a0d76fcb 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,17 +1,17 @@
# Swedish translation of gawk
-# Copyright © 2003, 2011 Free Software Foundation, Inc.
+# Copyright © 2003, 2011, 2012 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.
+# Göran Uddeborg <goeran@uddeborg.se>, 2011, 2012.
#
-# $Id: gawk.po,v 1.5 2011-07-16 15:21:02+02 göran Exp $
+# $Revision: 1.7 $
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0\n"
+"Project-Id-Version: gawk 4.0.0h\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-11-14 21:46+0200\n"
-"PO-Revision-Date: 2011-07-16 15:20+0200\n"
+"POT-Creation-Date: 2012-04-08 12:18+0300\n"
+"PO-Revision-Date: 2012-01-30 12:07+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,514 +19,471 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: array.c:140
+#: array.c:267
#, c-format
msgid "from %s"
msgstr "från %s"
-#: array.c:248
+#: array.c:367
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:251
-#, c-format
-msgid "attempt to use function `%s' as an array"
-msgstr "försök att använda funktionen \"%s\" som vektor"
-
-#: array.c:254
+#: array.c:369
#, 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:257
+#: array.c:372
#, 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:302 array.c:707 builtin.c:84 builtin.c:1384 builtin.c:1426
-#: builtin.c:1439 builtin.c:1858 builtin.c:1870 eval.c:1135 eval.c:1139
-#: eval.c:1495 eval.c:1812
+#: array.c:419 array.c:585 builtin.c:85 builtin.c:1389 builtin.c:1431
+#: builtin.c:1444 builtin.c:1862 builtin.c:1874 eval.c:1096 eval.c:1100
+#: eval.c:1500
#, 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:513
-#, c-format
-msgid "reference to uninitialized element `%s[\"%.*s\"]'"
-msgstr "referens till oinitierat element \"%s[\"%.*s\"]\""
-
-#: array.c:519
-#, c-format
-msgid "subscript of array `%s' is null string"
-msgstr "index i vektorn \"%s\" är en tom sträng"
-
-#: array.c:723
+#: array.c:592
#, c-format
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: index \"%s\" finns inte i vektorn \"%s\""
-#: array.c:734 eval.c:1865
+#: array.c:606
#, 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:910
-#, c-format
-msgid "%s: empty (null)\n"
-msgstr "%s: tom (null)\n"
-
-#: array.c:915
-#, c-format
-msgid "%s: empty (zero)\n"
-msgstr "%s: tom (noll)\n"
-
-#: array.c:919
-#, c-format
-msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: tabellstorlek = %d, vektorstorlek = %d\n"
-
-#: array.c:954
-#, c-format
-msgid "%s: is parameter\n"
-msgstr "%s: är en parameter\n"
-
-#: array.c:958
-#, c-format
-msgid "%s: array_ref to %s\n"
-msgstr "%s: vektorreferens till %s\n"
-
-#: array.c:963
-msgid "adump: argument not an array"
+#: array.c:794
+#, fuzzy
+msgid "adump: first argument not an array"
msgstr "adump: argumentet är inte en vektor"
-#: array.c:1086
+#: array.c:833
msgid "asort: second argument not an array"
msgstr "asort: andra argumentet är inte en vektor"
-#: array.c:1087
+#: array.c:834
msgid "asorti: second argument not an array"
msgstr "asorti: andra argumentet är inte en vektor"
-#: array.c:1094
+#: array.c:841
msgid "asort: first argument not an array"
msgstr "asort: första argumentet är inte en vektor"
-#: array.c:1095
+#: array.c:842
msgid "asorti: first argument not an array"
msgstr "asorti: första argumentet är inte en vektor"
-#: array.c:1102
+#: array.c:849
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"
-#: array.c:1103
+#: array.c:850
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"
-#: array.c:1108
+#: array.c:855
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"
-#: array.c:1109
+#: array.c:856
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"
-#: array.c:1659
+#: array.c:1329
#, c-format
msgid "`%s' is invalid as a function name"
msgstr "\"%s\" är ogiltigt som ett funktionsnamn"
-#: array.c:1663
+#: array.c:1333
#, c-format
msgid "sort comparison function `%s' is not defined"
msgstr "jämförelsefunktionen \"%s\" för sortering är inte definierad"
-#: awkgram.y:249
+#: awkgram.y:223
#, c-format
msgid "%s blocks must have an action part"
msgstr "%s-block måste ha en åtgärdsdel"
-#: awkgram.y:252
+#: awkgram.y:226
msgid "each rule must have a pattern or an action part"
msgstr "varje regel måste ha ett mönster eller en åtgärdsdel"
-#: awkgram.y:323 awkgram.y:334
+#: awkgram.y:295 awkgram.y:306
msgid "old awk does not support multiple `BEGIN' or `END' rules"
msgstr "gamla awk stöder inte flera \"BEGIN\"- eller \"END\"-regler"
-#: awkgram.y:371
+#: awkgram.y:343
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
msgstr "\"%s\" är en inbyggd funktion, den kan inte definieras om"
-#: awkgram.y:432
+#: awkgram.y:389
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr "regexp-konstanten \"//\" ser ut som en C++-kommentar men är inte det"
-#: awkgram.y:436
+#: awkgram.y:393
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr "regexp-konstanten \"/%s/\" ser ut som en C-kommentar men är inte det"
-#: awkgram.y:528
+#: awkgram.y:485
#, c-format
msgid "duplicate case values in switch body: %s"
msgstr "upprepade case-värden i switch-sats: %s"
-#: awkgram.y:549
+#: awkgram.y:506
msgid "duplicate `default' detected in switch body"
msgstr "flera \"default\" upptäcktes i switch-sats"
-#: awkgram.y:809
+#: awkgram.y:766
msgid "`break' is not allowed outside a loop or switch"
msgstr "\"break\" är inte tillåtet utanför en slinga eller switch"
-#: awkgram.y:818
+#: awkgram.y:775
msgid "`continue' is not allowed outside a loop"
msgstr "\"continue\" är inte tillåtet utanför en slinga"
-#: awkgram.y:828
+#: awkgram.y:785
#, c-format
msgid "`next' used in %s action"
msgstr "\"next\" använt i %s-åtgärd"
-#: awkgram.y:836
+#: awkgram.y:793
msgid "`nextfile' is a gawk extension"
msgstr "\"nextfile\" är en gawk-utökning"
-#: awkgram.y:841
+#: awkgram.y:798
#, c-format
msgid "`nextfile' used in %s action"
msgstr "\"nextfile\" använt i %s-åtgärd"
-#: awkgram.y:865
+#: awkgram.y:822
msgid "`return' used outside function context"
msgstr "\"return\" använd utanför funktion"
-#: awkgram.y:925
+#: awkgram.y:892
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 \"\"'"
-#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
+#: awkgram.y:962 awkgram.y:966 awkgram.y:990
msgid "`delete array' is a gawk extension"
msgstr "\"delete array\" är en gawk-utökning"
-#: awkgram.y:1019
+#: awkgram.y:986
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "\"delete(array)\" är en icke portabel tawk-utökning"
-#: awkgram.y:1135
+#: awkgram.y:1102
msgid "multistage two-way pipelines don't work"
msgstr "flerstegs dubbelriktade rör fungerar inte"
-#: awkgram.y:1238
+#: awkgram.y:1205
msgid "regular expression on right of assignment"
msgstr "reguljärt uttryck i högerledet av en tilldelning"
-#: awkgram.y:1249
+#: awkgram.y:1216
msgid "regular expression on left of `~' or `!~' operator"
msgstr "reguljärt uttryck på vänster sida om en \"~\"- eller \"!~\"-operator"
-#: awkgram.y:1265 awkgram.y:1419
+#: awkgram.y:1232 awkgram.y:1383
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "gamla awk stöder inte operatorn \"**\""
-#: awkgram.y:1275
+#: awkgram.y:1242
msgid "regular expression on right of comparison"
msgstr "reguljärt uttryck i högerledet av en jämförelse"
-#: awkgram.y:1394
+#: awkgram.y:1358
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "\"getline var\" är ogiltigt inuti \"%s\"-regel"
-#: awkgram.y:1397 eval.c:2504
+#: awkgram.y:1361
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "\"getline är ogiltigt inuti \"%s\"-regel"
-#: awkgram.y:1402
+#: awkgram.y:1366
msgid "non-redirected `getline' undefined inside END action"
msgstr "icke omdirigerad \"getline\" odefinierad inuti END-åtgärd"
-#: awkgram.y:1421
+#: awkgram.y:1385
msgid "old awk does not support multidimensional arrays"
msgstr "gamla awk stöder inte flerdimensionella vektorer"
-#: awkgram.y:1517
+#: awkgram.y:1481
msgid "call of `length' without parentheses is not portable"
msgstr "anrop av \"length\" utan parenteser är inte portabelt"
-#: awkgram.y:1580
+#: awkgram.y:1545
msgid "indirect function calls are a gawk extension"
msgstr "indirekta funktionsanrop är en gawk-utökning"
-#: awkgram.y:1593
+#: awkgram.y:1558
#, 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"
-#: awkgram.y:1671
+#: awkgram.y:1636
msgid "invalid subscript expression"
msgstr "ogiltig indexuttryck"
-#: awkgram.y:1711
-msgid "use of non-array as array"
-msgstr "icke-vektor används som vektor"
-
-#: awkgram.y:1975 awkgram.y:1995 msg.c:98
+#: awkgram.y:1936 awkgram.y:1956 msg.c:96
msgid "warning: "
msgstr "varning: "
-#: awkgram.y:1993 msg.c:130
+#: awkgram.y:1954 msg.c:128
msgid "fatal: "
msgstr "ödesdigert: "
-#: awkgram.y:2043
+#: awkgram.y:2004
msgid "unexpected newline or end of string"
msgstr "oväntat nyradstecken eller slut på strängen"
-#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
+#: awkgram.y:2269 awkgram.y:2327 awkgram.y:2515
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "kan inte öppna källfilen \"%s\" för läsning (%s)"
-#: awkgram.y:2301 awkgram.y:2359 builtin.c:122
+#: awkgram.y:2270 awkgram.y:2328 builtin.c:124
msgid "reason unknown"
msgstr "okänd anledning"
-#: awkgram.y:2317
+#: awkgram.y:2286
#, c-format
msgid "already included source file `%s'"
msgstr "inkluderade redan källfilen \"%s\""
-#: awkgram.y:2343
+#: awkgram.y:2312
msgid "@include is a gawk extension"
msgstr "@include är en gawk-utökning"
-#: awkgram.y:2349
+#: awkgram.y:2318
msgid "empty filename after @include"
msgstr "tomt filnamn efter @include"
-#: awkgram.y:2494
+#: awkgram.y:2467
msgid "empty program text on command line"
msgstr "tom programtext på kommandoraden"
-#: awkgram.y:2609
+#: awkgram.y:2582
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "kan inte läsa källfilen \"%s\" (%s)"
-#: awkgram.y:2620
+#: awkgram.y:2593
#, c-format
msgid "source file `%s' is empty"
msgstr "källfilen \"%s\" är tom"
-#: awkgram.y:2805
+#: awkgram.y:2770
msgid "source file does not end in newline"
msgstr "källfilen slutar inte med en ny rad"
-#: awkgram.y:2882
+#: awkgram.y:2874
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "oavslutat reguljärt uttryck slutar med \"\\\" i slutet av filen"
-#: awkgram.y:2906
+#: awkgram.y:2898
#, 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"
-#: awkgram.y:2910
+#: awkgram.y:2902
#, 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"
-#: awkgram.y:2917
+#: awkgram.y:2909
msgid "unterminated regexp"
msgstr "oavslutat reguljärt uttryck"
-#: awkgram.y:2921
+#: awkgram.y:2913
msgid "unterminated regexp at end of file"
msgstr "oavslutat reguljärt uttryck i slutet av filen"
-#: awkgram.y:2980
+#: awkgram.y:2972
msgid "use of `\\ #...' line continuation is not portable"
msgstr "Användning av \"\\ #...\" för radfortsättning är inte portabelt"
-#: awkgram.y:2996
+#: awkgram.y:2988
msgid "backslash not last character on line"
msgstr "sista tecknet på raden är inte ett omvänt snedstreck"
-#: awkgram.y:3057
+#: awkgram.y:3049
msgid "POSIX does not allow operator `**='"
msgstr "POSIX tillåter inte operatorn \"**=\""
-#: awkgram.y:3059
+#: awkgram.y:3051
msgid "old awk does not support operator `**='"
msgstr "gamla awk stöder inte operatorn \"**=\""
-#: awkgram.y:3068
+#: awkgram.y:3060
msgid "POSIX does not allow operator `**'"
msgstr "POSIX tillåter inte operatorn \"**\""
-#: awkgram.y:3070
+#: awkgram.y:3062
msgid "old awk does not support operator `**'"
msgstr "gamla awk stöder inte operatorn \"**\""
-#: awkgram.y:3105
+#: awkgram.y:3097
msgid "operator `^=' is not supported in old awk"
msgstr "operatorn \"^=\" stöds inte i gamla awk"
-#: awkgram.y:3113
+#: awkgram.y:3105
msgid "operator `^' is not supported in old awk"
msgstr "operatorn \"^\" stöds inte i gamla awk"
-#: awkgram.y:3206 awkgram.y:3222
+#: awkgram.y:3198 awkgram.y:3214
msgid "unterminated string"
msgstr "oavslutad sträng"
-#: awkgram.y:3418
+#: awkgram.y:3410
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ogiltigt tecken \"%c\" i uttryck"
-#: awkgram.y:3465
+#: awkgram.y:3457
#, c-format
msgid "`%s' is a gawk extension"
msgstr "\"%s\" är en gawk-utökning"
-#: awkgram.y:3470
+#: awkgram.y:3462
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "\"%s\" är en Bell Labs-utökning"
-#: awkgram.y:3475
+#: awkgram.y:3467
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX tillåter inte \"%s\""
-#: awkgram.y:3483
+#: awkgram.y:3475
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "\"%s\" stöds inte i gamla awk"
-#: awkgram.y:3550
+#: awkgram.y:3542
msgid "`goto' considered harmful!\n"
msgstr "\"goto\" anses skadlig!\n"
-#: awkgram.y:3601
+#: awkgram.y:3576
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d är ett ogiltigt antal argument för %s"
-#: awkgram.y:3636
+#: awkgram.y:3611
#, 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"
-#: awkgram.y:3641
+#: awkgram.y:3616
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s: tredje argumentet är inte ett ändringsbart objekt"
-#: awkgram.y:3714 awkgram.y:3717
+#: awkgram.y:3689 awkgram.y:3692
msgid "match: third argument is a gawk extension"
msgstr "match: tredje argumentet är en gawk-utökning"
-#: awkgram.y:3771 awkgram.y:3774
+#: awkgram.y:3746 awkgram.y:3749
msgid "close: second argument is a gawk extension"
msgstr "close: andra argumentet är en gawk-utökning"
-#: awkgram.y:3786
+#: awkgram.y:3761
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"användandet av dcgettext(_\"...\") är felaktigt: ta bort det inledande "
"understrykningstecknet"
-#: awkgram.y:3801
+#: awkgram.y:3776
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"användandet av dcngettext(_\"...\") är felaktigt: ta bort det inledande "
"understrykningstecknet"
-#: awkgram.y:3893
-#, c-format
-msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "funktionen \"%s\": parameter %d, \"%s\", är samma som parameter %d"
-
-#: awkgram.y:3935
+#: awkgram.y:3842
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktionen \"%s\": parametern \"%s\" överskuggar en global variabel"
-#: awkgram.y:4093
+#: awkgram.y:3885
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kunde inte öppna \"%s\" för skrivning (%s)"
-#: awkgram.y:4094
+#: awkgram.y:3886
msgid "sending variable list to standard error"
msgstr "skickar variabellista till standard fel"
-#: awkgram.y:4100
+#: awkgram.y:3894
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: misslyckades att stänga (%s)"
-#: awkgram.y:4152
+#: awkgram.y:3919
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() anropad två gånger!"
-#: awkgram.y:4158
+#: awkgram.y:3927
msgid "there were shadowed variables."
msgstr "det fanns överskuggade variabler."
-#: awkgram.y:4188
+#: awkgram.y:3998
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "funktionsnamnet \"%s\" är definierat sedan tidigare"
+
+#: awkgram.y:4044
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktionen \"%s\": kan inte använda funktionsnamn som parameternamn"
-#: awkgram.y:4192
+#: awkgram.y:4047
#, 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"
-#: awkgram.y:4208
+#: awkgram.y:4055
#, c-format
-msgid "function name `%s' previously defined"
-msgstr "funktionsnamnet \"%s\" är definierat sedan tidigare"
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "funktionen \"%s\": parameter %d, \"%s\", är samma som parameter %d"
-#: awkgram.y:4376 awkgram.y:4382
+#: awkgram.y:4134 awkgram.y:4140
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktionen \"%s\" anropad men aldrig definierad"
-#: awkgram.y:4385
+#: awkgram.y:4143
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktionen \"%s\" definierad men aldrig anropad direkt"
-#: awkgram.y:4417
+#: awkgram.y:4175
#, 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:4526
+#: awkgram.y:4221
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -535,229 +492,229 @@ msgstr ""
"funktionen \"%s\" anropad med blanktecken mellan namnet och \"(\",\n"
"eller använd som variabel eller vektor"
-#: awkgram.y:4773 eval.c:2056
+#: awkgram.y:4429
msgid "division by zero attempted"
msgstr "försökte dividera med noll"
-#: awkgram.y:4782 eval.c:2072
+#: awkgram.y:4438
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "försökte dividera med noll i \"%%\""
-#: builtin.c:120
+#: builtin.c:122
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s till \"%s\" misslyckades (%s)"
-#: builtin.c:121
+#: builtin.c:123
msgid "standard output"
msgstr "standard ut"
-#: builtin.c:135
+#: builtin.c:137
msgid "exp: received non-numeric argument"
msgstr "exp: fick ett ickenumeriskt argument"
-#: builtin.c:141
+#: builtin.c:143
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argumentet %g är inte inom tillåten gräns"
-#: builtin.c:200
+#: builtin.c:202
#, 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"
-#: builtin.c:203
+#: builtin.c:205
#, 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"
-#: builtin.c:215
+#: builtin.c:217
#, 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:333
+#: builtin.c:335
msgid "index: received non-string first argument"
msgstr "index: första argumentet är inte en sträng"
-#: builtin.c:335
+#: builtin.c:337
msgid "index: received non-string second argument"
msgstr "index: andra argumentet är inte en sträng"
-#: builtin.c:457
+#: builtin.c:461
msgid "int: received non-numeric argument"
msgstr "int: fick ett ickenumeriskt argument"
-#: builtin.c:493
+#: builtin.c:497
msgid "length: received array argument"
msgstr "length: fick ett vektorargument"
-#: builtin.c:496
+#: builtin.c:500
msgid "`length(array)' is a gawk extension"
msgstr "\"length(array)\" är en gawk-utökning"
-#: builtin.c:504
+#: builtin.c:508
msgid "length: received non-string argument"
msgstr "length: fick ett argument som inte är en sträng"
-#: builtin.c:535
+#: builtin.c:539
msgid "log: received non-numeric argument"
msgstr "log: fick ett ickenumeriskt argument"
-#: builtin.c:538
+#: builtin.c:542
#, c-format
msgid "log: received negative argument %g"
msgstr "log: fick ett negativt argumentet %g"
-#: builtin.c:694 builtin.c:699
+#: builtin.c:698 builtin.c:703
msgid "fatal: must use `count$' on all formats or none"
msgstr "ödesdigert: måste använda \"count$\" på alla eller inga format"
-#: builtin.c:761
+#: builtin.c:766
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "fältbredd ignoreras för \"%%\"-specificerare"
-#: builtin.c:763
+#: builtin.c:768
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "precision ignoreras för \"%%\"-specificerare"
-#: builtin.c:765
+#: builtin.c:770
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "fältbredd och precision ignoreras för \"%%\"-specificerare"
-#: builtin.c:816
+#: builtin.c:821
msgid "fatal: `$' is not permitted in awk formats"
msgstr "ödesdigert: \"$\" tillåts inte i awk-format"
-#: builtin.c:825
+#: builtin.c:830
msgid "fatal: arg count with `$' must be > 0"
msgstr "ödesdigert: argumentantalet med \"$\" måste vara > 0"
-#: builtin.c:829
+#: builtin.c:834
#, 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:833
+#: builtin.c:838
msgid "fatal: `$' not permitted after period in format"
msgstr "ödesdigert: \"$\" tillåts inte efter en punkt i formatet"
-#: builtin.c:849
+#: builtin.c:854
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
"ödesdigert: inget \"$\" bifogat för positionsangiven fältbredd eller "
"precision"
-#: builtin.c:920
+#: builtin.c:925
msgid "`l' is meaningless in awk formats; ignored"
msgstr "\"l\" är meningslös i awk-format, ignorerad"
-#: builtin.c:924
+#: builtin.c:929
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"l\" tillåts inte i POSIX awk-format"
-#: builtin.c:937
+#: builtin.c:942
msgid "`L' is meaningless in awk formats; ignored"
msgstr "\"L\" är meningslös i awk-format, ignorerad"
-#: builtin.c:941
+#: builtin.c:946
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"L\" tillåts inte i POSIX awk-format"
-#: builtin.c:954
+#: builtin.c:959
msgid "`h' is meaningless in awk formats; ignored"
msgstr "\"h\" är meningslös i awk-format, ignorerad"
-#: builtin.c:958
+#: builtin.c:963
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"h\" tillåts inte i POSIX awk-format"
-#: builtin.c:1271
+#: builtin.c:1276
#, 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:1331
+#: builtin.c:1336
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"ignorerar okänt formatspecifikationstecken \"%c\": inget argument konverterat"
-#: builtin.c:1336
+#: builtin.c:1341
msgid "fatal: not enough arguments to satisfy format string"
msgstr "ödesdigert: för få argument för formatsträngen"
-#: builtin.c:1338
+#: builtin.c:1343
msgid "^ ran out for this one"
msgstr "^ tog slut här"
-#: builtin.c:1345
+#: builtin.c:1350
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: formatspecifieraren har ingen kommandobokstav"
-#: builtin.c:1348
+#: builtin.c:1353
msgid "too many arguments supplied for format string"
msgstr "för många argument för formatsträngen"
-#: builtin.c:1422 builtin.c:1433
+#: builtin.c:1427 builtin.c:1438
msgid "printf: no arguments"
msgstr "printf: inga argument"
-#: builtin.c:1474
+#: builtin.c:1479
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: fick ickenumeriskt argument"
-#: builtin.c:1478
+#: builtin.c:1483
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: anropad med negativt argument %g"
-#: builtin.c:1502
+#: builtin.c:1507
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: längden %g är inte >= 1"
-#: builtin.c:1504
+#: builtin.c:1509
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: längden %g är inte >= 0"
-#: builtin.c:1511
+#: builtin.c:1516
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: längden %g som inte är ett heltal kommer trunkeras"
-#: builtin.c:1516
+#: builtin.c:1521
#, 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, trunkeras till %g"
-#: builtin.c:1528
+#: builtin.c:1533
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindex %g är ogiltigt, använder 1"
-#: builtin.c:1533
+#: builtin.c:1538
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: startindex %g som inte är ett heltal kommer trunkeras"
-#: builtin.c:1558
+#: builtin.c:1563
msgid "substr: source string is zero length"
msgstr "substr: källsträngen är tom"
-#: builtin.c:1574
+#: builtin.c:1579
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: startindex %g är bortom strängens slut"
-#: builtin.c:1582
+#: builtin.c:1587
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -765,227 +722,222 @@ msgstr ""
"substr: längden %g vid startindex %g överskrider det första argumentets "
"längd (%lu)"
-#: builtin.c:1656
+#: builtin.c:1661
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: formatvärde i PROCINFO[\"strftime\"] har numerisk typ"
-#: builtin.c:1679
+#: builtin.c:1684
msgid "strftime: received non-numeric second argument"
msgstr "strftime: fick ett ickenumeriskt andra argument"
-#: builtin.c:1682
+#: builtin.c:1687
msgid "strftime: second argument less than 0 or too big for time_t"
-msgstr ""
+msgstr "strftime: andra argimentet mindre än 0 eller för stort för time_t"
-#: builtin.c:1689
+#: builtin.c:1694
msgid "strftime: received non-string first argument"
msgstr "strftime: fick ett första argument som inte är en sträng"
-#: builtin.c:1695
+#: builtin.c:1701
msgid "strftime: received empty format string"
msgstr "strftime: fick en tom formatsträng"
-#: builtin.c:1761
+#: builtin.c:1767
msgid "mktime: received non-string argument"
msgstr "mktime: fick ett argument som inte är en sträng"
-#: builtin.c:1778
+#: builtin.c:1784
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:1813
+#: builtin.c:1819
msgid "'system' function not allowed in sandbox mode"
msgstr "funktionen \"system\" är inte tillåten i sandlådeläge"
-#: builtin.c:1818
+#: builtin.c:1824
msgid "system: received non-string argument"
msgstr "system: fick ett argument som inte är en sträng"
-#: builtin.c:1873 eval.c:1159 eval.c:1790 eval.c:1803
-#, c-format
-msgid "reference to uninitialized variable `%s'"
-msgstr "referens till icke initierad variabel \"%s\""
-
-#: builtin.c:1940
+#: builtin.c:1942
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "referens till icke initierat fält \"$%d\""
-#: builtin.c:2027
+#: builtin.c:2029
msgid "tolower: received non-string argument"
msgstr "tolower: fick ett argument som inte är en sträng"
-#: builtin.c:2061
+#: builtin.c:2063
msgid "toupper: received non-string argument"
msgstr "toupper: fick ett argument som inte är en sträng"
-#: builtin.c:2097
+#: builtin.c:2099
msgid "atan2: received non-numeric first argument"
msgstr "atan2: fick ett ickenumeriskt första argument"
-#: builtin.c:2099
+#: builtin.c:2101
msgid "atan2: received non-numeric second argument"
msgstr "atan2: fick ett ickenumeriskt andra argument"
-#: builtin.c:2118
+#: builtin.c:2120
msgid "sin: received non-numeric argument"
msgstr "sin: fick ett ickenumeriskt argument"
-#: builtin.c:2134
+#: builtin.c:2136
msgid "cos: received non-numeric argument"
msgstr "cos: fick ett ickenumeriskt argument"
-#: builtin.c:2187
+#: builtin.c:2189
msgid "srand: received non-numeric argument"
msgstr "srand: fick ett ickenumeriskt argument"
-#: builtin.c:2218
+#: builtin.c:2220
msgid "match: third argument is not an array"
msgstr "match: tredje argumentet är inte en vektor"
-#: builtin.c:2482
+#: builtin.c:2484
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: nollan i tredje argumentet behandlad som en etta"
-#: builtin.c:2775
+#: builtin.c:2777
msgid "lshift: received non-numeric first argument"
msgstr "lshift: fick ett ickenumeriskt första argument"
-#: builtin.c:2777
+#: builtin.c:2779
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:2783
+#: builtin.c:2785
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): negativa värden kommer ge konstiga resultat"
-#: builtin.c:2785
+#: builtin.c:2787
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2787
+#: builtin.c:2789
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr "lshift(%lf, %lf): för stora skiftvärden kommer ge konstiga resultat"
-#: builtin.c:2812
+#: builtin.c:2814
msgid "rshift: received non-numeric first argument"
msgstr "rshift: fick ett ickenumeriskt första argument"
-#: builtin.c:2814
+#: builtin.c:2816
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:2820
+#: builtin.c:2822
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): negativa värden kommer ge konstiga resultat"
-#: builtin.c:2822
+#: builtin.c:2824
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2824
+#: builtin.c:2826
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr "rshift(%lf, %lf): för stora skiftvärden kommer ge konstiga resultat"
-#: builtin.c:2849
+#: builtin.c:2851
msgid "and: received non-numeric first argument"
msgstr "and: fick ett ickenumeriskt första argument"
-#: builtin.c:2851
+#: builtin.c:2853
msgid "and: received non-numeric second argument"
msgstr "and: fick ett ickenumeriskt andra argument"
-#: builtin.c:2857
+#: builtin.c:2859
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): negativa värden kommer ge konstiga resultat"
-#: builtin.c:2859
+#: builtin.c:2861
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2884
+#: builtin.c:2886
msgid "or: received non-numeric first argument"
msgstr "or: fick ett ickenumeriskt första argument"
-#: builtin.c:2886
+#: builtin.c:2888
msgid "or: received non-numeric second argument"
msgstr "or: fick ett ickenumeriskt andra argument"
-#: builtin.c:2892
+#: builtin.c:2894
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): negativa värden kommer ge konstiga resultat"
-#: builtin.c:2894
+#: builtin.c:2896
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2922
+#: builtin.c:2924
msgid "xor: received non-numeric first argument"
msgstr "xor: fick ett ickenumeriskt första argument"
-#: builtin.c:2924
+#: builtin.c:2926
msgid "xor: received non-numeric second argument"
msgstr "xor: fick ett ickenumeriskt andra argument"
-#: builtin.c:2930
+#: builtin.c:2932
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): negativa värden kommer ge konstiga resultat"
-#: builtin.c:2932
+#: builtin.c:2934
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2956 builtin.c:2962
+#: builtin.c:2958 builtin.c:2964
msgid "compl: received non-numeric argument"
msgstr "compl: fick ett ickenumeriskt argument"
-#: builtin.c:2964
+#: builtin.c:2966
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): negativa värden kommer ge konstiga resultat"
-#: builtin.c:2966
+#: builtin.c:2968
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:3135
+#: builtin.c:3137
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: \"%s\" är inte en giltig lokalkategori"
-#: eval.c:412
+#: eval.c:393
#, c-format
msgid "unknown nodetype %d"
msgstr "okänd nodtyp %d"
-#: eval.c:423 eval.c:437
+#: eval.c:404 eval.c:418
#, c-format
msgid "unknown opcode %d"
msgstr "okänd op-kod %d"
-#: eval.c:434
+#: eval.c:415
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "op-kod %s är inte en operator eller ett nyckelord"
-#: eval.c:488
+#: eval.c:468
msgid "buffer overflow in genflags2str"
msgstr "buffertöverflöd i genflags2str"
-#: eval.c:698
+#: eval.c:678
#, c-format
msgid ""
"\n"
@@ -996,218 +948,166 @@ msgstr ""
"\t# Funktionsanropsstack:\n"
"\n"
-#: eval.c:725
+#: eval.c:706
msgid "`IGNORECASE' is a gawk extension"
msgstr "\"IGNORECASE\" är en gawk-utökning"
-#: eval.c:754
+#: eval.c:736
msgid "`BINMODE' is a gawk extension"
msgstr "\"BINMODE\" är en gawk-utökning"
-#: eval.c:812
+#: 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:902
+#: eval.c:887
#, c-format
msgid "bad `%sFMT' specification `%s'"
msgstr "felaktig \"%sFMT\"-specifikation \"%s\""
-#: eval.c:980
+#: 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:1127 eval.c:1777
-#, c-format
-msgid "can't use function name `%s' as variable or array"
-msgstr "kan inte använda funktionsnamnet \"%s\" som variabel eller vektor"
-
-#: eval.c:1158 eval.c:1789 eval.c:1802
+#: eval.c:1119
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "referens till icke initierat argument \"%s\""
-#: eval.c:1177
+#: eval.c:1120
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "referens till icke initierad variabel \"%s\""
+
+#: eval.c:1138
msgid "attempt to field reference from non-numeric value"
msgstr "försök att fältreferera från ickenumeriskt värde"
-#: eval.c:1179
+#: eval.c:1140
msgid "attempt to field reference from null string"
msgstr "försök till fältreferens från en tom sträng"
-#: eval.c:1185
+#: eval.c:1146
#, c-format
msgid "attempt to access field %ld"
msgstr "försök att komma åt fält nummer %ld"
-#: eval.c:1194
+#: eval.c:1155
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "referens till icke initierat fält \"$%ld\""
-#: eval.c:1256
+#: eval.c:1242
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktionen \"%s\" anropad med fler argument än vad som deklarerats"
-#: eval.c:1437
+#: eval.c:1436
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: oväntad typ \"%s\""
-#: eval.c:1532
+#: eval.c:1536
msgid "division by zero attempted in `/='"
msgstr "försökte dividera med noll i \"/=\""
-#: eval.c:1539
+#: eval.c:1543
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "försökte dividera med noll i \"%%=\""
-#: eval.c:1876 eval.c:2122
-#, 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ärsammanhang"
-
-#: eval.c:1907
-msgid "assignment used in conditional context"
-msgstr "tilldelning använt i jämförelsesammanhang"
-
-#: eval.c:1911
-msgid "statement has no effect"
-msgstr "kommandot har ingen effekt"
-
-#: eval.c:2343
-#, c-format
-msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
-msgstr ""
-"forslinga: vektorn \"%s\" ändrade storlek från %ld till %ld under "
-"slingexekvering"
-
-#: eval.c:2458
-#, c-format
-msgid "function called indirectly through `%s' does not exist"
-msgstr "funktionen anropad indirekt genom \"%s\" finns inte"
-
-#: eval.c:2470
-#, c-format
-msgid "function `%s' not defined"
-msgstr "funktionen \"%s\" är inte definierad"
-
-#: eval.c:2511
-#, c-format
-msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "icke omdirigerad \"getline\" odefinierad inuti \"%s\"-regel"
-
-#: eval.c:2600
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "fel vid läsning av indatafilen \"%s\": %s"
-
-#: eval.c:2614
-#, c-format
-msgid "`nextfile' cannot be called from a `%s' rule"
-msgstr "\"nextfile\" kan inte anropas från en \"%s\"-regel"
-
-#: eval.c:2694
-#, c-format
-msgid "`next' cannot be called from a `%s' rule"
-msgstr "\"next\" kan inte anropas från en \"%s\"-regel"
-
-#: eval.c:2760
-#, c-format
-msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Tyvärr, vet inte hur \"%s\" skall tolkas"
-
-#: ext.c:64
+#: ext.c:70
msgid "extensions are not allowed in sandbox mode"
msgstr "utökningar är inte tillåtna i sandlådeläge"
-#: ext.c:70 ext.c:75
+#: ext.c:73
msgid "`extension' is a gawk extension"
msgstr "\"extension\" är en gawk-utökning"
-#: ext.c:85
-#, c-format
-msgid "fatal: extension: cannot open `%s' (%s)\n"
+#: ext.c:80
+#, fuzzy, c-format
+msgid "extension: cannot open library `%s' (%s)\n"
msgstr "ödesdigert: extension: kan inte öppna \"%s\" (%s)\n"
-#: ext.c:94
-#, c-format
+#: ext.c:86
+#, fuzzy, c-format
msgid ""
-"fatal: extension: library `%s': does not define "
-"`plugin_is_GPL_compatible' (%s)\n"
+"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n"
msgstr ""
"ödesdigert: extension: biblioteket \"%s\": definierar inte "
"\"plugin_is_GPL_compatible\" (%s)\n"
-#: ext.c:103
-#, c-format
-msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
+#: ext.c:91
+#, fuzzy, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
"ödesdigert: extension: bibliotek \"%s\": kan inte anropa funktionen \"%s"
"\" (%s)\n"
-#: ext.c:137
+#: ext.c:119
msgid "extension: missing function name"
msgstr "extension: saknar funktionsnamn"
-#: ext.c:142
+#: ext.c:124
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
msgstr "extension: ogiltigt tecken \"%c\" i funktionsnamnet \"%s\""
-#: ext.c:151
+#: ext.c:132
#, c-format
msgid "extension: can't redefine function `%s'"
msgstr "extension: det går inte att definiera om funktionen \"%s\""
-#: ext.c:155
+#: ext.c:136
#, c-format
msgid "extension: function `%s' already defined"
msgstr "extension: funktionen \"%s\" är redan definierad"
-#: ext.c:160
+#: ext.c:140
#, c-format
msgid "extension: function name `%s' previously defined"
msgstr "extension: funktionsnamnet \"%s\" är definierat sedan tidigare"
-#: ext.c:162
+#: ext.c:142
#, 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"
-#: ext.c:166
+#: ext.c:145
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
msgstr "make_builtin: negativt argumentantal för funktionen \"%s\""
-#: ext.c:269
+#: ext.c:207
#, 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:272
+#: ext.c:210
#, c-format
msgid "function `%s': missing argument #%d"
msgstr "funktionen \"%s\": argument %d saknas"
-#: ext.c:289
+#: ext.c:227
#, 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:293
+#: ext.c:231
#, 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:306
+#: ext.c:245
msgid "Operation Not Supported"
msgstr "Operationen stöds inte"
+#: ext.c:257
+msgid "dynamic loading of library not supported"
+msgstr ""
+
#: field.c:328
msgid "NF set to negative value"
msgstr "NF satt till ett negativt värde"
@@ -1274,534 +1174,544 @@ msgstr ""
"patsplit: det går inte att använda en delvektor av fjärde argumentet som "
"andra argument"
-#: field.c:1110
+#: field.c:1111
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "\"FIELDWIDTHS\" är en gawk-utökning"
-#: field.c:1173
+#: field.c:1175
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ogiltigt FIELDWITHS-värde i närheten av \"%s\""
-#: field.c:1246
+#: field.c:1248
msgid "null string for `FS' is a gawk extension"
msgstr "tom sträng som \"FS\" är en gawk-utökning"
-#: field.c:1250
+#: field.c:1252
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:1369
+#: field.c:1371
msgid "`FPAT' is a gawk extension"
msgstr "\"FPAT\" är en gawk-utökning"
-#: getopt.c:574 getopt.c:590
-#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+#: getopt.c:604 getopt.c:633
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: flaggan \"%s\" är tvetydig\n"
-#: getopt.c:623 getopt.c:627
+#: 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:636 getopt.c:641
+#: 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:684 getopt.c:703
+#: 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:741 getopt.c:744
+#: getopt.c:797 getopt.c:800
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: okänd flagga \"--%s\"\n"
-#: getopt.c:752 getopt.c:755
+#: 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:804 getopt.c:807
+#: getopt.c:860 getopt.c:863
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ogiltig flagga -- \"%c\"\n"
-#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
+#: 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:930 getopt.c:946
+#: 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:970 getopt.c:988
+#: 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:1009 getopt.c:1027
+#: 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:280
+#: io.c:315
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "kommandoradsargumentet \"%s\" är en katalog: hoppas över"
-#: io.c:283 io.c:385
+#: io.c:318 io.c:421
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "kan inte öppna filen \"%s\" för läsning (%s)"
-#: io.c:501
+#: io.c:537
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "stängning av fd %d (\"%s\") misslyckades (%s)"
-#: io.c:578
+#: io.c:614
msgid "redirection not allowed in sandbox mode"
msgstr "omdirigering är inte tillåten i sandlådeläge"
-#: io.c:612
+#: io.c:648
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "uttrycket i \"%s\"-omdirigering har bara numeriskt värde"
-#: io.c:618
+#: io.c:654
#, 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:624
+#: io.c:659
#, 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"
-#: io.c:667
+#: io.c:702
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "onödig blandning av \">\" och \">>\" för filen \"%.*s\""
-#: io.c:720
+#: io.c:755
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "kan inte öppna röret \"%s\" för utmatning (%s)"
-#: io.c:730
+#: io.c:765
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "kan inte öppna röret \"%s\" för inmatning (%s)"
-#: io.c:753
+#: io.c:788
#, 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:835
+#: io.c:870
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan inte dirigera om från \"%s\" (%s)"
-#: io.c:838
+#: io.c:873
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan inte dirigera om till \"%s\" (%s)"
-#: io.c:889
+#: io.c:924
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:905
+#: io.c:940
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "stängning av \"%s\" misslyckades (%s)"
-#: io.c:913
+#: io.c:948
msgid "too many pipes or input files open"
msgstr "för många rör eller indatafiler öppna"
-#: io.c:935
+#: io.c:970
msgid "close: second argument must be `to' or `from'"
msgstr "close: andra argumentet måste vara \"to\" eller \"from\""
-#: io.c:952
+#: io.c:987
#, 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:957
+#: io.c:992
msgid "close of redirection that was never opened"
msgstr "stängning av omdirigering som aldrig öppnades"
-#: io.c:1054
+#: io.c:1089
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: omdirigeringen \"%s\" öppnades inte med \"|&\", andra argumentet "
"ignorerat"
-#: io.c:1070
+#: io.c:1105
#, 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:1073
+#: io.c:1108
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "felstatus (%d) från filstängning av \"%s\" (%s)"
-#: io.c:1093
+#: io.c:1128
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "ingen explicit stängning av uttaget \"%s\" tillhandahållen"
-#: io.c:1096
+#: io.c:1131
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "ingen explicit stängning av koprocessen \"%s\" tillhandahållen"
-#: io.c:1099
+#: io.c:1134
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "ingen explicit stängning av röret \"%s\" tillhandahållen"
-#: io.c:1102
+#: io.c:1137
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "ingen explicit stängning av filen \"%s\" tillhandahållen"
-#: io.c:1130 io.c:1185 main.c:793 main.c:830
+#: io.c:1165 io.c:1220 main.c:798 main.c:835
#, c-format
msgid "error writing standard output (%s)"
msgstr "fel vid skrivning till standard ut (%s)"
-#: io.c:1134 io.c:1190
+#: io.c:1169 io.c:1225
#, c-format
msgid "error writing standard error (%s)"
msgstr "fel vid skrivning till standard fel (%s)"
-#: io.c:1142
+#: io.c:1177
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "rörspolning av \"%s\" misslyckades (%s)"
-#: io.c:1145
+#: io.c:1180
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "koprocesspolning av röret till \"%s\" misslyckades (%s)"
-#: io.c:1148
+#: io.c:1183
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "filspolning av \"%s\" misslyckades (%s)"
-#: io.c:1263
+#: io.c:1298
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokal port %s ogiltig i \"/inet\""
-#: io.c:1280
+#: io.c:1315
#, 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:1432
+#: io.c:1467
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
"inget (känt) protokoll tillhandahållet i det speciella filnamnet \"%s\""
-#: io.c:1446
+#: io.c:1481
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "speciellt filnamn \"%s\" är ofullständigt"
-#: io.c:1463
+#: io.c:1498
msgid "must supply a remote hostname to `/inet'"
msgstr "måste tillhandahålla ett fjärrdatornamn till \"/inet\""
-#: io.c:1481
+#: io.c:1516
msgid "must supply a remote port to `/inet'"
msgstr "måste tillhandahålla en fjärrport till \"/inet\""
-#: io.c:1527
+#: io.c:1562
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-kommunikation stöds inte"
-#: io.c:1694
+#: io.c:1729
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kunde inte öppna \"%s\", läge \"%s\""
-#: io.c:1748
+#: io.c:1783
#, c-format
msgid "close of master pty failed (%s)"
msgstr "stängning av huvudpty misslyckades (%s)"
-#: io.c:1750 io.c:1918 io.c:2075
+#: io.c:1785 io.c:1953 io.c:2110
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "stängning av standard ut i barnet misslyckades (%s)"
-#: io.c:1753
+#: io.c:1788
#, 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:1755 io.c:1923
+#: io.c:1790 io.c:1958
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "stängning av standard in i barnet misslyckades (%s)"
-#: io.c:1758
+#: io.c:1793
#, 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:1760 io.c:1781
+#: io.c:1795 io.c:1816
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "stängning av slavpty misslyckades (%s)"
-#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
+#: io.c:1894 io.c:1956 io.c:2088 io.c:2113
#, 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:1866 io.c:1926
+#: io.c:1901 io.c:1961
#, 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:1886 io.c:2068
+#: io.c:1921 io.c:2103
msgid "restoring stdout in parent process failed\n"
msgstr "återställande av standard ut i förälderprocessen misslyckades\n"
-#: io.c:1894
+#: io.c:1929
msgid "restoring stdin in parent process failed\n"
msgstr "återställande av standard in i förälderprocessen misslyckades\n"
-#: io.c:1929 io.c:2080 io.c:2094
+#: io.c:1964 io.c:2115 io.c:2129
#, c-format
msgid "close of pipe failed (%s)"
msgstr "stängning av röret misslyckades (%s)"
-#: io.c:1974
+#: io.c:2009
msgid "`|&' not supported"
msgstr "\"|&\" stöds inte"
-#: io.c:2040
+#: io.c:2075
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan inte öppna röret \"%s\" (%s)"
-#: io.c:2088
+#: io.c:2123
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan inte skapa barnprocess för \"%s\" (fork: %s)"
-#: io.c:2521
+#: io.c:2613
#, c-format
msgid "data file `%s' is empty"
msgstr "datafilen \"%s\" är tom"
-#: io.c:2562 io.c:2570
+#: io.c:2654 io.c:2662
msgid "could not allocate more input memory"
msgstr "kunde inte allokera mer indataminne"
-#: io.c:3128
+#: io.c:3223
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "flerteckensvärdet av \"RS\" är en gawk-utökning"
-#: io.c:3233
+#: io.c:3313
msgid "IPv6 communication is not supported"
msgstr "IPv6-kommunikation stöds inte"
-#: main.c:364
+#: main.c:353
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "\"-m[fr]\"-flaggan är irrelevant i gawk"
-#: main.c:366
+#: main.c:355
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m-flaggans användning: \"-m[fr] nnn\""
-#: main.c:389
+#: main.c:384
msgid "empty argument to `-e/--source' ignored"
msgstr "tomt argument till \"-e/--source\" ignorerat"
-#: main.c:460
+#: main.c:464
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: flaggan \"-W %s\" okänd, ignorerad\n"
-#: main.c:513
+#: main.c:510
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: flaggan kräver ett argument -- %c\n"
-#: main.c:534
+#: main.c:531
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "miljövariabeln \"POSIXLY_CORRECT\" satt: slår på \"--posix\""
-#: main.c:540
+#: main.c:537
msgid "`--posix' overrides `--traditional'"
msgstr "\"--posix\" åsidosätter \"--traditional\""
-#: main.c:551
+#: main.c:548
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "\"--posix\"/\"--traditional\" åsidosätter \"--non-decimal-data\""
-#: main.c:555
+#: main.c:552
#, 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:560
+#: main.c:557
msgid "`--posix' overrides `--binary'"
msgstr "\"--posix\" åsidosätter \"--binary\""
-#: main.c:611
+#: main.c:600
#, 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:614
+#: main.c:603
#, 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:616
+#: main.c:605
#, 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:655
+#: main.c:653
msgid "no program text at all!"
msgstr "ingen programtext alls!"
-#: main.c:733
+#: main.c:737
#, 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"
-#: main.c:735
+#: main.c:739
#, 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:740
+#: main.c:744
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-flaggor:\t\tGNU långa flaggor: (standard)\n"
-#: main.c:741
+#: main.c:745
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f progfil\t\t--file=progfil\n"
-#: main.c:742
+#: main.c:746
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:743
+#: main.c:747
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:744
+#: main.c:748
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Korta flaggor:\t\tGNU långa flaggor: (utökningar)\n"
-#: main.c:745
+#: main.c:749
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:746
+#: main.c:750
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:747
+#: main.c:751
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:748
+#: main.c:752
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fil]\t\t\t--dump-variables[=fil]\n"
-#: main.c:749
+#: main.c:753
+#, fuzzy
+msgid "\t-D[file]\t\t--debug[=file]\n"
+msgstr "\t-p[fil]\t\t\t--profile[=fil]\n"
+
+#: main.c:754
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programtext'\t--source='programtext'\n"
-#: main.c:750
+#: main.c:755
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fil\t\t\t--exec=fil\n"
-#: main.c:751
+#: main.c:756
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:752
+#: main.c:757
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:753
+#: main.c:758
+msgid "\t-l library\t\t--load=library\n"
+msgstr ""
+
+#: main.c:759
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:754
+#: main.c:760
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:755
+#: main.c:761
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:756
+#: main.c:762
+#, fuzzy
+msgid "\t-o[file]\t\t--pretty-print[=file]\n"
+msgstr "\t-p[fil]\t\t\t--profile[=fil]\n"
+
+#: main.c:763
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:757
+#: main.c:764
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fil]\t\t\t--profile[=fil]\n"
-#: main.c:758
+#: main.c:765
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:759
+#: main.c:766
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:761
-msgid "\t-R file\t\t\t--command=file\n"
-msgstr "\t-R file\t\t\t--command=file\n"
-
-#: main.c:762
+#: main.c:767
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:763
+#: main.c:768
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:764
+#: main.c:769
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:766
+#: main.c:771
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:769
+#: main.c:774
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1810,7 +1720,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:778
+#: main.c:783
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1824,7 +1734,7 @@ msgstr ""
"Rapportera synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
"\n"
-#: main.c:782
+#: main.c:787
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1834,7 +1744,7 @@ msgstr ""
"Normalt läser det från standard in och skriver till standard ut.\n"
"\n"
-#: main.c:786
+#: main.c:791
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1844,7 +1754,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fil\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:806
+#: main.c:811
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1863,7 +1773,7 @@ msgstr ""
"någon senare version.\n"
"\n"
-#: main.c:814
+#: main.c:819
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"
@@ -1877,7 +1787,7 @@ msgstr ""
"General Public License för ytterligare information.\n"
"\n"
-#: main.c:820
+#: main.c:825
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"
@@ -1885,100 +1795,95 @@ 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:855
+#: main.c:860
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft sätter inte FS till tab i POSIX-awk"
-#: main.c:1089
+#: main.c:1091
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "okänt värde till fältspecifikation: %d\n"
-#: main.c:1170
+#: main.c:1172
#, 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:1196
+#: main.c:1198
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "\"%s\" är inte ett giltigt variabelnamn"
-#: main.c:1199
+#: main.c:1201
#, 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:1203
+#: main.c:1205
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
-#: main.c:1208
+#: main.c:1210
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan inte använda funktionen \"%s\" som variabelnamn"
-#: main.c:1261
+#: main.c:1263
msgid "floating point exception"
msgstr "flyttalsundantag"
-#: main.c:1268
+#: main.c:1270
msgid "fatal error: internal error"
msgstr "ödesdigert fel: internt fel"
-#: main.c:1283
+#: main.c:1285
msgid "fatal error: internal error: segfault"
msgstr "ödesdigert fel: internt fel: segmenteringsfel"
-#: main.c:1295
+#: main.c:1297
msgid "fatal error: internal error: stack overflow"
msgstr "ödesdigert fel: internt fel: stackspill"
-#: main.c:1345
+#: main.c:1347
#, c-format
msgid "no pre-opened fd %d"
msgstr "ingen föröppnad fd %d"
-#: main.c:1352
+#: main.c:1354
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kunde inte föröppna /dev/null för fd %d"
-#: main.c:1375 main.c:1384
-#, c-format
-msgid "could not find groups: %s"
-msgstr "kunde inte hitta grupper: %s"
-
-#: msg.c:63
+#: msg.c:61
#, c-format
msgid "cmd. line:"
msgstr "kommandorad:"
-#: msg.c:107
+#: msg.c:105
msgid "error: "
msgstr "fel: "
-#: node.c:406
+#: node.c:402
msgid "backslash at end of string"
msgstr "omvänt snedstreck i slutet av strängen"
-#: node.c:517
+#: node.c:479
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
msgstr "gamla awk stöder inte kontrollsekvensen \"\\%c\""
-#: node.c:568
+#: node.c:530
msgid "POSIX does not allow `\\x' escapes"
msgstr "POSIX tillåter inte \"\\x\"-kontrollsekvenser"
-#: node.c:574
+#: node.c:536
msgid "no hex digits in `\\x' escape sequence"
msgstr "inga hexadecimala siffror i \"\\x\"-kontrollsekvenser"
-#: node.c:596
+#: node.c:558
#, c-format
msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
@@ -1987,12 +1892,12 @@ msgstr ""
"hexkod \\x%.*s med %d tecken tolkas förmodligen inte på det sätt du "
"förväntar dig"
-#: node.c:611
+#: node.c:573
#, c-format
msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "kontrollsekvensen \"\\%c\" behandlad som bara \"%c\""
-#: node.c:750
+#: node.c:712
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2010,16 +1915,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:83
+#: profile.c:69
#, c-format
msgid "could not open `%s' for writing: %s"
msgstr "kunde inte öppna \"%s\" för skrivning: %s"
-#: profile.c:85
+#: profile.c:71
msgid "sending profile to standard error"
msgstr "skickar profilen till standard fel"
-#: profile.c:203
+#: profile.c:187
#, c-format
msgid ""
"\t# %s block(s)\n"
@@ -2028,7 +1933,7 @@ msgstr ""
"\t# %s-block\n"
"\n"
-#: profile.c:208
+#: profile.c:192
#, c-format
msgid ""
"\t# Rule(s)\n"
@@ -2037,17 +1942,22 @@ msgstr ""
"\t# Regel/regler\n"
"\n"
-#: profile.c:279
+#: profile.c:266
#, c-format
msgid "internal error: %s with null vname"
msgstr "internt fel: %s med null vname"
-#: profile.c:952
+#: profile.c:528
+#, fuzzy
+msgid "internal error: builtin with null fname"
+msgstr "internt fel: %s med null vname"
+
+#: profile.c:943
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawkprofil, skapad %s\n"
-#: profile.c:1331
+#: profile.c:1321
#, c-format
msgid ""
"\n"
@@ -2056,94 +1966,165 @@ msgstr ""
"\n"
"\t# Funktioner, listade alfabetiskt\n"
-#: profile.c:1370
+#: profile.c:1359
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: okänd omdirigeringstyp %d"
-#: re.c:572
-#, fuzzy, c-format
+#: re.c:573
+#, c-format
msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "intervall på formen \"[%c-%c]\" är lokalberoende"
-#: re.c:599
+#: re.c:600
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
"komponenten \"%.*s\" i reguljäruttryck skall förmodligen vara \"[%.*s]\""
-#: regcomp.c:132
+#: regcomp.c:131
msgid "Success"
msgstr "Lyckades"
-#: regcomp.c:135
+#: regcomp.c:134
msgid "No match"
msgstr "Misslyckades"
-#: regcomp.c:138
+#: regcomp.c:137
msgid "Invalid regular expression"
msgstr "Ogiltigt reguljärt uttryck"
-#: regcomp.c:141
+#: regcomp.c:140
msgid "Invalid collation character"
msgstr "Ogiltigt kollationeringstecken"
-#: regcomp.c:144
+#: regcomp.c:143
msgid "Invalid character class name"
msgstr "Ogiltigt teckenklassnamn"
-#: regcomp.c:147
+#: regcomp.c:146
msgid "Trailing backslash"
msgstr "Eftersläpande omvänt snedstreck"
-#: regcomp.c:150
+#: regcomp.c:149
msgid "Invalid back reference"
msgstr "Ogiltig bakåtrerefens"
-#: regcomp.c:153
+#: regcomp.c:152
msgid "Unmatched [ or [^"
msgstr "Obalanserad [ eller [^"
-#: regcomp.c:156
+#: regcomp.c:155
msgid "Unmatched ( or \\("
msgstr "Obalanserad ( eller \\("
-#: regcomp.c:159
+#: regcomp.c:158
msgid "Unmatched \\{"
msgstr "Obalanserad \\{"
-#: regcomp.c:162
+#: regcomp.c:161
msgid "Invalid content of \\{\\}"
msgstr "Ogiltigt innehåll i \\{\\}"
-#: regcomp.c:165
+#: regcomp.c:164
msgid "Invalid range end"
msgstr "Ogiltigt omfångsslut"
-#: regcomp.c:168
+#: regcomp.c:167
msgid "Memory exhausted"
msgstr "Minnet slut"
-#: regcomp.c:171
+#: regcomp.c:170
msgid "Invalid preceding regular expression"
msgstr "Ogiltigt föregående reguljärt uttryck"
-#: regcomp.c:174
+#: regcomp.c:173
msgid "Premature end of regular expression"
msgstr "För tidigt slut på reguljärt uttryck"
-#: regcomp.c:177
+#: regcomp.c:176
msgid "Regular expression too big"
msgstr "Reguljärt uttryck för stort"
-#: regcomp.c:180
+#: regcomp.c:179
msgid "Unmatched ) or \\)"
msgstr "Obalanserad ) eller \\)"
-#: regcomp.c:701
+#: regcomp.c:700
msgid "No previous regular expression"
msgstr "Inget föregående reguljärt uttryck"
-#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgid "attempt to use function `%s' as an array"
+#~ msgstr "försök att använda funktionen \"%s\" som vektor"
+
+#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'"
+#~ msgstr "referens till oinitierat element \"%s[\"%.*s\"]\""
+
+#~ msgid "subscript of array `%s' is null string"
+#~ msgstr "index i vektorn \"%s\" är en tom sträng"
+
+#~ msgid "%s: empty (null)\n"
+#~ msgstr "%s: tom (null)\n"
+
+#~ msgid "%s: empty (zero)\n"
+#~ msgstr "%s: tom (noll)\n"
+
+#~ msgid "%s: table_size = %d, array_size = %d\n"
+#~ msgstr "%s: tabellstorlek = %d, vektorstorlek = %d\n"
+
+#~ msgid "%s: is parameter\n"
+#~ msgstr "%s: är en parameter\n"
+
+#~ msgid "%s: array_ref to %s\n"
+#~ msgstr "%s: vektorreferens till %s\n"
+
+#~ msgid "use of non-array as array"
+#~ msgstr "icke-vektor används som vektor"
+
+#~ msgid "can't use function name `%s' as variable or array"
+#~ msgstr "kan inte använda funktionsnamnet \"%s\" som variabel eller vektor"
+
+#~ msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
+#~ msgstr "försök att använda vektorn \"%s[\"%.*s\"]\" i skalärsammanhang"
+
+#~ msgid "assignment used in conditional context"
+#~ msgstr "tilldelning använt i jämförelsesammanhang"
+
+#~ msgid "statement has no effect"
+#~ msgstr "kommandot har ingen effekt"
+
+#~ msgid ""
+#~ "for loop: array `%s' changed size from %ld to %ld during loop execution"
#~ msgstr ""
-#~ "det är inte tillåtet att tilldela resultatet från en inbyggd funktion"
+#~ "forslinga: vektorn \"%s\" ändrade storlek från %ld till %ld under "
+#~ "slingexekvering"
+
+#~ msgid "function called indirectly through `%s' does not exist"
+#~ msgstr "funktionen anropad indirekt genom \"%s\" finns inte"
+
+#~ msgid "function `%s' not defined"
+#~ msgstr "funktionen \"%s\" är inte definierad"
+
+#~ msgid "non-redirected `getline' invalid inside `%s' rule"
+#~ msgstr "icke omdirigerad \"getline\" odefinierad inuti \"%s\"-regel"
+
+#~ msgid "error reading input file `%s': %s"
+#~ msgstr "fel vid läsning av indatafilen \"%s\": %s"
+
+#~ msgid "`nextfile' cannot be called from a `%s' rule"
+#~ msgstr "\"nextfile\" kan inte anropas från en \"%s\"-regel"
+
+#~ msgid "`exit' cannot be called in the current context"
+#~ msgstr "\"exit\" kan inte anropas i det aktuella sammanhanget"
+
+#~ msgid "`next' cannot be called from a `%s' rule"
+#~ msgstr "\"next\" kan inte anropas från en \"%s\"-regel"
+
+#~ msgid "Sorry, don't know how to interpret `%s'"
+#~ msgstr "Tyvärr, vet inte hur \"%s\" skall tolkas"
+
+#~ msgid "\t-R file\t\t\t--command=file\n"
+#~ msgstr "\t-R file\t\t\t--command=file\n"
+
+#~ msgid "could not find groups: %s"
+#~ msgstr "kunde inte hitta grupper: %s"
diff --git a/posix/ChangeLog b/posix/ChangeLog
index 8aaeb418..d684afe9 100644
--- a/posix/ChangeLog
+++ b/posix/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
2011-06-23 Arnold D. Robbins <arnold@skeeve.com>
* ChangeLog.0: Rotated ChangeLog into this file.
diff --git a/re.c b/re.c
index cec95dac..9be46d96 100644
--- a/re.c
+++ b/re.c
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 1991-2011 the Free Software Foundation, Inc.
+ * Copyright (C) 1991-2012 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -268,7 +268,7 @@ research(Regexp *rp, char *str, int start,
*/
if (rp->dfa && ! no_bol && ! need_start) {
char save;
- int count = 0;
+ size_t count = 0;
/*
* dfa likes to stick a '\n' right after the matched
* text. So we just save and restore the character.
@@ -322,6 +322,7 @@ void
dfaerror(const char *s)
{
fatal("%s", s);
+ exit(EXIT_FATAL); /* for DJGPP */
}
/* re_update --- recompile a dynamic regexp */
diff --git a/regcomp.c b/regcomp.c
index a181d63f..f83e454d 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2007,2009,2010,2011 Free Software Foundation, Inc.
+ Copyright (C) 2002-2007,2009,2010,2011,2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -14,9 +14,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern,
size_t length, reg_syntax_t syntax);
@@ -974,6 +973,35 @@ init_word_char (re_dfa_t *dfa)
{
int i, j, ch;
dfa->word_ops_used = 1;
+#ifndef GAWK
+ if (BE (dfa->map_notascii == 0, 1))
+ {
+ if (sizeof (dfa->word_char[0]) == 8)
+ {
+ dfa->word_char[0] = UINT64_C (0x03ff000000000000);
+ dfa->word_char[1] = UINT64_C (0x07fffffe87fffffe);
+ i = 2;
+ }
+ else if (sizeof (dfa->word_char[0]) == 4)
+ {
+ dfa->word_char[0] = UINT32_C (0x00000000);
+ dfa->word_char[1] = UINT32_C (0x03ff0000);
+ dfa->word_char[2] = UINT32_C (0x87fffffe);
+ dfa->word_char[3] = UINT32_C (0x07fffffe);
+ i = 4;
+ }
+ else
+ abort ();
+ ch = 128;
+
+ if (BE (dfa->is_utf8, 1))
+ {
+ memset (&dfa->word_char[i], '\0', (SBC_MAX - ch) / 8);
+ return;
+ }
+ }
+#endif
+
for (i = 0, ch = 0; i < BITSET_WORDS; ++i)
for (j = 0; j < BITSET_WORD_BITS; ++j, ++ch)
if (isalnum (ch) || ch == '_')
@@ -3470,8 +3498,8 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
_NL_COLLATE_EXTRAMB);
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
_NL_COLLATE_INDIRECTMB);
- idx1 = findidx (&cp);
- if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
+ idx1 = findidx (&cp, -1);
+ if (BE (idx1 == 0 || *cp != '\0', 0))
/* This isn't a valid character. */
return REG_ECOLLATE;
@@ -3482,7 +3510,7 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
{
char_buf[0] = ch;
cp = char_buf;
- idx2 = findidx (&cp);
+ idx2 = findidx (&cp, 1);
/*
idx2 = table[ch];
*/
diff --git a/regex.c b/regex.c
index 09b51944..6ca36d3b 100644
--- a/regex.c
+++ b/regex.c
@@ -14,9 +14,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
#include "config.h"
diff --git a/regex.h b/regex.h
index 6bc503b2..ca619ae5 100644
--- a/regex.h
+++ b/regex.h
@@ -15,9 +15,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#ifndef _REGEX_H
#define _REGEX_H 1
@@ -349,9 +348,9 @@ typedef enum
/* This data structure represents a compiled pattern. Before calling
the pattern compiler, the fields `buffer', `allocated', `fastmap',
- `translate', and `no_sub' can be set. After the pattern has been
- compiled, the `re_nsub' field is available. All other fields are
- private to the regex routines. */
+ and `translate' can be set. After the pattern has been compiled,
+ the fields `re_nsub', `not_bol' and `not_eol' are available. All
+ other fields are private to the regex routines. */
#ifndef RE_TRANSLATE_TYPE
# define __RE_TRANSLATE_TYPE unsigned char *
@@ -476,7 +475,12 @@ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
/* Compile the regular expression PATTERN, with length LENGTH
and syntax given by the global `re_syntax_options', into the buffer
- BUFFER. Return NULL if successful, and an error string if not. */
+ BUFFER. Return NULL if successful, and an error string if not.
+
+ To free the allocated storage, you must call `regfree' on BUFFER.
+ Note that the translate table must either have been initialised by
+ `regcomp', with a malloc'ed value, or set to NULL before calling
+ `regfree'. */
extern const char *re_compile_pattern (const char *__pattern, size_t __length,
struct re_pattern_buffer *__buffer);
diff --git a/regex_internal.c b/regex_internal.c
index 0c4f8f80..80991613 100644
--- a/regex_internal.c
+++ b/regex_internal.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2002-2006, 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -14,9 +14,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
static void re_string_construct_common (const char *str, int len,
re_string_t *pstr,
@@ -246,13 +245,8 @@ build_wcs_buffer (re_string_t *pstr)
else
p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx;
mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
- if (BE (mbclen == (size_t) -2, 0))
- {
- /* The buffer doesn't have enough space, finish to build. */
- pstr->cur_state = prev_st;
- break;
- }
- else if (BE (mbclen == (size_t) -1 || mbclen == 0, 0))
+ if (BE (mbclen == (size_t) -1 || mbclen == 0
+ || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len), 0))
{
/* We treat these cases as a singlebyte character. */
mbclen = 1;
@@ -261,6 +255,12 @@ build_wcs_buffer (re_string_t *pstr)
wc = pstr->trans[wc];
pstr->cur_state = prev_st;
}
+ else if (BE (mbclen == (size_t) -2, 0))
+ {
+ /* The buffer doesn't have enough space, finish to build. */
+ pstr->cur_state = prev_st;
+ break;
+ }
/* Write wide character and padding. */
pstr->wcs[byte_idx++] = wc;
@@ -343,9 +343,11 @@ build_wcs_upper_buffer (re_string_t *pstr)
for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;)
pstr->wcs[byte_idx++] = WEOF;
}
- else if (mbclen == (size_t) -1 || mbclen == 0)
+ else if (mbclen == (size_t) -1 || mbclen == 0
+ || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len))
{
- /* It is an invalid character or '\0'. Just use the byte. */
+ /* It is an invalid character, an incomplete character
+ at the end of the string, or '\0'. Just use the byte. */
int ch = pstr->raw_mbs[pstr->raw_mbs_idx + byte_idx];
pstr->mbs[byte_idx] = ch;
/* And also cast it to wide char. */
@@ -458,7 +460,8 @@ build_wcs_upper_buffer (re_string_t *pstr)
for (remain_len = byte_idx + mbclen - 1; byte_idx < remain_len ;)
pstr->wcs[byte_idx++] = WEOF;
}
- else if (mbclen == (size_t) -1 || mbclen == 0)
+ else if (mbclen == (size_t) -1 || mbclen == 0
+ || (mbclen == (size_t) -2 && pstr->bufs_len >= pstr->len))
{
/* It is an invalid character or '\0'. Just use the byte. */
int ch = pstr->raw_mbs[pstr->raw_mbs_idx + src_idx];
@@ -505,7 +508,7 @@ re_string_skip_chars (re_string_t *pstr, int new_raw_idx, wint_t *last_wc)
rawbuf_idx < new_raw_idx;)
{
wchar_t wc2;
- int remain_len = pstr->len - rawbuf_idx;
+ int remain_len = pstr->raw_len - rawbuf_idx;
prev_st = pstr->cur_state;
mbclen = __mbrtowc (&wc2, (const char *) pstr->raw_mbs + rawbuf_idx,
remain_len, &pstr->cur_state);
@@ -741,16 +744,18 @@ re_string_reconstruct (re_string_t *pstr, int idx, int eflags)
unsigned char buf[6];
size_t mbclen;
+ const unsigned char *pp = p;
if (BE (pstr->trans != NULL, 0))
{
int i = mlen < 6 ? mlen : 6;
while (--i >= 0)
buf[i] = pstr->trans[p[i]];
+ pp = buf;
}
/* XXX Don't use mbrtowc, we know which conversion
to use (UTF-8 -> UCS4). */
memset (&cur_state, 0, sizeof (cur_state));
- mbclen = __mbrtowc (&wc2, (const char *) p, mlen,
+ mbclen = __mbrtowc (&wc2, (const char *) pp, mlen,
&cur_state);
if (raw + offset - p <= mbclen
&& mbclen < (size_t) -2)
diff --git a/regex_internal.h b/regex_internal.h
index 5fcab48a..f38a13b0 100644
--- a/regex_internal.h
+++ b/regex_internal.h
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2002-2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -14,9 +14,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
#ifndef _REGEX_INTERNAL_H
#define _REGEX_INTERNAL_H 1
@@ -783,7 +782,6 @@ re_string_elem_size_at (const re_string_t *pstr, int idx)
# ifdef _LIBC
const unsigned char *p, *extra;
const int32_t *table, *indirect;
- int32_t tmp;
# include <locale/weight.h>
uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
@@ -795,7 +793,7 @@ re_string_elem_size_at (const re_string_t *pstr, int idx)
indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
_NL_COLLATE_INDIRECTMB);
p = pstr->mbs + idx;
- tmp = findidx (&p);
+ findidx (&p, pstr->len - idx);
return p - pstr->mbs - idx;
}
else
diff --git a/regexec.c b/regexec.c
index dcd325c4..ea4a02f7 100644
--- a/regexec.c
+++ b/regexec.c
@@ -1,5 +1,5 @@
/* Extended regular expression matching and search library.
- Copyright (C) 2002-2005, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2002-2005,2007,2009,2010,2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -14,9 +14,8 @@
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301 USA. */
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
int n) internal_function;
@@ -200,6 +199,15 @@ static int check_node_accept (const re_match_context_t *mctx,
internal_function;
static reg_errcode_t extend_buffers (re_match_context_t *mctx)
internal_function;
+
+#ifdef GAWK
+#undef MIN /* safety */
+static int
+MIN(size_t a, size_t b)
+{
+ return (a < b ? a : b);
+}
+#endif
/* Entry point for POSIX code. */
@@ -1156,7 +1164,8 @@ check_matching (re_match_context_t *mctx, int fl_longest_match,
re_dfastate_t *old_state = cur_state;
int next_char_idx = re_string_cur_idx (&mctx->input) + 1;
- if (BE (next_char_idx >= mctx->input.bufs_len, 0)
+ if ((BE (next_char_idx >= mctx->input.bufs_len, 0)
+ && mctx->input.bufs_len < mctx->input.len)
|| (BE (next_char_idx >= mctx->input.valid_len, 0)
&& mctx->input.valid_len < mctx->input.len))
{
@@ -1734,7 +1743,8 @@ clean_state_log_if_needed (re_match_context_t *mctx, int next_state_log_idx)
{
int top = mctx->state_log_top;
- if (next_state_log_idx >= mctx->input.bufs_len
+ if ((next_state_log_idx >= mctx->input.bufs_len
+ && mctx->input.bufs_len < mctx->input.len)
|| (next_state_log_idx >= mctx->input.valid_len
&& mctx->input.valid_len < mctx->input.len))
{
@@ -3924,6 +3934,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
if (cset->nequiv_classes)
{
const unsigned char *cp = pin;
+ int32_t idx;
table = (const int32_t *)
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
weights = (const unsigned char *)
@@ -3932,7 +3943,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
indirect = (const int32_t *)
_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
- int32_t idx = findidx (&cp);
+ idx = findidx (&cp, elem_len);
if (idx > 0)
for (i = 0; i < cset->nequiv_classes; ++i)
{
@@ -4113,7 +4124,7 @@ extend_buffers (re_match_context_t *mctx)
return REG_ESPACE;
/* Double the lengthes of the buffers. */
- ret = re_string_realloc_buffers (pstr, pstr->bufs_len * 2);
+ ret = re_string_realloc_buffers (pstr, MIN (pstr->len, pstr->bufs_len * 2));
if (BE (ret != REG_NOERROR, 0))
return ret;
diff --git a/test/ChangeLog b/test/ChangeLog
index 773c5ae6..4a2c7b2b 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -22,6 +22,21 @@
* badargs.ok: Adjust for new and changed command line options.
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
+2012-03-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (printfbad3): New test.
+ * printfbad3.awk, printfbad3.ok: New files.
+
+2012-02-22 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (beginfile2, next): Set LC_ALL=C so that error
+ messages will be in English for comparison with .ok files.
+ Thanks to Jeroen Schot <schot@a-eskwadraat.nl>.
+
2011-12-26 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (rri1): New test.
diff --git a/test/Makefile.am b/test/Makefile.am
index da3faeaa..54d48397 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,7 +1,7 @@
#
# test/Makefile.am --- automake input file for gawk
#
-# Copyright (C) 1988-2011 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2012 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -577,6 +577,8 @@ EXTRA_DIST = \
printfbad2.awk \
printfbad2.in \
printfbad2.ok \
+ printfbad3.awk \
+ printfbad3.ok \
printfloat.awk \
printlang.awk \
prmarscl.awk \
@@ -787,38 +789,43 @@ TESTS_WE_ARE_NOT_DOING_YET_FIXME_ONE_DAY = longdbl
# Get rid of core files when cleaning and generated .ok file
CLEANFILES = core core.* fmtspcl.ok
-# try to keep these sorted
+# try to keep these sorted. each letter starts a new line
BASIC_TESTS = \
addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 \
arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
- aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
- closebad clsflnam compare compare2 concat1 concat2 concat3 \
- concat4 convfmt datanonl defref delargv delarpm2 delarprm delfunc \
- dfastress dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 \
- fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \
- fordel forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
- funstack getline getline2 getline3 getline4 \
- getlnbuf getnr2tb getnr2tm \
+ aryprm8 arysubnm asgext awkpath \
+ back89 backgsub \
+ childin clobber closebad clsflnam compare compare2 concat1 concat2 \
+ concat3 concat4 convfmt \
+ datanonl defref delargv delarpm2 delarprm delfunc dfastress dynlj \
+ eofsplit exitval1 exitval2 \
+ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \
+ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \
+ fstabplus funsemnl funsmnam funstack \
+ getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
gsubtst7 gsubtst8 \
- hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
- longsub longwrds manglprm math membug1 messages minusstr mmap8k \
- mtchi18n nasty nasty2 negexp negrange nested nfldstr nfneg \
- nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \
- noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \
- ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup \
- paramres paramtyp parse1 parsefld parseme pcntplus posix2008sub \
- prdupval prec printf0 printf1 prmarscl prmreuse prt1eval prtoeval \
- rand range1 rebt8b1 redfilnm regeq regrange reindops reparse resplit \
- rri1 \
- rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 rstest3 rstest4 \
- rstest5 rswhite scalar sclforin sclifin sortempty splitargv \
- splitarr splitdef splitvar splitwht strcat1 strnum1 strtod subamp \
- subi18n subsepnm subslash substr swaplns synerr1 synerr2 tradanch \
- tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized unterm \
- uparrfs wideidx wideidx2 widesub widesub2 widesub3 widesub4 \
- wjposer1 zero2 zeroe0 zeroflag
+ hex hsprint \
+ inputred intest intprec iobug1 \
+ leaddig leadnl litoct longsub longwrds \
+ manglprm math membug1 messages minusstr mmap8k mtchi18n \
+ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \
+ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
+ noparms nors nulrsend numindex numsubstr \
+ octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \
+ paramdup paramres paramtyp parse1 parsefld parseme pcntplus \
+ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
+ prt1eval prtoeval \
+ rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \
+ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
+ rstest3 rstest4 rstest5 rswhite \
+ scalar sclforin sclifin sortempty splitargv splitarr splitdef \
+ splitvar splitwht strcat1 strnum1 strtod subamp subi18n \
+ subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
+ uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
+ wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
+ zero2 zeroe0 zeroflag
UNIX_TESTS = \
fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \
@@ -826,15 +833,16 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
- backw badargs beginfile1 beginfile2 \
- binmode1 clos1way delsub devfd devfd1 \
- devfd2 dumpvars exit fieldwdth fpat1 fpat2 fpat3 \
- fpatnull fsfwfs funlen \
+ backw badargs beginfile1 beginfile2 binmode1 \
+ clos1way delsub devfd devfd1 devfd2 dumpvars exit \
+ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \
fwtest fwtest2 fwtest3 \
gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
- icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall lint \
- lintold lintwarn manyfiles match1 match2 match3 mbstr1 nastyparm \
- next nondec nondec2 patsplit posix printfbad1 printfbad2 procinfs \
+ icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall \
+ lint lintold lintwarn \
+ manyfiles match1 match2 match3 mbstr1 \
+ nastyparm next nondec nondec2 \
+ patsplit posix printfbad1 printfbad2 printfbad3 procinfs \
profile1 profile2 profile3 pty1 \
rebuf regx8bit reint reint2 rsstart1 \
rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
@@ -1409,7 +1417,7 @@ beginfile1::
beginfile2:
@echo $@
- @-( cd $(srcdir) && AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
+ @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
dumpvars::
@@ -1444,7 +1452,7 @@ posix2008sub:
next:
@echo $@
@-AWK="$(AWKPROG)" $(srcdir)/$@.sh > _$@ 2>&1
- @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+ @-LC_ALL=C $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
exit:
@echo $@
diff --git a/test/Makefile.in b/test/Makefile.in
index 4eb95900..838eca85 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -18,7 +18,7 @@
#
# test/Makefile.am --- automake input file for gawk
#
-# Copyright (C) 1988-2011 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2012 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -68,11 +68,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mpfr.m4 \
- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
- $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
- $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/noreturn.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \
+ $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+ $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -763,6 +763,8 @@ EXTRA_DIST = \
printfbad2.awk \
printfbad2.in \
printfbad2.ok \
+ printfbad3.awk \
+ printfbad3.ok \
printfloat.awk \
printlang.awk \
prmarscl.awk \
@@ -973,38 +975,43 @@ TESTS_WE_ARE_NOT_DOING_YET_FIXME_ONE_DAY = longdbl
# Get rid of core files when cleaning and generated .ok file
CLEANFILES = core core.* fmtspcl.ok
-# try to keep these sorted
+# try to keep these sorted. each letter starts a new line
BASIC_TESTS = \
addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 \
arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
- aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
- closebad clsflnam compare compare2 concat1 concat2 concat3 \
- concat4 convfmt datanonl defref delargv delarpm2 delarprm delfunc \
- dfastress dynlj eofsplit exitval1 exitval2 fcall_exit fcall_exit2 \
- fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \
- fordel forref forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
- funstack getline getline2 getline3 getline4 \
- getlnbuf getnr2tb getnr2tm \
+ aryprm8 arysubnm asgext awkpath \
+ back89 backgsub \
+ childin clobber closebad clsflnam compare compare2 concat1 concat2 \
+ concat3 concat4 convfmt \
+ datanonl defref delargv delarpm2 delarprm delfunc dfastress dynlj \
+ eofsplit exitval1 exitval2 \
+ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \
+ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \
+ fstabplus funsemnl funsmnam funstack \
+ getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \
gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
gsubtst7 gsubtst8 \
- hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
- longsub longwrds manglprm math membug1 messages minusstr mmap8k \
- mtchi18n nasty nasty2 negexp negrange nested nfldstr nfneg \
- nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \
- noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \
- ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup \
- paramres paramtyp parse1 parsefld parseme pcntplus posix2008sub \
- prdupval prec printf0 printf1 prmarscl prmreuse prt1eval prtoeval \
- rand range1 rebt8b1 redfilnm regeq regrange reindops reparse resplit \
- rri1 \
- rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 rstest3 rstest4 \
- rstest5 rswhite scalar sclforin sclifin sortempty splitargv \
- splitarr splitdef splitvar splitwht strcat1 strnum1 strtod subamp \
- subi18n subsepnm subslash substr swaplns synerr1 synerr2 tradanch \
- tweakfld uninit2 uninit3 uninit4 uninit5 uninitialized unterm \
- uparrfs wideidx wideidx2 widesub widesub2 widesub3 widesub4 \
- wjposer1 zero2 zeroe0 zeroflag
+ hex hsprint \
+ inputred intest intprec iobug1 \
+ leaddig leadnl litoct longsub longwrds \
+ manglprm math membug1 messages minusstr mmap8k mtchi18n \
+ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \
+ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
+ noparms nors nulrsend numindex numsubstr \
+ octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \
+ paramdup paramres paramtyp parse1 parsefld parseme pcntplus \
+ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
+ prt1eval prtoeval \
+ rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \
+ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
+ rstest3 rstest4 rstest5 rswhite \
+ scalar sclforin sclifin sortempty splitargv splitarr splitdef \
+ splitvar splitwht strcat1 strnum1 strtod subamp subi18n \
+ subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
+ uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
+ wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
+ zero2 zeroe0 zeroflag
UNIX_TESTS = \
fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \
@@ -1012,15 +1019,16 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
- backw badargs beginfile1 beginfile2 \
- binmode1 clos1way delsub devfd devfd1 \
- devfd2 dumpvars exit fieldwdth fpat1 fpat2 fpat3 \
- fpatnull fsfwfs funlen \
+ backw badargs beginfile1 beginfile2 binmode1 \
+ clos1way delsub devfd devfd1 devfd2 dumpvars exit \
+ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \
fwtest fwtest2 fwtest3 \
gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
- icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall lint \
- lintold lintwarn manyfiles match1 match2 match3 mbstr1 nastyparm \
- next nondec nondec2 patsplit posix printfbad1 printfbad2 procinfs \
+ icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall \
+ lint lintold lintwarn \
+ manyfiles match1 match2 match3 mbstr1 \
+ nastyparm next nondec nondec2 \
+ patsplit posix printfbad1 printfbad2 printfbad3 procinfs \
profile1 profile2 profile3 pty1 \
rebuf regx8bit reint reint2 rsstart1 \
rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
@@ -1760,7 +1768,7 @@ beginfile1::
beginfile2:
@echo $@
- @-( cd $(srcdir) && AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
+ @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
dumpvars::
@@ -1795,7 +1803,7 @@ posix2008sub:
next:
@echo $@
@-AWK="$(AWKPROG)" $(srcdir)/$@.sh > _$@ 2>&1
- @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+ @-LC_ALL=C $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
exit:
@echo $@
@@ -2921,6 +2929,11 @@ printfbad1:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+printfbad3:
+ @echo printfbad3
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
procinfs:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 4bc06e50..96825721 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1075,6 +1075,11 @@ printfbad1:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+printfbad3:
+ @echo printfbad3
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
procinfs:
@echo $@
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/printfbad3.awk b/test/printfbad3.awk
new file mode 100644
index 00000000..1cabdd76
--- /dev/null
+++ b/test/printfbad3.awk
@@ -0,0 +1,22 @@
+# Date: Wed, 14 Mar 2012 08:10:48 -0500
+# From: John Haque <j.eh@mchsi.com>
+# To: arnold@skeeve.com
+# Subject: gawk printf format bug
+#
+# Hi.
+#
+# I think this is a bug:
+#
+# $ gawk 'BEGIN { printf("%.0x%#x%#x\n", 0, 167, 167)}'
+# 570xa7
+#
+# It should print 0xa70xa7.
+#
+# The solution is to initialize base to 0 in the beginning
+# of the while loop along with other stuff (format_tree).
+#
+# Thanks.
+#
+# John
+
+BEGIN { printf(">>%.0x<< >>%#x<< >>%#x<<\n", 0, 167, 167) }
diff --git a/test/printfbad3.ok b/test/printfbad3.ok
new file mode 100644
index 00000000..a87b0192
--- /dev/null
+++ b/test/printfbad3.ok
@@ -0,0 +1 @@
+>><< >>0xa7<< >>0xa7<<
diff --git a/vms/ChangeLog b/vms/ChangeLog
index a39f1125..fa1fbd16 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,3 +1,27 @@
+2012-03-29 Arnold D. Robbins <arnold@skeeve.com>
+
+ * config.h: Add definition for _Noreturn.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 4.0.1: Release tar ball made.
+
+2012-03-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * vms-conf.h: Update copyright year.
+
+2012-03-21 Anders Wallin <anders_s_wallin@yahoo.se>
+
+ * vmstest.com: Make printfbad3 test work.
+
+2012-03-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * vmstest.com: Add printfbad3 test.
+
+2012-02-10 Arnold D. Robbins <arnold@skeeve.com>
+
+ * vmsbuild.com, descrip.mms, vms-conf.h: Update patch level.
+
2011-12-31 Arnold D. Robbins <arnold@skeeve.com>
* vms_misc.c: [STREQ, STREQN]: Change use of macros to call
diff --git a/vms/descrip.mms b/vms/descrip.mms
index 40b97eb1..f00921ea 100644
--- a/vms/descrip.mms
+++ b/vms/descrip.mms
@@ -140,7 +140,7 @@ DOCS= $(DOCDIR)gawk.1,$(DOCDIR)gawk.texi,$(DOCDIR)texinfo.tex
# Release of gawk
REL=4.0
-PATCHLVL=0
+PATCHLVL=1
# generic target
all : gawk,pgawk,dgawk
diff --git a/vms/vms-conf.h b/vms/vms-conf.h
index c42118ff..59abd5de 100644
--- a/vms/vms-conf.h
+++ b/vms/vms-conf.h
@@ -7,8 +7,8 @@
*/
/*
- * Copyright (C) 1991-1992, 1995-1996, 1999, 2001-2003, 2005, 2009, 2010, 2011
- * the Free Software Foundation, Inc.
+ * Copyright (C) 1991-1992, 1995-1996, 1999, 2001-2003, 2005, 2009, 2010, 2011,
+ * 2012, the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -408,7 +408,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "4.0.0"
+#define PACKAGE_VERSION "4.0.1"
/* Define to 1 if *printf supports %F format */
#undef PRINTF_HAS_F_FORMAT
@@ -438,7 +438,7 @@
#define USE_INCLUDED_STRFTIME 1
/* Version number of package */
-#define VERSION "4.0.0"
+#define VERSION "4.0.1"
/* Define to 1 if on AIX 3.
System headers sometimes define this.
@@ -461,6 +461,18 @@
/* Define to 1 if on MINIX. */
#undef _MINIX
+/* The _Noreturn keyword of C11. */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+ || 0x5110 <= __SUNPRO_C)
+# define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn
+# endif
+#endif
+
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
diff --git a/vms/vmsbuild.com b/vms/vmsbuild.com
index 0ad0d3d0..047e49a2 100644
--- a/vms/vmsbuild.com
+++ b/vms/vmsbuild.com
@@ -12,7 +12,7 @@ $! gawk-bytecode revd, Jan'10
$! gawk 4.0.0 revd, May'11
$!
$ REL = "4.0" !release version number
-$ PATCHLVL = "0"
+$ PATCHLVL = "1"
$!
$!
$ CCFLAGS = "/noList" ! "/noOpt/Debug"
diff --git a/vms/vmstest.com b/vms/vmstest.com
index 146053e1..ccea8717 100644
--- a/vms/vmstest.com
+++ b/vms/vmstest.com
@@ -107,9 +107,9 @@ $ list = "indirectcall lint lintold lintwarn match1" -
+ " match2 match3 manyfiles mbprintf3 mbstr1" -
+ " nastyparm next nondec" -
+ " nondec2 patsplit posix profile1 procinfs printfbad1" -
- + " printfbad2 pty1 regx8bit rebuf reint reint2 rsstart1" -
- + " rsstart2 rsstart3 rstest6 shadow sortfor sortu" -
- + " splitarg4 strtonum strftime switch2"
+ + " printfbad2 printfbad3 pty1 regx8bit rebuf reint" -
+ + " reint2 rsstart1 rsstart2 rsstart3 rstest6 shadow" -
+ + " sortfor sortu splitarg4 strtonum strftime switch2"
$ gosub list_of_tests
$ return
$
@@ -1400,12 +1400,14 @@ $ cmp mbstr1.ok _mbstr1.tmp
$ if $status then rm _mbstr1.tmp;
$ return
$
-$printfbad2: echo "printfbad2"
+$printfbad2:
+$printfbad3:
+$ echo "''test'"
$ set noOn
-$ gawk --lint -f printfbad2.awk printfbad2.in >_printfbad2.tmp 2>&1
+$ gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
$ set On
-$ cmp printfbad2.ok _printfbad2.tmp
-$ if $status then rm _printfbad2.tmp;
+$ cmp 'test'.ok _'test'.tmp
+$ if $status then rm _'test'.tmp;
$ return
$
$fmtspcl: echo "fmtspcl: not supported"