aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog192
-rw-r--r--FUTURES2
-rw-r--r--Makefile.am4
-rw-r--r--Makefile.in8
-rw-r--r--README6
-rw-r--r--README_d/ChangeLog8
-rw-r--r--README_d/README.pc27
-rw-r--r--README_d/README.solaris13
-rw-r--r--array.c2
-rw-r--r--awk.h61
-rw-r--r--awkgram.c464
-rw-r--r--awkgram.y178
-rw-r--r--awklib/eg/lib/quicksort.awk1
-rw-r--r--builtin.c300
-rw-r--r--configh.in6
-rwxr-xr-xconfigure24
-rw-r--r--configure.ac8
-rw-r--r--debug.c56
-rw-r--r--dfa.c503
-rw-r--r--doc/ChangeLog23
-rw-r--r--doc/gawk.14
-rw-r--r--doc/gawk.info999
-rw-r--r--doc/gawk.texi122
-rw-r--r--eval.c419
-rw-r--r--field.c41
-rw-r--r--io.c65
-rw-r--r--main.c30
-rw-r--r--mbsupport.h15
-rw-r--r--node.c22
-rw-r--r--pc/ChangeLog4
-rw-r--r--pc/config.h9
-rw-r--r--po/ChangeLog6
-rw-r--r--po/Makefile.in.in3
-rw-r--r--po/da.gmobin49015 -> 48739 bytes
-rw-r--r--po/da.po707
-rw-r--r--po/de.gmobin50558 -> 52166 bytes
-rw-r--r--po/de.po1132
-rw-r--r--po/es.gmobin51041 -> 51471 bytes
-rw-r--r--po/es.po1378
-rw-r--r--po/fi.gmobin51689 -> 51684 bytes
-rw-r--r--po/fi.po723
-rw-r--r--po/fr.gmobin53350 -> 53311 bytes
-rw-r--r--po/fr.po721
-rw-r--r--po/gawk.pot704
-rw-r--r--po/it.gmobin44568 -> 44316 bytes
-rw-r--r--po/it.po707
-rw-r--r--po/ja.gmobin55606 -> 55596 bytes
-rw-r--r--po/ja.po719
-rw-r--r--po/nl.gmobin49331 -> 49267 bytes
-rw-r--r--po/nl.po725
-rw-r--r--po/pl.gmobin51195 -> 50946 bytes
-rw-r--r--po/pl.po707
-rw-r--r--po/sv.gmobin48763 -> 48752 bytes
-rw-r--r--po/sv.po741
-rw-r--r--profile.c14
-rw-r--r--re.c6
-rw-r--r--regex_internal.c2
-rw-r--r--regex_internal.h7
-rw-r--r--test/ChangeLog43
-rw-r--r--test/Makefile.am83
-rw-r--r--test/Makefile.in118
-rw-r--r--test/Maketests35
-rw-r--r--test/backgsub.ok2
-rw-r--r--test/beginfile2.in242
-rw-r--r--test/beginfile2.ok90
-rwxr-xr-xtest/beginfile2.sh82
-rw-r--r--test/fpat3.awk10
-rw-r--r--test/fpat3.in1
-rw-r--r--test/fpat3.ok4
-rw-r--r--test/fwtest3.awk1
-rw-r--r--test/fwtest3.in1
-rw-r--r--test/fwtest3.ok1
-rw-r--r--test/getline4.awk1
-rw-r--r--test/getline4.in1
-rw-r--r--test/getline4.ok1
-rw-r--r--test/gsubtst7.awk92
-rw-r--r--test/gsubtst7.in1
-rw-r--r--test/gsubtst7.ok1
-rw-r--r--test/gsubtst8.awk5
-rw-r--r--test/gsubtst8.in2
-rw-r--r--test/gsubtst8.ok2
-rw-r--r--test/pty1.awk54
-rw-r--r--test/pty1.ok2
-rw-r--r--test/rtlen.ok3
-rwxr-xr-xtest/rtlen.sh5
-rw-r--r--test/rtlen01.ok3
-rwxr-xr-xtest/rtlen01.sh8
-rw-r--r--test/sortu.awk6
-rw-r--r--test/sortu.ok6
-rw-r--r--version.c2
-rw-r--r--xalloc.h10
91 files changed, 7456 insertions, 6080 deletions
diff --git a/ChangeLog b/ChangeLog
index bf0f749b..4edb164c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,195 @@
+2011-09-30 Eli Zaretskii <eliz@gnu.org>
+
+ * io.c (remap_std_file): Fix non-portable code that caused
+ redirected "print" to fail if a previous read from standard input
+ returned EOF. Reported by David Millis <tvtronix@yahoo.com>.
+ (remap_std_file): Per Eli's suggestion, removed the leading close
+ of oldfd and will let dup2 do the close for us.
+
+2011-10-09 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c: Sync with GNU grep.
+
+2011-10-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awk.h, main.c (gawk_mb_cur_max): Make it a constant 1 when
+ MBS_SUPPORT isn't available to allow GCC dead code constant
+ expression computation and dead code elimination to help out.
+
+2011-10-02 Arnold D. Robbins <arnold@skeeve.com>
+
+ * io.c (rsnullscan, get_a_record): Fix the cases where terminators
+ are incomplete when RS == "". Also fix the case where the new value
+ is shorter than the old one. Based on patch from Rogier
+ <rogier777@gmail.com> as submitted by Jeroen Schot
+ <schot@A-Eskwadraat.nl>.
+
+2011-09-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ * eval.c, io.c, re.c: Fix some spelling errors. Thanks to
+ Jeroen Schot <schot@A-Eskwadraat.nl>.
+
+2011-09-21 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c, mbsupport.h: Sync with GNU grep. Large amount of changes
+ that remove many ifdefs, moving many conditions for multibyte
+ support into regular C code and relying GCC's dead code optimization
+ to elimnate code that won't be needed.
+ * dfa.c: For gawk, add a number of additional defines so that things
+ will compile if MBS_SUPPORT is 0.
+ * array.c, awk.h, awkgram.y, builtin.c, eval.c, field.c, main.c,
+ node.c, re.c: Change `#ifdef MBS_SUPPORT' to `#if MBS_SUPPORT'.
+ * awk.h, regex_internal.h: Move NO_MBSUPPORT handling to ...
+ * mbsupport.h: ...here.
+
+2011-09-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c: Sync with GNU grep.
+
+2011-09-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c: Sync with GNU grep.
+
+2011-08-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ Fix pty co-process communication on Ubuntu GNU/Linux.
+
+ * io.c: Add include of <sys/ioctl.h> to get definition of TIOCSCTTY.
+ (two_way_open): Move call for this ioctl to after setsid() call.
+
+2011-08-23 Arnold D. Robbins <arnold@skeeve.com>
+
+ * regex_internal.c (re_string_fetch_byte_case ): Remove
+ __attribute((pure)) since it causes failures with gcc -O2
+ -fno-inline. Thanks to Neil Cahill <ncahill_alt@yahoo.com>
+ for reporting the bug.
+
+2011-08-10 John Haque <j.eh@mchsi.com>
+
+ BEGINFILE/ENDFILE related code redone.
+
+ * awk.h (prev_frame_size, has_endfile, target_get_record,
+ target_newfile): New defines.
+ * awkgram.y (mk_program): Initialize has_endfile appropriately for
+ Op_get_record.
+ (parse_program): Initialize new jump targets for
+ Op_get_record and Op_newfile.
+ * eval.c (unwind_stack): Change argument to number of
+ items to be left in the stack. Adjust code.
+ (pop_fcall, pop_stack): New defines.
+ (setup_frame): Initialize prev_frame_size.
+ (exec_state, EXEC_STATE): New structure and typedef.
+ (exec_state_stack): New variable.
+ (push_exec_state, pop_exec_state): New functions to save and
+ later retrieve an execution state.
+ (r_interpret): Use the new functions and the defines in
+ cases Op_K_getline, Op_after_beginfile, Op_after_endfile,
+ Op_newfile and Op_K_exit.
+ * io.c (after_beginfile): When skipping a file using nextfile,
+ return zero in case there was an error opening the file.
+ (has_endfile): Nuke global variable.
+ (inrec): Add a second argument to pass errno to the calling
+ routine.
+ * debug.c (print_instruction): Update cases.
+
+2011-08-10 Arnold D. Robbins <arnold@skeeve.com>
+
+ Fix (apparently long-standing) problem with FIELDWIDTHS.
+ Thanks to Johannes Meixner <jsmeix@suse.de>.
+
+ * field.c (set_FIELDWIDTHS): Adjust calculations.
+
+ Fix problem with FPAT, reported by "T. X. G." <leopardie333@yahoo.com>
+
+ * awk.h (Regexp): Add new member 'non_empty'.
+ * field.c (fpat_parse_field): Save/restore local variable non_empty
+ from member in Regexp struct.
+
+2011-08-09 Arnold D. Robbins <arnold@skeeve.com>
+
+ Fix pty issue reported by "T. X. G." <leopardie333@yahoo.com>
+
+ * configure.ac: Check for setsid.
+ * awk.h: If not HAVE_SETSID define it as an empty macro.
+ * io.c (two_way_open): Call setsid if using pty's.
+
+2011-07-29 Eli Zaretskii <eliz@gnu.org>
+
+ * builtin.c (format_tree): Rename small -> small_flag,
+ big -> big_flag, bigbig -> bigbig_flag. Solves compilation errors
+ when building Gawk with libsigsegv on MS-Windows, see
+ https://lists.gnu.org/archive/html/bug-gawk/2011-07/msg00029.html.
+
+2011-07-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * builtin.c (do_sub): Revert to gawk 3.1 behavior for backslash
+ handling. It was stupid to think I could break compatibility.
+ Thanks to John Ellson <ellson@research.att.com> for raising
+ the issue.
+
+2011-07-26 John Haque <j.eh@mchsi.com>
+
+ * eval.c (r_interpret): In cases Op_var_assign and Op_field_assign,
+ include Op_K_getline_redir in the test for skipping the routine.
+
+2011-07-26 John Haque <j.eh@mchsi.com>
+
+ Fix handling of assign routines for 'getline var'.
+ Rework the previous fix for (g)sub.
+
+ * awk.h: New define assign_ctxt for use in Op_var_assign
+ and Op_field_assign opcodes. Remove define AFTER_ASSIGN.
+ * awkgram.y (snode, mk_getline): Initialize assign_ctxt.
+ * builtin.c (do_sub): Adjust to take only the first two
+ arguments.
+ * eval.c (r_interpret): In cases Op_var_assign and Op_field_assign,
+ skip the routine as appropriate. Adjust case Op_sub_builtin.
+ * main.c (get_spec_varname): New function.
+ * debug.c (print_instruction): Use the new function to get
+ special variable name.
+
+2011-07-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * main.c (varinit): Mark FPAT as NON_STANDARD. Thanks to
+ Wolfgang Seeberg <wolfgang.seeberg@yahoo.com> for the report.
+ * Makefile.am (EXTRA_DIST): Add po/README, per advice from
+ Bruno Haible.
+ * dfa.c: Sync with GNU grep.
+ * xalloc.h (xzalloc): New function, from GNU grep, for dfa.c.
+ * README: Note that bug list is really a real mailing list.
+
+2011-07-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Removed.
+ * configure.ac (AM_INIT_AUTOMAKE): Removed dist-bzip2 option, on
+ advice from Karl Berry.
+
+2011-07-15 John Haque <j.eh@mchsi.com>
+
+ * awk.h (Op_sub_builtin): New opcode.
+ (GSUB, GENSUB, AFTER_ASSIGN, LITERAL): New flags for
+ Op_sub_builtin.
+ * awkgram.y (struct tokentab): Change opcode to Op_sub_builtin
+ for sub, gsub and gensub.
+ (snode): Update processing of sub, gsub and gensub.
+ * builtin.c (do_sub, do_gsub, do_gensub): Nuke.
+ (sub_common): Renamed to do_sub. Relocate gensub argument
+ handling code from do_gensub to here; Simplify the code a
+ little bit.
+ * eval.c (r_interpret): Handle Op_sub_builtin. Avoid field
+ re-splitting or $0 rebuilding if (g)sub target string is
+ a field and no substitutions were done.
+ * pprint (profile.c): Add case for the new opcode.
+ * print_instruction (debug.c): Ditto.
+
+2011-07-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awk.h: Typo fix: "loner" --> longer. Thanks to Nelson Beebe.
+ * builtin.c (efwrite): Fix flushing test back to what it was
+ in 3.1.8. Thanks to Strefil <strefil@yandex.ru> for the problem
+ report.
+ * configure.ac: Bump version to 4.0.0a for stable branch.
+
2011-06-24 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (EXTRA_DIST): Add ChangeLog.0.
diff --git a/FUTURES b/FUTURES
index f5562f45..02574107 100644
--- a/FUTURES
+++ b/FUTURES
@@ -22,6 +22,8 @@ For 4.1
Merge xmlgawk XML extensions
+ Integrate MPFR to provide high precision arithmetic.
+
Continue code reviews / code cleanup
For 4.2
diff --git a/Makefile.am b/Makefile.am
index 855a5e7b..13ba6bd8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,9 +23,6 @@
## process this file with automake to produce Makefile.in
-# Make .bz2 files also.
-AUTOMAKE_OPTIONS = dist-bzip2
-
# This variable insures that aclocal runs
# correctly after changing configure.ac
ACLOCAL_AMFLAGS = -I m4
@@ -55,6 +52,7 @@ EXTRA_DIST = \
m4 \
missing \
missing_d \
+ po/README \
pc \
posix \
regcomp.c \
diff --git a/Makefile.in b/Makefile.in
index 2801c612..958b4a14 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -170,7 +170,7 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
@@ -299,9 +299,6 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-# Make .bz2 files also.
-AUTOMAKE_OPTIONS = dist-bzip2
-
# This variable insures that aclocal runs
# correctly after changing configure.ac
ACLOCAL_AMFLAGS = -I m4
@@ -331,6 +328,7 @@ EXTRA_DIST = \
m4 \
missing \
missing_d \
+ po/README \
pc \
posix \
regcomp.c \
@@ -765,6 +763,7 @@ distdir: $(DISTFILES)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
+
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
@@ -791,7 +790,6 @@ dist-zip: distdir
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
$(am__remove_distdir)
diff --git a/README b/README
index d1d97f5d..726438cf 100644
--- a/README
+++ b/README
@@ -65,9 +65,9 @@ the section in the manual on reporting bugs. Note that comp.lang.awk
is about the worst place to post a gawk bug report. Please, use the
mechanisms outlined in the manual.
-Email should be sent to bug-gawk@gnu.org. This address sends mail to
-Arnold Robbins and the general GNU utilities bug list. The advantage
-to using this address is that bug reports are archived at GNU Central.
+Email should be sent to bug-gawk@gnu.org. This is now a separate mailing
+list at GNU Central. The advantage to using this address is that bug
+reports are archived at GNU Central.
Arnold Robbins
diff --git a/README_d/ChangeLog b/README_d/ChangeLog
index 8aaeb418..945ba215 100644
--- a/README_d/ChangeLog
+++ b/README_d/ChangeLog
@@ -1,3 +1,11 @@
+2011-07-29 Arnold D. Robbins <arnold@skeeve.com>
+
+ * README.pc: Add download location info for DJGPP version.
+
+2011-07-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ * README.solaris: Info added on using the Solaris C compiler.
+
2011-06-23 Arnold D. Robbins <arnold@skeeve.com>
* ChangeLog.0: Rotated ChangeLog into this file.
diff --git a/README_d/README.pc b/README_d/README.pc
index d4645632..f8addb09 100644
--- a/README_d/README.pc
+++ b/README_d/README.pc
@@ -92,3 +92,30 @@ or
andreas.buening@nexgo.de (OS/2 version)
Support for Windows32 started in gawk-3.0.3.
+
+----
+From: Eric Pement <eric.pement@gmail.com>
+Newsgroups: comp.lang.awk
+Subject: djgpp Gawk ver. 4.0 available
+Date: Tue, 26 Jul 2011 06:42:00 -0700 (PDT)
+MS Windows users:
+
+The DJGPP compilation of GNU awk v4.0.0 is now available here:
+
+ ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk400b.zip
+
+For those who don't know the difference between the DGJPP compile and
+other versions compiled for Windows, the most noticeable to me is that
+it supports Unix-style use of 'single' and "double" quoting. Example:
+
+ [c:\tmp]> :: normal Windows awk requires complex quoting
+ [c:\tmp]> gawk "BEGIN{ print \"hello, world\" }"
+ hello, world
+ [c:\tmp]> :: DJGPP compile of awk permits Unix quoting in CMD
+ [c:\tmp]> djgawk 'BEGIN{ print "hello, world" }'
+ hello, world
+
+Syntactic sugar? Sure. But it makes life easier in a Windows
+environment, and without installing Cygwin ...
+
+Eric P.
diff --git a/README_d/README.solaris b/README_d/README.solaris
index 60b7a42a..639ca2c6 100644
--- a/README_d/README.solaris
+++ b/README_d/README.solaris
@@ -1,3 +1,16 @@
+Fri Jul 15 14:24:00 IDT 2011
+============================
+It looks like you need to use
+
+ -Xc -D_XPG4_2
+
+on Solaris 10 with the Sun C compiler when compiling gawk in order for
+libsigsegv to be found correctly, and
+
+ -Xc -D_XPG4_2 -Duint64_t=upad64_t
+
+on Solaris 9.
+
Tue Apr 20 11:33:20 IDT 2010
============================
The lc_num1 test fails on Solaris 10 systems. This is a bug with Solaris,
diff --git a/array.c b/array.c
index 84b9a913..82e99a4b 100644
--- a/array.c
+++ b/array.c
@@ -1266,7 +1266,7 @@ cmp_string(const NODE *n1, const NODE *n2)
const unsigned char *cp1 = (const unsigned char *) s1;
const unsigned char *cp2 = (const unsigned char *) s2;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
ret = strncasecmpmbs((const unsigned char *) cp1,
(const unsigned char *) cp2, lmin);
diff --git a/awk.h b/awk.h
index 25abf419..0c954723 100644
--- a/awk.h
+++ b/awk.h
@@ -67,7 +67,7 @@
#if defined(HAVE_STDARG_H)
#include <stdarg.h>
#else
-#error "gawk no loner supports <varargs.h>. Please update your compiler and runtime"
+#error "gawk no longer supports <varargs.h>. Please update your compiler and runtime"
#endif
#include <signal.h>
#include <time.h>
@@ -76,11 +76,9 @@
extern int errno;
#endif
-#ifndef NO_MBSUPPORT
#include "mbsupport.h" /* defines MBS_SUPPORT */
-#endif
-#if defined(MBS_SUPPORT)
+#if MBS_SUPPORT
/* We can handle multibyte strings. */
#include <wchar.h>
#include <wctype.h>
@@ -171,6 +169,10 @@ typedef int off_t;
#define setlocale(locale, val) /* nothing */
#endif /* HAVE_SETLOCALE */
+#ifndef HAVE_SETSID
+#define setsid() /* nothing */
+#endif /* HAVE_SETSID */
+
#if HAVE_MEMCPY_ULONG
extern char *memcpy_ulong(char *dest, const char *src, unsigned long l);
#define memcpy memcpy_ulong
@@ -201,6 +203,7 @@ typedef struct Regexp {
struct dfa *dfareg;
short dfa;
short has_anchor; /* speed up of avoid_dfa kludge, temporary */
+ short non_empty; /* for use in fpat_parse_field */
} Regexp;
#define RESTART(rp,s) (rp)->regs.start[0]
#define REEND(rp,s) (rp)->regs.end[0]
@@ -300,6 +303,7 @@ typedef struct exp_node {
struct {
union {
struct exp_node *lptr;
+ struct exp_instruction *li;
long ll;
} l;
union {
@@ -307,7 +311,7 @@ typedef struct exp_node {
Regexp *preg;
struct exp_node **av;
void (*uptr)(void);
- struct exp_instruction *iptr;
+ struct exp_instruction *ri;
} r;
union {
struct exp_node *extra;
@@ -330,7 +334,7 @@ typedef struct exp_node {
size_t slen;
long sref;
int idx;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
wchar_t *wsp;
size_t wslen;
#endif
@@ -387,7 +391,7 @@ typedef struct exp_node {
#define param vname
#define parmlist sub.nodep.x.param_list
-#define code_ptr sub.nodep.r.iptr
+#define code_ptr sub.nodep.r.ri
#define re_reg sub.nodep.r.preg
#define re_flags sub.nodep.reflags
@@ -408,12 +412,13 @@ typedef struct exp_node {
/* Node_frame: */
#define stack sub.nodep.r.av
#define func_node sub.nodep.x.extra
-#define reti sub.nodep.reflags
+#define prev_frame_size sub.nodep.reflags
+#define reti sub.nodep.l.li
/* Node_var: */
#define var_value lnode
#define var_update sub.nodep.r.uptr
-#define var_assign sub.nodep.x.aptr
+#define var_assign sub.nodep.x.aptr
/* Node_var_array: */
#define var_array sub.nodep.r.av
@@ -521,6 +526,7 @@ typedef enum opcodeval {
Op_K_nextfile,
Op_builtin,
+ Op_sub_builtin, /* sub, gsub and gensub */
Op_in_array, /* boolean test of membership in array */
/* function call instruction */
@@ -626,16 +632,32 @@ typedef struct exp_instruction {
#define target_jmp d.di
#define target_break x.xi
+/* Op_sub_builtin */
+#define sub_flags d.dl
+#define GSUB 0x01 /* builtin is gsub */
+#define GENSUB 0x02 /* builtin is gensub */
+#define LITERAL 0x04 /* target is a literal string */
+
+
/* Op_K_exit */
#define target_end d.di
#define target_atexit x.xi
-/* Op_newfile, Op_K_getline */
+/* Op_newfile, Op_K_getline, Op_nextfile */
#define target_endfile x.xi
+/* Op_newfile */
+#define target_get_record x.xi
+
+/* Op_get_record, Op_K_nextfile */
+#define target_newfile d.di
+
/* Op_K_getline */
#define target_beginfile d.di
+/* Op_get_record */
+#define has_endfile x.xl
+
/* Op_token */
#define lextok d.name
@@ -675,7 +697,7 @@ typedef struct exp_instruction {
#define func_body x.xn
/* Op_func_call */
-#define inrule d.dl
+#define inrule d.dl
/* Op_subscript */
#define sub_count d.dl
@@ -706,6 +728,9 @@ typedef struct exp_instruction {
/* Op_field_assign */
#define field_assign x.aptr
+/* Op_field_assign, Op_var_assign */
+#define assign_ctxt d.dl
+
/* Op_concat */
#define concat_flag d.dl
#define CSUBSEP 1
@@ -907,10 +932,10 @@ extern int exit_val;
extern int do_lint;
extern int do_lint_old;
#endif
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
extern int gawk_mb_cur_max;
#else
-extern const int gawk_mb_cur_max;
+#define gawk_mb_cur_max (1)
#endif
#if defined (HAVE_GETGROUPS) && defined(NGROUPS_MAX) && NGROUPS_MAX > 0
@@ -1181,9 +1206,7 @@ extern NODE *do_cos(int nargs);
extern NODE *do_rand(int nargs);
extern NODE *do_srand(int nargs);
extern NODE *do_match(int nargs);
-extern NODE *do_gsub(int nargs);
-extern NODE *do_sub(int nargs);
-extern NODE *do_gensub(int nargs);
+extern NODE *do_sub(int nargs, unsigned int flags);
extern NODE *format_tree(const char *, size_t, NODE **, long);
extern NODE *do_lshift(int nargs);
extern NODE *do_rshift(int nargs);
@@ -1196,7 +1219,7 @@ extern AWKNUM nondec2awknum(char *str, size_t len);
extern NODE *do_dcgettext(int nargs);
extern NODE *do_dcngettext(int nargs);
extern NODE *do_bindtextdomain(int nargs);
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
extern int strncasecmpmbs(const unsigned char *,
const unsigned char *, size_t);
#endif
@@ -1293,7 +1316,7 @@ extern char *find_source(const char *src, struct stat *stb, int *errcode);
extern NODE *do_getline_redir(int intovar, int redirtype);
extern NODE *do_getline(int intovar, IOBUF *iop);
extern struct redirect *getredirect(const char *str, int len);
-extern int inrec(IOBUF *iop);
+extern int inrec(IOBUF *iop, int *errcode);
extern int nextfile(IOBUF **curfile, int skipping);
/* main.c */
extern int arg_assign(char *arg, int initing);
@@ -1334,7 +1357,7 @@ extern NODE *r_make_str_node(const char *s, unsigned long len, int scan);
extern NODE *more_nodes(void);
extern void unref(NODE *tmp);
extern int parse_escape(const char **string_ptr);
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
extern NODE *str2wstr(NODE *n, size_t **ptr);
extern NODE *wstr2str(NODE *n);
#define force_wstring(n) str2wstr(n, NULL)
diff --git a/awkgram.c b/awkgram.c
index 4edec572..7a06667e 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -733,21 +733,21 @@ static const yytype_uint16 yyrline[] =
265, 273, 281, 283, 289, 290, 292, 318, 329, 340,
346, 355, 365, 367, 369, 380, 385, 386, 391, 390,
420, 419, 452, 454, 459, 460, 473, 478, 479, 483,
- 485, 487, 494, 584, 626, 668, 783, 790, 797, 807,
- 816, 825, 834, 849, 865, 864, 876, 888, 888, 984,
- 984, 1009, 1032, 1038, 1039, 1045, 1046, 1053, 1058, 1070,
- 1084, 1086, 1092, 1097, 1099, 1107, 1109, 1118, 1119, 1127,
- 1132, 1132, 1143, 1147, 1155, 1156, 1159, 1161, 1166, 1167,
- 1174, 1176, 1180, 1186, 1193, 1195, 1197, 1204, 1205, 1211,
- 1212, 1217, 1219, 1224, 1226, 1228, 1230, 1236, 1243, 1245,
- 1247, 1263, 1273, 1280, 1282, 1287, 1289, 1291, 1299, 1301,
- 1306, 1308, 1313, 1315, 1317, 1370, 1372, 1374, 1376, 1378,
- 1380, 1382, 1384, 1407, 1412, 1417, 1442, 1448, 1450, 1452,
- 1454, 1456, 1458, 1463, 1467, 1498, 1500, 1506, 1512, 1525,
- 1526, 1527, 1532, 1537, 1541, 1545, 1557, 1570, 1575, 1611,
- 1629, 1630, 1636, 1637, 1642, 1644, 1651, 1668, 1685, 1687,
- 1694, 1699, 1707, 1721, 1734, 1743, 1747, 1751, 1755, 1759,
- 1763, 1766, 1768, 1772, 1776, 1780
+ 485, 487, 494, 584, 626, 668, 781, 788, 795, 805,
+ 814, 823, 832, 847, 863, 862, 874, 886, 886, 982,
+ 982, 1007, 1030, 1036, 1037, 1043, 1044, 1051, 1056, 1068,
+ 1082, 1084, 1090, 1095, 1097, 1105, 1107, 1116, 1117, 1125,
+ 1130, 1130, 1141, 1145, 1153, 1154, 1157, 1159, 1164, 1165,
+ 1172, 1174, 1178, 1184, 1191, 1193, 1195, 1202, 1203, 1209,
+ 1210, 1215, 1217, 1222, 1224, 1226, 1228, 1234, 1241, 1243,
+ 1245, 1261, 1271, 1278, 1280, 1285, 1287, 1289, 1297, 1299,
+ 1304, 1306, 1311, 1313, 1315, 1368, 1370, 1372, 1374, 1376,
+ 1378, 1380, 1382, 1405, 1410, 1415, 1440, 1446, 1448, 1450,
+ 1452, 1454, 1456, 1461, 1465, 1496, 1498, 1504, 1510, 1523,
+ 1524, 1525, 1530, 1535, 1539, 1543, 1555, 1568, 1573, 1609,
+ 1627, 1628, 1634, 1635, 1640, 1642, 1649, 1666, 1683, 1685,
+ 1692, 1697, 1705, 1719, 1731, 1740, 1744, 1748, 1752, 1756,
+ 1760, 1763, 1765, 1769, 1773, 1777
};
#endif
@@ -2733,7 +2733,6 @@ regular_loop:
/* add update_FOO instruction if necessary */
if ((yyvsp[(4) - (8)])->array_var->type == Node_var && (yyvsp[(4) - (8)])->array_var->var_update) {
(void) list_append(ip, instruction(Op_var_update));
- ip->lasti->memory = (yyvsp[(4) - (8)])->array_var;
ip->lasti->update_var = (yyvsp[(4) - (8)])->array_var->var_update;
}
(void) list_append(ip, (yyvsp[(4) - (8)]));
@@ -2741,7 +2740,6 @@ regular_loop:
/* add set_FOO instruction if necessary */
if ((yyvsp[(4) - (8)])->array_var->type == Node_var && (yyvsp[(4) - (8)])->array_var->var_assign) {
(void) list_append(ip, instruction(Op_var_assign));
- ip->lasti->memory = (yyvsp[(4) - (8)])->array_var;
ip->lasti->assign_var = (yyvsp[(4) - (8)])->array_var->var_assign;
}
@@ -2768,7 +2766,7 @@ regular_loop:
case 46:
/* Line 1806 of yacc.c */
-#line 784 "awkgram.y"
+#line 782 "awkgram.y"
{
(yyval) = mk_for_loop((yyvsp[(1) - (12)]), (yyvsp[(3) - (12)]), (yyvsp[(6) - (12)]), (yyvsp[(9) - (12)]), (yyvsp[(12) - (12)]));
@@ -2780,7 +2778,7 @@ regular_loop:
case 47:
/* Line 1806 of yacc.c */
-#line 791 "awkgram.y"
+#line 789 "awkgram.y"
{
(yyval) = mk_for_loop((yyvsp[(1) - (11)]), (yyvsp[(3) - (11)]), (INSTRUCTION *) NULL, (yyvsp[(8) - (11)]), (yyvsp[(11) - (11)]));
@@ -2792,7 +2790,7 @@ regular_loop:
case 48:
/* Line 1806 of yacc.c */
-#line 798 "awkgram.y"
+#line 796 "awkgram.y"
{
if (do_profiling)
(yyval) = list_prepend((yyvsp[(1) - (1)]), instruction(Op_exec_count));
@@ -2804,7 +2802,7 @@ regular_loop:
case 49:
/* Line 1806 of yacc.c */
-#line 808 "awkgram.y"
+#line 806 "awkgram.y"
{
if (! break_allowed)
error_ln((yyvsp[(1) - (2)])->source_line,
@@ -2818,7 +2816,7 @@ regular_loop:
case 50:
/* Line 1806 of yacc.c */
-#line 817 "awkgram.y"
+#line 815 "awkgram.y"
{
if (! continue_allowed)
error_ln((yyvsp[(1) - (2)])->source_line,
@@ -2832,7 +2830,7 @@ regular_loop:
case 51:
/* Line 1806 of yacc.c */
-#line 826 "awkgram.y"
+#line 824 "awkgram.y"
{
/* if inside function (rule = 0), resolve context at run-time */
if (rule && rule != Rule)
@@ -2846,7 +2844,7 @@ regular_loop:
case 52:
/* Line 1806 of yacc.c */
-#line 835 "awkgram.y"
+#line 833 "awkgram.y"
{
if (do_traditional)
error_ln((yyvsp[(1) - (2)])->source_line,
@@ -2857,7 +2855,7 @@ regular_loop:
error_ln((yyvsp[(1) - (2)])->source_line,
_("`nextfile' used in %s action"), ruletab[rule]);
- (yyvsp[(1) - (2)])->target_jmp = ip_newfile;
+ (yyvsp[(1) - (2)])->target_newfile = ip_newfile;
(yyvsp[(1) - (2)])->target_endfile = ip_endfile;
(yyval) = list_create((yyvsp[(1) - (2)]));
}
@@ -2866,7 +2864,7 @@ regular_loop:
case 53:
/* Line 1806 of yacc.c */
-#line 850 "awkgram.y"
+#line 848 "awkgram.y"
{
/* Initialize the two possible jump targets, the actual target
* is resolved at run-time.
@@ -2886,7 +2884,7 @@ regular_loop:
case 54:
/* Line 1806 of yacc.c */
-#line 865 "awkgram.y"
+#line 863 "awkgram.y"
{
if (! can_return)
yyerror(_("`return' used outside function context"));
@@ -2896,7 +2894,7 @@ regular_loop:
case 55:
/* Line 1806 of yacc.c */
-#line 868 "awkgram.y"
+#line 866 "awkgram.y"
{
if ((yyvsp[(3) - (4)]) == NULL) {
(yyval) = list_create((yyvsp[(1) - (4)]));
@@ -2910,14 +2908,14 @@ regular_loop:
case 57:
/* Line 1806 of yacc.c */
-#line 888 "awkgram.y"
+#line 886 "awkgram.y"
{ in_print = TRUE; in_parens = 0; }
break;
case 58:
/* Line 1806 of yacc.c */
-#line 889 "awkgram.y"
+#line 887 "awkgram.y"
{
/*
* Optimization: plain `print' has no expression list, so $3 is null.
@@ -3017,14 +3015,14 @@ regular_loop:
case 59:
/* Line 1806 of yacc.c */
-#line 984 "awkgram.y"
+#line 982 "awkgram.y"
{ sub_counter = 0; }
break;
case 60:
/* Line 1806 of yacc.c */
-#line 985 "awkgram.y"
+#line 983 "awkgram.y"
{
char *arr = (yyvsp[(2) - (4)])->lextok;
@@ -3054,7 +3052,7 @@ regular_loop:
case 61:
/* Line 1806 of yacc.c */
-#line 1014 "awkgram.y"
+#line 1012 "awkgram.y"
{
static short warned = FALSE;
char *arr = (yyvsp[(3) - (4)])->lextok;
@@ -3078,35 +3076,35 @@ regular_loop:
case 62:
/* Line 1806 of yacc.c */
-#line 1033 "awkgram.y"
+#line 1031 "awkgram.y"
{ (yyval) = optimize_assignment((yyvsp[(1) - (1)])); }
break;
case 63:
/* Line 1806 of yacc.c */
-#line 1038 "awkgram.y"
+#line 1036 "awkgram.y"
{ (yyval) = NULL; }
break;
case 64:
/* Line 1806 of yacc.c */
-#line 1040 "awkgram.y"
+#line 1038 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 65:
/* Line 1806 of yacc.c */
-#line 1045 "awkgram.y"
+#line 1043 "awkgram.y"
{ (yyval) = NULL; }
break;
case 66:
/* Line 1806 of yacc.c */
-#line 1047 "awkgram.y"
+#line 1045 "awkgram.y"
{
if ((yyvsp[(1) - (2)]) == NULL)
(yyval) = list_create((yyvsp[(2) - (2)]));
@@ -3118,14 +3116,14 @@ regular_loop:
case 67:
/* Line 1806 of yacc.c */
-#line 1054 "awkgram.y"
+#line 1052 "awkgram.y"
{ (yyval) = NULL; }
break;
case 68:
/* Line 1806 of yacc.c */
-#line 1059 "awkgram.y"
+#line 1057 "awkgram.y"
{
INSTRUCTION *casestmt = (yyvsp[(5) - (5)]);
if ((yyvsp[(5) - (5)]) == NULL)
@@ -3142,7 +3140,7 @@ regular_loop:
case 69:
/* Line 1806 of yacc.c */
-#line 1071 "awkgram.y"
+#line 1069 "awkgram.y"
{
INSTRUCTION *casestmt = (yyvsp[(4) - (4)]);
if ((yyvsp[(4) - (4)]) == NULL)
@@ -3158,14 +3156,14 @@ regular_loop:
case 70:
/* Line 1806 of yacc.c */
-#line 1085 "awkgram.y"
+#line 1083 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 71:
/* Line 1806 of yacc.c */
-#line 1087 "awkgram.y"
+#line 1085 "awkgram.y"
{
(yyvsp[(2) - (2)])->memory->numbr = -(force_number((yyvsp[(2) - (2)])->memory));
bcfree((yyvsp[(1) - (2)]));
@@ -3176,7 +3174,7 @@ regular_loop:
case 72:
/* Line 1806 of yacc.c */
-#line 1093 "awkgram.y"
+#line 1091 "awkgram.y"
{
bcfree((yyvsp[(1) - (2)]));
(yyval) = (yyvsp[(2) - (2)]);
@@ -3186,14 +3184,14 @@ regular_loop:
case 73:
/* Line 1806 of yacc.c */
-#line 1098 "awkgram.y"
+#line 1096 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 74:
/* Line 1806 of yacc.c */
-#line 1100 "awkgram.y"
+#line 1098 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_push_re;
(yyval) = (yyvsp[(1) - (1)]);
@@ -3203,21 +3201,21 @@ regular_loop:
case 75:
/* Line 1806 of yacc.c */
-#line 1108 "awkgram.y"
+#line 1106 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 76:
/* Line 1806 of yacc.c */
-#line 1110 "awkgram.y"
+#line 1108 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 78:
/* Line 1806 of yacc.c */
-#line 1120 "awkgram.y"
+#line 1118 "awkgram.y"
{
(yyval) = (yyvsp[(2) - (3)]);
}
@@ -3226,7 +3224,7 @@ regular_loop:
case 79:
/* Line 1806 of yacc.c */
-#line 1127 "awkgram.y"
+#line 1125 "awkgram.y"
{
in_print = FALSE;
in_parens = 0;
@@ -3237,14 +3235,14 @@ regular_loop:
case 80:
/* Line 1806 of yacc.c */
-#line 1132 "awkgram.y"
+#line 1130 "awkgram.y"
{ in_print = FALSE; in_parens = 0; }
break;
case 81:
/* Line 1806 of yacc.c */
-#line 1133 "awkgram.y"
+#line 1131 "awkgram.y"
{
if ((yyvsp[(1) - (3)])->redir_type == redirect_twoway
&& (yyvsp[(3) - (3)])->lasti->opcode == Op_K_getline_redir
@@ -3257,7 +3255,7 @@ regular_loop:
case 82:
/* Line 1806 of yacc.c */
-#line 1144 "awkgram.y"
+#line 1142 "awkgram.y"
{
(yyval) = mk_condition((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]), (yyvsp[(6) - (6)]), NULL, NULL);
}
@@ -3266,7 +3264,7 @@ regular_loop:
case 83:
/* Line 1806 of yacc.c */
-#line 1149 "awkgram.y"
+#line 1147 "awkgram.y"
{
(yyval) = mk_condition((yyvsp[(3) - (9)]), (yyvsp[(1) - (9)]), (yyvsp[(6) - (9)]), (yyvsp[(7) - (9)]), (yyvsp[(9) - (9)]));
}
@@ -3275,14 +3273,14 @@ regular_loop:
case 88:
/* Line 1806 of yacc.c */
-#line 1166 "awkgram.y"
+#line 1164 "awkgram.y"
{ (yyval) = NULL; }
break;
case 89:
/* Line 1806 of yacc.c */
-#line 1168 "awkgram.y"
+#line 1166 "awkgram.y"
{
bcfree((yyvsp[(1) - (2)]));
(yyval) = (yyvsp[(2) - (2)]);
@@ -3292,7 +3290,7 @@ regular_loop:
case 92:
/* Line 1806 of yacc.c */
-#line 1181 "awkgram.y"
+#line 1179 "awkgram.y"
{
append_param((yyvsp[(1) - (1)])->lextok);
(yyvsp[(1) - (1)])->lextok = NULL;
@@ -3303,7 +3301,7 @@ regular_loop:
case 93:
/* Line 1806 of yacc.c */
-#line 1187 "awkgram.y"
+#line 1185 "awkgram.y"
{
append_param((yyvsp[(3) - (3)])->lextok);
(yyvsp[(3) - (3)])->lextok = NULL;
@@ -3315,63 +3313,63 @@ regular_loop:
case 94:
/* Line 1806 of yacc.c */
-#line 1194 "awkgram.y"
+#line 1192 "awkgram.y"
{ /* func_params = NULL; */ }
break;
case 95:
/* Line 1806 of yacc.c */
-#line 1196 "awkgram.y"
+#line 1194 "awkgram.y"
{ /* func_params = NULL; */ }
break;
case 96:
/* Line 1806 of yacc.c */
-#line 1198 "awkgram.y"
+#line 1196 "awkgram.y"
{ /* func_params = NULL; */ }
break;
case 97:
/* Line 1806 of yacc.c */
-#line 1204 "awkgram.y"
+#line 1202 "awkgram.y"
{ (yyval) = NULL; }
break;
case 98:
/* Line 1806 of yacc.c */
-#line 1206 "awkgram.y"
+#line 1204 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 99:
/* Line 1806 of yacc.c */
-#line 1211 "awkgram.y"
+#line 1209 "awkgram.y"
{ (yyval) = NULL; }
break;
case 100:
/* Line 1806 of yacc.c */
-#line 1213 "awkgram.y"
+#line 1211 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 101:
/* Line 1806 of yacc.c */
-#line 1218 "awkgram.y"
+#line 1216 "awkgram.y"
{ (yyval) = mk_expression_list(NULL, (yyvsp[(1) - (1)])); }
break;
case 102:
/* Line 1806 of yacc.c */
-#line 1220 "awkgram.y"
+#line 1218 "awkgram.y"
{
(yyval) = mk_expression_list((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
yyerrok;
@@ -3381,35 +3379,35 @@ regular_loop:
case 103:
/* Line 1806 of yacc.c */
-#line 1225 "awkgram.y"
+#line 1223 "awkgram.y"
{ (yyval) = NULL; }
break;
case 104:
/* Line 1806 of yacc.c */
-#line 1227 "awkgram.y"
+#line 1225 "awkgram.y"
{ (yyval) = NULL; }
break;
case 105:
/* Line 1806 of yacc.c */
-#line 1229 "awkgram.y"
+#line 1227 "awkgram.y"
{ (yyval) = NULL; }
break;
case 106:
/* Line 1806 of yacc.c */
-#line 1231 "awkgram.y"
+#line 1229 "awkgram.y"
{ (yyval) = NULL; }
break;
case 107:
/* Line 1806 of yacc.c */
-#line 1237 "awkgram.y"
+#line 1235 "awkgram.y"
{
if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[(2) - (3)])->source_line,
@@ -3421,21 +3419,21 @@ regular_loop:
case 108:
/* Line 1806 of yacc.c */
-#line 1244 "awkgram.y"
+#line 1242 "awkgram.y"
{ (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 109:
/* Line 1806 of yacc.c */
-#line 1246 "awkgram.y"
+#line 1244 "awkgram.y"
{ (yyval) = mk_boolean((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 110:
/* Line 1806 of yacc.c */
-#line 1248 "awkgram.y"
+#line 1246 "awkgram.y"
{
if ((yyvsp[(1) - (3)])->lasti->opcode == Op_match_rec)
warning_ln((yyvsp[(2) - (3)])->source_line,
@@ -3456,7 +3454,7 @@ regular_loop:
case 111:
/* Line 1806 of yacc.c */
-#line 1264 "awkgram.y"
+#line 1262 "awkgram.y"
{
if (do_lint_old)
warning_ln((yyvsp[(2) - (3)])->source_line,
@@ -3471,7 +3469,7 @@ regular_loop:
case 112:
/* Line 1806 of yacc.c */
-#line 1274 "awkgram.y"
+#line 1272 "awkgram.y"
{
if (do_lint && (yyvsp[(3) - (3)])->lasti->opcode == Op_match_rec)
lintwarn_ln((yyvsp[(2) - (3)])->source_line,
@@ -3483,35 +3481,35 @@ regular_loop:
case 113:
/* Line 1806 of yacc.c */
-#line 1281 "awkgram.y"
+#line 1279 "awkgram.y"
{ (yyval) = mk_condition((yyvsp[(1) - (5)]), (yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])); }
break;
case 114:
/* Line 1806 of yacc.c */
-#line 1283 "awkgram.y"
+#line 1281 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 115:
/* Line 1806 of yacc.c */
-#line 1288 "awkgram.y"
+#line 1286 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 116:
/* Line 1806 of yacc.c */
-#line 1290 "awkgram.y"
+#line 1288 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 117:
/* Line 1806 of yacc.c */
-#line 1292 "awkgram.y"
+#line 1290 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_assign_quotient;
(yyval) = (yyvsp[(2) - (2)]);
@@ -3521,49 +3519,49 @@ regular_loop:
case 118:
/* Line 1806 of yacc.c */
-#line 1300 "awkgram.y"
+#line 1298 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 119:
/* Line 1806 of yacc.c */
-#line 1302 "awkgram.y"
+#line 1300 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 120:
/* Line 1806 of yacc.c */
-#line 1307 "awkgram.y"
+#line 1305 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 121:
/* Line 1806 of yacc.c */
-#line 1309 "awkgram.y"
+#line 1307 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 122:
/* Line 1806 of yacc.c */
-#line 1314 "awkgram.y"
+#line 1312 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 123:
/* Line 1806 of yacc.c */
-#line 1316 "awkgram.y"
+#line 1314 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 124:
/* Line 1806 of yacc.c */
-#line 1318 "awkgram.y"
+#line 1316 "awkgram.y"
{
int count = 2;
int is_simple_var = FALSE;
@@ -3618,49 +3616,49 @@ regular_loop:
case 126:
/* Line 1806 of yacc.c */
-#line 1373 "awkgram.y"
+#line 1371 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 127:
/* Line 1806 of yacc.c */
-#line 1375 "awkgram.y"
+#line 1373 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 128:
/* Line 1806 of yacc.c */
-#line 1377 "awkgram.y"
+#line 1375 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 129:
/* Line 1806 of yacc.c */
-#line 1379 "awkgram.y"
+#line 1377 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 130:
/* Line 1806 of yacc.c */
-#line 1381 "awkgram.y"
+#line 1379 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 131:
/* Line 1806 of yacc.c */
-#line 1383 "awkgram.y"
+#line 1381 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 132:
/* Line 1806 of yacc.c */
-#line 1385 "awkgram.y"
+#line 1383 "awkgram.y"
{
/*
* In BEGINFILE/ENDFILE, allow `getline var < file'
@@ -3688,7 +3686,7 @@ regular_loop:
case 133:
/* Line 1806 of yacc.c */
-#line 1408 "awkgram.y"
+#line 1406 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_postincrement;
(yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
@@ -3698,7 +3696,7 @@ regular_loop:
case 134:
/* Line 1806 of yacc.c */
-#line 1413 "awkgram.y"
+#line 1411 "awkgram.y"
{
(yyvsp[(2) - (2)])->opcode = Op_postdecrement;
(yyval) = mk_assignment((yyvsp[(1) - (2)]), NULL, (yyvsp[(2) - (2)]));
@@ -3708,7 +3706,7 @@ regular_loop:
case 135:
/* Line 1806 of yacc.c */
-#line 1418 "awkgram.y"
+#line 1416 "awkgram.y"
{
if (do_lint_old) {
warning_ln((yyvsp[(4) - (5)])->source_line,
@@ -3733,7 +3731,7 @@ regular_loop:
case 136:
/* Line 1806 of yacc.c */
-#line 1443 "awkgram.y"
+#line 1441 "awkgram.y"
{
(yyval) = mk_getline((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]), (yyvsp[(1) - (4)]), (yyvsp[(2) - (4)])->redir_type);
bcfree((yyvsp[(2) - (4)]));
@@ -3743,49 +3741,49 @@ regular_loop:
case 137:
/* Line 1806 of yacc.c */
-#line 1449 "awkgram.y"
+#line 1447 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 138:
/* Line 1806 of yacc.c */
-#line 1451 "awkgram.y"
+#line 1449 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 139:
/* Line 1806 of yacc.c */
-#line 1453 "awkgram.y"
+#line 1451 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 140:
/* Line 1806 of yacc.c */
-#line 1455 "awkgram.y"
+#line 1453 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 141:
/* Line 1806 of yacc.c */
-#line 1457 "awkgram.y"
+#line 1455 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 142:
/* Line 1806 of yacc.c */
-#line 1459 "awkgram.y"
+#line 1457 "awkgram.y"
{ (yyval) = mk_binary((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), (yyvsp[(2) - (3)])); }
break;
case 143:
/* Line 1806 of yacc.c */
-#line 1464 "awkgram.y"
+#line 1462 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3794,7 +3792,7 @@ regular_loop:
case 144:
/* Line 1806 of yacc.c */
-#line 1468 "awkgram.y"
+#line 1466 "awkgram.y"
{
if ((yyvsp[(2) - (2)])->opcode == Op_match_rec) {
(yyvsp[(2) - (2)])->opcode = Op_nomatch;
@@ -3830,14 +3828,14 @@ regular_loop:
case 145:
/* Line 1806 of yacc.c */
-#line 1499 "awkgram.y"
+#line 1497 "awkgram.y"
{ (yyval) = (yyvsp[(2) - (3)]); }
break;
case 146:
/* Line 1806 of yacc.c */
-#line 1501 "awkgram.y"
+#line 1499 "awkgram.y"
{
(yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
if ((yyval) == NULL)
@@ -3848,7 +3846,7 @@ regular_loop:
case 147:
/* Line 1806 of yacc.c */
-#line 1507 "awkgram.y"
+#line 1505 "awkgram.y"
{
(yyval) = snode((yyvsp[(3) - (4)]), (yyvsp[(1) - (4)]));
if ((yyval) == NULL)
@@ -3859,7 +3857,7 @@ regular_loop:
case 148:
/* Line 1806 of yacc.c */
-#line 1513 "awkgram.y"
+#line 1511 "awkgram.y"
{
static short warned1 = FALSE;
@@ -3877,7 +3875,7 @@ regular_loop:
case 151:
/* Line 1806 of yacc.c */
-#line 1528 "awkgram.y"
+#line 1526 "awkgram.y"
{
(yyvsp[(1) - (2)])->opcode = Op_preincrement;
(yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
@@ -3887,7 +3885,7 @@ regular_loop:
case 152:
/* Line 1806 of yacc.c */
-#line 1533 "awkgram.y"
+#line 1531 "awkgram.y"
{
(yyvsp[(1) - (2)])->opcode = Op_predecrement;
(yyval) = mk_assignment((yyvsp[(2) - (2)]), NULL, (yyvsp[(1) - (2)]));
@@ -3897,7 +3895,7 @@ regular_loop:
case 153:
/* Line 1806 of yacc.c */
-#line 1538 "awkgram.y"
+#line 1536 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3906,7 +3904,7 @@ regular_loop:
case 154:
/* Line 1806 of yacc.c */
-#line 1542 "awkgram.y"
+#line 1540 "awkgram.y"
{
(yyval) = list_create((yyvsp[(1) - (1)]));
}
@@ -3915,7 +3913,7 @@ regular_loop:
case 155:
/* Line 1806 of yacc.c */
-#line 1546 "awkgram.y"
+#line 1544 "awkgram.y"
{
if ((yyvsp[(2) - (2)])->lasti->opcode == Op_push_i
&& ((yyvsp[(2) - (2)])->lasti->memory->flags & (STRCUR|STRING)) == 0) {
@@ -3932,7 +3930,7 @@ regular_loop:
case 156:
/* Line 1806 of yacc.c */
-#line 1558 "awkgram.y"
+#line 1556 "awkgram.y"
{
/*
* was: $$ = $2
@@ -3947,7 +3945,7 @@ regular_loop:
case 157:
/* Line 1806 of yacc.c */
-#line 1571 "awkgram.y"
+#line 1569 "awkgram.y"
{
func_use((yyvsp[(1) - (1)])->lasti->func_name, FUNC_USE);
(yyval) = (yyvsp[(1) - (1)]);
@@ -3957,7 +3955,7 @@ regular_loop:
case 158:
/* Line 1806 of yacc.c */
-#line 1576 "awkgram.y"
+#line 1574 "awkgram.y"
{
/* indirect function call */
INSTRUCTION *f, *t;
@@ -3995,7 +3993,7 @@ regular_loop:
case 159:
/* Line 1806 of yacc.c */
-#line 1612 "awkgram.y"
+#line 1610 "awkgram.y"
{
param_sanity((yyvsp[(3) - (4)]));
(yyvsp[(1) - (4)])->opcode = Op_func_call;
@@ -4014,42 +4012,42 @@ regular_loop:
case 160:
/* Line 1806 of yacc.c */
-#line 1629 "awkgram.y"
+#line 1627 "awkgram.y"
{ (yyval) = NULL; }
break;
case 161:
/* Line 1806 of yacc.c */
-#line 1631 "awkgram.y"
+#line 1629 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 162:
/* Line 1806 of yacc.c */
-#line 1636 "awkgram.y"
+#line 1634 "awkgram.y"
{ (yyval) = NULL; }
break;
case 163:
/* Line 1806 of yacc.c */
-#line 1638 "awkgram.y"
+#line 1636 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 164:
/* Line 1806 of yacc.c */
-#line 1643 "awkgram.y"
+#line 1641 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 165:
/* Line 1806 of yacc.c */
-#line 1645 "awkgram.y"
+#line 1643 "awkgram.y"
{
(yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
}
@@ -4058,7 +4056,7 @@ regular_loop:
case 166:
/* Line 1806 of yacc.c */
-#line 1652 "awkgram.y"
+#line 1650 "awkgram.y"
{
INSTRUCTION *ip = (yyvsp[(1) - (1)])->lasti;
int count = ip->sub_count; /* # of SUBSEP-seperated expressions */
@@ -4077,7 +4075,7 @@ regular_loop:
case 167:
/* Line 1806 of yacc.c */
-#line 1669 "awkgram.y"
+#line 1667 "awkgram.y"
{
INSTRUCTION *t = (yyvsp[(2) - (3)]);
if ((yyvsp[(2) - (3)]) == NULL) {
@@ -4096,14 +4094,14 @@ regular_loop:
case 168:
/* Line 1806 of yacc.c */
-#line 1686 "awkgram.y"
+#line 1684 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); }
break;
case 169:
/* Line 1806 of yacc.c */
-#line 1688 "awkgram.y"
+#line 1686 "awkgram.y"
{
(yyval) = list_merge((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
}
@@ -4112,14 +4110,14 @@ regular_loop:
case 170:
/* Line 1806 of yacc.c */
-#line 1695 "awkgram.y"
+#line 1693 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (2)]); }
break;
case 171:
/* Line 1806 of yacc.c */
-#line 1700 "awkgram.y"
+#line 1698 "awkgram.y"
{
char *var_name = (yyvsp[(1) - (1)])->lextok;
@@ -4132,7 +4130,7 @@ regular_loop:
case 172:
/* Line 1806 of yacc.c */
-#line 1708 "awkgram.y"
+#line 1706 "awkgram.y"
{
NODE *n;
@@ -4148,7 +4146,7 @@ regular_loop:
case 173:
/* Line 1806 of yacc.c */
-#line 1722 "awkgram.y"
+#line 1720 "awkgram.y"
{
INSTRUCTION *ip = (yyvsp[(1) - (1)])->nexti;
if (ip->opcode == Op_push
@@ -4156,7 +4154,6 @@ regular_loop:
&& ip->memory->var_update
) {
(yyval) = list_prepend((yyvsp[(1) - (1)]), instruction(Op_var_update));
- (yyval)->nexti->memory = ip->memory;
(yyval)->nexti->update_var = ip->memory->var_update;
} else
(yyval) = (yyvsp[(1) - (1)]);
@@ -4166,7 +4163,7 @@ regular_loop:
case 174:
/* Line 1806 of yacc.c */
-#line 1735 "awkgram.y"
+#line 1732 "awkgram.y"
{
(yyval) = list_append((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
if ((yyvsp[(3) - (3)]) != NULL)
@@ -4177,7 +4174,7 @@ regular_loop:
case 175:
/* Line 1806 of yacc.c */
-#line 1744 "awkgram.y"
+#line 1741 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_postincrement;
}
@@ -4186,7 +4183,7 @@ regular_loop:
case 176:
/* Line 1806 of yacc.c */
-#line 1748 "awkgram.y"
+#line 1745 "awkgram.y"
{
(yyvsp[(1) - (1)])->opcode = Op_postdecrement;
}
@@ -4195,49 +4192,49 @@ regular_loop:
case 177:
/* Line 1806 of yacc.c */
-#line 1751 "awkgram.y"
+#line 1748 "awkgram.y"
{ (yyval) = NULL; }
break;
case 179:
/* Line 1806 of yacc.c */
-#line 1759 "awkgram.y"
+#line 1756 "awkgram.y"
{ yyerrok; }
break;
case 180:
/* Line 1806 of yacc.c */
-#line 1763 "awkgram.y"
+#line 1760 "awkgram.y"
{ yyerrok; }
break;
case 183:
/* Line 1806 of yacc.c */
-#line 1772 "awkgram.y"
+#line 1769 "awkgram.y"
{ yyerrok; }
break;
case 184:
/* Line 1806 of yacc.c */
-#line 1776 "awkgram.y"
+#line 1773 "awkgram.y"
{ (yyval) = (yyvsp[(1) - (1)]); yyerrok; }
break;
case 185:
/* Line 1806 of yacc.c */
-#line 1780 "awkgram.y"
+#line 1777 "awkgram.y"
{ yyerrok; }
break;
/* Line 1806 of yacc.c */
-#line 4253 "awkgram.c"
+#line 4250 "awkgram.c"
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -4468,7 +4465,7 @@ yyreturn:
/* Line 2067 of yacc.c */
-#line 1782 "awkgram.y"
+#line 1779 "awkgram.y"
struct token {
@@ -4485,6 +4482,7 @@ struct token {
# define RESX 0x0800 /* Bell Labs Research extension */
# define BREAK 0x1000 /* break allowed inside */
# define CONTINUE 0x2000 /* continue allowed inside */
+
NODE *(*ptr)(int); /* function that implements this keyword */
};
@@ -4542,9 +4540,9 @@ static const struct token tokentab[] = {
{"for", Op_K_for, LEX_FOR, BREAK|CONTINUE, 0},
{"func", Op_func, LEX_FUNCTION, NOT_POSIX|NOT_OLD, 0},
{"function",Op_func, LEX_FUNCTION, NOT_OLD, 0},
-{"gensub", Op_builtin, LEX_BUILTIN, GAWKX|A(3)|A(4), do_gensub},
+{"gensub", Op_sub_builtin, LEX_BUILTIN, GAWKX|A(3)|A(4), 0},
{"getline", Op_K_getline_redir, LEX_GETLINE, NOT_OLD, 0},
-{"gsub", Op_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), do_gsub},
+{"gsub", Op_sub_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), 0},
{"if", Op_K_if, LEX_IF, 0, 0},
{"in", Op_symbol, LEX_IN, 0, 0},
{"include", Op_symbol, LEX_INCLUDE, GAWKX, 0},
@@ -4575,7 +4573,7 @@ static const struct token tokentab[] = {
#endif
{"strftime", Op_builtin, LEX_BUILTIN, GAWKX|A(0)|A(1)|A(2)|A(3), do_strftime},
{"strtonum", Op_builtin, LEX_BUILTIN, GAWKX|A(1), do_strtonum},
-{"sub", Op_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), do_sub},
+{"sub", Op_sub_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), 0},
{"substr", Op_builtin, LEX_BUILTIN, A(2)|A(3), do_substr},
{"switch", Op_K_switch, LEX_SWITCH, GAWKX|BREAK, 0},
{"system", Op_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_system},
@@ -4586,7 +4584,7 @@ static const struct token tokentab[] = {
{"xor", Op_builtin, LEX_BUILTIN, GAWKX|A(2), do_xor},
};
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/* Variable containing the current shift state. */
static mbstate_t cur_mbstate;
/* Ring buffer containing current characters. */
@@ -4823,8 +4821,7 @@ mk_program()
if (endfile_block == NULL)
endfile_block = list_create(ip_endfile);
else {
- extern int has_endfile; /* kludge for use in inrec (io.c) */
- has_endfile = TRUE;
+ ip_rec->has_endfile = TRUE;
(void) list_prepend(endfile_block, ip_endfile);
}
@@ -4916,10 +4913,12 @@ parse_program(INSTRUCTION **pcode)
else {
ip_endfile = instruction(Op_no_op);
ip_beginfile = instruction(Op_no_op);
- ip_newfile = instruction(Op_newfile); /* target for `nextfile' */
+ ip_rec = instruction(Op_get_record); /* target for `next', also ip_newfile */
+ ip_newfile = bcalloc(Op_newfile, 2, 0); /* target for `nextfile' */
ip_newfile->target_jmp = ip_end;
ip_newfile->target_endfile = ip_endfile;
- ip_rec = instruction(Op_get_record); /* target for `next' */
+ (ip_newfile + 1)->target_get_record = ip_rec;
+ ip_rec->target_newfile = ip_newfile;
ip_atexit = instruction(Op_atexit); /* target for `exit' in END block */
}
@@ -5344,7 +5343,7 @@ tokexpand()
/* nextc --- get the next input character */
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
static int
nextc(void)
@@ -5432,7 +5431,7 @@ nextc()
static inline void
pushback(void)
{
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1)
cur_ring_idx = (cur_ring_idx == 0)? RING_BUFFER_SIZE - 1 :
cur_ring_idx - 1;
@@ -5625,7 +5624,7 @@ retry:
thisline = NULL;
tok = tokstart;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max == 1 || nextc_is_1stbyte)
#endif
switch (c) {
@@ -6286,8 +6285,6 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
assert(nexp > 0);
}
- r->builtin = tokentab[idx].ptr;
-
/* check against how many args. are allowed for this builtin */
args_allowed = tokentab[idx].flags & ARGS;
if (args_allowed && (args_allowed & A(nexp)) == 0) {
@@ -6296,7 +6293,85 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
return NULL;
}
+ /* special processing for sub, gsub and gensub */
+
+ if (tokentab[idx].value == Op_sub_builtin) {
+ const char *operator = tokentab[idx].operator;
+
+ r->sub_flags = 0;
+
+ arg = subn->nexti; /* first arg list */
+ (void) mk_rexp(arg);
+
+ if (strcmp(operator, "gensub") != 0) {
+ /* sub and gsub */
+
+ if (strcmp(operator, "gsub") == 0)
+ r->sub_flags |= GSUB;
+
+ arg = arg->lasti->nexti; /* 2nd arg list */
+ if (nexp == 2) {
+ INSTRUCTION *expr;
+
+ expr = list_create(instruction(Op_push_i));
+ expr->nexti->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
+ (void) mk_expression_list(subn,
+ list_append(expr, instruction(Op_field_spec)));
+ }
+
+ arg = arg->lasti->nexti; /* third arg list */
+ ip = arg->lasti;
+ if (ip->opcode == Op_push_i) {
+ if (do_lint)
+ lintwarn(_("%s: string literal as last arg of substitute has no effect"),
+ operator);
+ r->sub_flags |= LITERAL;
+ } else {
+ if (make_assignable(ip) == NULL)
+ yyerror(_("%s third parameter is not a changeable object"),
+ operator);
+ else
+ ip->do_reference = TRUE;
+ }
+
+ r->expr_count = count_expressions(&subn, FALSE);
+ ip = subn->lasti;
+
+ (void) list_append(subn, r);
+
+ /* add after_assign code */
+ if (ip->opcode == Op_push_lhs && ip->memory->type == Node_var && ip->memory->var_assign) {
+ (void) list_append(subn, instruction(Op_var_assign));
+ subn->lasti->assign_ctxt = Op_sub_builtin;
+ subn->lasti->assign_var = ip->memory->var_assign;
+ } else if (ip->opcode == Op_field_spec_lhs) {
+ (void) list_append(subn, instruction(Op_field_assign));
+ subn->lasti->assign_ctxt = Op_sub_builtin;
+ subn->lasti->field_assign = (Func_ptr) 0;
+ ip->target_assign = subn->lasti;
+ }
+ return subn;
+
+ } else {
+ /* gensub */
+
+ r->sub_flags |= GENSUB;
+ if (nexp == 3) {
+ ip = instruction(Op_push_i);
+ ip->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
+ (void) mk_expression_list(subn,
+ list_append(list_create(ip), instruction(Op_field_spec)));
+ }
+
+ r->expr_count = count_expressions(&subn, FALSE);
+ return list_append(subn, r);
+ }
+ }
+
+ r->builtin = tokentab[idx].ptr;
+
/* special case processing for a few builtins */
+
if (r->builtin == do_length) {
if (nexp == 0) {
/* no args. Use $0 */
@@ -6338,71 +6413,6 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
if (/*ip == arg->nexti && */ ip->opcode == Op_push)
ip->opcode = Op_push_array;
}
- } else if (r->builtin == do_sub || r->builtin == do_gsub) {
- int literal = FALSE;
-
- arg = subn->nexti; /* first arg list */
- (void) mk_rexp(arg);
-
- arg = arg->lasti->nexti; /* 2nd arg list */
- if (nexp == 2) {
- INSTRUCTION *expr;
- expr = list_create(instruction(Op_push_i));
- expr->nexti->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
- (void) mk_expression_list(subn,
- list_append(expr, instruction(Op_field_spec)));
- }
-
- arg = arg->lasti->nexti; /* third arg list */
- ip = arg->lasti;
- if (ip->opcode == Op_push_i) {
- if (do_lint)
- lintwarn(_("%s: string literal as last arg of substitute has no effect"),
- (r->builtin == do_sub) ? "sub" : "gsub");
- literal = TRUE;
- } else {
- if (make_assignable(ip) == NULL)
- yyerror(_("%s third parameter is not a changeable object"),
- (r->builtin == do_sub) ? "sub" : "gsub");
- else
- ip->do_reference = TRUE;
- }
-
- /* kludge: This is one of the few cases
- * when we need to know the type of item on stack.
- * In case of string literal as the last argument,
- * pass 4 as # of args (See sub_common code in builtin.c).
- * Other cases like length(array or scalar) seem
- * to work out ok.
- */
-
- r->expr_count = count_expressions(&subn, FALSE) + !!literal;
- ip = subn->lasti;
-
- (void) list_append(subn, r);
-
- /* add after_assign bytecode(s) */
- if (ip->opcode == Op_push_lhs && ip->memory->type == Node_var && ip->memory->var_assign) {
- (void) list_append(subn, instruction(Op_var_assign));
- subn->lasti->memory = ip->memory;
- subn->lasti->assign_var = ip->memory->var_assign;
- } else if (ip->opcode == Op_field_spec_lhs) {
- (void) list_append(subn, instruction(Op_field_assign));
- subn->lasti->field_assign = (Func_ptr) 0;
- ip->target_assign = subn->lasti;
- }
- return subn;
- } else if (r->builtin == do_gensub) {
- if (nexp == 3) {
- arg = subn->nexti->lasti->nexti->lasti->nexti; /* 3rd arg list */
- ip = instruction(Op_push_i);
- ip->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
- (void) mk_expression_list(subn,
- list_append(list_create(ip),
- instruction(Op_field_spec)));
- }
- arg = subn->nexti; /* first arg list */
- (void) mk_rexp(arg);
} else if (r->builtin == do_split) {
arg = subn->nexti->lasti->nexti; /* 2nd arg list */
ip = arg->lasti;
@@ -7803,7 +7813,6 @@ mk_assignment(INSTRUCTION *lhs, INSTRUCTION *rhs, INSTRUCTION *op)
* for a special variable.
*/
(void) list_append(ip, instruction(Op_var_assign));
- ip->lasti->memory = tp->memory;
ip->lasti->assign_var = tp->memory->var_assign;
} else if (tp->opcode == Op_field_spec_lhs) {
(void) list_append(ip, instruction(Op_field_assign));
@@ -8000,10 +8009,11 @@ mk_getline(INSTRUCTION *op, INSTRUCTION *var, INSTRUCTION *redir, int redirtype)
&& tp->memory->var_assign
) {
asgn = instruction(Op_var_assign);
- asgn->memory = tp->memory;
+ asgn->assign_ctxt = op->opcode;
asgn->assign_var = tp->memory->var_assign;
} else if (tp->opcode == Op_field_spec_lhs) {
asgn = instruction(Op_field_assign);
+ asgn->assign_ctxt = op->opcode;
asgn->field_assign = (Func_ptr) 0; /* determined at run time */
tp->target_assign = asgn;
}
diff --git a/awkgram.y b/awkgram.y
index 6b28b520..69f74cab 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -750,7 +750,6 @@ regular_loop:
/* add update_FOO instruction if necessary */
if ($4->array_var->type == Node_var && $4->array_var->var_update) {
(void) list_append(ip, instruction(Op_var_update));
- ip->lasti->memory = $4->array_var;
ip->lasti->update_var = $4->array_var->var_update;
}
(void) list_append(ip, $4);
@@ -758,7 +757,6 @@ regular_loop:
/* add set_FOO instruction if necessary */
if ($4->array_var->type == Node_var && $4->array_var->var_assign) {
(void) list_append(ip, instruction(Op_var_assign));
- ip->lasti->memory = $4->array_var;
ip->lasti->assign_var = $4->array_var->var_assign;
}
@@ -842,7 +840,7 @@ non_compound_stmt
error_ln($1->source_line,
_("`nextfile' used in %s action"), ruletab[rule]);
- $1->target_jmp = ip_newfile;
+ $1->target_newfile = ip_newfile;
$1->target_endfile = ip_endfile;
$$ = list_create($1);
}
@@ -1726,7 +1724,6 @@ variable
&& ip->memory->var_update
) {
$$ = list_prepend($1, instruction(Op_var_update));
- $$->nexti->memory = ip->memory;
$$->nexti->update_var = ip->memory->var_update;
} else
$$ = $1;
@@ -1795,6 +1792,7 @@ struct token {
# define RESX 0x0800 /* Bell Labs Research extension */
# define BREAK 0x1000 /* break allowed inside */
# define CONTINUE 0x2000 /* continue allowed inside */
+
NODE *(*ptr)(int); /* function that implements this keyword */
};
@@ -1852,9 +1850,9 @@ static const struct token tokentab[] = {
{"for", Op_K_for, LEX_FOR, BREAK|CONTINUE, 0},
{"func", Op_func, LEX_FUNCTION, NOT_POSIX|NOT_OLD, 0},
{"function",Op_func, LEX_FUNCTION, NOT_OLD, 0},
-{"gensub", Op_builtin, LEX_BUILTIN, GAWKX|A(3)|A(4), do_gensub},
+{"gensub", Op_sub_builtin, LEX_BUILTIN, GAWKX|A(3)|A(4), 0},
{"getline", Op_K_getline_redir, LEX_GETLINE, NOT_OLD, 0},
-{"gsub", Op_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), do_gsub},
+{"gsub", Op_sub_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), 0},
{"if", Op_K_if, LEX_IF, 0, 0},
{"in", Op_symbol, LEX_IN, 0, 0},
{"include", Op_symbol, LEX_INCLUDE, GAWKX, 0},
@@ -1885,7 +1883,7 @@ static const struct token tokentab[] = {
#endif
{"strftime", Op_builtin, LEX_BUILTIN, GAWKX|A(0)|A(1)|A(2)|A(3), do_strftime},
{"strtonum", Op_builtin, LEX_BUILTIN, GAWKX|A(1), do_strtonum},
-{"sub", Op_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), do_sub},
+{"sub", Op_sub_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), 0},
{"substr", Op_builtin, LEX_BUILTIN, A(2)|A(3), do_substr},
{"switch", Op_K_switch, LEX_SWITCH, GAWKX|BREAK, 0},
{"system", Op_builtin, LEX_BUILTIN, NOT_OLD|A(1), do_system},
@@ -1896,7 +1894,7 @@ static const struct token tokentab[] = {
{"xor", Op_builtin, LEX_BUILTIN, GAWKX|A(2), do_xor},
};
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/* Variable containing the current shift state. */
static mbstate_t cur_mbstate;
/* Ring buffer containing current characters. */
@@ -2133,8 +2131,7 @@ mk_program()
if (endfile_block == NULL)
endfile_block = list_create(ip_endfile);
else {
- extern int has_endfile; /* kludge for use in inrec (io.c) */
- has_endfile = TRUE;
+ ip_rec->has_endfile = TRUE;
(void) list_prepend(endfile_block, ip_endfile);
}
@@ -2226,10 +2223,12 @@ parse_program(INSTRUCTION **pcode)
else {
ip_endfile = instruction(Op_no_op);
ip_beginfile = instruction(Op_no_op);
- ip_newfile = instruction(Op_newfile); /* target for `nextfile' */
+ ip_rec = instruction(Op_get_record); /* target for `next', also ip_newfile */
+ ip_newfile = bcalloc(Op_newfile, 2, 0); /* target for `nextfile' */
ip_newfile->target_jmp = ip_end;
ip_newfile->target_endfile = ip_endfile;
- ip_rec = instruction(Op_get_record); /* target for `next' */
+ (ip_newfile + 1)->target_get_record = ip_rec;
+ ip_rec->target_newfile = ip_newfile;
ip_atexit = instruction(Op_atexit); /* target for `exit' in END block */
}
@@ -2654,7 +2653,7 @@ tokexpand()
/* nextc --- get the next input character */
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
static int
nextc(void)
@@ -2742,7 +2741,7 @@ nextc()
static inline void
pushback(void)
{
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1)
cur_ring_idx = (cur_ring_idx == 0)? RING_BUFFER_SIZE - 1 :
cur_ring_idx - 1;
@@ -2935,7 +2934,7 @@ retry:
thisline = NULL;
tok = tokstart;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max == 1 || nextc_is_1stbyte)
#endif
switch (c) {
@@ -3596,8 +3595,6 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
assert(nexp > 0);
}
- r->builtin = tokentab[idx].ptr;
-
/* check against how many args. are allowed for this builtin */
args_allowed = tokentab[idx].flags & ARGS;
if (args_allowed && (args_allowed & A(nexp)) == 0) {
@@ -3606,7 +3603,85 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
return NULL;
}
+ /* special processing for sub, gsub and gensub */
+
+ if (tokentab[idx].value == Op_sub_builtin) {
+ const char *operator = tokentab[idx].operator;
+
+ r->sub_flags = 0;
+
+ arg = subn->nexti; /* first arg list */
+ (void) mk_rexp(arg);
+
+ if (strcmp(operator, "gensub") != 0) {
+ /* sub and gsub */
+
+ if (strcmp(operator, "gsub") == 0)
+ r->sub_flags |= GSUB;
+
+ arg = arg->lasti->nexti; /* 2nd arg list */
+ if (nexp == 2) {
+ INSTRUCTION *expr;
+
+ expr = list_create(instruction(Op_push_i));
+ expr->nexti->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
+ (void) mk_expression_list(subn,
+ list_append(expr, instruction(Op_field_spec)));
+ }
+
+ arg = arg->lasti->nexti; /* third arg list */
+ ip = arg->lasti;
+ if (ip->opcode == Op_push_i) {
+ if (do_lint)
+ lintwarn(_("%s: string literal as last arg of substitute has no effect"),
+ operator);
+ r->sub_flags |= LITERAL;
+ } else {
+ if (make_assignable(ip) == NULL)
+ yyerror(_("%s third parameter is not a changeable object"),
+ operator);
+ else
+ ip->do_reference = TRUE;
+ }
+
+ r->expr_count = count_expressions(&subn, FALSE);
+ ip = subn->lasti;
+
+ (void) list_append(subn, r);
+
+ /* add after_assign code */
+ if (ip->opcode == Op_push_lhs && ip->memory->type == Node_var && ip->memory->var_assign) {
+ (void) list_append(subn, instruction(Op_var_assign));
+ subn->lasti->assign_ctxt = Op_sub_builtin;
+ subn->lasti->assign_var = ip->memory->var_assign;
+ } else if (ip->opcode == Op_field_spec_lhs) {
+ (void) list_append(subn, instruction(Op_field_assign));
+ subn->lasti->assign_ctxt = Op_sub_builtin;
+ subn->lasti->field_assign = (Func_ptr) 0;
+ ip->target_assign = subn->lasti;
+ }
+ return subn;
+
+ } else {
+ /* gensub */
+
+ r->sub_flags |= GENSUB;
+ if (nexp == 3) {
+ ip = instruction(Op_push_i);
+ ip->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
+ (void) mk_expression_list(subn,
+ list_append(list_create(ip), instruction(Op_field_spec)));
+ }
+
+ r->expr_count = count_expressions(&subn, FALSE);
+ return list_append(subn, r);
+ }
+ }
+
+ r->builtin = tokentab[idx].ptr;
+
/* special case processing for a few builtins */
+
if (r->builtin == do_length) {
if (nexp == 0) {
/* no args. Use $0 */
@@ -3648,71 +3723,6 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
if (/*ip == arg->nexti && */ ip->opcode == Op_push)
ip->opcode = Op_push_array;
}
- } else if (r->builtin == do_sub || r->builtin == do_gsub) {
- int literal = FALSE;
-
- arg = subn->nexti; /* first arg list */
- (void) mk_rexp(arg);
-
- arg = arg->lasti->nexti; /* 2nd arg list */
- if (nexp == 2) {
- INSTRUCTION *expr;
- expr = list_create(instruction(Op_push_i));
- expr->nexti->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
- (void) mk_expression_list(subn,
- list_append(expr, instruction(Op_field_spec)));
- }
-
- arg = arg->lasti->nexti; /* third arg list */
- ip = arg->lasti;
- if (ip->opcode == Op_push_i) {
- if (do_lint)
- lintwarn(_("%s: string literal as last arg of substitute has no effect"),
- (r->builtin == do_sub) ? "sub" : "gsub");
- literal = TRUE;
- } else {
- if (make_assignable(ip) == NULL)
- yyerror(_("%s third parameter is not a changeable object"),
- (r->builtin == do_sub) ? "sub" : "gsub");
- else
- ip->do_reference = TRUE;
- }
-
- /* kludge: This is one of the few cases
- * when we need to know the type of item on stack.
- * In case of string literal as the last argument,
- * pass 4 as # of args (See sub_common code in builtin.c).
- * Other cases like length(array or scalar) seem
- * to work out ok.
- */
-
- r->expr_count = count_expressions(&subn, FALSE) + !!literal;
- ip = subn->lasti;
-
- (void) list_append(subn, r);
-
- /* add after_assign bytecode(s) */
- if (ip->opcode == Op_push_lhs && ip->memory->type == Node_var && ip->memory->var_assign) {
- (void) list_append(subn, instruction(Op_var_assign));
- subn->lasti->memory = ip->memory;
- subn->lasti->assign_var = ip->memory->var_assign;
- } else if (ip->opcode == Op_field_spec_lhs) {
- (void) list_append(subn, instruction(Op_field_assign));
- subn->lasti->field_assign = (Func_ptr) 0;
- ip->target_assign = subn->lasti;
- }
- return subn;
- } else if (r->builtin == do_gensub) {
- if (nexp == 3) {
- arg = subn->nexti->lasti->nexti->lasti->nexti; /* 3rd arg list */
- ip = instruction(Op_push_i);
- ip->memory = mk_number((AWKNUM) 0.0, (PERM|NUMCUR|NUMBER));
- (void) mk_expression_list(subn,
- list_append(list_create(ip),
- instruction(Op_field_spec)));
- }
- arg = subn->nexti; /* first arg list */
- (void) mk_rexp(arg);
} else if (r->builtin == do_split) {
arg = subn->nexti->lasti->nexti; /* 2nd arg list */
ip = arg->lasti;
@@ -5113,7 +5123,6 @@ mk_assignment(INSTRUCTION *lhs, INSTRUCTION *rhs, INSTRUCTION *op)
* for a special variable.
*/
(void) list_append(ip, instruction(Op_var_assign));
- ip->lasti->memory = tp->memory;
ip->lasti->assign_var = tp->memory->var_assign;
} else if (tp->opcode == Op_field_spec_lhs) {
(void) list_append(ip, instruction(Op_field_assign));
@@ -5310,10 +5319,11 @@ mk_getline(INSTRUCTION *op, INSTRUCTION *var, INSTRUCTION *redir, int redirtype)
&& tp->memory->var_assign
) {
asgn = instruction(Op_var_assign);
- asgn->memory = tp->memory;
+ asgn->assign_ctxt = op->opcode;
asgn->assign_var = tp->memory->var_assign;
} else if (tp->opcode == Op_field_spec_lhs) {
asgn = instruction(Op_field_assign);
+ asgn->assign_ctxt = op->opcode;
asgn->field_assign = (Func_ptr) 0; /* determined at run time */
tp->target_assign = asgn;
}
diff --git a/awklib/eg/lib/quicksort.awk b/awklib/eg/lib/quicksort.awk
index aa67736d..7a635d6f 100644
--- a/awklib/eg/lib/quicksort.awk
+++ b/awklib/eg/lib/quicksort.awk
@@ -7,7 +7,6 @@
# or almost any algorithms or computer science text
#
# Adapted from K&R-II, page 110
-end ignore
function quicksort(data, left, right, less_than, i, last)
{
diff --git a/builtin.c b/builtin.c
index 724ea6df..53800fc2 100644
--- a/builtin.c
+++ b/builtin.c
@@ -72,7 +72,6 @@ extern NODE **fields_arr;
extern int output_is_tty;
extern FILE *output_fp;
-static NODE *sub_common(int nargs, long how_many, int backdigs);
#define POP_TWO_SCALARS(s1, s2) \
s2 = POP_SCALAR(); \
@@ -105,7 +104,7 @@ efwrite(const void *ptr,
if (fwrite(ptr, size, count, fp) != count)
goto wrerror;
if (flush
- && (output_is_tty
+ && ((fp == stdout && output_is_tty)
|| (rp != NULL && (rp->flag & RED_NOBUF)))) {
fflush(fp);
if (ferror(fp))
@@ -215,7 +214,7 @@ do_fflush(int nargs)
return make_number((AWKNUM) status);
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/* strncasecmpmbs --- like strncasecmp (multibyte string version) */
int
@@ -313,7 +312,7 @@ do_index(int nargs)
const char *p1, *p2;
size_t l1, l2;
long ret;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
int do_single_byte = FALSE;
mbstate_t mbs1, mbs2;
@@ -349,7 +348,7 @@ do_index(int nargs)
goto out;
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
s1 = force_wstring(s1);
s2 = force_wstring(s2);
@@ -367,7 +366,7 @@ do_index(int nargs)
while (l1 > 0) {
if (l2 > l1)
break;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (! do_single_byte && gawk_mb_cur_max > 1) {
const wchar_t *pos;
@@ -390,7 +389,7 @@ do_index(int nargs)
}
l1--;
p1++;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
}
#endif
}
@@ -403,7 +402,7 @@ do_index(int nargs)
ret = 1 + s1->stlen - l1;
break;
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (! do_single_byte && gawk_mb_cur_max > 1) {
const wchar_t *pos;
@@ -501,7 +500,7 @@ do_length(int nargs)
lintwarn(_("length: received non-string argument"));
(void) force_string(tmp);
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
tmp = force_wstring(tmp);
len = tmp->wstlen;
@@ -606,7 +605,7 @@ format_tree(
NODE *arg;
long fw, prec, argnum;
int used_dollar;
- int lj, alt, big, bigbig, small, have_prec, need_format;
+ int lj, alt, big_flag, bigbig_flag, small_flag, have_prec, need_format;
long *cur = NULL;
uintmax_t uval;
int sgn;
@@ -726,7 +725,7 @@ format_tree(
signchar = FALSE;
zero_flag = FALSE;
quote_flag = FALSE;
- lj = alt = big = bigbig = small = FALSE;
+ lj = alt = big_flag = bigbig_flag = small_flag = FALSE;
fill = sp;
cp = cend;
chbuf = lchbuf;
@@ -908,7 +907,7 @@ check_pos:
goto retry;
#endif
case 'l':
- if (big)
+ if (big_flag)
break;
else {
static short warned = FALSE;
@@ -922,10 +921,10 @@ check_pos:
goto out;
}
}
- big = TRUE;
+ big_flag = TRUE;
goto retry;
case 'L':
- if (bigbig)
+ if (bigbig_flag)
break;
else {
static short warned = FALSE;
@@ -939,10 +938,10 @@ check_pos:
goto out;
}
}
- bigbig = TRUE;
+ bigbig_flag = TRUE;
goto retry;
case 'h':
- if (small)
+ if (small_flag)
break;
else {
static short warned = FALSE;
@@ -956,7 +955,7 @@ check_pos:
goto out;
}
}
- small = TRUE;
+ small_flag = TRUE;
goto retry;
case 'c':
need_format = FALSE;
@@ -1008,7 +1007,7 @@ out0:
* used to work? 6/2003.)
*/
cp = arg->stptr;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/*
* First character can be multiple bytes if
* it's a multibyte character. Grr.
@@ -1539,7 +1538,7 @@ do_substr(int nargs)
if (nargs == 2) { /* third arg. missing */
/* use remainder of string */
length = t1->stlen - indx; /* default to bytes */
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
t1 = force_wstring(t1);
if (t1->wstlen > 0) /* use length of wide char string if we have one */
@@ -1558,7 +1557,7 @@ do_substr(int nargs)
}
/* get total len of input string, for following checks */
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
t1 = force_wstring(t1);
src_len = t1->wstlen;
@@ -1581,7 +1580,7 @@ do_substr(int nargs)
length = src_len - indx;
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/* force_wstring() already called */
if (gawk_mb_cur_max == 1 || t1->wstlen == t1->stlen)
/* single byte case */
@@ -1941,7 +1940,7 @@ do_print_rec(int nargs, int redirtype)
fflush(rp->fp);
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/* is_wupper --- function version of iswupper for passing function pointers */
@@ -2030,7 +2029,7 @@ do_tolower(int nargs)
if (isupper(*cp))
*cp = tolower(*cp);
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
else {
force_wstring(t2);
wide_tolower(t2->wstptr, t2->wstlen);
@@ -2064,7 +2063,7 @@ do_toupper(int nargs)
if (islower(*cp))
*cp = toupper(*cp);
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
else {
force_wstring(t2);
wide_toupper(t2->wstptr, t2->wstlen);
@@ -2220,7 +2219,7 @@ do_match(int nargs)
size_t *wc_indices = NULL;
rlength = REEND(rp, t1->stptr) - RESTART(rp, t1->stptr); /* byte length */
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (rlength > 0 && gawk_mb_cur_max > 1) {
t1 = str2wstr(t1, & wc_indices);
rlength = wc_indices[rstart + rlength - 1] - wc_indices[rstart] + 1;
@@ -2248,7 +2247,7 @@ do_match(int nargs)
start = t1->stptr + s;
subpat_start = s;
subpat_len = len = SUBPATEND(rp, t1->stptr, ii) - s;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (len > 0 && gawk_mb_cur_max > 1) {
subpat_start = wc_indices[s];
subpat_len = wc_indices[s + len - 1] - subpat_start + 1;
@@ -2319,7 +2318,7 @@ do_match(int nargs)
return make_number((AWKNUM) rstart);
}
-/* sub_common --- the common code (does the work) for sub, gsub, and gensub */
+/* do_sub --- do the work for sub, gsub, and gensub */
/*
* Gsub can be tricksy; particularly when handling the case of null strings.
@@ -2412,12 +2411,12 @@ do_match(int nargs)
* NB: `howmany' conflicts with a SunOS 4.x macro in <sys/param.h>.
*/
-static NODE *
-sub_common(int nargs, long how_many, int backdigs)
+NODE *
+do_sub(int nargs, unsigned int flags)
{
char *scan;
char *bp, *cp;
- char *buf;
+ char *buf = NULL;
size_t buflen;
char *matchend;
size_t len;
@@ -2434,38 +2433,77 @@ sub_common(int nargs, long how_many, int backdigs)
NODE *s; /* subst. pattern */
NODE *t; /* string to make sub. in; $0 if none given */
NODE *tmp;
- NODE **lhs;
- int global = (how_many == -1);
+ NODE **lhs = NULL;
+ long how_many = 1; /* one substitution for sub, also gensub default */
+ int global;
long current;
int lastmatchnonzero;
char *mb_indices = NULL;
-
- tmp = PEEK(2); /* take care of regexp early, in case re_update is fatal */
- rp = re_update(tmp);
- /* original string */
- if (nargs == 4) { /* kludge: no of items on stack is really 3,
- * See snode(..) in awkgram.y
- */
- lhs = NULL;
- t = POP_STRING();
+ if ((flags & GENSUB) != 0) {
+ double d;
+ NODE *t1;
+
+ tmp = PEEK(3);
+ rp = re_update(tmp);
+
+ t = POP_STRING(); /* original string */
+
+ t1 = POP_SCALAR(); /* value of global flag */
+ if ((t1->flags & (STRCUR|STRING)) != 0) {
+ if (t1->stlen > 0 && (t1->stptr[0] == 'g' || t1->stptr[0] == 'G'))
+ how_many = -1;
+ else {
+ d = force_number(t1);
+
+ if ((t1->flags & NUMCUR) != 0)
+ goto set_how_many;
+
+ how_many = 1;
+ }
+ } else {
+ d = force_number(t1);
+set_how_many:
+ if (d < 1)
+ how_many = 1;
+ else if (d < LONG_MAX)
+ how_many = d;
+ else
+ how_many = LONG_MAX;
+ if (d == 0)
+ warning(_("gensub: third argument of 0 treated as 1"));
+ }
+ DEREF(t1);
+
} else {
- lhs = POP_ADDRESS();
- t = force_string(*lhs);
+
+ /* take care of regexp early, in case re_update is fatal */
+
+ tmp = PEEK(2);
+ rp = re_update(tmp);
+
+ if ((flags & GSUB) != 0)
+ how_many = -1;
+
+ /* original string */
+
+ if ((flags & LITERAL) != 0)
+ t = POP_STRING();
+ else {
+ lhs = POP_ADDRESS();
+ t = force_string(*lhs);
+ }
}
+ global = (how_many == -1);
- s = POP_STRING(); /* replacement text */
+ s = POP_STRING(); /* replacement text */
decr_sp(); /* regexp, already updated above */
/* do the search early to avoid work on non-match */
if (research(rp, t->stptr, 0, t->stlen, RE_NEED_START) == -1 ||
- RESTART(rp, t->stptr) > t->stlen) {
- if (lhs == NULL)
- DEREF(t);
- DEREF(s);
- return make_number((AWKNUM) 0.0);
- }
+ RESTART(rp, t->stptr) > t->stlen)
+ goto done;
t->flags |= STRING;
@@ -2476,7 +2514,7 @@ sub_common(int nargs, long how_many, int backdigs)
repl = s->stptr;
replend = repl + s->stlen;
repllen = replend - repl;
- emalloc(buf, char *, buflen + 2, "sub_common");
+ emalloc(buf, char *, buflen + 2, "do_sub");
buf[buflen] = '\0';
buf[buflen + 1] = '\0';
ampersands = 0;
@@ -2490,7 +2528,7 @@ sub_common(int nargs, long how_many, int backdigs)
* for example.
*/
if (gawk_mb_cur_max > 1 && repllen > 0) {
- emalloc(mb_indices, char *, repllen * sizeof(char), "sub_common");
+ emalloc(mb_indices, char *, repllen * sizeof(char), "do_sub");
index_multibyte_buffer(repl, mb_indices, repllen);
}
@@ -2500,7 +2538,7 @@ sub_common(int nargs, long how_many, int backdigs)
repllen--;
ampersands++;
} else if (*scan == '\\') {
- if (backdigs) { /* gensub, behave sanely */
+ if (flags & GENSUB) { /* gensub, behave sanely */
if (isdigit((unsigned char) scan[1])) {
ampersands++;
scan++;
@@ -2508,13 +2546,30 @@ sub_common(int nargs, long how_many, int backdigs)
repllen--;
scan++;
}
- } else {
+ } else if (do_posix) {
/* \& --> &, \\ --> \ */
if (scan[1] == '&' || scan[1] == '\\') {
repllen--;
scan++;
} /* else
leave alone, it goes into the output */
+ } else {
+ /* gawk default behavior since 1996 */
+ if (strncmp(scan, "\\\\\\&", 4) == 0) {
+ /* \\\& --> \& */
+ repllen -= 2;
+ scan += 3;
+ } else if (strncmp(scan, "\\\\&", 3) == 0) {
+ /* \\& --> \<string> */
+ ampersands++;
+ repllen--;
+ scan += 2;
+ } else if (scan[1] == '&') {
+ /* \& --> & */
+ repllen--;
+ scan++;
+ } /* else
+ leave alone, it goes into the output */
}
}
}
@@ -2575,7 +2630,7 @@ sub_common(int nargs, long how_many, int backdigs)
&& (gawk_mb_cur_max == 1
|| (repllen > 0 && mb_indices[scan - repl] == 1))
) {
- if (backdigs) { /* gensub, behave sanely */
+ if (flags & GENSUB) { /* gensub, behave sanely */
if (isdigit((unsigned char) scan[1])) {
int dig = scan[1] - '0';
if (dig < NUMSUBPATS(rp, t->stptr) && SUBPATSTART(rp, tp->stptr, dig) != -1) {
@@ -2592,11 +2647,30 @@ sub_common(int nargs, long how_many, int backdigs)
scan++;
} else /* \q for any q --> q */
*bp++ = *++scan;
- } else {
+ } else if (do_posix) {
/* \& --> &, \\ --> \ */
if (scan[1] == '&' || scan[1] == '\\')
scan++;
*bp++ = *scan;
+ } else {
+ /* gawk default behavior since 1996 */
+ if (strncmp(scan, "\\\\\\&", 4) == 0) {
+ /* \\\& --> \& */
+ *bp++ = '\\';
+ *bp++ = '&';
+ scan += 3;
+ } else if (strncmp(scan, "\\\\&", 3) == 0) {
+ /* \\& --> \<string> */
+ *bp++ = '\\';
+ for (cp = matchstart; cp < matchend; cp++)
+ *bp++ = *cp;
+ scan += 2;
+ } else if (scan[1] == '&') {
+ /* \& --> & */
+ *bp++ = '&';
+ scan++;
+ } else
+ *bp++ = *scan;
}
} else
*bp++ = *scan;
@@ -2619,7 +2693,7 @@ sub_common(int nargs, long how_many, int backdigs)
textlen = text + textlen - matchend;
text = matchend;
- if ((current >= how_many && !global)
+ if ((current >= how_many && ! global)
|| ((long) textlen <= 0 && matchstart == matchend)
|| research(rp, t->stptr, text - t->stptr, textlen, RE_NEED_START) == -1)
break;
@@ -2628,7 +2702,7 @@ sub_common(int nargs, long how_many, int backdigs)
sofar = bp - buf;
if (buflen - sofar - textlen - 1) {
buflen = sofar + textlen + 2;
- erealloc(buf, char *, buflen, "sub_common");
+ erealloc(buf, char *, buflen, "do_sub");
bp = buf + sofar;
}
for (scan = matchend; scan < text + textlen; scan++)
@@ -2636,102 +2710,38 @@ sub_common(int nargs, long how_many, int backdigs)
*bp = '\0';
textlen = bp - buf;
- DEREF(s);
-
- if (lhs != NULL) {
- if (matches > 0) {
- unref(*lhs);
- *lhs = make_str_node(buf, textlen, ALREADY_MALLOCED);
- } else
- efree(buf);
- } else {
- efree(buf);
- DEREF(t);
- }
-
if (mb_indices != NULL)
efree(mb_indices);
- return make_number((AWKNUM) matches);
-}
-
-/* do_gsub --- global substitution */
-
-NODE *
-do_gsub(int nargs)
-{
- return sub_common(nargs, -1, FALSE);
-}
-
-/* do_sub --- single substitution */
-
-NODE *
-do_sub(int nargs)
-{
- return sub_common(nargs, 1, FALSE);
-}
-
-/* do_gensub --- fix up the tree for sub_common for the gensub function */
-
-NODE *
-do_gensub(int nargs)
-{
- NODE *t, *tmp, *target, *ret;
- long how_many = 1; /* default is one substitution */
- double d;
-
- tmp = POP_STRING(); /* target */
- t = POP_SCALAR(); /* value of global flag */
-
- /*
- * We make copy of the original target string, and pass that
- * in to sub_common() as the target to make the substitution in.
- * We will then return the result string as the return value of
- * this function.
- */
-
- target = make_string(tmp->stptr, tmp->stlen);
- DEREF(tmp);
- PUSH_ADDRESS(& target);
-
- if ((t->flags & (STRCUR|STRING)) != 0) {
- if (t->stlen > 0 && (t->stptr[0] == 'g' || t->stptr[0] == 'G'))
- how_many = -1;
- else {
- d = force_number(t);
+done:
+ DEREF(s);
- if ((t->flags & NUMCUR) != 0)
- goto set_how_many;
+ if ((matches == 0 || (flags & LITERAL) != 0) && buf != NULL)
+ efree(buf);
- how_many = 1;
+ if (flags & GENSUB) {
+ if (matches > 0) {
+ /* return the result string */
+ DEREF(t);
+ return make_str_node(buf, textlen, ALREADY_MALLOCED);
}
- } else {
- d = force_number(t);
-set_how_many:
- if (d < 1)
- how_many = 1;
- else if (d < LONG_MAX)
- how_many = d;
- else
- how_many = LONG_MAX;
- if (d == 0)
- warning(_("gensub: third argument of 0 treated as 1"));
- }
-
- DEREF(t);
- ret = sub_common(3, how_many, TRUE);
- unref(ret);
+ /* return the original string */
+ return t;
+ }
- /*
- * Note that we don't care what sub_common() returns, since the
- * easiest thing for the programmer is to return the string, even
- * if no substitutions were done.
- */
+ /* For a string literal, must not change the original string. */
+ if (flags & LITERAL)
+ DEREF(t);
+ else if (matches > 0) {
+ unref(*lhs);
+ *lhs = make_str_node(buf, textlen, ALREADY_MALLOCED);
+ }
- return target;
+ return make_number((AWKNUM) matches);
}
+
/* make_integer - Convert an integer to a number node. */
static NODE *
@@ -3285,7 +3295,7 @@ do_bindtextdomain(int nargs)
static size_t
mbc_byte_count(const char *ptr, size_t numchars)
{
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
mbstate_t cur_state;
size_t sum = 0;
int mb_len;
@@ -3316,7 +3326,7 @@ mbc_byte_count(const char *ptr, size_t numchars)
static size_t
mbc_char_count(const char *ptr, size_t numbytes)
{
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
mbstate_t cur_state;
size_t sum = 0;
int mb_len;
diff --git a/configh.in b/configh.in
index 306f3dfb..05fd4d2f 100644
--- a/configh.in
+++ b/configh.in
@@ -169,6 +169,9 @@
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
+/* Define to 1 if you have the `setsid' function. */
+#undef HAVE_SETSID
+
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
@@ -240,6 +243,9 @@
/* Define to 1 if you have the `system' function. */
#undef HAVE_SYSTEM
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
diff --git a/configure b/configure
index 2fc0835c..7436b5e7 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for GNU Awk 4.0.0.
+# Generated by GNU Autoconf 2.68 for GNU Awk 4.0.0a.
#
# Report bugs to <bug-gawk@gnu.org>.
#
@@ -560,8 +560,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU Awk'
PACKAGE_TARNAME='gawk'
-PACKAGE_VERSION='4.0.0'
-PACKAGE_STRING='GNU Awk 4.0.0'
+PACKAGE_VERSION='4.0.0a'
+PACKAGE_STRING='GNU Awk 4.0.0a'
PACKAGE_BUGREPORT='bug-gawk@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/gawk/'
@@ -1292,7 +1292,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Awk 4.0.0 to adapt to many kinds of systems.
+\`configure' configures GNU Awk 4.0.0a to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1362,7 +1362,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Awk 4.0.0:";;
+ short | recursive ) echo "Configuration of GNU Awk 4.0.0a:";;
esac
cat <<\_ACEOF
@@ -1474,7 +1474,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Awk configure 4.0.0
+GNU Awk configure 4.0.0a
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2178,7 +2178,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Awk $as_me 4.0.0, which was
+It was created by GNU Awk $as_me 4.0.0a, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3013,7 +3013,7 @@ fi
# Define the identity of the package.
PACKAGE='gawk'
- VERSION='4.0.0'
+ VERSION='4.0.0a'
cat >>confdefs.h <<_ACEOF
@@ -8219,7 +8219,7 @@ fi
for ac_header in arpa/inet.h fcntl.h limits.h locale.h libintl.h mcheck.h \
netdb.h netinet/in.h stdarg.h stddef.h string.h \
- sys/param.h sys/socket.h sys/time.h unistd.h \
+ sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h \
termios.h stropts.h wchar.h wctype.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -9894,7 +9894,7 @@ esac
for ac_func in atexit btowc fmod getgrent getgroups grantpt \
isascii iswctype iswlower iswupper mbrlen \
memcmp memcpy memcpy_ulong memmove memset \
- memset_ulong mkstemp setenv setlocale snprintf strchr \
+ memset_ulong mkstemp setenv setlocale setsid snprintf strchr \
strerror strftime strncasecmp strcoll strtod strtoul \
system tmpfile towlower towupper tzset usleep wcrtomb \
wcscoll wcscoll wctype
@@ -11260,7 +11260,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Awk $as_me 4.0.0, which was
+This file was extended by GNU Awk $as_me 4.0.0a, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -11328,7 +11328,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GNU Awk config.status 4.0.0
+GNU Awk config.status 4.0.0a
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index d532963b..ed72522d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ dnl
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([GNU Awk], 4.0.0, bug-gawk@gnu.org, gawk)
+AC_INIT([GNU Awk], 4.0.0a, bug-gawk@gnu.org, gawk)
# This is a hack. Different versions of install on different systems
# are just too different. Chuck it and use install-sh.
@@ -40,7 +40,7 @@ then
fi
AC_PREREQ(2.68)
-AM_INIT_AUTOMAKE([1.11 dist-bzip2 dist-xz])
+AM_INIT_AUTOMAKE([1.11 dist-xz])
AC_CONFIG_MACRO_DIR([m4])
@@ -142,7 +142,7 @@ AC_HEADER_SYS_WAIT
AC_HEADER_TIME
AC_CHECK_HEADERS(arpa/inet.h fcntl.h limits.h locale.h libintl.h mcheck.h \
netdb.h netinet/in.h stdarg.h stddef.h string.h \
- sys/param.h sys/socket.h sys/time.h unistd.h \
+ sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h \
termios.h stropts.h wchar.h wctype.h)
if test "$ac_cv_header_string_h" = yes
@@ -268,7 +268,7 @@ esac
AC_CHECK_FUNCS(atexit btowc fmod getgrent getgroups grantpt \
isascii iswctype iswlower iswupper mbrlen \
memcmp memcpy memcpy_ulong memmove memset \
- memset_ulong mkstemp setenv setlocale snprintf strchr \
+ memset_ulong mkstemp setenv setlocale setsid snprintf strchr \
strerror strftime strncasecmp strcoll strtod strtoul \
system tmpfile towlower towupper tzset usleep wcrtomb \
wcscoll wcscoll wctype)
diff --git a/debug.c b/debug.c
index 9b9db345..29ce8b1a 100644
--- a/debug.c
+++ b/debug.c
@@ -39,6 +39,7 @@ extern long fcall_count;
extern FILE *output_fp;
extern IOBUF *curfile;
extern const char *command_file;
+extern const char *get_spec_varname(Func_ptr fptr);
extern int r_interpret(INSTRUCTION *);
extern int zzparse(void);
#define read_command() (void) zzparse()
@@ -3736,11 +3737,19 @@ print_instruction(INSTRUCTION *pc, Func_print print_func, FILE *fp, int in_dump)
switch (pc->opcode) {
case Op_var_update:
- print_func(fp, "[update_%s]\n", pc->memory->vname);
+ print_func(fp, "[update_%s()]\n", get_spec_varname(pc->update_var));
break;
case Op_var_assign:
- print_func(fp, "[set_%s]\n", pc->memory->vname);
+ print_func(fp, "[set_%s()]", get_spec_varname(pc->assign_var));
+ if (pc->assign_ctxt != 0)
+ print_func(fp, " [assign_ctxt = %s]", opcode2str(pc->assign_ctxt));
+ print_func(fp, "\n");
+ break;
+
+ case Op_field_assign:
+ print_func(fp, "[%s]\n", pc->field_assign == reset_record ?
+ "reset_record()" : "invalidate_field0()");
break;
case Op_field_spec_lhs:
@@ -3787,9 +3796,19 @@ print_instruction(INSTRUCTION *pc, Func_print print_func, FILE *fp, int in_dump)
break;
case Op_K_nextfile:
+ print_func(fp, "[target_newfile = %p] [target_endfile = %p]\n",
+ pc->target_newfile, pc->target_endfile);
+ break;
+
case Op_newfile:
print_func(fp, "[target_jmp = %p] [target_endfile = %p]\n",
pc->target_jmp, pc->target_endfile);
+ print_func(fp, "%*s[target_get_record = %p]\n",
+ noffset, "", (pc + 1)->target_get_record);
+ break;
+
+ case Op_get_record:
+ print_func(fp, "[target_newfile = %p]\n", pc->target_newfile);
break;
case Op_jmp:
@@ -3830,6 +3849,26 @@ print_instruction(INSTRUCTION *pc, Func_print print_func, FILE *fp, int in_dump)
pc->line_range, pc->target_jmp);
break;
+ case Op_sub_builtin:
+ {
+ const char *fname = "sub";
+ static const struct flagtab values[] = {
+ { GSUB, "GSUB" },
+ { GENSUB, "GENSUB" },
+ { LITERAL, "LITERAL" },
+ { 0, NULL }
+ };
+
+ if (pc->sub_flags & GSUB)
+ fname = "gsub";
+ else if (pc->sub_flags & GENSUB)
+ fname = "gensub";
+ print_func(fp, "%s [arg_count = %ld] [sub_flags = %s]\n",
+ fname, pc->expr_count,
+ genflags2str(pc->sub_flags, values));
+ }
+ break;
+
case Op_builtin:
{
const char *fname = getfname(pc->builtin);
@@ -5345,28 +5384,27 @@ pre_execute_code(INSTRUCTION **pi)
return (ei == *pi);
}
-extern void unwind_stack(STACK_ITEM *sp_bottom);
+extern INSTRUCTION *unwind_stack(long n);
static NODE *
execute_code(volatile INSTRUCTION *code)
{
volatile NODE *r = NULL;
volatile jmp_buf fatal_tag_stack;
- STACK_ITEM *ctxt_stack_bottom;
+ long save_stack_size;
/* We use one global stack for all contexts.
- * Remember stack bottom for current context; in case of
- * a fatal error, unwind stack until stack_ptr is below that 'bottom'.
+ * Save # of items in stack; in case of
+ * a fatal error, pop stack until it has that many items.
*/
- ctxt_stack_bottom = stack_ptr + 1;
+ save_stack_size = (stack_ptr - stack_bottom) + 1;
PUSH_BINDING(fatal_tag_stack, fatal_tag, fatal_tag_valid);
if (setjmp(fatal_tag) == 0) {
(void) r_interpret((INSTRUCTION *) code);
- assert(stack_ptr == ctxt_stack_bottom);
r = POP_SCALAR();
} else /* fatal error */
- unwind_stack(ctxt_stack_bottom);
+ (void) unwind_stack(save_stack_size);
POP_BINDING(fatal_tag_stack, fatal_tag, fatal_tag_valid);
diff --git a/dfa.c b/dfa.c
index 228c9090..aecbbd76 100644
--- a/dfa.c
+++ b/dfa.c
@@ -53,8 +53,8 @@
#include "gettext.h"
#define _(str) gettext (str)
-#include "mbsupport.h" /* defines MBS_SUPPORT if appropriate */
-#ifdef MBS_SUPPORT
+#include "mbsupport.h" /* defines MBS_SUPPORT to 1 or 0, as appropriate */
+#if MBS_SUPPORT
/* We can handle multibyte strings. */
#include <wchar.h>
#include <wctype.h>
@@ -68,7 +68,15 @@
#define bool int
#define true (1)
#define false (0)
-#endif
+#if ! MBS_SUPPORT
+#define wctype_t int
+#define wint_t int
+#define mbstate_t int
+#define WEOF EOF
+#define towupper toupper
+#define towlower tolower
+#endif /* ! MBS_SUPPORT */
+#endif /* GAWK */
#include "regex.h"
#include "dfa.h"
@@ -109,6 +117,11 @@ is_blank (int c)
/* Sets of unsigned characters are stored as bit vectors in arrays of ints. */
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; }
+
/* Sometimes characters can only be matched depending on the surrounding
context. Such context decisions depend on what the previous character
was, and the value of the current (lookahead) character. Context
@@ -279,15 +292,12 @@ typedef struct
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. */
-#if MBS_SUPPORT
position_set mbps; /* Positions which can match multibyte
characters. e.g. period.
These staff are used only if
MB_CUR_MAX > 1. */
-#endif
} dfa_state;
-#if MBS_SUPPORT
/* A bracket operator.
e.g. [a-c], [[:alpha:]], etc. */
struct mb_char_classes
@@ -306,7 +316,6 @@ struct mb_char_classes
char **coll_elems;
int ncoll_elems; /* Collating elements. */
};
-#endif
/* A compiled regular expression. */
struct dfa
@@ -419,19 +428,40 @@ struct dfa
static void dfamust (struct dfa *dfa);
static void regexp (void);
-#define CALLOC(p, t, n) ((p) = xcalloc((size_t)(n), sizeof (t)))
-#define MALLOC(p, t, n) ((p) = xmalloc((n) * sizeof (t)))
-#define REALLOC(p, t, n) ((p) = xrealloc((p), (n) * sizeof (t)))
-
-/* Reallocate an array of type t if nalloc is too small for index. */
-#define REALLOC_IF_NECESSARY(p, t, nalloc, index) \
- if ((index) >= (nalloc)) \
- { \
- do \
- (nalloc) *= 2; \
- while ((index) >= (nalloc)); \
- REALLOC(p, t, nalloc); \
- }
+/* These two macros are identical to the ones in gnulib's xalloc.h,
+ except that they not to case the result to "(t *)", and thus may
+ be used via type-free CALLOC and MALLOC macros. */
+#undef XNMALLOC
+#undef XCALLOC
+
+/* Allocate memory for N elements of type T, with error checking. */
+/* extern t *XNMALLOC (size_t n, typename t); */
+# define XNMALLOC(n, t) \
+ (sizeof (t) == 1 ? xmalloc (n) : xnmalloc (n, sizeof (t)))
+
+/* Allocate memory for N elements of type T, with error checking,
+ and zero it. */
+/* extern t *XCALLOC (size_t n, typename t); */
+# define XCALLOC(n, t) \
+ (sizeof (t) == 1 ? xzalloc (n) : xcalloc (n, sizeof (t)))
+
+#define CALLOC(p, n) do { (p) = XCALLOC (n, *(p)); } while (0)
+#define MALLOC(p, n) do { (p) = XNMALLOC (n, *(p)); } while (0)
+#define REALLOC(p, n) do {(p) = xnrealloc (p, n, sizeof (*(p))); } while (0)
+
+/* Reallocate an array of type *P if N_ALLOC is <= N_REQUIRED. */
+#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); \
+ (p) = x2nrealloc (p, &new_n_alloc, sizeof (*(p))); \
+ (n_alloc) = new_n_alloc; \
+ } \
+ } \
+ while (false)
#ifdef DEBUG
@@ -464,10 +494,8 @@ prtok (token t)
case OR: s = "OR"; break;
case LPAREN: s = "LPAREN"; break;
case RPAREN: s = "RPAREN"; break;
-#if MBS_SUPPORT
case ANYCHAR: s = "ANYCHAR"; break;
case MBCSET: s = "MBCSET"; break;
-#endif /* MBS_SUPPORT */
default: s = "CSET"; break;
}
fprintf(stderr, "%s", s);
@@ -534,7 +562,7 @@ charclass_index (charclass const s)
for (i = 0; i < dfa->cindex; ++i)
if (equal(s, dfa->charclasses[i]))
return i;
- REALLOC_IF_NECESSARY(dfa->charclasses, charclass, dfa->calloc, dfa->cindex);
+ REALLOC_IF_NECESSARY(dfa->charclasses, dfa->calloc, dfa->cindex + 1);
++dfa->cindex;
copyset(s, dfa->charclasses[i]);
return i;
@@ -587,7 +615,8 @@ setbit_c (int b, charclass c)
setbit (b, c);
}
#else
-#define setbit_c setbit
+# define setbit_c setbit
+static inline bool setbit_wc (wint_t wc, charclass c) { abort (); }
#endif
/* Like setbit_c, but if case is folded, set both cases of a letter. For
@@ -597,7 +626,6 @@ setbit_c (int b, charclass c)
static void
setbit_case_fold_c (int b, charclass c)
{
-#if MBS_SUPPORT
if (MB_CUR_MAX > 1)
{
wint_t wc = btowc (b);
@@ -608,7 +636,6 @@ setbit_case_fold_c (int b, charclass c)
setbit_wc (iswupper (wc) ? towlower (wc) : towupper (wc), c);
}
else
-#endif
{
setbit (b, c);
if (case_fold && isalpha (b))
@@ -626,7 +653,7 @@ using_utf8 (void)
static int utf8 = -1;
if (utf8 == -1)
{
-#if defined HAVE_LANGINFO_CODESET && defined MBS_SUPPORT
+#if defined HAVE_LANGINFO_CODESET && MBS_SUPPORT
utf8 = (STREQ (nl_langinfo (CODESET), "UTF-8"));
#else
utf8 = 0;
@@ -651,7 +678,6 @@ static int minrep, maxrep; /* Repeat counts for {m,n}. */
static int cur_mb_len = 1; /* Length of the multibyte representation of
wctok. */
-#if MBS_SUPPORT
/* 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
@@ -674,7 +700,6 @@ static wchar_t *inputwcs; /* Wide character representation of input
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(). */
-#endif /* MBS_SUPPORT */
#if MBS_SUPPORT
@@ -696,7 +721,7 @@ static unsigned char const *buf_end; /* reference to end in dfaexec(). */
{ \
cur_mb_len = 1; \
--lexleft; \
- (wc) = (c) = (unsigned char) *lexptr++; \
+ (wc) = (c) = to_uchar (*lexptr++); \
} \
else \
{ \
@@ -725,7 +750,7 @@ static unsigned char const *buf_end; /* reference to end in dfaexec(). */
else \
return lasttok = END; \
} \
- (c) = (unsigned char) *lexptr++; \
+ (c) = to_uchar (*lexptr++); \
--lexleft; \
} while(0)
@@ -788,8 +813,8 @@ parse_bracket_exp (void)
Bit 3 = includes ranges, char/equiv classes or collation elements. */
int colon_warning_state;
-#if MBS_SUPPORT
- wint_t wc, wc1, wc2;
+ wint_t wc;
+ wint_t wc2;
/* Work area to build a mb_char_classes. */
struct mb_char_classes *work_mbc;
@@ -801,8 +826,7 @@ parse_bracket_exp (void)
ch_classes_al = equivs_al = coll_elems_al = 0;
if (MB_CUR_MAX > 1)
{
- REALLOC_IF_NECESSARY(dfa->mbcsets, struct mb_char_classes,
- 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
@@ -814,7 +838,6 @@ parse_bracket_exp (void)
}
else
work_mbc = NULL;
-#endif
memset (ccl, 0, sizeof ccl);
FETCH_WC (c, wc, _("unbalanced ["));
@@ -826,6 +849,7 @@ parse_bracket_exp (void)
else
invert = 0;
+ wint_t wc1 = 0;
colon_warning_state = (c == ':');
do
{
@@ -844,10 +868,8 @@ parse_bracket_exp (void)
/* If pattern contains `[[:', `[[.', or `[[='. */
if (c1 == ':'
-#if MBS_SUPPORT
/* TODO: handle `[[.' and `[[=' also for MB_CUR_MAX == 1. */
|| (MB_CUR_MAX > 1 && (c1 == '.' || c1 == '='))
-#endif
)
{
size_t len = 0;
@@ -878,39 +900,36 @@ parse_bracket_exp (void)
if (!pred)
dfaerror(_("invalid character class"));
-#if MBS_SUPPORT
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, wctype_t, ++ch_classes_al);
- REALLOC_IF_NECESSARY(work_mbc->ch_classes, wctype_t,
+ MALLOC(work_mbc->ch_classes, ++ch_classes_al);
+ REALLOC_IF_NECESSARY(work_mbc->ch_classes,
ch_classes_al,
work_mbc->nch_classes + 1);
work_mbc->ch_classes[work_mbc->nch_classes++] = wt;
}
-#endif
for (c2 = 0; c2 < NOTCHAR; ++c2)
if (pred->func(c2))
setbit_case_fold_c (c2, ccl);
}
-#if MBS_SUPPORT
- else if (c1 == '=' || c1 == '.')
+ else if (MBS_SUPPORT && (c1 == '=' || c1 == '.'))
{
char *elem;
- MALLOC(elem, char, len + 1);
+ MALLOC(elem, len + 1);
strncpy(elem, str, len + 1);
if (c1 == '=')
/* build equivalent class. */
{
if (equivs_al == 0)
- MALLOC(work_mbc->equivs, char*, ++equivs_al);
- REALLOC_IF_NECESSARY(work_mbc->equivs, char*,
+ MALLOC(work_mbc->equivs, ++equivs_al);
+ REALLOC_IF_NECESSARY(work_mbc->equivs,
equivs_al,
work_mbc->nequivs + 1);
work_mbc->equivs[work_mbc->nequivs++] = elem;
@@ -920,14 +939,13 @@ parse_bracket_exp (void)
/* build collating element. */
{
if (coll_elems_al == 0)
- MALLOC(work_mbc->coll_elems, char*, ++coll_elems_al);
- REALLOC_IF_NECESSARY(work_mbc->coll_elems, char*,
+ MALLOC(work_mbc->coll_elems, ++coll_elems_al);
+ REALLOC_IF_NECESSARY(work_mbc->coll_elems,
coll_elems_al,
work_mbc->ncoll_elems + 1);
work_mbc->coll_elems[work_mbc->ncoll_elems++] = elem;
}
}
-#endif
colon_warning_state |= 8;
/* Fetch new lookahead character. */
@@ -964,19 +982,18 @@ parse_bracket_exp (void)
&& (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS))
FETCH_WC(c2, wc2, _("unbalanced ["));
-#if MBS_SUPPORT
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, wchar_t, ++range_sts_al);
- MALLOC(work_mbc->range_ends, wchar_t, ++range_ends_al);
+ MALLOC(work_mbc->range_sts, ++range_sts_al);
+ MALLOC(work_mbc->range_ends, ++range_ends_al);
}
- REALLOC_IF_NECESSARY(work_mbc->range_sts, wchar_t,
+ REALLOC_IF_NECESSARY(work_mbc->range_sts,
range_sts_al, work_mbc->nranges + 1);
- REALLOC_IF_NECESSARY(work_mbc->range_ends, wchar_t,
+ 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;
@@ -986,17 +1003,16 @@ parse_bracket_exp (void)
#ifndef GREP
if (case_fold && (iswalpha(wc) || iswalpha(wc2)))
{
- REALLOC_IF_NECESSARY(work_mbc->range_sts, wchar_t,
+ 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, wchar_t,
+ REALLOC_IF_NECESSARY(work_mbc->range_ends,
range_ends_al, work_mbc->nranges + 1);
work_mbc->range_ends[work_mbc->nranges++] = towupper(wc2);
}
#endif
}
else
-#endif
{
c1 = c;
if (case_fold)
@@ -1015,45 +1031,39 @@ parse_bracket_exp (void)
colon_warning_state |= (c == ':') ? 2 : 4;
-#if MBS_SUPPORT
- if (MB_CUR_MAX > 1)
+ if (MB_CUR_MAX == 1)
{
- if (case_fold && iswalpha(wc))
- {
- wc = towlower(wc);
- if (!setbit_wc (wc, ccl))
- {
- REALLOC_IF_NECESSARY(work_mbc->chars, wchar_t, chars_al,
- work_mbc->nchars + 1);
- work_mbc->chars[work_mbc->nchars++] = wc;
- }
-#ifdef GREP
- continue;
-#else
- wc = towupper(wc);
-#endif
- }
+ setbit_case_fold_c (c, ccl);
+ continue;
+ }
+
+ if (case_fold && iswalpha(wc))
+ {
+ wc = towlower(wc);
if (!setbit_wc (wc, ccl))
{
- REALLOC_IF_NECESSARY(work_mbc->chars, wchar_t, chars_al,
+ REALLOC_IF_NECESSARY(work_mbc->chars, chars_al,
work_mbc->nchars + 1);
work_mbc->chars[work_mbc->nchars++] = wc;
}
- }
- else
+#ifdef GREP
+ continue;
+#else
+ wc = towupper(wc);
#endif
- setbit_case_fold_c (c, ccl);
+ }
+ if (!setbit_wc (wc, ccl))
+ {
+ REALLOC_IF_NECESSARY(work_mbc->chars, chars_al,
+ work_mbc->nchars + 1);
+ work_mbc->chars[work_mbc->nchars++] = wc;
+ }
}
- while ((
-#if MBS_SUPPORT
- wc = wc1,
-#endif
- (c = c1) != ']'));
+ while ((wc = wc1, (c = c1) != ']'));
if (colon_warning_state == 7)
dfawarn (_("character class syntax is [[:space:]], not [:space:]"));
-#if MBS_SUPPORT
if (MB_CUR_MAX > 1)
{
static charclass zeroclass;
@@ -1061,13 +1071,10 @@ parse_bracket_exp (void)
work_mbc->cset = equal(ccl, zeroclass) ? -1 : charclass_index(ccl);
return MBCSET;
}
-#endif
if (invert)
{
-#if MBS_SUPPORT
assert(MB_CUR_MAX == 1);
-#endif
notset(ccl);
if (syntax_bits & RE_HAT_LISTS_NOT_NEWLINE)
clrbit(eolbyte, ccl);
@@ -1095,7 +1102,6 @@ lex (void)
"if (backslash) ...". */
for (i = 0; i < 2; ++i)
{
-#if MBS_SUPPORT
if (MB_CUR_MAX > 1)
{
FETCH_WC (c, wctok, NULL);
@@ -1103,7 +1109,6 @@ lex (void)
goto normal_char;
}
else
-#endif /* MBS_SUPPORT */
FETCH(c, NULL);
switch (c)
@@ -1326,7 +1331,6 @@ lex (void)
case '.':
if (backslash)
goto normal_char;
-#if MBS_SUPPORT
if (MB_CUR_MAX > 1)
{
/* In multibyte environment period must match with a single
@@ -1334,7 +1338,6 @@ lex (void)
laststart = 0;
return lasttok = ANYCHAR;
}
-#endif /* MBS_SUPPORT */
zeroset(ccl);
notset(ccl);
if (!(syntax_bits & RE_DOT_NEWLINE))
@@ -1379,12 +1382,10 @@ lex (void)
default:
normal_char:
laststart = 0;
-#if MBS_SUPPORT
/* For multibyte character sets, folding is done in atom. Always
return WCHAR. */
if (MB_CUR_MAX > 1)
return lasttok = WCHAR;
-#endif
if (case_fold && isalpha(c))
{
@@ -1415,18 +1416,14 @@ static int depth; /* Current depth of a hypothetical stack
static void
addtok_mb (token t, int mbprop)
{
-#if MBS_SUPPORT
if (MB_CUR_MAX > 1)
{
- REALLOC_IF_NECESSARY(dfa->multibyte_prop, int, dfa->nmultibyte_prop,
- dfa->tindex);
+ REALLOC_IF_NECESSARY(dfa->multibyte_prop, dfa->nmultibyte_prop,
+ dfa->tindex + 1);
dfa->multibyte_prop[dfa->tindex] = mbprop;
}
-#else
- (void) mbprop;
-#endif
- REALLOC_IF_NECESSARY(dfa->tokens, token, dfa->talloc, dfa->tindex);
+ REALLOC_IF_NECESSARY(dfa->tokens, dfa->talloc, dfa->tindex + 1);
dfa->tokens[dfa->tindex++] = t;
switch (t)
@@ -1451,16 +1448,13 @@ addtok_mb (token t, int mbprop)
dfa->depth = depth;
}
-#if MBS_SUPPORT
static void addtok_wc (wint_t wc);
-#endif
/* Add the given token to the parse tree, maintaining the depth count and
updating the maximum depth if necessary. */
static void
addtok (token t)
{
-#if MBS_SUPPORT
if (MB_CUR_MAX > 1 && t == MBCSET)
{
bool need_or = false;
@@ -1508,8 +1502,9 @@ addtok (token t)
}
}
else
-#endif
- addtok_mb (t, 3);
+ {
+ addtok_mb (t, 3);
+ }
}
#if MBS_SUPPORT
@@ -1541,10 +1536,14 @@ addtok_wc (wint_t wc)
addtok(CAT);
}
}
+#else
+static void addtok_wc (wint_t wc) {}
+#endif
static void
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 */
@@ -1560,7 +1559,7 @@ add_utf8_anychar (void)
for (i = 0; i < n; i++)
{
charclass c;
- memcpy (c, utf8_classes[i], sizeof c);
+ copyset (utf8_classes[i], c);
if (i == 1)
{
if (!(syntax_bits & RE_DOT_NEWLINE))
@@ -1589,8 +1588,8 @@ add_utf8_anychar (void)
addtok (CAT);
addtok (OR);
}
-}
#endif
+}
/* The grammar understood by the parser is as follows.
@@ -1634,8 +1633,7 @@ atom (void)
{
/* empty */
}
-#if MBS_SUPPORT
- else if (tok == WCHAR)
+ else if (MBS_SUPPORT && tok == WCHAR)
{
addtok_wc (case_fold ? towlower(wctok) : wctok);
#ifndef GREP
@@ -1648,8 +1646,7 @@ atom (void)
tok = lex();
}
-
- else if (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
@@ -1661,8 +1658,6 @@ atom (void)
add_utf8_anychar();
tok = lex();
}
-#endif /* MBS_SUPPORT */
-
else if ((tok >= 0 && tok < NOTCHAR) || tok >= CSET || tok == BACKREF
|| tok == BEGLINE || tok == ENDLINE || tok == BEGWORD
#if MBS_SUPPORT
@@ -1715,11 +1710,9 @@ copytoks (int tindex, int ntokens)
for (i = 0; i < ntokens; ++i)
{
addtok(dfa->tokens[tindex + i]);
-#if MBS_SUPPORT
/* 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];
-#endif
}
}
@@ -1799,13 +1792,11 @@ dfaparse (char const *s, size_t len, struct dfa *d)
lasttok = END;
laststart = 1;
parens = 0;
-#if MBS_SUPPORT
if (MB_CUR_MAX > 1)
{
cur_mb_len = 0;
memset(&mbs, 0, sizeof mbs);
}
-#endif /* MBS_SUPPORT */
if (! syntax_bits_set)
dfaerror(_("no syntax specified"));
@@ -1833,16 +1824,13 @@ dfaparse (char const *s, size_t len, struct dfa *d)
static void
copy (position_set const *src, position_set *dst)
{
- int i;
-
- for (i = 0; i < src->nelem; ++i)
- dst->elems[i] = src->elems[i];
+ memcpy(dst->elems, src->elems, sizeof(dst->elems[0]) * src->nelem);
dst->nelem = src->nelem;
}
-/* Insert a position in a set. Position sets are maintained in sorted
- order according to index. If position already exists in the set with
- the same index then their constraints are logically or'd together.
+/* 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)
@@ -1852,7 +1840,7 @@ insert (position p, position_set *s)
while (lo < hi)
{
int mid = ((unsigned) lo + (unsigned) hi) >> 1;
- if (s->elems[mid].index < p.index)
+ if (s->elems[mid].index > p.index)
lo = mid + 1;
else
hi = mid;
@@ -1941,19 +1929,20 @@ 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, dfa_state, d->salloc, d->sindex);
+ REALLOC_IF_NECESSARY(d->states, d->salloc, d->sindex + 1);
d->states[i].hash = hash;
- MALLOC(d->states[i].elems.elems, position, s->nelem);
+ MALLOC(d->states[i].elems.elems, s->nelem);
copy(s, &d->states[i].elems);
d->states[i].newline = newline;
d->states[i].letter = letter;
d->states[i].backref = 0;
d->states[i].constraint = 0;
d->states[i].first_end = 0;
-#if MBS_SUPPORT
- d->states[i].mbps.nelem = 0;
- d->states[i].mbps.elems = NULL;
-#endif
+ if (MBS_SUPPORT)
+ {
+ d->states[i].mbps.nelem = 0;
+ d->states[i].mbps.elems = NULL;
+ }
for (j = 0; j < s->nelem; ++j)
if (d->tokens[s->elems[j].index] < 0)
{
@@ -1989,7 +1978,7 @@ epsclosure (position_set *s, struct dfa const *d)
char *visited; /* array of booleans, enough to use char, not int */
position p, old;
- CALLOC(visited, char, d->tindex);
+ CALLOC(visited, d->tindex);
for (i = 0; i < s->nelem; ++i)
if (d->tokens[s->elems[i].index] >= NOTCHAR
@@ -2126,20 +2115,20 @@ dfaanalyze (struct dfa *d, int searchflag)
d->searchflag = searchflag;
- MALLOC(nullable, int, d->depth);
+ MALLOC(nullable, d->depth);
o_nullable = nullable;
- MALLOC(nfirstpos, int, d->depth);
+ MALLOC(nfirstpos, d->depth);
o_nfirst = nfirstpos;
- MALLOC(firstpos, position, d->nleaves);
+ MALLOC(firstpos, d->nleaves);
o_firstpos = firstpos, firstpos += d->nleaves;
- MALLOC(nlastpos, int, d->depth);
+ MALLOC(nlastpos, d->depth);
o_nlast = nlastpos;
- MALLOC(lastpos, position, d->nleaves);
+ MALLOC(lastpos, d->nleaves);
o_lastpos = lastpos, lastpos += d->nleaves;
- CALLOC(nalloc, int, d->tindex);
- MALLOC(merged.elems, position, 2 * d->nleaves);
+ CALLOC(nalloc, d->tindex);
+ MALLOC(merged.elems, d->nleaves);
- CALLOC(d->follows, position_set, d->tindex);
+ CALLOC(d->follows, d->tindex);
for (i = 0; i < d->tindex; ++i)
#ifdef DEBUG
@@ -2165,8 +2154,8 @@ dfaanalyze (struct dfa *d, int searchflag)
for (j = 0; j < nlastpos[-1]; ++j)
{
merge(&tmp, &d->follows[pos[j].index], &merged);
- REALLOC_IF_NECESSARY(d->follows[pos[j].index].elems, position,
- nalloc[pos[j].index], merged.nelem - 1);
+ REALLOC_IF_NECESSARY(d->follows[pos[j].index].elems,
+ nalloc[pos[j].index], merged.nelem);
copy(&merged, &d->follows[pos[j].index]);
}
@@ -2185,8 +2174,8 @@ dfaanalyze (struct dfa *d, int searchflag)
for (j = 0; j < nlastpos[-2]; ++j)
{
merge(&tmp, &d->follows[pos[j].index], &merged);
- REALLOC_IF_NECESSARY(d->follows[pos[j].index].elems, position,
- nalloc[pos[j].index], merged.nelem - 1);
+ REALLOC_IF_NECESSARY(d->follows[pos[j].index].elems,
+ nalloc[pos[j].index], merged.nelem);
copy(&merged, &d->follows[pos[j].index]);
}
@@ -2247,7 +2236,7 @@ dfaanalyze (struct dfa *d, int searchflag)
/* Allocate the follow set for this position. */
nalloc[i] = 1;
- MALLOC(d->follows[i].elems, position, nalloc[i]);
+ MALLOC(d->follows[i].elems, nalloc[i]);
break;
}
#ifdef DEBUG
@@ -2296,7 +2285,7 @@ dfaanalyze (struct dfa *d, int searchflag)
copy(&d->follows[i], &merged);
epsclosure(&merged, d);
if (d->follows[i].nelem < merged.nelem)
- REALLOC(d->follows[i].elems, position, merged.nelem);
+ REALLOC(d->follows[i].elems, merged.nelem);
copy(&merged, &d->follows[i]);
}
@@ -2316,7 +2305,7 @@ dfaanalyze (struct dfa *d, int searchflag)
/* Build the initial state. */
d->salloc = 1;
d->sindex = 0;
- MALLOC(d->states, dfa_state, d->salloc);
+ MALLOC(d->states, d->salloc);
state_index(d, &merged, wants_newline, 0);
free(o_nullable);
@@ -2381,9 +2370,7 @@ dfastate (int s, struct dfa *d, int trans[])
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. */
-#if MBS_SUPPORT
int next_isnt_1st_byte = 0; /* Flag if we can't add state0. */
-#endif
int i, j, k;
grps = xnmalloc (NOTCHAR, sizeof *grps);
@@ -2408,23 +2395,21 @@ dfastate (int s, struct dfa *d, int trans[])
setbit(d->tokens[pos.index], matches);
else if (d->tokens[pos.index] >= CSET)
copyset(d->charclasses[d->tokens[pos.index] - CSET], matches);
-#if MBS_SUPPORT
- else if (d->tokens[pos.index] == ANYCHAR
- || d->tokens[pos.index] == MBCSET)
- /* MB_CUR_MAX > 1 */
+ else if (MBS_SUPPORT
+ && (d->tokens[pos.index] == ANYCHAR
+ || d->tokens[pos.index] == MBCSET))
+ /* MB_CUR_MAX > 1 */
{
/* ANYCHAR and MBCSET must match with a single character, so we
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, position,
- d->states[s].elems.nelem);
+ MALLOC(d->states[s].mbps.elems, d->states[s].elems.nelem);
}
insert(pos, &(d->states[s].mbps));
continue;
}
-#endif /* MBS_SUPPORT */
else
continue;
@@ -2488,7 +2473,7 @@ dfastate (int s, struct dfa *d, int trans[])
{
copyset(leftovers, labels[ngrps]);
copyset(intersect, labels[j]);
- MALLOC(grps[ngrps].elems, position, d->nleaves);
+ MALLOC(grps[ngrps].elems, d->nleaves);
copy(&grps[j], &grps[ngrps]);
++ngrps;
}
@@ -2509,15 +2494,15 @@ dfastate (int s, struct dfa *d, int trans[])
{
copyset(matches, labels[ngrps]);
zeroset(matches);
- MALLOC(grps[ngrps].elems, position, d->nleaves);
+ MALLOC(grps[ngrps].elems, d->nleaves);
grps[ngrps].nelem = 1;
grps[ngrps].elems[0] = pos;
++ngrps;
}
}
- MALLOC(follows.elems, position, d->nleaves);
- MALLOC(tmp.elems, position, d->nleaves);
+ MALLOC(follows.elems, d->nleaves);
+ MALLOC(tmp.elems, 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
@@ -2561,7 +2546,6 @@ dfastate (int s, struct dfa *d, int trans[])
for (k = 0; k < d->follows[grps[i].elems[j].index].nelem; ++k)
insert(d->follows[grps[i].elems[j].index].elems[k], &follows);
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
{
/* If a token in follows.elems is not 1st byte of a multibyte
@@ -2592,15 +2576,12 @@ dfastate (int s, struct dfa *d, int trans[])
}
}
}
-#endif
/* If we are building a searching matcher, throw in the positions
of state 0 as well. */
-#if MBS_SUPPORT
- if (d->searchflag && (d->mb_cur_max == 1 || !next_isnt_1st_byte))
-#else
- if (d->searchflag)
-#endif
+ if (d->searchflag
+ && (! 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);
@@ -2697,7 +2678,7 @@ build_state (int s, struct dfa *d)
s, *d))
d->success[s] |= 1;
- MALLOC(trans, int, NOTCHAR);
+ MALLOC(trans, NOTCHAR);
dfastate(s, d, trans);
/* Now go through the new transition table, and make sure that the trans
@@ -2710,11 +2691,11 @@ build_state (int s, struct dfa *d)
while (trans[i] >= d->tralloc)
d->tralloc *= 2;
- REALLOC(d->realtrans, int *, d->tralloc + 1);
+ REALLOC(d->realtrans, d->tralloc + 1);
d->trans = d->realtrans + 1;
- REALLOC(d->fails, int *, d->tralloc);
- REALLOC(d->success, int, d->tralloc);
- REALLOC(d->newlines, int, 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;
@@ -2738,15 +2719,14 @@ build_state_zero (struct dfa *d)
{
d->tralloc = 1;
d->trcount = 0;
- CALLOC(d->realtrans, int *, d->tralloc + 1);
+ CALLOC(d->realtrans, d->tralloc + 1);
d->trans = d->realtrans + 1;
- CALLOC(d->fails, int *, d->tralloc);
- MALLOC(d->success, int, d->tralloc);
- MALLOC(d->newlines, int, d->tralloc);
+ CALLOC(d->fails, d->tralloc);
+ MALLOC(d->success, d->tralloc);
+ MALLOC(d->newlines, d->tralloc);
build_state(0, d);
}
-#if MBS_SUPPORT
/* Multibyte character handling sub-routines for dfaexec. */
/* Initial state may encounter the byte which is not a single byte character
@@ -2783,11 +2763,11 @@ realloc_trans_if_necessary(struct dfa *d, int new_state)
while (new_state >= d->tralloc)
d->tralloc *= 2;
- REALLOC(d->realtrans, int *, d->tralloc + 1);
+ REALLOC(d->realtrans, d->tralloc + 1);
d->trans = d->realtrans + 1;
- REALLOC(d->fails, int *, d->tralloc);
- REALLOC(d->success, int, d->tralloc);
- REALLOC(d->newlines, int, 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;
@@ -2850,11 +2830,9 @@ transit_state_singlebyte (struct dfa *d, int s, unsigned char const *p,
return rval;
}
-/* Check whether period can match or not in the current context. If it can,
- return the amount of the bytes with which period can match, otherwise
- return 0.
- `pos' is the position of the period. `idx' is the index from the
- buf_begin, and it is the current position in the buffer. */
+/* Match a "." against the current context. buf_begin[IDX] is the
+ 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)
{
@@ -2890,11 +2868,10 @@ match_anychar (struct dfa *d, int s, position pos, int idx)
return mbclen;
}
-/* Check whether bracket expression can match or not in the current context.
- If it can, return the amount of the bytes with which expression can match,
- otherwise return 0.
- `pos' is the position of the bracket expression. `idx' is the index
- from the buf_begin, and it is the current position in the buffer. */
+/* Match a bracket expression against the current context.
+ buf_begin[IDX] is the current position.
+ 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)
{
@@ -3021,7 +2998,7 @@ check_matching_with_multibyte_ops (struct dfa *d, int s, int idx)
int i;
int* rarray;
- MALLOC(rarray, int, 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];
@@ -3142,7 +3119,7 @@ transit_state (struct dfa *d, int s, unsigned char const **pp)
/* This state has some operators which can match a multibyte character. */
follows.nelem = 0;
- MALLOC(follows.elems, position, d->nleaves);
+ MALLOC(follows.elems, 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.
@@ -3177,11 +3154,13 @@ transit_state (struct dfa *d, int s, unsigned char const **pp)
return s1;
}
+
/* Initialize mblen_buf and inputwcs with data from the next line. */
static void
prepare_wc_buf (const char *begin, const char *end)
{
+#if MBS_SUPPORT
unsigned char eol = eolbyte;
size_t remain_bytes, i;
@@ -3222,9 +3201,8 @@ prepare_wc_buf (const char *begin, const char *end)
buf_end = (unsigned char *) (begin + i);
mblen_buf[i] = 0;
inputwcs[i] = 0; /* sentinel */
-}
-
#endif /* MBS_SUPPORT */
+}
/* Search through a buffer looking for a match to the given struct dfa.
Find the first occurrence of a string matching the regexp in the
@@ -3242,7 +3220,7 @@ char *
dfaexec (struct dfa *d, char const *begin, char *end,
int newline, int *count, int *backref)
{
- int s, s1, tmp; /* Current state. */
+ int s, s1; /* Current state. */
unsigned char const *p; /* Current input character. */
int **trans, *t; /* Copy of d->trans so it can be optimized
into a register. */
@@ -3270,19 +3248,16 @@ dfaexec (struct dfa *d, char const *begin, char *end,
saved_end = *(unsigned char *) end;
*end = eol;
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
{
- MALLOC(mblen_buf, unsigned char, end - begin + 2);
- MALLOC(inputwcs, wchar_t, end - begin + 2);
+ MALLOC(mblen_buf, end - begin + 2);
+ MALLOC(inputwcs, end - begin + 2);
memset(&mbs, 0, sizeof(mbstate_t));
prepare_wc_buf ((const char *) p, end);
}
-#endif /* MBS_SUPPORT */
for (;;)
{
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
while ((t = trans[s]))
{
@@ -3316,15 +3291,18 @@ dfaexec (struct dfa *d, char const *begin, char *end,
trans = d->trans;
}
else
-#endif /* MBS_SUPPORT */
- while ((t = trans[s]) != 0) { /* hand-optimized loop */
- s1 = t[*p++];
- if ((t = trans[s1]) == 0) {
- tmp = s ; s = s1 ; s1 = tmp ; /* swap */
- break;
+ {
+ while ((t = trans[s]) != 0)
+ {
+ s1 = t[*p++];
+ if ((t = trans[s1]) == 0)
+ {
+ int tmp = s; s = s1; s1 = tmp; /* swap */
+ break;
+ }
+ s = t[*p++];
+ }
}
- s = t[*p++];
- }
if (s >= 0 && (char *) p <= end && d->fails[s])
{
@@ -3332,19 +3310,16 @@ dfaexec (struct dfa *d, char const *begin, char *end,
{
if (backref)
*backref = (d->states[s].backref != 0);
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
{
free(mblen_buf);
free(inputwcs);
}
-#endif /* MBS_SUPPORT */
*end = saved_end;
return (char *) p;
}
s1 = s;
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
{
/* Can match with a multibyte character (and multicharacter
@@ -3353,8 +3328,7 @@ dfaexec (struct dfa *d, char const *begin, char *end,
trans = d->trans;
}
else
-#endif /* MBS_SUPPORT */
- s = d->fails[s][*p++];
+ s = d->fails[s][*p++];
continue;
}
@@ -3364,22 +3338,18 @@ dfaexec (struct dfa *d, char const *begin, char *end,
if (count)
++*count;
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
prepare_wc_buf ((const char *) p, end);
-#endif
}
/* Check if we've run off the end of the buffer. */
if ((char *) p > end)
{
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
{
free(mblen_buf);
free(inputwcs);
}
-#endif /* MBS_SUPPORT */
*end = saved_end;
return NULL;
}
@@ -3401,7 +3371,6 @@ dfaexec (struct dfa *d, char const *begin, char *end,
}
}
-#if MBS_SUPPORT
static void
free_mbdata (struct dfa *d)
{
@@ -3432,7 +3401,6 @@ free_mbdata (struct dfa *d)
d->mbcsets = NULL;
d->nmbcsets = 0;
}
-#endif
/* Initialize the components of a dfa that the other routines don't
initialize for themselves. */
@@ -3442,31 +3410,29 @@ dfainit (struct dfa *d)
memset (d, 0, sizeof *d);
d->calloc = 1;
- MALLOC(d->charclasses, charclass, d->calloc);
+ MALLOC(d->charclasses, d->calloc);
d->talloc = 1;
- MALLOC(d->tokens, token, d->talloc);
+ MALLOC(d->tokens, d->talloc);
-#if MBS_SUPPORT
d->mb_cur_max = MB_CUR_MAX;
+
if (d->mb_cur_max > 1)
{
d->nmultibyte_prop = 1;
- MALLOC(d->multibyte_prop, int, d->nmultibyte_prop);
+ MALLOC(d->multibyte_prop, d->nmultibyte_prop);
d->mbcsets_alloc = 1;
- MALLOC(d->mbcsets, struct mb_char_classes, d->mbcsets_alloc);
+ MALLOC(d->mbcsets, d->mbcsets_alloc);
}
-#endif
}
-#if MBS_SUPPORT
static void
dfaoptimize (struct dfa *d)
{
- unsigned int i;
- if (!using_utf8())
+ if (!MBS_SUPPORT || !using_utf8())
return;
+ unsigned int i;
for (i = 0; i < d->tindex; ++i)
{
switch(d->tokens[i])
@@ -3485,7 +3451,6 @@ dfaoptimize (struct dfa *d)
free_mbdata (d);
d->mb_cur_max = 1;
}
-#endif
/* Parse and analyze a single string of the given length. */
void
@@ -3494,9 +3459,7 @@ dfacomp (char const *s, size_t len, struct dfa *d, int searchflag)
dfainit(d);
dfaparse(s, len, d);
dfamust(d);
-#if MBS_SUPPORT
dfaoptimize(d);
-#endif
dfaanalyze(d, searchflag);
}
@@ -3510,16 +3473,13 @@ dfafree (struct dfa *d)
free(d->charclasses);
free(d->tokens);
-#if MBS_SUPPORT
if (d->mb_cur_max > 1)
free_mbdata(d);
-#endif /* MBS_SUPPORT */
for (i = 0; i < d->sindex; ++i) {
free(d->states[i].elems.elems);
-#if MBS_SUPPORT
- free(d->states[i].mbps.elems);
-#endif /* MBS_SUPPORT */
+ if (MBS_SUPPORT)
+ free(d->states[i].mbps.elems);
}
free(d->states);
for (i = 0; i < d->tindex; ++i)
@@ -3627,23 +3587,15 @@ dfafree (struct dfa *d)
'psi|epsilon' is likelier)? */
static char *
-icatalloc (char const *old, char const *new)
+icatalloc (char *old, char const *new)
{
char *result;
- size_t oldsize, newsize;
-
- newsize = (new == NULL) ? 0 : strlen(new);
- if (old == NULL)
- oldsize = 0;
- else if (newsize == 0)
- return (char *) old;
- else oldsize = strlen(old);
- if (old == NULL)
- result = malloc(newsize + 1);
- else
- result = realloc((void *) old, oldsize + newsize + 1);
- if (result != NULL && new != NULL)
- (void) strcpy(result + oldsize, new);
+ size_t oldsize = old == NULL ? 0 : strlen (old);
+ size_t newsize = new == NULL ? 0 : strlen (new);
+ if (newsize == 0)
+ return old;
+ result = xrealloc (old, oldsize + newsize + 1);
+ strcpy (result + oldsize, new);
return result;
}
@@ -3714,9 +3666,7 @@ enlist (char **cpp, char *new, size_t len)
cpp[i] = NULL;
}
/* Add the new string. */
- cpp = realloc((char *) cpp, (i + 2) * sizeof *cpp);
- if (cpp == NULL)
- return NULL;
+ cpp = xnrealloc(cpp, i + 2, sizeof *cpp);
cpp[i] = new;
cpp[i + 1] = NULL;
return cpp;
@@ -3753,8 +3703,16 @@ comsubs (char *left, char const *right)
}
if (len == 0)
continue;
- if ((cpp = enlist(cpp, lcp, len)) == NULL)
- break;
+ {
+ char **p = enlist (cpp, lcp, len);
+ if (p == NULL)
+ {
+ freelist (cpp);
+ cpp = NULL;
+ break;
+ }
+ cpp = p;
+ }
}
return cpp;
}
@@ -3841,21 +3799,16 @@ dfamust (struct dfa *d)
result = empty_string;
exact = 0;
- musts = malloc((d->tindex + 1) * sizeof *musts);
- if (musts == NULL)
- return;
+ musts = xnmalloc(d->tindex + 1, sizeof *musts);
mp = musts;
for (i = 0; i <= d->tindex; ++i)
mp[i] = must0;
for (i = 0; i <= d->tindex; ++i)
{
- mp[i].in = malloc(sizeof *mp[i].in);
- mp[i].left = malloc(2);
- mp[i].right = malloc(2);
- mp[i].is = malloc(2);
- if (mp[i].in == NULL || mp[i].left == NULL ||
- mp[i].right == NULL || mp[i].is == NULL)
- goto done;
+ 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;
}
@@ -3962,13 +3915,8 @@ dfamust (struct dfa *d)
char *tp;
tp = icpyalloc(lmp->right);
- if (tp == NULL)
- goto done;
tp = icatalloc(tp, rmp->left);
- if (tp == NULL)
- goto done;
- lmp->in = enlist(lmp->in, tp,
- strlen(tp));
+ lmp->in = enlist(lmp->in, tp, strlen(tp));
free(tp);
if (lmp->in == NULL)
goto done;
@@ -4009,10 +3957,9 @@ dfamust (struct dfa *d)
goto done;
}
else if (t >= CSET
-#if MBS_SUPPORT
+ || !MBS_SUPPORT
|| t == ANYCHAR
|| t == MBCSET
-#endif /* MBS_SUPPORT */
)
{
/* easy enough */
@@ -4045,9 +3992,9 @@ dfamust (struct dfa *d)
done:
if (strlen(result))
{
- MALLOC(dm, struct dfamust, 1);
+ MALLOC(dm, 1);
dm->exact = exact;
- MALLOC(dm->must, char, strlen(result) + 1);
+ MALLOC(dm->must, strlen(result) + 1);
strcpy(dm->must, result);
dm->next = d->musts;
d->musts = dm;
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 2ae225be..53ab79a9 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,26 @@
+2011-09-24 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawk.1: Fix some spelling errors. Thanks to
+ Jeroen Schot <schot@A-Eskwadraat.nl>.
+ * gawk.texi: Some minor fixes.
+
+2011-07-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawk.texi (Gory Details): Restore text on historical behavior
+ etc. and add explanation on gawk 4.0.x.
+
+2011-07-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawk.texi: Add reference in node Expressions to node Precedence,
+ based on suggestion from Dan Jacobson dated 4 Jun 2001.
+
+2011-07-17 Paul Eggert <eggert@twinsun.com>
+
+ * gawk.texi: Warn up-front (indirectly) that plain gawk is not
+ compatible with SVR4 awk and with POSIX awk. Describe how
+ gawk differs from the GNU standard in its interpretation of
+ POSIXLY_CORRECT. (From mail dated 15 May 2001).
+
2011-06-24 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (EXTRA_DIST): Add ChangeLog.0.
diff --git a/doc/gawk.1 b/doc/gawk.1
index 24d7d2d5..205eb389 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -2491,7 +2491,7 @@ source array
.I s
unchanged. The optional string
.I how
-controls the direction and the comparsion mode.
+controls the direction and the comparison mode.
Valid values for
.I how
are
@@ -3775,7 +3775,7 @@ Concatenate and line number (a variation on a theme):
Run an external command for particular lines of data:
.ft B
- tail -f access_log |
+ tail \-f access_log |
awk '/myhome.html/ { system("nmap " $1 ">> logdir/myhome.html") }'
.ft R
.fi
diff --git a/doc/gawk.info b/doc/gawk.info
index 3dd9d731..13245683 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -654,12 +654,13 @@ inconvenient. Such jobs are often easier with `awk'. The `awk'
utility interprets a special-purpose programming language that makes it
easy to handle simple data-reformatting jobs.
- The GNU implementation of `awk' is called `gawk'; it is fully
-compatible with the POSIX(1) specification of the `awk' language and
-with the Unix version of `awk' maintained by Brian Kernighan. This
-means that all properly written `awk' programs should work with `gawk'.
-Thus, we usually don't distinguish between `gawk' and other `awk'
-implementations.
+ The GNU implementation of `awk' is called `gawk'; if you invoke it
+with the proper options or environment variables (*note Options::), it
+is fully compatible with the POSIX(1) specification of the `awk'
+language and with the Unix version of `awk' maintained by Brian
+Kernighan. This means that all properly written `awk' programs should
+work with `gawk'. Thus, we usually don't distinguish between `gawk'
+and other `awk' implementations.
Using `awk' allows you to:
@@ -2443,12 +2444,15 @@ source code.
If the environment variable `POSIXLY_CORRECT' exists, then `gawk'
behaves in strict POSIX mode, exactly as if you had supplied the
`--posix' command-line option. Many GNU programs look for this
-environment variable to turn on strict POSIX mode. If `--lint' is
-supplied on the command line and `gawk' turns on POSIX mode because of
-`POSIXLY_CORRECT', then it issues a warning message indicating that
-POSIX mode is in effect. You would typically set this variable in your
-shell's startup file. For a Bourne-compatible shell (such as Bash),
-you would add these lines to the `.profile' file in your home directory:
+environment variable to suppress extensions that conflict with POSIX,
+but `gawk' behaves differently: it suppresses all extensions, even
+those that do not conflict with POSIX, and behaves in strict POSIX
+mode. If `--lint' is supplied on the command line and `gawk' turns on
+POSIX mode because of `POSIXLY_CORRECT', then it issues a warning
+message indicating that POSIX mode is in effect. You would typically
+set this variable in your shell's startup file. For a
+Bourne-compatible shell (such as Bash), you would add these lines to
+the `.profile' file in your home directory:
POSIXLY_CORRECT=true
export POSIXLY_CORRECT
@@ -8109,6 +8113,9 @@ inside Boolean patterns. Likewise, the special patterns `BEGIN', `END',
`BEGINFILE' and `ENDFILE', which never match any input record, are not
expressions and cannot appear inside Boolean patterns.
+ The precedence of the different operators which can appear in
+patterns is described in *note Precedence::.
+

File: gawk.info, Node: Ranges, Next: BEGIN/END, Prev: Expression Patterns, Up: Pattern Overview
@@ -8336,7 +8343,8 @@ would otherwise be difficult or impossible to perform:
The `ENDFILE' rule is called when `gawk' has finished processing the
last record in an input file. For the last input file, it will be
-called before any `END' rules.
+called before any `END' rules. The `ENDFILE' rule is executed even for
+empty input files.
Normally, when an error occurs when reading input in the normal input
processing loop, the error is fatal. However, if an `ENDFILE' rule is
@@ -8960,13 +8968,16 @@ implementations, or if `gawk' is in compatibility mode (*note
Options::), `nextfile' is not special.
Upon execution of the `nextfile' statement, any `ENDFILE' rules are
-executed, `FILENAME' is updated to the name of the next data file
-listed on the command line, `FNR' is reset to one, `ARGIND' is
-incremented, any `BEGINFILE' rules are executed, and processing starts
-over with the first rule in the program. (`ARGIND' hasn't been
-introduced yet. *Note Built-in Variables::.) If the `nextfile'
-statement causes the end of the input to be reached, then the code in
-any `END' rules is executed. *Note BEGIN/END::.
+executed except in the case as mentioned below, `FILENAME' is updated
+to the name of the next data file listed on the command line, `FNR' is
+reset to one, `ARGIND' is incremented, any `BEGINFILE' rules are
+executed, and processing starts over with the first rule in the program.
+(`ARGIND' hasn't been introduced yet. *Note Built-in Variables::.) If
+the `nextfile' statement causes the end of the input to be reached,
+then the code in any `END' rules is executed. An exception to this is
+when the `nextfile' is invoked during execution of any statement in an
+`END' rule; In this case, it causes the program to stop immediately.
+*Note BEGIN/END::.
The `nextfile' statement is useful when there are many data files to
process but it isn't necessary to process every record in every file.
@@ -8976,7 +8987,8 @@ accomplishes this much more efficiently.
In addition, `nextfile' is useful inside a `BEGINFILE' rule to skip
over a file that would otherwise cause `gawk' to exit with a fatal
-error. *Note BEGINFILE/ENDFILE::.
+error. In this case, `ENDFILE' rules are not executed. *Note
+BEGINFILE/ENDFILE::.
While one might think that `close(FILENAME)' would accomplish the
same as `nextfile', this isn't true. `close()' is reserved for closing
@@ -11153,6 +11165,62 @@ backslashes entered at the lexical level.)
The problem with the historical approach is that there is no way to
get a literal `\' followed by the matched text.
+ The 1992 POSIX standard attempted to fix this problem. That standard
+says that `sub()' and `gsub()' look for either a `\' or an `&' after
+the `\'. If either one follows a `\', that character is output
+literally. The interpretation of `\' and `&' then becomes as shown in
+*note table-sub-posix-92::.
+
+ You type `sub()' sees `sub()' generates
+ ------- --------- --------------
+ `&' `&' the matched text
+ `\\&' `\&' a literal `&'
+ `\\\\&' `\\&' a literal `\', then the matched text
+ `\\\\\\&' `\\\&' a literal `\&'
+
+Table 9.2: 1992 POSIX Rules for sub and gsub Escape Sequence Processing
+
+This appears to solve the problem. Unfortunately, the phrasing of the
+standard is unusual. It says, in effect, that `\' turns off the special
+meaning of any following character, but for anything other than `\' and
+`&', such special meaning is undefined. This wording leads to two
+problems:
+
+ * Backslashes must now be doubled in the REPLACEMENT string, breaking
+ historical `awk' programs.
+
+ * To make sure that an `awk' program is portable, _every_ character
+ in the REPLACEMENT string must be preceded with a backslash.(1)
+
+ Because of the problems just listed, in 1996, the `gawk' maintainer
+submitted proposed text for a revised standard that reverts to rules
+that correspond more closely to the original existing practice. The
+proposed rules have special cases that make it possible to produce a
+`\' preceding the matched text. This is shown in *note
+table-sub-proposed::.
+
+ You type `sub()' sees `sub()' generates
+ ------- --------- --------------
+ `\\\\\\&' `\\\&' a literal `\&'
+ `\\\\&' `\\&' a literal `\', followed by the matched text
+ `\\&' `\&' a literal `&'
+ `\\q' `\q' a literal `\q'
+ `\\\\' `\\' `\\'
+
+Table 9.3: Proposed rules for sub and backslash
+
+ In a nutshell, at the runtime level, there are now three special
+sequences of characters (`\\\&', `\\&' and `\&') whereas historically
+there was only one. However, as in the historical case, any `\' that
+is not part of one of these three sequences is not special and appears
+in the output literally.
+
+ `gawk' 3.0 and 3.1 follow these proposed POSIX rules for `sub()' and
+`gsub()'. The POSIX standard took much longer to be revised than was
+expected in 1996. The 2001 standard does not follow the above rules.
+Instead, the rules there are somewhat simpler. The results are similar
+except for one case.
+
The POSIX rules state that `\&' in the replacement string produces a
literal `&', `\\' produces a literal `\', and `\' followed by anything
else is not special; the `\' is placed straight into the output. These
@@ -11166,9 +11234,21 @@ rules are presented in *note table-posix-sub::.
`\\q' `\q' a literal `\q'
`\\\\' `\\' `\'
-Table 9.2: POSIX rules for `sub()' and `gsub()'
+Table 9.4: POSIX rules for `sub()' and `gsub()'
- `gawk' follows the POSIX rules.
+ The only case where the difference is noticeable is the last one:
+`\\\\' is seen as `\\' and produces `\' instead of `\\'.
+
+ Starting with version 3.1.4, `gawk' followed the POSIX rules when
+`--posix' is specified (*note Options::). Otherwise, it continued to
+follow the 1996 proposed rules, since that had been its behavior for
+many years.
+
+ When version 4.0.0, was released, the `gawk' maintainer made the
+POSIX rules the default, breaking well over a decade's worth of
+backwards compatibility.(2) Needless to say, this was a bad idea, and
+as of version 4.0.1, `gawk' resumed its historical behavior, and only
+follows the POSIX rules when `--posix' is given.
The rules for `gensub()' are considerably simpler. At the runtime
level, whenever `gawk' sees a `\', if the following character is a
@@ -11186,7 +11266,7 @@ the `\' does not, as shown in *note table-gensub-escapes::.
`\\\\\\&' `\\\&' a literal `\&'
`\\q' `\q' a literal `q'
-Table 9.3: Escape Sequence Processing for `gensub()'
+Table 9.5: Escape Sequence Processing for `gensub()'
Because of the complexity of the lexical and runtime level processing
and the special cases for `sub()' and `gsub()', we recommend the use of
@@ -11204,6 +11284,14 @@ functions. For example:
Although this makes a certain amount of sense, it can be surprising.
+ ---------- Footnotes ----------
+
+ (1) This consequence was certainly unintended.
+
+ (2) This was rather naive of him, despite there being a note in this
+section indicating that the next major version would move to the POSIX
+rules.
+

File: gawk.info, Node: I/O Functions, Next: Time Functions, Prev: String Functions, Up: Built-in
@@ -11727,7 +11815,7 @@ table-bitwise-ops::.
0 | 0 0 | 0 1 | 0 1
1 | 0 1 | 1 1 | 1 0
-Table 9.4: Bitwise Operations
+Table 9.6: Bitwise Operations
As you can see, the result of an AND operation is 1 only when _both_
bits are 1. The result of an OR operation is 1 if _either_ bit is 1.
@@ -13711,7 +13799,7 @@ affect the loop.
-| 4 4
-| 3 3
$ gawk 'BEGIN {
- > PROCINFO["sorted_in"] = "@str_ind_asc"
+ > PROCINFO["sorted_in"] = "@ind_str_asc"
> a[4] = 4
> a[3] = 3
> for (i in a)
@@ -24621,7 +24709,7 @@ Index
* * (asterisk), * operator, as regexp operator: Regexp Operators.
(line 87)
* * (asterisk), * operator, null strings, matching: Gory Details.
- (line 96)
+ (line 164)
* * (asterisk), ** operator <1>: Precedence. (line 49)
* * (asterisk), ** operator: Arithmetic Ops. (line 81)
* * (asterisk), **= operator <1>: Precedence. (line 95)
@@ -24861,7 +24949,7 @@ Index
(line 23)
* advanced features, network connections, See Also networks, connections: Advanced Features.
(line 6)
-* advanced features, null strings, matching: Gory Details. (line 96)
+* advanced features, null strings, matching: Gory Details. (line 164)
* advanced features, operators, precedence: Increment Ops. (line 61)
* advanced features, piping into sh: Redirection. (line 143)
* advanced features, regexp constants: Assignment Ops. (line 148)
@@ -24958,7 +25046,7 @@ Index
* asterisk (*), * operator, as regexp operator: Regexp Operators.
(line 87)
* asterisk (*), * operator, null strings, matching: Gory Details.
- (line 96)
+ (line 164)
* asterisk (*), ** operator <1>: Precedence. (line 49)
* asterisk (*), ** operator: Arithmetic Ops. (line 81)
* asterisk (*), **= operator <1>: Precedence. (line 95)
@@ -24992,7 +25080,7 @@ Index
(line 6)
* awk, function of: Getting Started. (line 6)
* awk, gawk and <1>: This Manual. (line 14)
-* awk, gawk and: Preface. (line 22)
+* awk, gawk and: Preface. (line 23)
* awk, history of: History. (line 17)
* awk, implementation issues, pipes: Redirection. (line 135)
* awk, implementations: Other Versions. (line 6)
@@ -25000,15 +25088,15 @@ Index
* awk, invoking: Command Line. (line 6)
* awk, new vs. old: Names. (line 6)
* awk, new vs. old, OFMT variable: Conversion. (line 55)
-* awk, POSIX and: Preface. (line 22)
-* awk, POSIX and, See Also POSIX awk: Preface. (line 22)
+* awk, POSIX and: Preface. (line 23)
+* awk, POSIX and, See Also POSIX awk: Preface. (line 23)
* awk, regexp constants and: Comparison Operators.
(line 103)
-* awk, See Also gawk: Preface. (line 35)
+* awk, See Also gawk: Preface. (line 36)
* awk, terms describing: This Manual. (line 6)
* awk, uses for <1>: When. (line 6)
* awk, uses for <2>: Getting Started. (line 12)
-* awk, uses for: Preface. (line 22)
+* awk, uses for: Preface. (line 23)
* awk, versions of <1>: V7/SVR3.1. (line 6)
* awk, versions of: Names. (line 10)
* awk, versions of, changes between SVR3.1 and SVR4: SVR4. (line 6)
@@ -25323,7 +25411,7 @@ Index
* cos() function: Numeric Functions. (line 14)
* counting: Wc Program. (line 6)
* csh utility: Statements/Lines. (line 44)
-* csh utility, POSIXLY_CORRECT environment variable: Options. (line 302)
+* csh utility, POSIXLY_CORRECT environment variable: Options. (line 305)
* csh utility, |& operator, comparison with: Two-way I/O. (line 44)
* ctime() user-defined function: Function Example. (line 72)
* currency symbols, localization: Explaining gettext. (line 103)
@@ -25925,14 +26013,14 @@ Index
* functions, user-defined, counts: Profiling. (line 132)
* functions, user-defined, library of: Library Functions. (line 6)
* functions, user-defined, next/nextfile statements and <1>: Nextfile Statement.
- (line 40)
+ (line 44)
* functions, user-defined, next/nextfile statements and: Next Statement.
(line 45)
* G-d: Acknowledgments. (line 81)
* Garfinkle, Scott: Contributors. (line 35)
* gawk, ARGIND variable in: Other Arguments. (line 12)
* gawk, awk and <1>: This Manual. (line 14)
-* gawk, awk and: Preface. (line 22)
+* gawk, awk and: Preface. (line 23)
* gawk, bitwise operations in: Bitwise Functions. (line 39)
* gawk, break statement in: Break Statement. (line 51)
* gawk, built-in variables and: Built-in Variables. (line 14)
@@ -26013,13 +26101,13 @@ Index
(line 10)
* gawk, RT variable in <3>: Multiple Line. (line 129)
* gawk, RT variable in: Records. (line 112)
-* gawk, See Also awk: Preface. (line 35)
+* gawk, See Also awk: Preface. (line 36)
* gawk, source code, obtaining: Getting. (line 6)
* gawk, splitting fields and: Constant Size. (line 87)
* gawk, string-translation functions: I18N Functions. (line 6)
* gawk, TEXTDOMAIN variable in: User-modified. (line 153)
* gawk, timestamps: Time Functions. (line 6)
-* gawk, uses for: Preface. (line 35)
+* gawk, uses for: Preface. (line 36)
* gawk, versions of, information about, printing: Options. (line 250)
* gawk, VMS version of: VMS Installation. (line 6)
* gawk, word-boundary operator: GNU Regexp Operators.
@@ -26059,7 +26147,7 @@ Index
* getline command, return values: Getline. (line 19)
* getline command, variants: Getline Summary. (line 6)
* getline statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE.
- (line 53)
+ (line 54)
* getopt() function (C library): Getopt Function. (line 15)
* getopt() user-defined function: Getopt Function. (line 108)
* getpwent() function (C library): Passwd Functions. (line 16)
@@ -26074,7 +26162,7 @@ Index
* gettimeofday() user-defined function: Gettimeofday Function.
(line 16)
* GNITS mailing list: Acknowledgments. (line 52)
-* GNU awk, See gawk: Preface. (line 48)
+* GNU awk, See gawk: Preface. (line 49)
* GNU Free Documentation License: GNU Free Documentation License.
(line 6)
* GNU General Public License: Glossary. (line 310)
@@ -26382,7 +26470,7 @@ Index
* matching, expressions, See comparison expressions: Typing and Comparison.
(line 9)
* matching, leftmost longest: Multiple Line. (line 26)
-* matching, null strings: Gory Details. (line 96)
+* matching, null strings: Gory Details. (line 164)
* mawk program: Other Versions. (line 35)
* McPhee, Patrick: Contributors. (line 100)
* memory, releasing: Internals. (line 101)
@@ -26431,7 +26519,7 @@ Index
* next statement: Boolean Ops. (line 85)
* next statement, BEGIN/END patterns and: I/O And BEGIN/END. (line 37)
* next statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE.
- (line 48)
+ (line 49)
* next statement, user-defined functions and: Next Statement. (line 45)
* nextfile statement: Nextfile Statement. (line 6)
* nextfile statement, BEGIN/END patterns and: I/O And BEGIN/END.
@@ -26439,7 +26527,7 @@ Index
* nextfile statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE.
(line 26)
* nextfile statement, user-defined functions and: Nextfile Statement.
- (line 40)
+ (line 44)
* nexti debugger command: Dgawk Execution Control.
(line 49)
* NF variable <1>: Auto-set. (line 107)
@@ -26463,7 +26551,7 @@ Index
* null strings, as array subscripts: Uninitialized Subscripts.
(line 43)
* null strings, converting numbers to strings: Conversion. (line 21)
-* null strings, matching: Gory Details. (line 96)
+* null strings, matching: Gory Details. (line 164)
* null strings, quoting and: Quoting. (line 62)
* number sign (#), #! (executable scripts): Executable Scripts.
(line 6)
@@ -26642,7 +26730,7 @@ Index
* portability, NF variable, decrementing: Changing Fields. (line 115)
* portability, operators: Increment Ops. (line 61)
* portability, operators, not in POSIX awk: Precedence. (line 98)
-* portability, POSIXLY_CORRECT environment variable: Options. (line 307)
+* portability, POSIXLY_CORRECT environment variable: Options. (line 310)
* portability, substr() function: String Functions. (line 512)
* portable object files <1>: Translator i18n. (line 6)
* portable object files: Explaining gettext. (line 36)
@@ -26679,6 +26767,7 @@ Index
* POSIX awk, field separators and: Fields. (line 6)
* POSIX awk, FS variable and: User-modified. (line 66)
* POSIX awk, function keyword in: Definition Syntax. (line 83)
+* POSIX awk, functions and, gsub()/sub(): Gory Details. (line 54)
* POSIX awk, functions and, length(): String Functions. (line 175)
* POSIX awk, GNU long options and: Options. (line 15)
* POSIX awk, interval expressions in: Regexp Operators. (line 135)
@@ -26692,7 +26781,7 @@ Index
* POSIX awk, timestamps and: Time Functions. (line 6)
* POSIX awk, | I/O operator and: Getline/Pipe. (line 52)
* POSIX mode: Options. (line 199)
-* POSIX, awk and: Preface. (line 22)
+* POSIX, awk and: Preface. (line 23)
* POSIX, gawk extensions not included in: POSIX/GNU. (line 6)
* POSIX, programs, implementing in awk: Clones. (line 6)
* POSIXLY_CORRECT environment variable: Options. (line 289)
@@ -27364,411 +27453,415 @@ Tag Table:
Node: Top1346
Node: Foreword33440
Node: Preface37785
-Ref: Preface-Footnote-140752
-Ref: Preface-Footnote-240858
-Node: History41090
-Node: Names43481
-Ref: Names-Footnote-144958
-Node: This Manual45030
-Ref: This Manual-Footnote-149977
-Node: Conventions50077
-Node: Manual History52211
-Ref: Manual History-Footnote-155481
-Ref: Manual History-Footnote-255522
-Node: How To Contribute55596
-Node: Acknowledgments56740
-Node: Getting Started61071
-Node: Running gawk63450
-Node: One-shot64636
-Node: Read Terminal65861
-Ref: Read Terminal-Footnote-167511
-Ref: Read Terminal-Footnote-267787
-Node: Long67958
-Node: Executable Scripts69334
-Ref: Executable Scripts-Footnote-171203
-Ref: Executable Scripts-Footnote-271305
-Node: Comments71756
-Node: Quoting74223
-Node: DOS Quoting78846
-Node: Sample Data Files79521
-Node: Very Simple82553
-Node: Two Rules87152
-Node: More Complex89299
-Ref: More Complex-Footnote-192229
-Node: Statements/Lines92314
-Ref: Statements/Lines-Footnote-196776
-Node: Other Features97041
-Node: When97969
-Node: Invoking Gawk100116
-Node: Command Line101501
-Node: Options102284
-Ref: Options-Footnote-1115562
-Node: Other Arguments115587
-Node: Naming Standard Input118245
-Node: Environment Variables119339
-Node: AWKPATH Variable119783
-Ref: AWKPATH Variable-Footnote-1122380
-Node: Other Environment Variables122640
-Node: Exit Status124980
-Node: Include Files125655
-Node: Obsolete129140
-Node: Undocumented129826
-Node: Regexp130067
-Node: Regexp Usage131456
-Node: Escape Sequences133482
-Node: Regexp Operators139245
-Ref: Regexp Operators-Footnote-1146442
-Ref: Regexp Operators-Footnote-2146589
-Node: Bracket Expressions146687
-Ref: table-char-classes148577
-Node: GNU Regexp Operators151100
-Node: Case-sensitivity154823
-Ref: Case-sensitivity-Footnote-1157791
-Ref: Case-sensitivity-Footnote-2158026
-Node: Leftmost Longest158134
-Node: Computed Regexps159335
-Node: Reading Files162745
-Node: Records164686
-Ref: Records-Footnote-1173360
-Node: Fields173397
-Ref: Fields-Footnote-1176430
-Node: Nonconstant Fields176516
-Node: Changing Fields178718
-Node: Field Separators184696
-Node: Default Field Splitting187325
-Node: Regexp Field Splitting188442
-Node: Single Character Fields191784
-Node: Command Line Field Separator192843
-Node: Field Splitting Summary196284
-Ref: Field Splitting Summary-Footnote-1199476
-Node: Constant Size199577
-Node: Splitting By Content204161
-Ref: Splitting By Content-Footnote-1207887
-Node: Multiple Line207927
-Ref: Multiple Line-Footnote-1213774
-Node: Getline213953
-Node: Plain Getline216181
-Node: Getline/Variable218270
-Node: Getline/File219411
-Node: Getline/Variable/File220733
-Ref: Getline/Variable/File-Footnote-1222332
-Node: Getline/Pipe222419
-Node: Getline/Variable/Pipe224979
-Node: Getline/Coprocess226086
-Node: Getline/Variable/Coprocess227329
-Node: Getline Notes228043
-Node: Getline Summary229985
-Ref: table-getline-variants230328
-Node: Command line directories231184
-Node: Printing231809
-Node: Print233440
-Node: Print Examples234777
-Node: Output Separators237561
-Node: OFMT239321
-Node: Printf240679
-Node: Basic Printf241585
-Node: Control Letters243124
-Node: Format Modifiers246936
-Node: Printf Examples252945
-Node: Redirection255660
-Node: Special Files262644
-Node: Special FD263177
-Ref: Special FD-Footnote-1266802
-Node: Special Network266876
-Node: Special Caveats267726
-Node: Close Files And Pipes268522
-Ref: Close Files And Pipes-Footnote-1275545
-Ref: Close Files And Pipes-Footnote-2275693
-Node: Expressions275843
-Node: Values276975
-Node: Constants277651
-Node: Scalar Constants278331
-Ref: Scalar Constants-Footnote-1279190
-Node: Nondecimal-numbers279372
-Node: Regexp Constants282431
-Node: Using Constant Regexps282906
-Node: Variables285961
-Node: Using Variables286616
-Node: Assignment Options288340
-Node: Conversion290212
-Ref: table-locale-affects295588
-Ref: Conversion-Footnote-1296212
-Node: All Operators296321
-Node: Arithmetic Ops296951
-Node: Concatenation299456
-Ref: Concatenation-Footnote-1302249
-Node: Assignment Ops302369
-Ref: table-assign-ops307357
-Node: Increment Ops308765
-Node: Truth Values and Conditions312235
-Node: Truth Values313318
-Node: Typing and Comparison314367
-Node: Variable Typing315156
-Ref: Variable Typing-Footnote-1319053
-Node: Comparison Operators319175
-Ref: table-relational-ops319585
-Node: POSIX String Comparison323134
-Ref: POSIX String Comparison-Footnote-1324090
-Node: Boolean Ops324228
-Ref: Boolean Ops-Footnote-1328306
-Node: Conditional Exp328397
-Node: Function Calls330129
-Node: Precedence333723
-Node: Locales337392
-Node: Patterns and Actions338481
-Node: Pattern Overview339535
-Node: Regexp Patterns341201
-Node: Expression Patterns341744
-Node: Ranges345318
-Node: BEGIN/END348284
-Node: Using BEGIN/END349046
-Ref: Using BEGIN/END-Footnote-1351777
-Node: I/O And BEGIN/END351883
-Node: BEGINFILE/ENDFILE354165
-Node: Empty356998
-Node: Using Shell Variables357314
-Node: Action Overview359599
-Node: Statements361956
-Node: If Statement363810
-Node: While Statement365309
-Node: Do Statement367353
-Node: For Statement368509
-Node: Switch Statement371661
-Node: Break Statement373758
-Node: Continue Statement375748
-Node: Next Statement377535
-Node: Nextfile Statement379925
-Node: Exit Statement382222
-Node: Built-in Variables384638
-Node: User-modified385733
-Ref: User-modified-Footnote-1393759
-Node: Auto-set393821
-Ref: Auto-set-Footnote-1403112
-Node: ARGC and ARGV403317
-Node: Arrays407168
-Node: Array Basics408673
-Node: Array Intro409384
-Node: Reference to Elements413702
-Node: Assigning Elements415972
-Node: Array Example416463
-Node: Scanning an Array418195
-Node: Delete420861
-Ref: Delete-Footnote-1423296
-Node: Numeric Array Subscripts423353
-Node: Uninitialized Subscripts425536
-Node: Multi-dimensional427164
-Node: Multi-scanning430258
-Node: Arrays of Arrays431842
-Node: Functions436419
-Node: Built-in437241
-Node: Calling Built-in438319
-Node: Numeric Functions440307
-Ref: Numeric Functions-Footnote-1444072
-Ref: Numeric Functions-Footnote-2444429
-Ref: Numeric Functions-Footnote-3444477
-Node: String Functions444746
-Ref: String Functions-Footnote-1468243
-Ref: String Functions-Footnote-2468372
-Ref: String Functions-Footnote-3468620
-Node: Gory Details468707
-Ref: table-sub-escapes470386
-Ref: table-posix-sub471700
-Ref: table-gensub-escapes472613
-Node: I/O Functions473784
-Ref: I/O Functions-Footnote-1480439
-Node: Time Functions480586
-Ref: Time Functions-Footnote-1491478
-Ref: Time Functions-Footnote-2491546
-Ref: Time Functions-Footnote-3491704
-Ref: Time Functions-Footnote-4491815
-Ref: Time Functions-Footnote-5491927
-Ref: Time Functions-Footnote-6492154
-Node: Bitwise Functions492420
-Ref: table-bitwise-ops492978
-Ref: Bitwise Functions-Footnote-1497138
-Node: Type Functions497322
-Node: I18N Functions497792
-Node: User-defined499419
-Node: Definition Syntax500223
-Ref: Definition Syntax-Footnote-1505133
-Node: Function Example505202
-Node: Function Caveats507796
-Node: Calling A Function508217
-Node: Variable Scope509332
-Node: Pass By Value/Reference511307
-Node: Return Statement514747
-Node: Dynamic Typing517728
-Node: Indirect Calls518463
-Node: Internationalization528148
-Node: I18N and L10N529574
-Node: Explaining gettext530260
-Ref: Explaining gettext-Footnote-1535326
-Ref: Explaining gettext-Footnote-2535510
-Node: Programmer i18n535675
-Node: Translator i18n539875
-Node: String Extraction540668
-Ref: String Extraction-Footnote-1541629
-Node: Printf Ordering541715
-Ref: Printf Ordering-Footnote-1544499
-Node: I18N Portability544563
-Ref: I18N Portability-Footnote-1547012
-Node: I18N Example547075
-Ref: I18N Example-Footnote-1549710
-Node: Gawk I18N549782
-Node: Advanced Features550399
-Node: Nondecimal Data551912
-Node: Array Sorting553495
-Node: Controlling Array Traversal554195
-Node: Controlling Scanning With A Function554942
-Node: Controlling Scanning562645
-Ref: Controlling Scanning-Footnote-1566446
-Node: Array Sorting Functions566762
-Ref: Array Sorting Functions-Footnote-1570278
-Ref: Array Sorting Functions-Footnote-2570371
-Node: Two-way I/O570565
-Ref: Two-way I/O-Footnote-1575997
-Node: TCP/IP Networking576067
-Node: Profiling578911
-Node: Library Functions586385
-Ref: Library Functions-Footnote-1589392
-Node: Library Names589563
-Ref: Library Names-Footnote-1593034
-Ref: Library Names-Footnote-2593254
-Node: General Functions593340
-Node: Strtonum Function594293
-Node: Assert Function597223
-Node: Round Function600549
-Node: Cliff Random Function602092
-Node: Ordinal Functions603108
-Ref: Ordinal Functions-Footnote-1606178
-Ref: Ordinal Functions-Footnote-2606430
-Node: Join Function606639
-Ref: Join Function-Footnote-1608410
-Node: Gettimeofday Function608610
-Node: Data File Management612325
-Node: Filetrans Function612957
-Node: Rewind Function617096
-Node: File Checking618483
-Node: Empty Files619577
-Node: Ignoring Assigns621807
-Node: Getopt Function623360
-Ref: Getopt Function-Footnote-1634664
-Node: Passwd Functions634867
-Ref: Passwd Functions-Footnote-1643842
-Node: Group Functions643930
-Node: Walking Arrays652014
-Node: Sample Programs653583
-Node: Running Examples654248
-Node: Clones654976
-Node: Cut Program656200
-Node: Egrep Program666045
-Ref: Egrep Program-Footnote-1673818
-Node: Id Program673928
-Node: Split Program677544
-Ref: Split Program-Footnote-1681063
-Node: Tee Program681191
-Node: Uniq Program683994
-Node: Wc Program691423
-Ref: Wc Program-Footnote-1695689
-Ref: Wc Program-Footnote-2695889
-Node: Miscellaneous Programs695981
-Node: Dupword Program697169
-Node: Alarm Program699200
-Node: Translate Program703949
-Ref: Translate Program-Footnote-1708336
-Ref: Translate Program-Footnote-2708564
-Node: Labels Program708698
-Ref: Labels Program-Footnote-1712069
-Node: Word Sorting712153
-Node: History Sorting716037
-Node: Extract Program717876
-Ref: Extract Program-Footnote-1725359
-Node: Simple Sed725487
-Node: Igawk Program728549
-Ref: Igawk Program-Footnote-1743706
-Ref: Igawk Program-Footnote-2743907
-Node: Anagram Program744045
-Node: Signature Program747113
-Node: Debugger748213
-Node: Debugging749124
-Node: Debugging Concepts749537
-Node: Debugging Terms751393
-Node: Awk Debugging754016
-Node: Sample dgawk session754908
-Node: dgawk invocation755400
-Node: Finding The Bug756582
-Node: List of Debugger Commands763068
-Node: Breakpoint Control764379
-Node: Dgawk Execution Control768015
-Node: Viewing And Changing Data771366
-Node: Dgawk Stack774703
-Node: Dgawk Info776163
-Node: Miscellaneous Dgawk Commands780111
-Node: Readline Support785539
-Node: Dgawk Limitations786377
-Node: Language History788566
-Node: V7/SVR3.1790078
-Node: SVR4792399
-Node: POSIX793841
-Node: BTL794849
-Node: POSIX/GNU795583
-Node: Common Extensions800734
-Node: Ranges and Locales801841
-Ref: Ranges and Locales-Footnote-1806448
-Node: Contributors806669
-Node: Installation810931
-Node: Gawk Distribution811825
-Node: Getting812309
-Node: Extracting813135
-Node: Distribution contents814827
-Node: Unix Installation820049
-Node: Quick Installation820666
-Node: Additional Configuration Options822628
-Node: Configuration Philosophy824105
-Node: Non-Unix Installation826447
-Node: PC Installation826905
-Node: PC Binary Installation828204
-Node: PC Compiling830052
-Node: PC Testing832996
-Node: PC Using834172
-Node: Cygwin838357
-Node: MSYS839357
-Node: VMS Installation839871
-Node: VMS Compilation840474
-Ref: VMS Compilation-Footnote-1841481
-Node: VMS Installation Details841539
-Node: VMS Running843174
-Node: VMS Old Gawk844781
-Node: Bugs845255
-Node: Other Versions849108
-Node: Notes854389
-Node: Compatibility Mode855081
-Node: Additions855864
-Node: Accessing The Source856676
-Node: Adding Code858101
-Node: New Ports864068
-Node: Dynamic Extensions868181
-Node: Internals869557
-Node: Plugin License878660
-Node: Sample Library879294
-Node: Internal File Description879980
-Node: Internal File Ops883695
-Ref: Internal File Ops-Footnote-1888476
-Node: Using Internal File Ops888616
-Node: Future Extensions890993
-Node: Basic Concepts893497
-Node: Basic High Level894254
-Ref: Basic High Level-Footnote-1898289
-Node: Basic Data Typing898474
-Node: Floating Point Issues902999
-Node: String Conversion Precision904082
-Ref: String Conversion Precision-Footnote-1905782
-Node: Unexpected Results905891
-Node: POSIX Floating Point Problems907717
-Ref: POSIX Floating Point Problems-Footnote-1911422
-Node: Glossary911460
-Node: Copying936436
-Node: GNU Free Documentation License973993
-Node: Index999130
+Ref: Preface-Footnote-140838
+Ref: Preface-Footnote-240944
+Node: History41176
+Node: Names43567
+Ref: Names-Footnote-145044
+Node: This Manual45116
+Ref: This Manual-Footnote-150063
+Node: Conventions50163
+Node: Manual History52297
+Ref: Manual History-Footnote-155567
+Ref: Manual History-Footnote-255608
+Node: How To Contribute55682
+Node: Acknowledgments56826
+Node: Getting Started61157
+Node: Running gawk63536
+Node: One-shot64722
+Node: Read Terminal65947
+Ref: Read Terminal-Footnote-167597
+Ref: Read Terminal-Footnote-267873
+Node: Long68044
+Node: Executable Scripts69420
+Ref: Executable Scripts-Footnote-171289
+Ref: Executable Scripts-Footnote-271391
+Node: Comments71842
+Node: Quoting74309
+Node: DOS Quoting78932
+Node: Sample Data Files79607
+Node: Very Simple82639
+Node: Two Rules87238
+Node: More Complex89385
+Ref: More Complex-Footnote-192315
+Node: Statements/Lines92400
+Ref: Statements/Lines-Footnote-196862
+Node: Other Features97127
+Node: When98055
+Node: Invoking Gawk100202
+Node: Command Line101587
+Node: Options102370
+Ref: Options-Footnote-1115807
+Node: Other Arguments115832
+Node: Naming Standard Input118490
+Node: Environment Variables119584
+Node: AWKPATH Variable120028
+Ref: AWKPATH Variable-Footnote-1122625
+Node: Other Environment Variables122885
+Node: Exit Status125225
+Node: Include Files125900
+Node: Obsolete129385
+Node: Undocumented130071
+Node: Regexp130312
+Node: Regexp Usage131701
+Node: Escape Sequences133727
+Node: Regexp Operators139490
+Ref: Regexp Operators-Footnote-1146687
+Ref: Regexp Operators-Footnote-2146834
+Node: Bracket Expressions146932
+Ref: table-char-classes148822
+Node: GNU Regexp Operators151345
+Node: Case-sensitivity155068
+Ref: Case-sensitivity-Footnote-1158036
+Ref: Case-sensitivity-Footnote-2158271
+Node: Leftmost Longest158379
+Node: Computed Regexps159580
+Node: Reading Files162990
+Node: Records164931
+Ref: Records-Footnote-1173605
+Node: Fields173642
+Ref: Fields-Footnote-1176675
+Node: Nonconstant Fields176761
+Node: Changing Fields178963
+Node: Field Separators184941
+Node: Default Field Splitting187570
+Node: Regexp Field Splitting188687
+Node: Single Character Fields192029
+Node: Command Line Field Separator193088
+Node: Field Splitting Summary196529
+Ref: Field Splitting Summary-Footnote-1199721
+Node: Constant Size199822
+Node: Splitting By Content204406
+Ref: Splitting By Content-Footnote-1208132
+Node: Multiple Line208172
+Ref: Multiple Line-Footnote-1214019
+Node: Getline214198
+Node: Plain Getline216426
+Node: Getline/Variable218515
+Node: Getline/File219656
+Node: Getline/Variable/File220978
+Ref: Getline/Variable/File-Footnote-1222577
+Node: Getline/Pipe222664
+Node: Getline/Variable/Pipe225224
+Node: Getline/Coprocess226331
+Node: Getline/Variable/Coprocess227574
+Node: Getline Notes228288
+Node: Getline Summary230230
+Ref: table-getline-variants230573
+Node: Command line directories231429
+Node: Printing232054
+Node: Print233685
+Node: Print Examples235022
+Node: Output Separators237806
+Node: OFMT239566
+Node: Printf240924
+Node: Basic Printf241830
+Node: Control Letters243369
+Node: Format Modifiers247181
+Node: Printf Examples253190
+Node: Redirection255905
+Node: Special Files262889
+Node: Special FD263422
+Ref: Special FD-Footnote-1267047
+Node: Special Network267121
+Node: Special Caveats267971
+Node: Close Files And Pipes268767
+Ref: Close Files And Pipes-Footnote-1275790
+Ref: Close Files And Pipes-Footnote-2275938
+Node: Expressions276088
+Node: Values277220
+Node: Constants277896
+Node: Scalar Constants278576
+Ref: Scalar Constants-Footnote-1279435
+Node: Nondecimal-numbers279617
+Node: Regexp Constants282676
+Node: Using Constant Regexps283151
+Node: Variables286206
+Node: Using Variables286861
+Node: Assignment Options288585
+Node: Conversion290457
+Ref: table-locale-affects295833
+Ref: Conversion-Footnote-1296457
+Node: All Operators296566
+Node: Arithmetic Ops297196
+Node: Concatenation299701
+Ref: Concatenation-Footnote-1302494
+Node: Assignment Ops302614
+Ref: table-assign-ops307602
+Node: Increment Ops309010
+Node: Truth Values and Conditions312480
+Node: Truth Values313563
+Node: Typing and Comparison314612
+Node: Variable Typing315401
+Ref: Variable Typing-Footnote-1319298
+Node: Comparison Operators319420
+Ref: table-relational-ops319830
+Node: POSIX String Comparison323379
+Ref: POSIX String Comparison-Footnote-1324335
+Node: Boolean Ops324473
+Ref: Boolean Ops-Footnote-1328551
+Node: Conditional Exp328642
+Node: Function Calls330374
+Node: Precedence333968
+Node: Locales337637
+Node: Patterns and Actions338726
+Node: Pattern Overview339780
+Node: Regexp Patterns341446
+Node: Expression Patterns341989
+Node: Ranges345674
+Node: BEGIN/END348640
+Node: Using BEGIN/END349402
+Ref: Using BEGIN/END-Footnote-1352133
+Node: I/O And BEGIN/END352239
+Node: BEGINFILE/ENDFILE354521
+Node: Empty357414
+Node: Using Shell Variables357730
+Node: Action Overview360015
+Node: Statements362372
+Node: If Statement364226
+Node: While Statement365725
+Node: Do Statement367769
+Node: For Statement368925
+Node: Switch Statement372077
+Node: Break Statement374174
+Node: Continue Statement376164
+Node: Next Statement377951
+Node: Nextfile Statement380341
+Node: Exit Statement382886
+Node: Built-in Variables385302
+Node: User-modified386397
+Ref: User-modified-Footnote-1394423
+Node: Auto-set394485
+Ref: Auto-set-Footnote-1403776
+Node: ARGC and ARGV403981
+Node: Arrays407832
+Node: Array Basics409337
+Node: Array Intro410048
+Node: Reference to Elements414366
+Node: Assigning Elements416636
+Node: Array Example417127
+Node: Scanning an Array418859
+Node: Delete421525
+Ref: Delete-Footnote-1423960
+Node: Numeric Array Subscripts424017
+Node: Uninitialized Subscripts426200
+Node: Multi-dimensional427828
+Node: Multi-scanning430922
+Node: Arrays of Arrays432506
+Node: Functions437083
+Node: Built-in437905
+Node: Calling Built-in438983
+Node: Numeric Functions440971
+Ref: Numeric Functions-Footnote-1444736
+Ref: Numeric Functions-Footnote-2445093
+Ref: Numeric Functions-Footnote-3445141
+Node: String Functions445410
+Ref: String Functions-Footnote-1468907
+Ref: String Functions-Footnote-2469036
+Ref: String Functions-Footnote-3469284
+Node: Gory Details469371
+Ref: table-sub-escapes471050
+Ref: table-sub-posix-92472404
+Ref: table-sub-proposed473747
+Ref: table-posix-sub475097
+Ref: table-gensub-escapes476643
+Ref: Gory Details-Footnote-1477850
+Ref: Gory Details-Footnote-2477901
+Node: I/O Functions478052
+Ref: I/O Functions-Footnote-1484707
+Node: Time Functions484854
+Ref: Time Functions-Footnote-1495746
+Ref: Time Functions-Footnote-2495814
+Ref: Time Functions-Footnote-3495972
+Ref: Time Functions-Footnote-4496083
+Ref: Time Functions-Footnote-5496195
+Ref: Time Functions-Footnote-6496422
+Node: Bitwise Functions496688
+Ref: table-bitwise-ops497246
+Ref: Bitwise Functions-Footnote-1501406
+Node: Type Functions501590
+Node: I18N Functions502060
+Node: User-defined503687
+Node: Definition Syntax504491
+Ref: Definition Syntax-Footnote-1509401
+Node: Function Example509470
+Node: Function Caveats512064
+Node: Calling A Function512485
+Node: Variable Scope513600
+Node: Pass By Value/Reference515575
+Node: Return Statement519015
+Node: Dynamic Typing521996
+Node: Indirect Calls522731
+Node: Internationalization532416
+Node: I18N and L10N533842
+Node: Explaining gettext534528
+Ref: Explaining gettext-Footnote-1539594
+Ref: Explaining gettext-Footnote-2539778
+Node: Programmer i18n539943
+Node: Translator i18n544143
+Node: String Extraction544936
+Ref: String Extraction-Footnote-1545897
+Node: Printf Ordering545983
+Ref: Printf Ordering-Footnote-1548767
+Node: I18N Portability548831
+Ref: I18N Portability-Footnote-1551280
+Node: I18N Example551343
+Ref: I18N Example-Footnote-1553978
+Node: Gawk I18N554050
+Node: Advanced Features554667
+Node: Nondecimal Data556180
+Node: Array Sorting557763
+Node: Controlling Array Traversal558463
+Node: Controlling Scanning With A Function559210
+Node: Controlling Scanning566913
+Ref: Controlling Scanning-Footnote-1570714
+Node: Array Sorting Functions571030
+Ref: Array Sorting Functions-Footnote-1574546
+Ref: Array Sorting Functions-Footnote-2574639
+Node: Two-way I/O574833
+Ref: Two-way I/O-Footnote-1580265
+Node: TCP/IP Networking580335
+Node: Profiling583179
+Node: Library Functions590653
+Ref: Library Functions-Footnote-1593660
+Node: Library Names593831
+Ref: Library Names-Footnote-1597302
+Ref: Library Names-Footnote-2597522
+Node: General Functions597608
+Node: Strtonum Function598561
+Node: Assert Function601491
+Node: Round Function604817
+Node: Cliff Random Function606360
+Node: Ordinal Functions607376
+Ref: Ordinal Functions-Footnote-1610446
+Ref: Ordinal Functions-Footnote-2610698
+Node: Join Function610907
+Ref: Join Function-Footnote-1612678
+Node: Gettimeofday Function612878
+Node: Data File Management616593
+Node: Filetrans Function617225
+Node: Rewind Function621364
+Node: File Checking622751
+Node: Empty Files623845
+Node: Ignoring Assigns626075
+Node: Getopt Function627628
+Ref: Getopt Function-Footnote-1638932
+Node: Passwd Functions639135
+Ref: Passwd Functions-Footnote-1648110
+Node: Group Functions648198
+Node: Walking Arrays656282
+Node: Sample Programs657851
+Node: Running Examples658516
+Node: Clones659244
+Node: Cut Program660468
+Node: Egrep Program670313
+Ref: Egrep Program-Footnote-1678086
+Node: Id Program678196
+Node: Split Program681812
+Ref: Split Program-Footnote-1685331
+Node: Tee Program685459
+Node: Uniq Program688262
+Node: Wc Program695691
+Ref: Wc Program-Footnote-1699957
+Ref: Wc Program-Footnote-2700157
+Node: Miscellaneous Programs700249
+Node: Dupword Program701437
+Node: Alarm Program703468
+Node: Translate Program708217
+Ref: Translate Program-Footnote-1712604
+Ref: Translate Program-Footnote-2712832
+Node: Labels Program712966
+Ref: Labels Program-Footnote-1716337
+Node: Word Sorting716421
+Node: History Sorting720305
+Node: Extract Program722144
+Ref: Extract Program-Footnote-1729627
+Node: Simple Sed729755
+Node: Igawk Program732817
+Ref: Igawk Program-Footnote-1747974
+Ref: Igawk Program-Footnote-2748175
+Node: Anagram Program748313
+Node: Signature Program751381
+Node: Debugger752481
+Node: Debugging753392
+Node: Debugging Concepts753805
+Node: Debugging Terms755661
+Node: Awk Debugging758284
+Node: Sample dgawk session759176
+Node: dgawk invocation759668
+Node: Finding The Bug760850
+Node: List of Debugger Commands767336
+Node: Breakpoint Control768647
+Node: Dgawk Execution Control772283
+Node: Viewing And Changing Data775634
+Node: Dgawk Stack778971
+Node: Dgawk Info780431
+Node: Miscellaneous Dgawk Commands784379
+Node: Readline Support789807
+Node: Dgawk Limitations790645
+Node: Language History792834
+Node: V7/SVR3.1794346
+Node: SVR4796667
+Node: POSIX798109
+Node: BTL799117
+Node: POSIX/GNU799851
+Node: Common Extensions805002
+Node: Ranges and Locales806109
+Ref: Ranges and Locales-Footnote-1810716
+Node: Contributors810937
+Node: Installation815199
+Node: Gawk Distribution816093
+Node: Getting816577
+Node: Extracting817403
+Node: Distribution contents819095
+Node: Unix Installation824317
+Node: Quick Installation824934
+Node: Additional Configuration Options826896
+Node: Configuration Philosophy828373
+Node: Non-Unix Installation830715
+Node: PC Installation831173
+Node: PC Binary Installation832472
+Node: PC Compiling834320
+Node: PC Testing837264
+Node: PC Using838440
+Node: Cygwin842625
+Node: MSYS843625
+Node: VMS Installation844139
+Node: VMS Compilation844742
+Ref: VMS Compilation-Footnote-1845749
+Node: VMS Installation Details845807
+Node: VMS Running847442
+Node: VMS Old Gawk849049
+Node: Bugs849523
+Node: Other Versions853376
+Node: Notes858657
+Node: Compatibility Mode859349
+Node: Additions860132
+Node: Accessing The Source860944
+Node: Adding Code862369
+Node: New Ports868336
+Node: Dynamic Extensions872449
+Node: Internals873825
+Node: Plugin License882928
+Node: Sample Library883562
+Node: Internal File Description884248
+Node: Internal File Ops887963
+Ref: Internal File Ops-Footnote-1892744
+Node: Using Internal File Ops892884
+Node: Future Extensions895261
+Node: Basic Concepts897765
+Node: Basic High Level898522
+Ref: Basic High Level-Footnote-1902557
+Node: Basic Data Typing902742
+Node: Floating Point Issues907267
+Node: String Conversion Precision908350
+Ref: String Conversion Precision-Footnote-1910050
+Node: Unexpected Results910159
+Node: POSIX Floating Point Problems911985
+Ref: POSIX Floating Point Problems-Footnote-1915690
+Node: Glossary915728
+Node: Copying940704
+Node: GNU Free Documentation License978261
+Node: Index1003398

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index a74773ca..930f9345 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -893,7 +893,9 @@ Such jobs are often easier with @command{awk}.
The @command{awk} utility interprets a special-purpose programming language
that makes it easy to handle simple data-reformatting jobs.
-The GNU implementation of @command{awk} is called @command{gawk}; it is fully
+The GNU implementation of @command{awk} is called @command{gawk}; if you
+invoke it with the proper options or environment variables
+(@pxref{Options}), it is fully
compatible with
the POSIX@footnote{The 2008 POSIX standard can be found online at
@url{http://www.opengroup.org/onlinepubs/9699919799/}.}
@@ -3429,7 +3431,10 @@ program source code.
If the environment variable @env{POSIXLY_CORRECT} exists,
then @command{gawk} behaves in strict POSIX mode, exactly as if
you had supplied the @option{--posix} command-line option.
-Many GNU programs look for this environment variable to turn on
+Many GNU programs look for this environment variable to suppress
+extensions that conflict with POSIX, but @command{gawk} behaves
+differently: it suppresses all extensions, even those that do not
+conflict with POSIX, and behaves in
strict POSIX mode. If @option{--lint} is supplied on the command line
and @command{gawk} turns on POSIX mode because of @env{POSIXLY_CORRECT},
then it issues a warning message indicating that POSIX
@@ -11079,6 +11084,9 @@ patterns. Likewise, the special patterns @code{BEGIN}, @code{END},
which never match any input record, are not expressions and cannot
appear inside Boolean patterns.
+The precedence of the different operators which can appear in
+patterns is described in @ref{Precedence}.
+
@node Ranges
@subsection Specifying Record Ranges with Patterns
@@ -11349,6 +11357,7 @@ currently used only by the @uref{http://xmlgawk.sourceforge.net, XMLgawk project
The @code{ENDFILE} rule is called when @command{gawk} has finished processing
the last record in an input file. For the last input file,
it will be called before any @code{END} rules.
+The @code{ENDFILE} rule is executed even for empty input files.
Normally, when an error occurs when reading input in the normal input
processing loop, the error is fatal. However, if an @code{ENDFILE}
@@ -12153,16 +12162,17 @@ or if @command{gawk} is in compatibility mode
@code{nextfile} is not special.
Upon execution of the @code{nextfile} statement,
-any @code{ENDFILE} rules are executed,
-@code{FILENAME} is
+any @code{ENDFILE} rules are executed except in the case as
+mentioned below, @code{FILENAME} is
updated to the name of the next @value{DF} listed on the command line,
@code{FNR} is reset to one, @code{ARGIND} is incremented,
any @code{BEGINFILE} rules are executed, and processing
starts over with the first rule in the program.
(@code{ARGIND} hasn't been introduced yet. @xref{Built-in Variables}.)
If the @code{nextfile} statement causes the end of the input to be reached,
-then the code in any @code{END} rules is executed.
-@xref{BEGIN/END}.
+then the code in any @code{END} rules is executed. An exception to this is
+when the @code{nextfile} is invoked during execution of any statement in an
+@code{END} rule; In this case, it causes the program to stop immediately. @xref{BEGIN/END}.
The @code{nextfile} statement is useful when there are many @value{DF}s
to process but it isn't necessary to process every record in every file.
@@ -12172,7 +12182,8 @@ statement accomplishes this much more efficiently.
In addition, @code{nextfile} is useful inside a @code{BEGINFILE}
rule to skip over a file that would otherwise cause @command{gawk}
-to exit with a fatal error. @xref{BEGINFILE/ENDFILE}.
+to exit with a fatal error. In this case, @code{ENDFILE} rules are not
+executed. @xref{BEGINFILE/ENDFILE}.
While one might think that @samp{close(FILENAME)} would accomplish
the same as @code{nextfile}, this isn't true. @code{close()} is
@@ -15015,8 +15026,6 @@ case of even numbers of backslashes entered at the lexical level.)
The problem with the historical approach is that there is no way to get
a literal @samp{\} followed by the matched text.
-@c We can omit this historical stuff now
-@ignore
@c @cindex @command{awk} language, POSIX version
@cindex POSIX @command{awk}, functions and, @code{gsub()}/@code{sub()}
The 1992 POSIX standard attempted to fix this problem. That standard
@@ -15150,7 +15159,6 @@ in the output literally.
The POSIX standard took much longer to be revised than was expected in 1996.
The 2001 standard does not follow the above rules. Instead, the rules
there are somewhat simpler. The results are similar except for one case.
-@end ignore
The POSIX rules state that @samp{\&} in the replacement string produces
a literal @samp{&}, @samp{\\} produces a literal @samp{\}, and @samp{\} followed
@@ -15201,17 +15209,21 @@ These rules are presented in @ref{table-posix-sub}.
@end ifnottex
@end float
-@ignore
The only case where the difference is noticeable is the last one: @samp{\\\\}
is seen as @samp{\\} and produces @samp{\} instead of @samp{\\}.
Starting with @value{PVERSION} 3.1.4, @command{gawk} followed the POSIX rules
when @option{--posix} is specified (@pxref{Options}). Otherwise,
it continued to follow the 1996 proposed rules, since
-that had been its behavior for many seven years.
-@end ignore
+that had been its behavior for many years.
-@command{gawk} follows the POSIX rules.
+When @value{PVERSION} 4.0.0, was released, the @command{gawk} maintainer
+made the POSIX rules the default, breaking well over a decade's worth
+of backwards compatibility.@footnote{This was rather naive of him, despite
+there being a note in this section indicating that the next major version
+would move to the POSIX rules.} Needless to say, this was a bad idea,
+and as of @value{PVERSION} 4.0.1, @command{gawk} resumed its historical
+behavior, and only follows the POSIX rules when @option{--posix} is given.
The rules for @code{gensub()} are considerably simpler. At the runtime
level, whenever @command{gawk} sees a @samp{\}, if the following character
@@ -17091,6 +17103,7 @@ We can do something similar using @command{gawk}, like this:
@c file eg/lib/quicksort.awk
#
# Adapted from K&R-II, page 110
+@c endfile
@end ignore
@c file eg/lib/quicksort.awk
@@ -18532,7 +18545,7 @@ $ @kbd{gawk 'BEGIN @{}
@print{} 4 4
@print{} 3 3
$ @kbd{gawk 'BEGIN @{}
-> @kbd{ PROCINFO["sorted_in"] = "@@str_ind_asc"}
+> @kbd{ PROCINFO["sorted_in"] = "@@ind_str_asc"}
> @kbd{ a[4] = 4}
> @kbd{ a[3] = 3}
> @kbd{ for (i in a)}
@@ -20632,6 +20645,7 @@ necessary for accessing individual characters
function was written before @command{gawk} acquired the ability to
split strings into single characters using @code{""} as the separator.
We have left it alone, since using @code{substr()} is more portable.}
+@c FIXME: could use split(str, a, "") to do it more easily.
The discussion that follows walks through the code a bit at a time:
@@ -25057,6 +25071,84 @@ O+X*(o*(o+O)+O),+x+O+X*o,x*(x-o),(o+X+x)*o*o-(x-O-O),O+(X-x)*(X+O),x-O@}'
We leave it to you to determine what the program does.
+@ignore
+To: "Arnold Robbins" <arnold@skeeve.com>
+Date: Sat, 20 Aug 2011 13:50:46 -0400
+Subject: The GNU Awk User's Guide, Section 13.3.11
+From: "Chris Johansen" <johansen@main.nc.us>
+Message-ID: <op.v0iw6wlv7finx3@asusodin.thrudvang.lan>
+
+Arnold, you don't know me, but we have a tenuous connection. My wife is
+Barbara A. Field, FAIA, GIT '65 (B. Arch.).
+
+I have had a couple of paper copies of "Effective Awk Programming" for
+years, and now I'm going through a Kindle version of "The GNU Awk User's
+Guide" again. When I got to section 13.3.11, I reformatted and lightly
+commented Davide Brin's signature script to understand its workings.
+
+It occurs to me that this might have pedagogical value as an example
+(although imperfect) of the value of whitespace and comments, and a
+starting point for that discussion. It certainly helped _me_ understand
+what's going on. You are welcome to it, as-is or modified (subject to
+Davide's constraints, of course, which I think I have met).
+
+If I were to include it in a future edition, I would put it at some
+distance from section 13.3.11, say, as a note or an appendix, so as not to
+be a "spoiler" to the puzzle.
+
+Best regards,
+--
+Chris Johansen {johansen at main dot nc dot us}
+ . . . collapsing the probability wave function, sending ripples of
+certainty through the space-time continuum.
+
+
+#! /usr/bin/gawk -f
+
+# From "13.3.11 And Now For Something Completely Different"
+# http://www.gnu.org/software/gawk/manual/html_node/Signature-Program.html#Signature-Program
+
+# Copyright © 2008 Davide Brini
+
+# Copying and distribution of the code published in this page, with
+# or without modification, are permitted in any medium without
+# royalty provided the copyright notice and this notice are preserved.
+
+BEGIN {
+ O = "~" ~ "~"; # 1
+ o = "==" == "=="; # 1
+ o += +o; # 2
+ x = O "" O; # 11
+
+
+ while ( X++ <= x + o + o ) c = c "%c";
+
+ # O is 1
+ # o is 2
+ # x is 11
+ # X is 17
+ # c is "%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c"
+
+ printf c,
+ ( x - O )*( x - O), # 100 d
+ x*( x - o ) - o, # 97 a
+ x*( x - O ) + x - O - o, # 118 v
+ +x*( x - O ) - x + o, # 101 e
+ X*( o*o + O ) + x - O, # 95 _
+ X*( X - x ) - o*o, # 98 b
+ ( x + X )*o*o + o, # 114 r
+ x*( X - x ) - O - O, # 64 @
+ x - O + ( O + o + X + x )*( o + O ), # 103 g
+ X*X - X*( x - O ) - x + O, # 109 m
+ O + X*( o*( o + O ) + O ), # 120 x
+ +x + O + X*o, # 46 .
+ x*( x - o), # 99 c
+ ( o + X + x )*o*o - ( x - O - O ), # 111 0
+ O + ( X - x )*( X + O ), # 109 m
+ x - O # 10 \n
+}
+@end ignore
+
@c The original text for this chapter was contributed by Efraim Yawitz.
@c FIXME: Add more indexing.
diff --git a/eval.c b/eval.c
index 4132474a..df9570e3 100644
--- a/eval.c
+++ b/eval.c
@@ -30,7 +30,7 @@ extern double pow(double x, double y);
extern double modf(double x, double *yp);
extern double fmod(double x, double y);
NODE **fcall_list;
-long fcall_count;
+long fcall_count = 0;
int currule = 0;
IOBUF *curfile = NULL; /* current data file */
int exiting = FALSE;
@@ -79,7 +79,7 @@ int CONVFMTidx;
#endif
#define C(c) ((char)c)
/*
- * This table is used by the regexp routines to do case independant
+ * This table is used by the regexp routines to do case independent
* matching. Basically, every ascii character maps to itself, except
* uppercase letters map to lower case ones. This table has 256
* entries, for ISO 8859-1. Note also that if the system this
@@ -348,6 +348,7 @@ static struct optypetab {
{ "Op_K_getline", "getline" },
{ "Op_K_nextfile", "nextfile" },
{ "Op_builtin", NULL },
+ { "Op_sub_builtin", NULL },
{ "Op_in_array", " in " },
{ "Op_func_call", NULL },
{ "Op_indirect_func_call", NULL },
@@ -542,7 +543,7 @@ posix_compare(NODE *s1, NODE *s2)
* In either case, ret will be the right thing to return.
*/
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
else {
/* Similar logic, using wide characters */
(void) force_wstring(s1);
@@ -625,7 +626,7 @@ cmp_nodes(NODE *t1, NODE *t2)
const unsigned char *cp1 = (const unsigned char *) t1->stptr;
const unsigned char *cp2 = (const unsigned char *) t2->stptr;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
ret = strncasecmpmbs((const unsigned char *) cp1,
(const unsigned char *) cp2, l);
@@ -677,7 +678,7 @@ pop_frame()
#endif
}
#else /* not PROFILING or DEBUGGING */
-#define push_frame(p) /* nothing */
+#define push_frame(p) /* nothing */
#define pop_frame() /* nothing */
#endif
@@ -689,7 +690,6 @@ pop_frame()
void
dump_fcall_stack(FILE *fp)
{
-
NODE *f, *func;
long i = 0;
@@ -1149,12 +1149,6 @@ r_get_lhs(NODE *n, int reference)
case Node_var:
break;
-#if 0
- case Node_builtin:
- /* in gawk for a while */
- fatal(_("assignment is not allowed to result of builtin function"));
-#endif
-
default:
cant_happen();
}
@@ -1241,7 +1235,7 @@ calc_exp(AWKNUM x1, AWKNUM x2)
/* setup_frame --- setup new frame for function call */
-static void
+static INSTRUCTION *
setup_frame(INSTRUCTION *pc)
{
NODE *r = NULL;
@@ -1328,18 +1322,23 @@ setup_frame(INSTRUCTION *pc)
DEREF(r);
}
+ frame_ptr->vname = source; /* save current source */
+
push_frame(frame_ptr);
/* save current frame in stack */
PUSH(frame_ptr);
+
/* setup new frame */
getnode(frame_ptr);
frame_ptr->type = Node_frame;
frame_ptr->stack = sp;
+ frame_ptr->prev_frame_size = (stack_ptr - stack_bottom); /* size of the previous stack frame */
frame_ptr->func_node = f;
frame_ptr->vname = NULL;
+ frame_ptr->reti = pc; /* on return execute pc->nexti */
- frame_ptr->reti = (unsigned long) pc; /* on return execute pc->nexti */
+ return f->code_ptr;
}
@@ -1368,13 +1367,18 @@ restore_frame(NODE *fp)
}
if (frame_ptr->stack != NULL)
efree(frame_ptr->stack);
- ri = (INSTRUCTION *) frame_ptr->reti; /* execution in calling frame
- * resumes from ri->nexti.
- */
+ ri = frame_ptr->reti; /* execution in calling frame
+ * resumes from ri->nexti.
+ */
freenode(frame_ptr);
pop_frame();
+ /* restore frame */
frame_ptr = fp;
+ /* restore source */
+ source = fp->vname;
+ fp->vname = NULL;
+
return ri->nexti;
}
@@ -1394,33 +1398,40 @@ free_arrayfor(NODE *r)
freenode(r);
}
-/* unwind_stack --- pop the runtime stack */
-void
-unwind_stack(STACK_ITEM *sp_bottom)
+/* unwind_stack --- pop items off the run-time stack;
+ * 'n' is the # of items left in the stack.
+ */
+
+INSTRUCTION *
+unwind_stack(long n)
{
NODE *r;
+ INSTRUCTION *cp = NULL;
+ STACK_ITEM *sp;
- while (stack_ptr >= sp_bottom) {
- r = POP();
- switch (r->type) {
- case Node_instruction:
- freenode(r);
- break;
+ if (stack_empty())
+ return NULL;
+
+ sp = stack_bottom + n;
+
+ if (stack_ptr < sp)
+ return NULL;
+ while (r = POP()) {
+ switch (r->type) {
case Node_frame:
- (void) restore_frame(r);
- source = frame_ptr->vname;
+ cp = restore_frame(r);
break;
-
case Node_arrayfor:
free_arrayfor(r);
break;
-
case Node_val:
DEREF(r);
break;
-
+ case Node_instruction:
+ freenode(r);
+ break;
default:
if (in_main_context())
fatal(_("unwind_stack: unexpected type `%s'"),
@@ -1434,8 +1445,19 @@ unwind_stack(STACK_ITEM *sp_bottom)
*/
break;
}
+
+ if (stack_ptr < sp)
+ break;
}
-}
+ return cp;
+}
+
+
+/* pop_fcall --- pop off the innermost frame */
+#define pop_fcall() unwind_stack(frame_ptr->prev_frame_size)
+
+/* pop the run-time stack */
+#define pop_stack() (void) unwind_stack(0)
/*
@@ -1562,6 +1584,75 @@ POP_CODE()
}
+/* Implementation of BEGINFILE and ENDFILE requires saving an execution
+ * state and the ability to return to that state. The state is
+ * defined by the instruction triggering the BEGINFILE/ENDFILE rule, the
+ * run-time stack, the rule and the source file. The source line is available in
+ * the instruction and hence is not considered a part of the execution state.
+ */
+
+
+typedef struct exec_state {
+ struct exec_state *next;
+
+ INSTRUCTION *cptr; /* either getline (Op_K_getline) or the
+ * implicit "open-file, read-record" loop (Op_newfile).
+ */
+
+ int rule; /* rule for the INSTRUCTION */
+
+ long stack_size; /* For this particular usage, it is sufficient to save
+ * only the size of the call stack. We do not
+ * store the actual stack pointer to avoid problems
+ * in case the stack gets realloc-ed.
+ */
+
+ const char *source; /* source file for the INSTRUCTION */
+} EXEC_STATE;
+
+static EXEC_STATE exec_state_stack;
+
+/* push_exec_state --- save an execution state on stack */
+
+static void
+push_exec_state(INSTRUCTION *cp, int rule, char *src, STACK_ITEM *sp)
+{
+ EXEC_STATE *es;
+
+ emalloc(es, EXEC_STATE *, sizeof(EXEC_STATE), "push_exec_state");
+ es->rule = rule;
+ es->cptr = cp;
+ es->stack_size = (sp - stack_bottom) + 1;
+ es->source = src;
+ es->next = exec_state_stack.next;
+ exec_state_stack.next = es;
+}
+
+
+/* pop_exec_state --- pop one execution state off the stack */
+
+static INSTRUCTION *
+pop_exec_state(int *rule, char **src, long *sz)
+{
+ INSTRUCTION *cp;
+ EXEC_STATE *es;
+
+ es = exec_state_stack.next;
+ if (es == NULL)
+ return NULL;
+ cp = es->cptr;
+ if (rule != NULL)
+ *rule = es->rule;
+ if (src != NULL)
+ *src = (char *) es->source;
+ if (sz != NULL)
+ *sz = es->stack_size;
+ exec_state_stack.next = es->next;
+ efree(es);
+ return cp;
+}
+
+
/*
* r_interpret:
* code is a list of instructions to run. returns the exit value
@@ -1597,6 +1688,7 @@ r_interpret(INSTRUCTION *code)
#endif
int stdio_problem = FALSE;
+
if (args_array == NULL)
emalloc(args_array, NODE **, (max_args + 2)*sizeof(NODE *), "r_interpret");
else
@@ -2114,11 +2206,29 @@ post:
break;
case Op_var_assign:
- pc->assign_var();
- break;
-
case Op_field_assign:
- pc->field_assign();
+ if (pc->assign_ctxt == Op_sub_builtin
+ && TOP()->numbr == 0.0 /* top of stack has a number == 0 */
+ ) {
+ /* There wasn't any substitutions. If the target is a FIELD,
+ * this means no field re-splitting or $0 reconstruction.
+ * Skip the set_FOO routine if the target is a special variable.
+ */
+
+ break;
+ } else if ((pc->assign_ctxt == Op_K_getline
+ || pc->assign_ctxt == Op_K_getline_redir)
+ && TOP()->numbr <= 0.0 /* top of stack has a number <= 0 */
+ ) {
+ /* getline returned EOF or error */
+
+ break;
+ }
+
+ if (pc->opcode == Op_var_assign)
+ pc->assign_var();
+ else
+ pc->field_assign();
break;
case Op_concat:
@@ -2208,7 +2318,7 @@ post:
/*
* Actual array for use in lint warning
* in Op_arrayfor_incr
- */
+ */
list[num_elems] = array;
arrayfor:
@@ -2256,7 +2366,12 @@ arrayfor:
#endif
PUSH(r);
break;
-
+
+ case Op_sub_builtin: /* sub, gsub and gensub */
+ r = do_sub(pc->expr_count, pc->sub_flags);
+ PUSH(r);
+ break;
+
case Op_K_print:
do_print(pc->expr_count, pc->redir_type);
break;
@@ -2359,10 +2474,8 @@ match_re:
/* save current frame along with source */
func_call:
- frame_ptr->vname = source; /* save current source */
- setup_frame(pc);
-
- ni = f->code_ptr; /* function code */
+ ni = setup_frame(pc);
+
if (ni->opcode == Op_ext_func) {
/* dynamically set source and line numbers for an extension builtin. */
ni->source_file = source;
@@ -2377,29 +2490,11 @@ func_call:
case Op_K_return:
m = POP_SCALAR(); /* return value */
- r = POP();
- while (r->type != Node_frame) {
- switch (r->type) {
- case Node_arrayfor:
- free_arrayfor(r);
- break;
- case Node_val:
- DEREF(r);
- break;
- case Node_instruction:
- freenode(r);
- break;
- default:
- break;
- }
- r = POP();
- }
-
- ni = restore_frame(r);
- source = frame_ptr->vname;
-
+ ni = pop_fcall();
+
/* put the return value back on stack */
PUSH(m);
+
JUMPTO(ni);
case Op_K_getline_redir:
@@ -2415,101 +2510,150 @@ func_call:
if (currule == BEGINFILE || currule == ENDFILE)
fatal(_("non-redirected `getline' invalid inside `%s' rule"),
ruletab[currule]);
+
do {
int ret;
- ret = nextfile(&curfile, FALSE);
+ ret = nextfile(& curfile, FALSE);
if (ret <= 0)
r = do_getline(pc->into_var, curfile);
else {
- PUSH_CODE(pc);
+
+ /* Save execution state so that we can return to it
+ * from Op_after_beginfile or Op_after_endfile.
+ */
+
+ push_exec_state(pc, currule, source, stack_ptr);
+
if (curfile == NULL)
JUMPTO((pc + 1)->target_endfile);
else
JUMPTO((pc + 1)->target_beginfile);
}
} while (r == NULL); /* EOF */
+
PUSH(r);
break;
case Op_after_endfile:
- ni = POP_CODE();
+ /* Find the execution state to return to */
+ ni = pop_exec_state(& currule, & source, NULL);
+
assert(ni->opcode == Op_newfile || ni->opcode == Op_K_getline);
JUMPTO(ni);
case Op_after_beginfile:
- after_beginfile(&curfile);
- ni = POP_CODE();
+ after_beginfile(& curfile);
+
+ /* Find the execution state to return to */
+ ni = pop_exec_state(& currule, & source, NULL);
+
+ assert(ni->opcode == Op_newfile || ni->opcode == Op_K_getline);
if (ni->opcode == Op_K_getline
|| curfile == NULL /* skipping directory argument */
)
JUMPTO(ni);
- PUSH_CODE(ni); /* for use in Op_K_nextfile and Op_get_record */
- break; /* Op_get_record */
+
+ break; /* read a record, Op_get_record */
case Op_newfile:
{
int ret;
- ret = nextfile(&curfile, FALSE);
- if (ret < 0)
- JUMPTO(pc->target_jmp); /* end block or Op_atexit */
- else if (ret > 0) {
- PUSH_CODE(pc);
- if (curfile == NULL)
- JUMPTO(pc->target_endfile);
- break; /* beginfile block */
- } else
- PUSH_CODE(pc);
- /* fall through */
+
+ ret = nextfile(& curfile, FALSE);
+
+ if (ret < 0) /* end of input */
+ JUMPTO(pc->target_jmp); /* end block or Op_atexit */
+
+ if (ret == 0) /* read a record */
+ JUMPTO((pc + 1)->target_get_record);
+
+ /* ret > 0 */
+ /* Save execution state for use in Op_after_beginfile or Op_after_endfile. */
+
+ push_exec_state(pc, currule, source, stack_ptr);
+
+ if (curfile == NULL) /* EOF */
+ JUMPTO(pc->target_endfile);
+ /* else
+ execute beginfile block */
}
+ break;
- case Op_get_record:
- if (curfile == NULL) { /* from getline without redirection */
- ni = POP_CODE(); /* Op_newfile */
- ni = ni->target_jmp; /* end_block or Op_atexit */
- } else if (inrec(curfile) == 0)
- break; /* prog(rule) block */
- else
- ni = POP_CODE(); /* Op_newfile */
- JUMPTO(ni);
+ case Op_get_record:
+ {
+ int errcode = 0;
+
+ ni = pc->target_newfile;
+ if (curfile == NULL) {
+ /* from non-redirected getline, e.g.:
+ * {
+ * while (getline > 0) ;
+ * }
+ */
+
+ ni = ni->target_jmp; /* end_block or Op_atexit */
+ JUMPTO(ni);
+ }
+
+ if (inrec(curfile, & errcode) != 0) {
+ if (errcode > 0 && (do_traditional || ! pc->has_endfile))
+ fatal(_("error reading input file `%s': %s"),
+ curfile->name, strerror(errcode));
+
+ JUMPTO(ni);
+ } /* else
+ prog (rule) block */
+ }
+ break;
case Op_K_nextfile:
+ {
+ int ret;
+
if (currule != Rule && currule != BEGINFILE)
- fatal(_("`nextfile' cannot be called from a `%s' rule"), ruletab[currule]);
- (void) nextfile(&curfile, TRUE);
- while (currule == BEGINFILE) {
- r = POP();
- switch (r->type) {
- case Node_instruction:
- ni = r->code_ptr;
- freenode(r);
- if (ni->opcode == Op_newfile || ni->opcode == Op_K_getline)
- JUMPTO(ni);
- break;
- case Node_frame:
- (void) restore_frame(r);
- source = frame_ptr->vname;
- break;
- case Node_arrayfor:
- free_arrayfor(r);
- break;
- case Node_val:
- DEREF(r);
- break;
- default:
- break;
- }
- }
+ fatal(_("`nextfile' cannot be called from a `%s' rule"),
+ ruletab[currule]);
- assert(currule != BEGINFILE);
- unwind_stack(stack_bottom + 1); /* don't pop Op_newfile */
- JUMPTO(pc->target_endfile); /* endfile block */
+ ret = nextfile(& curfile, TRUE); /* skip current file */
- case Op_K_exit:
- if (currule == END)
- ni = pc->target_atexit;
- else
- ni = pc->target_end;
+ if (currule == BEGINFILE) {
+ long stack_size;
+
+ ni = pop_exec_state(& currule, & source, & stack_size);
+ assert(ni->opcode == Op_K_getline || ni->opcode == Op_newfile);
+
+ /* pop stack returning to the state of Op_K_getline or Op_newfile. */
+ unwind_stack(stack_size);
+
+ if (ret == 0) {
+ /* There was an error opening the file;
+ * don't run ENDFILE block(s).
+ */
+
+ JUMPTO(ni);
+ } else {
+ /* do run ENDFILE block(s) first. */
+
+ /* Execution state to return to in Op_after_endfile. */
+ push_exec_state(ni, currule, source, stack_ptr);
+
+ JUMPTO(pc->target_endfile);
+ }
+ } /* else
+ Start over with the first rule. */
+
+ /* empty the run-time stack to avoid memory leak */
+ pop_stack();
+
+ /* Push an execution state for Op_after_endfile to return to */
+ push_exec_state(pc->target_newfile, currule, source, stack_ptr);
+
+ JUMPTO(pc->target_endfile);
+ }
+ break;
+
+ case Op_K_exit:
exiting = TRUE;
POP_NUMBER(x1);
exit_val = (int) x1;
@@ -2521,19 +2665,36 @@ func_call:
/* else
just pass anything else on through */
#endif
- /* jump to either the first end_block instruction
- * or to Op_atexit
+
+ if (currule == BEGINFILE || currule == ENDFILE) {
+
+ /* Find the rule of the saved execution state (Op_K_getline/Op_newfile).
+ * This is needed to prevent multiple execution of any END rules:
+ * gawk 'BEGINFILE { exit(1) } \
+ * END { while (getline > 0); }' in1 in2
+ */
+
+ (void) pop_exec_state(& currule, & source, NULL);
+ }
+
+ pop_stack(); /* empty stack, don't leak memory */
+
+ /* Jump to either the first END block instruction
+ * or to Op_atexit.
*/
- unwind_stack(stack_bottom);
+
+ if (currule == END)
+ ni = pc->target_atexit;
+ else
+ ni = pc->target_end;
JUMPTO(ni);
case Op_K_next:
if (currule != Rule)
fatal(_("`next' cannot be called from a `%s' rule"), ruletab[currule]);
- /* jump to Op_get_record */
- unwind_stack(stack_bottom + 1); /* don't pop Op_newfile */
- JUMPTO(pc->target_jmp);
+ pop_stack();
+ JUMPTO(pc->target_jmp); /* Op_get_record, read next record */
case Op_pop:
#if defined(GAWKDEBUG) || defined(ARRAYDEBUG)
diff --git a/field.c b/field.c
index 0b9c1008..2e7c1505 100644
--- a/field.c
+++ b/field.c
@@ -373,7 +373,7 @@ re_parse_field(long up_to, /* parse only up to this field number */
char *end = scan + len;
int regex_flags = RE_NEED_START;
char *sep;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
size_t mbclen = 0;
mbstate_t mbs;
if (gawk_mb_cur_max > 1)
@@ -405,7 +405,7 @@ re_parse_field(long up_to, /* parse only up to this field number */
&& nf < up_to) {
regex_flags |= RE_NO_BOL;
if (REEND(rp, scan) == RESTART(rp, scan)) { /* null match */
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
mbclen = mbrlen(scan, end-scan, &mbs);
if ((mbclen == 1) || (mbclen == (size_t) -1)
@@ -617,7 +617,7 @@ null_parse_field(long up_to, /* parse only up to this field number */
if (len == 0)
return nf;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
mbstate_t mbs;
memset(&mbs, 0, sizeof(mbstate_t));
@@ -669,7 +669,7 @@ sc_parse_field(long up_to, /* parse only up to this field number */
char *field;
char *end = scan + len;
char sav;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
size_t mbclen = 0;
mbstate_t mbs;
if (gawk_mb_cur_max > 1)
@@ -693,7 +693,7 @@ sc_parse_field(long up_to, /* parse only up to this field number */
for (; nf < up_to;) {
field = scan;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
while (*scan != fschar) {
mbclen = mbrlen(scan, end-scan, &mbs);
@@ -747,7 +747,7 @@ fw_parse_field(long up_to, /* parse only up to this field number */
char *scan = *buf;
long nf = parse_high_water;
char *end = scan + len;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
int nmbc;
size_t mbclen;
size_t mbslen;
@@ -763,7 +763,7 @@ fw_parse_field(long up_to, /* parse only up to this field number */
if (len == 0)
return nf;
for (; nf < up_to && (len = FIELDWIDTHS[nf+1]) != -1; ) {
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1) {
nmbc = 0;
mbslen = 0;
@@ -849,7 +849,8 @@ get_field(long requested, Func_ptr *assign)
if (assign != NULL)
field0_valid = FALSE; /* $0 needs reconstruction */
#else
- /* keep things uniform. Also, mere intention of assigning something
+ /*
+ * Keep things uniform. Also, mere intention of assigning something
* to $n should not make $0 invalid. Makes sense to invalidate $0
* after the actual assignment is performed. Not a real issue in
* the interpreter otherwise, but causes problem in the
@@ -1126,10 +1127,12 @@ set_FIELDWIDTHS()
FIELDWIDTHS[0] = 0;
for (i = 1; ; i++) {
unsigned long int tmp;
- if (i + 1 >= fw_alloc) {
+ if (i + 2 >= fw_alloc) {
fw_alloc *= 2;
erealloc(FIELDWIDTHS, int *, fw_alloc * sizeof(int), "set_FIELDWIDTHS");
}
+ /* Initialize value to be end of list */
+ FIELDWIDTHS[i] = -1;
/* Ensure that there is no leading `-' sign. Otherwise,
strtoul would accept it and return a bogus result. */
while (is_blank(*scan)) {
@@ -1163,8 +1166,6 @@ set_FIELDWIDTHS()
if (*scan == '\0')
break;
}
- if (i == 1) /* empty string! */
- i--;
FIELDWIDTHS[i+1] = -1;
update_PROCINFO_str("FS", "FIELDWIDTHS");
@@ -1425,13 +1426,13 @@ set_fpat_function:
* Implementation varies if doing MBS or not.
*/
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
#define increment_scan(scanp, len) incr_scan(scanp, len, & mbs)
#else
#define increment_scan(scanp, len) ((*scanp)++)
#endif
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/* incr_scan --- MBS version of increment_scan() */
static void
@@ -1577,16 +1578,13 @@ fpat_parse_field(long up_to, /* parse only up to this field number */
int need_to_set_sep;
int non_empty;
int eosflag;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
mbstate_t mbs;
if (gawk_mb_cur_max > 1)
memset(&mbs, 0, sizeof(mbstate_t));
#endif
- if (in_middle)
- regex_flags |= RE_NO_BOL;
-
if (up_to == UNLIMITED)
nf = 0;
@@ -1596,7 +1594,13 @@ fpat_parse_field(long up_to, /* parse only up to this field number */
if (rp == NULL) /* use FPAT */
rp = FPAT_regexp;
- eosflag = non_empty = FALSE;
+ if (in_middle) {
+ regex_flags |= RE_NO_BOL;
+ non_empty = rp->non_empty;
+ } else
+ non_empty = FALSE;
+
+ eosflag = FALSE;
need_to_set_sep = TRUE;
start = scan;
while (research(rp, scan, 0, (end - scan), regex_flags) != -1
@@ -1675,5 +1679,6 @@ fpat_parse_field(long up_to, /* parse only up to this field number */
}
*buf = scan;
+ rp->non_empty = non_empty;
return nf;
}
diff --git a/io.c b/io.c
index 21301f40..e423a436 100644
--- a/io.c
+++ b/io.c
@@ -34,6 +34,9 @@
#undef RE_DUP_MAX /* avoid spurious conflict w/regex.h */
#include <sys/param.h>
#endif /* HAVE_SYS_PARAM_H */
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif /* HAVE_SYS_IOCTL_H */
#ifndef O_ACCMODE
#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
@@ -214,7 +217,6 @@ static Regexp *RS_re_no_case;
static Regexp *RS_regexp;
int RS_is_null;
-int has_endfile = FALSE;
extern int output_is_tty;
extern NODE *ARGC_node;
@@ -262,10 +264,6 @@ after_beginfile(IOBUF **curfile)
iop = *curfile;
assert(iop != NULL);
-#if 0
- if (iop == NULL)
- return;
-#endif
if (iop->fd == INVALID_HANDLE) {
const char *fname;
@@ -309,10 +307,13 @@ nextfile(IOBUF **curfile, int skipping)
IOBUF *iop = *curfile;
if (skipping) { /* for 'nextfile' call */
- if (iop != NULL)
+ errcode = 0;
+ if (iop != NULL) {
+ errcode = iop->errcode;
(void) iop_close(iop);
+ }
*curfile = NULL;
- return 0; /* return value not used */
+ return (errcode == 0);
}
if (iop != NULL) {
@@ -409,28 +410,23 @@ set_NR()
/* inrec --- This reads in a record from the input file */
int
-inrec(IOBUF *iop)
+inrec(IOBUF *iop, int *errcode)
{
char *begin;
int cnt;
int retval = 0;
- int errcode = 0;
if (at_eof(iop) && no_data_left(iop))
cnt = EOF;
else if ((iop->flag & IOP_CLOSED) != 0)
cnt = EOF;
else
- cnt = get_a_record(&begin, iop, & errcode);
+ cnt = get_a_record(&begin, iop, errcode);
if (cnt == EOF) {
retval = 1;
- if (errcode > 0) {
- update_ERRNO_saved(errcode);
- if (do_traditional || ! has_endfile)
- fatal(_("error reading input file `%s': %s"),
- iop->name, strerror(errcode));
- }
+ if (*errcode > 0)
+ update_ERRNO_saved(*errcode);
} else {
NR += 1;
FNR += 1;
@@ -448,9 +444,14 @@ remap_std_file(int oldfd)
int newfd;
int ret = -1;
- close(oldfd);
- newfd = open("/dev/null", O_RDWR);
- if (newfd >= 0 && newfd != oldfd) {
+ /*
+ * Give OS-specific routines in gawkmisc.c chance to interpret
+ * "/dev/null" as appropriate for their platforms.
+ */
+ newfd = os_devopen("/dev/null", O_RDWR);
+ if (newfd == INVALID_HANDLE)
+ newfd = open("/dev/null", O_RDWR);
+ if (newfd >= 0) {
/* dup2() will close oldfd for us first. */
ret = dup2(newfd, oldfd);
if (ret == 0)
@@ -1703,9 +1704,6 @@ two_way_open(const char *str, struct redirect *rp)
ioctl(slave, I_PUSH, "ldterm");
#endif
-#ifdef TIOCSCTTY
- ioctl(slave, TIOCSCTTY, 0);
-#endif
tcgetattr(slave, &st);
st.c_iflag &= ~(ISTRIP | IGNCR | INLCR | IXOFF);
st.c_iflag |= (ICRNL | IGNPAR | BRKINT | IXON);
@@ -1740,6 +1738,12 @@ two_way_open(const char *str, struct redirect *rp)
switch (pid = fork ()) {
case 0:
/* Child process */
+ setsid();
+
+#ifdef TIOCSCTTY
+ ioctl(slave, TIOCSCTTY, 0);
+#endif
+
if (close(master) == -1)
fatal(_("close of master pty failed (%s)"), strerror(errno));
if (close(1) == -1)
@@ -2028,7 +2032,7 @@ gawk_popen(const char *cmd, struct redirect *rp)
/*
* used to wait for any children to synchronize input and output,
* but this could cause gawk to hang when it is started in a pipeline
- * and thus has a child process feeding it input (shell dependant)
+ * and thus has a child process feeding it input (shell dependent)
*/
/*(void) wait_any(0);*/ /* wait for outstanding processes */
@@ -2583,7 +2587,7 @@ rs1scan(IOBUF *iop, struct recmatch *recm, SCANSTATE *state)
{
char *bp;
char rs;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
size_t mbclen = 0;
mbstate_t mbs;
#endif
@@ -2597,7 +2601,7 @@ rs1scan(IOBUF *iop, struct recmatch *recm, SCANSTATE *state)
if (*state == INDATA) /* skip over data we've already seen */
bp += iop->scanoff;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/*
* From: Bruno Haible <bruno@clisp.org>
* To: Aharon Robbins <arnold@skeeve.com>, gnits@gnits.org
@@ -2871,8 +2875,12 @@ scan_data:
while (*bp++ != '\n')
continue;
- if (bp >= iop->dataend) { /* no terminator */
+ if (bp >= iop->dataend) { /* no full terminator */
iop->scanoff = recm->len = bp - iop->off - 1;
+ if (bp == iop->dataend) { /* half a terminator */
+ recm->rt_start = bp - 1;
+ recm->rt_len = 1;
+ }
*state = INDATA;
return NOTERM;
}
@@ -3043,9 +3051,10 @@ get_a_record(char **out, /* pointer to pointer to data */
/* else
leave it alone */
} else if (matchrec == rsnullscan) {
- if (rtval->stlen <= recm.rt_len)
+ if (rtval->stlen >= recm.rt_len) {
rtval->stlen = recm.rt_len;
- else
+ free_wstr(rtval);
+ } else
set_RT(recm.rt_start, recm.rt_len);
} else
set_RT(recm.rt_start, recm.rt_len);
diff --git a/main.c b/main.c
index b30924b6..43a3e4a5 100644
--- a/main.c
+++ b/main.c
@@ -148,10 +148,8 @@ int do_binary = FALSE; /* hands off my data! */
int do_sandbox = FALSE; /* sandbox mode - disable 'system' function & redirections */
int use_lc_numeric = FALSE; /* obey locale for decimal point */
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
int gawk_mb_cur_max; /* MB_CUR_MAX value, see comment in main() */
-#else
-const int gawk_mb_cur_max = 1;
#endif
FILE *output_fp; /* default output for debugger */
@@ -267,7 +265,7 @@ main(int argc, char **argv)
setlocale(LC_TIME, "");
#endif
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/*
* In glibc, MB_CUR_MAX is actually a function. This value is
* tested *a lot* in many speed-critical places in gawk. Caching
@@ -556,7 +554,7 @@ out:
if (do_lint && os_is_setuid())
warning(_("running %s setuid root may be a security problem"), myname);
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (do_binary) {
if (do_posix)
warning(_("`--posix' overrides `--binary'"));
@@ -924,7 +922,7 @@ static const struct varinit varinit[] = {
{&FILENAME_node, "FILENAME", "", 0, NULL, NULL, FALSE, 0 },
{&FNR_node, "FNR", NULL, 0, update_FNR, set_FNR, TRUE, 0 },
{&FS_node, "FS", " ", 0, NULL, set_FS, FALSE, 0 },
-{&FPAT_node, "FPAT", "[^[:space:]]+", 0, NULL, set_FPAT, FALSE, 0 },
+{&FPAT_node, "FPAT", "[^[:space:]]+", 0, NULL, set_FPAT, FALSE, NON_STANDARD },
{&IGNORECASE_node, "IGNORECASE", NULL, 0, NULL, set_IGNORECASE, FALSE, NON_STANDARD },
{&LINT_node, "LINT", NULL, 0, NULL, set_LINT, FALSE, NON_STANDARD },
{&NF_node, "NF", NULL, -1, update_NF, set_NF, FALSE, 0 },
@@ -1127,6 +1125,26 @@ is_std_var(const char *var)
return FALSE;
}
+
+/* get_spec_varname --- return the name of a special variable
+ with the given assign or update routine.
+*/
+
+const char *
+get_spec_varname(Func_ptr fptr)
+{
+ const struct varinit *vp;
+
+ if (! fptr)
+ return NULL;
+ for (vp = varinit; vp->name != NULL; vp++) {
+ if (vp->assign == fptr || vp->update == fptr)
+ return vp->name;
+ }
+ return NULL;
+}
+
+
/* arg_assign --- process a command-line assignment */
int
diff --git a/mbsupport.h b/mbsupport.h
index c3a6b333..6008da77 100644
--- a/mbsupport.h
+++ b/mbsupport.h
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2004, 2005 the Free Software Foundation, Inc.
+ * Copyright (C) 2004, 2005, 2011 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -36,6 +36,8 @@
#include <stdlib.h>
#endif
+#ifndef NO_MBSUPPORT
+
#if defined(HAVE_ISWCTYPE) \
&& defined(HAVE_LOCALE_H) \
&& defined(HAVE_MBRLEN) \
@@ -55,5 +57,14 @@
/* We can handle multibyte strings. */
# define MBS_SUPPORT 1
#else
-# undef MBS_SUPPORT
+# define MBS_SUPPORT 0
+#endif
+
+#else /* NO_MBSUPPORT is defined */
+# define MBS_SUPPORT 0
+#endif
+
+#if ! MBS_SUPPORT
+# undef MB_CUR_MAX
+# define MB_CUR_MAX 1
#endif
diff --git a/node.c b/node.c
index 315d46c7..204a91f9 100644
--- a/node.c
+++ b/node.c
@@ -297,7 +297,7 @@ dupnode(NODE *n)
r->flags &= ~FIELD;
r->flags |= MALLOC;
r->valref = 1;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/*
* DON'T call free_wstr(r) here!
* r->wstptr still points at n->wstptr's value, and we
@@ -305,13 +305,13 @@ dupnode(NODE *n)
*/
r->wstptr = NULL;
r->wstlen = 0;
-#endif /* defined MBS_SUPPORT */
+#endif /* MBS_SUPPORT */
if ((n->flags & STRCUR) != 0) {
emalloc(r->stptr, char *, n->stlen + 2, "dupnode");
memcpy(r->stptr, n->stptr, n->stlen);
r->stptr[n->stlen] = '\0';
-#if defined MBS_SUPPORT
+#if MBS_SUPPORT
if ((n->flags & WSTRCUR) != 0) {
r->wstlen = n->wstlen;
emalloc(r->wstptr, wchar_t *, sizeof(wchar_t) * (n->wstlen + 2), "dupnode");
@@ -319,7 +319,7 @@ dupnode(NODE *n)
r->wstptr[n->wstlen] = L'\0';
r->flags |= WSTRCUR;
}
-#endif /* defined MBS_SUPPORT */
+#endif /* MBS_SUPPORT */
}
return r;
@@ -354,10 +354,10 @@ r_make_str_node(const char *s, unsigned long len, int flags)
r->type = Node_val;
r->numbr = 0;
r->flags = (STRING|STRCUR|MALLOC);
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
r->wstptr = NULL;
r->wstlen = 0;
-#endif /* defined MBS_SUPPORT */
+#endif /* MBS_SUPPORT */
if (flags & ALREADY_MALLOCED)
r->stptr = (char *) s;
@@ -372,7 +372,7 @@ r_make_str_node(const char *s, unsigned long len, int flags)
char *ptm;
int c;
const char *end;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
mbstate_t cur_state;
memset(& cur_state, 0, sizeof(cur_state));
@@ -380,7 +380,7 @@ r_make_str_node(const char *s, unsigned long len, int flags)
end = &(r->stptr[len]);
for (pf = ptm = r->stptr; pf < end;) {
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
/*
* Keep multibyte characters together. This avoids
* problems if a subsequent byte of a multibyte
@@ -653,7 +653,7 @@ isnondecimal(const char *str, int use_locale)
return TRUE;
}
-#if defined MBS_SUPPORT
+#if MBS_SUPPORT
/* str2wstr --- convert a multibyte string to a wide string */
NODE *
@@ -902,7 +902,7 @@ out: ;
return NULL;
}
-#endif /* defined MBS_SUPPORT */
+#endif /* MBS_SUPPORT */
/* is_ieee_magic_val --- return true for +inf, -inf, +nan, -nan */
@@ -949,7 +949,7 @@ get_ieee_magic_val(const char *val)
return v;
}
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
wint_t btowc_cache[256];
/* init_btowc_cache --- initialize the cache */
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 8aaeb418..8f676de6 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,7 @@
+2011-09-30 Eli Zaretskii <eliz@gnu.org>
+
+ * config.h: Update packaging related versions.
+
2011-06-23 Arnold D. Robbins <arnold@skeeve.com>
* ChangeLog.0: Rotated ChangeLog into this file.
diff --git a/pc/config.h b/pc/config.h
index 4dd797c1..69c511d7 100644
--- a/pc/config.h
+++ b/pc/config.h
@@ -416,16 +416,19 @@
#define PACKAGE_NAME "GNU Awk"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU Awk 3.1.5a"
+#define PACKAGE_STRING "GNU Awk 4.0.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gawk"
+/* Define to the home page for this package. */
+#define PACKAGE_URL "http://www.gnu.org/software/gawk/"
+
/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.1.5a"
+#define PACKAGE_VERSION "4.0.0"
/* Version number of package */
-#define VERSION "3.1.5a"
+#define VERSION "4.0.0"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
diff --git a/po/ChangeLog b/po/ChangeLog
index d5b5fd5c..ff5d3695 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,9 @@
+2011-07-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.in.in (dist2): Remove README from list of files checked for
+ manually. Added in main directory's Makefile.am EXTRA_DIST, per
+ advice from Bruno Haible.
+
2011-06-23 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.in.in (dist2): Add README to list of files checked for
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index d497db4c..83d8838a 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -363,9 +363,6 @@ dist2: stamp-po $(DISTFILES)
if test -f $(srcdir)/$(DOMAIN).pot; then \
dists="$$dists $(DOMAIN).pot stamp-po"; \
fi; \
- if test -f $(srcdir)/README; then \
- dists="$$dists README"; \
- fi; \
if test -f $(srcdir)/ChangeLog; then \
dists="$$dists ChangeLog"; \
fi; \
diff --git a/po/da.gmo b/po/da.gmo
index 3b92979b..60155ca5 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index f8fee301..2df1149e 100644
--- a/po/da.po
+++ b/po/da.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gawk 3.1.83\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
"PO-Revision-Date: 2011-05-22 10:37+0200\n"
"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -45,9 +45,9 @@ msgstr "forsøg på at bruge skalarparameteren '%s' som et array"
msgid "attempt to use scalar `%s' as an array"
msgstr "forsøg på at bruge skalar '%s' som et array"
-#: array.c:302 array.c:707 builtin.c:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "forsøg på at bruge array '%s' i skalarsammenhæng"
@@ -67,7 +67,7 @@ msgstr "indeks i array '%s' er en tom streng"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indeks '%s' findes ikke i array '%s'"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "forsøg på at bruge skalaren '%s[\"%.*s\"]' som array"
@@ -184,346 +184,346 @@ msgstr "dublet case-værdier i switch-krop %s"
msgid "duplicate `default' detected in switch body"
msgstr "dublet 'default' opdaget i switch-krop"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "'break' uden for en løkke eller switch er ikke tilladt"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "'continue' uden for en løkke er ikke tilladt"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "'next' brugt i %s-handling"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "'nextfile' er en gawk-udvidelse"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "'nextfile' brugt i %s-handling"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "'return' brugt uden for funktion"
-#: awkgram.y:927
+#: awkgram.y:925
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 "
"\"\"'"
-#: awkgram.y:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "'delete array' er en gawk-udvidelse"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "'delete array' er en ikke-portabel udvidelse fra tawk"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "flertrins dobbeltrettede datakanaler fungerer ikke"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "regulært udtryk i højreleddet af en tildeling"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "regulært udtryk på venstre side af en '~'- eller '!~'-operator"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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'"
-#: awkgram.y:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "regulært udtryk i højreleddet af en sammenligning"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "'getline var' ugyldig inden i '%s' regel"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "'getline' ugyldig inden i '%s' regel"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr "ikke-omdirigeret 'getline' udefineret inden i END-handling"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "gamle versioner af awk understøtter ikke flerdimensionale array"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "kald af 'length' uden parenteser er ikke portabelt"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "indirekte funktionskald er en gawk-udvidelse"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr "kan ikke bruge specialvariabel '%s' til indirekte funktionskald"
-#: awkgram.y:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "ugyldigt indeksudtryk"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "brug af ikke-array som array"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "advarsel: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "fatal: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "uventet nylinjetegn eller strengafslutning"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "kan ikke åbne kildefilen '%s' for læsning (%s)"
-#: awkgram.y:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "ukendt årsag"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "allerede inkluderet kildefil '%s'"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "@include er en gawk-udvidelse"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "tomt filnavn efter @include"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "tom programtekst på kommandolinjen"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "kan ikke læse kildefilen '%s' (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "kildefilen '%s' er tom"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "kildefilen slutter ikke med en ny linje"
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "uafsluttet regulært udtryk slutter med '\\' i slutningen af filen"
-#: awkgram.y:2907
+#: awkgram.y:2906
#, 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"
-#: awkgram.y:2911
+#: awkgram.y:2910
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "regex-ændringstegn '/.../%c' fra tawk virker ikke i gawk"
-#: awkgram.y:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "uafsluttet regulært udtryk"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "uafsluttet regulært udtryk i slutningen af filen"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr "brug af '\\ #...' for linjefortsættelse er ikke portabelt"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "sidste tegn på linjen er ikke en omvendt skråstreg"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX tillader ikke operatoren '**='"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "gamle versioner af awk understøtter ikke operatoren '**='"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX tillader ikke operatoren '**'"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "gamle versioner af awk understøtter ikke operatoren '**'"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "operatoren '^=' understøttes ikke i gamle versioner af awk"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "operatoren '^' understøttes ikke i gamle versioner af awk"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "uafsluttet streng"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ugyldigt tegn '%c' i udtryk"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "'%s' er en gawk-udvidelse"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "'%s' er en Bell Labs-udvidelse"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX tillader ikke '%s'"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "'%s' understøttes ikke i gamle versioner af awk"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "'goto' anses for skadelig!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d er et ugyldigt antal argumenter for %s"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: tredje argument er en gawk-udvidelse"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s: tredje argument er ikke et ændringsbart objekt"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: tredje argument er en gawk-udvidelse"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: andet argument er en gawk-udvidelse"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"brug af dcgettext(_\"...\") er forkert: fjern det indledende "
"understregningstegn"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"brug af dcgettext(_\"...\") er forkert: fjern det indledende "
"understregningstegn"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktionen '%s': parameteren '%s' overskygger en global variabel"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kunne ikke åbne '%s' for skrivning (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
msgstr "sender variabelliste til standard fejl"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: lukning mislykkedes (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() kaldt to gange!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "der var skyggede variable."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktionen '%s': kan ikke bruge funktionsnavn som parameternavn"
-#: awkgram.y:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "funktionsnavnet '%s' er allerede defineret"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktionen '%s' kaldt, men aldrig defineret"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktionen '%s' defineret, men aldrig kaldt direkte"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "konstant regulært udtryk for parameter %d giver en boolesk værdi"
-#: awkgram.y:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -532,227 +532,227 @@ msgstr ""
"funktionen '%s' kaldt med blanktegn mellem navnet og '(',\n"
"eller brugt som en variabel eller et array"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "forsøgte at dividere med nul"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "forsøgte at dividere med nul i '%%'"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s til '%s' mislykkedes (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "standard ud"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: fik et ikke-numerisk argument"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argumentet %g er uden for det tilladte område"
-#: builtin.c:197
+#: builtin.c:196
#, 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"
-#: builtin.c:200
+#: builtin.c:199
#, 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"
-#: builtin.c:212
+#: builtin.c:211
#, 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"
-#: builtin.c:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "indeks: første argument er ikke en streng"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "indeks: andet argument er ikke en streng"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int: fik et ikke-numerisk argument"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: fik et array-argument"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "'length(array)' er en gawk-udvidelse"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: fik et argument som ikke er en streng"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: fik et ikke-numerisk argument"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: fik et negativt argument %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
msgid "fatal: must use `count$' on all formats or none"
msgstr "fatal: skal bruge 'count$' på alle formater eller ikke nogen"
-#: builtin.c:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "feltbredde ignoreret for '%%'-angivelse"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "præcision ignoreret for '%%'-angivelse"
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "feltbredde og præcision ignoreret for '%%'-angivelse"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal: '$' tillades ikke i awk-formater"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal: argumentantallet med '$' skal være > 0"
-#: builtin.c:826
+#: builtin.c:825
#, 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"
-#: builtin.c:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal: '$' tillades ikke efter et punktum i formatet"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
"fatal: intet '$' angivet for bredde eller præcision af positionsangivet felt"
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "'l' er meningsløst i awk-formater, ignoreret"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal: 'l' tillades ikke i POSIX awk-formater"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "'L' er meningsløst i awk-formater, ignoreret"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal: 'L' tillades ikke i POSIX awk-formater"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "'h' er meningsløst i awk-formater, ignoreret"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: 'h' tillades ikke i POSIX awk-formater"
-#: builtin.c:1268
+#: builtin.c:1267
#, 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"
-#: builtin.c:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"ignorerer ukendt formatspecificeringstegn '%c': intet argument konverteret"
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr "fatal: for få argumenter til formatstrengen"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "^ sluttede her"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: formatspecifikation har intet kommandobogstav"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "for mange argumenter til formatstrengen"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: ingen argumenter"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: fik ikke-numerisk argument"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: kaldt med negativt argument %g"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: længden %g er ikke >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: længden %g er ikke >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: længden %g som ikke er et heltal vil blive trunkeret"
-#: builtin.c:1513
+#: builtin.c:1512
#, 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"
-#: builtin.c:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindeks %g er ugyldigt, bruger 1"
-#: builtin.c:1530
+#: builtin.c:1529
#, 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:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: kildestrengen er tom"
-#: builtin.c:1571
+#: builtin.c:1570
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: startindeks %g er forbi slutningen på strengen"
-#: builtin.c:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -760,221 +760,221 @@ msgstr ""
"substr: længden %g ved startindeks %g overskrider længden af første argument "
"(%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: formatværdi i PROCINFO[\"strftime\"] har numerisk type"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: fik et ikke-numerisk andet argument"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: fik et første argument som ikke er en streng"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: fik en tom formatstreng"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: fik et argument som ikke er en streng"
-#: builtin.c:1771
+#: builtin.c:1770
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"
-#: builtin.c:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "'system'-funktion ikke tilladt i sandkasse-tilstand"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: fik et argument som ikke er en streng"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "reference til ikke-initieret felt '$%d'"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: fik et argument som ikke er en streng"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: fik et argument som ikke er en streng"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: fik et ikke-numerisk første argument"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: fik et ikke-numerisk andet argument"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: fik et ikke-numerisk argument"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: fik et ikke-numerisk argument"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: fik et ikke-numerisk argument"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: tredje argument er ikke et array"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 0 i tredje argument behandlet som 1"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: fik et ikke-numerisk første argument"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fik et ikke-numerisk andet argument"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2769
+#: builtin.c:2779
#, 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"
-#: builtin.c:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: fik et ikke-numerisk første argument"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fik et ikke-numerisk andet argument"
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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"
-#: builtin.c:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: fik et ikke-numerisk første argument"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: fik et ikke-numerisk andet argument"
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: fik et ikke-numerisk første argument"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: fik et ikke-numerisk andet argument"
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: fik et ikke-numerisk første argument"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: fik et ikke-numerisk andet argument"
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: fik et ikke-numerisk argument"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): negative værdier vil give mærkelige resultater"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): kommatalsværdier vil blive trunkeret"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: '%s' er ikke en gyldig lokalitetskategori"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "ukendt nodetype %d"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "ukendt opkode %d"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "opkode %s er ikke en operator eller et nøgleord"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "bufferoverløb i genflags2str"
@@ -1011,103 +1011,104 @@ msgstr "forkert '%sFMT'-specifikation '%s'"
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "deaktiverer '--lint' på grund af en tildeling til 'LINT'"
-#: eval.c:1127 eval.c:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "tildeling er ikke tilladt til resultatet fra en indbygget funktion"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "reference til ikke-initieret argument '%s'"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr "forsøg på at referere til et felt fra ikke-numerisk værdi"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "forsøg på at referere til et felt fra tom streng"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "forsøg på at få adgang til felt %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "reference til ikke-initieret felt '$%ld'"
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktionen '%s' kaldt med flere argumenter end deklareret"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: uventet type `%s'"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "forsøgte at dividere med nul i '/='"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "forsøgte at dividere med nul i '%%='"
-#: eval.c:1784 eval.c:2030
+#: 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:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "tildeling brugt i sammenligningsammenhæng"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "kommandoen har ingen effekt"
-#: eval.c:2233
+#: 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:2343
+#: eval.c:2458
#, c-format
msgid "function called indirectly through `%s' does not exist"
msgstr "funktion kaldt indirekte via '%s' eksisterer ikke"
-#: eval.c:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "funktionen '%s' er ikke defineret"
-#: eval.c:2416
+#: eval.c:2511
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
msgstr "ikke-omdirigeret 'getline' ugyldig inden i '%s'-regel"
-#: eval.c:2477
+#: 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:2532
+#: 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:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr "Véd desværre ikke hvordan '%s' skal fortolkes"
@@ -1204,80 +1205,80 @@ msgstr "Operationen understøttes ikke"
msgid "NF set to negative value"
msgstr "NF sat til en negativ værdi"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: fjerde argument er en gawk-udvidelse"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: fjerde argument er ikke et array"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: andet argument er ikke et array"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr "split: kan ikke bruge det samme array som andet og fjerde argument"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: kan ikke bruge et underarray af andet argument som fjerde argument"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: kan ikke bruge et underarray af fjerde argument som andet argument"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: tom streng som tredje argument er en gawk-udvidelse"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: fjerde argument er ikke et array"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: andet argument er ikke et array"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patmatch: tredje argument er ikke et array"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr "patsplit: kan ikke bruge det samme array som andet og fjerde argument"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: kan ikke bruge et underarray af andet argument som fjerde argument"
-#: field.c:1072
+#: field.c:1073
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:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "'FIELDWIDTHS' er en gawk-udvidelse"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ugyldig FIELDWIDTHS værdi, nær '%s"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "tom streng som 'FS' er en gawk-udvidelse"
-#: field.c:1249
+#: field.c:1250
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'"
-#: field.c:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "'FPAT' er en gawk-udvidelse"
@@ -1336,464 +1337,459 @@ msgstr "%s: flaget '-W %s' tillader ikke noget argument\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: flaget '-W %s' kræver et argument\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "kommandolinjeargument '%s' er et katalog, oversprunget"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "kan ikke åbne filen '%s' for læsning (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "fejl ved læsning af inddatafilen '%s': %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "lukning af fd %d ('%s') mislykkedes (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "omdirigering ikke tilladt i sandkasse-tilstand"
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "udtrykket i '%s'-omdirigering har kun numerisk værdi"
-#: io.c:617
+#: io.c:618
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "udtrykket for '%s'-omdirigering har en tom streng som værdi"
-#: io.c:623
+#: io.c:624
#, 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"
-#: io.c:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "unødig blanding af '>' og '>>' for filen '%.*s'"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "kan ikke åbne datakanalen '%s' for udskrivning (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "kan ikke åbne datakanalen '%s' for indtastning (%s)"
-#: io.c:752
+#: io.c:753
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "kan ikke åbne tovejsdatakanalen '%s' for ind-/uddata (%s)"
-#: io.c:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan ikke omdirigere fra '%s' (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan ikke omdirigere til '%s' (%s)"
-#: io.c:888
+#: io.c:889
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"nåede systembegrænsningen for åbne filer: begynder at multiplekse "
"fildeskriptorer"
-#: io.c:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "lukning af '%s' mislykkedes (%s)."
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "for mange datakanaler eller inddatafiler åbne"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: andet argument skal være 'to' eller 'from'"
-#: io.c:951
+#: io.c:952
#, 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"
-#: io.c:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "lukning af omdirigering som aldrig blev åbnet"
-#: io.c:1053
+#: io.c:1054
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: omdirigeringen '%s' blev ikke åbnet med '|&', andet argument ignoreret"
-#: io.c:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "fejlstatus (%d) fra lukning af datakanalen '%s' (%s)"
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "fejlstatus (%d) fra fillukning af '%s' (%s)"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "ingen eksplicit lukning af soklen '%s' angivet"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "ingen eksplicit lukning af ko-processen '%s' angivet"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "ingen eksplicit lukning af datakanalen '%s' angivet"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "ingen eksplicit lukning af filen '%s' angivet"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "fejl ved skrivning til standard ud (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "fejl ved skrivning til standard fejl (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "datakanalsrensning af '%s' mislykkedes (%s)."
-#: io.c:1144
+#: io.c:1145
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "ko-procesrensning af datakanalen til '%s' mislykkedes (%s)."
-#: io.c:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "filrensning af '%s' mislykkedes (%s)."
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokal port %s ugyldig i '/inet'"
-#: io.c:1279
+#: io.c:1280
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "fjernvært og portinformation (%s, %s) ugyldige"
-#: io.c:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "ingen (kendt) protokol opgivet i special-filnavn '%s'"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "special-filnavn '%s' er ufuldstændigt"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "fjernmaskinenavn til '/inet' skal angives"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "fjernport til '/inet' skal angives"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-kommunikation understøttes ikke"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kunne ikke åbne '%s', tilstand '%s'"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "lukning af master-pty mislykkedes (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "lukning af standard ud i underproces mislykkedes (%s)"
-#: io.c:1749
+#: io.c:1753
#, 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:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "lukning af standard ind i underproces mislykkedes (%s)"
-#: io.c:1754
+#: io.c:1758
#, 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:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "lukning af slave-pty mislykkedes (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, 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:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr "genskabelse af standard ud i forælderprocessen mislykkedes\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr "genskabelse af standard ind i forælderprocessen mislykkedes\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "lukning af datakanalen mislykkedes (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "'|&' understøttes ikke"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan ikke åbne datakanalen '%s' (%s)"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan ikke oprette barneproces for '%s' (fork: %s)"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "datafilen '%s' er tom"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "kunne ikke allokere mere hukommelse til inddata"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "'RS' som flertegnsværdi er en gawk-udvidelse"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "IPv6-kommunikation understøttes ikke"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "'-m[fr]'-flaget er irrelevant i gawk"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "brug af flaget -m: '-m[fr] nnn'"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "tomt argument til '-e/--source' ignoreret"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: flaget '-W %s' ukendt, ignoreret\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: flaget kræver et argument -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "miljøvariablen 'POSIXLY_CORRECT' sat: aktiverer '--posix'"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "'--posix' tilsidesætter '--traditional'"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "'--posix'/'--traditional' tilsidesætter '--non-decimal-data'"
-#: main.c:557
+#: main.c:555
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr "at køre %s setuid root kan være et sikkerhedsproblem"
-#: main.c:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "'--posix' tilsidesætter '--binary'"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "kan ikke sætte binær tilstand på standard ind (%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "kan ikke sætte binær tilstand på standard ud (%s)"
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "kan ikke sætte binær tilstand på standard fejl (%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr "ingen programtekst overhovedet!"
-#: main.c:735
+#: main.c:733
#, 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:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-flag:\t\tlange GNU-flag: (standard)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f progfil\t\t--file=progfil\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=værdi\t\t--assign=var=værdi\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "POSIX-flag:\t\tlange GNU-flag: (udvidelser)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fil]\t\t--dump-variables[=fil]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programtekst'\t--source='programtekst'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fil\t\t\t--exec=fil\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fil]\t\t--profile[=fil]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1802,7 +1798,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1815,7 +1811,7 @@ msgstr ""
"\n"
"Rapportér kommentarer til oversættelsen til <dansk@dansk-gruppen.dk>.\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1825,7 +1821,7 @@ msgstr ""
"Almindeligvis læser gawk fra standard ind og skriver til standard ud.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1835,7 +1831,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fil\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1855,7 +1851,7 @@ msgstr ""
"enhver senere version.\n"
"\n"
-#: main.c:816
+#: main.c:814
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"
@@ -1869,7 +1865,7 @@ msgstr ""
"General Public License for yderligere information.\n"
"\n"
-#: main.c:822
+#: main.c:820
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"
@@ -1877,16 +1873,16 @@ 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"
-#: main.c:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft sætter ikke FS til tab i POSIX-awk"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "ukendt værdi for felt-spec: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1895,53 +1891,53 @@ msgstr ""
"%s: '%s' argument til '-v' ikke på formen 'var=værdi'\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "'%s' er ikke et gyldigt variabelnavn"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
+#: main.c:1203
#, fuzzy, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr "extension: kan ikke bruge gawk's indbyggede '%s' som funktionsnavn"
-#: main.c:1190
+#: main.c:1208
#, fuzzy, c-format
msgid "cannot use function `%s' as variable name"
msgstr "kan ikke bruge funktionsnavnet '%s' som variabel eller array"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "flydendetalsundtagelse"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "fatal fejl: intern fejl"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "fatal fejl: intern fejl: segmentfejl"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "fatal fejl: intern fejl: stakoverløb"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "ingen fd %d åbnet i forvejen"
-#: main.c:1334
+#: main.c:1352
#, 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:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "kunne ikke finde grupper: %s"
@@ -2036,12 +2032,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "intern fejl: %s med null vname"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profil til gawk oprettet %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2050,14 +2046,14 @@ msgstr ""
"\n"
"\t# Funktioner, listede alfabetisk\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: uykendt omdirigeringstype %d"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, c-format
+msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "område på formen `[%c-%c]' er locale-afhængig"
#: re.c:599
@@ -2137,6 +2133,9 @@ msgstr "Ubalanceret ) eller \\)"
msgid "No previous regular expression"
msgstr "Intet foregående regulært udtryk"
+#~ 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"
diff --git a/po/de.gmo b/po/de.gmo
index dbcb5d22..02aa2b21 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 76c58cad..b47c0c25 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.81\n"
+"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
-"PO-Revision-Date: 2011-05-18 14:43+0200\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
+"PO-Revision-Date: 2011-09-27 16:38+0200\n"
"Last-Translator: Philipp Thomas <pth@suse.de>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
@@ -34,16 +34,16 @@ msgstr "Es wird versucht, die Funktion »%s« als Feld zu verwenden"
#: array.c:254
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
-msgstr "Es wird versucht, den skalaren Parameter »%s« als Feld zu benutzen"
+msgstr "Es wird versucht, den skalaren Parameter »%s« als Feld zu verwenden"
#: array.c:257
#, 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:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "Es wird versucht, das Feld »%s« in einem Skalarkontext zu verwenden"
@@ -51,7 +51,7 @@ 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\"]«"
+msgstr "Bezug auf ein nicht initialisiertes Element »%s[\"%.*s\"]«"
#: array.c:519
#, c-format
@@ -63,7 +63,7 @@ msgstr "Der Index von Feld »%s« ist ein Nullstring"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: Index »%s« ist in Feld »%s« nicht vorhanden"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "Es wird versucht, den Skalar »%s[\"%.*s\"]« als Feld zu verwenden"
@@ -81,7 +81,7 @@ msgstr "%s: leer (0)\n"
#: array.c:919
#, c-format
msgid "%s: table_size = %d, array_size = %d\n"
-msgstr "%s: Table_size = %d, array_size = %d\n"
+msgstr "%s: Tabellengröße = %d, Feldgröße = %d\n"
#: array.c:954
#, c-format
@@ -111,7 +111,7 @@ msgstr "asort: Das erste Argument ist kein Feld"
#: array.c:1095
msgid "asorti: first argument not an array"
-msgstr "asort: Das erste Argument ist kein Feld"
+msgstr "asorti: Das erste Argument ist kein Feld"
#: array.c:1102
msgid "asort: cannot use a subarray of first arg for second arg"
@@ -140,7 +140,7 @@ msgstr ""
#: array.c:1659
#, c-format
msgid "`%s' is invalid as a function name"
-msgstr "»%s« ist ein unzuässiger Funktionsname"
+msgstr "»%s« ist ein unzulässiger Funktionsname"
#: array.c:1663
#, c-format
@@ -154,11 +154,11 @@ msgstr "%s-Blöcke müssen einen Aktionsteil haben"
#: awkgram.y:252
msgid "each rule must have a pattern or an action part"
-msgstr "jede Regel muss entweder ein Muster oder einen Aktionsteil haben"
+msgstr "Jede Regel muss entweder ein Muster oder einen Aktionsteil haben"
#: awkgram.y:323 awkgram.y:334
msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr "Das alte awk erlaubt keine mehrfachen »BEGIN« oder »END« Regeln"
+msgstr "Das alte awk erlaubt keine mehrfachen »BEGIN«- oder »END«-Regeln"
#: awkgram.y:371
#, c-format
@@ -168,611 +168,609 @@ msgstr "»%s« ist eine eingebaute Funktion und kann nicht umdefiniert werden"
#: awkgram.y:432
msgid "regexp constant `//' looks like a C++ comment, but is not"
msgstr ""
-"Der Konstante reguläre Ausdruck »//« sieht wie ein C-Kommentar aus, ist aber "
-"keiner"
+"Die Regulärer-Ausdruck-Konstante »//« sieht wie ein C-Kommentar aus, ist "
+"aber keiner"
#: awkgram.y:436
#, c-format
msgid "regexp constant `/%s/' looks like a C comment, but is not"
msgstr ""
-"Der reguläre Ausdruckskonstante »/%s/« sieht wie ein C-Kommentar aus, ist "
+"Die Regulärer-Ausdruck-Konstante »/%s/« sieht wie ein C-Kommentar aus, ist "
"aber keiner"
#: awkgram.y:528
#, c-format
msgid "duplicate case values in switch body: %s"
-msgstr "doppelte Case-Werte im Switch-Rumpf: %s"
+msgstr "doppelte Case-Werte im Switch-Block: %s"
#: awkgram.y:549
msgid "duplicate `default' detected in switch body"
-msgstr "doppeltes »default« im Switch-Rumpf gerfunden"
+msgstr "doppeltes »default« im Switch-Block gefunden"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr ""
-"»break« außerhalb einer Schleife oder eines Switches ist nicht zulässig"
+"»break« ist außerhalb einer Schleife oder eines Switch-Blocks nicht zulässig"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
-msgstr "»continue« außerhalb einer Schleife ist nicht zulässig"
+msgstr "»continue« ist außerhalb einer Schleife nicht zulässig"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
-msgstr "»next« wird in %s--Aktion benutzt"
+msgstr "»next« wird in %s-Aktion verwendet"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "»nextfile« ist eine gawk-Erweiterung"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
-msgstr "»nextfile« wird in %s-Aktion benutzt"
+msgstr "»nextfile« wird in %s-Aktion verwendet"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
-msgstr "»return« wird außerhalb einer Funktion benutzt"
+msgstr "»return« wird außerhalb einer Funktion verwendet"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "»delete array« ist eine gawk-Erweiterung"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "»delete(array)« ist eine gawk-Erweiterung"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "mehrstufige Zweiwege-Pipes funktionieren nicht"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "Regulärer Ausdruck auf der rechten Seite einer Zuweisung"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "Regulärer Ausdruck links vom »~«- oder »!~«-Operator"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "Regulärer Ausdruck rechts von einem Vergleich"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "»getline var« ist ungültig innerhalb der »%s«-Regel"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "»getline« ist ungültig innerhalb der »%s«-Regel"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr ""
"Nicht-umgelenktes »getline« ist innerhalb der END-Aktion nicht definiert"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "Das alte awk unterstützt keine mehrdimensionalen Felder"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "Aufruf von »length« ohne Klammern ist nicht portabel"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "indirekte Funktionsaufrufe sind eine gawk-Erweiterung"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "Ungültiger Index-Ausdruck"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "Verwendung eines Nicht-Feldes als Feld"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "Warnung: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "Fatal: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "Unerwarteter Zeilenumbruch oder Ende der Zeichenkette"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, 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:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "Unbekannte Ursache"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "Quelldatei »%s« wurde bereits eingebunden"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "»@include« ist eine gawk-Erweiterung"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "leerer Dateiname nach @include"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "Kein Programmtext auf der Kommandozeile"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "Die Quelldatei »%s« kann nicht gelesen werden (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "Die Quelldatei »%s« ist leer"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "Die Quelldatei hört nicht mit einem Zeilenende auf"
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
msgstr ""
-"Nicht-beendeter Regulärer Ausdruck (hört mit '\\' auf) am Ende der Datei"
+"Nicht beendeter regulärer Ausdruck (hört mit '\\' auf) am Ende der Datei"
-#: awkgram.y:2907
+#: awkgram.y:2906
#, 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 "
+"%s: %d: der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert "
"nicht in gawk"
-#: awkgram.y:2911
+#: awkgram.y:2910
#, 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 "
+"Der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert nicht in "
"gawk"
-#: awkgram.y:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
-msgstr "Nicht-beendeter Regulärer Ausdruck"
+msgstr "Nicht beendeter regulärer Ausdruck"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
-msgstr "Nicht-beendeter Regulärer Ausdruck am Dateiende"
+msgstr "Nicht beendeter regulärer Ausdruck am Dateiende"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr ""
"Die Verwendung von »\\#...« zur Fortsetzung von Zeilen ist nicht portabel"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "das letzte Zeichen auf der Zeile ist kein Backslash (»\\«)"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX erlaubt den Operator »**=« nicht"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
-msgstr "Das alte awk erlaubt den Operator »**=« nicht"
+msgstr "Das alte awk unterstützt den Operator »**=« nicht"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX erlaubt den Operator »**« nicht"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
-msgstr "Das alte awk erlaubt den Operator »**« nicht"
+msgstr "Das alte awk unterstützt den Operator »**« nicht"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
-msgstr "Das alte awk kennt den Operator »^=« nicht"
+msgstr "Das alte awk unterstützt den Operator »^=« nicht"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
-msgstr "Das alte awk kennt den Operator »^« nicht"
+msgstr "Das alte awk unterstützt den Operator »^« nicht"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
-msgstr "Nicht-beendete Zeichenkette"
+msgstr "Nicht beendete Zeichenkette"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "Ungültiges Zeichen »%c« in einem Ausdruck"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "»%s« ist eine gawk-Erweiterung"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "»%s« ist eine Erweiterung der Bell Labs"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
-msgstr "POSIX gestattet »%s« nicht"
+msgstr "POSIX erlaubt »%s« nicht"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "»%s« wird im alten awk nicht unterstützt"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "»goto« gilt als schlechter Stil!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "Unzulässige Argumentzahl %d für %s"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: Das dritte Argument ist eine gawk-Erweiterung"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "Der dritte Parameter von %s ist ein unveränderliches Objekt"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: Das dritte Argument ist eine gawk-Erweiterung"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: Das zweite Argument ist eine gawk-Erweiterung"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"Fehlerhafte Verwendung von dcgettext(_\"...\"): \n"
"Entfernen Sie den führenden Unterstrich"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"Fehlerhafte Verwendung von dcngettext(_\"...\"): \n"
"Entfernen Sie den führenden Unterstrich"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "Funktion »%s«: Parameter »%s« verdeckt eine globale Variable"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
-msgstr "Kann »%s« nicht zum Schreiben öffnen (%s)"
+msgstr "»%s« kann nicht zum Schreiben geöffne werden(%s)"
-#: awkgram.y:4084
-#, fuzzy
+#: awkgram.y:4094
msgid "sending variable list to standard error"
-msgstr "Das Profil wird auf der Stadard-Fehlerausgabe ausgegeben"
+msgstr "Die Liste der Variablen wird auf der Standardfehlerausgabe ausgegeben"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: close ist gescheitert (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() zweimal aufgerufen!"
-#: awkgram.y:4148
-#, fuzzy
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "es sind verdeckte Variablen vorhanden"
-#: awkgram.y:4178
+#: awkgram.y:4188
#, c-format
msgid "function `%s': can't use function name as parameter name"
-msgstr "Funktion »%s«: Kann Funktionsnamen nicht als Parameternamen benutzen"
+msgstr "Funktion »%s«: Funktionsnamen können nicht als Parameternamen benutzen"
-#: awkgram.y:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "Funktion »%s« wurde bereits definiert"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "Aufgerufene Funktion »%s« ist nirgends definiert"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "Funktion »%s« wurde definiert aber nirgends aufgerufen"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
-"Konstanter Regulärer Ausdruck für Parameter #%d ergibt einen \n"
+"Regulärer-Ausdruck-Konstante für Parameter #%d ergibt einen \n"
"logischen Wert"
-#: awkgram.y:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
"or used as a variable or an array"
msgstr ""
"Funktion »%s« wird mit Leerzeichen zwischen Name und »(« aufgerufen, \n"
-"oder als Variabler oder Feld verwendet"
+"oder als Variable oder Feld verwendet"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "Division durch Null wurde versucht"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "Division durch Null versucht in »%%«"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s to \"%s\" fehlgeschlagen (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "Standardausgabe"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: das Argument ist keine Zahl"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
-msgstr "exp: das Argument %g ist außerhalb des gültigen Bereichs"
+msgstr "exp: das Argument %g liegt außerhalb des gültigen Bereichs"
-#: builtin.c:197
+#: builtin.c:196
#, 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:200
+#: builtin.c:199
#, 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:212
+#: builtin.c:211
#, 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:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: Erstes Argument ist kein String"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: Zweites Argument ist kein string"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "Argument ist keine Zahl"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: Argument ist ein Feld"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "»length(array)« ist eine gawk-Erweiterung"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: Argument ist kein String"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: Argument ist keine Zahl"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: Negatives Argument %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
msgid "fatal: must use `count$' on all formats or none"
msgstr "Fatal: »count$« muss auf alle Formate angewandt werden oder auf keines"
-#: builtin.c:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "Feldbreite wird für die »%%«-Angabe ignoriert"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "Genauigkeit wird für die »%%«-Angabe ignoriert"
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "Feldbreite und Genauigkeit werden für die »%%«-Angabe ignoriert"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "Fatal: »$« ist in awk-Formaten nicht zulässig"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "Fatal: die Anzahl der Argumen bei »$« muss > 0 sein"
-#: builtin.c:826
+#: builtin.c:825
#, 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:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "Fatal: »$« nach Punkt in Formatangabe nicht zulässig"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "Fatal: »$« fehlt in positionsabhängiger Feldbreite oder Genauigkeit"
#
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "»l« ist in awk-Formaten bedeutungslos, ignoriert"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "Fatal: »l« ist in POSIX-awk-Formaten nicht zulässig"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "»L« ist in awk-Formaten bedeutungslos, ignoriert"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "Fatal: »L« ist in POSIX-awk-Formaten nicht zulässig"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "»h« ist in awk-Formaten bedeutungslos, ignoriert"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "Fatal: »h« ist in POSIX-awk-Formaten nicht zulässig"
-#: builtin.c:1268
+#: builtin.c:1267
#, 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:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
-"das unbekannte Zeichen »«%c in der Formatspezifikation wird ignoriert: keine "
+"das unbekannte Zeichen »%c« in der Formatspezifikation wird ignoriert: keine "
"Argumente umgewandelt"
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr "Fatal: Nicht genügend Argumente für die Formatangabe"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "^ hierfür fehlte es"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: Format-Spezifikation hat keinen Controlcode"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "Zu viele Argumente für den Formatstring"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: Keine Argumente"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: das Argument ist keine Zahl"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: das Argument %g ist negativ"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: Länge %g ist nicht >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: Länge %g ist nicht >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
-msgstr "substr: Nicht-ganzzahlige Länge %g wird abgeschnitten"
+msgstr "substr: Nicht ganzzahlige Länge %g wird abgeschnitten"
-#: builtin.c:1513
+#: builtin.c:1512
#, 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:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
-msgstr "substr: Start-Index %g ist ungültig, 1 wird benutzt"
+msgstr "substr: Start-Index %g ist ungültig, 1 wird verwendet"
-#: builtin.c:1530
+#: builtin.c:1529
#, c-format
msgid "substr: non-integer start index %g will be truncated"
-msgstr "substr: Nicht-ganzzahliger Start-Wert %g wird abgeschnitten"
+msgstr "substr: Nicht ganzzahliger Start-Wert %g wird abgeschnitten"
-#: builtin.c:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: Quellstring ist leer"
-#: builtin.c:1571
+#: builtin.c:1570
#, 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:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -780,225 +778,226 @@ msgstr ""
"substr: Länge %g am Start-Wert %g überschreitet die Länge des ersten "
"Arguments (%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: Formatwert in PROCINFO[\"strftime\"] ist numerischen Typs"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: Das zweite Argument ist keine Zahl"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: Das erste Argument ist kein String"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: Der Format-String ist leer"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: Das Argument ist kein String"
-#: builtin.c:1771
+#: builtin.c:1770
msgid "mktime: at least one of the values is out of the default range"
-msgstr ""
-"mktime: mindestens einer der Werte ist ausserhalb der normalen Bereichs"
+msgstr "mktime: mindestens einer der Werte ist außerhalb des normalen Bereichs"
-#: builtin.c:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "Die Funktion »system« ist im Sandbox-Modus nicht erlaubt"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: Das Argument ist kein String"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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«"
+msgstr "Referenz auf die nicht initialisierte Variable »%s«"
-#: builtin.c:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
-msgstr "Referenz auf das nicht-initialisierte Feld »$%d«"
+msgstr "Referenz auf das nicht initialisierte Feld »$%d«"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: das Argument ist kein String"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: das Argument ist kein String"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: das erste Argument ist keine Zahl"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: das zweite Argument ist keine Zahl"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: das Argument ist keine Zahl"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: das Argument ist keine Zahl"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: das Argument ist keine Zahl"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: das dritte Argument ist kein Array"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
-msgstr "gensub: 0 als dritte Argument wird als 1 interpretiert"
+msgstr "gensub: 0 als drittes Argument wird als 1 interpretiert"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: das erste Argument ist keine Zahl"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: das zweite Argument ist keine Zahl"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
-msgstr "lshift(%lf, %lf): Negative Werte führen zu merkwürdigen Ergebnissen"
+msgstr ""
+"lshift(%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2769
+#: builtin.c:2779
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
-"lshift(%lf, %lf): Zu große Shift-Werte führen zu merkwürdigen Ergebnissen"
+"lshift(%lf, %lf): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen "
+"führen"
-#: builtin.c:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: das erste Argument ist keine Zahl"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: das zweite Argument ist keine Zahl"
-#: builtin.c:2802
+#: builtin.c:2812
#, 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:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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 "
-"fuhren"
+"führen"
-#: builtin.c:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: das erste Argument ist keine Zahl"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: das zweite Argument ist keine Zahl"
-#: builtin.c:2839
+#: builtin.c:2849
#, 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:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: das erste Argument ist keine Zahl"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: das zweite Argument ist keine Zahl"
-#: builtin.c:2874
+#: builtin.c:2884
#, 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:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: das erste Argument ist keine Zahl"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: das zweite Argument ist keine Zahl"
-#: builtin.c:2912
+#: builtin.c:2922
#, 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:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: das erste Argument ist keine Zahl"
-#: builtin.c:2946
+#: builtin.c:2956
#, 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:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): Dezimalteil wird abgeschnitten"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: »%s« ist keine gültige Locale-Kategorie"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "Unbekannter Knotentyp %d"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "Unbekannter Opcode %d"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "Opcode %s ist weder ein Operator noch ein Schlüsselwort"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "Pufferüberlauf in genflags2str"
@@ -1033,105 +1032,107 @@ msgstr "Falsche »%sFMT«-Angabe »%s«"
#: eval.c:980
msgid "turning off `--lint' due to assignment to `LINT'"
-msgstr "»--lint« wird abgeschaltet, da an »LINT« gesetzt ist"
+msgstr "»--lint« wird abgeschaltet, da an »LINT« zugewiesen wird"
-#: eval.c:1127 eval.c:1685
+#: eval.c:1127 eval.c:1777
#, c-format
msgid "can't use function name `%s' as variable or array"
-msgstr "Kann Funktion »%s« nicht als Variable oder Feld verwenden"
+msgstr "Funktion »%s« kann nicht als Variable oder Feld verwendet werden"
-#: eval.c:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr ""
-"Zuweisungen an das Ergebnis einer eingebauten Funktion sind nicht erlaubt"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
-msgstr "Referenz auf nicht-initialisiertes Argument »%s«"
+msgstr "Referenz auf nicht initialisiertes Argument »%s«"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
-msgstr "Nicht-numerischer Wert für Feldreferenz verwendet"
+msgstr "Nicht numerischer Wert für Feldreferenz verwendet"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "Referenz auf ein Feld von einem Null-String"
-#: eval.c:1191
-#, fuzzy, c-format
+#: eval.c:1185
+#, c-format
msgid "attempt to access field %ld"
-msgstr "Versuch des Zugriffs auf Feld %d"
+msgstr "Versuch des Zugriffs auf Feld %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
-msgstr "Referenz auf das nicht-initialisierte Feld »$%ld«"
+msgstr "Referenz auf das nicht initialisierte Feld »$%ld«"
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "Funktion »%s« mit zu vielen Argumenten aufgerufen"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: unerwarteter Typ »%s«"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "Division durch Null versucht in »/=«"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "Division durch Null versucht in »%%=«"
-#: eval.c:1784 eval.c:2030
+#: eval.c:1876 eval.c:2122
#, c-format
msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
-msgstr "Versuch, das Feld »%s[\"%.*s\"]« in Skalarkontext zu verwenden"
+msgstr ""
+"Es wird versucht, das Feld »%s[\"%.*s\"]« in einem Skalarkontext zu verwenden"
-#: eval.c:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "Zuweisung in einer Bedingung"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "Anweisung hat keinen Effekt"
-#: eval.c:2233
-#, fuzzy, c-format
+#: 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 Größse von %d zu %ld innerhalb der Schleife"
+"for-Schleife: Feld »%s« ändert seine Größe von %ld innerhalb der Schleife zu "
+"%ld"
-#: eval.c:2343
+#: eval.c:2458
#, c-format
msgid "function called indirectly through `%s' does not exist"
-msgstr "die durch »%s« indirekt aufgerufene Funktion exsistiert nicht"
+msgstr "die durch »%s« indirekt aufgerufene Funktion existiert nicht"
-#: eval.c:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "Funktion »%s« ist nicht definiert"
-#: eval.c:2416
+#: eval.c:2511
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
-msgstr "Nicht-umgelenktes »getline« ist innerhalb der »%s«-Aktion unzuässig"
+msgstr "Nicht umgelenktes »getline« ist innerhalb der »%s«-Aktion unzuässig"
-#: eval.c:2477
+#: 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:2532
+#: eval.c:2694
#, c-format
msgid "`next' cannot be called from a `%s' rule"
-msgstr "»next« kann nicht in einer »%s«-Regel benutzt werden"
+msgstr "»next« kann nicht in einer »%s«-Regel verwendet werden"
-#: eval.c:2599
+#: 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"
@@ -1155,51 +1156,51 @@ msgid ""
"fatal: extension: library `%s': does not define "
"`plugin_is_GPL_compatible' (%s)\n"
msgstr ""
-"Fatal: extension: Bibliothek »%s«: definiert nicht "
-"»plugin_is_GPL_compatible« (%s)\n"
+"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"
msgstr ""
-"Fatal: extension: Bibliothek »%s«: Funktion »%s« kann nicht aufrufen werden "
-"(%s)\n"
+"Fatal: Erweiterung: Bibliothek »%s«: Funktion »%s« kann nicht aufgerufen "
+"werden (%s)\n"
#: ext.c:137
msgid "extension: missing function name"
-msgstr "extension: Funktionsname fehlt"
+msgstr "Erweiterung: Funktionsname fehlt"
#: ext.c:142
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
-msgstr "extension: unzulässiges Zeichen »%c« in Funktionsname »%s«"
+msgstr "Erweiterung: unzulässiges Zeichen »%c« in Funktionsname »%s«"
#: ext.c:151
#, c-format
msgid "extension: can't redefine function `%s'"
-msgstr "extension: Funktion »%s« kann nicht neu definiert werden"
+msgstr "Erweiterung: Funktion »%s« kann nicht neu definiert werden"
#: ext.c:155
#, c-format
msgid "extension: function `%s' already defined"
-msgstr "extgension: Funktion »%s« wurde bereits definiert"
+msgstr "Erweiterung: Funktion »%s« wurde bereits definiert"
#: ext.c:160
#, c-format
msgid "extension: function name `%s' previously defined"
-msgstr "extension: Funktion »%s« wurde bereits vorher definiert"
+msgstr "Erweiterung: Funktion »%s« wurde bereits vorher definiert"
#: ext.c:162
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
msgstr ""
-"extension: die eingebaute Funktion »%s« kann nicht als Funktionsname benutzt "
-"werden"
+"Erweiterung: die eingebaute Funktion »%s« kann nicht als Funktionsname "
+"verwendet werden"
#: ext.c:166
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
-msgstr "make_builtin: negative Anzahl von Argumenten fÜr Funktion »%s«"
+msgstr "make_builtin: negative Anzahl von Argumenten für Funktion »%s«"
#: ext.c:269
#, c-format
@@ -1217,13 +1218,15 @@ msgstr "Funktion »%s«: fehlendes Argument #%d"
#, c-format
msgid "function `%s': argument #%d: attempt to use scalar as an array"
msgstr ""
-"Funktion »%s«: Argument #%d: Versuch, einen Skalar als Feld zu verwenden"
+"Funktion »%s«: Argument #%d: Es wird versucht, einen Skalar als Feld zu "
+"verwenden"
#: ext.c:293
#, c-format
msgid "function `%s': argument #%d: attempt to use array as a scalar"
msgstr ""
-"Funktion »%s«: Argument #%d: Versuch, ein Feld als als Skalar zu verwenden"
+"Funktion »%s«: Argument #%d: Es wird versucht, ein Feld als Skalar zu "
+"verwenden"
#: ext.c:306
msgid "Operation Not Supported"
@@ -1233,88 +1236,88 @@ msgstr "Die Operation wird nicht unterstützt"
msgid "NF set to negative value"
msgstr "NF wird ein negativer Wert zugewiesen"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: das vierte Argument ist eine gawk-Erweiterung"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: das vierte Argument ist kein Feld"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: das zweite Argument ist kein Feld"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
-"split: für das zweite und vierte Argument kann nicht das gleiche Feld "
+"split: als zweites und viertes Argument kann nicht das gleiche Feld "
"verwendet werden"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: Ein untergeordnetes Feld des zweiten Arguments kann nicht als viertes "
"Argument verwendet werden"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: Ein untergeordnetes Feld des vierten Arguments kann nicht als zweites "
"Argument verwendet werden"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: Null-String als drittes Argument ist eine gawk-Erweiterung"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: Das vierte Argument ist kein Feld"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: Das zweite Argument ist kein Feld"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
-msgstr "patsplit: Das dritte Argument ist kein Feld"
+msgstr "patsplit: Das dritte Argument darf nicht Null sein"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
-"patsplit: für das zweite und vierte Argument kann nicht das gleiche Feld "
+"patsplit: als zweites und viertes Argument kann nicht das gleiche Feld "
"verwendet werden"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: Ein untergeordnetes Feld des zweiten Arguments kann nicht als "
"viertes Argument verwendet werden"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: Ein untergeordnetes Feld des vierten Arguments kann nicht als "
"zweites Argument verwendet werden"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "»FIELDWIDTHS« ist eine gawk-Erweiterung"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
-msgstr "ungültiger FIELDWIDTHS Wert nah bei »%s«"
+msgstr "ungültiger FIELDWIDTHS-Wert nah bei »%s«"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "Null-String für »FS« ist eine gawk-Erweiterung"
-#: field.c:1249
+#: field.c:1250
msgid "old awk does not support regexps as value of `FS'"
-msgstr "Das alte awk erlaubt keine regulären Ausdrücke als Wert von »FS«"
+msgstr "Das alte awk unterstützt keine regulären Ausdrücke als Wert von »FS«"
-#: field.c:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "»FPAT« ist eine gawk-Erweiterung"
@@ -1373,480 +1376,479 @@ msgstr "%s: Die Option »-W %s« hat keine Argumente\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: Die Option »-W %s« erfordert ein Argument\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr ""
"das Kommandozeilen-Argument »%s« ist ein Verzeichnis: wird übersprungen"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "Die Datei »%s« kann nicht zum Lesen geöffnet werden (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "Fehler beim Lesen der Eingabedatei »%s«: %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "Das Schließen des Dateideskriptors %d (»%s«) ist gescheitert (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "Umlenkungen sind im Sandbox-Modus nicht erlaubt"
-#: io.c:611
+#: io.c:612
#, 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:617
+#: io.c:618
#, 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:623
+#: io.c:624
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
-"Der Dateiname »%s« für eine Umlekung mittels »%s« kann das Ergebnis eines "
+"Der Dateiname »%s« für eine Umlenkung mittels »%s« kann das Ergebnis eines "
"logischen Ausdrucks sein"
-#: io.c:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "Unnötige Kombination von »>« und »>>« für Datei »%.*s«"
-#: io.c:719
+#: io.c:720
#, 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:729
+#: io.c:730
#, 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:752
+#: io.c:753
#, 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:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
-msgstr "Von »%s« kann nicht umlenkt werden (%s)"
+msgstr "Von »%s« kann nicht umgelenkt werden (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "Zu »%s« kann nicht umgelenkt werden (%s)"
-#: io.c:888
+#: io.c:889
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"Die Systemgrenze offener Dateien ist erreicht, daher werden nun "
-"Dateideskriptoren gemultiplext"
+"Dateideskriptoren mehrfach verwendet"
-#: io.c:904
-#, fuzzy, c-format
+#: io.c:905
+#, c-format
msgid "close of `%s' failed (%s)."
-msgstr "Das Schließen von »%s« ist gescheitert (%s)"
+msgstr "Das Schließen von »%s« ist gescheitert (%s)."
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "Zu viele Pipes oder Eingabedateien offen"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: Das zweite Argument muss »to« oder »from« sein"
-#: io.c:951
+#: io.c:952
#, 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:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "»close« für eine Umlenkung, die nie geöffnet wurde"
-#: io.c:1053
+#: io.c:1054
#, 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:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "Fehlerstatus (%d) beim Schließen der Pipe »%s« (%s)"
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "Fehlerstatus (%d) beim Schließen der Datei »%s« (%s)"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "Das explizite Schließen des Sockets »%s« fehlt"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "Das explizite Schließen des Ko-Prozesses »%s« fehlt"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "Das explizite Schließen der Pipe »%s« fehlt"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "Das explizite Schließen der Datei »%s« fehlt"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
-msgstr "Fehler beim Schreiben auf stdout (%s)"
+msgstr "Fehler beim Schreiben auf die Standardausgabe (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
-msgstr "Fehler beim Schreiben auf stderr (%s)"
+msgstr "Fehler beim Schreiben auf die Standardfehlerausgabe (%s)"
-#: io.c:1141
-#, fuzzy, c-format
+#: io.c:1142
+#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "Das Leeren der Pipe »%s« ist gescheitert (%s)"
-#: io.c:1144
-#, fuzzy, c-format
+#: io.c:1145
+#, 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:1147
-#, fuzzy, c-format
+#: io.c:1148
+#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "Das Leeren der Datei »%s« ist gescheitert (%s)"
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "Der lokale Port »%s« ist ungültig in »/inet«"
-#: io.c:1279
+#: io.c:1280
#, 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:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
-msgstr "Es wurde kein (bekanntes) Protokoll in Dateinamen »%s« angegeben"
+msgstr "Es wurde kein (bekanntes) Protokoll im Dateinamen »%s« angegeben"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "Der Dateiname »%s« ist unvollständig"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
-msgstr "Sie müssen einen Rechnernamen in »/inet« angeben"
+msgstr "Sie müssen in /inet einen Rechnernamen angeben"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
-msgstr "Sie müssen einen Port in »/inet« angeben"
+msgstr "Sie müssen in »/inet« einen Port angeben"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-Verbindungen werden nicht unterstützt"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "»%s« konnte nicht geöffnet werden, Modus »%s«"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr ""
"Das Schließen der übergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
-msgstr "Das Schließen von stdout im Kindprozess ist gescheitert (%s)"
+msgstr "Das Schließen der Standardausgabe im Kindprozess ist gescheitert (%s)"
-#: io.c:1749
+#: io.c:1753
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
-"Das Verschieben der untergeordneten Terminal-Gerätedatei zu stdout im "
-"Kindprozess ist gescheitert (dup: %s)"
+"Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardausgabe "
+"im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "Schließen von stdin im Kindprozess gescheitert (%s)"
-#: io.c:1754
+#: io.c:1758
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
-"Das Verschieben der untergeordneten Terminal-Gerätedatei zu stdin im "
-"Kindprozess ist gescheitert (dup: %s)"
+"Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardeingabe "
+"im Kindprozess ist gescheitert (dup: %s)"
-#: io.c:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr ""
"Das Schließen der untergeordneten Terminal-Gerätedatei ist gescheitert (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
-"Das Verschieben der Pipe zu stdout im Kindprozess ist gescheitert (dup: %s)"
+"Das Verschieben der Pipe zur Standardausgabe im Kindprozess ist gescheitert "
+"(dup: %s)"
-#: io.c:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
-"Das Verschieben der Pipe zu stdin im Kindprozess ist gescheitert (dup: %s)"
+"Das Verschieben der Pipe zur Standardeingabe im Kindprozess ist gescheitert "
+"(dup: %s)"
-#: io.c:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr ""
"Das Wiederherstellen der Standardausgabe im Elternprozess ist gescheitert\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr ""
"Das Wiederherstellen der Standardeingabe im Elternprozess ist gescheitert\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "Das Schließen der Pipe ist gescheitert (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "»|&« wird nicht unterstützt"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "Pipe »%s« kann nicht geöffnet werden (%s)"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "Kindprozess für »%s« kann nicht erzeugt werden (fork: %s)"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "Die Datei »%s« ist leer"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
-msgstr "Es konnte kein weiterer Speicher für die Eingabe beschafft"
+msgstr "Es konnte kein weiterer Speicher für die Eingabe beschafft werden"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "Multicharacter-Wert von »RS« ist eine gawk-Erweiterung"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "IPv6-Verbindungen werden nicht unterstützt"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "Die Option »-m[fr]« ist in gawk bedeutungslos"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "Anwendung der Option -m: »-m[fr] nnn«"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "Das leere Argument für »--source« wird ignoriert"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: Die Option »-W %s« ist unbekannt und wird ignoriert\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Die Option %c erfordert ein Argument\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"Die Umgebungsvariable »POSIXLY_CORRECT« ist gesetzt: »--posix« wird "
-"angeschaltet"
+"eingeschaltet"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "»--posix« hat Vorrang vor »--traditional«"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "»--posix« /»--traditional« hat Vorrang vor »--non-decimal-data«"
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "»--posix« hat Vorrang vor »--binary«"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
-msgstr "Das Setzen des Binärermodus für Stdin ist nicht möglich (%s)"
+msgstr ""
+"Das Setzen des Binärermodus für die Standardeingabe ist nicht möglich (%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
-msgstr "Das Setzen des Binärermodus für Stdout ist nicht möglich (%s)"
+msgstr ""
+"Das Setzen des Binärermodus für die Standardausgabe ist nicht möglich (%s)"
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
-msgstr "Das Setzen des Binärermodus für Stderr ist nicht möglich (%s)"
+msgstr ""
+"Das Setzen des Binärermodus für die Standardfehlerausgabe ist nicht möglich "
+"(%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr "Es wurde überhaupt kein Programmtext angegeben!"
-#: main.c:735
+#: main.c:733
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
-msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -f PROGRAM [--] Datei ...\n"
+msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -f PROGRAMM [--] Datei ...\n"
-#: main.c:737
+#: main.c:735
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
-msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -- %cPROGRAM%c Datei ...\n"
+msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -- %cPROGRAMM%c Datei ...\n"
-#: main.c:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-Optionen\t\tlange GNU-Optionen: (standard)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
-msgstr "\t-f PROGRAM\t\t--file=PROGRAM\n"
+msgstr "\t-f PROGRAMM\t\t--file=PROGRAMM\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F Feldtrenner\t\t\t--field-separator=Feldtrenner\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=Wert\t\t--assign=var=Wert\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "POSIX-Optionen\t\tGNU-Optionen (lang): (Erweiterungen)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
-#, fuzzy
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d [Datei]\t\t--dump-variables[=Datei]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
-msgstr "\t-e Programmtext\t--source=Programmtext\n"
+msgstr "\t-e 'Programmtext'\t--source=Programmtext\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E Datei\t\t\t--exec=Datei\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
-#, fuzzy
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p [Datei]\t\t--profile[=Datei]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1855,7 +1857,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1867,22 +1869,22 @@ msgstr ""
"in »gawk.info«, den Sie als Kapitel »Reporting Problems and Bugs«\n"
"in der gedruckten Version finden.\n"
"\n"
-"Fehler in der Übersetzuung senden Sie bitte alos E-Mail an\n"
+"Fehler in der Übersetzuung senden Sie bitte als E-Mail an\n"
"an translation-team-de@lists.sourceforge.net\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
"\n"
msgstr ""
"gawk ist eine Sprache zur Suche nach und dem Verarbeiten von Mustern.\n"
-"Normalerweise liesst das Programm von der Standardeingabe und gibt\n"
+"Normalerweise ließt das Programm von der Standardeingabe und gibt\n"
"auf der Standardausgabe aus.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1892,7 +1894,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1912,7 +1914,7 @@ msgstr ""
"spätere Version.\n"
"\n"
-#: main.c:816
+#: main.c:814
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"
@@ -1920,12 +1922,12 @@ msgid ""
"GNU General Public License for more details.\n"
"\n"
msgstr ""
-"Dieses Programm wird weitergegeben in der Hoffnung das es nützlich ist,\n"
+"Dieses Programm wird weitergegeben in der Hoffnung, dass es nützlich ist,\n"
"aber OHNE JEDE GEWÄHRLEISTUNG; nicht einmal mit der impliziten Gewähr-\n"
"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:822
+#: main.c:820
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"
@@ -1934,16 +1936,16 @@ msgstr ""
"diesem Programm erhalten haben. Wenn nicht, lesen Sie bitte\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft setzt FS im POSIX-awk nicht auf Tab"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "unbekannter Wert für eine Feldangabe: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1952,55 +1954,55 @@ msgstr ""
"%s: Argument »%s« von »-v« ist nicht in der Form »Variable=Wert«\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "»%s« ist kein gültiger Variablenname"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
-#, fuzzy, c-format
+#: main.c:1203
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
-"extension: die eingebaute Funktion »%s« kann nicht als Funktionsname benutzt "
-"werden"
+"die eingebaute Funktion »%s« kann nicht als Variablenname verwendet werden"
-#: main.c:1190
-#, fuzzy, c-format
+# c-format
+#: main.c:1208
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "Kann Funktion »%s« nicht als Variable oder Feld verwenden"
+msgstr "Funktion »%s« kann nicht als Name einer Variablen verwendet werden"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "Fließkomma-Ausnahme"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "Fataler Fehler: interner Fehler"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "Fataler Fehler: interner Fehler: Speicherbegrenzungsfehler"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "Fataler Fehler: interner Fehler: Stapelüberlauf"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "Kein bereits geöffneter Dateideskriptor %d"
-#: main.c:1334
+#: main.c:1352
#, c-format
msgid "could not pre-open /dev/null for fd %d"
-msgstr "Konnte /dev/null nicht für Dateideskriptor %d öffnen"
+msgstr "/dev/null konnte nicht für Dateideskriptor %d geöffnet werden"
-#: main.c:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "Die Gruppen konnten nicht gefunden werden: %s"
@@ -2021,15 +2023,15 @@ msgstr "Backslash am Ende der Zeichenkette"
#: node.c:517
#, c-format
msgid "old awk does not support the `\\%c' escape sequence"
-msgstr "Das alte awk unterstützt die Fluchsequenz »\\%c« nicht"
+msgstr "Das alte awk unterstützt die Fluchsequenz »\\%c« nicht"
#: node.c:568
msgid "POSIX does not allow `\\x' escapes"
-msgstr "POSIX erlabut keine »\\x«-Escapes"
+msgstr "POSIX erlaubt keine »\\x«-Escapes"
#: node.c:574
msgid "no hex digits in `\\x' escape sequence"
-msgstr "In der »\\x«-Fluchsequenz sind keine hexadezimalen Zahlen"
+msgstr "In der »\\x«-Fluchtsequenz sind keine hexadezimalen Zahlen"
#: node.c:596
#, c-format
@@ -2037,7 +2039,7 @@ msgid ""
"hex escape \\x%.*s of %d characters probably not interpreted the way you "
"expect"
msgstr ""
-"Die Hex-Sequenz \\x%.*s aus %d Zeichen wird wird wahrscheinlich nicht wie "
+"Die Hex-Sequenz \\x%.*s aus %d Zeichen wird wahrscheinlich nicht wie "
"gewünscht interpretiert"
#: node.c:611
@@ -2046,7 +2048,6 @@ msgid "escape sequence `\\%c' treated as plain `%c'"
msgstr "Fluchtsequenz »\\%c« wird wie ein normales »%c« behandelt"
#: node.c:750
-#, fuzzy
msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
@@ -2074,7 +2075,7 @@ msgstr "»%s« konnte nicht zum Schreiben geöffnet werden: %s"
#: profile.c:85
msgid "sending profile to standard error"
-msgstr "Das Profil wird auf der Stadard-Fehlerausgabe ausgegeben"
+msgstr "Das Profil wird auf der Standardfehlerausgabe ausgegeben"
#: profile.c:203
#, c-format
@@ -2099,12 +2100,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "Interner Fehler: %s mit null vname"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-Profil, erzeugt %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2113,21 +2114,22 @@ msgstr ""
"\n"
"\t# Funktionen in alphabetischer Reihenfolge\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: unbekannter Umlenkungstyp %d"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, 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
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
-msgstr "Regexp-Komponente »%.*s« sollte wahrscheinlich »[%.*s]« sein"
+msgstr ""
+"Regulärer-Ausdruck-Komponente »%.*s« sollte wahrscheinlich »[%.*s]« sein"
#: regcomp.c:132
msgid "Success"
@@ -2155,7 +2157,7 @@ msgstr "Angehängter Backslash"
#: regcomp.c:150
msgid "Invalid back reference"
-msgstr "Ungültige Referenze"
+msgstr "Ungültige Rück-Referenz"
#: regcomp.c:153
msgid "Unmatched [ or [^"
@@ -2201,162 +2203,6 @@ msgstr ") oder \\) werden nicht geöffnet"
msgid "No previous regular expression"
msgstr "Kein vorangehender regulärer Ausdruck"
-#~ msgid "delete: illegal use of variable `%s' as array"
-#~ msgstr "delete: Benutzung der Variablen »%s« als Array ist nicht zulässig"
-
-#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: Illegale Option -- %c.\n"
-
-#~ msgid "\t-m[fr] val\n"
-#~ msgstr "\t-m[fr] Wert\n"
-
-#~ msgid "\t-W compat\t\t--compat\n"
-#~ msgstr "\t-W compat\t\t--compat\n"
-
-#~ msgid "\t-W copyleft\t\t--copyleft\n"
-#~ msgstr "\t-W copyleft\t\t--copyleft\n"
-
-#~ msgid "\t-W usage\t\t--usage\n"
-#~ msgstr "\t-W usage\t\t--usage\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Um Fehler zu melden, lesen Sie bitte den Abschnitt 'Bugs' in "
-#~ "'gawk_info',\n"
-
-#~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "Ungültige Syntax im Namen '%s' für Variablenzuweisung"
-
-#~ msgid "internal error: Node_var_array with null vname"
-#~ msgstr "Interner Fehler: Node_var_array with null vname"
-
-#~ msgid "or used in other expression context"
-#~ msgstr "or in anderem Kontext benutzt"
-
-#~ msgid "illegal type (%s) in tree_eval"
-#~ msgstr "Illegaler Typ (%s) in tree_eval"
-
-#~ msgid "`%s' is a function, assignment is not allowed"
-#~ msgstr "'%s' ist eine Funktion, Zuweisungen sind nicht erlaubt"
-
-#~ msgid ""
-#~ "\t# BEGIN block(s)\n"
-#~ "\n"
+#~ msgid "assignment is not allowed to result of builtin function"
#~ msgstr ""
-#~ "\t# BEGIN block(s)\n"
-#~ "\n"
-
-#~ msgid "unexpected type %s in prec_level"
-#~ msgstr "Unerwarteter Typ %s in prec_level"
-
-#~ msgid "BEGIN blocks must have an action part"
-#~ msgstr "BEGIN-Blöcke müssen einen Aktionsteil haben"
-
-#~ msgid "statement may have no effect"
-#~ msgstr "Statement möglicherweise ohne Effekt"
-
-#~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
-#~ msgstr ""
-#~ "Nicht-umgelenktes 'getline' ist innerhalb der BEGIN- und END-Aktion nicht "
-#~ "definiert"
-
-#~ msgid "call of `length' without parentheses is deprecated by POSIX"
-#~ msgstr "Aufruf von 'length' ohne Klammern ist in POSIX-Mode veraltet"
-
-#~ msgid "fptr %x not in tokentab\n"
-#~ msgstr "fptr %x nicht in tokentab\n"
-
-#~ msgid "gsub third parameter is not a changeable object"
-#~ msgstr "Der dritte Parameter von gsub ist ein unveränderliches Objekt"
-
-#~ msgid "Unfinished \\ escape"
-#~ msgstr "Nicht-beendetes \\\\-Escape"
-
-#~ msgid "unfinished repeat count"
-#~ msgstr "Nicht-beendeter Wiederholungszähler"
-
-#~ msgid "malformed repeat count"
-#~ msgstr "Fehlerhafter Wiederholungszähler"
-
-#~ msgid "Unbalanced ["
-#~ msgstr "[ wird nicht geschlossen"
-
-#~ msgid "Unbalanced ("
-#~ msgstr "( wird nicht geschlossen"
-
-#~ msgid "No regexp syntax bits specified"
-#~ msgstr "Kein Regulärer Ausdruck angegeben"
-
-#~ msgid "Unbalanced )"
-#~ msgstr ") wird nicht geöffnet"
-
-#~ msgid "out of memory"
-#~ msgstr "Kein Speicher mehr"
-
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "Feld %d in FIELDWIDTHS muss > 0 sein"
-
-#~ msgid "`break' outside a loop is not portable"
-#~ msgstr "'break' außerhalb einer Schleife ist nicht portabel"
-
-#~ msgid "`continue' outside a loop is not portable"
-#~ msgstr "'continue' außerhalb einer Schleife ist nicht portabel"
-
-#~ msgid "`next' cannot be called from a BEGIN rule"
-#~ msgstr "'next' kann nicht in einer BEGIN-Regel benutzt werden"
-
-#~ msgid "`nextfile' cannot be called from a BEGIN rule"
-#~ msgstr "'nextfile' kann nicht in einer BEGIN-Regel benutzt werden"
-
-#~ msgid ""
-#~ "concatenation: side effects in one expression have changed the length of "
-#~ "another!"
-#~ msgstr ""
-#~ "Konkatenierung: Seiteneffekte in einem Ausdruck haben die Länge des "
-#~ "anderen\n"
-#~ "geändert!"
-
-#~ msgid "function %s called\n"
-#~ msgstr "Funktion %s aufgerufen\n"
-
-#~ msgid "\t# -- main --\n"
-#~ msgstr "\t# -- main --\n"
-
-#~ msgid "invalid tree type %s in redirect()"
-#~ msgstr "Ungültiger Tree-Typ %s in redirect()"
-
-#~ msgid "can't open two way socket `%s' for input/output (%s)"
-#~ msgstr "Kann bidirektionalen Socket '%s' nicht für Ein-/Ausgabe öffnen (%s)"
-
-#~ msgid "/inet/raw client not ready yet, sorry"
-#~ msgstr "/inet/raw Client noch nicht fertig"
-
-#~ msgid "only root may use `/inet/raw'"
-#~ msgstr "Nur root darf '/inet/raw' benutzen"
-
-#~ msgid "/inet/raw server not ready yet, sorry"
-#~ msgstr "'/inet/raw'-Server noch nicht fertig"
-
-#~ msgid "file `%s' is a directory"
-#~ msgstr "Datei '%s' ist ein Verzeichnis"
-
-#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
-#~ msgstr "Benutzen Sie 'PROCINFO[\"%s\"]' statt '%s'"
-
-#~ msgid "use `PROCINFO[...]' instead of `/dev/user'"
-#~ msgstr "Benutzen Sie 'PROCINFO[...] statt '/dev/user'"
-
-#~ msgid "pipe from `%s': could not set close-on-exec (fcntl: %s)"
-#~ msgstr "Pipe von '%s': Konnte close-on-exec nicht setzen (fcntl: %s)"
-
-#~ msgid "pipe to `%s': could not set close-on-exec (fcntl: %s)"
-#~ msgstr "Pipe zu '%s': Konnte close-on-exec nicht setzen (fcntl: %s)"
-
-#~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "Interner Fehler: Datei '%s', Zeile %d\n"
-
-#~ msgid "can't convert string to float"
-#~ msgstr "Kann String nicht in Gleitkommazahl konvertieren"
+#~ "Zuweisungen an das Ergebnis einer eingebauten Funktion sind nicht erlaubt"
diff --git a/po/es.gmo b/po/es.gmo
index 5e1cc0ce..63bee9b7 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 3aaea217..a4e2180f 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,19 +1,19 @@
-# Mensajes en español para gawk-3.1.83.
+# 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.
# This file is distributed under the same license as the gawk package.
-# Cristian Othón Martínez Vera <cfuga@itam.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.
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.83\n"
+"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
-"PO-Revision-Date: 2011-05-22 23:33-0500\n"
-"Last-Translator: Cristian Othón Martínez Vera <cfuga@itam.mx>\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
+"PO-Revision-Date: 2011-08-14 12:02-0500\n"
+"Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: array.c:140
@@ -23,29 +23,29 @@ msgstr "desde %s"
#: array.c:248
msgid "attempt to use a scalar value as array"
-msgstr "se intentó usar un valor escalar como una matriz"
+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"
+msgstr "se intentó usar la función `%s' como una matriz"
#: array.c:254
#, c-format
msgid "attempt to use scalar parameter `%s' as an array"
-msgstr "se intentó usar el parámetro escalar `%s como una matriz'"
+msgstr "se intentó usar el parámetro escalar `%s como una matriz'"
#: array.c:257
#, c-format
msgid "attempt to use scalar `%s' as an array"
-msgstr "se intentó usar el escalar `%s' como una matriz"
+msgstr "se intentó usar el escalar `%s' como una matriz"
-#: array.c:302 array.c:707 builtin.c:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
-msgstr "se intentó usar la matriz `%s' en un contexto escalar"
+msgstr "se intentó usar la matriz `%s' en un contexto escalar"
#: array.c:513
#, c-format
@@ -55,37 +55,37 @@ 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"
+msgstr "el subíndice de la matriz `%s' es la cadena nula"
#: array.c:723
#, c-format
msgid "delete: index `%s' not in array `%s'"
-msgstr "delete: el índice `%s' no está en la matriz `%s'"
+msgstr "delete: el índice `%s' no está en la matriz `%s'"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
-msgstr "se intentó usar el dato escalar `%s[\"%.*s\"]' como una matriz"
+msgstr "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"
+msgstr "%s: vacío (nulo)\n"
#: array.c:915
#, c-format
msgid "%s: empty (zero)\n"
-msgstr "%s: vacío (cero)\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"
+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"
+msgstr "%s: es un parámetro\n"
#: array.c:958
#, c-format
@@ -139,42 +139,42 @@ msgstr ""
#: array.c:1659
#, c-format
msgid "`%s' is invalid as a function name"
-msgstr "`%s' es inválido como un nombre de función"
+msgstr "`%s' es inválido como un nombre de función"
#: array.c:1663
#, c-format
msgid "sort comparison function `%s' is not defined"
-msgstr "la función de comparación de ordenamiento `%s' no está definida"
+msgstr "la función de comparación de ordenamiento `%s' no está definida"
#: awkgram.y:249
#, c-format
msgid "%s blocks must have an action part"
-msgstr "los bloques %s deben tener una parte de acción"
+msgstr "los bloques %s deben tener una parte de acción"
#: awkgram.y:252
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"
+msgstr "cada regla debe tener un patrón o una parte de acción"
#: awkgram.y:323 awkgram.y:334
msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr "el awk antiguo no admite múltiples reglas `BEGIN' o `END'"
+msgstr "el awk antiguo no admite múltiples reglas `BEGIN' o `END'"
#: awkgram.y:371
#, c-format
msgid "`%s' is a built-in function, it cannot be redefined"
-msgstr "`%s' es una función interna, no se puede redefinir"
+msgstr "`%s' es una función interna, no se puede redefinir"
#: awkgram.y:432
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 "
+"la constante de expresión regular `//' parece un comentario de C++, pero no "
"lo es"
#: awkgram.y:436
#, 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 "
+"la constante de expresión regular `/%s/' parece un comentario de C, pero no "
"lo es"
#: awkgram.y:528
@@ -184,817 +184,817 @@ msgstr "valores case duplicados en el cuerpo de un switch: %s"
#: awkgram.y:549
msgid "duplicate `default' detected in switch body"
-msgstr "se detectó un `default' duplicado en el cuerpo de un switch"
+msgstr "se detectó un `default' duplicado en el cuerpo de un switch"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "no se permite `break' fuera de un bucle o switch"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "no se permite `continue' fuera de un bucle"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
-msgstr "se usó `next' en la acción %s"
+msgstr "se usó `next' en la acción %s"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
-msgstr "`nextfile' es una extensión de gawk"
+msgstr "`nextfile' es una extensión de gawk"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
-msgstr "se usó `nextfile' en la acción %s"
+msgstr "se usó `nextfile' en la acción %s"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
-msgstr "se usó `return' fuera del contexto de la función"
+msgstr "se usó `return' fuera del contexto de la función"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
-msgstr "`delete array' es una extensión de gawk"
+msgstr "`delete array' es una extensión de gawk"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
-msgstr "`delete(array)' es una extensión de tawk que no es transportable"
+msgstr "`delete(array)' es una extensión de tawk que no es transportable"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
-msgstr "las líneas de trabajo de dos vías multiestado no funcionan"
+msgstr "las líneas de trabajo de dos vías multiestado no funcionan"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
-msgstr "expresión regular del lado derecho de una asignación"
+msgstr "expresión regular del lado derecho de una asignación"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
-msgstr "expresión regular a la izquierda del operador `~' o `!~'"
+msgstr "expresión regular a la izquierda del operador `~' o `!~'"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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'"
+"el awk antiguo no admite la palabra clave `in' excepto después de `for'"
-#: awkgram.y:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
-msgstr "expresión regular a la derecha de una comparación"
+msgstr "expresión regular a la derecha de una comparación"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
-msgstr "`getline var' inválido dentro de la regla `%s'"
+msgstr "`getline var' inválido dentro de la regla `%s'"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
-msgstr "`getline' inválido dentro de la regla `%s'"
+msgstr "`getline' inválido dentro de la regla `%s'"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
-msgstr "`getline' no redirigido indefinido dentro de la acción de END"
+msgstr "`getline' no redirigido indefinido dentro de la acción de END"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "el awk antiguo no admite matrices multidimensionales"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
-msgstr "la llamada de `length' sin paréntesis no es transportable"
+msgstr "la llamada de `length' sin paréntesis no es transportable"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
-msgstr "las llamadas indirectas a función son una extensión de gawk"
+msgstr "las llamadas indirectas a función son una extensión de gawk"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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"
+"no se puede usar la variable especial `%s' como llamada indirecta a función"
-#: awkgram.y:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
-msgstr "expresión de subíndice inválida"
+msgstr "expresión de subíndice inválida"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "uso de una matriz que no es matriz"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "aviso: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "fatal: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
-msgstr "nueva línea o fin de la cadena inesperados"
+msgstr "nueva línea o fin de la cadena inesperados"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, 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:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
-msgstr "razón desconocida"
+msgstr "razón desconocida"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
-msgstr "ya se incluyó el fichero fuente `%s'"
+msgstr "ya se incluyó el fichero fuente `%s'"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
-msgstr "@include es una extensión de gawk"
+msgstr "@include es una extensión de gawk"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
-msgstr "nombre de fichero vacío después de @include"
+msgstr "nombre de fichero vacío después de @include"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
-msgstr "texto de programa vacío en la linea de órdenes"
+msgstr "texto de programa vacío en la linea de órdenes"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "no se puede leer el fichero fuente `%s' (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
-msgstr "el fichero fuente `%s' está vacío"
+msgstr "el fichero fuente `%s' está vacío"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
-msgstr "el fichero fuente no termina con línea nueva"
+msgstr "el fichero fuente no termina con línea nueva"
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
-msgstr "expresión regular sin terminar termina con `\\` al final del fichero"
+msgstr "expresión regular sin terminar termina con `\\` al final del fichero"
-#: awkgram.y:2907
+#: awkgram.y:2906
#, 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 "
+"%s: %d: el modificador de expresión regular `/.../%c` de tawk no funciona en "
"gawk"
-#: awkgram.y:2911
+#: awkgram.y:2910
#, 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"
+"el modificador de expresión regular `/.../%c` de tawk no funciona en gawk"
-#: awkgram.y:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
-msgstr "expresión regular sin terminar"
+msgstr "expresión regular sin terminar"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
-msgstr "expresión regular sin terminar al final del fichero"
+msgstr "expresión regular sin terminar al final del fichero"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
-msgstr "el uso de la continuación de línea `\\ #...' no es transportable"
+msgstr "el uso de la continuación de línea `\\ #...' no es transportable"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
-msgstr "la barra invertida no es el último caracter en la línea"
+msgstr "la barra invertida no es el último caracter en la línea"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX no permite el operador `**='"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "el awk antiguo no admite el operador `**='"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX no permite el operador `**'"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "el awk antiguo no admite el operador `**='"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "el operador `^=' no se admite en el awk antiguo"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "el operador `^' no se admite en el awk antiguo"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "cadena sin terminar"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
-msgstr "caracter '%c' inválido en la expresión"
+msgstr "caracter '%c' inválido en la expresión"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
-msgstr "`%s' es una extensión de gawk"
+msgstr "`%s' es una extensión de gawk"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
-msgstr "`%s' es una extensión de Bell Labs"
+msgstr "`%s' es una extensión de Bell Labs"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX no permite `%s'"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "`%s' no se admite en el awk antiguo"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
-msgstr "¡`goto' se considera dañino!\n"
+msgstr "¡`goto' se considera dañino!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
-msgstr "%d es inválido como número de argumentos para %s"
+msgstr "%d es inválido como número de argumentos para %s"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: el tercer argumento es una extensión de gawk"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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"
+"%s: la literal de cadena como último argumento de substitute no tiene efecto"
-#: awkgram.y:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "el tercer argumento de %s no es un objecto modificable"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+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
msgid "close: second argument is a gawk extension"
-msgstr "close: el segundo argumento es una extensión de gawk"
+msgstr "close: el segundo argumento es una extensión de gawk"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"el uso de dcgettext(_\"...\") es incorrecto: quite el subrayado inicial"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"el uso de dcngettext(_\"...\") es incorrecto: quite el subrayado inicial"
-#: awkgram.y:3883
+#: 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"
+msgstr "función `%s': parámetro #%d, `%s', duplica el parámetro #%d"
-#: awkgram.y:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
-msgstr "función `%s': parámetro `%s' oscurece la variable global"
+msgstr "función `%s': parámetro `%s' oscurece la variable global"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "no se puede abrir `%s' para escritura (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
-msgstr "se envía la lista de variables a la salida estándar de error"
+msgstr "se envía la lista de variables a la salida estándar de error"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
-msgstr "%s: falló close (%s)"
+msgstr "%s: falló close (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
-msgstr "¡se llamó shadow_funcs() dos veces!"
+msgstr "¡se llamó shadow_funcs() dos veces!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "hay variables opacadas."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, 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"
+"función `%s': no se puede usar un nombre de función como nombre de parámetro"
-#: awkgram.y:4182
+#: awkgram.y:4192
#, 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"
+"función `%s': no se puede usar la variable especial `%s' como un parámetro "
+"de función"
-#: awkgram.y:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
-msgstr "el nombre de función `%s' se definió previamente"
+msgstr "el nombre de función `%s' se definió previamente"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
-msgstr "se llamó a la función `%s' pero nunca se definió"
+msgstr "se llamó a la función `%s' pero nunca se definió"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
-msgstr "se definió la función `%s' pero nunca se llamó directamente"
+msgstr "se definió la función `%s' pero nunca se llamó directamente"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, 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"
+"la constante de expresión regular para el parámetro #%d da un valor booleano"
-#: awkgram.y:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
"or used as a variable or an array"
msgstr ""
-"se llamó la función `%s' con espacio entre el nombre y el `(',\n"
-"o se usó como una variable o una matriz"
+"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:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
-msgstr "se intentó una división por cero"
+msgstr "se intentó una división por cero"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
-msgstr "se intentó una división por cero en `%%'"
+msgstr "se intentó una división por cero en `%%'"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
-msgstr "falló %s a \"%s\" (%s)"
+msgstr "falló %s a \"%s\" (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
-msgstr "salida estándar"
+msgstr "salida estándar"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
-msgstr "exp: se recibió un argumento que no es númerico"
+msgstr "exp: se recibió un argumento que no es númerico"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
-msgstr "exp: el argumento %g está fuera de rango"
+msgstr "exp: el argumento %g está fuera de rango"
-#: builtin.c:197
+#: builtin.c:196
#, 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 "
+"fflush: no se puede limpiar: se abrió la tubería `%s' para lectura, no para "
"escritura"
-#: builtin.c:200
+#: builtin.c:199
#, 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 "
+"fflush: no se puede limpiar: se abrió el fichero `%s' para lectura, no para "
"escritura"
-#: builtin.c:212
+#: builtin.c:211
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
-msgstr "fflush: `%s' no es un fichero abierto, tubería o co-proceso"
+msgstr "fflush: `%s' no es un fichero abierto, tubería o co-proceso"
-#: builtin.c:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: el primer argumento recibido no es una cadena"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: el segundo argumento recibido no es una cadena"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
-msgstr "int: se recibió un argumento que no es númerico"
+msgstr "int: se recibió un argumento que no es númerico"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
-msgstr "length: se recibió un argumento de matriz"
+msgstr "length: se recibió un argumento de matriz"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
-msgstr "`length(array)' es una extensión de gawk"
+msgstr "`length(array)' es una extensión de gawk"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
-msgstr "length: se recibió un argumento que no es una cadena"
+msgstr "length: se recibió un argumento que no es una cadena"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
-msgstr "log: se recibió un argumento que no es númerico"
+msgstr "log: se recibió un argumento que no es númerico"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
-msgstr "log: se recibió el argumento negativo %g"
+msgstr "log: se recibió el argumento negativo %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
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:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "se descarta la anchura del campo para el especificador `%%'"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
-msgstr "se descarta la precisión para el especificador `%%'"
+msgstr "se descarta la precisión para el especificador `%%'"
-#: builtin.c:762
+#: builtin.c:761
#, 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 `%%'"
+"se descartan la anchura del campo y la precisión para el especificador `%%'"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal: no se permite `$' en los formatos de awk"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal: la cuenta de argumentos con `$' debe ser > 0"
-#: builtin.c:826
+#: builtin.c:825
#, 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 "
+"fatal: la cuenta de argumentos %ld es mayor que el número total de "
"argumentos proporcionados"
-#: builtin.c:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
-msgstr "fatal: no se permite `$' después de un punto en el formato"
+msgstr "fatal: no se permite `$' después de un punto en el formato"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
-"fatal: no se proporciona `$' para la anchura o la precisión del campo "
+"fatal: no se proporciona `$' para la anchura o la precisión del campo "
"posicional"
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "`l' no tiene significado en los formatos de awk; se descarta"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal: no se permite `l' en los formatos POSIX de awk"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "`L' no tiene significado en los formatos de awk; se descarta"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal: no se permite `L' en los formatos POSIX de awk"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "`h' no tiene significado en los formatos de awk; se descarta"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: no se permite `h' en los formatos POSIX de awk"
-#: builtin.c:1268
+#: builtin.c:1267
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: el valor %g está fuera del rango para el formato `%%%c'"
+msgstr "[s]printf: el valor %g está fuera del rango para el formato `%%%c'"
-#: builtin.c:1328
+#: builtin.c:1327
#, 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"
+"se descarta el carácter especificador de formato `%c' desconocido: no se "
+"convirtió ningún argumento"
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
"fatal: no hay suficientes argumentos para satisfacer a la cadena de formato"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
-msgstr "se acabó ^ para éste"
+msgstr "se acabó ^ para éste"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: el especificador de formato no tiene letras de control"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "se proporcionaron demasiados argumentos para la cadena de formato"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: sin argumentos"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
-msgstr "sqrt: se recibió un argumento que no es un númerico"
+msgstr "sqrt: se recibió un argumento que no es un númerico"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
-msgstr "sqrt: se llamó con el argumento negativo %g"
+msgstr "sqrt: se llamó con el argumento negativo %g"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: la longitud %g no es >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: la longitud %g no es >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
-msgstr "substr: se truncará la longitud no entera %g"
+msgstr "substr: se truncará la longitud no entera %g"
-#: builtin.c:1513
+#: builtin.c:1512
#, 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 "
+"substr: la longitud %g es demasiado grande para ser índice de cadena, se "
"trunca a %g"
-#: builtin.c:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
-msgstr "substr: el índice de inicio %g es inválido, se usa 1"
+msgstr "substr: el índice de inicio %g es inválido, se usa 1"
-#: builtin.c:1530
+#: builtin.c:1529
#, c-format
msgid "substr: non-integer start index %g will be truncated"
-msgstr "substr: se truncará el índice de inicio no entero %g"
+msgstr "substr: se truncará el índice de inicio no entero %g"
-#: builtin.c:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: la cadena de origen es de longitud cero"
-#: builtin.c:1571
+#: builtin.c:1570
#, 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"
+msgstr "substr: el índice de inicio %g está después del fin de la cadena"
-#: builtin.c:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr ""
-"substr: la cadena %g en el índice de inicio %g excede la longitud del primer "
+"substr: la cadena %g en el índice de inicio %g excede la longitud del primer "
"argumento (%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
-"strftime: el valor de formato en PROCINFO[\"strftime\"] tiene tipo numérico"
+"strftime: el valor de formato en PROCINFO[\"strftime\"] tiene tipo numérico"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
-msgstr "strftime: el segundo argumento recibido no es númerico"
+msgstr "strftime: el segundo argumento recibido no es númerico"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: el primer argumento recibido no es una cadena"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
-msgstr "strftime: se recibió una cadena de formato vacía"
+msgstr "strftime: se recibió una cadena de formato vacía"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
-msgstr "mktime: se recibió un argumento que no es una cadena"
+msgstr "mktime: se recibió un argumento que no es una cadena"
-#: builtin.c:1771
+#: builtin.c:1770
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"
+"mktime: por lo menos uno de los valores está fuera del rango por defecto"
-#: builtin.c:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
-msgstr "no se permite la función 'system' en modo sandbox"
+msgstr "no se permite la función 'system' en modo sandbox"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
-msgstr "system: se recibió un argumento que no es una cadena"
+msgstr "system: se recibió un argumento que no es una cadena"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "referencia al campo sin inicializar `$%d'"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
-msgstr "tolower: se recibió un argumento que no es una cadena"
+msgstr "tolower: se recibió un argumento que no es una cadena"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
-msgstr "toupper: se recibió un argumento que no es una cadena"
+msgstr "toupper: se recibió un argumento que no es una cadena"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
-msgstr "atan2: el primer argumento recibido no es númerico"
+msgstr "atan2: el primer argumento recibido no es númerico"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
-msgstr "atan2: el segundo argumento recibido no es númerico"
+msgstr "atan2: el segundo argumento recibido no es númerico"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
-msgstr "sin: se recibió un argumento que no es númerico"
+msgstr "sin: se recibió un argumento que no es númerico"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
-msgstr "cos: se recibió un argumento que no es númerico"
+msgstr "cos: se recibió un argumento que no es númerico"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
-msgstr "srand: se recibió un argumento que no es númerico"
+msgstr "srand: se recibió un argumento que no es númerico"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: el tercer argumento no es una matriz"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: el tercer argumento de 0 se trata como 1"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
-msgstr "lshift: el primer argumento recibido no es númerico"
+msgstr "lshift: el primer argumento recibido no es númerico"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
-msgstr "lshift: el segundo argumento recibido no es númerico"
+msgstr "lshift: el segundo argumento recibido no es númerico"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
-msgstr "lshift(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "lshift(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
-msgstr "lshift(%lf, %lf): los valores fraccionarios se truncarán"
+msgstr "lshift(%lf, %lf): los valores fraccionarios se truncarán"
-#: builtin.c:2769
+#: builtin.c:2779
#, 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"
+"lshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados "
+"extraños"
-#: builtin.c:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
-msgstr "rshift: el primer argumento recibido no es númerico"
+msgstr "rshift: el primer argumento recibido no es númerico"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
-msgstr "rshift: el segundo argumento recibido no es númerico"
+msgstr "rshift: el segundo argumento recibido no es númerico"
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
-msgstr "rshift(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "rshift(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
-msgstr "rshift(%lf, %lf): los valores fraccionarios serán truncados"
+msgstr "rshift(%lf, %lf): los valores fraccionarios serán truncados"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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"
+"rshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados "
+"extraños"
-#: builtin.c:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
-msgstr "and: el primer argumento recibido no es númerico"
+msgstr "and: el primer argumento recibido no es númerico"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
-msgstr "and: el segundo argumento recibido no es númerico"
+msgstr "and: el segundo argumento recibido no es númerico"
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
-msgstr "and(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "and(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
-msgstr "and(%lf, %lf): los valores fraccionarios serán truncados"
+msgstr "and(%lf, %lf): los valores fraccionarios serán truncados"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
-msgstr "or: el primer argumento recibido no es númerico"
+msgstr "or: el primer argumento recibido no es númerico"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
-msgstr "or: el segundo argumento recibido no es númerico"
+msgstr "or: el segundo argumento recibido no es númerico"
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
-msgstr "or(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "or(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
-msgstr "or(%lf, %lf): los valores fraccionarios serán truncados"
+msgstr "or(%lf, %lf): los valores fraccionarios serán truncados"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
-msgstr "xor: el primer argumento recibido no es númerico"
+msgstr "xor: el primer argumento recibido no es númerico"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
-msgstr "xor: el segundo argumento recibido no es númerico"
+msgstr "xor: el segundo argumento recibido no es númerico"
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
-msgstr "xor(%lf, %lf): los valores negativos darán resultados extraños"
+msgstr "xor(%lf, %lf): los valores negativos darán resultados extraños"
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
-msgstr "xor(%lf, %lf): los valores fraccionarios se truncarán"
+msgstr "xor(%lf, %lf): los valores fraccionarios se truncarán"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
-msgstr "compl: se recibió un argumento que no es númerico"
+msgstr "compl: se recibió un argumento que no es númerico"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
-msgstr "compl(%lf): el valor negativo dará resultados extraños"
+msgstr "compl(%lf): el valor negativo dará resultados extraños"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
-msgstr "compl(%lf): el valor fraccionario se truncará"
+msgstr "compl(%lf): el valor fraccionario se truncará"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
-msgstr "dcgettext: `%s' no es una categoría local válida"
+msgstr "dcgettext: `%s' no es una categoría local válida"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "tipo de nodo %d desconocido"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
-msgstr "código de operación %d desconocido"
+msgstr "código de operación %d desconocido"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
-msgstr "el código de operación %s no es un operador o una palabra clave"
+msgstr "el código de operación %s no es un operador o una palabra clave"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "desbordamiento de almacenamiento temporal en genflags2str"
@@ -1011,126 +1011,127 @@ msgstr ""
#: eval.c:725
msgid "`IGNORECASE' is a gawk extension"
-msgstr "`IGNORECASE' es una extensión de gawk"
+msgstr "`IGNORECASE' es una extensión de gawk"
#: eval.c:754
msgid "`BINMODE' is a gawk extension"
-msgstr "`BINMODE' es una extensión de gawk"
+msgstr "`BINMODE' es una extensión de gawk"
#: eval.c:812
#, c-format
msgid "BINMODE value `%s' is invalid, treated as 3"
-msgstr "el valor BINMODE `%s' es inválido; se trata como 3"
+msgstr "el valor BINMODE `%s' es inválido; se trata como 3"
#: eval.c:902
#, c-format
msgid "bad `%sFMT' specification `%s'"
-msgstr "especificación `%sFMT' `%s' errónea"
+msgstr "especificación `%sFMT' `%s' errónea"
#: eval.c:980
msgid "turning off `--lint' due to assignment to `LINT'"
-msgstr "se desactiva `--lint' debido a una asignación a `LINT'"
+msgstr "se desactiva `--lint' debido a una asignación a `LINT'"
-#: eval.c:1127 eval.c:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "no se permite la asignación como resultado de una función interna"
+msgstr "no se puede usar el nombre de la función `%s' como variable o matriz"
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "referencia al argumento sin inicializar `%s'"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
-msgstr "se intentó una referencia de campo desde un valor que no es númerico"
+msgstr "se intentó una referencia de campo desde un valor que no es númerico"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
-msgstr "se intentó una referencia de campo desde una cadena nula"
+msgstr "se intentó una referencia de campo desde una cadena nula"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
-msgstr "se intentó acceder al campo %ld"
+msgstr "se intentó acceder al campo %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "referencia al campo sin inicializar `$%ld'"
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
-msgstr "se llamó a la función `%s' con más argumentos de los declarados"
+msgstr "se llamó a la función `%s' con más argumentos de los declarados"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: tipo `%s' inesperado"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
-msgstr "se intentó una división por cero en `/='"
+msgstr "se intentó una división por cero en `/='"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
-msgstr "se intentó una división por cero en `%%='"
+msgstr "se intentó una división por cero en `%%='"
-#: eval.c:1784 eval.c:2030
+#: 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"
+msgstr "se intentó usar la matriz `%s[\"%.*s\"]' en un contexto escalar"
-#: eval.c:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
-msgstr "se usó una asignación en un contexto condicional"
+msgstr "se usó una asignación en un contexto condicional"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
-msgstr "la declaración no tiene efecto"
+msgstr "la declaración no tiene efecto"
-#: eval.c:2233
+#: 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 "
+"bucle for: la matriz `%s' cambió de tamaño de %ld a %ld durante la ejecución "
"del bucle"
-#: eval.c:2343
+#: 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'"
+msgstr "no existe la función llamada indirectamente a través de `%s'"
-#: eval.c:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
-msgstr "la función `%s' no está definida"
+msgstr "la función `%s' no está definida"
-#: eval.c:2416
+#: 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'"
+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:2477
+#: 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:2532
+#: 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:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
-msgstr "Perdón, no se cómo interpretar `%s'"
+msgstr "Perdón, no se cómo interpretar `%s'"
#: ext.c:64
msgid "extensions are not allowed in sandbox mode"
@@ -1138,7 +1139,7 @@ msgstr "no se permiten las extensiones en modo sandbox"
#: ext.c:70 ext.c:75
msgid "`extension' is a gawk extension"
-msgstr "`extension' es una extensión de gawk"
+msgstr "`extension' es una extensión de gawk"
#: ext.c:85
#, c-format
@@ -1158,685 +1159,680 @@ msgstr ""
#, c-format
msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n"
msgstr ""
-"fatal: extension: la biblioteca `%s': no puede llamar a la función `"
+"fatal: extension: la biblioteca `%s': no puede llamar a la función `"
"%s' (%s)\n"
#: ext.c:137
msgid "extension: missing function name"
-msgstr "extension: falta el nombre de la función"
+msgstr "extension: falta el nombre de la función"
#: ext.c:142
#, 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'"
+msgstr "extension: carácter ilegal `%c' en el nombre de la función `%s'"
#: ext.c:151
#, c-format
msgid "extension: can't redefine function `%s'"
-msgstr "extension: no se puede redefinir la función `%s'"
+msgstr "extension: no se puede redefinir la función `%s'"
#: ext.c:155
#, c-format
msgid "extension: function `%s' already defined"
-msgstr "extension: la función `%s' ya está definida"
+msgstr "extension: la función `%s' ya está definida"
#: ext.c:160
#, c-format
msgid "extension: function name `%s' previously defined"
-msgstr "extension: el nombre de función `%s' se definió previamente"
+msgstr "extension: el nombre de función `%s' se definió previamente"
#: ext.c:162
#, 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"
+"función"
#: ext.c:166
#, c-format
msgid "make_builtin: negative argument count for function `%s'"
-msgstr "make_builtin: cuenta de argumento negativa para la función `%s'"
+msgstr "make_builtin: cuenta de argumento negativa para la función `%s'"
#: ext.c:269
#, 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)"
+msgstr "la función `%s' se definió para tomar no más de %d argumento(s)"
#: ext.c:272
#, c-format
msgid "function `%s': missing argument #%d"
-msgstr "función `%s': falta el argumento #%d"
+msgstr "función `%s': falta el argumento #%d"
#: ext.c:289
#, 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"
+"función `%s': argumento #%d: se intentó usar un escalar como una matriz"
#: ext.c:293
#, 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"
+"función `%s': argumento #%d: se intentó usar una matriz como un escalar"
#: ext.c:306
msgid "Operation Not Supported"
-msgstr "No Se Admite La Operación"
+msgstr "No Se Admite La Operación"
#: field.c:328
msgid "NF set to negative value"
-msgstr "se definió NF con un valor negativo"
+msgstr "se definió NF con un valor negativo"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
-msgstr "split: el cuarto argumento es una extensión de gawk"
+msgstr "split: el cuarto argumento es una extensión de gawk"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: el cuarto argumento no es una matriz"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: el segundo argumento no es una matriz"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: no se puede usar la misma matriz para el segundo y cuarto argumentos"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: no se puede usar una submatriz del segundo argumento para el cuarto "
"argumento"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: no se puede usar una submatriz del cuarto argumento para el segundo "
"argumento"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr ""
-"split: la cadena nula para el tercer argumento es una extensión de gawk"
+"split: la cadena nula para el tercer argumento es una extensión de gawk"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: el cuarto argumento no es una matriz"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: el segundo argumento no es una matriz"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: el tercer argumento no debe ser nulo"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: no se puede usar la misma matriz para el segundo y cuarto "
"argumentos"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: no se puede usar una submatriz del segundo argumento para el "
"cuarto argumento"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: no se puede usar una submatriz del cuarto argumento para el "
"segundo argumento"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
-msgstr "`FIELDWIDTHS' es una extensión gawk"
+msgstr "`FIELDWIDTHS' es una extensión gawk"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
-msgstr "valor de FIELDWIDTHS inválido, cerca de `%s'"
+msgstr "valor de FIELDWIDTHS inválido, cerca de `%s'"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
-msgstr "la cadena nula para `FS' es una extensión de gawk"
+msgstr "la cadena nula para `FS' es una extensión de gawk"
-#: field.c:1249
+#: field.c:1250
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:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
-msgstr "`FPAT' es una extensión de gawk"
+msgstr "`FPAT' es una extensión de gawk"
#: getopt.c:574 getopt.c:590
#, c-format
msgid "%s: option '%s' is ambiguous\n"
-msgstr "%s: la opción '%s' es ambigua\n"
+msgstr "%s: la opción '%s' es ambigua\n"
#: getopt.c:623 getopt.c:627
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
-msgstr "%s: la opción '--%s' no admite ningún argumento\n"
+msgstr "%s: la opción '--%s' no admite ningún argumento\n"
#: getopt.c:636 getopt.c:641
#, 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"
+msgstr "%s: la opción '%c%s' no admite ningún argumento\n"
#: getopt.c:684 getopt.c:703
#, c-format
msgid "%s: option '--%s' requires an argument\n"
-msgstr "%s: la opción '--%s' requiere un argumento\n"
+msgstr "%s: la opción '--%s' requiere un argumento\n"
#: getopt.c:741 getopt.c:744
#, c-format
msgid "%s: unrecognized option '--%s'\n"
-msgstr "%s: no se reconoce la opción '--%s'\n"
+msgstr "%s: no se reconoce la opción '--%s'\n"
#: getopt.c:752 getopt.c:755
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
-msgstr "%s: no se reconoce la opción '%c%s'\n"
+msgstr "%s: no se reconoce la opción '%c%s'\n"
#: getopt.c:804 getopt.c:807
#, c-format
msgid "%s: invalid option -- '%c'\n"
-msgstr "%s: opción inválida -- '%c'\n"
+msgstr "%s: opción inválida -- '%c'\n"
#: getopt.c:857 getopt.c:874 getopt.c:1082 getopt.c:1100
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
-msgstr "%s: la opción requiere un argumento -- '%c'\n"
+msgstr "%s: la opción requiere un argumento -- '%c'\n"
#: getopt.c:930 getopt.c:946
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
-msgstr "%s: la opción '-W %s' es ambigua\n"
+msgstr "%s: la opción '-W %s' es ambigua\n"
#: getopt.c:970 getopt.c:988
#, 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"
+msgstr "%s: la opción '-W %s' no admite ningún argumento\n"
#: getopt.c:1009 getopt.c:1027
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
-msgstr "%s: la opción '-W %s' requiere un argumento\n"
+msgstr "%s: la opción '-W %s' requiere un argumento\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
-msgstr "el argumento de la línea de órdenes `%s' es un directorio: se salta"
+msgstr "el argumento de la línea de órdenes `%s' es un directorio: se salta"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "no se puede abrir el fichero `%s' para lectura (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "error al leer el fichero de entrada `%s': %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
-msgstr "falló al cerrar el df %d (`%s') (%s)"
+msgstr "falló al cerrar el df %d (`%s') (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
-msgstr "no se permite la redirección en modo sandbox"
+msgstr "no se permite la redirección en modo sandbox"
-#: io.c:611
+#: io.c:612
#, 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"
+msgstr "la expresión en la redirección `%s' sólo tiene valor numérico"
-#: io.c:617
+#: io.c:618
#, c-format
msgid "expression for `%s' redirection has null string value"
-msgstr "la expresión para la redirección `%s' tiene un valor de cadena nula"
+msgstr "la expresión para la redirección `%s' tiene un valor de cadena nula"
-#: io.c:623
+#: io.c:624
#, 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"
+"el fichero `%s' para la redirección `%s' puede ser resultado de una "
+"expresión lógica"
-#: io.c:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mezcla innecesaria de `>' y `>>' para el fichero `%.*s'"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
-msgstr "no se puede abrir la tubería `%s' para la salida (%s)"
+msgstr "no se puede abrir la tubería `%s' para la salida (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
-msgstr "no se puede abrir la tubería `%s' para la entrada (%s)"
+msgstr "no se puede abrir la tubería `%s' para la entrada (%s)"
-#: io.c:752
+#: io.c:753
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr "no se puede abrir la tubería de dos vías `%s' para entrada/salida (%s)"
+msgstr "no se puede abrir la tubería de dos vías `%s' para entrada/salida (%s)"
-#: io.c:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "no se puede redirigir desde `%s' (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "no se puede redirigir a `%s' (%s)"
-#: io.c:888
+#: io.c:889
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 "
+"se alcanzó el límite del sistema para ficheros abiertos: comenzando a "
"multiplexar los descriptores de fichero"
-#: io.c:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
-msgstr "falló al cerrar `%s' (%s)."
+msgstr "falló al cerrar `%s' (%s)."
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
-msgstr "demasiadas tuberías o ficheros de entrada abiertos"
+msgstr "demasiadas tuberías o ficheros de entrada abiertos"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: el segundo argumento debe ser `to' o `from'"
-#: io.c:951
+#: io.c:952
#, 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"
+msgstr "close: `%.*s' no es un fichero abierto, tubería o co-proceso"
-#: io.c:956
+#: io.c:957
msgid "close of redirection that was never opened"
-msgstr "se cerró una redirección que nunca se abrió"
+msgstr "se cerró una redirección que nunca se abrió"
-#: io.c:1053
+#: io.c:1054
#, 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 "
+"close: la redirección `%s' no se abrió con `|&', se descarta el segundo "
"argumento"
-#: io.c:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
-msgstr "estado de fallo (%d) al cerrar la tubería de `%s' (%s)"
+msgstr "estado de fallo (%d) al cerrar la tubería de `%s' (%s)"
-#: io.c:1072
+#: io.c:1073
#, 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:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
-msgstr "no se provee el cerrado explícito del `socket' `%s'"
+msgstr "no se provee el cerrado explícito del `socket' `%s'"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
-msgstr "no se provee el cerrado explícito del co-proceso `%s'"
+msgstr "no se provee el cerrado explícito del co-proceso `%s'"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
-msgstr "no se provee el cerrado explícito del la tubería `%s'"
+msgstr "no se provee el cerrado explícito del la tubería `%s'"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
-msgstr "no se provee el cerrado explícito del fichero `%s'"
+msgstr "no se provee el cerrado explícito del fichero `%s'"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
-msgstr "error al escribir en la salida estándar (%s)"
+msgstr "error al escribir en la salida estándar (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
-msgstr "error al escribir en la salida estándar de error (%s)"
+msgstr "error al escribir en la salida estándar de error (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
-msgstr "falló la limpieza de la tubería de `%s' (%s)."
+msgstr "falló la limpieza de la tubería de `%s' (%s)."
-#: io.c:1144
+#: io.c:1145
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
-msgstr "falló la limpieza del co-proceso de la tubería a `%s' (%s)."
+msgstr "falló la limpieza del co-proceso de la tubería a `%s' (%s)."
-#: io.c:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
-msgstr "falló la limpieza del fichero de `%s' (%s)."
+msgstr "falló la limpieza del fichero de `%s' (%s)."
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
-msgstr "puerto local %s inválido en `/inet'"
+msgstr "puerto local %s inválido en `/inet'"
-#: io.c:1279
+#: io.c:1280
#, c-format
msgid "remote host and port information (%s, %s) invalid"
-msgstr "anfitrión remoto e información de puerto (%s, %s) inválidos"
+msgstr "anfitrión remoto e información de puerto (%s, %s) inválidos"
-#: io.c:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
-"no se proporciona algún protocolo (conocido) en el nombre de fichero "
+"no se proporciona algún protocolo (conocido) en el nombre de fichero "
"especial `%s'"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
-msgstr "el nombre de fichero especial `%s' está incompleto"
+msgstr "el nombre de fichero especial `%s' está incompleto"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
-msgstr "se debe proporcionar a `/inet' un nombre de anfitrión remoto"
+msgstr "se debe proporcionar a `/inet' un nombre de anfitrión remoto"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "se debe proporcionar a `/inet' un puerto remoto"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "no se admiten las comunicaciones TCP/IP"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "no se puede abrir `%s', modo `%s'"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
-msgstr "falló al cerrar el pty maestro (%s)"
+msgstr "falló al cerrar el pty maestro (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
-msgstr "falló al cerrar la salida estándar en el hijo (%s)"
+msgstr "falló al cerrar la salida estándar en el hijo (%s)"
-#: io.c:1749
+#: io.c:1753
#, 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)"
+"falló el movimiento del pty esclavo a la salida estándar en el hijo (dup: %s)"
-#: io.c:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
-msgstr "falló al cerrar la entrada estándar en el hijo (%s)"
+msgstr "falló al cerrar la entrada estándar en el hijo (%s)"
-#: io.c:1754
+#: io.c:1758
#, 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: "
+"falló el movimiento del pty esclavo a la entrada estándar en el hijo (dup: "
"%s)"
-#: io.c:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
-msgstr "falló al cerrar el pty esclavo (%s)"
+msgstr "falló al cerrar el pty esclavo (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
-msgstr "falló el movimiento a la salida estándar en el hijo (dup: %s)"
+msgstr "falló el movimiento a la salida estándar en el hijo (dup: %s)"
-#: io.c:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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)"
+"falló el movimiento de la tubería a la entrada estándar en el hijo (dup: %s)"
-#: io.c:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
-msgstr "falló la restauración de la salida estándar en el proceso padre\n"
+msgstr "falló la restauración de la salida estándar en el proceso padre\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
-msgstr "falló la restauración de la entrada estándar en el proceso padre\n"
+msgstr "falló la restauración de la entrada estándar en el proceso padre\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
-msgstr "falló al cerrar la tubería (%s)"
+msgstr "falló al cerrar la tubería (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "no se admite `|&'"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
-msgstr "no se puede abrir la tubería `%s' (%s)"
+msgstr "no se puede abrir la tubería `%s' (%s)"
-#: io.c:2084
+#: io.c:2088
#, 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:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
-msgstr "el fichero de datos `%s' está vacío"
+msgstr "el fichero de datos `%s' está vacío"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
-msgstr "no se puede reservar más memoria de entrada"
+msgstr "no se puede reservar más memoria de entrada"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
-msgstr "el valor multicaracter de `RS' es una extensión de gawk"
+msgstr "el valor multicaracter de `RS' es una extensión de gawk"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
-msgstr "no se admite la comunicación IPv6"
+msgstr "no se admite la comunicación IPv6"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
-msgstr "la opción -m[fr] es irrelevante en gawk"
+msgstr "la opción -m[fr] es irrelevante en gawk"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
-msgstr "uso de la opción -m: `-m[fr]' nnn"
+msgstr "uso de la opción -m: `-m[fr]' nnn"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
-msgstr "se descarta el argumento vacío para `-e/--source'"
+msgstr "se descarta el argumento vacío para `-e/--source'"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
-msgstr "%s: no se reconoce la opción `-W %s', se descarta\n"
+msgstr "%s: no se reconoce la opción `-W %s', se descarta\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: la opción requiere un argumento -- %c\n"
+msgstr "%s: la opción requiere un argumento -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
-"la variable de ambiente `POSIXLY_CORRECT' está definida: se activa `--posix'"
+"la variable de ambiente `POSIXLY_CORRECT' está definida: se activa `--posix'"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "`--posix' se impone a `--traditional'"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' se imponen a `--non-decimal-data'"
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "`--posix' se impone a `--binary'"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
-msgstr "no se puede establecer el modo binario en la entrada estándar (%s)"
+msgstr "no se puede establecer el modo binario en la entrada estándar (%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
-msgstr "no se puede establecer el modo binario en la salida estándar (%s)"
+msgstr "no se puede establecer el modo binario en la salida estándar (%s)"
-#: main.c:618
+#: main.c:616
#, 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)"
+"no se puede establecer el modo binario en la salida estándar de error (%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
-msgstr "¡No hay ningún programa de texto!"
+msgstr "¡No hay ningún programa de texto!"
-#: main.c:735
+#: main.c:733
#, 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:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
-msgstr "Opciones POSIX:\t\tOpciones largas GNU: (estándar)\n"
+msgstr "Opciones POSIX:\t\tOpciones largas GNU: (estándar)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fichprog\t\t--file=fichprog\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F sc\t\t\t--field-separator=sc\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valor\t\t--assign=var=valor\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Opciones cortas:\t\tOpciones largas GNU: (extensiones)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fichero]\t\t--dump-variables[=fichero]\n"
-# Esta es la línea más larga de la lista de argumentos.
+# Esta es la línea más larga de la lista de argumentos.
# Probar con gawk para revisar tabuladores. cfuga
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'texto-prog'\t--source='texto-prog'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fichero\t\t--exec=fichero\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fichero]\t\t--profile[=fichero]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1845,7 +1841,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1854,22 +1850,22 @@ msgid ""
msgstr ""
"\n"
"Para reportar bichos, consulte el nodo `Bugs' en `gawk.info', el cual\n"
-"corresponde a la sección `Reporting Problems and Bugs' en la versión "
+"corresponde a la sección `Reporting Problems and Bugs' en la versión "
"impresa.\n"
-"Reporte los errores de los mensajes en español a <es@li.org>.\n"
+"Reporte los errores de los mensajes en español a <es@li.org>.\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
"\n"
msgstr ""
"gawk es un lenguaje de reconocimiento y procesamiento de patrones.\n"
-"Por defecto lee la entrada estándar y escribe en la salida estándar.\n"
+"Por defecto lee la entrada estándar y escribe en la salida estándar.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1879,7 +1875,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fichero\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1893,13 +1889,13 @@ msgstr ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
"\n"
"Este programa es software libre; se puede redistribuir y/o modificar\n"
-"bajo los términos de la Licencia Pública General de GNU tal como es "
+"bajo los términos de la Licencia Pública General de GNU tal como es "
"publicada\n"
-"por la Free Software Foundation; ya sea por la versión 3 de la Licencia, o\n"
-"(a su elección) cualquier versión posterior.\n"
+"por la Free Software Foundation; ya sea por la versión 3 de la Licencia, o\n"
+"(a su elección) cualquier versión posterior.\n"
"\n"
-#: main.c:816
+#: main.c:814
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"
@@ -1907,31 +1903,31 @@ msgid ""
"GNU General Public License for more details.\n"
"\n"
msgstr ""
-"Este programa se distribuye con la esperanza que será útil,\n"
-"pero SIN NINGUNA GARANTÍA; aún sin la garantía implícita de\n"
+"Este programa se distribuye con la esperanza que será útil,\n"
+"pero SIN NINGUNA GARANTÃA; aún sin la garantía implícita de\n"
"COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Vea la\n"
-"Licencia Pública General de GNU para más detalles.\n"
+"Licencia Pública General de GNU para más detalles.\n"
"\n"
-#: main.c:822
+#: main.c:820
msgid ""
"You should have received a copy of the GNU General Public License\n"
"along with this program. If not, see http://www.gnu.org/licenses/.\n"
msgstr ""
-"Debió recibir una copia de la Licencia Pública General de GNU\n"
-"junto con este programa. Si no es así, consulte\n"
+"Debió recibir una copia de la Licencia Pública General de GNU\n"
+"junto con este programa. Si no es así, consulte\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:857
+#: main.c:855
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:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
-msgstr "valor desconocido para la especificación de campo: %d\n"
+msgstr "valor desconocido para la especificación de campo: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1940,55 +1936,54 @@ msgstr ""
"%s: el argumento `%s' para `-v' no es de la forma `var=valor'\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' no es un nombre de variable legal"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
-#, fuzzy, c-format
+#: main.c:1203
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
-"extension: no se puede utilizar la orden interna de gawk `%s' como nombre de "
-"función"
+"no se puede utilizar la orden interna de gawk `%s' como nombre de variable"
-#: main.c:1190
-#, fuzzy, c-format
+#: main.c:1208
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "no se puede usar el nombre de la función `%s' como variable o matriz"
+msgstr "no se puede usar la función `%s' como nombre de variable"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
-msgstr "excepción de coma flotante"
+msgstr "excepción de coma flotante"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "error fatal: error interno"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
-msgstr "error fatal: error interno: falla de segmentación"
+msgstr "error fatal: error interno: falla de segmentación"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "error fatal: error interno: desbordamiento de pila"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "no existe el df %d abierto previamente"
-#: main.c:1334
+#: main.c:1352
#, 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:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "no se pueden encontrar los grupos: %s"
@@ -1996,7 +1991,7 @@ msgstr "no se pueden encontrar los grupos: %s"
#: msg.c:63
#, c-format
msgid "cmd. line:"
-msgstr "línea ord.:"
+msgstr "línea ord.:"
#: msg.c:107
msgid "error: "
@@ -2017,7 +2012,7 @@ msgstr "POSIX no permite escapes `\\x'"
#: node.c:574
msgid "no hex digits in `\\x' escape sequence"
-msgstr "no hay dígitos hexadecimales en la secuencia de escape `\\x'"
+msgstr "no hay dígitos hexadecimales en la secuencia de escape `\\x'"
#: node.c:596
#, c-format
@@ -2038,7 +2033,7 @@ msgid ""
"Invalid multibyte data detected. There may be a mismatch between your data "
"and your locale."
msgstr ""
-"Se detectaron datos multibyte inválidos. Puede ser que no coincidan sus "
+"Se detectaron datos multibyte inválidos. Puede ser que no coincidan sus "
"datos con su local."
#: posix/gawkmisc.c:176
@@ -2059,7 +2054,7 @@ msgstr "no se puede abrir `%s' para escritura: %s"
#: profile.c:85
msgid "sending profile to standard error"
-msgstr "se envía el perfil a la salida estándar de error"
+msgstr "se envía el perfil a la salida estándar de error"
#: profile.c:203
#, c-format
@@ -2084,39 +2079,39 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "error interno: %s con vname nulo"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# perfil de gawk, creado %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
"\t# Functions, listed alphabetically\n"
msgstr ""
"\n"
-"\t# Funciones, enumeradas alfabéticamente\n"
+"\t# Funciones, enumeradas alfabéticamente\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
-msgstr "redir2str: tipo de redirección %d desconocida"
+msgstr "redir2str: tipo de redirección %d desconocida"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, c-format
+msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "el rango de la forma [%c-%c] depende del local"
#: re.c:599
#, c-format
msgid "regexp component `%.*s' should probably be `[%.*s]'"
msgstr ""
-"el componente de expresión regular `%.*s' probablemente debe ser `[%.*s]'"
+"el componente de expresión regular `%.*s' probablemente debe ser `[%.*s]'"
#: regcomp.c:132
msgid "Success"
-msgstr "Éxito"
+msgstr "Éxito"
#: regcomp.c:135
msgid "No match"
@@ -2124,15 +2119,15 @@ msgstr "No hay coincidencia"
#: regcomp.c:138
msgid "Invalid regular expression"
-msgstr "Expresión regular inválida"
+msgstr "Expresión regular inválida"
#: regcomp.c:141
msgid "Invalid collation character"
-msgstr "Caracter de ordenación inválido"
+msgstr "Caracter de ordenación inválido"
#: regcomp.c:144
msgid "Invalid character class name"
-msgstr "Nombre de clase de caracter inválido"
+msgstr "Nombre de clase de caracter inválido"
#: regcomp.c:147
msgid "Trailing backslash"
@@ -2140,7 +2135,7 @@ msgstr "Barra invertida extra al final"
#: regcomp.c:150
msgid "Invalid back reference"
-msgstr "Referencia hacia atrás inválida"
+msgstr "Referencia hacia atrás inválida"
#: regcomp.c:153
msgid "Unmatched [ or [^"
@@ -2156,11 +2151,11 @@ msgstr "\\{ desemparejado"
#: regcomp.c:162
msgid "Invalid content of \\{\\}"
-msgstr "Contenido inválido de \\{\\}"
+msgstr "Contenido inválido de \\{\\}"
#: regcomp.c:165
msgid "Invalid range end"
-msgstr "Final de rango inválido"
+msgstr "Final de rango inválido"
#: regcomp.c:168
msgid "Memory exhausted"
@@ -2168,15 +2163,15 @@ msgstr "Memoria agotada"
#: regcomp.c:171
msgid "Invalid preceding regular expression"
-msgstr "Expresión regular precedente inválida"
+msgstr "Expresión regular precedente inválida"
#: regcomp.c:174
msgid "Premature end of regular expression"
-msgstr "Fin prematuro de la expresión regular"
+msgstr "Fin prematuro de la expresión regular"
#: regcomp.c:177
msgid "Regular expression too big"
-msgstr "La expresión regular es demasiado grande"
+msgstr "La expresión regular es demasiado grande"
#: regcomp.c:180
msgid "Unmatched ) or \\)"
@@ -2184,10 +2179,13 @@ msgstr ") o \\) desemparejados"
#: regcomp.c:701
msgid "No previous regular expression"
-msgstr "No hay una expresión regular previa"
+msgstr "No hay una expresión regular previa"
+
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr "no se permite la asignación como resultado de una función interna"
#~ msgid "attempt to use array in a scalar context"
-#~ msgstr "se intentó usar una matriz en un contexto escalar"
+#~ msgstr "se intentó usar una matriz en un contexto escalar"
#~ msgid "statement may have no effect"
#~ msgstr "la sentencia puede no tener efecto"
@@ -2196,22 +2194,22 @@ msgstr "No hay una expresión regular previa"
#~ msgstr "memoria agotada"
#~ msgid "attempt to use scalar `%s' as array"
-#~ msgstr "se intentó usar el dato escalar `%s' como una matriz"
+#~ msgstr "se intentó usar el dato escalar `%s' como una matriz"
#~ msgid "attempt to use array `%s' in scalar context"
-#~ msgstr "se intentó usar la matriz `%s' en un contexto escalar"
+#~ msgstr "se intentó usar la matriz `%s' en un contexto escalar"
#~ msgid "call of `length' without parentheses is deprecated by POSIX"
-#~ msgstr "la llamada de `length' sin paréntesis está obsoleta por POSIX"
+#~ msgstr "la llamada de `length' sin paréntesis está obsoleta por POSIX"
#~ msgid "division by zero attempted in `/'"
-#~ msgstr "se intentó una división por cero en `/'"
+#~ msgstr "se intentó una división por cero en `/'"
#~ msgid "length: untyped parameter argument will be forced to scalar"
-#~ msgstr "length: un argumento de parámetro sin tipo se forzará a escalar"
+#~ msgstr "length: un argumento de parámetro sin tipo se forzará a escalar"
#~ msgid "length: untyped argument will be forced to scalar"
-#~ msgstr "length: un argumento sin tipo se forzará a escalar"
+#~ msgstr "length: un argumento sin tipo se forzará a escalar"
#~ msgid "`break' outside a loop is not portable"
#~ msgstr "`break' fuera de un ciclo no es transportable"
@@ -2229,7 +2227,7 @@ msgstr "No hay una expresión regular previa"
#~ "concatenation: side effects in one expression have changed the length of "
#~ "another!"
#~ msgstr ""
-#~ "concatenación: ¡Los efectos laterales en una expresión han cambiado la "
+#~ "concatenación: ¡Los efectos laterales en una expresión han cambiado la "
#~ "longitud de otra!"
#~ msgid "illegal type (%s) in tree_eval"
@@ -2239,16 +2237,16 @@ msgstr "No hay una expresión regular previa"
#~ msgstr "\t# -- principal --\n"
#~ msgid "invalid tree type %s in redirect()"
-#~ msgstr "tipo de árbol %s inválido en redirect()"
+#~ msgstr "tipo de árbol %s inválido en redirect()"
#~ msgid "/inet/raw client not ready yet, sorry"
-#~ msgstr "el cliente /inet/raw no está listo aún, perdón"
+#~ msgstr "el cliente /inet/raw no está listo aún, perdón"
#~ msgid "only root may use `/inet/raw'."
-#~ msgstr "sólo root puede utilizar `/inet/raw'."
+#~ msgstr "sólo root puede utilizar `/inet/raw'."
#~ msgid "/inet/raw server not ready yet, sorry"
-#~ msgstr "el servidor /inet/raw no está listo aún, perdón"
+#~ msgstr "el servidor /inet/raw no está listo aún, perdón"
#~ msgid "file `%s' is a directory"
#~ msgstr "el fichero `%s' es un directorio"
@@ -2278,7 +2276,7 @@ msgstr "No hay una expresión regular previa"
#~ msgstr "# se trata internamente como `delete'"
#~ msgid "# this is a dynamically loaded extension function"
-#~ msgstr "# esta es una función de extensión cargada dinámicamente"
+#~ msgstr "# esta es una función de extensión cargada dinámicamente"
#~ msgid ""
#~ "\t# BEGIN block(s)\n"
@@ -2295,26 +2293,26 @@ msgstr "No hay una expresión regular previa"
#~ msgid "can't open two way socket `%s' for input/output (%s)"
#~ msgstr ""
-#~ "no se puede abrir el `socket' de dos vías `%s' para entrada/salida (%s)"
+#~ "no se puede abrir el `socket' de dos vías `%s' para entrada/salida (%s)"
#~ msgid "%s: illegal option -- %c\n"
-#~ msgstr "%s: opción ilegal -- %c\n"
+#~ msgstr "%s: opción ilegal -- %c\n"
#~ msgid "function %s called\n"
-#~ msgstr "se llamó a la función %s\n"
+#~ msgstr "se llamó a la función %s\n"
#~ msgid "field %d in FIELDWIDTHS, must be > 0"
#~ msgstr "el campo %d en FIELDWIDTHS, debe ser > 0"
#~ msgid "or used as a variable or an array"
-#~ msgstr "o se usó como una variable o una matriz"
+#~ msgstr "o se usó como una variable o una matriz"
#~ msgid "substr: length %g is < 0"
#~ msgstr "substr: la longitud %g es < 0"
#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\""
#~ msgstr ""
-#~ "falló la coincidencia de la expresión regular, no hay suficiente memoria "
+#~ "falló la coincidencia de la expresión regular, no hay suficiente memoria "
#~ "para que coincida la cadena \"%.*s%s\""
#~ msgid "delete: illegal use of variable `%s' as array"
@@ -2324,27 +2322,27 @@ msgstr "No hay una expresión regular previa"
#~ msgstr "error interno: Node_var_array con vname nulo"
#~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "sintaxis inválida en el nombre `%s' para la asignación de variable"
+#~ msgstr "sintaxis inválida en el nombre `%s' para la asignación de variable"
#~ msgid "or used in other expression context"
-#~ msgstr "se usó or en otro contexto de la expresión"
+#~ msgstr "se usó or en otro contexto de la expresión"
#~ msgid "`%s' is a function, assignment is not allowed"
-#~ msgstr "`%s' es una función, no se permite asignación"
+#~ msgstr "`%s' es una función, no se permite asignación"
#~ msgid "BEGIN blocks must have an action part"
-#~ msgstr "Los bloques BEGIN deben tener una parte de acción"
+#~ msgstr "Los bloques BEGIN deben tener una parte de acción"
#~ msgid "`nextfile' used in BEGIN or END action"
-#~ msgstr "`nextfile' es usado en la acción de BEGIN o END"
+#~ msgstr "`nextfile' es usado en la acción de BEGIN o END"
#~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
#~ msgstr ""
-#~ "`getline' no redirigido indefinido dentro de la acción de BEGIN o END"
+#~ "`getline' no redirigido indefinido dentro de la acción de BEGIN o END"
# tokentab? cfuga
#~ msgid "fptr %x not in tokentab\n"
-#~ msgstr "fptr %x no está en tokentab\n"
+#~ msgstr "fptr %x no está en tokentab\n"
#~ msgid "gsub third parameter is not a changeable object"
#~ msgstr "el tercer argumento de gsub no es un objecto que se puede cambiar"
@@ -2356,22 +2354,22 @@ msgstr "No hay una expresión regular previa"
#~ msgstr "Escape \\ sin terminar"
#~ msgid "unfinished repeat count"
-#~ msgstr "cuenta de repetición sin terminar"
+#~ msgstr "cuenta de repetición sin terminar"
#~ msgid "malformed repeat count"
-#~ msgstr "cuenta de repetición malformada"
+#~ msgstr "cuenta de repetición malformada"
#~ msgid "Unbalanced ("
#~ msgstr "( desbalanceado"
#~ msgid "No regexp syntax bits specified"
-#~ msgstr "No se especifican los bits de sintaxis de la expresión regular"
+#~ msgstr "No se especifican los bits de sintaxis de la expresión regular"
#~ msgid "Unbalanced )"
#~ msgstr ") desbalanceado"
#~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "error interno: fichero `%s', línea %d\n"
+#~ msgstr "error interno: fichero `%s', línea %d\n"
#~ msgid ""
#~ "\n"
@@ -2381,7 +2379,7 @@ msgstr "No hay una expresión regular previa"
#~ "Para reportar `bugs', vea el nodo `Bugs' en gawk.info, que es\n"
#~ msgid "pipe from `%s': could not set close-on-exec (fcntl: %s)"
-#~ msgstr "tubería de `%s': no se puede establecer close-on-exec (fcntl: %s)"
+#~ msgstr "tubería de `%s': no se puede establecer close-on-exec (fcntl: %s)"
#~ msgid "pipe to `%s': could not set close-on-exec (fcntl: %s)"
-#~ msgstr "tubería a `%s': no se puede establecer close-on-exec (fcntl: %s)"
+#~ msgstr "tubería a `%s': no se puede establecer close-on-exec (fcntl: %s)"
diff --git a/po/fi.gmo b/po/fi.gmo
index f45d001a..f1cafa30 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 6ff929be..4a6ac6de 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -1,14 +1,14 @@
# Finnish messages for gawk.
-# Copyright © 2010 Free Software Foundation, Inc.
+# Copyright © 2010, 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010-2011.
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.83\n"
+"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
-"PO-Revision-Date: 2011-05-22 11:32+0200\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
+"PO-Revision-Date: 2011-09-12 12:14+0200\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
"Language: fi\n"
@@ -41,9 +41,9 @@ msgstr "yritettiin käyttää skalaariparametria â€%s†taulukkona"
msgid "attempt to use scalar `%s' as an array"
msgstr "yritettiin käyttää skalaaria â€%s†taulukkona"
-#: array.c:302 array.c:707 builtin.c:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "yritettiin käyttää taulukkoa â€%s†skalaarikontekstissa"
@@ -63,7 +63,7 @@ msgstr "taulukon alaindeksi â€%s†on null-merkkijono"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indeksi â€%s†ei ole taulukossa â€%sâ€"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "yritettiin käyttää skalaaria â€%s[\"%.*s\"]†taulukkona"
@@ -185,340 +185,340 @@ msgstr "kaksi samanlaista case-arvoa switch-rakenteen rungossa: %s"
msgid "duplicate `default' detected in switch body"
msgstr "kaksoiskappale â€default†havaittu switch-rungossa"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "â€break†ei ole sallittu silmukan tai switch-lauseen ulkopuolella"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "â€continue†ei ole sallittu silmukan ulkopuolella"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "â€next†käytetty %s-toiminnossa"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "â€nextfile†on gawk-laajennus"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "â€nextfile†käytetty %s-toiminnossa"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "â€return†käytetty funktiokontekstin ulkopuolella"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "â€delete array†on gawk-laajennus"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "â€delete(array)†ei ole siirrettävä tawk-laajennus"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "monivaiheiset kaksisuuntaiset putket eivät toimi"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "säännöllinen lauseke sijoituksen oikealla puolella"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "säännöllinen lauseke â€~â€- tai â€!~â€-operaattorin vasemmalla puolella"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "säännöllinen lauseke vertailun oikealla puolella"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "â€getline var†virheellinen säännön â€%s†sisällä"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "â€getline†virheellinen säännön â€%s†sisällä"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr "edelleenohjaamaton â€getline†määrittelemätön END-toiminnon sisällä"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "vanha awk ei tue moniulotteisia taulukkoja"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "â€lengthâ€-kutsu ilman sulkumerkkejä ei ole siirrettävä"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "epäsuorat funktiokutsut ovat gawk-laajennus"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "virheellinen indeksointilauseke"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "ei-taulukon käyttö taulukkona"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "varoitus:"
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "tuhoisa:"
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "odottamaton rivinvaihto tai merkkijonon loppu"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "ei voi avata lähdetiedostoa â€%s†lukemista varten (%s)"
-#: awkgram.y:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "syy tuntematon"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "on jo sisällytetty lähdetiedostoon â€%sâ€"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "@include on gawk-laajennus"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "tyhjä tiedostonimi @include:n jälkeen"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "tyhjä ohjelmateksti komentorivillä"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "ei voi lukea lähdetiedostoa â€%s†(%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "lähdetiedosto â€%s†on tyhjä"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "lähdetiedoston lopussa ei ole rivinvaihtoa"
-#: awkgram.y:2883
+#: awkgram.y:2882
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:2907
+#: awkgram.y:2906
#, 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:2911
+#: awkgram.y:2910
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "tawkin regex-määre â€/.../%c†ei toimi gawkissa"
-#: awkgram.y:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "päättämätön säännöllinen lauseke"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "päättämätön säännöllinen lauseke tiedoston lopussa"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr "â€\\ #...â€-rivijatkamisen käyttö ei ole siirrettävä"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "kenoviiva ei ole rivin viimeinen merkki"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX ei salli operaattoria â€**=â€"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "vanha awk ei tue operaattoria â€**=â€"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX ei salli operaattoria â€**â€"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "vanha awk ei tue operaattoria â€**â€"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "operaattoria â€^=†ei tueta vanhassa awk:ssa"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "operaattoria â€^†ei tueta vanhassa awk:ssa"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "päättämätön merkkijono"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "virheellinen merkki ’%c’ lausekkeessa"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "â€%s†on gawk-laajennus"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "â€%s†on Bell Labs -laajennus"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX ei salli operaattori â€%sâ€"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "â€%s†ei ole tuettu vanhassa awk-ohjelmassa"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "â€gotoâ€-käskyä pidetään haitallisena!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d on virheellinen argumenttilukumäärä operaattorille %s"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: kolmas argumentti on gawk-laajennus"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s kolmas parametri ei ole vaihdettava objekti"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: kolmas argumentti on gawk-laajennus"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: toinen argumentti on gawk-laajennus"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcgettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcngettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktio â€%sâ€: parametri â€%s†varjostaa yleismuuttujaa"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "ei voitu avata tiedostoa â€%s†kirjoittamista varten (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
msgstr "lähetetään muuttujaluettelo vakiovirheeseen"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: sulkeminen epäonnistui (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() kutsuttu kahdesti!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "siellä oli varjostettuja muuttujia."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "funktio â€%sâ€: ei voi käyttää funktionimeä parametrinimenä"
-#: awkgram.y:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "funktionimi â€%s†on jo aikaisemmin määritelty"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktiota â€%s†kutsuttiin, mutta sitä ei ole koskaan määritelty"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktio â€%s†määriteltiin, mutta sitä ei ole koskaan kutsuttu suoraan"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "säännöllisen lausekkeen vakio parametrille #%d antaa boolean-arvon"
-#: awkgram.y:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -527,235 +527,235 @@ msgstr ""
"funktio â€%s†kutsuttu välilyönnillä nimen ja â€(â€-merkin\n"
"välillä, tai käytetty muuttujana tai taulukkona"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "nollalla jakoa yritettiin"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "jakoa nollalla yritettiin operaattorissa â€%%â€"
# kohteena voi olla vakiotuloste tai joku muu
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s kohteeseen â€%s†epäonnistui (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "vakiotuloste"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argumentti %g on lukualueen ulkopuolella"
-#: builtin.c:197
+#: builtin.c:196
#, 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:200
+#: builtin.c:199
#, 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:212
+#: builtin.c:211
#, 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:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: ensimmäinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: vastaanotettu taulukkoargumentti"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "â€length(array)†on gawk-laajennus"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: vastaanotettu negatiivinen argumentti %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
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:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "kenttäleveys ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "tarkkuus ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "kenttäleveys ja tarkkuus ohitetaan â€%%%%â€-määritteelle"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu awk-muodoissa"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "kohtalokas: argumenttilukumäärän argumentilla â€$†on oltava > 0"
-#: builtin.c:826
+#: builtin.c:825
#, 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:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu pisteen jälkeen muodossa"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
"kohtalokas: ei â€$â€-argumenttia tarjottu sijantikenttäleveydelle tai "
"tarkkuudelle"
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "â€l†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€l†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "â€L†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€L†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "â€h†on merkityksetön awk-muodoissa; ohitetaan"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "kohtalokas: â€h†ei ole sallittu POSIX awk -muodoissa"
-#: builtin.c:1268
+#: builtin.c:1267
#, 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:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"ohitetaan tuntematon muotoargumenttimerkki â€%câ€: ei muunnettu argumenttia"
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr "kohtalokas: ei kylliksi argumentteja muotomerkkijonon tyydyttämiseksi"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "^ tällainen loppui kesken"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: muotoargumentilla ei ole ohjauskirjainta"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "muotomerkkijonoon toimitettu liian monta argumenttia"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: ei argumentteja"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: kutsuttu negatiivisella argumentilla %g"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: pituus %g ei ole >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: pituus %g ei ole >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: typistetään pituus %g, joka ei ole kokonaisluku"
-#: builtin.c:1513
+#: builtin.c:1512
#, 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:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: aloitusindeksi %g on virheellinen, käytetään 1:tä"
-#: builtin.c:1530
+#: builtin.c:1529
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: typistetään aloitusindeksi %g, joka ei ole kokonaisluku"
-#: builtin.c:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: lähdemerkkijono on nollapituinen"
-#: builtin.c:1571
+#: builtin.c:1570
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: aloitusindeksi %g on merkkijonon lopun jälkeen"
-#: builtin.c:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -763,220 +763,220 @@ msgstr ""
"substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden "
"(%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: ensimmäinen vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: vastaanotettu tyhjä muotomerkkijono"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1771
+#: builtin.c:1770
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:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "â€systemâ€-funktio ei ole sallittu hiekkalaatikkotilassa"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 eval.c:1159 eval.c:1790 eval.c:1803
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "viite alustamattomaan muuttujaan â€%sâ€"
-#: builtin.c:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "viite alustamattomaan kenttään â€$%dâ€"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: vastaanotettu argumentti ei ole merkkijono"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: kolmas argumentti ei ole taulukko"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 0-arvoinen kolmas argumentti käsitellään kuin 1"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2769
+#: builtin.c:2779
#, 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:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: ensimmäinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: toinen vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): jaosarvot typistetään"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: vastaanotettu argumentti ei ole numeerinen"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): jaosarvo typistetään"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: â€%s†ei ole kelvollinen paikallinen kategoria"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "tuntematon solmutyyppi %d"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "tuntematon käskykoodi %d"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "käskykoodi %s ei ole operaattori tai avainsana"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "puskurin ylivuoto funktiossa genflags2str"
@@ -1013,103 +1013,104 @@ msgstr "väärä â€%sFMTâ€-määritys â€%sâ€"
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "käännetään pois â€--lintâ€-valitsin â€LINTâ€-sijoituksen vuoksi"
-#: eval.c:1127 eval.c:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "sijoitusta ei sallita sisäänrakennetun funktion tulokselle"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "viite alustamattomaan argumenttiin â€%sâ€"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr "yritettiin kenttäviitettä arvosta, joka ei ole numeerinen"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "yritettiin kenttäviitettä null-merkkijonosta"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "yritettiin saantia kenttään %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "viite alustamattomaan kenttään â€$%ldâ€"
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktio â€%s†kutsuttiin useammalla argumentilla kuin esiteltiin"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: odottamaton tyyppi â€%sâ€"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "jakoa nollalla yritettiin operaatiossa â€/=â€"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "jakoa nollalla yritettiin operaatiossa â€%%=â€"
-#: eval.c:1784 eval.c:2030
+#: 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:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "sijoitusta käytetty ehdollisessa kontekstissa"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "käskyllä ei ole vaikutusta"
-#: eval.c:2233
+#: 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:2343
+#: 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:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "funktio â€%s†ei ole määritelty"
-#: eval.c:2416
+#: 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:2477
+#: 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:2532
+#: 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:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr "Ei osata tulkita kohdetta â€%sâ€"
@@ -1205,87 +1206,87 @@ msgstr "Toimintoa ei tueta"
msgid "NF set to negative value"
msgstr "NF asetettu negatiiviseen arvoon"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: neljäs argumentti on gawk-laajennus"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: neljäs argumentti ei ole taulukko"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: toinen argumentti ei ole taulukko"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: ei voida käyttää samaa taulukkoa toiselle ja neljännelle argumentille"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: ei voida käyttää toisen argumentin alitaulukkoa neljännelle "
"argumentille"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: ei voida käyttää neljännen argumentin alitaulukkoa toiselle "
"argumentille"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: null-merkkijono kolmantena argumenttina on gawk-laajennus"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: neljäs argumentti ei ole taulukko"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: toinen argumentti ei ole taulukko"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: kolmas argumentti ei ole taulukko"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: ei voida käyttää samaa taulukkoa toiselle ja neljännelle "
"argumentille"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: ei voida käyttää toisen argumentin alitaulukkkoa neljännelle "
"argumentille"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: ei voida käyttää neljännen argumentin alitaulukkoa toiselle "
"argumentille"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "â€FIELDWIDTHS†on gawk-laajennus"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "virheellinen FIELDWIDTHS-arvo, lähellä â€%sâ€"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "null-merkkijono â€FSâ€-kenttäerotinmuuttujalle on gawk-laajennus"
-#: field.c:1249
+#: field.c:1250
msgid "old awk does not support regexps as value of `FS'"
msgstr "vanha awk ei tue regexp-arvoja â€FSâ€-kenttäerotinmuuttujana"
-#: field.c:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "â€FPAT†on gawk-laajennus"
@@ -1344,475 +1345,470 @@ msgstr "%s: valitsin ’-W %s’ ei salli argumenttia\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: valitsin ’-W %s’ vaatii argumentin\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "komentoriviargumentti â€%s†on hakemisto: ohitettiin"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "ei voi avata tiedostoa â€%s†lukemista varten (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "virhe luettaessa syötetiedostoa â€%sâ€: %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "tiedostomäärittelijän %d (â€%sâ€) sulkeminen epäonnistui (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "edelleenohjaus ei ole sallittua hiekkalaatikkotilassa"
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "lausekkeella â€%sâ€-uudellenohjauksessa on vain numeerinen arvo"
-#: io.c:617
+#: io.c:618
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "lausekkeella â€%sâ€-uudelleenohjauksessa on null-merkkijonoarvo"
-#: io.c:623
+#: io.c:624
#, 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:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "turha merkkien â€>†ja â€>>†sekoittaminen tiedostolle â€%.*sâ€"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "ei voi avata putkea â€%s†tulosteelle (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "ei voi avata putkea â€%s†syötteelle (%s)"
-#: io.c:752
+#: io.c:753
#, 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:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "ei voi uudelleenohjata putkesta â€%s†(%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "ei voi uudelleenohjata putkeen â€%s†(%s)"
-#: io.c:888
+#: io.c:889
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:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†sulkeminen epäonnistui (%s)."
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "avoinna liian monta putkea tai syötetiedostoa"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: toisen argumentin on oltava â€to†tai â€fromâ€"
-#: io.c:951
+#: io.c:952
#, 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:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "suljettiin uudelleenohjaus, jota ei avattu koskaan"
-#: io.c:1053
+#: io.c:1054
#, 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:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "virhetila (%d) putken â€%s†sulkemisessa (%s)"
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "virhetila (%d) tiedoston â€%s†sulkemisessa (%s)"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "pistokkeen â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "apuprosessin â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "putken â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "tiedoston â€%s†eksplisiittistä sulkemista ei tarjota"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "virhe kirjoitettaessa vakiotulosteeseen (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "virhe kirjoitettaessa vakiovirheeseen (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†putken tyhjennys epäonnistui (%s)."
-#: io.c:1144
+#: io.c:1145
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "putken apuprosessityhjennys uudelleenohjaukseen â€%s†epäonnistui (%s)."
-#: io.c:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "uudelleenohjauksen â€%s†tiedostontyhjennys epäonnistui (%s)."
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "paikallinen portti %s virheellinen pistokkeessa â€/inetâ€"
-#: io.c:1279
+#: io.c:1280
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "etäkone- ja porttitiedot (%s, %s) ovat virheellisiä"
-#: io.c:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "ei (tunnettua) yhteyskäytäntöä tarjottu erikoistiedostonimessä â€%sâ€"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "erikoistiedostonimi â€%s†on vaillinainen"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "on tarjottava etäkoneen nimi pistokkeeseen â€/inetâ€"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "on tarjottava etäportti pistokkeeseen â€/inetâ€"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-viestintää ei tueta"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "ei voitu avata laitetta â€%sâ€, tila â€%sâ€"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "â€master ptyâ€-sulkeminen epäonnistui (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "vakiotulosteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1749
+#: io.c:1753
#, 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:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "vakiosyötteen sulkeminen lapsiprosessissa epäonnistui (%s)"
-#: io.c:1754
+#: io.c:1758
#, 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:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "â€slave ptyâ€:n sulkeminen epäonnistui (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
"putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)"
-#: io.c:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr "vakiotulosteen palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr "vakiosyötön palauttaminen äitiprosessissa epäonnistui\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "putken sulkeminen epäonnistui (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "â€|&†ei tueta"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "ei voi avata putkea â€%s†(%s)"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "ei voida luoda lapsiprosessia komennolle â€%s†(fork: %s)"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "data-tiedosto â€%s†on tyhjä"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "ei voitu varata lisää syötemuistia"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "â€RSâ€-monimerkkiarvo on gawk-laajennus"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "IPv6-viestintää ei tueta"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "â€-m[fr]â€-valitsin asiaanliittymätön gawk:ssa"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m valitsinkäyttö: â€-m[fr] nnnâ€"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "tyhjä argumentti valitsimelle â€-e/--source†ohitetaan"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: valitsin â€-W %s†on tunnistamaton, ohitetaan\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: valitsin vaatii argumentin -- %c\n"
-#: main.c:536
+#: main.c:534
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:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "valitsin â€--posix†korvaa valitsimen â€--traditionalâ€"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
"valitsin â€--posix†tai â€--traditional†korvaa valitsimen â€--non-decimal-dataâ€"
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "valitsin â€--posix†korvaa valitsimen â€--binaryâ€"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "ei voi asettaa binaaritilaa vakiosyötteessä (%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "ei voi asettaa binaaritilaa vakiotulosteessa (%s)"
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "ei voi asettaa binaaritilaa vakiovirheessä (%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr "ei ohjelmatekstiä ollenkaan!"
-#: main.c:735
+#: main.c:733
#, 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:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-valitsimet:\t\tGNU-pitkät valitsimet: (vakio)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f ohjelmatiedosto\t\t--file=ohjelmatiedosto\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=arvo\t\t--assign=muuttuja=arvo\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Lyhyet valitsimet:\t\tGNU-pitkät valitsimet: (laajennukset)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[tiedosto]\t\t--dump-variables[=tiedosto]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'program-text'\t--source='program-text'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=tiedosto\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-po\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1821,7 +1817,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1834,7 +1830,7 @@ msgstr ""
"joka on kappale â€Reporting Problems and Bugs†painetussa versiossa.\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1844,7 +1840,7 @@ msgstr ""
"Oletuksena se lukee vakiosyötettä ja kirjoittaa vakiotulosteeseen.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1854,7 +1850,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' tiedosto\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1873,7 +1869,7 @@ msgstr ""
"ehtojen mukaisesti.\n"
"\n"
-#: main.c:816
+#: main.c:814
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 +1883,7 @@ msgstr ""
"GNU General Public License-ehdoista.\n"
"\n"
-#: main.c:822
+#: main.c:820
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 +1891,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:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft ei aseta FS välilehteen POSIX awk:ssa"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "tuntematon arvo kenttämääritteelle: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1913,55 +1909,53 @@ msgstr ""
"%s: â€%s†argumentti valitsimelle â€-v†ei ole â€var=arvoâ€-muodossa\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "â€%s†ei ole laillinen muuttujanimi"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
-#, fuzzy, c-format
+#: main.c:1203
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr ""
-"extension: ei voi käyttää gawk-ohjelman sisäistä muuttujanimeä â€%s†"
-"funktionimenä"
+msgstr "ei voi käyttää gawk-ohjelman sisäistä â€%sâ€-määrittelyä muuttujanimenä"
-#: main.c:1190
-#, fuzzy, c-format
+#: main.c:1208
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "funktionimeä â€%s†ei voi käyttää muuttujana tai taulukkona"
+msgstr "funktionimeä â€%s†ei voi käyttää muuttujanimenä"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "liukulukupoikkeus"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "tuhoisa virhe: sisäinen virhe"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "tuhoisa virhe: sisäinen virhe: segmenttivirhe"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "tuhoisa virhe: sisäinen virhe: pinoylivuoto"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "ei avattu uudelleen tiedostomäärittelijää %d"
-#: main.c:1334
+#: main.c:1352
#, 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:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "ei voitu löytää ryhmiä: %s"
@@ -2056,12 +2050,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "sisäinen virhe: %s null vname-arvolla"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiili, luotu %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2070,14 +2064,14 @@ msgstr ""
"\n"
"\t# Funktiot, luetteloitu aakkosjärjestyksessä\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tuntematon edelleenohjaustyyppi %d"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, c-format
+msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "muodon â€[%c-%c]†lukualue on paikallisasetuksesta riippuvainen"
#: re.c:599
@@ -2158,6 +2152,9 @@ msgstr "Pariton ) tai \\)"
msgid "No previous regular expression"
msgstr "Ei edellistä säännöllistä lauseketta"
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr "sijoitusta ei sallita sisäänrakennetun funktion tulokselle"
+
#~ msgid "attempt to use array in a scalar context"
#~ msgstr "yritettiin käyttää taulukkoa skalaarikontekstissa"
diff --git a/po/fr.gmo b/po/fr.gmo
index b7be5e92..5845c814 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index c1d2b8b7..2908e1de 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.83\n"
+"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
-"PO-Revision-Date: 2011-05-22 09:31+0200\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
+"PO-Revision-Date: 2011-07-16 16:50+0200\n"
"Last-Translator: Jean-Philippe Guérard <jean-philippe.guerard@corbeaunoir."
"org>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -44,9 +44,9 @@ msgstr "tentative d'utiliser le paramètre scalaire « %s » comme tableau"
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:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "tentative d'utilisation du tableau « %s » dans un contexte scalaire"
@@ -66,7 +66,7 @@ msgstr "l'indice du tableau « %s » est une chaîne vide"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete : l'indice « %s » est absent du tableau « %s »"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "tentative d'utiliser le scalaire « %s[\"%.*s\"] » comme tableau"
@@ -178,354 +178,354 @@ msgstr "le corps du switch comporte des cas répétés : %s"
msgid "duplicate `default' detected in switch body"
msgstr "plusieurs « default » ont été détectés dans le corps du switch"
-#: awkgram.y:811
+#: awkgram.y:809
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:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "« continue » est interdit en dehors d'une boucle ou d'un switch"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "« next » est utilisé dans l'action %s"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "« nextfile » est une extension gawk"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "« nextfile » est utilisé dans l'action %s"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "« return » est utilisé hors du contexte d'une fonction"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "« delete array » est une extension gawk"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "« delete(array) » est une extension non portable de tawk"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "impossible d'utiliser des tubes bidirectionnels en série"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "expression rationnelle à droite d'une affectation"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "expression rationnelle à gauche d'un opérateur « ~ » ou « !~ »"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "expression rationnelle à droite d'une comparaison"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "« getline var » n'est pas valable dans une règle « %s »"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "« getline » n'est pas valable dans une règle « %s »"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr "dans une action END, un « getline » non redirigé n'est pas défini"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "l'ancien awk ne dispose pas des tableaux multidimensionnels"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "l'appel de « length » sans parenthèses n'est pas portable"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "les appels indirects de fonctions sont une extension gawk"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "expression indice non valide"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "utilisation d'un non tableau comme tableau"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "avertissement : "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "fatal : "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "fin de chaîne ou passage à la ligne inattendu"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, 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:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "raison inconnue"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "le fichier source « %s » a déjà été intégré"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "@include est une extension gawk"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "Le nom de fichier après @include est vide"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "le programme indiqué en ligne de commande est vide"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "impossible de lire le fichier source « %s » (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "le fichier source « %s » est vide"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "le fichier source ne se termine pas par un passage à la ligne"
-#: awkgram.y:2883
+#: awkgram.y:2882
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:2907
+#: awkgram.y:2906
#, 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:2911
+#: awkgram.y:2910
#, 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:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "expression rationnelle non refermée"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "expression rationnelle non refermée en fin de fichier"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr ""
"l'utilisation de « \\ #... » pour prolonger une ligne n'est pas portable"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "la barre oblique inverse n'est pas le dernier caractère de la ligne"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX n'autorise pas l'opérateur « **= »"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "l'ancien awk ne dispose pas de l'opérateur « **= »"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX n'autorise pas l'opérateur « ** »"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "l'ancien awk ne dispose pas de l'opérateur « ** »"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "l'ancien awk ne dispose pas de l'opérateur « ^= »"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "l'ancien awk ne dispose pas de l'opérateur « ^ »"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "chaîne non refermée"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "caractère non valide « %c » dans l'expression"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "« %s » est une extension gawk"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "« %s » est une extension Bell Labs"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX n'autorise pas « %s »"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "l'ancien awk ne dispose pas de « %s »"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "« goto est jugé dangereux ! » (Edsger W. Dijkstra)\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, 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:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match : le 3e argument est une extension gawk"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, 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:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match : le 3e argument est une extension gawk"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close : le 2e argument est une extension gawk"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"utilisation incorrecte de dcgettext(_\"...\") : enlevez le souligné de tête"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"utilisation incorrecte de dcngettext(_\"...\") : enlevez le souligné de tête"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "fonction « %s » : le paramètre « %s » masque la variable globale"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "impossible d'ouvrir « %s » en écriture (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
msgstr "envoi de la liste des variables vers la sortie d'erreur standard"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s : échec de la fermeture (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadows_funcs() a été appelé deux fois !"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "il y avait des variables masquées."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, 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:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "nom de fonction « %s » déjà défini"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "fonction « %s » appelée sans être définie"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "fonction « %s » définie mais jamais appelée directement"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, 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:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -534,232 +534,232 @@ msgstr ""
"fonction « %s » appelée avec un espace entre son nom\n"
"et « ( », ou utilisée comme variable ou tableau"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "tentative de division par zéro"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "tentative de division par zéro dans « %% »"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "échec de %s vers « %s » (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "sortie standard"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp : l'argument n'est pas numérique"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp : l'argument %g est hors limite"
-#: builtin.c:197
+#: builtin.c:196
#, 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:200
+#: builtin.c:199
#, 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:212
+#: builtin.c:211
#, 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:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index : le premier argument n'est pas une chaîne"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index : le second argument n'est pas une chaîne"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int : l'argument n'est pas numérique"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length : l'argument reçu est un tableau"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "« length(tableau) » est une extension gawk"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length : l'argument n'est pas une chaîne"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log : l'argument n'est pas numérique"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log : l'argument est négatif %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
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:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "taille du champ de la spécification « %% » ignorée"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "précision de la spécification « %% » ignorée"
-#: builtin.c:762
+#: builtin.c:761
#, 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:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal : « $ » n'est pas autorisé dans les formats awk"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal : le numéro d'argument de « $ » doit être > 0"
-#: builtin.c:826
+#: builtin.c:825
#, 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:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal : dans un format, « $ » ne doit pas suivre un point"
-#: builtin.c:846
+#: builtin.c:845
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:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "« l » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal : « l » est interdit dans un format awk POSIX"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "« L » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal : « L » est interdit dans un format awk POSIX"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "« h » n'a aucun sens dans un format awk ; ignoré"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal : « h » est interdit dans un format awk POSIX"
-#: builtin.c:1268
+#: builtin.c:1267
#, 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:1328
+#: builtin.c:1327
#, 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:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr "fatal : pas assez d'arguments pour satisfaire la chaîne de formatage"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "^ à court pour celui-ci"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf : spécification de format sans lettre de contrôle"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "trop d'arguments pour la chaîne de formatage"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf : aucun argument"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt : l'argument n'est pas numérique"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt : appelé avec un argument négatif %g"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr : la longueur %g n'est pas >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr : la longueur %g n'est pas >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, 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:1513
+#: builtin.c:1512
#, 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:1525
+#: builtin.c:1524
#, 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:1530
+#: builtin.c:1529
#, 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:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr : la chaîne source est de longueur nulle"
-#: builtin.c:1571
+#: builtin.c:1570
#, 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:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -767,229 +767,229 @@ 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:1652
+#: builtin.c:1651
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:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime : le second argument n'est pas numérique"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftim : le premier argument n'est pas une chaîne"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime : la chaîne de formatage est vide"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime : l'argument n'est pas une chaîne"
-#: builtin.c:1771
+#: builtin.c:1770
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:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "La fonction « system » est interdite en isolement (mode sandbox)"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system : l'argument n'est pas une chaîne"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "référence à un champ non initialisé « $%d »"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower : l'argument n'est pas une chaîne"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper : l'argument n'est pas une chaîne"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2 : le premier argument n'est pas numérique"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2 : le second argument n'est pas numérique"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin : l'argument n'est pas numérique"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos : l'argument n'est pas numérique"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand : l'argument n'est pas numérique"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match : le 3e argument n'est pas un tableau"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub : le 3e argument vaut 0, il sera traité comme un 1"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift : le premier argument n'est pas numérique"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift : le second argument reçu n'est pas numérique"
-#: builtin.c:2765
+#: builtin.c:2775
#, 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:2767
+#: builtin.c:2777
#, 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:2769
+#: builtin.c:2779
#, 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:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift : le premier argument n'est pas numérique"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift : le second argument reçu n'est pas numérique"
-#: builtin.c:2802
+#: builtin.c:2812
#, 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:2804
+#: builtin.c:2814
#, 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:2806
+#: builtin.c:2816
#, 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:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and : le premier argument n'est pas numérique"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and : le second argument reçu n'est pas numérique"
-#: builtin.c:2839
+#: builtin.c:2849
#, 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:2841
+#: builtin.c:2851
#, 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:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or : le premier argument n'est pas numérique"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or : le second argument reçu n'est pas numérique"
-#: builtin.c:2874
+#: builtin.c:2884
#, 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:2876
+#: builtin.c:2886
#, 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:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor : le premier argument n'est pas numérique"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor : le second argument reçu n'est pas numérique"
-#: builtin.c:2912
+#: builtin.c:2922
#, 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:2914
+#: builtin.c:2924
#, 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:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl : l'argument n'est pas numérique"
-#: builtin.c:2946
+#: builtin.c:2956
#, 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:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf) : les valeurs non entières seront tronquées"
-#: builtin.c:3117
+#: builtin.c:3127
#, 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:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "type de nœud %d inconnu"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "code opération %d inconnu"
-#: eval.c:433
+#: eval.c:434
#, 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:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "débordement de tampon dans genflag2str"
@@ -1026,102 +1026,103 @@ msgstr "spécification de « %sFMT » erronée « %s »"
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:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "impossible d'affecter au résultat d'une fonction interne"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "référence à un argument non initialisé « %s »"
-#: eval.c:1183
+#: eval.c:1177
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:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "tentative de référence à un champ via une chaîne nulle"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "tentative d'accès au champ %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "référence à un champ non initialisé « $%ld »"
-#: eval.c:1262
+#: eval.c:1256
#, 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:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: type « %s » inattendu"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "tentative de division par zéro dans « /= »"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "tentative de division par zéro dans « %%= »"
-#: eval.c:1784 eval.c:2030
+#: 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:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "affectation utilisée dans un contexte conditionnel"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "la déclaration est sans effet"
-#: eval.c:2233
+#: 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:2343
+#: 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:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "fonction « %s » non définie"
-#: eval.c:2416
+#: 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:2477
+#: 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:2532
+#: 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:2599
+#: 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 »"
@@ -1223,84 +1224,84 @@ msgstr "Opération non disponible"
msgid "NF set to negative value"
msgstr "une valeur négative a été assignée à NF"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split : le 4e argument est une extension gawk"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split : le 4e argument n'est pas un tableau"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split : le 2e argument n'est pas un tableau"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr "split : impossible d'utiliser le même tableau comme 2e et 4e argument"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split : impossible d'utiliser un sous-tableau du 2e argument en 4e argument"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split : impossible d'utiliser un sous-tableau du 4e argument en 2e argument"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split : utiliser une chaîne vide en 3e argument est une extension gawk"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit : le 4e argument n'est pas un tableau"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit : le 2e argument n'est pas un tableau"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit : le 3e argument n'est pas un tableau"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit : impossible d'utiliser le même tableau comme 2e et 4e argument"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit : impossible d'utiliser un sous-tableau du 2e argument en 4e "
"argument"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit : impossible d'utiliser un sous-tableau du 4e argument en 2e "
"argument"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "« FIELDWIDTHS » est une extension gawk"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valeur de FIELDWIDTHS non valide, près de « %s »"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "utiliser une chaîne vide pour « FS » est une extension gawk"
-#: field.c:1249
+#: field.c:1250
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:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "« FPAT » est une extension gawk"
@@ -1359,477 +1360,472 @@ msgstr "%s : l'option « -W %s » n'accepte pas d'argument\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s : l'option « -W %s » nécessite un argument\n"
-#: io.c:282
+#: io.c:280
#, 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:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "impossible d'ouvrir le fichier « %s » en lecture (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "erreur lors de la lecture du fichier en entrée « %s » : %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "échec de la fermeture du fd %d (« %s ») : %s"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "les redirections sont interdites en isolement (mode sandbox)"
-#: io.c:611
+#: io.c:612
#, 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:617
+#: io.c:618
#, 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:623
+#: io.c:624
#, 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:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mélange non nécessaire de « > » et « >> » pour le fichier « %.*s »"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "impossible d'ouvrir le tube « %s » en sortie (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "impossible d'ouvrir le tube « %s » en entrée (%s)"
-#: io.c:752
+#: io.c:753
#, 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:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "impossible de rediriger depuis « %s » (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "impossible de rediriger vers « %s » (%s)"
-#: io.c:888
+#: io.c:889
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:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "échec de la fermeture de « %s » (%s)"
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "trop de fichiers d'entrées ou de tubes ouverts"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close : le second argument doit être « to » ou « from »"
-#: io.c:951
+#: io.c:952
#, 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:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "fermeture d'une redirection qui n'a jamais été ouverte"
-#: io.c:1053
+#: io.c:1054
#, 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:1069
+#: io.c:1070
#, 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:1072
+#: io.c:1073
#, 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:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "aucune fermeture explicite du connecteur « %s » fournie"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "aucune fermeture explicite du co-processus « %s » fournie"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "aucune fermeture explicite du tube « %s » fournie"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "aucune fermeture explicite du fichier « %s » fournie"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "erreur lors de l'écriture vers la sortie standard (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "erreur lors de l'écriture vers l'erreur standard (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "échec du vidage du tube « %s » (%s)."
-#: io.c:1144
+#: io.c:1145
#, 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:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "échec du vidage vers le fichier « %s » (%s)"
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "le port local %s n'est pas valide dans « /inet »"
-#: io.c:1279
+#: io.c:1280
#, 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:1431
+#: io.c:1432
#, 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:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "nom de fichier spécial « %s » incomplet"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "un nom d'hôte distant doit être fourni à « /inet »"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "un port distant doit être fourni à « /inet »"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "les communications TCP/IP ne sont pas disponibles"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "impossible d'ouvrir « %s », mode « %s »"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "échec de la fermeture du pty maître (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "échec de la fermeture de stdout du processus fils (%s)"
-#: io.c:1749
+#: io.c:1753
#, 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:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "échec de fermeture du stdin du processus fils (%s)"
-#: io.c:1754
+#: io.c:1758
#, 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:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "échec de la fermeture du pty esclave (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, 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:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr "échec de la restauration du stdout dans le processus parent\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr "échec de la restauration du stdin dans le processus parent\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "échec de la fermeture du tube (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "« |& » non disponible"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "impossible d'ouvrir le tube « %s » (%s)"
-#: io.c:2084
+#: io.c:2088
#, 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:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "le fichier de données « %s » est vide"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "impossible d'allouer plus de mémoire d'entrée"
-#: io.c:3119
+#: io.c:3128
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:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "les communications IPv6 ne sont pas disponibles"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "l'option « -m[fr] » n'est pas pertinente en gawk"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "utilisation de l'option « -m » : « -m[fr] nnn »"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "argument vide de l'option « -e / --source » ignoré"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s : option « -W %s » non reconnue, ignorée\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s : l'option requiert un argument -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"variable d'environnement « POSIXLY__CORRECT » définie : activation de « --"
"posix »"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "« --posix » prend le pas sur « --traditional »"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
"« --posix » et « --traditional » prennent le pas sur « --non-decimal-data »"
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "« --posix » prend le pas sur « --binary »"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "impossible d'activer le mode binaire sur stdin (%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "impossible d'activer le mode binaire sur stdout (%s)"
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "impossible d'activer le mode binaire sur stderr (%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr "aucun programme !"
-#: main.c:735
+#: main.c:733
#, 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:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Options POSIX :\t\tOptions longues GNU : (standard)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fichier_prog\t\t--file=fichier_prog\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valeur\t\t--assign=var=valeur\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Options POSIX :\t\tOptions longues GNU : (extensions)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fichier]\t\t--dump-variables[=fichier]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programme'\t\t--source='programme'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fichier\t\t--exec=fichier\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fichier]\t\t--profile[=fichier]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1838,7 +1834,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1853,7 +1849,7 @@ msgstr ""
"<traduc CHEZ traduc POINT org>.\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1863,7 +1859,7 @@ msgstr ""
"Par défaut, il lit l'entrée standard et écrit sur la sortie standard.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1873,7 +1869,7 @@ msgstr ""
"\tgawk '{ somme += $1 }; END { print somme }' fichier\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1893,7 +1889,7 @@ msgstr ""
"version ultérieure de votre choix.\n"
"\n"
-#: main.c:816
+#: main.c:814
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 +1904,7 @@ msgstr ""
"General Public License).\n"
"\n"
-#: main.c:822
+#: main.c:820
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 +1913,16 @@ msgstr ""
"(GNU General Public License) avec ce programme. Sinon, consultez\n"
"http://www.gnu.org/licenses/.\n"
-#: main.c:857
+#: main.c:855
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:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valeur inconnue pour la définition de champ : %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1935,55 +1931,53 @@ msgstr ""
"%s : « %s » l'argument de « -v » ne respecte pas la forme « var=valeur »\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "« %s » n'est pas un nom de variable valide"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
-#, fuzzy, c-format
+#: main.c:1203
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr ""
-"extension : impossible d'utiliser la fonction interne gawk « %s » comme nom "
-"de fonction"
+msgstr "impossible d'utiliser le mot clef gawk « %s » comme variable"
-#: main.c:1190
-#, fuzzy, c-format
+#: main.c:1208
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "impossible d'utiliser la fonction « %s » comme variable ou tableau"
+msgstr "impossible d'utiliser la fonction « %s » comme variable"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "exception du traitement en virgule flottante"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "fatal : erreur interne"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "fatal : erreur interne : erreur de segmentation"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "fatal : erreur interne : débordement de la pile"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "aucun descripteur fd %d pré-ouvert"
-#: main.c:1334
+#: main.c:1352
#, 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:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "impossible de trouver les groupes : %s"
@@ -2080,12 +2074,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "erreur interne : %s avec un vname nul"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profile gawk, créé %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2094,14 +2088,14 @@ msgstr ""
"\n"
"\t# Fonctions, par ordre alphabétique\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str : type de redirection %d inconnu"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, 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)"
@@ -2184,3 +2178,6 @@ msgstr ") ou \\) sans correspondance"
#: regcomp.c:701
msgid "No previous regular expression"
msgstr "Aucune expression rationnelle précédente"
+
+#~ 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 302ece16..d017a0e5 100644
--- a/po/gawk.pot
+++ b/po/gawk.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gawk 4.0.0\n"
+"Project-Id-Version: gawk 4.0.0a\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -41,9 +41,9 @@ msgstr ""
msgid "attempt to use scalar `%s' as an array"
msgstr ""
-#: array.c:302 array.c:707 builtin.c:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr ""
@@ -63,7 +63,7 @@ msgstr ""
msgid "delete: index `%s' not in array `%s'"
msgstr ""
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr ""
@@ -175,778 +175,778 @@ msgstr ""
msgid "duplicate `default' detected in switch body"
msgstr ""
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr ""
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr ""
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr ""
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr ""
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr ""
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr ""
-#: awkgram.y:927
+#: awkgram.y:925
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
-#: awkgram.y:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr ""
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr ""
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr ""
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr ""
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr ""
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
msgid "old awk does not support the keyword `in' except after `for'"
msgstr ""
-#: awkgram.y:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr ""
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr ""
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr ""
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr ""
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr ""
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr ""
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr ""
-#: awkgram.y:1595
+#: awkgram.y:1593
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr ""
-#: awkgram.y:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr ""
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr ""
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr ""
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr ""
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr ""
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr ""
-#: awkgram.y:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr ""
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr ""
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr ""
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr ""
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr ""
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr ""
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr ""
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr ""
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
msgstr ""
-#: awkgram.y:2907
+#: awkgram.y:2906
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
-#: awkgram.y:2911
+#: awkgram.y:2910
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr ""
-#: awkgram.y:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr ""
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr ""
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr ""
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr ""
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr ""
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr ""
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr ""
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr ""
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr ""
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr ""
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr ""
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr ""
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr ""
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr ""
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr ""
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr ""
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr ""
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr ""
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr ""
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr ""
-#: awkgram.y:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr ""
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr ""
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr ""
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
-#: awkgram.y:3883
+#: awkgram.y:3893
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr ""
-#: awkgram.y:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr ""
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr ""
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
msgstr ""
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr ""
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr ""
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr ""
-#: awkgram.y:4178
+#: awkgram.y:4188
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr ""
-#: awkgram.y:4182
+#: awkgram.y:4192
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr ""
-#: awkgram.y:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr ""
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr ""
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr ""
-#: awkgram.y:4407
+#: awkgram.y:4417
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr ""
-#: awkgram.y:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
"or used as a variable or an array"
msgstr ""
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr ""
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr ""
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr ""
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr ""
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr ""
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr ""
-#: builtin.c:197
+#: builtin.c:196
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
-#: builtin.c:200
+#: builtin.c:199
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
-#: builtin.c:212
+#: builtin.c:211
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr ""
-#: builtin.c:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr ""
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr ""
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr ""
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr ""
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr ""
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr ""
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr ""
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr ""
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
-#: builtin.c:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr ""
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr ""
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr ""
-#: builtin.c:826
+#: builtin.c:825
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
-#: builtin.c:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr ""
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:1268
+#: builtin.c:1267
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr ""
-#: builtin.c:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr ""
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr ""
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr ""
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr ""
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr ""
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr ""
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr ""
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr ""
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr ""
-#: builtin.c:1513
+#: builtin.c:1512
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr ""
-#: builtin.c:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr ""
-#: builtin.c:1530
+#: builtin.c:1529
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr ""
-#: builtin.c:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr ""
-#: builtin.c:1571
+#: builtin.c:1570
#, c-format
msgid "substr: start index %g is past end of string"
msgstr ""
-#: builtin.c:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
msgstr ""
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr ""
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr ""
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr ""
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr ""
-#: builtin.c:1771
+#: builtin.c:1770
msgid "mktime: at least one of the values is out of the default range"
msgstr ""
-#: builtin.c:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr ""
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr ""
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 eval.c:1159 eval.c:1790 eval.c:1803
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr ""
-#: builtin.c:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr ""
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr ""
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr ""
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr ""
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr ""
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr ""
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr ""
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr ""
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr ""
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr ""
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr ""
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr ""
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2769
+#: builtin.c:2779
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
-#: builtin.c:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr ""
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr ""
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2806
+#: builtin.c:2816
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr ""
-#: builtin.c:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr ""
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr ""
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr ""
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr ""
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr ""
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr ""
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr ""
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr ""
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr ""
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr ""
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr ""
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr ""
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr ""
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr ""
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr ""
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr ""
@@ -980,101 +980,102 @@ msgstr ""
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr ""
-#: eval.c:1127 eval.c:1685
+#: eval.c:1127 eval.c:1777
#, c-format
msgid "can't use function name `%s' as variable or array"
msgstr ""
-#: eval.c:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr ""
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr ""
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr ""
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr ""
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr ""
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr ""
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr ""
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr ""
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr ""
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr ""
-#: eval.c:1784 eval.c:2030
+#: eval.c:1876 eval.c:2122
#, c-format
msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
msgstr ""
-#: eval.c:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr ""
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr ""
-#: eval.c:2233
+#: eval.c:2343
#, c-format
msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
msgstr ""
-#: eval.c:2343
+#: eval.c:2458
#, c-format
msgid "function called indirectly through `%s' does not exist"
msgstr ""
-#: eval.c:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr ""
-#: eval.c:2416
+#: eval.c:2511
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
msgstr ""
-#: eval.c:2477
+#: 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:2532
+#: eval.c:2694
#, c-format
msgid "`next' cannot be called from a `%s' rule"
msgstr ""
-#: eval.c:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr ""
@@ -1166,76 +1167,76 @@ msgstr ""
msgid "NF set to negative value"
msgstr ""
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr ""
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr ""
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr ""
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr ""
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr ""
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr ""
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr ""
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr ""
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr ""
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr ""
-#: field.c:1249
+#: field.c:1250
msgid "old awk does not support regexps as value of `FS'"
msgstr ""
-#: field.c:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr ""
@@ -1294,456 +1295,451 @@ msgstr ""
msgid "%s: option '-W %s' requires an argument\n"
msgstr ""
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr ""
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr ""
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr ""
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr ""
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr ""
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr ""
-#: io.c:617
+#: io.c:618
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr ""
-#: io.c:623
+#: io.c:624
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
-#: io.c:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr ""
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr ""
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr ""
-#: io.c:752
+#: io.c:753
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr ""
-#: io.c:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr ""
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr ""
-#: io.c:888
+#: io.c:889
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
-#: io.c:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr ""
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr ""
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr ""
-#: io.c:951
+#: io.c:952
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr ""
-#: io.c:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr ""
-#: io.c:1053
+#: io.c:1054
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
-#: io.c:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr ""
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr ""
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr ""
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr ""
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr ""
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr ""
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr ""
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr ""
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr ""
-#: io.c:1144
+#: io.c:1145
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr ""
-#: io.c:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr ""
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr ""
-#: io.c:1279
+#: io.c:1280
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr ""
-#: io.c:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr ""
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr ""
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr ""
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr ""
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr ""
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr ""
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr ""
-#: io.c:1749
+#: io.c:1753
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr ""
-#: io.c:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr ""
-#: io.c:1754
+#: io.c:1758
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr ""
-#: io.c:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr ""
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr ""
-#: io.c:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr ""
-#: io.c:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr ""
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr ""
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr ""
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr ""
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr ""
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr ""
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr ""
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr ""
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr ""
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr ""
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr ""
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr ""
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr ""
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr ""
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr ""
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr ""
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
-#: main.c:557
+#: main.c:555
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr ""
-#: main.c:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr ""
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr ""
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr ""
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr ""
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr ""
-#: main.c:735
+#: main.c:733
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr ""
-#: main.c:737
+#: main.c:735
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr ""
-#: main.c:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr ""
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr ""
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr ""
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr ""
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr ""
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr ""
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr ""
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr ""
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr ""
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr ""
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr ""
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr ""
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr ""
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr ""
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr ""
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr ""
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr ""
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr ""
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr ""
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr ""
-#: main.c:763
+#: main.c:761
msgid "\t-R file\t\t\t--command=file\n"
msgstr ""
-#: main.c:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr ""
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr ""
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr ""
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr ""
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr ""
@@ -1752,7 +1748,7 @@ msgstr ""
#. for this application. Please add _another line_ with the
#. address for translation bugs.
#. no-wrap
-#: main.c:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1760,21 +1756,21 @@ msgid ""
"\n"
msgstr ""
-#: main.c:784
+#: main.c:782
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:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
msgstr ""
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1786,7 +1782,7 @@ msgid ""
"\n"
msgstr ""
-#: main.c:816
+#: main.c:814
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,75 +1791,75 @@ msgid ""
"\n"
msgstr ""
-#: main.c:822
+#: main.c:820
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:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr ""
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr ""
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
"\n"
msgstr ""
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr ""
-#: main.c:1181
+#: main.c:1199
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr ""
-#: main.c:1185
+#: main.c:1203
#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
msgstr ""
-#: main.c:1190
+#: main.c:1208
#, c-format
msgid "cannot use function `%s' as variable name"
msgstr ""
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr ""
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr ""
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr ""
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr ""
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr ""
-#: main.c:1334
+#: main.c:1352
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr ""
-#: main.c:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr ""
@@ -1950,26 +1946,26 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr ""
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr ""
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
"\t# Functions, listed alphabetically\n"
msgstr ""
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr ""
#: re.c:572
#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+msgid "range of the form `[%c-%c]' is locale dependent"
msgstr ""
#: re.c:599
diff --git a/po/it.gmo b/po/it.gmo
index be3081ec..70487a38 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index b8a246dd..7d380e91 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-06-23 09:46+0300\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\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"
@@ -39,9 +39,9 @@ msgstr "tentativo di usare il parametro scalare `%s' come un vettore"
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:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "tentativo di usare vettore `%s' in un contesto scalare"
@@ -61,7 +61,7 @@ msgstr "l'indice del vettore '%s' è una stringa nulla"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indice `%s' non presente nel vettore `%s'"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "tentativo di usare scalare`%s[\"%.*s\"]' come vettore"
@@ -181,347 +181,347 @@ msgstr "valori di 'case' doppi all'interno di uno 'switch': %s"
msgid "duplicate `default' detected in switch body"
msgstr "valori di default doppi all'interno di uno 'switch'"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "`break' non permesso fuori da un ciclo o da uno 'switch'"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "`continue' non permesso fuori da un un ciclo"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "`next' usato in 'azione' %s"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "`nextfile' è un'estensione gawk"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "`nextfile' usato in 'azione' %s"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "`return' usato fuori da una funzione"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "`delete array' è un'estensione gawk"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(array)' è un'estensione tawk non-portabile"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "'pipeline' multistadio bidirezionali non funzionano"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "espressione regolare usata per assegnare un valore"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "espressione regolare prima di operatore `~' o `!~'"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "espressione regolare a destra in un confronto"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "`getline var' invalida all'interno della regola `%s'"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "`getline' invalida all'interno della regola `%s'"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr "`getline' non re-diretta indefinita dentro 'azione' END"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "il vecchio awk non supporta vettori multidimensionali"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "chiamata a `length' senza parentesi non portabile"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "chiamate a funzione indirette sono un'estensione gawk"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "espressione indice invalida"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "uso di non-vettore come vettore"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "attenzione: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "fatale: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "carattere 'a capo' o fine stringa inaspettati"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, 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:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "ragione indeterminata"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "file sorgente `%s' già incluso"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "@include è un'estensione gawk"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "nome-file mancante dopo @include"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "programma nullo sulla linea comandi"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "non riesco a leggere file sorgente `%s' (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "file sorgente `%s' vuoto"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "file sorgente non termina con carattere 'a capo'"
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "espressione regolare non completata termina con `\\' a fine file"
-#: awkgram.y:2907
+#: awkgram.y:2906
#, 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:2911
+#: awkgram.y:2910
#, 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:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "espressione regolare non completata"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "espressione regolare non completata a fine file"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr "uso di `\\ #...' continuazione linea non portabile"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "'\\' non è l'ultimo carattere della linea"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX non permette l'operatore `**='"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "il vecchio awk non supporta l'operatore `**='"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX non permette l'operatore `**'"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "il vecchio awk non supporta l'operatore `**'"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "l'operatore `^=' non è supportato nel vecchio awk"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "l'operatore `^' non è supportato nel vecchio awk"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "stringa non terminata"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "carattere '%c' non valido in un'espressione"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' è un'estensione gawk"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "`%s' è un'estensione Bell Labs"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX non permette `%s'"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "`%s' non è supportato nel vecchio awk"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "`goto' considerato pericoloso!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d non valido come numero di argomenti per %s"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: il terzo argomento è un'estensione gawk"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "il terzo parametro di '%s' non è un oggetto modificabile"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: il terzo argomento è un'estensione gawk"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: il secondo argomento è un'estensione gawk"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"uso scorretto di dcgettext(_\"...\"): togliere il carattere '_' iniziale"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"uso scorretto di dcngettext(_\"...\"): togliere il carattere '_' iniziale"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funzione `%s': parametro `%s' nasconde variabile globale"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "non riesco ad aprire `%s' in scrittura (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
#, fuzzy
msgid "sending variable list to standard error"
msgstr "mando profilo a 'standard error'"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: 'close' fallita (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() chiamata due volte!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "c'erano variabili nascoste."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, 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:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "funzione di nome `%s' definita in precedenza"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "funzione `%s' chiamata ma mai definita"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funzione `%s' definita ma mai chiamata direttamente"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, 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:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -530,227 +530,227 @@ msgstr ""
"funzione `%s' chiamata con spazio tra il nome e `(',\n"
"o usata come variabile o vettore"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "tentativo di dividere per zero"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "tentativo di dividere per zero in `%%'"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s a \"%s\" fallita (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "standard output"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: argomento non numerico"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argomento %g non accettabile"
-#: builtin.c:197
+#: builtin.c:196
#, 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:200
+#: builtin.c:199
#, 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:212
+#: builtin.c:211
#, 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:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: il primo argomento non è una stringa"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: il secondo argomento non è una stringa"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int: argomento non numerico"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: l'argomento fornito è un vettore"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "`length(array)' è un'estensione gawk"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: l'argomento non è una stringa"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: argomento non numerico"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: argomento negativo %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
-#: builtin.c:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr ""
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr ""
-#: builtin.c:813
+#: builtin.c:812
#, fuzzy
msgid "fatal: `$' is not permitted in awk formats"
msgstr "l'operatore `^' non è supportato nel vecchio awk"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr ""
-#: builtin.c:826
+#: builtin.c:825
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr ""
-#: builtin.c:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr ""
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr ""
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr ""
-#: builtin.c:1268
+#: builtin.c:1267
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr ""
-#: builtin.c:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr ""
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr ""
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr ""
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr ""
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: manca argomento"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: argomento non numerico"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: chiamata con argomento negativo %g"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: lunghezza %g non >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: lunghezza %g non >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: lunghezza non intera %g: sarà troncata"
-#: builtin.c:1513
+#: builtin.c:1512
#, 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:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: indice di partenza %g non valido, uso 1"
-#: builtin.c:1530
+#: builtin.c:1529
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: indice di partenza non intero %g: sarà troncato"
-#: builtin.c:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: stringa di partenza lunga zero"
-#: builtin.c:1571
+#: builtin.c:1570
#, 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:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -758,220 +758,220 @@ msgstr ""
"substr: lunghezza %g all'indice di partenza %g supera la lunghezza del primo "
"argomento (%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: il valore del 'format' in PROCINFO[\"strftime\"] è di tipo numerico"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: il secondo argomento non è numerico"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: il primo argomento non è una stringa"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: 'format' è una stringa nulla"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: l'argomento non è una stringa"
-#: builtin.c:1771
+#: builtin.c:1770
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:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "la funzione 'system' non è permessa in modo 'sandbox'"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: l'argomento non è una stringa"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "riferimento a variabile non inizializzata `$%d'"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: l'argomento non è una stringa"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: l'argomento non è una stringa"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: il primo argomento non è numerico"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: il secondo argomento non è numerico"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: l'argomento non è numerico"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: l'argomento non è numerico"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: l'argomento non è numerico"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: il terzo argomento non è un vettore"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: il terzo argomento è 0, trattato come 1"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: il primo argomento non è numerico"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: il secondo argomento non è numerico"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2769
+#: builtin.c:2779
#, 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:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: il primo argomento non è numerico"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: il secondo argomento non è numerico"
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: il primo argomento non è numerico"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: il secondo argomento non è numerico"
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: il primo argomento non è numerico"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: il secondo argomento non è numerico"
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: il primo argomento non è numerico"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: il secondo argomento non è numerico"
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): valori negativi daranno risultati strani"
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): valori con decimali verranno troncati"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: l'argomento non è numerico"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): valore negativo darà risultati strani"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): valore con decimali verrà troncato"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' non è una categoria 'locale' valida"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "tipo nodo sconosciuto %d"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "codice operativo sconosciuto %d"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "codice operativo %s non è un operatore o una parola chiave"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "superamento limiti buffer in 'genflags2str'"
@@ -1008,103 +1008,104 @@ msgstr "specificazione invalida `%sFMT' `%s'"
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "disabilito `--lint' a causa di assegnamento a `LINT'"
-#: eval.c:1127 eval.c:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "assegnamento non permesso al risultato di una funzione interna"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "riferimento ad argomento non inizializzato `%s'"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr "tentativo di riferimento a un campo da valore non numerico"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "tentativo di riferimento a un campo da una stringa nulla"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "tentativo di accedere al campo %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "riferimento a campo non inizializzato `$%ld'"
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funzione `%s' chiamata con più argomenti di quelli previsti"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: tipo non previsto `%s'"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "divisione per zero tentata in `/='"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "divisione per zero tentata in `%%='"
-#: eval.c:1784 eval.c:2030
+#: 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:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "assegnamento usato nel contesto di un test condizionale"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "istruzione che non fa nulla"
-#: eval.c:2233
+#: 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:2343
+#: 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:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "funzione `%s' non definita"
-#: eval.c:2416
+#: eval.c:2511
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
msgstr "`getline' non-diretta indefinita dentro regola '%s'"
-#: eval.c:2477
+#: 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:2532
+#: 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:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr "Spiacente, non so come interpretare `%s'"
@@ -1200,88 +1201,88 @@ msgstr "Operazione Non Supportata"
msgid "NF set to negative value"
msgstr "NF impostato a un valore negativo"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: il quarto argomento è un'estensione gawk"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: il quarto argomento non è un vettore"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: il secondo argomento non è un vettore"
-#: field.c:972
+#: field.c:973
#, fuzzy
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: field.c:977
+#: field.c:978
#, fuzzy
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: field.c:980
+#: field.c:981
#, fuzzy
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: la stringa nulla come terzo arg. è un'estensione gawk"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: il secondo argomento non è un vettore"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: il secondo argomento non è un vettore"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: il terzo argomento non può essere nullo"
-#: field.c:1064
+#: field.c:1065
#, fuzzy
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: field.c:1069
+#: field.c:1070
#, fuzzy
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: non si può usare lo stesso vettore come secondo e quarto argomento"
-#: field.c:1072
+#: field.c:1073
#, fuzzy
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:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' è un'estensione gawk"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "valore di FIELDWIDTHS non valido, vicino a `%s'"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "la stringa nulla usata come `FS' è un'estensione gawk"
-#: field.c:1249
+#: field.c:1250
msgid "old awk does not support regexps as value of `FS'"
msgstr "il vecchio awk non supporta espressioni come valori di `FS'"
-#: field.c:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' è un'estensione gawk"
@@ -1340,466 +1341,461 @@ msgstr "%s: l'opzione '-W %s' non ammette un argomento\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: l'opzione '-W %s' richiede un argomento\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "l'argomento in linea comando `%s' è una directory: saltato"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "non riesco ad aprire file `%s' in lettura (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "errore leggendo file di input `%s': %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "chiusura di fd %d (`%s') fallita (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "re-direzione non permessa in modo 'sandbox'"
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "espressione nella re-direzione `%s' ha solo un valore numerico"
-#: io.c:617
+#: io.c:618
#, 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:623
+#: io.c:624
#, 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:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "mistura non necessaria di `>' e `>>' per il file `%.*s'"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "non posso aprire 'pipe' `%s' in scrittura (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "non posso aprire 'pipe' `%s' in lettura (%s)"
-#: io.c:752
+#: io.c:753
#, 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:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "non posso re-dirigere da `%s' (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "non posso re-dirigere a `%s' (%s)"
-#: io.c:888
+#: io.c:889
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:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "chiusura di `%s' fallita (%s)."
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "troppe 'pipe' o file di input aperti"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: il secondo argomento deve essere `a' o `da'"
-#: io.c:951
+#: io.c:952
#, 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:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "chiusura di una re-direzione mai aperta"
-#: io.c:1053
+#: io.c:1054
#, 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:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura della 'pipe' `%s' (%s)"
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "errore ritornato (%d) dalla chiusura del file `%s' (%s)"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per 'socket' `%s'"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per co-processo `%s'"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per 'pipe' `%s'"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "nessuna chiusura esplicita richiesta per file `%s'"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "errore scrivendo 'standard output' (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "errore scrivendo 'standard error' (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "scaricamento di 'pipe' `%s' fallita (%s)."
-#: io.c:1144
+#: io.c:1145
#, 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:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "scaricamento di file `%s' fallita (%s)."
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "porta locale %s invalida in `/inet'"
-#: io.c:1279
+#: io.c:1280
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "host remoto e informazione di porta (%s, %s) invalidi"
-#: io.c:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "nessuno protocollo (noto) specificato nel filename speciale `%s'"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "nome-file speciale `%s' incompleto"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "va fornito nome di 'host' remoto a `/inet'"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "va fornita porta remota a `/inet'"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "comunicazioni TCP/IP non supportate"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "non riesco ad aprire `%s', modo `%s'"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "fallita chiusura di 'pty' principale (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "fallita chiusura di 'stdout' nel processo-figlio (%s)"
-#: io.c:1749
+#: io.c:1753
#, 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:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "fallita chiusura di 'stdin' nel processo-figlio (%s)"
-#: io.c:1754
+#: io.c:1758
#, 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:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "fallita chiusura di 'pty' secondaria (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, 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:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr "fallito ripristino di 'stdout' nel processo-padre\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr "fallito ripristino di 'stdin' nel processo-padre\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "fallita chiusura di 'pipe' (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "`|&' non supportato"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "non riesco ad aprire 'pipe' `%s' (%s)"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "file dati `%s' vuoto"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "non riesco ad allocare ulteriore memoria per l'input"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "valore multicarattere per `RS' è un'estensione gawk"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "comunicazioni IPv6 non supportate"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "`-m[fr]' opzione irrilevante per gawk"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m uso opzione: `-m[fr] nnn'"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "argomento di `-e/--source' nullo, ignorato"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: l'opzione richiede un argomento -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "variable d'ambiente `POSIXLY_CORRECT' impostata: attivo `--posix'"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "`--posix' annulla `--traditional'"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' annulla `--non-decimal-data'"
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "`--posix' annulla `--binary"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "non posso impostare modalità binaria su 'stdin'(%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "non posso impostare modalità binaria su 'stdout'(%s)"
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "non posso impostare modalità binaria su 'stderr'(%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr "manca del tutto il testo del programma!"
-#: main.c:735
+#: main.c:733
#, 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:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opzioni POSIX:\t\topzioni lunghe GNU: (standard)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f fileprog\t\t--file=file-prog.\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=valore\t\t--assign=var=valore\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Opzioni brevi:\t\topzioni lunghe GNU: (estensioni)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
#, fuzzy
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d [file]\t\t--dump-variables[=file]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'testo-del-programma'\t--source='testo-del-programma'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=file\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
#, fuzzy
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p [file]\t\t--profile[=file]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1808,7 +1804,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1820,7 +1816,7 @@ msgstr ""
"sezione `Reporting Problems and Bugs' nella versione a stampa.\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1830,7 +1826,7 @@ msgstr ""
"Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1840,7 +1836,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1859,7 +1855,7 @@ msgstr ""
"Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n"
"\n"
-#: main.c:816
+#: main.c:814
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 +1869,7 @@ msgstr ""
"Vedi la 'GNU General Public License' per ulteriori dettagli.\n"
"\n"
-#: main.c:822
+#: main.c:820
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 +1878,16 @@ msgstr ""
"assieme a questo programma; se non è così, vedi http://www.gnu.org/"
"licenses/.\n"
-#: main.c:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft non imposta FS a 'tab' nell'awk POSIX"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "valore non noto per specifica campo: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1900,54 +1896,54 @@ msgstr ""
"%s: `%s' argomento di `-v' non in forma `var=valore'\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' non è un nome di variabile ammesso"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
+#: main.c:1203
#, 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:1190
+#: main.c:1208
#, 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:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "eccezione floating point"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "errore fatale: errore interno"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "errore fatale: errore interno: segfault"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "errore fatale: errore interno: stack overflow"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "manca 'fd' pre-aperta %d"
-#: main.c:1334
+#: main.c:1352
#, 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:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "non riesco a trovare gruppi: %s"
@@ -2043,12 +2039,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "errore interno: %s con 'vname' nullo"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profilo gawk, creato %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2057,14 +2053,14 @@ msgstr ""
"\n"
"\t# Funzioni, listate in ordine alfabetico\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: tipo di re-direzione non noto %d"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, 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
@@ -2145,6 +2141,9 @@ msgstr ") o \\) non aperta"
msgid "No previous regular expression"
msgstr "Nessuna espressione regolare precedente"
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr "assegnamento non permesso al risultato di una funzione interna"
+
#~ msgid "attempt to use array in a scalar context"
#~ msgstr "tentativo di usare vettore in un contesto scalare"
diff --git a/po/ja.gmo b/po/ja.gmo
index 08320041..c790e1c3 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index aef2235d..f03eb90f 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.83\n"
+"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
-"PO-Revision-Date: 2011-05-25 09:44+0900\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\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"
"Language: ja\n"
@@ -42,9 +42,9 @@ msgstr "スカラー仮引数 `%s' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
msgid "attempt to use scalar `%s' as an array"
msgstr "スカラー `%s' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
-#: array.c:302 array.c:707 builtin.c:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "スカラーコンテキストã§é…列 `%s' を使用ã™ã‚‹è©¦ã¿ã§ã™"
@@ -64,7 +64,7 @@ msgstr "é…列 `%s' ã®æ·»å­—㌠NULL 文字列ã§ã™"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: é…列 `%2$s' 内ã«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ `%1$s' ãŒã‚りã¾ã›ã‚“"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "スカラー `%s[\"%.*s\"]' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™"
@@ -176,341 +176,341 @@ msgstr "switch æ–‡ã®ä¸­ã§é‡è¤‡ã—㟠case 値ãŒä½¿ç”¨ã•れã¦ã„ã¾ã™: %s"
msgid "duplicate `default' detected in switch body"
msgstr "switch æ–‡ã®ä¸­ã§é‡è¤‡ã—㟠`default' ãŒæ¤œå‡ºã•れã¾ã—ãŸ"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "`break' ã¯ãƒ«ãƒ¼ãƒ—ã¾ãŸã¯ switch ã®å¤–ã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "`continue' ã¯ãƒ«ãƒ¼ãƒ—ã®å¤–ã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "%s アクション内㧠`next' ãŒä½¿ç”¨ã•れã¾ã—ãŸ"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "`nextfile' 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "`nextfile' ㌠%s アクション内ã§ä½¿ç”¨ã•れã¾ã—ãŸ"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "`return' ãŒé–¢æ•°å®šç¾©æ–‡ã®å¤–ã§ä½¿ã‚れã¾ã—ãŸ"
-#: awkgram.y:927
+#: awkgram.y:925
msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
msgstr ""
"BEGIN ã¾ãŸã¯ END ルール内ã®å¼•æ•°ã®ç„¡ã„ `print' 㯠`print \"\"' ã ã¨æ€ã‚れã¾ã™"
-#: awkgram.y:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "`delete array' 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(array)' ã¯ç§»æ¤æ€§ã®ç„¡ã„ tawk æ‹¡å¼µã§ã™"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "多段階ã§åŒæ–¹å‘パイプを利用ã—ãŸå¼ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "æ­£è¦è¡¨ç¾ãŒä»£å…¥å¼ã®å³è¾ºã«ä½¿ç”¨ã•れã¦ã„ã¾ã™"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "`~' ã‚„ `!~' 演算å­ã®å·¦è¾ºã«æ­£è¦è¡¨ç¾ãŒä½¿ç”¨ã•れã¦ã„ã¾ã™"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "å¤ã„ awk ã§ã¯ `in' 予約語㯠`for' ã®å¾Œã‚’除ãサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "比較å¼ã®å³è¾ºã«æ­£è¦è¡¨ç¾ãŒä½¿ç”¨ã•れã¦ã„ã¾ã™ã€‚"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "`%s' ルールã®å†…部ã§ã¯ `getline var' ã¯ç„¡åйã§ã™"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "`%s' ルールã®å†…部ã§ã¯ `getline' ã¯ç„¡åйã§ã™"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr "リダイレクトã•れã¦ã„ãªã„ `getline' 㯠END アクションã§ã¯æœªå®šç¾©ã§ã™ã€‚"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "å¤ã„ awk ã¯å¤šæ¬¡å…ƒé…列をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "å°æ‹¬å¼§ãŒç„¡ã„ `length' ã¯ç§»æ¤æ€§ãŒã‚りã¾ã›ã‚“"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "間接関数呼ã³å‡ºã—㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, c-format
msgid "can not use special variable `%s' for indirect function call"
msgstr "特別ãªå¤‰æ•° `%s' ã¯é–“接関数呼ã³å‡ºã—用ã«ã¯ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: awkgram.y:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "添字ã®å¼ãŒç„¡åйã§ã™"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "é…列ã§ãªã„ã‚‚ã®ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã—ã¦ã„ã¾ã™"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "警告: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "致命的: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "予期ã—ãªã„改行ã¾ãŸã¯æ–‡å­—列終端ã§ã™"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "ソースファイル `%s' を読ã¿è¾¼ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: awkgram.y:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "åŽŸå› ä¸æ˜Ž"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "ソースファイル `%s' ã¯æ—¢ã«èª­ã¿è¾¼ã¾ã‚Œã¦ã„ã¾ã™"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "@include 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "@include ã®å¾Œã«ç©ºã®ãƒ•ァイルåãŒã‚りã¾ã™"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "コマンド行ã®ãƒ—ログラム表記ãŒç©ºã§ã™"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "ソースファイル `%s' を読ã¿è¾¼ã‚ã¾ã›ã‚“ (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "ソースファイル `%s' ã¯ç©ºã§ã™"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ”¹è¡Œã§çµ‚ã£ã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "終端ã•れã¦ã„ãªã„æ­£è¦è¡¨ç¾ãŒãƒ•ァイル最後㮠`\\' ã§çµ‚ã£ã¦ã„ã¾ã™ã€‚"
-#: awkgram.y:2907
+#: awkgram.y:2906
#, c-format
msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "%s: %d: tawk ã®æ­£è¦è¡¨ç¾ä¿®é£¾å­ `/.../%c' 㯠gawk ã§ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: awkgram.y:2911
+#: awkgram.y:2910
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "tawk ã®æ­£è¦è¡¨ç¾ä¿®é£¾å­ `/.../%c' 㯠gawk ã§ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: awkgram.y:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "æ­£è¦è¡¨ç¾ãŒçµ‚端ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "ファイルã®ä¸­ã§æ­£è¦è¡¨ç¾ãŒçµ‚端ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr "`\\ #...' å½¢å¼ã®è¡Œç¶™ç¶šã¯ç§»æ¤æ€§ãŒã‚りã¾ã›ã‚“"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒè¡Œæœ€å¾Œã®æ–‡å­—ã«ãªã£ã¦ã„ã¾ã›ã‚“。"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX ã§ã¯æ¼”ç®—å­ `**=' ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `**=' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX ã§ã¯æ¼”ç®—å­ `**' ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `**' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `^=' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `^' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "文字列ãŒçµ‚端ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "å¼å†…ã«ç„¡åŠ¹ãªæ–‡å­— '%c' ãŒã‚りã¾ã™"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' 㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "`%s' ã¯ãƒ™ãƒ«ç ”究所ã«ã‚ˆã‚‹æ‹¡å¼µã§ã™"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX ã§ã¯ `%s' ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "å¤ã„ awk 㯠`%s' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "`goto' ã¯æœ‰å®³ã ã¨è¦‹ãªã•れã¦ã„ã¾ã™!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d 㯠%s 用ã®å¼•æ•°ã®æ•°ã¨ã—ã¦ã¯ç„¡åйã§ã™"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: 第三引数㯠gawk æ‹¡å¼µã§ã™"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, c-format
msgid "%s: string literal as last arg of substitute has no effect"
msgstr "%s: æ–‡å­—åˆ—ãƒªãƒ†ãƒ©ãƒ«ã‚’ç½®ãæ›ãˆæœ€å¾Œã®å¼•æ•°ã«ä½¿ç”¨ã™ã‚‹ã¨åŠ¹æžœãŒã‚りã¾ã›ã‚“"
-#: awkgram.y:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s 第三仮引数ã¯å¯å¤‰ã‚ªãƒ–ジェクトã§ã¯ã‚りã¾ã›ã‚“"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: 第三引数㯠gawk æ‹¡å¼µã§ã™"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: 第二引数㯠gawk æ‹¡å¼µã§ã™"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"dcgettext(_\"...\")ã®ä½¿ç”¨æ³•ãŒé–“é•ã£ã¦ã„ã¾ã™: 先頭ã®ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢(_)を削除ã—"
"ã¦ãã ã•ã„"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"dcngettext(_\"...\")ã®ä½¿ç”¨æ³•ãŒé–“é•ã£ã¦ã„ã¾ã™: 先頭ã®ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢(_)を削除ã—"
"ã¦ãã ã•ã„"
-#: awkgram.y:3883
+#: awkgram.y:3893
#, c-format
msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
msgstr "関数 `%s': 仮引数 #%d, `%s' ãŒä»®å¼•æ•° #%d ã¨é‡è¤‡ã—ã¦ã„ã¾ã™"
-#: awkgram.y:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "関数 `%s': 仮引数 `%s' ãŒå¤§åŸŸå¤‰æ•°ã‚’覆ã„éš ã—ã¦ã„ã¾ã™"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "`%s' を書込ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ã§ã—㟠(%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
msgstr "変数リストを標準エラーã«é€ã£ã¦ã„ã¾ã™"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() を二回呼ã³å‡ºã—ã¦ã„ã¾ã™!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "覆ã„éš ã•れãŸå¤‰æ•°ãŒã‚りã¾ã—ãŸ"
-#: awkgram.y:4178
+#: awkgram.y:4188
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "関数 `%s': 関数åを仮引数åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: awkgram.y:4182
+#: awkgram.y:4192
#, c-format
msgid "function `%s': can't use special variable `%s' as a function parameter"
msgstr "関数 `%s': 特別ãªå¤‰æ•° `%s' ã¯é–¢æ•°ã®ä»®å¼•æ•°ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: awkgram.y:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "関数å `%s' ã¯å‰ã«å®šç¾©ã•れã¦ã„ã¾ã™"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "未定義ã®é–¢æ•° `%s' を呼ã³å‡ºã—ã¾ã—ãŸ"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "関数 `%s' ã¯å®šç¾©ã•れã¦ã„ã¾ã™ãŒã€ä¸€åº¦ã‚‚直接呼ã³å‡ºã•れã¦ã„ã¾ã›ã‚“"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "仮引数 #%d ç”¨ã®æ­£è¦è¡¨ç¾å®šæ•°ã¯çœŸå½å€¤ã‚’出力ã—ã¾ã™"
-#: awkgram.y:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -519,230 +519,230 @@ msgstr ""
"関数å㨠`(' ã®é–“ã«ã‚¹ãƒšãƒ¼ã‚¹ã‚’入れã¦é–¢æ•° `%s' を呼ã³å‡ºã—ã¦ã„ã¾ã™ã€‚\n"
"ã¾ãŸã¯ã€å¤‰æ•°ã‹é…列ã¨ã—ã¦ä½¿ã‚れã¦ã„ã¾ã™ã€‚"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "ゼロã«ã‚ˆã‚‹é™¤ç®—ãŒè©¦ã¿ã‚‰ã‚Œã¾ã—ãŸ"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "`%%' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè©¦ã¿ã‚‰ã‚Œã¾ã—ãŸ"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s ã‹ã‚‰ \"%s\" ã¸å‡ºåŠ›ã§ãã¾ã›ã‚“ (%s)。"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "標準出力"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: å¼•æ•°ãŒæ•°å€¤ã§ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: 引数 %g ãŒç¯„囲外ã§ã™"
-#: builtin.c:197
+#: builtin.c:196
#, c-format
msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
msgstr ""
"fflush: flush ã§ãã¾ã›ã‚“: パイプ `%s' ã¯èª­ã¿è¾¼ã¿ç”¨ã«é–‹ã‹ã‚Œã¦ã„ã¾ã™ã€‚書ãè¾¼ã¿"
"用ã§ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:200
+#: builtin.c:199
#, c-format
msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
msgstr ""
"fflush: flush ã§ãã¾ã›ã‚“: ファイル `%s' ã¯èª­ã¿è¾¼ã¿ç”¨ã«é–‹ã‹ã‚Œã¦ã„ã¾ã™ã€‚書ãè¾¼"
"ã¿ç”¨ã§ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:212
+#: builtin.c:211
#, c-format
msgid "fflush: `%s' is not an open file, pipe or co-process"
msgstr "fflush: `%s' ãŒé–‹ã‹ã‚ŒãŸãƒ•ァイルã€ãƒ‘イプã€ãƒ—ロセス共有ã§ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: 文字列ã§ã¯ç„¡ã„第一引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: 文字列ã§ã¯ç„¡ã„第二引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: é…列引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "`length(array)' 㯠gawk æ‹¡å¼µã§ã™"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: 文字列ã§ã¯ç„¡ã„引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: è² ã®å¼•æ•° %g ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
msgid "fatal: must use `count$' on all formats or none"
msgstr ""
"致命的: `count$’ ã¯å…¨ã¦ã®æ›¸å¼ä½¿ç”¨ã™ã‚‹ã€ã¾ãŸã¯å…¨ã¦ã«ä½¿ç”¨ã—ãªã„ã®ã„ãšã‚Œã‹ã§ãªã‘"
"れã°ã„ã‘ã¾ã›ã‚“"
-#: builtin.c:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "`%%' 指定用ã®ãƒ•ィールド幅ã¯ç„¡è¦–ã•れã¾ã™"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "`%%' 指定用ã®ãƒ•ィールド幅ã¯ç„¡è¦–ã•れã¾ã™"
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "`%%' 指定用ã®ãƒ•ィールド幅ãŠã‚ˆã³ç²¾åº¦ã¯ç„¡è¦–ã•れã¾ã™"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "致命的: `$' 㯠awk å½¢å¼å†…ã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "致命的: `$' ã§æŒ‡å®šã™ã‚‹å¼•æ•°ã®ç•ªå·ã¯æ­£ã§ãªã‘れã°ã„ã‘ã¾ã›ã‚“"
-#: builtin.c:826
+#: builtin.c:825
#, c-format
msgid "fatal: arg count %ld greater than total number of supplied arguments"
msgstr "致命的: 引数ã®ç•ªå· %ld ã¯å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸæ•°ã‚ˆã‚Šå¤§ãã„ã§ã™"
-#: builtin.c:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "致命的: `$' ã¯æ›¸å¼æŒ‡å®šå†…ã®ãƒ”リオド `.' ã®å¾Œã«ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "致命的: フィールド幅ã€ã¾ãŸã¯ç²¾åº¦ã®æŒ‡å®šå­ã« `$' ãŒä¸Žãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `l' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `l' ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `L' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™ã€‚"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `L' ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `h' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™ã€‚"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `h' ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: builtin.c:1268
+#: builtin.c:1267
#, c-format
msgid "[s]printf: value %g is out of range for `%%%c' format"
msgstr "[s]printf: 値 %g ã¯æ›¸å¼ `%%%c' ã®ç¯„囲外ã§ã™"
-#: builtin.c:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr "䏿˜Žãªæ›¸å¼æŒ‡å®šæ–‡å­— `%c' を無視ã—ã¦ã„ã¾ã™: 変æ›ã•れる引数ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr "致命的: æ›¸å¼æ–‡å­—列を満ãŸã™ååˆ†ãªæ•°ã®å¼•æ•°ãŒã‚りã¾ã›ã‚“"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "^ ã“ã“ã‹ã‚‰è¶³ã‚Šã¾ã›ã‚“"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: æ›¸å¼æŒ‡å®šå­ã«åˆ¶å¾¡æ–‡å­—ãŒã‚りã¾ã›ã‚“"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "æ›¸å¼æ–‡å­—列ã«ä¸Žãˆã‚‰ã‚Œã¦ã„る引数ãŒå¤šã™ãŽã¾ã™"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: 引数ãŒã‚りã¾ã›ã‚“"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: è² ã®å€¤ %g を引数ã«ä½¿ç”¨ã—ã¦å‘¼ã³å‡ºã•れã¾ã—ãŸ"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: é•·ã• %g ㌠1 以上ã§ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: é•·ã• %g ㌠0 以上ã§ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: 文字数 %g ã®å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã¾ã™ã€‚"
-#: builtin.c:1513
+#: builtin.c:1512
#, c-format
msgid "substr: length %g too big for string indexing, truncating to %g"
msgstr "substr: 文字数 %g ã¯æœ€å¤§å€¤ã‚’è¶…ãˆã¦ã„ã¾ã™ã€‚%g を使ã„ã¾ã™ã€‚"
-#: builtin.c:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: 開始インデックス %g ãŒç„¡åйã§ã™ã€‚1を使用ã—ã¾ã™"
-#: builtin.c:1530
+#: builtin.c:1529
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: 開始インデックス %g ãŒéžæ•´æ•°ã®ãŸã‚ã€å€¤ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: 文字列ã®é•·ã•ãŒã‚¼ãƒ­ã§ã™ã€‚"
-#: builtin.c:1571
+#: builtin.c:1570
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: 開始インデックス %g ãŒæ–‡å­—列終端ã®å¾Œã«ã‚りã¾ã™"
-#: builtin.c:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -750,219 +750,219 @@ msgstr ""
"substr: 開始インデックス %2$g ã‹ã‚‰ã®é•·ã• %1$g ã¯ç¬¬ä¸€å¼•æ•°ã®é•·ã•ã‚’è¶…ãˆã¦ã„ã¾ã™ "
"(%3$lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: PROCINFO[\"strftime\"] ã®æ›¸å¼ã®å€¤ã¯æ•°å€¤åž‹ã§ã™"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: éžæ–‡å­—列ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: ç©ºã®æ›¸å¼æ–‡å­—列をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: éžæ–‡å­—列引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:1771
+#: builtin.c:1770
msgid "mktime: at least one of the values is out of the default range"
msgstr "mktime: 一ã¤ä»¥ä¸Šã®å€¤ãŒãƒ‡ãƒ•ォルトã®ç¯„囲を超ãˆã¦ã„ã¾ã™"
-#: builtin.c:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "サンドボックスモードã§ã¯ 'system' 関数ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: 文字列ã§ã¯ç„¡ã„引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 eval.c:1159 eval.c:1790 eval.c:1803
#, c-format
msgid "reference to uninitialized variable `%s'"
msgstr "åˆæœŸåŒ–ã•れã¦ã„ãªã„変数 `%s' ã¸ã®å‚ç…§ã§ã™"
-#: builtin.c:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "åˆæœŸåŒ–ã•れã¦ã„ãªã„フィールド `$%d' ã¸ã®å‚ç…§ã§ã™"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: éžæ–‡å­—列引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: éžæ–‡å­—列引数をå—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: 第三引数ãŒé…列ã§ã¯ã‚りã¾ã›ã‚“"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: 第三引数㌠0 ã§ã™ã€‚1 を代ã‚りã«ä½¿ç”¨ã—ã¾ã™"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2769
+#: builtin.c:2779
#, c-format
msgid "lshift(%lf, %lf): too large shift value will give strange results"
msgstr "lshift(%lf, %lf): シフト値ãŒå¤§ãéŽãŽã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2806
+#: builtin.c:2816
#, c-format
msgid "rshift(%lf, %lf): too large shift value will give strange results"
msgstr "rshift(%lf, %lf): シフト値ãŒå¤§ãéŽãŽã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–りã¾ã—ãŸ"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' ã¯ç„¡åйãªãƒ­ã‚±ãƒ¼ãƒ«åŒºåˆ†ã§ã™"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "䏿˜ŽãªãƒŽãƒ¼ãƒ‰åž‹ %d ã§ã™"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "䏿˜Žãªã‚ªãƒšã‚³ãƒ¼ãƒ‰ %d ã§ã™"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "オペコード %s ã¯æ¼”ç®—å­ã¾ãŸã¯äºˆç´„語ã§ã¯ã‚りã¾ã›ã‚“"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "genflags2str 内ã§ãƒãƒƒãƒ•ァオーãƒãƒ¼ãƒ•ローãŒç™ºç”Ÿã—ã¾ã—ãŸ"
@@ -999,102 +999,103 @@ msgstr "誤ã£ãŸ `%sFMT' 指定 `%s' ã§ã™"
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "`LINT' ã¸ã®ä»£å…¥ã«å¾“ã„ `--lint' を無効ã«ã—ã¾ã™"
-#: eval.c:1127 eval.c:1685
+#: eval.c:1127 eval.c:1777
#, c-format
msgid "can't use function name `%s' as variable or array"
msgstr "関数å `%s' ã¯å¤‰æ•°ã¾ãŸã¯é…列ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: eval.c:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "çµ„è¾¼é–¢æ•°ã®æˆ»ã‚Šå€¤ã¸ã®ä»£å…¥ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "åˆæœŸåŒ–ã•れã¦ã„ãªã„引数 `%s' ã¸ã®å‚ç…§ã§ã™"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr "éžæ•°å€¤ã‚’使用ã—ãŸãƒ•イールドå‚ç…§ã®è©¦ã¿ã§ã™"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "NULL 文字列を使用ã—ã¦ãƒ•ィールドã®å‚照を試ã¿ã¦ã„ã¾ã™"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "フィールド %ld ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã®è©¦ã¿ã§ã™"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "åˆæœŸåŒ–ã•れã¦ã„ãªã„フィールド `$%ld' ã¸ã®å‚ç…§ã§ã™"
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "宣言ã•れã¦ã„る数より多ã„引数を使ã£ã¦é–¢æ•° `%s' を呼ã³å‡ºã—ã¾ã—ãŸ"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: 予期ã—ãªã„åž‹ `%s' ã§ã™"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "`/=' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè¡Œã‚れã¾ã—ãŸ"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "`%%=' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè¡Œã‚れã¾ã—ãŸ"
-#: eval.c:1784 eval.c:2030
+#: eval.c:1876 eval.c:2122
#, c-format
msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context"
msgstr "スカラーコンテキスト内ã§é…列 `%s[\"%.*s\"]' ã®ä½¿ç”¨ã®è©¦ã¿ã§ã™"
-#: eval.c:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "æ¡ä»¶ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã§ä»£å…¥ãŒä½¿ç”¨ã•れã¾ã—ãŸ"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "æ–‡ã«åŠ¹æžœãŒã‚りã¾ã›ã‚“"
-#: eval.c:2233
+#: 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:2343
+#: eval.c:2458
#, c-format
msgid "function called indirectly through `%s' does not exist"
msgstr "`%s' を通ã—ã¦é–“接的ã«å‘¼ã³å‡ºã•れãŸé–¢æ•°ãŒå­˜åœ¨ã—ã¾ã›ã‚“"
-#: eval.c:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "関数 `%s' ã¯å®šç¾©ã•れã¦ã„ã¾ã›ã‚“"
-#: eval.c:2416
+#: eval.c:2511
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
msgstr "`%s' ルールã®å†…å´ã§ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•れã¦ã„ãªã„ `getline' ã¯ç„¡åйã§ã™"
-#: eval.c:2477
+#: 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:2532
+#: eval.c:2694
#, c-format
msgid "`next' cannot be called from a `%s' rule"
msgstr "`next' 㯠`%s' ã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“"
-#: eval.c:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr "申ã—訳ã‚りã¾ã›ã‚“㌠`%s' ã‚’ã©ã®ã‚ˆã†ã«è§£é‡ˆã™ã‚‹ã‹åˆ†ã‹ã‚Šã¾ã›ã‚“"
@@ -1190,76 +1191,76 @@ msgstr "ã“ã®æ“作ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
msgid "NF set to negative value"
msgstr "NF ãŒè² ã®å€¤ã«è¨­å®šã•れã¦ã„ã¾ã™"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: 第四引数㯠gawk æ‹¡å¼µã§ã™"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: 第四引数ãŒé…列ã§ã¯ã‚りã¾ã›ã‚“"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: 第二引数ãŒé…列ã§ã¯ã‚りã¾ã›ã‚“"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr "split: 第二引数ã¨ç¬¬å››å¼•æ•°ã«åŒã˜é…列を使用ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr "split: 第四引数ã«ç¬¬äºŒå¼•æ•°ã®éƒ¨åˆ†é…列を使用ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr "split: 第二引数ã«ç¬¬å››å¼•æ•°ã®éƒ¨åˆ†é…列を使用ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: 第三引数㫠NULL 文字列を使用ã™ã‚‹ã“ã¨ã¯ gawk æ‹¡å¼µã§ã™"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: 第四引数ãŒé…列ã§ã¯ã‚りã¾ã›ã‚“"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: 第二引数ãŒé…列ã§ã¯ã‚りã¾ã›ã‚“"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: 第三引数ã¯éž NULL ã§ãªã‘れã°ã„ã‘ã¾ã›ã‚“"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr "patsplit: 第二引数ã¨ç¬¬å››å¼•æ•°ã«åŒã˜é…列を使用ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr "patsplit: 第四引数ã«ç¬¬äºŒå¼•æ•°ã®éƒ¨åˆ†é…列を使用ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr "patsplit: 第二引数ã«ç¬¬å››å¼•æ•°ã®éƒ¨åˆ†é…列を使用ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' 㯠gawk æ‹¡å¼µã§ã™"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "`%s' 付近㮠FIELDWIDTHS 値ãŒç„¡åйã§ã™"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "`FS' ã« NULL 文字列を使用ã™ã‚‹ã®ã¯ gawk æ‹¡å¼µã§ã™"
-#: field.c:1249
+#: field.c:1250
msgid "old awk does not support regexps as value of `FS'"
msgstr "å¤ã„ awk 㯠`FS' ã®å€¤ã¨ã—ã¦æ­£è¦è¡¨ç¾ã‚’サãƒãƒ¼ãƒˆã—ã¾ã›ã‚“"
-#: field.c:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' 㯠gawk æ‹¡å¼µã§ã™"
@@ -1318,470 +1319,465 @@ msgstr "%s: オプション '-W %s' ã¯å¼•æ•°ã‚’å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“\n
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: オプション '-W %s' ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "コマンドライン引数 `%s' ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™: スキップã•れã¾ã—ãŸ"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "ファイル `%s' を読ã¿è¾¼ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "入力ファイル `%s' を読ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "fd %d (`%s') ã‚’é–‰ã˜ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "サンドボックスモード内ã§ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "`%s' リダイレクトã®å‘½ä»¤å¼ã«æ•°å€¤ã—ã‹è¨˜è¿°ã•れã¦ã„ã¾ã›ã‚“。"
-#: io.c:617
+#: io.c:618
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "`%s' リダイレクトã®å‘½ä»¤å¼ãŒç©ºåˆ—ã§ã™ã€‚"
-#: io.c:623
+#: io.c:624
#, c-format
msgid "filename `%s' for `%s' redirection may be result of logical expression"
msgstr ""
"`%2$s' リダイレクトã«è«–ç†æ¼”ç®—ã®çµæžœã¨æ€ã‚れるファイルå `%1$s' ãŒä½¿ã‚れã¦ã„ã¾"
"ã™ã€‚"
-#: io.c:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "ファイル `%.*s' ã§å¿…è¦ä»¥ä¸Šã« `>' 㨠`>>' を組åˆã›ã¦ã„ã¾ã™ã€‚"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "出力用ã«ãƒ‘イプ `%s' ã‚’é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "入力用ã«ãƒ‘イプ `%s' ã‚’é–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:752
+#: io.c:753
#, c-format
msgid "can't open two way pipe `%s' for input/output (%s)"
msgstr "入出力用ã®åŒæ–¹å‘パイプ `%s' ãŒé–‹ã‘ã¾ã›ã‚“ (%s)"
-#: io.c:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "`%s' ã‹ã‚‰ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ãã¾ã›ã‚“ (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "`%s' ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ãã¾ã›ã‚“ (%s)"
-#: io.c:888
+#: io.c:889
msgid ""
"reached system limit for open files: starting to multiplex file descriptors"
msgstr ""
"é–‹ã„ã¦ã„ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã®æ•°ãŒã‚·ã‚¹ãƒ†ãƒ åˆ¶é™ã«é”ã—ã¾ã—ãŸã€‚ファイル記述å­ã‚’多é‡åŒ–ã—ã¾"
"ã™ã€‚"
-#: io.c:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "`%s' ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "é–‹ã„ã¦ã„るパイプã¾ãŸã¯å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã®æ•°ãŒå¤šéŽãŽã¾ã™ã€‚"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: 第二引数㯠`to' ã¾ãŸã¯ `from' ã§ãªã‘れã°ã„ã‘ã¾ã›ã‚“"
-#: io.c:951
+#: io.c:952
#, c-format
msgid "close: `%.*s' is not an open file, pipe or co-process"
msgstr "close: `%.*s' ã¯é–‹ã„ã¦ã„るファイルã€ãƒ‘イプã€ãƒ—ロセス共有ã§ã¯ã‚りã¾ã›ã‚“"
-#: io.c:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "é–‹ã„ã¦ãªã„リダイレクトを閉ã˜ã‚ˆã†ã¨ã—ã¦ã„ã¾ã™"
-#: io.c:1053
+#: io.c:1054
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: リダイレクト `%s' 㯠`|&' を使用ã—ã¦é–‹ã‹ã‚Œã¦ã„ã¾ã›ã‚“。第二引数ã¯ç„¡è¦–ã•"
"れã¾ã—ãŸ"
-#: io.c:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "パイプ `%2$s' ã‚’é–‰ã˜ãŸã¨ãã®çŠ¶æ…‹ã‚³ãƒ¼ãƒ‰ãŒå¤±æ•— (%1$d) ã§ã—㟠(%3$s)。"
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "ファイル `%2$s' ã‚’é–‰ã˜ãŸã¨ãã®çŠ¶æ…‹ã‚³ãƒ¼ãƒ‰ãŒå¤±æ•— (%1$d) ã§ã—㟠(%3$s)。"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "ソケット `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "並行プロセス `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "パイプ `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "ファイル `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "標準出力ã¸ã®æ›¸è¾¼ã¿ã‚¨ãƒ©ãƒ¼ (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "標準エラーã¸ã®æ›¸è¾¼ã¿ã‚¨ãƒ©ãƒ¼ (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "パイプ `%s' をフラッシュã§ãã¾ã›ã‚“ (%s)。"
-#: io.c:1144
+#: io.c:1145
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "`%s' ã¸æŽ¥ç¶šã™ã‚‹ãƒ‘イプを並行プロセスã‹ã‚‰ãƒ•ラッシュã§ãã¾ã›ã‚“ (%s)。"
-#: io.c:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "ファイル `%s' をフラッシュã§ãã¾ã›ã‚“ (%s)。"
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "`/inet' 内ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒãƒ¼ãƒˆ %s ãŒç„¡åйã§ã™"
-#: io.c:1279
+#: io.c:1280
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "リモートã®ãƒ›ã‚¹ãƒˆãŠã‚ˆã³ãƒãƒ¼ãƒˆæƒ…å ± (%s, %s) ãŒç„¡åйã§ã™"
-#: io.c:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr ""
"スペシャルファイルå `%s' ã«ï¼ˆèªè­˜ã§ãã‚‹ï¼‰ãƒ—ãƒ­ãƒˆã‚³ãƒ«ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "スペシャルファイルå `%s' ã¯ä¸å®Œå…¨ã§ã™"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "`/inet' ã«ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒ›ã‚¹ãƒˆåを与ãˆãªã‘れã°ã„ã‘ã¾ã›ã‚“"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "`/inet' ã«ã¯ãƒªãƒ¢ãƒ¼ãƒˆãƒãƒ¼ãƒˆç•ªå·ã‚’与ãˆãªã‘れã°ã„ã‘ã¾ã›ã‚“"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP 通信ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "`%s' をモード `%s' ã§é–‹ã‘ã¾ã›ã‚“"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "マスター pty ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "å­ãƒ—ãƒ­ã‚»ã‚¹ãŒæ¨™æº–出力を閉ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:1749
+#: io.c:1753
#, c-format
msgid "moving slave pty to stdout in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒã‚¹ãƒ¬ãƒ¼ãƒ– pty を標準出力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "å­ãƒ—ãƒ­ã‚»ã‚¹ãŒæ¨™æº–入力を閉ã˜ã‚‰ã‚Œã¾ã›ã‚“ (%s)。"
-#: io.c:1754
+#: io.c:1758
#, c-format
msgid "moving slave pty to stdin in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒã‚¹ãƒ¬ãƒ¼ãƒ– pty を標準入力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "スレーブ pty ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, c-format
msgid "moving pipe to stdout in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒãƒ‘イプを標準出力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, c-format
msgid "moving pipe to stdin in child failed (dup: %s)"
msgstr "å­ãƒ—ロセスãŒãƒ‘イプを標準入力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。"
-#: io.c:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr "è¦ªãƒ—ãƒ­ã‚»ã‚¹ãŒæ¨™æº–出力を復旧ã§ãã¾ã›ã‚“。\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr "è¦ªãƒ—ãƒ­ã‚»ã‚¹ãŒæ¨™æº–入力を復旧ã§ãã¾ã›ã‚“。\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "パイプを閉ã˜ã‚‰ã‚Œã¾ã›ã‚“ (%s)。"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "`|&' ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "パイプ `%s' ãŒé–‹ã‘ã¾ã›ã‚“ (%s)。"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "`%s' 用ã®å­ãƒ—ロセスを実行ã§ãã¾ã›ã‚“ (fork: %s)。"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "データファイル `%s' ã¯ç©ºã§ã™ã€‚"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "入力用メモリーをã“れ以上確ä¿ã§ãã¾ã›ã‚“。"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "è¤‡æ•°ã®æ–‡å­—ã‚’ `RS' ã«ä½¿ç”¨ã™ã‚‹ã®ã¯ gawk ç‰¹æœ‰ã®æ‹¡å¼µã§ã™ã€‚"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "IPv6 通信ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "gawk ã§ã¯ã‚ªãƒ—ション `-m[fr]' ã«åŠ¹æžœã¯ã‚りã¾ã›ã‚“。"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m オプションã®ä½¿ç”¨æ³•: `-m[fr] 数値'"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "`-e/--source' ã¸ã®ç©ºã®å¼•æ•°ã¯ç„¡è¦–ã•れã¾ã—ãŸ"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: オプション `-W %s' ã¯èªè­˜ã§ãã¾ã›ã‚“。無視ã•れã¾ã—ãŸ\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: 引数ãŒå¿…è¦ãªã‚ªãƒ—ション -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"環境変数 `POSIXLY_CORRECT' ãŒæŒ‡å®šã•れã¦ã„ã¾ã™ã€‚オプション `--posix' を有効ã«"
"ã—ã¾ã™"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "オプション `--posix' 㯠`--traditional' を無効ã«ã—ã¾ã™ã€‚"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr ""
"オプション `--posix'/`--traditional' 㯠`--non-decimal-data' を無効ã«ã—ã¾ã™ã€‚"
-#: main.c:557
+#: main.c:555
#, c-format
msgid "running %s setuid root may be a security problem"
msgstr ""
"setuid root ã§ %s を実行ã™ã‚‹ã¨ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®å•題ãŒç™ºç”Ÿã™ã‚‹å ´åˆãŒã‚りã¾"
"ã™ã€‚"
-#: main.c:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "`--posix' 㯠`--binary' を上書ãã—ã¾ã™"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "標準入力をãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "標準出力をãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)"
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "標準エラーをãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr "プログラム文ãŒå…¨ãã‚りã¾ã›ã‚“!"
-#: main.c:735
+#: main.c:733
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr ""
"使用法: %s [POSIX ã¾ãŸã¯ GNU å½¢å¼ã®ã‚ªãƒ—ション] -f progfile [--] file ...\n"
-#: main.c:737
+#: main.c:735
#, c-format
msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
msgstr ""
"使用法: %s [POSIX ã¾ãŸã¯ GNU å½¢å¼ã®ã‚ªãƒ—ション] [--] %cprogram%c file ...\n"
-#: main.c:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX オプション:\t\tGNU é•·ã„å½¢å¼ã®ã‚ªãƒ—ション: (標準)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f progfile\t\t--file=progfile\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v var=val\t\t--assign=var=val\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "短ã„オプション:\t\tGNU é•·ã„å½¢å¼ã®ã‚ªãƒ—ション: (æ‹¡å¼µ)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[file]\t\t--dump-variables[=file]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'program-text'\t--source='program-text'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E file\t\t\t--exec=file\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[file]\t\t--profile[=file]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1790,7 +1786,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1805,7 +1801,7 @@ msgstr ""
"翻訳ã«é–¢ã™ã‚‹ãƒã‚°ã¯<translation-team-ja@lists.sourceforge.net>ã«å ±å‘Šã—ã¦ãã ã•"
"ã„。\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1815,7 +1811,7 @@ msgstr ""
"デフォルト設定ã§ã¯ã€æ¨™æº–入力を読ã¿è¾¼ã¿ã€æ¨™æº–å‡ºåŠ›ã«æ›¸ã出ã—ã¾ã™ã€‚\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1825,7 +1821,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1844,7 +1840,7 @@ msgstr ""
"(at your option) any later version.\n"
"\n"
-#: main.c:816
+#: main.c:814
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 +1854,7 @@ msgstr ""
"GNU General Public License for more details.\n"
"\n"
-#: main.c:822
+#: main.c:820
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 +1862,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:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "POSIX awk ã§ã¯ -Ft 㯠FS をタブã«è¨­å®šã—ã¾ã›ã‚“"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "フィールド指定ã«ä¸æ˜Žãªå€¤ãŒã‚りã¾ã™: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1884,53 +1880,53 @@ msgstr ""
"%s: オプション `-v' ã®å¼•æ•° `%s' ㌠`変数=代入値' ã®å½¢å¼ã«ãªã£ã¦ã„ã¾ã›ã‚“。\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' ã¯ä¸æ­£ãªå¤‰æ•°åã§ã™"
-#: main.c:1181
+#: main.c:1199
#, c-format
msgid "`%s' is not a variable name, looking for file `%s=%s'"
msgstr "`%s' ã¯å¤‰æ•°åã§ã¯ã‚りã¾ã›ã‚“。`%s=%s' ã®ãƒ•ァイルを探ã—ã¾ã™ã€‚"
-#: main.c:1185
-#, fuzzy, c-format
+#: main.c:1203
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr "extension: gawk ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ `%s' ã¯é–¢æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
+msgstr "gawk ã«çµ„ã¿è¾¼ã¿ã® `%s' ã¯å¤‰æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: main.c:1190
-#, fuzzy, c-format
+#: main.c:1208
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "関数å `%s' ã¯å¤‰æ•°ã¾ãŸã¯é…列ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
+msgstr "関数 `%s' ã¯å¤‰æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "æµ®å‹•å°æ•°ç‚¹ä¾‹å¤–"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "致命的エラー: 内部エラー"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "致命的エラー: 内部エラー: セグメンテーションé•å"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "致命的エラー: 内部エラー: スタックオーãƒãƒ¼ãƒ•ロー"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "fd %d ãŒäº‹å‰ã«é–‹ã„ã¦ã„ã¾ã›ã‚“。"
-#: main.c:1334
+#: main.c:1352
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "事å‰ã« fd %d 用㫠/dev/null ã‚’é–‹ã‘ã¾ã›ã‚“。"
-#: main.c:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "グループãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s"
@@ -2025,12 +2021,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "内部エラー: %s ã® vname ãŒç„¡åйã§ã™ã€‚"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk プロファイルã€ä½œæˆæ—¥æ™‚ %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2039,14 +2035,14 @@ msgstr ""
"\n"
"\t# 関数一覧(アルファベット順)\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: 䏿˜Žãªãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆåž‹ %d ã§ã™"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, c-format
+msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "`[%c-%c]' å½¢å¼ã®ç¯„囲ã¯ãƒ­ã‚±ãƒ¼ãƒ«ä¾å­˜ã§ã™"
#: re.c:599
@@ -2125,3 +2121,6 @@ msgstr ") ã¾ãŸã¯ \\) ãŒä¸ä¸€è‡´ã§ã™"
#: regcomp.c:701
msgid "No previous regular expression"
msgstr "以å‰ã«æ­£è¦è¡¨ç¾ãŒã‚りã¾ã›ã‚“"
+
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr "çµ„è¾¼é–¢æ•°ã®æˆ»ã‚Šå€¤ã¸ã®ä»£å…¥ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“"
diff --git a/po/nl.gmo b/po/nl.gmo
index e6f75154..e6410f59 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 5601ec01..f16e0c23 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -2,16 +2,16 @@
# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the gawk package.
#
-# And it is different again.
+# And so it goes.
#
# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007, 2010, 2011.
# Erwin Poeze <erwin.poeze@gmail.com>, 2009.
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.83\n"
+"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
-"PO-Revision-Date: 2011-05-22 21:03+0200\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
+"PO-Revision-Date: 2011-07-17 21:44+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
@@ -45,9 +45,9 @@ msgstr "scalaire parameter '%s' wordt gebruikt als array"
msgid "attempt to use scalar `%s' as an array"
msgstr "scalair '%s' wordt gebruikt als array"
-#: array.c:302 array.c:707 builtin.c:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "array '%s' wordt gebruikt in een scalaire context"
@@ -67,7 +67,7 @@ msgstr "index van array '%s' is lege string"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: index '%s' niet in array '%s'"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "scalair '%s[\"%.*s\"]' wordt gebruikt als array"
@@ -187,339 +187,339 @@ msgstr "dubbele 'case'-waarde in 'switch'-opdracht: %s"
msgid "duplicate `default' detected in switch body"
msgstr "dubbele 'default' in 'switch'-opdracht"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "'break' buiten een lus of 'switch'-opdracht is niet toegestaan"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "'continue' buiten een lus is niet toegestaan"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "'next' wordt gebruikt in %s-actie"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "'nextfile' is een gawk-uitbreiding"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "'nextfile' wordt gebruikt in %s-actie"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "'return' wordt gebruikt buiten functiecontext"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "'delete array' is een gawk-uitbreiding"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "'delete(array)' is een niet-overdraagbare 'tawk'-uitbreiding"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "meerfase-tweerichtings-pijplijnen werken niet"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "reguliere expressie rechts van toewijzing"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "reguliere expressie links van operator '~' of '!~'"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "reguliere expressie rechts van vergelijking"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "'getline var' is ongeldig binnen een '%s'-regel"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "'getline' is ongeldig binnen een '%s'-regel"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr "niet-omgeleide 'getline' is ongedefinieerd binnen een END-actie"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "oude 'awk' kent geen meerdimensionale arrays"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "aanroep van 'length' zonder haakjes is niet overdraagbaar"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "indirecte functieaanroepen zijn een gawk-uitbreiding"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "ongeldige index-expressie"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "non-array wordt gebruikt als array"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "waarschuwing: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "fataal: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "onverwacht regeleinde of einde van string"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, c-format
msgid "can't open source file `%s' for reading (%s)"
msgstr "kan bronbestand '%s' niet openen om te lezen (%s)"
-#: awkgram.y:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "reden onbekend"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "bronbestand '%s' is reeds ingesloten"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "'@include' is een gawk-uitbreiding"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "lege bestandsnaam na '@include'"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "lege programmatekst op commandoregel"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "kan bronbestand '%s' niet lezen (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "bronbestand '%s' is leeg"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "bronbestand eindigt niet met een regeleindeteken (LF)"
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "onafgesloten reguliere expressie eindigt met '\\' aan bestandseinde"
-#: awkgram.y:2907
+#: awkgram.y:2906
#, 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:2911
+#: awkgram.y:2910
#, c-format
msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
msgstr "regexp-optie '/.../%c' van 'tawk' werkt niet in gawk"
-#: awkgram.y:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "onafgesloten reguliere expressie"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "onafgesloten reguliere expressie aan bestandseinde"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr "gebruik van regelvoortzetting '\\ #...' is niet overdraagbaar"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "backslash is niet het laatste teken op de regel"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX staat operator '**=' niet toe"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "oude 'awk' kent de operator '**=' niet"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX staat operator '**' niet toe"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "oude 'awk' kent de operator '**' niet"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "oude 'awk' kent de operator '^=' niet"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "oude 'awk' kent de operator '^' niet"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "onafgesloten string"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ongeldig teken '%c' in expressie"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "'%s' is een gawk-uitbreiding"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "'%s' is een uitbreiding door Bell Labs"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX staat '%s' niet toe"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "oude 'awk' kent '%s' niet"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "'goto' wordt als schadelijk beschouwd!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d is een ongeldig aantal argumenten voor %s"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: derde argument is een gawk-uitbreiding"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s: derde parameter is geen veranderbaar object"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: derde argument is een gawk-uitbreiding"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: tweede argument is een gawk-uitbreiding"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcgettext(_\"...\") is onjuist: verwijder het liggende streepje"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "dcngettext(_\"...\") is onjuist: verwijder het liggende streepje"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "functie '%s': parameter '%s' schaduwt een globale variabele"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kan '%s' niet openen om te schrijven (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
msgstr "variabelenlijst gaat naar standaardfoutuitvoer"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: sluiten is mislukt (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() twee keer aangeroepen!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "er waren geschaduwde variabelen."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, c-format
msgid "function `%s': can't use function name as parameter name"
msgstr "functie '%s': kan functienaam niet als parameternaam gebruiken"
-#: awkgram.y:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "functienaam '%s' is al eerder gedefinieerd"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "functie '%s' wordt aangeroepen maar is nergens gedefinieerd"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "functie '%s' is gedefinieerd maar wordt nergens direct aangeroepen"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, c-format
msgid "regexp constant for parameter #%d yields boolean value"
msgstr "regexp-constante als parameter #%d levert booleanwaarde op"
-#: awkgram.y:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -528,230 +528,230 @@ msgstr ""
"functie '%s' wordt aangeroepen met een spatie tussen naam en '(',\n"
"of wordt gebruikt als variabele of array"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "deling door nul"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "deling door nul in '%%'"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s naar \"%s\" is mislukt (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "standaarduitvoer"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: argument is geen getal"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argument %g ligt buiten toegestane bereik"
-#: builtin.c:197
+#: builtin.c:196
#, 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:200
+#: builtin.c:199
#, 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:212
+#: builtin.c:211
#, 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:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: eerste argument is geen string"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: tweede argument is geen string"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int: argument is geen getal"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: argument is een array"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "'length(array)' is een gawk-uitbreiding"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: argument is geen string"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: argument is geen getal"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: argument %g is negatief"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
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:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "veldbreedte wordt genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "veldprecisie wordt genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "veldbreedte en -precisie worden genegeerd voor opmaakaanduiding '%%'"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fataal: '$' is niet toegestaan in awk-opmaak"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "fataal: het aantal argumenten met '$' moet > 0 zijn"
-#: builtin.c:826
+#: builtin.c:825
#, 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:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "fataal: '$' is niet toegestaan na een punt in de opmaak"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "fataal: geen '$' opgegeven bij positionele veldbreedte of -precisie"
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "'l' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fataal: 'l' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "'L' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fataal: 'L' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "'h' is betekenisloos in awk-opmaak; genegeerd"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fataal: 'h' is niet toegestaan in POSIX awk-opmaak"
-#: builtin.c:1268
+#: builtin.c:1267
#, 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:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"onbekend opmaakteken '%c' wordt genegeerd: geen argument is geconverteerd"
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr "fataal: niet genoeg argumenten voor opmaakstring"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "niet genoeg ^ voor deze"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: opmaakaanduiding mist een stuurletter"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "te veel argumenten voor opmaakstring"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: geen argumenten"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: argument is geen getal"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: argument %g is negatief"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: lengte %g is niet >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: lengte %g is niet >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, c-format
msgid "substr: non-integer length %g will be truncated"
msgstr "substr: lengte %g is geen integer; wordt afgekapt"
-#: builtin.c:1513
+#: builtin.c:1512
#, 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:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindex %g is ongeldig; 1 wordt gebruikt"
-#: builtin.c:1530
+#: builtin.c:1529
#, c-format
msgid "substr: non-integer start index %g will be truncated"
msgstr "substr: startindex %g is geen integer; wordt afgekapt"
-#: builtin.c:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: bronstring heeft lengte nul"
-#: builtin.c:1571
+#: builtin.c:1570
#, 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:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -759,219 +759,219 @@ msgstr ""
"substr: lengte %g bij startindex %g is groter dan de lengte van het eerste "
"argument (%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: opmaakwaarde in PROCINFO[\"strftime\"] is numeriek"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: tweede argument is geen getal"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: eerste argument is geen string"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: opmaakstring is leeg"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: argument is geen string"
-#: builtin.c:1771
+#: builtin.c:1770
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:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "'system'-functie is niet toegestaan in sandbox-modus"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: argument is geen string"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "verwijzing naar ongeïnitialiseerd veld '$%d'"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: argument is geen string"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: argument is geen string"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: eerste argument is geen getal"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: tweede argument is geen getal"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: argument is geen getal"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: argument is geen getal"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: argument is geen getal"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: derde argument is geen array"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: derde argument is 0; wordt beschouwd als 1"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: eerste argument is geen getal"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: tweede argument is geen getal"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2769
+#: builtin.c:2779
#, 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:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: eerste argument is geen getal"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: tweede argument is geen getal"
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: eerste argument is geen getal"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: tweede argument is geen getal"
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: eerste argument is geen getal"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: tweede argument is geen getal"
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: eerste argument is geen getal"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: tweede argument is geen getal"
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): cijfers na de komma worden afgekapt"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: argument is geen getal"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): negatieve waarden geven rare resultaten"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): cijfers na de komma worden afgekapt"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: '%s' is geen geldige taalregio-deelcategorie"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "onbekend knooptype %d"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "onbekende opcode %d"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "opcode %s is geen operator noch sleutelwoord"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "bufferoverloop in genflags2str()"
@@ -1008,104 +1008,104 @@ msgstr "onjuiste opgave van '%sFMT': '%s'"
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "'--lint' wordt uitgeschakeld wegens toewijzing aan 'LINT'"
-#: eval.c:1127 eval.c:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr ""
-"toewijzing aan het resultaat van een ingebouwde functie is niet toegestaan"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "verwijzing naar ongeïnitialiseerd argument '%s'"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr "veldverwijzingspoging via een waarde die geen getal is"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "veldverwijzingspoging via een lege string"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "toegangspoging tot veld %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "verwijzing naar ongeïnitialiseerd veld '$%ld'"
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "functie '%s' aangeroepen met meer argumenten dan gedeclareerd"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack(): onverwacht type '%s'"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "deling door nul in '/='"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "deling door nul in '%%='"
-#: eval.c:1784 eval.c:2030
+#: 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:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "toewijzing wordt gebruikt in een conditionele context"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "opdracht heeft geen effect"
-#: eval.c:2233
+#: 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:2343
+#: eval.c:2458
#, c-format
msgid "function called indirectly through `%s' does not exist"
msgstr "indirect (via '%s') aangeroepen functie bestaat niet"
-#: eval.c:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "functie '%s' is niet gedefinieerd"
-#: eval.c:2416
+#: 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:2477
+#: 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:2532
+#: 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:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr "Kan '%s' niet interpreteren"
@@ -1202,88 +1202,88 @@ msgstr "Actie wordt niet ondersteund"
msgid "NF set to negative value"
msgstr "NF is op een negatieve waarde gezet"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: vierde argument is een gawk-uitbreiding"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: vierde argument is geen array"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: tweede argument is geen array"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: hetzelfde array kan niet zowel als tweede als als vierde argument "
"gebruikt worden"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: een subarray van het tweede argument kan niet als vierde argument "
"gebruikt worden"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: een subarray van het vierde argument kan niet als tweede argument "
"gebruikt worden"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: lege string als derde argument is een gawk-uitbreiding"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: vierde argument is geen array"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: tweede argument is geen array"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: derde argument moet niet-nil zijn"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: hetzelfde array kan niet zowel als tweede als als vierde argument "
"gebruikt worden"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: een subarray van het tweede argument kan niet als vierde argument "
"gebruikt worden"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: een subarray van het vierde argument kan niet als tweede argument "
"gebruikt worden"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "'FIELDWIDTHS' is een gawk-uitbreiding"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ongeldige waarde voor FIELDWIDTHS, nabij '%s'"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "een lege string als 'FS' is een gawk-uitbreiding"
-#: field.c:1249
+#: field.c:1250
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:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "'FPAT' is een gawk-uitbreiding"
@@ -1342,471 +1342,466 @@ msgstr "%s: optie '-W %s' staat geen argument toe\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: optie '-W %s' vereist een argument\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "opdrachtregelargument '%s' is een map -- overgeslagen"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "kan bestand '%s' niet openen om te lezen (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "fout tijdens lezen van invoerbestand '%s': %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "sluiten van bestandsdescriptor %d ('%s') is mislukt (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "omleiding is niet toegestaan in sandbox-modus"
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "expressie in omleiding '%s' heeft alleen een getal als waarde"
-#: io.c:617
+#: io.c:618
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "expressie voor omleiding '%s' heeft een lege string als waarde"
-#: io.c:623
+#: io.c:624
#, 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:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "onnodige mix van '>' en '>>' voor bestand '%.*s'"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "kan pijp '%s' niet openen voor uitvoer (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "kan pijp '%s' niet openen voor invoer (%s)"
-#: io.c:752
+#: io.c:753
#, 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:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan niet omleiden van '%s' (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan niet omleiden naar '%s' (%s)"
-#: io.c:888
+#: io.c:889
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:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "sluiten van '%s' is mislukt (%s)"
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "te veel pijpen of invoerbestanden geopend"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: tweede argument moet 'to' of 'from' zijn"
-#: io.c:951
+#: io.c:952
#, 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:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "sluiten van een nooit-geopende omleiding"
-#: io.c:1053
+#: io.c:1054
#, 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:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "afsluitwaarde %d bij mislukte sluiting van pijp '%s' (%s)"
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "afsluitwaarde %d bij mislukte sluiting van bestand '%s' (%s)"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "geen expliciete sluiting van socket '%s' aangegeven"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "geen expliciete sluiting van co-proces '%s' aangegeven"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "geen expliciete sluiting van pijp '%s' aangegeven"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "geen expliciete sluiting van bestand '%s' aangegeven"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "fout tijdens schrijven van standaarduitvoer (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "fout tijdens schrijven van standaardfoutuitvoer (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "leegmaken van pijp '%s' is mislukt (%s)"
-#: io.c:1144
+#: io.c:1145
#, 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:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "leegmaken van bestand '%s' is mislukt (%s)"
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokale poort %s is ongeldig in '/inet'"
-#: io.c:1279
+#: io.c:1280
#, c-format
msgid "remote host and port information (%s, %s) invalid"
msgstr "host- en poortinformatie (%s, %s) zijn ongeldig"
-#: io.c:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "geen (bekend) protocol aangegeven in speciale bestandsnaam '%s'"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "speciale bestandsnaam '%s' is onvolledig"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "'/inet' heeft een gindse hostnaam nodig"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "'/inet' heeft een gindse poort nodig"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-communicatie wordt niet ondersteund"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kan '%s' niet openen -- modus '%s'"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "kan meester-pty van dochterproces niet sluiten (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "kan standaarduitvoer van dochterproces niet sluiten (%s)"
-#: io.c:1749
+#: io.c:1753
#, 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:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "kan standaardinvoer van dochterproces niet sluiten (%s)"
-#: io.c:1754
+#: io.c:1758
#, 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:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "kan slaaf-pty niet sluiten (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, 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:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr "kan standaarduitvoer van ouderproces niet herstellen\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr "kan standaardinvoer van ouderproces niet herstellen\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "kan pijp niet sluiten (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "'|&' wordt niet ondersteund"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan pijp '%s' niet openen (%s)"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan voor '%s' geen dochterproces starten (fork: %s)"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "databestand '%s' is leeg"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "kan geen extra invoergeheugen meer toewijzen"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "een 'RS' van meerdere tekens is een gawk-uitbreiding"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "IPv6-communicatie wordt niet ondersteund"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "optie '-m[fr]' is irrelevant in gawk"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "gebruikswijze van optie -m: '-m[fr] nnn'"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "argument van '-e/--source' is leeg; genegeerd"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: optie '-W %s' is onbekend; genegeerd\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "omgevingsvariabele 'POSIXLY_CORRECT' is gezet: '--posix' ingeschakeld"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "'--posix' overstijgt '--traditional'"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "'--posix'/'--traditional' overstijgen '--non-decimal-data'"
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "'--posix' overstijgt '--binary'"
-#: main.c:613
+#: main.c:611
#, c-format
msgid "can't set binary mode on stdin (%s)"
msgstr "kan standaardinvoer niet in binaire modus zetten (%s)"
-#: main.c:616
+#: main.c:614
#, c-format
msgid "can't set binary mode on stdout (%s)"
msgstr "kan standaarduitvoer niet in binaire modus zetten (%s)"
-#: main.c:618
+#: main.c:616
#, c-format
msgid "can't set binary mode on stderr (%s)"
msgstr "kan standaardfoutuitvoer niet in binaire modus zetten (%s)"
-#: main.c:657
+#: main.c:655
msgid "no program text at all!"
msgstr "helemaal geen programmatekst!"
-#: main.c:735
+#: main.c:733
#, c-format
msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
msgstr "Gebruik: %s [opties] -f programmabestand [--] bestand...\n"
-#: main.c:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "\tPOSIX-opties:\t\tEquivalente GNU-opties: (standaard)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f programmabestand\t--file=programmabestand\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F veldscheidingsteken\t--field-separator=veldscheidingsteken\n"
-#: main.c:745
+#: main.c:743
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:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "\tKorte opties:\t\tEquivalente GNU-opties: (uitbreidingen)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[bestand]\t\t--dump-variables[=bestand]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programmatekst'\t--source='programmatekst'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E bestand\t\t--exec=bestand\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fataal]\t\t--lint[=fataal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[bestand]\t\t--profile[=bestand]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t\t--parsedebug\n"
@@ -1815,7 +1810,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1828,7 +1823,7 @@ msgstr ""
"Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1838,7 +1833,7 @@ msgstr ""
"Standaard leest het van standaardinvoer en schrijft naar standaarduitvoer.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1848,7 +1843,7 @@ msgstr ""
"\tgawk '{ som += $1 }; END { print som }' bestand\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1866,7 +1861,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:816
+#: main.c:814
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"
@@ -1880,7 +1875,7 @@ msgstr ""
"Zie de GNU General Public License voor meer details.\n"
"\n"
-#: main.c:822
+#: main.c:820
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"
@@ -1889,16 +1884,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:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft maakt van FS geen tab in POSIX-awk"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "onbekende waarde voor veldspecificatie: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1907,53 +1902,53 @@ msgstr ""
"%s: argument '%s' van '-v' is niet van de vorm 'var=waarde'\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "'%s' is geen geldige variabelenaam"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
-#, fuzzy, c-format
+#: main.c:1203
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr "extension: kan in gawk ingebouwde '%s' niet als functienaam gebruiken"
+msgstr "kan in gawk ingebouwde '%s' niet als variabelenaam gebruiken"
-#: main.c:1190
-#, fuzzy, c-format
+#: main.c:1208
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "kan functienaam '%s' niet als variabele of array gebruiken"
+msgstr "kan functie '%s' niet als variabelenaam gebruiken"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
-msgstr "drijvende-komma-berekeningsfout"
+msgstr "drijvendekomma-berekeningsfout"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "fatale fout: **interne fout**"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "fatale fout: **interne fout**: segmentatiefout"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "fatale fout: **interne fout**: stack is vol"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "geen reeds-geopende bestandsdescriptor %d"
-#: main.c:1334
+#: main.c:1352
#, c-format
msgid "could not pre-open /dev/null for fd %d"
msgstr "kan /dev/null niet openen voor bestandsdescriptor %d"
-#: main.c:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "kan groepen niet vinden: %s"
@@ -2050,12 +2045,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "**interne fout**: %s heeft een lege 'vname'"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawk-profiel, gemaakt op %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2064,14 +2059,14 @@ msgstr ""
"\n"
"\t# Functies, alfabetisch geordend\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str(): onbekend omleidingstype %d"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, 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"
@@ -2154,6 +2149,10 @@ msgstr "Ongepaarde ) of \\)"
msgid "No previous regular expression"
msgstr "Geen eerdere reguliere expressie"
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr ""
+#~ "toewijzing aan het resultaat van een ingebouwde functie is niet toegestaan"
+
#~ msgid "attempt to use array in a scalar context"
#~ msgstr "array wordt gebruikt in een scalaire context"
diff --git a/po/pl.gmo b/po/pl.gmo
index 068e6be0..1543d5fa 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 3a68d675..f2a78425 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gawk 3.1.81\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
"PO-Revision-Date: 2011-05-14 11:41-0400\n"
"Last-Translator: Wojciech Polak <polak@gnu.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -44,9 +44,9 @@ msgstr "próba użycia parametru `%s' skalaru jako tablicy"
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:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "próba użycia tablicy `%s' w kontekście skalaru"
@@ -66,7 +66,7 @@ msgstr "indeks tablicy `%s' jest zerowym łańcuchem"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: indeks `%s' nie jest w tablicy `%s'"
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, c-format
msgid "attempt to use scalar `%s[\"%.*s\"]' as an array"
msgstr "próba użycia skalaru `%s[\"%.*s\"]' jako tablicy"
@@ -185,350 +185,350 @@ msgstr "powielone wartości case w ciele switch: %s"
msgid "duplicate `default' detected in switch body"
msgstr "wykryto powielony `default' w ciele switch"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "instrukcja `break' poza pętlą lub switch'em jest niedozwolona"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "instrukcja `continue' poza pętlą jest niedozwolona"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "`next' użyty w akcji %s"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "`nextfile' jest rozszerzeniem gawk"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "`nextfile' użyty w akcji %s"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "`return' użyty poza kontekstem funkcji"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "`delete tablica' jest rozszerzeniem gawk"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "`delete(tablica)' jest nieprzenośnym rozszerzeniem tawk"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "wieloetapowe dwukierunkowe linie potokowe nie działają"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "wyrażanie regularne po prawej stronie przypisania"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "wyrażenie regularne po lewej stronie operatora `~' lub `!~'"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
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:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "wyrażenie regularne po prawej stronie porównania"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "nieprawidłowy `getline var' wewnątrz reguły `%s'"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "nieprawidłowy `getline' wewnątrz reguły `%s'"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr ""
"komenda `getline' bez przekierowania nie jest zdefiniowana wewnÄ…trz akcji END"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "stary awk nie wspiera wielowymiarowych tablic"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "wywołanie `length' bez nawiasów jest nieprzenośne"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "pośrednie wywołania funkcji są rozszerzeniem gawk"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "nieprawidłowe wyrażenie indeksowe"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "użycie nie-tablicy jako tablicy"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "ostrzeżenie: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "fatalny błąd: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "niespodziewany znak nowego wiersza lub końca łańcucha"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, 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:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "nieznany powód"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "plik źródłowy `%s' jest już załączony"
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "@include jest rozszerzeniem gawk"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "pusta nazwa pliku po @include"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "pusty tekst programu w linii poleceń"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "nie można otworzyć pliku źródłowego `%s' (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "plik źródłowy `%s' jest pusty"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "plik źródłowy nie posiada na końcu znaku nowego wiersza"
-#: awkgram.y:2883
+#: awkgram.y:2882
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:2907
+#: awkgram.y:2906
#, 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:2911
+#: awkgram.y:2910
#, 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:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "niezakończone wyrażenie regularne"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "niezakończone wyrażenie regularne na końcu pliku"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr "użycie `\\ #...' kontynuacji linii nie jest przenośne"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "backslash nie jest ostatnim znakiem w wierszu"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX nie zezwala na operator `**='"
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "stary awk nie wspiera operatora `**='"
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX nie zezwala na operator `**'"
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "stary awk nie wspiera operatora `**'"
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "operator `^=' nie jest wspierany w starym awk"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "operator `^' nie jest wspierany w starym awk"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "niezakończony łańcuch"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "nieprawidłowy znak '%c' w wyrażeniu"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "`%s' jest rozszerzeniem gawk"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "`%s' jest rozszerzeniem Bell Labs"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX nie zezwala na `%s'"
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "`%s' nie jest wspierany w starym awk"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "`goto' uważane za szkodliwe!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, 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:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: trzeci argument jest rozszerzeniem gawk"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s trzeci parametr nie jest zmiennym obiektem"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: trzeci argument jest rozszerzeniem gawk"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: drugi argument jest rozszerzeniem gawk"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr "nieprawidłowe użycie dcgettext(_\"...\"): usuń znak podkreślenia"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr "nieprawidłowe użycie dcngettext(_\"...\"): usuń znak podkreślenia"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funkcja `%s': parametr `%s' zasłania globalną zmienną"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "nie można otworzyć `%s' do zapisu (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
#, fuzzy
msgid "sending variable list to standard error"
msgstr "wysyłanie profilu na standardowe wyjście diagnostyczne"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: zamknięcie nie powiodło się (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() wywołana podwójnie!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "wystąpiły przykryte zmienne."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, 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:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "nazwa funkcji `%s' została zdefiniowana poprzednio"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "funkcja `%s' została wywołana, ale nigdy nie została zdefiniowana"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, 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:4407
+#: awkgram.y:4417
#, 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:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -538,233 +538,233 @@ msgstr ""
"`(',\n"
"lub użyta jako zmienna lub jako tablica"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "próba dzielenia przez zero"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "próba dzielenia przez zero w `%%'"
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s do \"%s\" nie powiódł się (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "standardowe wyjście"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: otrzymano argument nie będący liczbą"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argument %g jest poza zasięgiem"
-#: builtin.c:197
+#: builtin.c:196
#, 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:200
+#: builtin.c:199
#, 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:212
+#: builtin.c:211
#, 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:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: otrzymano pierwszy argument, który nie jest łańcuchem"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: otrzymano drugi argument, który nie jest łańcuchem"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int: otrzymano argument, który nie jest liczbą"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: otrzymano argument, który jest tablicą"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "`length(tablica)' jest rozszerzeniem gawk"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: otrzymano argument, który nie jest liczbą"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: otrzymano ujemny argument %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
msgid "fatal: must use `count$' on all formats or none"
msgstr "fatal: należy użyć `count$' we wszystkich formatach lub nic"
-#: builtin.c:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "szerokość pola jest ignorowana dla specyfikatora `%%'"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "precyzja jest ignorowana dla specyfikatora `%%'"
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "szerokość pola i precyzja są ignorowane dla specyfikatora `%%'"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "fatal: `$' jest niedozwolony w formatach awk"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "fatal: argument count z `$' musi być > 0"
-#: builtin.c:826
+#: builtin.c:825
#, 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:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "fatal: `$' jest niedozwolony po kropce w formacie"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr "fatal: brak `$' dla pozycyjnej szerokości pola lub precyzji"
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "`l' jest bezsensowny w formatach awk; zignorowany"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "fatal: `l' jest niedozwolony w formatach POSIX awk"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "`L' jest bezsensowny w formatach awk; zignorowany"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "fatal: `L' jest niedozwolony w formatach POSIX awk"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "`h' jest bezsensowny w formatach awk; zignorowany"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "fatal: `h' jest niedozwolony w formatach POSIX awk"
-#: builtin.c:1268
+#: builtin.c:1267
#, 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:1328
+#: builtin.c:1327
#, 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:1333
+#: builtin.c:1332
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:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "zabrakło ^"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: specyfikator formatu nie posiada kontrolnej litery"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "zbyt dużo podanych argumentów w łańcuchu formatującym"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: brak argumentów"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: otrzymano argument, który nie jest liczbą"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: wywołana z ujemnym argumentem %g"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: długość %g nie jest >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: długość %g nie jest >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, 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:1513
+#: builtin.c:1512
#, 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:1525
+#: builtin.c:1524
#, 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:1530
+#: builtin.c:1529
#, 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:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: łańcuch źródłowy ma zerową długość"
-#: builtin.c:1571
+#: builtin.c:1570
#, 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:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -772,222 +772,222 @@ msgstr ""
"substr: długość %g zaczynając od %g przekracza długość pierwszego argumentu "
"(%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr ""
"strftime: wartość formatu w PROCINFO[\"strftime\"] posiada typ numeryczny"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: otrzymano pierwszy argument, który nie jest łańcuchem"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: otrzymano pusty łańcuch formatujący"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:1771
+#: builtin.c:1770
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:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "funkcja 'system' nie jest dozwolona w trybie piaskownicy"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "odwołanie do niezainicjowanego pola `$%d'"
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: otrzymano argument, który nie jest łańcuchem"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: otrzymano trzeci argument, który nie jest tablicą"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: trzeci argument 0 potraktowany jako 1"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2765
+#: builtin.c:2775
#, c-format
msgid "lshift(%lf, %lf): negative values will give strange results"
msgstr "lshift(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2769
+#: builtin.c:2779
#, 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:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2802
+#: builtin.c:2812
#, c-format
msgid "rshift(%lf, %lf): negative values will give strange results"
msgstr "rshift(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2839
+#: builtin.c:2849
#, c-format
msgid "and(%lf, %lf): negative values will give strange results"
msgstr "and(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2874
+#: builtin.c:2884
#, c-format
msgid "or(%lf, %lf): negative values will give strange results"
msgstr "or(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: otrzymano pierwszy argument, który nie jest liczbą"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: otrzymano drugi argument, który nie jest liczbą"
-#: builtin.c:2912
+#: builtin.c:2922
#, c-format
msgid "xor(%lf, %lf): negative values will give strange results"
msgstr "xor(%lf, %lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: otrzymano argument, który nie jest liczbą"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): ujemne wartości spowodują dziwne wyniki"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): ułamkowe wartości zostaną obcięte"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: `%s' nie jest prawidłową kategorią lokalizacji"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "nieznany typ węzła %d"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "nieznany opcode %d"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "opcode %s nie jest operatorem ani słowem kluczowym"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "przepełnienie bufora w genflags2str"
@@ -1024,106 +1024,107 @@ msgstr "zła specyfikacja `%sFMT' `%s'"
msgid "turning off `--lint' due to assignment to `LINT'"
msgstr "wyłączenie `--lint' z powodu przypisania do `LINT'"
-#: eval.c:1127 eval.c:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "przypisanie do wyniku wbudowanej funkcji nie jest dozwolone"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "odwołanie do niezainicjowanego argumentu `%s'"
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr "próba odwołania do pola poprzez nienumeryczną wartość"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "próba odwołania z zerowego łańcucha"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "próba dostępu do pola %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "odwołanie do niezainicjowanego pola `$%ld'"
-#: eval.c:1262
+#: eval.c:1256
#, 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:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: niespodziewany typ `%s'"
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "próba dzielenia przez zero w `/='"
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "próba dzielenia przez zero w `%%='"
-#: eval.c:1784 eval.c:2030
+#: 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:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "przypisanie użyte w kontekście warunkowym"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "instrukcja nie ma żadnego efektu"
-#: eval.c:2233
+#: 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:2343
+#: 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:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "funkcja `%s' nie została zdefiniowana"
-#: eval.c:2416
+#: 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:2477
+#: 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:2532
+#: 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:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr "Niestety nie wiem jak zinterpretować `%s'"
@@ -1218,84 +1219,84 @@ msgstr "Operacja nie jest wspierana"
msgid "NF set to negative value"
msgstr "NF ustawiony na wartość ujemną"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: czwarty argument jest rozszerzeniem gawk"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: czwarty argument nie jest tablicÄ…"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: drugi argument nie jest tablicÄ…"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: nie można użyć tej samej tablicy dla drugiego i czwartego argumentu"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: nie można użyć podtablicy drugiego argumentu dla czwartego argumentu"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: nie można użyć podtablicy czwartego argumentu dla drugiego argumentu"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: zerowy łańcuch dla trzeciego argumentu jest rozszerzeniem gawk"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: czwarty argument nie jest tablicÄ…"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: drugi argument nie jest tablicÄ…"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: trzeci argument nie może być pusty"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: nie można użyć tej samej tablicy dla drugiego i czwartego argumentu"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: nie można użyć podtablicy drugiego argumentu dla czwartego "
"argumentu"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: nie można użyć podtablicy czwartego argumentu dla drugiego "
"argumentu"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "`FIELDWIDTHS' jest rozszerzeniem gawk"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "nieprawidłowa wartość FIELDWIDTHS, w pobliżu `%s'"
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "zerowy łańcuch dla `FS' jest rozszerzeniem gawk"
-#: field.c:1249
+#: field.c:1250
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:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "`FPAT' jest rozszerzeniem gawk"
@@ -1354,482 +1355,477 @@ msgstr "%s: opcja '-W %s' nie może mieć argumentów\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: opcja '-W %s' wymaga argumentu\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "argument linii poleceń `%s' jest katalogiem: pominięto"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "nie można otworzyć pliku `%s' do czytania (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "błąd podczas czytania z pliku `%s': %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "zamknięcie fd %d (`%s') nie powiodło się (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "przekierowanie nie jest dozwolone w trybie piaskownicy"
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "wyrażenie w przekierowaniu `%s' ma tylko wartość numeryczną"
-#: io.c:617
+#: io.c:618
#, c-format
msgid "expression for `%s' redirection has null string value"
msgstr "wyrażenie dla przekierowania `%s' ma zerową wartość łańcucha"
-#: io.c:623
+#: io.c:624
#, 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:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "niepotrzebne mieszanie `>' i `>>' dla pliku `%.*s'"
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "nie można otworzyć potoku `%s' jako wyjścia (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "nie można otworzyć potoku `%s' jako wejścia (%s)"
-#: io.c:752
+#: io.c:753
#, 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:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "nie można przekierować z `%s' (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "nie można przekierować do `%s' (%s)"
-#: io.c:888
+#: io.c:889
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:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "zamknięcie `%s' nie powiodło się (%s)."
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "zbyt dużo otwartych potoków lub plików wejściowych"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: drugim argumentem musi być `to' lub `from'"
-#: io.c:951
+#: io.c:952
#, 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:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "zamknięcie przekierowania, które nigdy nie zostało otwarte"
-#: io.c:1053
+#: io.c:1054
#, 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:1069
+#: io.c:1070
#, c-format
msgid "failure status (%d) on pipe close of `%s' (%s)"
msgstr "status awarii (%d) podczas zamykania potoku `%s' (%s)"
-#: io.c:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "status awarii (%d) podczas zamykania pliku `%s' (%s)"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "brak jawnego zamknięcia gniazdka `%s'"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "brak jawnego zamknięcia procesu pomocniczego `%s'"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "brak jawnego zamknięcia potoku `%s'"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "brak jawnego zamknięcia pliku `%s'"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "błąd podczas zapisu na standardowe wyjście (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "błąd podczas zapisu na standardowe wyjście diagnostyczne (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "opróżnienie potoku `%s' nie powiodło się (%s)."
-#: io.c:1144
+#: io.c:1145
#, 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:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "opróżnienie pliku `%s' nie powiodło się (%s)."
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "nieprawidłowy lokalny port %s w `/inet'"
-#: io.c:1279
+#: io.c:1280
#, 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:1431
+#: io.c:1432
#, c-format
msgid "no (known) protocol supplied in special filename `%s'"
msgstr "nie dostarczono (znanego) protokołu w specjalnym pliku `%s'"
-#: io.c:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "specjalna nazwa pliku `%s' jest niekompletna"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "należy dostarczyć nazwę zdalnego hosta do `/inet'"
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "należy dostarczyć numer zdalnego portu do `/inet'"
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "Komunikacja TCP/IP nie jest wspierana"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "nie można otworzyć `%s', tryb `%s'"
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "zamknięcie nadrzędnego pty nie powiodło się (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, 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:1749
+#: io.c:1753
#, 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:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, 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:1754
+#: io.c:1758
#, 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:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "zamknięcie podległego pty nie powiodło się (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, 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:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr ""
"odzyskanie standardowego wyjścia w procesie potomnym nie powiodło się\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr ""
"odzyskanie standardowego wejścia w procesie potomnym nie powiodło się\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "zamknięcie potoku nie powiodło się (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "`|&' nie jest wspierany"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "nie można otworzyć potoku `%s' (%s)"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "nie można utworzyć procesu potomnego dla `%s' (fork: %s)"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "plik danych `%s' jest pusty"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "nie można zarezerwować więcej pamięci wejściowej"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "wieloznakowa wartość `RS' jest rozszerzeniem gawk"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "Komunikacja IPv6 nie jest wspierana"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "nieistotna opcja `-m[fr]' w gawk"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "użycie opcji -m: `-m[fr] nnn'"
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "pusty argument dla opcji `-e/--source' został zignorowany"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: opcja `-W %s' nierozpoznana i zignorowana\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: opcja musi mieć argument -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr ""
"zmienna środowiskowa `POSIXLY_CORRECT' ustawiona: `--posix' został włączony"
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "opcja `--posix' zostanie użyta nad `--traditional'"
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "`--posix'/`--traditional' użyte nad opcją `--non-decimal-data'"
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "opcja `--posix' zostanie użyta nad `--binary'"
-#: main.c:613
+#: main.c:611
#, 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:616
+#: main.c:614
#, 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:618
+#: main.c:616
#, 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:657
+#: main.c:655
msgid "no program text at all!"
msgstr "brak tekstu programu!"
-#: main.c:735
+#: main.c:733
#, 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:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "Opcje POSIX:\t\tDługie opcje GNU (standard):\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f program\t\t--file=program\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:745
+#: main.c:743
msgid "\t-v var=val\t\t--assign=var=val\n"
msgstr "\t-v zmienna=wartość\t--assign=zmienna=wartość\n"
-#: main.c:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Krótkie opcje:\t\tDługie opcje GNU: (rozszerzenia)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
#, fuzzy
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d [plik]\t\t--dump-variables[=plik]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'tekst-programu'\t--source='tekst-programu'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E plik\t\t\t--exec=plik\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
#, fuzzy
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p [plik]\t\t--profile[=plik]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1838,7 +1834,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1851,7 +1847,7 @@ msgstr ""
"dokumentacji.\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1861,7 +1857,7 @@ msgstr ""
"Program domyślnie czyta standardowe wejście i zapisuje standardowe wyjście.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1871,7 +1867,7 @@ msgstr ""
"\tgawk '{ suma += $1 }; END { print suma }' plik\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1890,7 +1886,7 @@ msgstr ""
"tej Licencji lub którejś z późniejszych wersji.\n"
"\n"
-#: main.c:816
+#: main.c:814
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 +1901,7 @@ msgstr ""
"PowszechnÄ… LicencjÄ™ PublicznÄ… GNU.\n"
"\n"
-#: main.c:822
+#: main.c:820
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 +1910,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:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft nie ustawia FS na znak tabulatora w POSIX awk"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "nieznana wartość dla specyfikacji pola: %d\n"
-#: main.c:1152
+#: main.c:1170
#, c-format
msgid ""
"%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1932,53 +1928,53 @@ msgstr ""
"%s: argument `%s' dla `-v' nie jest zgodny ze składnią `zmienna=wartość'\n"
"\n"
-#: main.c:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "`%s' nie jest dozwolonÄ… nazwÄ… zmiennej"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
+#: main.c:1203
#, fuzzy, 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"
-#: main.c:1190
+#: main.c:1208
#, fuzzy, c-format
msgid "cannot use function `%s' as variable name"
msgstr "nie można użyć nazwy funkcji `%s' jako zmiennej lub tablicy"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "wyjÄ…tek zmiennopozycyjny"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "fatalny błąd: wewnętrzny błąd"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "fatalny błąd: wewnętrzny błąd: błąd segmentacji"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "fatalny błąd: wewnętrzny błąd: przepełnienie stosu"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "brak już otwartego fd %d"
-#: main.c:1334
+#: main.c:1352
#, 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:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "nie można znaleźć grup: %s"
@@ -2073,12 +2069,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "wewnętrzny błąd: %s z zerowym vname"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# profil programu gawk, utworzony %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2087,14 +2083,14 @@ msgstr ""
"\n"
"\t# Funkcje, spis alfabetyczny\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: nieznany typ przekierowania %d"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, 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
@@ -2174,6 +2170,9 @@ msgstr "Niedopasowany znak ) lub \\)"
msgid "No previous regular expression"
msgstr "Brak poprzedniego wyrażenia regularnego"
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr "przypisanie do wyniku wbudowanej funkcji nie jest dozwolone"
+
#~ msgid "attempt to use array in a scalar context"
#~ msgstr "próba użycia tablicy w kontekście skalaru"
diff --git a/po/sv.gmo b/po/sv.gmo
index f1b38753..d4574bad 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index e8385551..cb07a1a3 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -5,13 +5,13 @@
# Christer Andersson <klamm@comhem.se>, 2007.
# Göran Uddeborg <goeran@uddeborg.se>, 2011.
#
-# $Id: gawk.po,v 1.2 2011-06-07 14:23:08+02 göran Exp $
+# $Id: gawk.po,v 1.5 2011-07-16 15:21:02+02 göran Exp $
msgid ""
msgstr ""
-"Project-Id-Version: gawk 3.1.83\n"
+"Project-Id-Version: gawk 4.0.0\n"
"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2011-06-23 09:46+0300\n"
-"PO-Revision-Date: 2011-06-07 14:22+0200\n"
+"POT-Creation-Date: 2011-10-09 21:16+0200\n"
+"PO-Revision-Date: 2011-07-16 15:20+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -43,9 +43,9 @@ msgstr "försök att använda skalärparametern \"%s\" som en vektor"
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:81 builtin.c:1381 builtin.c:1423
-#: builtin.c:1436 builtin.c:1851 builtin.c:1863 eval.c:1135 eval.c:1139
-#: eval.c:1473 eval.c:1720
+#: array.c:302 array.c:707 builtin.c:80 builtin.c:1380 builtin.c:1422
+#: builtin.c:1435 builtin.c:1850 builtin.c:1862 eval.c:1135 eval.c:1139
+#: eval.c:1495 eval.c:1812
#, c-format
msgid "attempt to use array `%s' in a scalar context"
msgstr "försök att använda vektorn \"%s\" i skalärsammanhang"
@@ -65,7 +65,7 @@ msgstr "index i vektorn \"%s\" är en tom sträng"
msgid "delete: index `%s' not in array `%s'"
msgstr "delete: index \"%s\" finns inte i vektorn \"%s\""
-#: array.c:734 eval.c:1773
+#: array.c:734 eval.c:1865
#, 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"
@@ -185,348 +185,348 @@ msgstr "upprepade case-värden i switch-sats: %s"
msgid "duplicate `default' detected in switch body"
msgstr "flera \"default\" upptäcktes i switch-sats"
-#: awkgram.y:811
+#: awkgram.y:809
msgid "`break' is not allowed outside a loop or switch"
msgstr "\"break\" är inte tillåtet utanför en slinga eller switch"
-#: awkgram.y:820
+#: awkgram.y:818
msgid "`continue' is not allowed outside a loop"
msgstr "\"continue\" är inte tillåtet utanför en slinga"
-#: awkgram.y:830
+#: awkgram.y:828
#, c-format
msgid "`next' used in %s action"
msgstr "\"next\" använt i %s-åtgärd"
-#: awkgram.y:838
+#: awkgram.y:836
msgid "`nextfile' is a gawk extension"
msgstr "\"nextfile\" är en gawk-utökning"
-#: awkgram.y:843
+#: awkgram.y:841
#, c-format
msgid "`nextfile' used in %s action"
msgstr "\"nextfile\" använt i %s-åtgärd"
-#: awkgram.y:867
+#: awkgram.y:865
msgid "`return' used outside function context"
msgstr "\"return\" använd utanför funktion"
-#: awkgram.y:927
+#: awkgram.y:925
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:997 awkgram.y:1001 awkgram.y:1025
+#: awkgram.y:995 awkgram.y:999 awkgram.y:1023
msgid "`delete array' is a gawk extension"
msgstr "\"delete array\" är en gawk-utökning"
-#: awkgram.y:1021
+#: awkgram.y:1019
msgid "`delete(array)' is a non-portable tawk extension"
msgstr "\"delete(array)\" är en icke portabel tawk-utökning"
-#: awkgram.y:1137
+#: awkgram.y:1135
msgid "multistage two-way pipelines don't work"
msgstr "flerstegs dubbelriktade rör fungerar inte"
-#: awkgram.y:1240
+#: awkgram.y:1238
msgid "regular expression on right of assignment"
msgstr "reguljärt uttryck i högerledet av en tilldelning"
-#: awkgram.y:1251
+#: awkgram.y:1249
msgid "regular expression on left of `~' or `!~' operator"
msgstr "reguljärt uttryck på vänster sida om en \"~\"- eller \"!~\"-operator"
-#: awkgram.y:1267 awkgram.y:1421
+#: awkgram.y:1265 awkgram.y:1419
msgid "old awk does not support the keyword `in' except after `for'"
msgstr "gamla awk stöder inte operatorn \"**\""
-#: awkgram.y:1277
+#: awkgram.y:1275
msgid "regular expression on right of comparison"
msgstr "reguljärt uttryck i högerledet av en jämförelse"
-#: awkgram.y:1396
+#: awkgram.y:1394
#, c-format
msgid "`getline var' invalid inside `%s' rule"
msgstr "\"getline var\" är ogiltigt inuti \"%s\"-regel"
-#: awkgram.y:1399 eval.c:2409
+#: awkgram.y:1397 eval.c:2504
#, c-format
msgid "`getline' invalid inside `%s' rule"
msgstr "\"getline är ogiltigt inuti \"%s\"-regel"
-#: awkgram.y:1404
+#: awkgram.y:1402
msgid "non-redirected `getline' undefined inside END action"
msgstr "icke omdirigerad \"getline\" odefinierad inuti END-åtgärd"
-#: awkgram.y:1423
+#: awkgram.y:1421
msgid "old awk does not support multidimensional arrays"
msgstr "gamla awk stöder inte flerdimensionella vektorer"
-#: awkgram.y:1519
+#: awkgram.y:1517
msgid "call of `length' without parentheses is not portable"
msgstr "anrop av \"length\" utan parenteser är inte portabelt"
-#: awkgram.y:1582
+#: awkgram.y:1580
msgid "indirect function calls are a gawk extension"
msgstr "indirekta funktionsanrop är en gawk-utökning"
-#: awkgram.y:1595
+#: awkgram.y:1593
#, 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:1673
+#: awkgram.y:1671
msgid "invalid subscript expression"
msgstr "ogiltig indexuttryck"
-#: awkgram.y:1713
+#: awkgram.y:1711
msgid "use of non-array as array"
msgstr "icke-vektor används som vektor"
-#: awkgram.y:1977 awkgram.y:1997 msg.c:98
+#: awkgram.y:1975 awkgram.y:1995 msg.c:98
msgid "warning: "
msgstr "varning: "
-#: awkgram.y:1995 msg.c:130
+#: awkgram.y:1993 msg.c:130
msgid "fatal: "
msgstr "ödesdigert: "
-#: awkgram.y:2045
+#: awkgram.y:2043
msgid "unexpected newline or end of string"
msgstr "oväntat nyradstecken eller slut på strängen"
-#: awkgram.y:2301 awkgram.y:2359 awkgram.y:2543
+#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542
#, 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:2302 awkgram.y:2360 builtin.c:119
+#: awkgram.y:2301 awkgram.y:2359 builtin.c:118
msgid "reason unknown"
msgstr "okänd anledning"
-#: awkgram.y:2318
+#: awkgram.y:2317
#, c-format
msgid "already included source file `%s'"
msgstr "inkluderade redan källfilen \"%s\""
-#: awkgram.y:2344
+#: awkgram.y:2343
msgid "@include is a gawk extension"
msgstr "@include är en gawk-utökning"
-#: awkgram.y:2350
+#: awkgram.y:2349
msgid "empty filename after @include"
msgstr "tomt filnamn efter @include"
-#: awkgram.y:2495
+#: awkgram.y:2494
msgid "empty program text on command line"
msgstr "tom programtext på kommandoraden"
-#: awkgram.y:2610
+#: awkgram.y:2609
#, c-format
msgid "can't read sourcefile `%s' (%s)"
msgstr "kan inte läsa källfilen \"%s\" (%s)"
-#: awkgram.y:2621
+#: awkgram.y:2620
#, c-format
msgid "source file `%s' is empty"
msgstr "källfilen \"%s\" är tom"
-#: awkgram.y:2806
+#: awkgram.y:2805
msgid "source file does not end in newline"
msgstr "källfilen slutar inte med en ny rad"
-#: awkgram.y:2883
+#: awkgram.y:2882
msgid "unterminated regexp ends with `\\' at end of file"
msgstr "oavslutat reguljärt uttryck slutar med \"\\\" i slutet av filen"
-#: awkgram.y:2907
+#: awkgram.y:2906
#, 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:2911
+#: awkgram.y:2910
#, 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:2918
+#: awkgram.y:2917
msgid "unterminated regexp"
msgstr "oavslutat reguljärt uttryck"
-#: awkgram.y:2922
+#: awkgram.y:2921
msgid "unterminated regexp at end of file"
msgstr "oavslutat reguljärt uttryck i slutet av filen"
-#: awkgram.y:2981
+#: awkgram.y:2980
msgid "use of `\\ #...' line continuation is not portable"
msgstr "Användning av \"\\ #...\" för radfortsättning är inte portabelt"
-#: awkgram.y:2997
+#: awkgram.y:2996
msgid "backslash not last character on line"
msgstr "sista tecknet på raden är inte ett omvänt snedstreck"
-#: awkgram.y:3058
+#: awkgram.y:3057
msgid "POSIX does not allow operator `**='"
msgstr "POSIX tillåter inte operatorn \"**=\""
-#: awkgram.y:3060
+#: awkgram.y:3059
msgid "old awk does not support operator `**='"
msgstr "gamla awk stöder inte operatorn \"**=\""
-#: awkgram.y:3069
+#: awkgram.y:3068
msgid "POSIX does not allow operator `**'"
msgstr "POSIX tillåter inte operatorn \"**\""
-#: awkgram.y:3071
+#: awkgram.y:3070
msgid "old awk does not support operator `**'"
msgstr "gamla awk stöder inte operatorn \"**\""
-#: awkgram.y:3106
+#: awkgram.y:3105
msgid "operator `^=' is not supported in old awk"
msgstr "operatorn \"^=\" stöds inte i gamla awk"
-#: awkgram.y:3114
+#: awkgram.y:3113
msgid "operator `^' is not supported in old awk"
msgstr "operatorn \"^\" stöds inte i gamla awk"
-#: awkgram.y:3207 awkgram.y:3223
+#: awkgram.y:3206 awkgram.y:3222
msgid "unterminated string"
msgstr "oavslutad sträng"
-#: awkgram.y:3419
+#: awkgram.y:3418
#, c-format
msgid "invalid char '%c' in expression"
msgstr "ogiltigt tecken \"%c\" i uttryck"
-#: awkgram.y:3466
+#: awkgram.y:3465
#, c-format
msgid "`%s' is a gawk extension"
msgstr "\"%s\" är en gawk-utökning"
-#: awkgram.y:3471
+#: awkgram.y:3470
#, c-format
msgid "`%s' is a Bell Labs extension"
msgstr "\"%s\" är en Bell Labs-utökning"
-#: awkgram.y:3476
+#: awkgram.y:3475
#, c-format
msgid "POSIX does not allow `%s'"
msgstr "POSIX tillåter inte \"%s\""
-#: awkgram.y:3484
+#: awkgram.y:3483
#, c-format
msgid "`%s' is not supported in old awk"
msgstr "\"%s\" stöds inte i gamla awk"
-#: awkgram.y:3551
+#: awkgram.y:3550
msgid "`goto' considered harmful!\n"
msgstr "\"goto\" anses skadlig!\n"
-#: awkgram.y:3604
+#: awkgram.y:3601
#, c-format
msgid "%d is invalid as number of arguments for %s"
msgstr "%d är ett ogiltigt antal argument för %s"
-#: awkgram.y:3639 awkgram.y:3642
-msgid "match: third argument is a gawk extension"
-msgstr "match: tredje argumentet är en gawk-utökning"
-
-#: awkgram.y:3670
+#: awkgram.y:3636
#, 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:3675
+#: awkgram.y:3641
#, c-format
msgid "%s third parameter is not a changeable object"
msgstr "%s: tredje argumentet är inte ett ändringsbart objekt"
-#: awkgram.y:3761 awkgram.y:3764
+#: awkgram.y:3714 awkgram.y:3717
+msgid "match: third argument is a gawk extension"
+msgstr "match: tredje argumentet är en gawk-utökning"
+
+#: awkgram.y:3771 awkgram.y:3774
msgid "close: second argument is a gawk extension"
msgstr "close: andra argumentet är en gawk-utökning"
-#: awkgram.y:3776
+#: awkgram.y:3786
msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"användandet av dcgettext(_\"...\") är felaktigt: ta bort det inledande "
"understrykningstecknet"
-#: awkgram.y:3791
+#: awkgram.y:3801
msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
msgstr ""
"användandet av dcngettext(_\"...\") är felaktigt: ta bort det inledande "
"understrykningstecknet"
-#: awkgram.y:3883
+#: 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:3925
+#: awkgram.y:3935
#, c-format
msgid "function `%s': parameter `%s' shadows global variable"
msgstr "funktionen \"%s\": parametern \"%s\" överskuggar en global variabel"
-#: awkgram.y:4083
+#: awkgram.y:4093
#, c-format
msgid "could not open `%s' for writing (%s)"
msgstr "kunde inte öppna \"%s\" för skrivning (%s)"
-#: awkgram.y:4084
+#: awkgram.y:4094
msgid "sending variable list to standard error"
msgstr "skickar variabellista till standard fel"
-#: awkgram.y:4090
+#: awkgram.y:4100
#, c-format
msgid "%s: close failed (%s)"
msgstr "%s: misslyckades att stänga (%s)"
-#: awkgram.y:4142
+#: awkgram.y:4152
msgid "shadow_funcs() called twice!"
msgstr "shadow_funcs() anropad två gånger!"
-#: awkgram.y:4148
+#: awkgram.y:4158
msgid "there were shadowed variables."
msgstr "det fanns överskuggade variabler."
-#: awkgram.y:4178
+#: awkgram.y:4188
#, 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:4182
+#: awkgram.y:4192
#, 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:4198
+#: awkgram.y:4208
#, c-format
msgid "function name `%s' previously defined"
msgstr "funktionsnamnet \"%s\" är definierat sedan tidigare"
-#: awkgram.y:4366 awkgram.y:4372
+#: awkgram.y:4376 awkgram.y:4382
#, c-format
msgid "function `%s' called but never defined"
msgstr "funktionen \"%s\" anropad men aldrig definierad"
-#: awkgram.y:4375
+#: awkgram.y:4385
#, c-format
msgid "function `%s' defined but never called directly"
msgstr "funktionen \"%s\" definierad men aldrig anropad direkt"
-#: awkgram.y:4407
+#: awkgram.y:4417
#, 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:4516
+#: awkgram.y:4526
#, c-format
msgid ""
"function `%s' called with space between name and `(',\n"
@@ -535,229 +535,229 @@ msgstr ""
"funktionen \"%s\" anropad med blanktecken mellan namnet och \"(\",\n"
"eller använd som variabel eller vektor"
-#: awkgram.y:4763 eval.c:1964
+#: awkgram.y:4773 eval.c:2056
msgid "division by zero attempted"
msgstr "försökte dividera med noll"
-#: awkgram.y:4772 eval.c:1980
+#: awkgram.y:4782 eval.c:2072
#, c-format
msgid "division by zero attempted in `%%'"
msgstr "försökte dividera med noll i \"%%\""
-#: builtin.c:117
+#: builtin.c:116
#, c-format
msgid "%s to \"%s\" failed (%s)"
msgstr "%s till \"%s\" misslyckades (%s)"
-#: builtin.c:118
+#: builtin.c:117
msgid "standard output"
msgstr "standard ut"
-#: builtin.c:132
+#: builtin.c:131
msgid "exp: received non-numeric argument"
msgstr "exp: fick ett ickenumeriskt argument"
-#: builtin.c:138
+#: builtin.c:137
#, c-format
msgid "exp: argument %g is out of range"
msgstr "exp: argumentet %g är inte inom tillåten gräns"
-#: builtin.c:197
+#: builtin.c:196
#, 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:200
+#: builtin.c:199
#, 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:212
+#: builtin.c:211
#, 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:330
+#: builtin.c:329
msgid "index: received non-string first argument"
msgstr "index: första argumentet är inte en sträng"
-#: builtin.c:332
+#: builtin.c:331
msgid "index: received non-string second argument"
msgstr "index: andra argumentet är inte en sträng"
-#: builtin.c:454
+#: builtin.c:453
msgid "int: received non-numeric argument"
msgstr "int: fick ett ickenumeriskt argument"
-#: builtin.c:490
+#: builtin.c:489
msgid "length: received array argument"
msgstr "length: fick ett vektorargument"
-#: builtin.c:493
+#: builtin.c:492
msgid "`length(array)' is a gawk extension"
msgstr "\"length(array)\" är en gawk-utökning"
-#: builtin.c:501
+#: builtin.c:500
msgid "length: received non-string argument"
msgstr "length: fick ett argument som inte är en sträng"
-#: builtin.c:532
+#: builtin.c:531
msgid "log: received non-numeric argument"
msgstr "log: fick ett ickenumeriskt argument"
-#: builtin.c:535
+#: builtin.c:534
#, c-format
msgid "log: received negative argument %g"
msgstr "log: fick ett negativt argumentet %g"
-#: builtin.c:691 builtin.c:696
+#: builtin.c:690 builtin.c:695
msgid "fatal: must use `count$' on all formats or none"
msgstr "ödesdigert: måste använda \"count$\" på alla eller inga format"
-#: builtin.c:758
+#: builtin.c:757
#, c-format
msgid "field width is ignored for `%%' specifier"
msgstr "fältbredd ignoreras för \"%%\"-specificerare"
-#: builtin.c:760
+#: builtin.c:759
#, c-format
msgid "precision is ignored for `%%' specifier"
msgstr "precision ignoreras för \"%%\"-specificerare"
-#: builtin.c:762
+#: builtin.c:761
#, c-format
msgid "field width and precision are ignored for `%%' specifier"
msgstr "fältbredd och precision ignoreras för \"%%\"-specificerare"
-#: builtin.c:813
+#: builtin.c:812
msgid "fatal: `$' is not permitted in awk formats"
msgstr "ödesdigert: \"$\" tillåts inte i awk-format"
-#: builtin.c:822
+#: builtin.c:821
msgid "fatal: arg count with `$' must be > 0"
msgstr "ödesdigert: argumentantalet med \"$\" måste vara > 0"
-#: builtin.c:826
+#: builtin.c:825
#, 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:830
+#: builtin.c:829
msgid "fatal: `$' not permitted after period in format"
msgstr "ödesdigert: \"$\" tillåts inte efter en punkt i formatet"
-#: builtin.c:846
+#: builtin.c:845
msgid "fatal: no `$' supplied for positional field width or precision"
msgstr ""
"ödesdigert: inget \"$\" bifogat för positionsangiven fältbredd eller "
"precision"
-#: builtin.c:917
+#: builtin.c:916
msgid "`l' is meaningless in awk formats; ignored"
msgstr "\"l\" är meningslös i awk-format, ignorerad"
-#: builtin.c:921
+#: builtin.c:920
msgid "fatal: `l' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"l\" tillåts inte i POSIX awk-format"
-#: builtin.c:934
+#: builtin.c:933
msgid "`L' is meaningless in awk formats; ignored"
msgstr "\"L\" är meningslös i awk-format, ignorerad"
-#: builtin.c:938
+#: builtin.c:937
msgid "fatal: `L' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"L\" tillåts inte i POSIX awk-format"
-#: builtin.c:951
+#: builtin.c:950
msgid "`h' is meaningless in awk formats; ignored"
msgstr "\"h\" är meningslös i awk-format, ignorerad"
-#: builtin.c:955
+#: builtin.c:954
msgid "fatal: `h' is not permitted in POSIX awk formats"
msgstr "ödesdigert: \"h\" tillåts inte i POSIX awk-format"
-#: builtin.c:1268
+#: builtin.c:1267
#, 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:1328
+#: builtin.c:1327
#, c-format
msgid "ignoring unknown format specifier character `%c': no argument converted"
msgstr ""
"ignorerar okänt formatspecifikationstecken \"%c\": inget argument konverterat"
-#: builtin.c:1333
+#: builtin.c:1332
msgid "fatal: not enough arguments to satisfy format string"
msgstr "ödesdigert: för få argument för formatsträngen"
-#: builtin.c:1335
+#: builtin.c:1334
msgid "^ ran out for this one"
msgstr "^ tog slut här"
-#: builtin.c:1342
+#: builtin.c:1341
msgid "[s]printf: format specifier does not have control letter"
msgstr "[s]printf: formatspecifieraren har ingen kommandobokstav"
-#: builtin.c:1345
+#: builtin.c:1344
msgid "too many arguments supplied for format string"
msgstr "för många argument för formatsträngen"
-#: builtin.c:1419 builtin.c:1430
+#: builtin.c:1418 builtin.c:1429
msgid "printf: no arguments"
msgstr "printf: inga argument"
-#: builtin.c:1471
+#: builtin.c:1470
msgid "sqrt: received non-numeric argument"
msgstr "sqrt: fick ickenumeriskt argument"
-#: builtin.c:1475
+#: builtin.c:1474
#, c-format
msgid "sqrt: called with negative argument %g"
msgstr "sqrt: anropad med negativt argument %g"
-#: builtin.c:1499
+#: builtin.c:1498
#, c-format
msgid "substr: length %g is not >= 1"
msgstr "substr: längden %g är inte >= 1"
-#: builtin.c:1501
+#: builtin.c:1500
#, c-format
msgid "substr: length %g is not >= 0"
msgstr "substr: längden %g är inte >= 0"
-#: builtin.c:1508
+#: builtin.c:1507
#, 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:1513
+#: builtin.c:1512
#, 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:1525
+#: builtin.c:1524
#, c-format
msgid "substr: start index %g is invalid, using 1"
msgstr "substr: startindex %g är ogiltigt, använder 1"
-#: builtin.c:1530
+#: builtin.c:1529
#, 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:1555
+#: builtin.c:1554
msgid "substr: source string is zero length"
msgstr "substr: källsträngen är tom"
-#: builtin.c:1571
+#: builtin.c:1570
#, c-format
msgid "substr: start index %g is past end of string"
msgstr "substr: startindex %g är bortom strängens slut"
-#: builtin.c:1579
+#: builtin.c:1578
#, c-format
msgid ""
"substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -765,219 +765,219 @@ msgstr ""
"substr: längden %g vid startindex %g överskrider det första argumentets "
"längd (%lu)"
-#: builtin.c:1652
+#: builtin.c:1651
msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type"
msgstr "strftime: formatvärde i PROCINFO[\"strftime\"] har numerisk typ"
-#: builtin.c:1675
+#: builtin.c:1674
msgid "strftime: received non-numeric second argument"
msgstr "strftime: fick ett ickenumeriskt andra argument"
-#: builtin.c:1682
+#: builtin.c:1681
msgid "strftime: received non-string first argument"
msgstr "strftime: fick ett första argument som inte är en sträng"
-#: builtin.c:1688
+#: builtin.c:1687
msgid "strftime: received empty format string"
msgstr "strftime: fick en tom formatsträng"
-#: builtin.c:1754
+#: builtin.c:1753
msgid "mktime: received non-string argument"
msgstr "mktime: fick ett argument som inte är en sträng"
-#: builtin.c:1771
+#: builtin.c:1770
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:1806
+#: builtin.c:1805
msgid "'system' function not allowed in sandbox mode"
msgstr "funktionen \"system\" är inte tillåten i sandlådeläge"
-#: builtin.c:1811
+#: builtin.c:1810
msgid "system: received non-string argument"
msgstr "system: fick ett argument som inte är en sträng"
-#: builtin.c:1866 eval.c:1165 eval.c:1698 eval.c:1711
+#: builtin.c:1865 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:1933
+#: builtin.c:1932
#, c-format
msgid "reference to uninitialized field `$%d'"
msgstr "referens till icke initierat fält \"$%d\""
-#: builtin.c:2020
+#: builtin.c:2019
msgid "tolower: received non-string argument"
msgstr "tolower: fick ett argument som inte är en sträng"
-#: builtin.c:2054
+#: builtin.c:2053
msgid "toupper: received non-string argument"
msgstr "toupper: fick ett argument som inte är en sträng"
-#: builtin.c:2090
+#: builtin.c:2089
msgid "atan2: received non-numeric first argument"
msgstr "atan2: fick ett ickenumeriskt första argument"
-#: builtin.c:2092
+#: builtin.c:2091
msgid "atan2: received non-numeric second argument"
msgstr "atan2: fick ett ickenumeriskt andra argument"
-#: builtin.c:2111
+#: builtin.c:2110
msgid "sin: received non-numeric argument"
msgstr "sin: fick ett ickenumeriskt argument"
-#: builtin.c:2127
+#: builtin.c:2126
msgid "cos: received non-numeric argument"
msgstr "cos: fick ett ickenumeriskt argument"
-#: builtin.c:2180
+#: builtin.c:2179
msgid "srand: received non-numeric argument"
msgstr "srand: fick ett ickenumeriskt argument"
-#: builtin.c:2211
+#: builtin.c:2210
msgid "match: third argument is not an array"
msgstr "match: tredje argumentet är inte en vektor"
-#: builtin.c:2718
+#: builtin.c:2474
msgid "gensub: third argument of 0 treated as 1"
msgstr "gensub: nollan i tredje argumentet behandlad som en etta"
-#: builtin.c:2757
+#: builtin.c:2767
msgid "lshift: received non-numeric first argument"
msgstr "lshift: fick ett ickenumeriskt första argument"
-#: builtin.c:2759
+#: builtin.c:2769
msgid "lshift: received non-numeric second argument"
msgstr "lshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:2765
+#: builtin.c:2775
#, 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:2767
+#: builtin.c:2777
#, c-format
msgid "lshift(%lf, %lf): fractional values will be truncated"
msgstr "lshift(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2769
+#: builtin.c:2779
#, 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:2794
+#: builtin.c:2804
msgid "rshift: received non-numeric first argument"
msgstr "rshift: fick ett ickenumeriskt första argument"
-#: builtin.c:2796
+#: builtin.c:2806
msgid "rshift: received non-numeric second argument"
msgstr "rshift: fick ett ickenumeriskt andra argument"
-#: builtin.c:2802
+#: builtin.c:2812
#, 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:2804
+#: builtin.c:2814
#, c-format
msgid "rshift(%lf, %lf): fractional values will be truncated"
msgstr "rshift(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2806
+#: builtin.c:2816
#, 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:2831
+#: builtin.c:2841
msgid "and: received non-numeric first argument"
msgstr "and: fick ett ickenumeriskt första argument"
-#: builtin.c:2833
+#: builtin.c:2843
msgid "and: received non-numeric second argument"
msgstr "and: fick ett ickenumeriskt andra argument"
-#: builtin.c:2839
+#: builtin.c:2849
#, 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:2841
+#: builtin.c:2851
#, c-format
msgid "and(%lf, %lf): fractional values will be truncated"
msgstr "and(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2866
+#: builtin.c:2876
msgid "or: received non-numeric first argument"
msgstr "or: fick ett ickenumeriskt första argument"
-#: builtin.c:2868
+#: builtin.c:2878
msgid "or: received non-numeric second argument"
msgstr "or: fick ett ickenumeriskt andra argument"
-#: builtin.c:2874
+#: builtin.c:2884
#, 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:2876
+#: builtin.c:2886
#, c-format
msgid "or(%lf, %lf): fractional values will be truncated"
msgstr "or(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2904
+#: builtin.c:2914
msgid "xor: received non-numeric first argument"
msgstr "xor: fick ett ickenumeriskt första argument"
-#: builtin.c:2906
+#: builtin.c:2916
msgid "xor: received non-numeric second argument"
msgstr "xor: fick ett ickenumeriskt andra argument"
-#: builtin.c:2912
+#: builtin.c:2922
#, 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:2914
+#: builtin.c:2924
#, c-format
msgid "xor(%lf, %lf): fractional values will be truncated"
msgstr "xor(%lf, %lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:2938 builtin.c:2944
+#: builtin.c:2948 builtin.c:2954
msgid "compl: received non-numeric argument"
msgstr "compl: fick ett ickenumeriskt argument"
-#: builtin.c:2946
+#: builtin.c:2956
#, c-format
msgid "compl(%lf): negative value will give strange results"
msgstr "compl(%lf): negativa värden kommer ge konstiga resultat"
-#: builtin.c:2948
+#: builtin.c:2958
#, c-format
msgid "compl(%lf): fractional value will be truncated"
msgstr "compl(%lf): flyttalsvärden kommer trunkeras"
-#: builtin.c:3117
+#: builtin.c:3127
#, c-format
msgid "dcgettext: `%s' is not a valid locale category"
msgstr "dcgettext: \"%s\" är inte en giltig lokalkategori"
-#: eval.c:411
+#: eval.c:412
#, c-format
msgid "unknown nodetype %d"
msgstr "okänd nodtyp %d"
-#: eval.c:422 eval.c:436
+#: eval.c:423 eval.c:437
#, c-format
msgid "unknown opcode %d"
msgstr "okänd op-kod %d"
-#: eval.c:433
+#: eval.c:434
#, c-format
msgid "opcode %s not an operator or keyword"
msgstr "op-kod %s är inte en operator eller ett nyckelord"
-#: eval.c:487
+#: eval.c:488
msgid "buffer overflow in genflags2str"
msgstr "buffertöverflöd i genflags2str"
@@ -1014,103 +1014,104 @@ msgstr "felaktig \"%sFMT\"-specifikation \"%s\""
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:1685
+#: 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:1155
-msgid "assignment is not allowed to result of builtin function"
-msgstr "det är inte tillåtet att tilldela resultatet från en inbyggd funktion"
-
-#: eval.c:1164 eval.c:1697 eval.c:1710
+#: eval.c:1158 eval.c:1789 eval.c:1802
#, c-format
msgid "reference to uninitialized argument `%s'"
msgstr "referens till icke initierat argument \"%s\""
-#: eval.c:1183
+#: eval.c:1177
msgid "attempt to field reference from non-numeric value"
msgstr "försök att fältreferera från ickenumeriskt värde"
-#: eval.c:1185
+#: eval.c:1179
msgid "attempt to field reference from null string"
msgstr "försök till fältreferens från en tom sträng"
-#: eval.c:1191
+#: eval.c:1185
#, c-format
msgid "attempt to access field %ld"
msgstr "försök att komma åt fält nummer %ld"
-#: eval.c:1200
+#: eval.c:1194
#, c-format
msgid "reference to uninitialized field `$%ld'"
msgstr "referens till icke initierat fält \"$%ld\""
-#: eval.c:1262
+#: eval.c:1256
#, c-format
msgid "function `%s' called with more arguments than declared"
msgstr "funktionen \"%s\" anropad med fler argument än vad som deklarerats"
-#: eval.c:1426
+#: eval.c:1437
#, c-format
msgid "unwind_stack: unexpected type `%s'"
msgstr "unwind_stack: oväntad typ \"%s\""
-#: eval.c:1510
+#: eval.c:1532
msgid "division by zero attempted in `/='"
msgstr "försökte dividera med noll i \"/=\""
-#: eval.c:1517
+#: eval.c:1539
#, c-format
msgid "division by zero attempted in `%%='"
msgstr "försökte dividera med noll i \"%%=\""
-#: eval.c:1784 eval.c:2030
+#: 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:1815
+#: eval.c:1907
msgid "assignment used in conditional context"
msgstr "tilldelning använt i jämförelsesammanhang"
-#: eval.c:1819
+#: eval.c:1911
msgid "statement has no effect"
msgstr "kommandot har ingen effekt"
-#: eval.c:2233
+#: 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:2343
+#: eval.c:2458
#, c-format
msgid "function called indirectly through `%s' does not exist"
msgstr "funktionen anropad indirekt genom \"%s\" finns inte"
-#: eval.c:2355
+#: eval.c:2470
#, c-format
msgid "function `%s' not defined"
msgstr "funktionen \"%s\" är inte definierad"
-#: eval.c:2416
+#: eval.c:2511
#, c-format
msgid "non-redirected `getline' invalid inside `%s' rule"
msgstr "icke omdirigerad \"getline\" odefinierad inuti \"%s\"-regel"
-#: eval.c:2477
+#: 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:2532
+#: 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:2599
+#: eval.c:2760
#, c-format
msgid "Sorry, don't know how to interpret `%s'"
msgstr "Tyvärr, vet inte hur \"%s\" skall tolkas"
@@ -1126,7 +1127,7 @@ msgstr "\"extension\" är en gawk-utökning"
#: ext.c:85
#, c-format
msgid "fatal: extension: cannot open `%s' (%s)\n"
-msgstr "ödesdigert: utökning: kan inte öppna \"%s\" (%s)\n"
+msgstr "ödesdigert: extension: kan inte öppna \"%s\" (%s)\n"
#: ext.c:94
#, c-format
@@ -1134,44 +1135,45 @@ msgid ""
"fatal: extension: library `%s': does not define "
"`plugin_is_GPL_compatible' (%s)\n"
msgstr ""
-"ödesdigert: utökning: bibliotek \"%s\": kan inte definiera "
+"ö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"
msgstr ""
-"ödesdigert: utvidgning: bibliotek \"%s\": kan inte anropa funktionen \"%s"
+"ödesdigert: extension: bibliotek \"%s\": kan inte anropa funktionen \"%s"
"\" (%s)\n"
#: ext.c:137
msgid "extension: missing function name"
-msgstr "utökning: saknar funktionsnamn"
+msgstr "extension: saknar funktionsnamn"
#: ext.c:142
#, c-format
msgid "extension: illegal character `%c' in function name `%s'"
-msgstr "utökning: ogiltigt tecken \"%c\" i funktionsnamnet \"%s\""
+msgstr "extension: ogiltigt tecken \"%c\" i funktionsnamnet \"%s\""
#: ext.c:151
#, c-format
msgid "extension: can't redefine function `%s'"
-msgstr "utökning: kan inte definiera om funktionen \"%s\""
+msgstr "extension: det går inte att definiera om funktionen \"%s\""
#: ext.c:155
#, c-format
msgid "extension: function `%s' already defined"
-msgstr "utökning: funktionen \"%s\" är redan definierad"
+msgstr "extension: funktionen \"%s\" är redan definierad"
#: ext.c:160
#, c-format
msgid "extension: function name `%s' previously defined"
-msgstr "utökning: funktionsnamnet \"%s\" är definierat sedan tidigare"
+msgstr "extension: funktionsnamnet \"%s\" är definierat sedan tidigare"
#: ext.c:162
#, c-format
msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr "utökning: kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
+msgstr ""
+"extension: kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
#: ext.c:166
#, c-format
@@ -1206,86 +1208,86 @@ msgstr "Operationen stöds inte"
msgid "NF set to negative value"
msgstr "NF satt till ett negativt värde"
-#: field.c:950 field.c:957 field.c:961
+#: field.c:951 field.c:958 field.c:962
msgid "split: fourth argument is a gawk extension"
msgstr "split: fjärde argumentet är en gawk-utökning"
-#: field.c:954
+#: field.c:955
msgid "split: fourth argument is not an array"
msgstr "split: fjärde argumentet är inte en vektor"
-#: field.c:968
+#: field.c:969
msgid "split: second argument is not an array"
msgstr "split: andra argumentet är inte en vektor"
-#: field.c:972
+#: field.c:973
msgid "split: cannot use the same array for second and fourth args"
msgstr ""
"split: det går inte att använda samma vektor som andra och fjärde argument"
-#: field.c:977
+#: field.c:978
msgid "split: cannot use a subarray of second arg for fourth arg"
msgstr ""
"split: det går inte att använda en delvektor av andra argumentet som fjärde "
"argument"
-#: field.c:980
+#: field.c:981
msgid "split: cannot use a subarray of fourth arg for second arg"
msgstr ""
"split: det går inte att använda en delvektor av fjärde argumentet som andra "
"argument"
-#: field.c:1009
+#: field.c:1010
msgid "split: null string for third arg is a gawk extension"
msgstr "split: tom sträng som tredje argument är en gawk-utökning"
-#: field.c:1049
+#: field.c:1050
msgid "patsplit: fourth argument is not an array"
msgstr "patsplit: fjärde argumentet är inte en vektor"
-#: field.c:1054
+#: field.c:1055
msgid "patsplit: second argument is not an array"
msgstr "patsplit: andra argumentet är inte en vektor"
-#: field.c:1060
+#: field.c:1061
msgid "patsplit: third argument must be non-null"
msgstr "patsplit: tredje argumentet får inte vara tomt"
-#: field.c:1064
+#: field.c:1065
msgid "patsplit: cannot use the same array for second and fourth args"
msgstr ""
"patsplit: det går inte att använda samma vektor som andra och fjärde argument"
-#: field.c:1069
+#: field.c:1070
msgid "patsplit: cannot use a subarray of second arg for fourth arg"
msgstr ""
"patsplit: det går inte att använda en delvektor av andra argumentet som "
"fjärde argument"
-#: field.c:1072
+#: field.c:1073
msgid "patsplit: cannot use a subarray of fourth arg for second arg"
msgstr ""
"patsplit: det går inte att använda en delvektor av fjärde argumentet som "
"andra argument"
-#: field.c:1109
+#: field.c:1110
msgid "`FIELDWIDTHS' is a gawk extension"
msgstr "\"FIELDWIDTHS\" är en gawk-utökning"
-#: field.c:1172
+#: field.c:1173
#, c-format
msgid "invalid FIELDWIDTHS value, near `%s'"
msgstr "ogiltigt FIELDWITHS-värde i närheten av \"%s\""
-#: field.c:1245
+#: field.c:1246
msgid "null string for `FS' is a gawk extension"
msgstr "tom sträng som \"FS\" är en gawk-utökning"
-#: field.c:1249
+#: field.c:1250
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:1368
+#: field.c:1369
msgid "`FPAT' is a gawk extension"
msgstr "\"FPAT\" är en gawk-utökning"
@@ -1344,463 +1346,458 @@ msgstr "%s: flaggan \"-W %s\" tillåter inte något argument\n"
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: flaggan \"-W %s\" kräver ett argument\n"
-#: io.c:282
+#: io.c:280
#, c-format
msgid "command line argument `%s' is a directory: skipped"
msgstr "kommandoradsargumentet \"%s\" är en katalog: hoppas över"
-#: io.c:285 io.c:384
+#: io.c:283 io.c:385
#, c-format
msgid "cannot open file `%s' for reading (%s)"
msgstr "kan inte öppna filen \"%s\" för läsning (%s)"
-#: io.c:431
-#, c-format
-msgid "error reading input file `%s': %s"
-msgstr "fel vid läsning av indatafilen \"%s\": %s"
-
-#: io.c:500
+#: io.c:501
#, c-format
msgid "close of fd %d (`%s') failed (%s)"
msgstr "stängning av fd %d (\"%s\") misslyckades (%s)"
-#: io.c:577
+#: io.c:578
msgid "redirection not allowed in sandbox mode"
msgstr "omdirigering är inte tillåten i sandlådeläge"
-#: io.c:611
+#: io.c:612
#, c-format
msgid "expression in `%s' redirection only has numeric value"
msgstr "uttrycket i \"%s\"-omdirigering har bara numeriskt värde"
-#: io.c:617
+#: io.c:618
#, 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:623
+#: io.c:624
#, 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:666
+#: io.c:667
#, c-format
msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
msgstr "onödig blandning av \">\" och \">>\" för filen \"%.*s\""
-#: io.c:719
+#: io.c:720
#, c-format
msgid "can't open pipe `%s' for output (%s)"
msgstr "kan inte öppna röret \"%s\" för utmatning (%s)"
-#: io.c:729
+#: io.c:730
#, c-format
msgid "can't open pipe `%s' for input (%s)"
msgstr "kan inte öppna röret \"%s\" för inmatning (%s)"
-#: io.c:752
+#: io.c:753
#, 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:834
+#: io.c:835
#, c-format
msgid "can't redirect from `%s' (%s)"
msgstr "kan inte dirigera om från \"%s\" (%s)"
-#: io.c:837
+#: io.c:838
#, c-format
msgid "can't redirect to `%s' (%s)"
msgstr "kan inte dirigera om till \"%s\" (%s)"
-#: io.c:888
+#: io.c:889
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:904
+#: io.c:905
#, c-format
msgid "close of `%s' failed (%s)."
msgstr "stängning av \"%s\" misslyckades (%s)"
-#: io.c:912
+#: io.c:913
msgid "too many pipes or input files open"
msgstr "för många rör eller indatafiler öppna"
-#: io.c:934
+#: io.c:935
msgid "close: second argument must be `to' or `from'"
msgstr "close: andra argumentet måste vara \"to\" eller \"from\""
-#: io.c:951
+#: io.c:952
#, 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:956
+#: io.c:957
msgid "close of redirection that was never opened"
msgstr "stängning av omdirigering som aldrig öppnades"
-#: io.c:1053
+#: io.c:1054
#, c-format
msgid "close: redirection `%s' not opened with `|&', second argument ignored"
msgstr ""
"close: omdirigeringen \"%s\" öppnades inte med \"|&\", andra argumentet "
"ignorerat"
-#: io.c:1069
+#: io.c:1070
#, 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:1072
+#: io.c:1073
#, c-format
msgid "failure status (%d) on file close of `%s' (%s)"
msgstr "felstatus (%d) från filstängning av \"%s\" (%s)"
-#: io.c:1092
+#: io.c:1093
#, c-format
msgid "no explicit close of socket `%s' provided"
msgstr "ingen explicit stängning av uttaget \"%s\" tillhandahållen"
-#: io.c:1095
+#: io.c:1096
#, c-format
msgid "no explicit close of co-process `%s' provided"
msgstr "ingen explicit stängning av koprocessen \"%s\" tillhandahållen"
-#: io.c:1098
+#: io.c:1099
#, c-format
msgid "no explicit close of pipe `%s' provided"
msgstr "ingen explicit stängning av röret \"%s\" tillhandahållen"
-#: io.c:1101
+#: io.c:1102
#, c-format
msgid "no explicit close of file `%s' provided"
msgstr "ingen explicit stängning av filen \"%s\" tillhandahållen"
-#: io.c:1129 io.c:1184 main.c:795 main.c:832
+#: io.c:1130 io.c:1185 main.c:793 main.c:830
#, c-format
msgid "error writing standard output (%s)"
msgstr "fel vid skrivning till standard ut (%s)"
-#: io.c:1133 io.c:1189
+#: io.c:1134 io.c:1190
#, c-format
msgid "error writing standard error (%s)"
msgstr "fel vid skrivning till standard fel (%s)"
-#: io.c:1141
+#: io.c:1142
#, c-format
msgid "pipe flush of `%s' failed (%s)."
msgstr "rörspolning av \"%s\" misslyckades (%s)"
-#: io.c:1144
+#: io.c:1145
#, c-format
msgid "co-process flush of pipe to `%s' failed (%s)."
msgstr "koprocesspolning av röret till \"%s\" misslyckades (%s)"
-#: io.c:1147
+#: io.c:1148
#, c-format
msgid "file flush of `%s' failed (%s)."
msgstr "filspolning av \"%s\" misslyckades (%s)"
-#: io.c:1262
+#: io.c:1263
#, c-format
msgid "local port %s invalid in `/inet'"
msgstr "lokal port %s ogiltig i \"/inet\""
-#: io.c:1279
+#: io.c:1280
#, 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:1431
+#: io.c:1432
#, 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:1445
+#: io.c:1446
#, c-format
msgid "special file name `%s' is incomplete"
msgstr "speciellt filnamn \"%s\" är ofullständigt"
-#: io.c:1462
+#: io.c:1463
msgid "must supply a remote hostname to `/inet'"
msgstr "måste tillhandahålla ett fjärrdatornamn till \"/inet\""
-#: io.c:1480
+#: io.c:1481
msgid "must supply a remote port to `/inet'"
msgstr "måste tillhandahålla en fjärrport till \"/inet\""
-#: io.c:1526
+#: io.c:1527
msgid "TCP/IP communications are not supported"
msgstr "TCP/IP-kommunikation stöds inte"
-#: io.c:1693
+#: io.c:1694
#, c-format
msgid "could not open `%s', mode `%s'"
msgstr "kunde inte öppna \"%s\", läge \"%s\""
-#: io.c:1744
+#: io.c:1748
#, c-format
msgid "close of master pty failed (%s)"
msgstr "stängning av huvudpty misslyckades (%s)"
-#: io.c:1746 io.c:1914 io.c:2071
+#: io.c:1750 io.c:1918 io.c:2075
#, c-format
msgid "close of stdout in child failed (%s)"
msgstr "stängning av standard ut i barnet misslyckades (%s)"
-#: io.c:1749
+#: io.c:1753
#, 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:1751 io.c:1919
+#: io.c:1755 io.c:1923
#, c-format
msgid "close of stdin in child failed (%s)"
msgstr "stängning av standard in i barnet misslyckades (%s)"
-#: io.c:1754
+#: io.c:1758
#, 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:1756 io.c:1777
+#: io.c:1760 io.c:1781
#, c-format
msgid "close of slave pty failed (%s)"
msgstr "stängning av slavpty misslyckades (%s)"
-#: io.c:1855 io.c:1917 io.c:2049 io.c:2074
+#: io.c:1859 io.c:1921 io.c:2053 io.c:2078
#, 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:1862 io.c:1922
+#: io.c:1866 io.c:1926
#, 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:1882 io.c:2064
+#: io.c:1886 io.c:2068
msgid "restoring stdout in parent process failed\n"
msgstr "återställande av standard ut i förälderprocessen misslyckades\n"
-#: io.c:1890
+#: io.c:1894
msgid "restoring stdin in parent process failed\n"
msgstr "återställande av standard in i förälderprocessen misslyckades\n"
-#: io.c:1925 io.c:2076 io.c:2090
+#: io.c:1929 io.c:2080 io.c:2094
#, c-format
msgid "close of pipe failed (%s)"
msgstr "stängning av röret misslyckades (%s)"
-#: io.c:1970
+#: io.c:1974
msgid "`|&' not supported"
msgstr "\"|&\" stöds inte"
-#: io.c:2036
+#: io.c:2040
#, c-format
msgid "cannot open pipe `%s' (%s)"
msgstr "kan inte öppna röret \"%s\" (%s)"
-#: io.c:2084
+#: io.c:2088
#, c-format
msgid "cannot create child process for `%s' (fork: %s)"
msgstr "kan inte skapa barnprocess för \"%s\" (fork: %s)"
-#: io.c:2517
+#: io.c:2521
#, c-format
msgid "data file `%s' is empty"
msgstr "datafilen \"%s\" är tom"
-#: io.c:2558 io.c:2566
+#: io.c:2562 io.c:2570
msgid "could not allocate more input memory"
msgstr "kunde inte allokera mer indataminne"
-#: io.c:3119
+#: io.c:3128
msgid "multicharacter value of `RS' is a gawk extension"
msgstr "flerteckensvärdet av \"RS\" är en gawk-utökning"
-#: io.c:3224
+#: io.c:3233
msgid "IPv6 communication is not supported"
msgstr "IPv6-kommunikation stöds inte"
-#: main.c:366
+#: main.c:364
msgid "`-m[fr]' option irrelevant in gawk"
msgstr "\"-m[fr]\"-flaggan är irrelevant i gawk"
-#: main.c:368
+#: main.c:366
msgid "-m option usage: `-m[fr] nnn'"
msgstr "-m-flaggans användning: \"-m[fr] nnn\""
-#: main.c:391
+#: main.c:389
msgid "empty argument to `-e/--source' ignored"
msgstr "tomt argument till \"-e/--source\" ignorerat"
-#: main.c:462
+#: main.c:460
#, c-format
msgid "%s: option `-W %s' unrecognized, ignored\n"
msgstr "%s: flaggan \"-W %s\" okänd, ignorerad\n"
-#: main.c:515
+#: main.c:513
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: flaggan kräver ett argument -- %c\n"
-#: main.c:536
+#: main.c:534
msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
msgstr "miljövariabeln \"POSIXLY_CORRECT\" satt: slår på \"--posix\""
-#: main.c:542
+#: main.c:540
msgid "`--posix' overrides `--traditional'"
msgstr "\"--posix\" åsidosätter \"--traditional\""
-#: main.c:553
+#: main.c:551
msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
msgstr "\"--posix\"/\"--traditional\" åsidosätter \"--non-decimal-data\""
-#: main.c:557
+#: main.c:555
#, 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:562
+#: main.c:560
msgid "`--posix' overrides `--binary'"
msgstr "\"--posix\" åsidosätter \"--binary\""
-#: main.c:613
+#: main.c:611
#, 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:616
+#: main.c:614
#, 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:618
+#: main.c:616
#, 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:657
+#: main.c:655
msgid "no program text at all!"
msgstr "ingen programtext alls!"
-#: main.c:735
+#: main.c:733
#, 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:737
+#: main.c:735
#, 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:742
+#: main.c:740
msgid "POSIX options:\t\tGNU long options: (standard)\n"
msgstr "POSIX-flaggor:\t\tGNU långa flaggor: (standard)\n"
-#: main.c:743
+#: main.c:741
msgid "\t-f progfile\t\t--file=progfile\n"
msgstr "\t-f progfil\t\t--file=progfil\n"
-#: main.c:744
+#: main.c:742
msgid "\t-F fs\t\t\t--field-separator=fs\n"
msgstr "\t-F fs\t\t\t--field-separator=fs\n"
-#: main.c:745
+#: main.c:743
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:746
+#: main.c:744
msgid "Short options:\t\tGNU long options: (extensions)\n"
msgstr "Korta flaggor:\t\tGNU långa flaggor: (utökningar)\n"
-#: main.c:747
+#: main.c:745
msgid "\t-b\t\t\t--characters-as-bytes\n"
msgstr "\t-b\t\t\t--characters-as-bytes\n"
-#: main.c:748
+#: main.c:746
msgid "\t-c\t\t\t--traditional\n"
msgstr "\t-c\t\t\t--traditional\n"
-#: main.c:749
+#: main.c:747
msgid "\t-C\t\t\t--copyright\n"
msgstr "\t-C\t\t\t--copyright\n"
-#: main.c:750
+#: main.c:748
msgid "\t-d[file]\t\t--dump-variables[=file]\n"
msgstr "\t-d[fil]\t\t\t--dump-variables[=fil]\n"
-#: main.c:751
+#: main.c:749
msgid "\t-e 'program-text'\t--source='program-text'\n"
msgstr "\t-e 'programtext'\t--source='programtext'\n"
-#: main.c:752
+#: main.c:750
msgid "\t-E file\t\t\t--exec=file\n"
msgstr "\t-E fil\t\t\t--exec=fil\n"
-#: main.c:753
+#: main.c:751
msgid "\t-g\t\t\t--gen-pot\n"
msgstr "\t-g\t\t\t--gen-pot\n"
-#: main.c:754
+#: main.c:752
msgid "\t-h\t\t\t--help\n"
msgstr "\t-h\t\t\t--help\n"
-#: main.c:755
+#: main.c:753
msgid "\t-L [fatal]\t\t--lint[=fatal]\n"
msgstr "\t-L [fatal]\t\t--lint[=fatal]\n"
-#: main.c:756
+#: main.c:754
msgid "\t-n\t\t\t--non-decimal-data\n"
msgstr "\t-n\t\t\t--non-decimal-data\n"
-#: main.c:757
+#: main.c:755
msgid "\t-N\t\t\t--use-lc-numeric\n"
msgstr "\t-N\t\t\t--use-lc-numeric\n"
-#: main.c:758
+#: main.c:756
msgid "\t-O\t\t\t--optimize\n"
msgstr "\t-O\t\t\t--optimize\n"
-#: main.c:759
+#: main.c:757
msgid "\t-p[file]\t\t--profile[=file]\n"
msgstr "\t-p[fil]\t\t\t--profile[=fil]\n"
-#: main.c:760
+#: main.c:758
msgid "\t-P\t\t\t--posix\n"
msgstr "\t-P\t\t\t--posix\n"
-#: main.c:761
+#: main.c:759
msgid "\t-r\t\t\t--re-interval\n"
msgstr "\t-r\t\t\t--re-interval\n"
-#: main.c:763
+#: 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:764
+#: main.c:762
msgid "\t-S\t\t\t--sandbox\n"
msgstr "\t-S\t\t\t--sandbox\n"
-#: main.c:765
+#: main.c:763
msgid "\t-t\t\t\t--lint-old\n"
msgstr "\t-t\t\t\t--lint-old\n"
-#: main.c:766
+#: main.c:764
msgid "\t-V\t\t\t--version\n"
msgstr "\t-V\t\t\t--version\n"
-#: main.c:768
+#: main.c:766
msgid "\t-W nostalgia\t\t--nostalgia\n"
msgstr "\t-W nostalgia\t\t--nostalgia\n"
-#: main.c:771
+#: main.c:769
msgid "\t-Y\t\t--parsedebug\n"
msgstr "\t-Y\t\t--parsedebug\n"
@@ -1809,7 +1806,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:780
+#: main.c:778
msgid ""
"\n"
"To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1823,7 +1820,7 @@ msgstr ""
"Rapportera synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
"\n"
-#: main.c:784
+#: main.c:782
msgid ""
"gawk is a pattern scanning and processing language.\n"
"By default it reads standard input and writes standard output.\n"
@@ -1833,7 +1830,7 @@ msgstr ""
"Normalt läser det från standard in och skriver till standard ut.\n"
"\n"
-#: main.c:788
+#: main.c:786
msgid ""
"Examples:\n"
"\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1843,7 +1840,7 @@ msgstr ""
"\tgawk '{ sum += $1 }; END { print sum }' fil\n"
"\tgawk -F: '{ print $1 }' /etc/passwd\n"
-#: main.c:808
+#: main.c:806
#, c-format
msgid ""
"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1862,7 +1859,7 @@ msgstr ""
"någon senare version.\n"
"\n"
-#: main.c:816
+#: main.c:814
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"
@@ -1876,7 +1873,7 @@ msgstr ""
"General Public License för ytterligare information.\n"
"\n"
-#: main.c:822
+#: main.c:820
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"
@@ -1884,69 +1881,69 @@ 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:857
+#: main.c:855
msgid "-Ft does not set FS to tab in POSIX awk"
msgstr "-Ft sätter inte FS till tab i POSIX-awk"
-#: main.c:1091
+#: main.c:1089
#, c-format
msgid "unknown value for field spec: %d\n"
msgstr "okänt värde till fältspecifikation: %d\n"
-#: main.c:1152
+#: main.c:1170
#, 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:1178
+#: main.c:1196
#, c-format
msgid "`%s' is not a legal variable name"
msgstr "\"%s\" är inte ett giltigt variabelnamn"
-#: main.c:1181
+#: main.c:1199
#, 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:1185
-#, fuzzy, c-format
+#: main.c:1203
+#, c-format
msgid "cannot use gawk builtin `%s' as variable name"
-msgstr "utökning: kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
+msgstr "kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn"
-#: main.c:1190
-#, fuzzy, c-format
+#: main.c:1208
+#, c-format
msgid "cannot use function `%s' as variable name"
-msgstr "kan inte använda funktionsnamnet \"%s\" som variabel eller vektor"
+msgstr "kan inte använda funktionen \"%s\" som variabelnamn"
-#: main.c:1243
+#: main.c:1261
msgid "floating point exception"
msgstr "flyttalsundantag"
-#: main.c:1250
+#: main.c:1268
msgid "fatal error: internal error"
msgstr "ödesdigert fel: internt fel"
-#: main.c:1265
+#: main.c:1283
msgid "fatal error: internal error: segfault"
msgstr "ödesdigert fel: internt fel: segmenteringsfel"
-#: main.c:1277
+#: main.c:1295
msgid "fatal error: internal error: stack overflow"
msgstr "ödesdigert fel: internt fel: stackspill"
-#: main.c:1327
+#: main.c:1345
#, c-format
msgid "no pre-opened fd %d"
msgstr "ingen föröppnad fd %d"
-#: main.c:1334
+#: main.c:1352
#, 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:1357 main.c:1366
+#: main.c:1375 main.c:1384
#, c-format
msgid "could not find groups: %s"
msgstr "kunde inte hitta grupper: %s"
@@ -2041,12 +2038,12 @@ msgstr ""
msgid "internal error: %s with null vname"
msgstr "internt fel: %s med null vname"
-#: profile.c:938
+#: profile.c:952
#, c-format
msgid "\t# gawk profile, created %s\n"
msgstr "\t# gawkprofil, skapad %s\n"
-#: profile.c:1317
+#: profile.c:1331
#, c-format
msgid ""
"\n"
@@ -2055,14 +2052,14 @@ msgstr ""
"\n"
"\t# Funktioner, listade alfabetiskt\n"
-#: profile.c:1356
+#: profile.c:1370
#, c-format
msgid "redir2str: unknown redirection type %d"
msgstr "redir2str: okänd omdirigeringstyp %d"
#: re.c:572
-#, c-format
-msgid "range of the form `[%c-%c]' is locale dependant"
+#, fuzzy, c-format
+msgid "range of the form `[%c-%c]' is locale dependent"
msgstr "intervall på formen \"[%c-%c]\" är lokalberoende"
#: re.c:599
@@ -2142,3 +2139,7 @@ msgstr "Obalanserad ) eller \\)"
#: regcomp.c:701
msgid "No previous regular expression"
msgstr "Inget föregående reguljärt uttryck"
+
+#~ msgid "assignment is not allowed to result of builtin function"
+#~ msgstr ""
+#~ "det är inte tillåtet att tilldela resultatet från en inbyggd funktion"
diff --git a/profile.c b/profile.c
index cba8be9e..01d1e42f 100644
--- a/profile.c
+++ b/profile.c
@@ -507,6 +507,20 @@ cleanup:
case Op_after_endfile:
break;
+ case Op_sub_builtin:
+ {
+ const char *fname = "sub";
+ if (pc->sub_flags & GSUB)
+ fname = "gsub";
+ else if (pc->sub_flags & GENSUB)
+ fname = "gensub";
+ tmp = pp_list(pc->expr_count, "()", ", ");
+ str = pp_concat(fname, tmp, "");
+ efree(tmp);
+ pp_push(Op_sub_builtin, str, CAN_FREE);
+ }
+ break;
+
case Op_builtin:
{
static char *ext_func = "extension_function()";
diff --git a/re.c b/re.c
index 234384b7..cec95dac 100644
--- a/re.c
+++ b/re.c
@@ -52,7 +52,7 @@ make_regexp(const char *s, size_t len, int ignorecase, int dfa, int canfatal)
* It is 0, when the current character is a singlebyte character.
*/
size_t is_multibyte = 0;
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
mbstate_t mbs;
if (gawk_mb_cur_max > 1)
@@ -85,7 +85,7 @@ make_regexp(const char *s, size_t len, int ignorecase, int dfa, int canfatal)
dest = buf;
while (src < end) {
-#ifdef MBS_SUPPORT
+#if MBS_SUPPORT
if (gawk_mb_cur_max > 1 && ! is_multibyte) {
/* The previous byte is a singlebyte character, or last byte
of a multibyte character. We check the next character. */
@@ -569,7 +569,7 @@ again:
&& ! isdigit((unsigned char) sp[-1]) && ! isdigit((unsigned char) sp[1])
&& ! (sp[-2] == '[' && sp[-1] == '^')) {
range_warned = TRUE;
- warning(_("range of the form `[%c-%c]' is locale dependant"),
+ warning(_("range of the form `[%c-%c]' is locale dependent"),
sp[-1], sp[1]);
}
if (count == 0) {
diff --git a/regex_internal.c b/regex_internal.c
index 44bb3ecc..0c4f8f80 100644
--- a/regex_internal.c
+++ b/regex_internal.c
@@ -871,7 +871,7 @@ re_string_peek_byte_case (const re_string_t *pstr, int idx)
}
static unsigned char
-internal_function __attribute ((pure))
+internal_function
re_string_fetch_byte_case (re_string_t *pstr)
{
if (BE (!pstr->mbs_allocated, 1))
diff --git a/regex_internal.h b/regex_internal.h
index 26b8abe0..b5dc7b46 100644
--- a/regex_internal.h
+++ b/regex_internal.h
@@ -108,14 +108,9 @@ is_blank (int c)
# define SIZE_MAX ((size_t) -1)
#endif
-#ifndef NO_MBSUPPORT
#include "mbsupport.h" /* gawk */
-#endif
-#ifndef MB_CUR_MAX
-#define MB_CUR_MAX 1
-#endif
-#if (defined MBS_SUPPORT) || _LIBC
+#if MBS_SUPPORT || _LIBC
# define RE_ENABLE_I18N
#endif
diff --git a/test/ChangeLog b/test/ChangeLog
index 2ae225be..21224fd7 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,46 @@
+2011-10-02 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (rtlen, rtlen01, rtlenmb): New tests.
+ * rtlen.ok, rtlen.sh, rtlen01.ok, rtlen01.sh: New files.
+ Thanks to Rogier <rogier777@gmail.com> as forwarded by
+ Jeroen Schot <schot@A-Eskwadraat.nl>.
+
+2011-08-10 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (beginfile2, fpat3, fwtest3): New tests.
+ * beginfile2.awk, beginfile2.in, beginfile2.ok: New files.
+ * fpat3.awk, fpat3.in, fpat3.ok: New files.
+ * fwtest3.awk, fwtest3.in, fwtest3.ok: New files.
+
+2011-08-09 Arnold D. Robbins <arnold@skeeve.com>
+
+ * pty1.awk, pty1.ok: New files.
+ * Makefile.am (pty1): New test.
+ (profile1, profile2, profile3): Use unique names for the profile
+ files to avoid problems with parallel 'make check'
+
+2011-07-29 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (next): Redirect output to output file!
+
+2011-07-28 Arnold D. Robbins <arnold@skeeve.com>
+
+ * sortu.awk, sortu.ok: Modified to make numeric comparison do
+ a stable sort. Thanks to Peter Fales <Peter.Fales@alcatel-lucent.com>.
+ * backgsub.ok: Update for change in code.
+ * Makefile.am (posix2008sub): Add --posix to invocation.
+
+2011-07-26 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (getline4, gsubtst8): New tests.
+ * getline4.awk, getline4.in, getline4.ok: New files.
+ * gsubtst8.awk, gsubtst8.in, gsubtst8.ok: New files.
+
+2011-07-15 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (gsubtst7): New test.
+ * gsubtst7.awk, gsubtst7.in, gsubtst7.ok: New files.
+
2011-06-24 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (EXTRA_DIST): Add ChangeLog.0.
diff --git a/test/Makefile.am b/test/Makefile.am
index 2d7bf34f..57d4d464 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -115,6 +115,9 @@ EXTRA_DIST = \
badargs.ok \
beginfile1.awk \
beginfile1.ok \
+ beginfile2.in \
+ beginfile2.ok \
+ beginfile2.sh \
binmode1.ok \
childin.awk \
childin.in \
@@ -231,6 +234,9 @@ EXTRA_DIST = \
fpat1.ok \
fpat2.awk \
fpat2.ok \
+ fpat3.awk \
+ fpat3.in \
+ fpat3.ok \
fpatnull.awk \
fpatnull.in \
fpatnull.ok \
@@ -271,6 +277,9 @@ EXTRA_DIST = \
fwtest2.awk \
fwtest2.in \
fwtest2.ok \
+ fwtest3.awk \
+ fwtest3.in \
+ fwtest3.ok \
gensub.awk \
gensub.in \
gensub.ok \
@@ -283,6 +292,9 @@ EXTRA_DIST = \
getline2.ok \
getline3.awk \
getline3.ok \
+ getline4.awk \
+ getline4.in \
+ getline4.ok \
getlnbuf.awk \
getlnbuf.in \
getlnbuf.ok \
@@ -318,6 +330,12 @@ EXTRA_DIST = \
gsubtst5.ok \
gsubtst6.awk \
gsubtst6.ok \
+ gsubtst7.awk \
+ gsubtst7.in \
+ gsubtst7.ok \
+ gsubtst8.awk \
+ gsubtst8.in \
+ gsubtst8.ok \
gtlnbufv.awk \
hex.awk \
hex.ok \
@@ -567,6 +585,8 @@ EXTRA_DIST = \
prt1eval.ok \
prtoeval.awk \
prtoeval.ok \
+ pty1.awk \
+ pty1.ok \
rand.awk \
rand.ok \
range1.awk \
@@ -635,6 +655,10 @@ EXTRA_DIST = \
rswhite.awk \
rswhite.in \
rswhite.ok \
+ rtlen.ok \
+ rtlen.sh \
+ rtlen01.ok \
+ rtlen01.sh \
scalar.awk \
scalar.ok \
sclforin.awk \
@@ -766,8 +790,10 @@ BASIC_TESTS = \
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 getlnbuf getnr2tb getnr2tm \
+ 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 \
@@ -786,17 +812,22 @@ BASIC_TESTS = \
wjposer1 zero2 zeroe0 zeroflag
UNIX_TESTS = \
- fflush getlnhd localenl pid pipeio1 pipeio2 poundbang space strftlng
+ fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \
+ space strftlng
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
- backw badargs beginfile1 binmode1 clos1way delsub devfd devfd1 \
- devfd2 dumpvars exit fieldwdth fpat1 fpat2 fpatnull fsfwfs funlen \
- fwtest fwtest2 gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
+ 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 \
- profile1 profile2 profile3 rebuf regx8bit reint reint2 rsstart1 \
+ profile1 profile2 profile3 pty1 \
+ rebuf regx8bit reint reint2 rsstart1 \
rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
strtonum switch2
@@ -808,7 +839,7 @@ MACHINE_TESTS = double1 double2 fmtspcl intformat
LOCALE_CHARSET_TESTS = \
asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \
- mbprintf1 mbprintf2 mbprintf3 rebt8b2 sort1 sprintfc
+ mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc
# List of the tests which should be run with --lint option:
NEED_LINT = \
@@ -1238,6 +1269,22 @@ rsstart3::
@head $(srcdir)/rsstart1.in | $(AWK) -f $(srcdir)/rsstart2.awk >_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+rtlen::
+ @echo $@
+ @$(srcdir)/$@.sh >_$@ || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+rtlen01::
+ @echo $@
+ @$(srcdir)/$@.sh >_$@ || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+rtlenmb::
+ @echo $@
+ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+ $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/rtlen.ok _$@ && rm -f _$@
+
nondec2::
@echo $@
@$(AWK) --non-decimal-data -v a=0x1 -f $(srcdir)/$@.awk >_$@
@@ -1341,6 +1388,11 @@ beginfile1::
@AWKPATH=$(srcdir) $(AWK) -f $@.awk $(srcdir)/$@.awk . ./no/such/file Makefile >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+beginfile2:
+ @echo $@
+ @-AWK="$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in > _$@ 2>&1
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
dumpvars::
@echo $@
@AWKPATH=$(srcdir) $(AWK) --dump-variables 1 < $(srcdir)/$@.in >/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1349,20 +1401,25 @@ dumpvars::
profile1:
@echo $@
- @$(AWK) --profile -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > _$@.out1
- @$(AWK) -f awkprof.out $(srcdir)/dtdgport.awk > _$@.out2 ; rm awkprof.out
+ @$(AWK) --profile=ap-$@.out -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > _$@.out1
+ @$(AWK) -f ap-$@.out $(srcdir)/dtdgport.awk > _$@.out2 ; rm ap-$@.out
@cmp _$@.out1 _$@.out2 && rm _$@.out[12] || echo EXIT CODE: $$? >>_$@
profile2:
@echo $@
- @$(PGAWK) -v sortcmd=sort -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > /dev/null
- @sed 1,2d < awkprof.out > _$@; rm awkprof.out
+ @$(PGAWK) --profile=ap-$@.out -v sortcmd=sort -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > /dev/null
+ @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
profile3:
@echo $@
- @$(PGAWK) -f $(srcdir)/$@.awk > /dev/null
- @sed 1,2d < awkprof.out > _$@; rm awkprof.out
+ @$(PGAWK) --profile=ap-$@.out -f $(srcdir)/$@.awk > /dev/null
+ @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+posix2008sub:
+ @echo $@
+ @$(AWK) --posix -f $(srcdir)/$@.awk > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
next:
diff --git a/test/Makefile.in b/test/Makefile.in
index 04ea041c..e5ff2005 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -300,6 +300,9 @@ EXTRA_DIST = \
badargs.ok \
beginfile1.awk \
beginfile1.ok \
+ beginfile2.in \
+ beginfile2.ok \
+ beginfile2.sh \
binmode1.ok \
childin.awk \
childin.in \
@@ -416,6 +419,9 @@ EXTRA_DIST = \
fpat1.ok \
fpat2.awk \
fpat2.ok \
+ fpat3.awk \
+ fpat3.in \
+ fpat3.ok \
fpatnull.awk \
fpatnull.in \
fpatnull.ok \
@@ -456,6 +462,9 @@ EXTRA_DIST = \
fwtest2.awk \
fwtest2.in \
fwtest2.ok \
+ fwtest3.awk \
+ fwtest3.in \
+ fwtest3.ok \
gensub.awk \
gensub.in \
gensub.ok \
@@ -468,6 +477,9 @@ EXTRA_DIST = \
getline2.ok \
getline3.awk \
getline3.ok \
+ getline4.awk \
+ getline4.in \
+ getline4.ok \
getlnbuf.awk \
getlnbuf.in \
getlnbuf.ok \
@@ -503,6 +515,12 @@ EXTRA_DIST = \
gsubtst5.ok \
gsubtst6.awk \
gsubtst6.ok \
+ gsubtst7.awk \
+ gsubtst7.in \
+ gsubtst7.ok \
+ gsubtst8.awk \
+ gsubtst8.in \
+ gsubtst8.ok \
gtlnbufv.awk \
hex.awk \
hex.ok \
@@ -752,6 +770,8 @@ EXTRA_DIST = \
prt1eval.ok \
prtoeval.awk \
prtoeval.ok \
+ pty1.awk \
+ pty1.ok \
rand.awk \
rand.ok \
range1.awk \
@@ -820,6 +840,10 @@ EXTRA_DIST = \
rswhite.awk \
rswhite.in \
rswhite.ok \
+ rtlen.ok \
+ rtlen.sh \
+ rtlen01.ok \
+ rtlen01.sh \
scalar.awk \
scalar.ok \
sclforin.awk \
@@ -951,8 +975,10 @@ BASIC_TESTS = \
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 getlnbuf getnr2tb getnr2tm \
+ 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 \
@@ -971,17 +997,22 @@ BASIC_TESTS = \
wjposer1 zero2 zeroe0 zeroflag
UNIX_TESTS = \
- fflush getlnhd localenl pid pipeio1 pipeio2 poundbang space strftlng
+ fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \
+ space strftlng
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
- backw badargs beginfile1 binmode1 clos1way delsub devfd devfd1 \
- devfd2 dumpvars exit fieldwdth fpat1 fpat2 fpatnull fsfwfs funlen \
- fwtest fwtest2 gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
+ 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 \
- profile1 profile2 profile3 rebuf regx8bit reint reint2 rsstart1 \
+ profile1 profile2 profile3 pty1 \
+ rebuf regx8bit reint reint2 rsstart1 \
rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
strtonum switch2
@@ -990,7 +1021,7 @@ INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
LOCALE_CHARSET_TESTS = \
asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \
- mbprintf1 mbprintf2 mbprintf3 rebt8b2 sort1 sprintfc
+ mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc
# List of the tests which should be run with --lint option:
@@ -1589,6 +1620,22 @@ rsstart3::
@head $(srcdir)/rsstart1.in | $(AWK) -f $(srcdir)/rsstart2.awk >_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+rtlen::
+ @echo $@
+ @$(srcdir)/$@.sh >_$@ || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+rtlen01::
+ @echo $@
+ @$(srcdir)/$@.sh >_$@ || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+rtlenmb::
+ @echo $@
+ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+ $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/rtlen.ok _$@ && rm -f _$@
+
nondec2::
@echo $@
@$(AWK) --non-decimal-data -v a=0x1 -f $(srcdir)/$@.awk >_$@
@@ -1692,6 +1739,11 @@ beginfile1::
@AWKPATH=$(srcdir) $(AWK) -f $@.awk $(srcdir)/$@.awk . ./no/such/file Makefile >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+beginfile2:
+ @echo $@
+ @-AWK="$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in > _$@ 2>&1
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
dumpvars::
@echo $@
@AWKPATH=$(srcdir) $(AWK) --dump-variables 1 < $(srcdir)/$@.in >/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1700,20 +1752,25 @@ dumpvars::
profile1:
@echo $@
- @$(AWK) --profile -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > _$@.out1
- @$(AWK) -f awkprof.out $(srcdir)/dtdgport.awk > _$@.out2 ; rm awkprof.out
+ @$(AWK) --profile=ap-$@.out -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > _$@.out1
+ @$(AWK) -f ap-$@.out $(srcdir)/dtdgport.awk > _$@.out2 ; rm ap-$@.out
@cmp _$@.out1 _$@.out2 && rm _$@.out[12] || echo EXIT CODE: $$? >>_$@
profile2:
@echo $@
- @$(PGAWK) -v sortcmd=sort -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > /dev/null
- @sed 1,2d < awkprof.out > _$@; rm awkprof.out
+ @$(PGAWK) --profile=ap-$@.out -v sortcmd=sort -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > /dev/null
+ @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
profile3:
@echo $@
- @$(PGAWK) -f $(srcdir)/$@.awk > /dev/null
- @sed 1,2d < awkprof.out > _$@; rm awkprof.out
+ @$(PGAWK) --profile=ap-$@.out -f $(srcdir)/$@.awk > /dev/null
+ @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+posix2008sub:
+ @echo $@
+ @$(AWK) --posix -f $(srcdir)/$@.awk > _$@ 2>&1
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
next:
@@ -2042,6 +2099,11 @@ getline3:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+getline4:
+ @echo getline4
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
getnr2tb:
@echo getnr2tb
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2077,6 +2139,16 @@ gsubtst5:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+gsubtst7:
+ @echo gsubtst7
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+gsubtst8:
+ @echo gsubtst8
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
hex:
@echo hex
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2317,11 +2389,6 @@ pcntplus:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-posix2008sub:
- @echo posix2008sub
- @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
prdupval:
@echo prdupval
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2647,6 +2714,11 @@ fpat2:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+fpat3:
+ @echo fpat3
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
fpatnull:
@echo fpatnull
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2672,6 +2744,11 @@ fwtest2:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+fwtest3:
+ @echo fwtest3
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
gensub:
@echo gensub
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2792,6 +2869,11 @@ procinfs:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+pty1:
+ @echo pty1
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
rebuf:
@echo rebuf
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 9a16eb7c..c76769f4 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -315,6 +315,11 @@ getline3:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+getline4:
+ @echo getline4
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
getnr2tb:
@echo getnr2tb
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -350,6 +355,16 @@ gsubtst5:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+gsubtst7:
+ @echo gsubtst7
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+gsubtst8:
+ @echo gsubtst8
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
hex:
@echo hex
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -590,11 +605,6 @@ pcntplus:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-posix2008sub:
- @echo posix2008sub
- @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
prdupval:
@echo prdupval
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -920,6 +930,11 @@ fpat2:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+fpat3:
+ @echo fpat3
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
fpatnull:
@echo fpatnull
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -945,6 +960,11 @@ fwtest2:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+fwtest3:
+ @echo fwtest3
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
gensub:
@echo gensub
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1065,6 +1085,11 @@ procinfs:
@AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+pty1:
+ @echo pty1
+ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
rebuf:
@echo rebuf
@AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/backgsub.ok b/test/backgsub.ok
index 2d3f17f0..e2e265fa 100644
--- a/test/backgsub.ok
+++ b/test/backgsub.ok
@@ -1 +1 @@
-\x\y\z
+\\x\\y\\z
diff --git a/test/beginfile2.in b/test/beginfile2.in
new file mode 100644
index 00000000..5b7cc833
--- /dev/null
+++ b/test/beginfile2.in
@@ -0,0 +1,242 @@
+#TEST1#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+}
+BEGIN {
+ count = 0
+ print "In BEGIN"
+ while (getline > 0)
+ count++;
+ print count == NR
+}
+
+#TEST2#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+ nextfile
+}
+ENDFILE{
+ print "In ENDFILE:", FILENAME
+}
+
+
+#TEST3#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+}
+END {
+ print "executing END rule"
+ ARGV[ARGC++] = "beginfile.sh";
+ count = 0
+ while (getline> 0)
+ count++;
+ print count == FNR
+ print "Done executing END rule"
+}
+ENDFILE {
+ print "In ENDFILE:", FILENAME
+}
+
+#TEST4#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+ nextfile
+}
+END {
+ print "executing END rule"
+ ARGV[ARGC++] = "beginfile.sh";
+ getline
+ print $0
+ print "Done executing END rule"
+}
+ENDFILE {
+ print "ENDFILE:", FILENAME
+}
+
+
+#TEST5#
+BEGIN {
+ getline
+ count++
+ print NR, count
+}
+{
+ count++
+}
+END {
+ print NR == count
+}
+
+#TEST6#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+ count = 0
+}
+BEGIN {
+ getline
+ count++
+ print FNR, count
+}
+{
+ count++
+}
+ENDFILE {
+ print "In ENDFILE:", FILENAME
+ print count == FNR
+}
+
+#TEST7#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+ count = 0
+ if (ARGIND == 1)
+ nextfile
+}
+BEGIN {
+ getline
+ print "In BEGIN:", FILENAME
+}
+{ count++ }
+ENDFILE {
+ print "In ENDFILE:", FILENAME
+ print (FNR - count)
+}
+
+#TEST8#
+function f(a, b) {
+ getline
+ print FILENAME
+ print a, b
+}
+function g(x, y) {
+ return x
+}
+BEGINFILE { nextfile }
+BEGIN { g(3, f(1, 2)) }
+
+#TEST9#
+function f(a, b) {
+ b = b ":" a;
+ if (skip || ERRNO != "") {
+ print "Skipping:", b
+ nextfile
+ }
+ return b
+}
+BEGINFILE { print "In BEGINFILE:", f(FILENAME, ++i)}
+FNR == 1 { print "In Rule:", FILENAME }
+ENDFILE { print "In ENDFILE:", FILENAME }
+
+#TEST10#
+function f() {
+ nextfile
+}
+function g( cnt) {
+ cnt = 0
+ while (getline > 0)
+ cnt++;
+ return cnt
+}
+BEGINFILE { if (ARGIND == 1) f(); }
+BEGIN {
+ print g(), NR
+}
+
+#TEST11#
+function f(a, b) {
+ print a
+ nextfile
+ print b
+}
+function g(x, y) {
+ print x
+ getline
+ return y
+}
+BEGINFILE { ARGIND == 1 ? g(3, f(FILENAME, 2)) : f(3, g(FILENAME, 2)) }
+
+#TEST12#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+}
+function g() {
+ nextfile
+}
+function f( cnt) {
+ print cnt + 0
+ while (getline > 0) {
+ if (++cnt == 2) {
+ g()
+ print "shouldn't see this line"
+ }
+ }
+}
+{
+ print FNR
+ f()
+}
+ENDFILE {
+ print "In ENDFILE:", FILENAME
+}
+
+#TEST13#
+# exit in BEGINFILE
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+ exit(0)
+}
+ENDFILE {
+ print "In ENDFILE:", FILENAME
+}
+END {
+ print "In END:", FILENAME
+ while (getline > 0)
+ ;
+ print "shouldn't see this line"
+}
+
+#TEST14#
+# exit in ENDFILE
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+}
+ENDFILE {
+ print "In ENDFILE:", FILENAME
+ exit(0)
+}
+END {
+ print "In END:", FILENAME
+ while (getline > 0)
+ ;
+ print "shouldn't see this line"
+}
+
+#TEST15#
+BEGINFILE {
+ print "BEGINFILE:", FILENAME
+}
+{ nextfile }
+END {
+ print NR
+}
+
+#TEST16#
+BEGINFILE {
+ print "In BEGINFILE:", FILENAME
+}
+BEGIN {
+ getline
+ print "In BEGIN:", FILENAME
+}
+{
+ if (NR == FNR) {
+ print "In Rule:", FILENAME
+ nextfile
+ }
+ exit(0)
+}
+
+ENDFILE {
+ print "In ENDFILE: ", FILENAME
+}
+
diff --git a/test/beginfile2.ok b/test/beginfile2.ok
new file mode 100644
index 00000000..c3029c7c
--- /dev/null
+++ b/test/beginfile2.ok
@@ -0,0 +1,90 @@
+--Test 1a--
+In BEGIN
+In BEGINFILE: beginfile2.in
+1
+--Test 1b--
+In BEGIN
+In BEGINFILE: beginfile2.in
+In BEGINFILE: /file/does/not/exist
+gawk: cmd. line:3: fatal: cannot open file `/file/does/not/exist' for reading (No such file or directory)
+--Test 2--
+In BEGINFILE: beginfile2.in
+In ENDFILE: beginfile2.in
+In BEGINFILE: /file/does/not/exist
+--Test 3--
+In BEGINFILE: beginfile2.in
+In ENDFILE: beginfile2.in
+executing END rule
+In BEGINFILE: beginfile.sh
+gawk: cmd. line:3: fatal: cannot open file `beginfile.sh' for reading (No such file or directory)
+--Test 4--
+In BEGINFILE: beginfile2.in
+ENDFILE: beginfile2.in
+executing END rule
+In BEGINFILE: beginfile.sh
+
+Done executing END rule
+--Test 5--
+1 1
+1
+--Test 6--
+In BEGINFILE: beginfile2.in
+1 1
+In ENDFILE: beginfile2.in
+1
+--Test 7--
+In BEGINFILE: beginfile2.in
+In ENDFILE: beginfile2.in
+0
+In BEGINFILE: beginfile2.sh
+In BEGIN: beginfile2.sh
+In ENDFILE: beginfile2.sh
+1
+--Test 8--
+beginfile2.in
+1 2
+--Test 9a--
+Skipping: 1:/file/does/not/exist
+In BEGINFILE: 2:beginfile2.in
+In Rule: beginfile2.in
+In ENDFILE: beginfile2.in
+--Test 9b--
+Skipping: 1:/file/does/not/exist
+Skipping: 2:beginfile2.in
+In ENDFILE: beginfile2.in
+--Test 10--
+82 82
+--Test 11--
+beginfile2.in
+beginfile2.sh
+gawk: cmd. line:9: fatal: non-redirected `getline' invalid inside `BEGINFILE' rule
+--Test 12--
+In BEGINFILE: beginfile2.in
+1
+0
+In ENDFILE: beginfile2.in
+In BEGINFILE: beginfile2.sh
+1
+0
+In ENDFILE: beginfile2.sh
+--Test 13--
+In BEGINFILE: beginfile2.in
+In END: beginfile2.in
+In ENDFILE: beginfile2.in
+In BEGINFILE: beginfile2.sh
+--Test 14--
+In BEGINFILE: beginfile2.in
+In ENDFILE: beginfile2.in
+In END: beginfile2.in
+In BEGINFILE: beginfile2.sh
+In ENDFILE: beginfile2.sh
+--Test 15--
+BEGINFILE: beginfile2.in
+BEGINFILE: beginfile2.sh
+2
+--Test 16--
+In BEGINFILE: beginfile2.in
+In BEGIN: beginfile2.in
+In Rule: beginfile2.in
+In ENDFILE: beginfile2.in
+In BEGINFILE: beginfile2.sh
diff --git a/test/beginfile2.sh b/test/beginfile2.sh
new file mode 100755
index 00000000..19deef62
--- /dev/null
+++ b/test/beginfile2.sh
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# beginfile2.sh --- test BEGINFILE/ENDFILE/getline/nextfile/exit combinations
+
+AWK="../gawk"
+AWKPROG="beginfile2.in"
+SCRIPT=`basename $0`
+
+if [ "$AWK" = "" ]
+then
+ echo $0: You must set AWK >&2
+ exit 1
+fi
+
+echo "--Test 1a--"
+prog=$($AWK '/#TEST1#/, /#TEST2#/' $AWKPROG)
+$AWK "$prog" $AWKPROG
+echo "--Test 1b--"
+$AWK "$prog" $AWKPROG /file/does/not/exist
+
+echo "--Test 2--"
+prog=$($AWK '/#TEST2#/, /#TEST3#/' $AWKPROG)
+$AWK "$prog" $AWKPROG /file/does/not/exist
+
+echo "--Test 3--"
+prog=$($AWK '/#TEST3#/, /#TEST4#/' $AWKPROG)
+$AWK "$prog" $AWKPROG
+
+echo "--Test 4--"
+prog=$($AWK '/#TEST4#/, /#TEST5#/' $AWKPROG)
+$AWK "$prog" $AWKPROG
+
+echo "--Test 5--"
+prog=$($AWK '/#TEST5#/, /#TEST6#/' $AWKPROG)
+$AWK "$prog" $AWKPROG
+
+echo "--Test 6--"
+prog=$($AWK '/#TEST6#/, /#TEST7#/' $AWKPROG)
+$AWK "$prog" $AWKPROG
+
+echo "--Test 7--"
+prog=$($AWK '/#TEST7#/, /#TEST8#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
+echo "--Test 8--"
+prog=$($AWK '/#TEST8#/, /#TEST9#/' $AWKPROG)
+$AWK "$prog" $AWKPROG
+
+echo "--Test 9a--"
+prog=$($AWK '/#TEST9#/, /#TEST10#/' $AWKPROG)
+$AWK "$prog" /file/does/not/exist $AWKPROG
+echo "--Test 9b--"
+$AWK -vskip=1 "$prog" /file/does/not/exist $AWKPROG
+
+echo "--Test 10--"
+prog=$($AWK '/#TEST10#/, /#TEST11#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
+echo "--Test 11--"
+prog=$($AWK '/#TEST11#/, /#TEST12#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
+echo "--Test 12--"
+prog=$($AWK '/#TEST12#/, /#TEST13#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
+echo "--Test 13--"
+prog=$($AWK '/#TEST13#/, /#TEST14#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
+echo "--Test 14--"
+prog=$($AWK '/#TEST14#/, /#TEST15#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
+echo "--Test 15--"
+prog=$($AWK '/#TEST15#/, /#TEST16#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
+echo "--Test 16--"
+prog=$($AWK '/#TEST16#/, /#TEST17#/' $AWKPROG)
+$AWK "$prog" $AWKPROG $SCRIPT
+
diff --git a/test/fpat3.awk b/test/fpat3.awk
new file mode 100644
index 00000000..801bb58e
--- /dev/null
+++ b/test/fpat3.awk
@@ -0,0 +1,10 @@
+BEGIN {
+ FPAT = "[^,]*"
+
+}
+
+{
+ if (x) NF
+ for (i = 1; i <= 4; ++i)
+ print i, $i
+}
diff --git a/test/fpat3.in b/test/fpat3.in
new file mode 100644
index 00000000..28416a42
--- /dev/null
+++ b/test/fpat3.in
@@ -0,0 +1 @@
+a,b,,c
diff --git a/test/fpat3.ok b/test/fpat3.ok
new file mode 100644
index 00000000..543bb429
--- /dev/null
+++ b/test/fpat3.ok
@@ -0,0 +1,4 @@
+1 a
+2 b
+3
+4 c
diff --git a/test/fwtest3.awk b/test/fwtest3.awk
new file mode 100644
index 00000000..d1384eaf
--- /dev/null
+++ b/test/fwtest3.awk
@@ -0,0 +1 @@
+BEGIN { FIELDWIDTHS="5" } { print $1 }
diff --git a/test/fwtest3.in b/test/fwtest3.in
new file mode 100644
index 00000000..a32a4347
--- /dev/null
+++ b/test/fwtest3.in
@@ -0,0 +1 @@
+1234567890
diff --git a/test/fwtest3.ok b/test/fwtest3.ok
new file mode 100644
index 00000000..e56e15bb
--- /dev/null
+++ b/test/fwtest3.ok
@@ -0,0 +1 @@
+12345
diff --git a/test/getline4.awk b/test/getline4.awk
new file mode 100644
index 00000000..275faaab
--- /dev/null
+++ b/test/getline4.awk
@@ -0,0 +1 @@
+END { getline $2; print}
diff --git a/test/getline4.in b/test/getline4.in
new file mode 100644
index 00000000..42771a3c
--- /dev/null
+++ b/test/getline4.in
@@ -0,0 +1 @@
+ aaa bbb
diff --git a/test/getline4.ok b/test/getline4.ok
new file mode 100644
index 00000000..42771a3c
--- /dev/null
+++ b/test/getline4.ok
@@ -0,0 +1 @@
+ aaa bbb
diff --git a/test/gsubtst7.awk b/test/gsubtst7.awk
new file mode 100644
index 00000000..e649f46e
--- /dev/null
+++ b/test/gsubtst7.awk
@@ -0,0 +1,92 @@
+# From bug-gawk-bounces+arnold=skeeve.com@gnu.org Tue Jul 12 08:18:24 2011
+# Return-Path: <bug-gawk-bounces+arnold=skeeve.com@gnu.org>
+# Received: from localhost (localhost [127.0.0.1])
+# by skeeve.com (8.14.3/8.14.3) with ESMTP id p6C5HArm002260
+# for <arnold@localhost>; Tue, 12 Jul 2011 08:18:23 +0300
+# X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sls-af11p1
+# X-Spam-Level:
+# X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00,DNS_FROM_OPENWHOIS,
+# RCVD_IN_DNSWL_MED autolearn=ham version=3.2.5
+# X-Envelope-From: bug-gawk-bounces+arnold=skeeve.com@gnu.org
+# Received: from server1.f7.net [66.148.120.132]
+# by localhost with IMAP (fetchmail-6.3.11)
+# for <arnold@localhost> (single-drop); Tue, 12 Jul 2011 08:18:23 +0300 (IDT)
+# Received: from lists.gnu.org (lists.gnu.org [140.186.70.17])
+# by freefriends.org (8.14.4/8.14.4) with ESMTP id p6BIYi4t032040;
+# Mon, 11 Jul 2011 14:34:48 -0400
+# Received: from localhost ([::1]:38787 helo=lists.gnu.org)
+# by lists.gnu.org with esmtp (Exim 4.71)
+# (envelope-from <bug-gawk-bounces+arnold=skeeve.com@gnu.org>)
+# id 1QgLJb-0004tM-Eg
+# for arnold@skeeve.com; Mon, 11 Jul 2011 14:34:43 -0400
+# Received: from eggs.gnu.org ([140.186.70.92]:54022)
+# by lists.gnu.org with esmtp (Exim 4.71)
+# (envelope-from <kornet@camk.edu.pl>) id 1QgD0R-0004Vi-HZ
+# for bug-gawk@gnu.org; Mon, 11 Jul 2011 05:42:24 -0400
+# Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
+# (envelope-from <kornet@camk.edu.pl>) id 1QgD0Q-0000SE-8u
+# for bug-gawk@gnu.org; Mon, 11 Jul 2011 05:42:23 -0400
+# Received: from moat.camk.edu.pl ([148.81.175.50]:34696)
+# by eggs.gnu.org with esmtp (Exim 4.71)
+# (envelope-from <kornet@camk.edu.pl>) id 1QgD0P-0000Px-V3
+# for bug-gawk@gnu.org; Mon, 11 Jul 2011 05:42:22 -0400
+# Received: from localhost (localhost.localdomain [127.0.0.1])
+# by moat.camk.edu.pl (Postfix) with ESMTP id 72C1D5F004C
+# for <bug-gawk@gnu.org>; Mon, 11 Jul 2011 11:42:13 +0200 (CEST)
+# X-Virus-Scanned: amavisd-new at camk.edu.pl
+# Received: from moat.camk.edu.pl ([127.0.0.1])
+# by localhost (liam.camk.edu.pl [127.0.0.1]) (amavisd-new, port 10024)
+# with LMTP id oh+-Yw+zHhK6 for <bug-gawk@gnu.org>;
+# Mon, 11 Jul 2011 11:42:07 +0200 (CEST)
+# Received: from gatekeeper.camk.edu.pl (gatekeeper.camk.edu.pl [192.168.1.23])
+# by moat.camk.edu.pl (Postfix) with ESMTP id 89AA55F0046
+# for <bug-gawk@gnu.org>; Mon, 11 Jul 2011 11:42:07 +0200 (CEST)
+# Received: by gatekeeper.camk.edu.pl (Postfix, from userid 1293)
+# id 796C8809FB; Mon, 11 Jul 2011 11:42:07 +0200 (CEST)
+# Date: Mon, 11 Jul 2011 11:42:07 +0200
+# From: Kacper Kornet <draenog@pld-linux.org>
+# To: bug-gawk@gnu.org
+# Message-ID: <20110711094207.GA2616@camk.edu.pl>
+# MIME-Version: 1.0
+# Content-Type: text/plain; charset=iso-8859-2
+# Content-Disposition: inline
+# User-Agent: Mutt/1.5.20 (2009-06-14)
+# X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
+# X-Received-From: 148.81.175.50
+# X-Mailman-Approved-At: Mon, 11 Jul 2011 14:34:26 -0400
+# Subject: [bug-gawk] Change in behavior of gsub inside loop
+# X-BeenThere: bug-gawk@gnu.org
+# X-Mailman-Version: 2.1.14
+# Precedence: list
+# List-Id: "Bug reports and all discussion about gawk." <bug-gawk.gnu.org>
+# List-Unsubscribe: <https://lists.gnu.org/mailman/options/bug-gawk>,
+# <mailto:bug-gawk-request@gnu.org?subject=unsubscribe>
+# List-Archive: </archive/html/bug-gawk>
+# List-Post: <mailto:bug-gawk@gnu.org>
+# List-Help: <mailto:bug-gawk-request@gnu.org?subject=help>
+# List-Subscribe: <https://lists.gnu.org/mailman/listinfo/bug-gawk>,
+# <mailto:bug-gawk-request@gnu.org?subject=subscribe>
+# Errors-To: bug-gawk-bounces+arnold=skeeve.com@gnu.org
+# Sender: bug-gawk-bounces+arnold=skeeve.com@gnu.org
+# Status: R
+#
+# Hi,
+#
+# I have observed the following changed behavior between gawk-3.8.1 and
+# gakw-4.0.0. While in the former
+#
+# echo -ne ' aaa' | gawk '{for (c = 1; c <= NF; c++) {gsub("foo", "bar", $c); print}}'
+#
+# prints:
+#
+# aaa
+#
+# the gawk-4.0.0 does not preserve the leading spaces and prints:
+#
+# aaa
+#
+# Best regards,
+# --
+# Kacper
+#
+{for (c = 1; c <= NF; c++) {gsub("foo", "bar", $c); print}}
diff --git a/test/gsubtst7.in b/test/gsubtst7.in
new file mode 100644
index 00000000..88069bf7
--- /dev/null
+++ b/test/gsubtst7.in
@@ -0,0 +1 @@
+ aaa \ No newline at end of file
diff --git a/test/gsubtst7.ok b/test/gsubtst7.ok
new file mode 100644
index 00000000..88f42c8c
--- /dev/null
+++ b/test/gsubtst7.ok
@@ -0,0 +1 @@
+ aaa
diff --git a/test/gsubtst8.awk b/test/gsubtst8.awk
new file mode 100644
index 00000000..818b0ea3
--- /dev/null
+++ b/test/gsubtst8.awk
@@ -0,0 +1,5 @@
+{
+ OFS = " " $2 " "
+ gsub("foo", "_", OFS)
+ print $1, $2
+}
diff --git a/test/gsubtst8.in b/test/gsubtst8.in
new file mode 100644
index 00000000..f2b45c7d
--- /dev/null
+++ b/test/gsubtst8.in
@@ -0,0 +1,2 @@
+a bar b
+c foo d
diff --git a/test/gsubtst8.ok b/test/gsubtst8.ok
new file mode 100644
index 00000000..d3b28cc0
--- /dev/null
+++ b/test/gsubtst8.ok
@@ -0,0 +1,2 @@
+a bar bar
+c _ foo
diff --git a/test/pty1.awk b/test/pty1.awk
new file mode 100644
index 00000000..77178d61
--- /dev/null
+++ b/test/pty1.awk
@@ -0,0 +1,54 @@
+# Message-ID: <1312419482.36133.YahooMailNeo@web110416.mail.gq1.yahoo.com>
+# Date: Wed, 3 Aug 2011 17:58:02 -0700 (PDT)
+# From: "T. X. G." <leopardie333@yahoo.com>
+# To: "bug-gawk@gnu.org" <bug-gawk@gnu.org>
+# Subject: [bug-gawk] two bugs in gawk 4.0.0 with FPAT and pty
+#
+# $ gawk --version
+# GNU Awk 4.0.0
+# Copyright (C) 1989, 1991-2011 Free Software Foundation.
+#
+# # bug due to trying to make field splitting more efficient by not parse all fields
+# $ echo a,b,,c |gawk '{for(i=1;i<=4;++i)print i, $i}' FPAT='[^,]*'
+# 1 a
+# 2
+# 3 b
+# 4
+#
+# # work around
+# $ echo a,b,,c |gawk '{NF;for(i=1;i<=4;++i)print i, $i}' FPAT='[^,]*'
+# 1 a
+# 2 b
+# 3
+# 4 c
+#
+# This bug, as you commented in function fpat_parse_field, is subtle. The null matches of previous call should be remembered across calls. You could make the auto variable non_empty static, but then any calls to patsplit between references of fields will cause it to be wrong. I guess you can either forgo the field splitting optimization by always parse all field in the case of FPAT or make a separate function for splitting $0 only (or pass an extra arg to it?) I am sure you will find the best fix.
+#
+#
+# The next bug is with pty:
+#
+# $ gawk 'BEGIN{
+# c = "echo 123 > /dev/tty; read x < /dev/tty; echo \"x is $x\""
+# PROCINFO[c, "pty"] = 1
+# c |& getline;print
+# print "abc" |& c
+# c |& getline;print
+# }'
+# 123
+# ^C
+#
+# Adding a call to setsid() in the function two_way_open right after fork in the child process seems to fix it.
+#
+# One request for feature:
+# Currently the format for mktime is not configurable. Could you please make it configurable just like strftime through PROCINFO["mktime"]? In fact I have already done it myself. But I don't think you would like my style. It should be pretty simple for you to implement.
+#
+# Thank you, Arnold. Again as I have said before, I enjoy your writings and appreciate your contributions to the FSF.
+# W. G.
+#
+BEGIN {
+ c = "echo 123 > /dev/tty; read x < /dev/tty; echo \"x is $x\""
+ PROCINFO[c, "pty"] = 1
+ c |& getline; print
+ print "abc" |& c
+ c |& getline; print
+}
diff --git a/test/pty1.ok b/test/pty1.ok
new file mode 100644
index 00000000..f06833f5
--- /dev/null
+++ b/test/pty1.ok
@@ -0,0 +1,2 @@
+123
+x is abc
diff --git a/test/rtlen.ok b/test/rtlen.ok
new file mode 100644
index 00000000..b8a484df
--- /dev/null
+++ b/test/rtlen.ok
@@ -0,0 +1,3 @@
+3
+5
+2
diff --git a/test/rtlen.sh b/test/rtlen.sh
new file mode 100755
index 00000000..4a740451
--- /dev/null
+++ b/test/rtlen.sh
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+AWK=${AWK:-../gawk}
+
+$AWK 'BEGIN {printf "0\n\n\n1\n\n\n\n\n2\n\n"; exit}' | $AWK 'BEGIN {RS=""}; {print length(RT)}'
diff --git a/test/rtlen01.ok b/test/rtlen01.ok
new file mode 100644
index 00000000..4539bbf2
--- /dev/null
+++ b/test/rtlen01.ok
@@ -0,0 +1,3 @@
+0
+1
+2
diff --git a/test/rtlen01.sh b/test/rtlen01.sh
new file mode 100755
index 00000000..72156d9b
--- /dev/null
+++ b/test/rtlen01.sh
@@ -0,0 +1,8 @@
+#! /bin/sh
+
+AWK=${AWK:-../gawk}
+
+$AWK 'BEGIN {printf "0"; exit}' | $AWK 'BEGIN {RS=""}; {print length(RT)}'
+$AWK 'BEGIN {printf "0\n"; exit}' | $AWK 'BEGIN {RS=""}; {print length(RT)}'
+$AWK 'BEGIN {printf "0\n\n"; exit}' | $AWK 'BEGIN {RS=""}; {print length(RT)}'
+
diff --git a/test/sortu.awk b/test/sortu.awk
index b4d30138..508dc07f 100644
--- a/test/sortu.awk
+++ b/test/sortu.awk
@@ -16,8 +16,12 @@ function comp_idx_num(s1, v1, s2, v2)
}
# ascending value number
-function comp_val_num(s1, v1, s2, v2)
+function comp_val_num(s1, v1, s2, v2, num)
{
+ num = "^[-+]?([0-9]+[.]?[0-9]*|[.][0-9]+)([eE][-+]?[0-9]+)?$"
+ # force stable sort, compare as strings if not numeric
+ if ((v1 - v2) == 0 && (v1 !~ num || v2 !~ num))
+ return comp_val_str(s1, v1, s2, v2)
return (v1 - v2)
}
diff --git a/test/sortu.ok b/test/sortu.ok
index ba9ac997..06dcd94d 100644
--- a/test/sortu.ok
+++ b/test/sortu.ok
@@ -13,9 +13,9 @@ rat tar
100 5
4 1
--- asort(a, b, "comp_val_num"), IGNORECASE = 0---
-[1] :barz barz
-[2] :blattt blattt
-[3] :Zebra Zebra
+[1] :barz Zebra
+[2] :blattt barz
+[3] :Zebra blattt
[4] :1234 234
[5] :234 1234
--- asort(a, b, "comp_val_str"), IGNORECASE = 0---
diff --git a/version.c b/version.c
index 9431e51b..43c3f859 100644
--- a/version.c
+++ b/version.c
@@ -1,3 +1,3 @@
#include "config.h"
-const char *version_string = "GNU Awk 4.0.0";
+const char *version_string = "GNU Awk 4.0.0a";
diff --git a/xalloc.h b/xalloc.h
index d859278d..5810fc55 100644
--- a/xalloc.h
+++ b/xalloc.h
@@ -281,6 +281,16 @@ xcharalloc (size_t n)
return XNMALLOC (n, char);
}
+/* Allocate S bytes of zeroed memory dynamically, with error checking.
+ There's no need for xnzalloc (N, S), since it would be equivalent
+ to xcalloc (N, S). */
+
+inline void *
+xzalloc (size_t s)
+{
+ return memset (xmalloc (s), 0, s);
+}
+
# endif
# ifdef __cplusplus