#! /bin/sh # # This is patch #2 to gawk 4.0. cd to gawk-4.0.1 and sh this file. # Then remove all the .orig files and rename the directory gawk-4.0.2 # Changes to files that are automatically recreated have been omitted. # They will be recreated the first time you run make. # This includes all the extracted example files in awklib. # First, slight rearranging # Now, apply the patch patch -p1 << \EOF diff -urN gawk-4.0.1/ChangeLog gawk-4.0.2/ChangeLog --- gawk-4.0.1/ChangeLog 2012-03-28 22:02:44.000000000 +0200 +++ gawk-4.0.2/ChangeLog 2012-12-25 20:37:10.000000000 +0200 @@ -1,3 +1,184 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + +2012-12-23 John Haque + + * eval.c (r_get_lhs): Node_array_ref. If original is Node_var, + don't assign null-string as value. + * ext.c (get_argument): Node_array_ref. Check if already a scalar. + +2011-12-23 John Haque + + * awkgram.y (is_deferred_variable): New function. + (func_install): Call it. + * eval.c (r_interpret): Op_push_arg. Check for uninitialized scalar. + +2012-12-23 Arnold D. Robbins + + * awkgram.y (tokentab): Whitespace fix for "include". + * builtin.c (printf_common): Do a fatal error if no args to printf() + or sprintf(). + +2012-12-15 Arnold D. Robbins + + Infrastructure Updates: + + * awkgram.c, command.c: Regenerated with bison 2.7. + * config.guess, config.sub, depcomp: Updated from automake 1.12.6. + +2012-12-09 Arnold D. Robbins + + Clean up BINMODE to use symbolic values. + + * awk.h (enum binmode_values): New enum. + * eval.c (set_BINMODE): Use them. + * io.c (binmode, close_rp, gawk_popen): Ditto. + * main.c (main): Ditto. + * builtin.c (do_system): Ditto. + + Unrelated: + + * configure.ac: Look for posix_openpt + * io.c (two_way_open): Use posix_openpt if it's available. + Thanks to Christian Weisgerber for + the changes. + +2012-12-07 Arnold D. Robbins + + * awkgram.y (tokentab): `fflush()' is now in POSIX, remove the + RESX flag. This was the last use, so delete the flag. + (yylex): Don't check RESX. + + Thanks to Nathan Weeks for helping make this + happen. + +2012-12-01 Arnold D. Robbins + + * eval.c (r_interpret): For op_assign_concat, if both strings + have WSTRCUR, then do the realloc() and append for the + wide string too. Thanks to Janis Papanagnou + for the discussion in + comp.lang.awk. + +2012-11-10 Arnold D. Robbins + + * Update to bison 2.6.5. Various files regenerated. + +2012-11-27 Arnold D. Robbins + + * builtin.c (do_fflush): Make fflush() and fflush("") both + flush everything. See the comment in the code. + +2012-10-28 Arnold D. Robbins + + * Update to bison 2.6.4. Various files regenerated. + +2012-10-13 Arnold D. Robbins + + * Update to Automake 1.12.4. Various files regenerated. + +2012-09-23 Arnold D. Robbins + + `delete array' and `nextfile' are now in POSIX. + Thanks to Nathan Weeks for the + initiative and letting us know about it. + + * awkgram.y: Make the right code changes for `delete array' + and `nextfile'. + (tokentab): Set flags to zero for nextfile. + +2012-08-17 Arnold D. Robbins + + * Update infrastructure to automake 1.12.3, bison 2.6.3. + +2012-08-12 Arnold D. Robbins + + * dfa.c: Sync w/GNU grep. + +2012-06-19 Arnold D. Robbins + + * main.c (main): Do setlocale to "C" if --characters-as-bytes. + Thanks to "SP" for the bug report. + +2012-05-09 Arnold D. Robbins + + * configure.ac: Added AC_HEADER_STDBOOL + * awk.h, dfa.c, regex.c: Reworked to use results + of test and include missing_d/gawkbool.h. + +2012-05-07 Arnold D. Robbins + + * array.c (prnode): Add casts to void* for %p format. + * debug.c (print_instruction): Ditto. + * builtin.c: Fix %lf format to be %f everywhere. + + Unrelated: + + * replace.c: Don't include "config.h", awk.h gets it for us. + +2012-05-04 Arnold D. Robbins + + * getopt.c [DJGPP]: Change to __DJGPP__. + * mbsupport.h [DJGPP]: Change to __DJGPP__. + + Unrelated: + + * awk.h: Workarounds for _TANDEM_SOURCE. + +2012-05-01 Arnold D. Robbins + + * dfa.c: Sync with GNU grep. RRI code now there, needed additional + change for gawk. + * configure.ac: Add check for stdbool.h. + * regex.c: Add check for if not have stdbool.h, then define the + bool stuff. + +2012-04-27 Arnold D. Robbins + + * dfa.c: Sync with GNU grep. + * xalloc.h (xmemdup): Added, from grep, for dfa.c. Sigh. + +2012-04-27 Arnold D. Robbins + + Update to autoconf 2.69, automake 1.12. + + * INSTALL, aclocal.m4, configh.in, depcomp, install-sh, missing, + mkinstalldirs, ylwrap: Updated. + * configure.ac (AC_TYPE_LONG_LONG_INT, AC_TYPE_UNSIGNED_LONG_LONG_INT, + AC_TYPE_INTMAX_T, AC_TYPE_UINTMAX_T): Renamed from gl_* versions. + * configure: Regenerated. + +2012-04-24 Arnold D. Robbins + + * cmd.h (dPrompt, commands_Prompt, eval_Prompt, dgawk_Prompt): Changed + to dbg_prompt, commands_prompt, eval_prompt, dgawk_prompt. + * debug.c: Ditto. + * command.y: Ditto. Some minor whitespace and comments cleanup. + +2012-04-09 Arnold D. Robbins + + * INSTALL, config.guess, config.sub, depcomp, install-sh, + missing, mkinstalldirs, ylwrap: Update to latest from automake 1.11.4. + +2012-04-08 Arnold D. Robbins + + * Update various files to automake 1.11.4. + +2012-03-30 Arnold D. Robbins + + * configure.ac (GAWK_AC_NORETURN): Do as macro instead of inline. + +2012-03-29 Arnold D. Robbins + + * dfa.h, dfa.c: Sync with grep. Major cleanups and some changes + there. + * re.c (research): Pass size_t* to dfaexec to match type change. + * configure.ac (AH_VERBATIM[_Noreturn]): Added from Paul Eggert to + ease compiling. + (AC_INIT): Bump version. + * configure, configh.in, version.c: Regenerated. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/FUTURES gawk-4.0.2/FUTURES --- gawk-4.0.1/FUTURES 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/FUTURES 2012-12-25 20:31:10.000000000 +0200 @@ -53,6 +53,9 @@ ??? Gnulib + Consider really implementing BWK awk SYMTAB for seeing what + global variables are defined. + Probably never: =============== Do an optimization pass over parse tree? diff -urN gawk-4.0.1/Makefile.in gawk-4.0.2/Makefile.in --- gawk-4.0.1/Makefile.in 2012-03-28 22:03:23.000000000 +0200 +++ gawk-4.0.2/Makefile.in 2012-12-25 20:34:06.000000000 +0200 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -39,6 +38,23 @@ # VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ @@ -68,15 +84,14 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @@ -119,7 +134,9 @@ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) +am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \ + -e s/c++$$/h++/ -e s/c$$/h/ +YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) YLWRAP = $(top_srcdir)/ylwrap SOURCES = $(dgawk_SOURCES) $(gawk_SOURCES) $(pgawk_SOURCES) DIST_SOURCES = $(dgawk_SOURCES) $(gawk_SOURCES) $(pgawk_SOURCES) @@ -130,21 +147,30 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck + cscope distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags +CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -172,7 +198,10 @@ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz GZIP_ENV = --best +DIST_TARGETS = dist-xz dist-gzip distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' # Directory for gawk's data files. Automake supplies datadir. pkgdatadir = $(datadir)/awk @@ -411,7 +440,7 @@ .SUFFIXES: .SUFFIXES: .c .o .obj .y -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ @@ -447,10 +476,8 @@ $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/configh.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -464,8 +491,11 @@ -rm -f config.h stamp-h1 install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ @@ -499,13 +529,13 @@ clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -dgawk$(EXEEXT): $(dgawk_OBJECTS) $(dgawk_DEPENDENCIES) +dgawk$(EXEEXT): $(dgawk_OBJECTS) $(dgawk_DEPENDENCIES) $(EXTRA_dgawk_DEPENDENCIES) @rm -f dgawk$(EXEEXT) $(LINK) $(dgawk_OBJECTS) $(dgawk_LDADD) $(LIBS) -gawk$(EXEEXT): $(gawk_OBJECTS) $(gawk_DEPENDENCIES) +gawk$(EXEEXT): $(gawk_OBJECTS) $(gawk_DEPENDENCIES) $(EXTRA_gawk_DEPENDENCIES) @rm -f gawk$(EXEEXT) $(LINK) $(gawk_OBJECTS) $(gawk_LDADD) $(LIBS) -pgawk$(EXEEXT): $(pgawk_OBJECTS) $(pgawk_DEPENDENCIES) +pgawk$(EXEEXT): $(pgawk_OBJECTS) $(pgawk_DEPENDENCIES) $(EXTRA_pgawk_DEPENDENCIES) @rm -f pgawk$(EXEEXT) $(LINK) $(pgawk_OBJECTS) $(pgawk_LDADD) $(LIBS) @@ -557,15 +587,15 @@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .y.c: - $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) + $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -575,7 +605,11 @@ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -589,37 +623,6 @@ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ @@ -628,6 +631,10 @@ list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done +cscopelist-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ + done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -691,8 +698,32 @@ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) + +clean-cscope: + -rm -f cscope.files + +cscope.files: clean-cscope cscopelist-recursive cscopelist + +cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) @@ -728,13 +759,10 @@ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -766,36 +794,35 @@ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) + $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) + $(am__post_remove_distdir) -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another @@ -806,8 +833,8 @@ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -817,9 +844,9 @@ *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ @@ -827,6 +854,7 @@ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -850,13 +878,21 @@ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 - $(am__remove_distdir) + $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -891,10 +927,15 @@ installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -984,26 +1025,27 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \ - ctags-recursive install-am install-exec-am install-strip \ - tags-recursive + cscopelist-recursive ctags-recursive install-am \ + install-exec-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am check-local clean \ - clean-binPROGRAMS clean-generic ctags ctags-recursive dist \ - dist-all dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-exec-hook \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-binPROGRAMS + clean-binPROGRAMS clean-cscope clean-generic cscope cscopelist \ + cscopelist-recursive ctags ctags-recursive dist dist-all \ + dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-binPROGRAMS install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-exec-hook install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS # First, add a link from gawk to gawk-X.Y.Z. diff -urN gawk-4.0.1/NEWS gawk-4.0.2/NEWS --- gawk-4.0.1/NEWS 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/NEWS 2012-12-25 20:31:10.000000000 +0200 @@ -4,6 +4,18 @@ are permitted in any medium without royalty provided the copyright notice and this notice are preserved. +Changes from 4.0.1 to 4.0.2 +--------------------------- + +1. Infrastructure upgrades: Autoconf 2.69, Automake 1.12.6, bison 2.7. + +2. `fflush()', `nextfile', and `delete array' are all now part of POSIX. + +3. fflush() behavior changed to match BWK awk and for POSIX - now both + fflush() and fflush("") flush all open output redirections. + +4. Various minor bug fixes and documentation updates. + Changes from 4.0.0 to 4.0.1 --------------------------- diff -urN gawk-4.0.1/README gawk-4.0.2/README --- gawk-4.0.1/README 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/README 2012-12-23 15:31:29.000000000 +0200 @@ -7,7 +7,7 @@ README: -This is GNU Awk 4.0.1. It is upwardly compatible with Brian Kernighan's +This is GNU Awk 4.0.2. It is upwardly compatible with Brian Kernighan's version of Unix awk. It is almost completely compliant with the 2008 POSIX 1003.1 standard for awk. (See the note below about POSIX.) diff -urN gawk-4.0.1/README_d/ChangeLog gawk-4.0.2/README_d/ChangeLog --- gawk-4.0.1/README_d/ChangeLog 2012-03-28 22:02:12.000000000 +0200 +++ gawk-4.0.2/README_d/ChangeLog 2012-12-25 20:38:10.000000000 +0200 @@ -1,3 +1,7 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/aclocal.m4 gawk-4.0.2/aclocal.m4 --- gawk-4.0.1/aclocal.m4 2012-03-28 22:03:22.000000000 +0200 +++ gawk-4.0.2/aclocal.m4 2012-12-25 20:34:05.000000000 +0200 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.12.6 -*- Autoconf -*- + +# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,13 +13,13 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, -[m4_warning([this file was generated for autoconf 2.68. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2002-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -31,10 +31,10 @@ # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' +[am__api_version='1.12' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], +m4_if([$1], [1.12.6], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,22 +50,22 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl +[AM_AUTOMAKE_VERSION([1.12.6])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and @@ -84,7 +84,7 @@ # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you +# harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, @@ -110,22 +110,19 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 9 - # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl @@ -144,16 +141,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 10 -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing @@ -163,7 +158,7 @@ # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was @@ -176,12 +171,13 @@ AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], @@ -189,8 +185,9 @@ # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -229,16 +226,16 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -247,16 +244,16 @@ test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -304,7 +301,7 @@ # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl @@ -314,28 +311,33 @@ # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ @@ -354,7 +356,7 @@ # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -366,21 +368,19 @@ continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` @@ -398,7 +398,7 @@ # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will +# is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], @@ -408,15 +408,12 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 16 - # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. @@ -461,31 +458,41 @@ # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl +[AC_DIAGNOSE([obsolete], +[$0: two- and three-arguments forms are deprecated. For more info, see: +http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl @@ -496,28 +503,35 @@ [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +dnl Support for Objective C++ was only introduced in Autoconf 2.65, +dnl but we still cater to Autoconf 2.62. +m4_ifdef([AC_PROG_OBJCXX], +[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], @@ -545,7 +559,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -564,16 +578,14 @@ install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi -AC_SUBST(install_sh)]) +AC_SUBST([install_sh])]) -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2003-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], @@ -589,14 +601,12 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 - # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. @@ -614,7 +624,7 @@ _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -641,15 +651,12 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 6 - # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], @@ -657,7 +664,6 @@ $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) - # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. @@ -678,59 +684,31 @@ am_missing_run="$MISSING --run " else am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) + AC_MSG_WARN(['missing' script is too old or missing]) fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 - # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) @@ -743,22 +721,16 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1996-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 - # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -769,32 +741,40 @@ esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$[2]" = conftest.file ) then @@ -804,9 +784,25 @@ AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT(yes)]) +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -814,34 +810,32 @@ # AM_PROG_INSTALL_STRIP # --------------------- -# One issue with vendor `install' (even GNU) is that you can't +# One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize +# always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. @@ -849,24 +843,22 @@ AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- +# -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 - # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory @@ -877,10 +869,11 @@ # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) @@ -888,7 +881,7 @@ _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. +# Solaris sh will not grok spaces in the rhs of '-'. for _am_tool in $_am_tools do case $_am_tool in @@ -954,8 +947,6 @@ m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intlmacosx.m4]) -m4_include([m4/intmax_t.m4]) -m4_include([m4/inttypes_h.m4]) m4_include([m4/isc-posix.m4]) m4_include([m4/lcmessage.m4]) m4_include([m4/lib-ld.m4]) @@ -964,10 +955,9 @@ m4_include([m4/libsigsegv.m4]) m4_include([m4/longlong.m4]) m4_include([m4/nls.m4]) +m4_include([m4/noreturn.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) m4_include([m4/readline.m4]) m4_include([m4/socket.m4]) -m4_include([m4/stdint_h.m4]) -m4_include([m4/uintmax_t.m4]) m4_include([m4/ulonglong.m4]) diff -urN gawk-4.0.1/array.c gawk-4.0.2/array.c --- gawk-4.0.1/array.c 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/array.c 2012-12-25 20:31:10.000000000 +0200 @@ -882,10 +882,10 @@ pr_node(NODE *n) { if ((n->flags & NUMBER) != 0) - printf("%s %g p: %p", flags2str(n->flags), n->numbr, n); + printf("%s %g p: %p", flags2str(n->flags), n->numbr, (void *) n); else printf("%s %.*s p: %p", flags2str(n->flags), - (int) n->stlen, n->stptr, n); + (int) n->stlen, n->stptr, (void *) n); } diff -urN gawk-4.0.1/awk.h gawk-4.0.2/awk.h --- gawk-4.0.1/awk.h 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/awk.h 2012-12-25 20:31:10.000000000 +0200 @@ -30,6 +30,15 @@ * any system headers. Otherwise, extreme death, destruction * and loss of life results. */ +#if defined(_TANDEM_SOURCE) +/* + * config.h forces this even on non-tandem systems but it + * causes problems elsewhere if used in the check below. + * so workaround it. bleah. + */ +#define tandem_for_real 1 +#endif + #ifdef HAVE_CONFIG_H #include #endif @@ -38,7 +47,7 @@ #define _GNU_SOURCE 1 /* enable GNU extensions */ #endif /* _GNU_SOURCE */ -#if defined(_TANDEM_SOURCE) && ! defined(_SCO_DS) +#if defined(tandem_for_real) && ! defined(_SCO_DS) #define _XOPEN_SOURCE_EXTENDED 1 #endif @@ -80,6 +89,12 @@ #include #endif /* not STDC_HEADERS */ +#ifdef HAVE_STDBOOL_H +#include +#else +#include "missing_d/gawkbool.h" +#endif + #include "mbsupport.h" /* defines MBS_SUPPORT */ #if MBS_SUPPORT @@ -821,6 +836,15 @@ const char *mode; }; +/* values for BINMODE, used as bit flags */ + +enum binmode_values { + TEXT_TRANSLATE = 0, /* usual \r\n ---> \n translation */ + BINMODE_INPUT = 1, /* no translation for input files */ + BINMODE_OUTPUT = 2, /* no translation for output files */ + BINMODE_BOTH = 3 /* no translation for either */ +}; + /* * structure for our source, either a command line string or a source file. */ diff -urN gawk-4.0.1/awkgram.y gawk-4.0.2/awkgram.y --- gawk-4.0.1/awkgram.y 2012-03-28 21:52:40.000000000 +0200 +++ gawk-4.0.2/awkgram.y 2012-12-25 20:31:10.000000000 +0200 @@ -58,6 +58,7 @@ static int include_source(INSTRUCTION *file); static void next_sourcefile(void); static char *tokexpand(void); +static int is_deferred_variable(const char *name); #define instruction(t) bcalloc(t, 1, 0) @@ -831,10 +832,6 @@ } | LEX_NEXTFILE statement_term { - if (do_traditional) - error_ln($1->source_line, - _("`nextfile' is a gawk extension")); - /* if inside function (rule = 0), resolve context at run-time */ if (rule == BEGIN || rule == END || rule == ENDFILE) error_ln($1->source_line, @@ -987,16 +984,17 @@ $2->memory = variable(arr, Node_var_new); if ($4 == NULL) { - static short warned = FALSE; - - if (do_lint && ! warned) { - warned = TRUE; - lintwarn_ln($1->source_line, - _("`delete array' is a gawk extension")); - } - if (do_traditional) - error_ln($1->source_line, - _("`delete array' is a gawk extension")); + /* + * As of September 2012, POSIX has added support + * for `delete array'. See: + * http://austingroupbugs.net/view.php?id=544 + * + * Thanks to Nathan Weeks for the initiative. + * + * Thus we no longer warn or check do_posix. + * Also, since BWK awk supports it, we don't have to + * check do_traditional either. + */ $1->expr_count = 0; $$ = list_append(list_create($2), $1); } else { @@ -1020,7 +1018,7 @@ } if (do_traditional) { error_ln($1->source_line, - _("`delete array' is a gawk extension")); + _("`delete(array)' is a non-portable tawk extension")); } $3->memory = variable(arr, Node_var_new); $3->opcode = Op_push_array; @@ -1789,9 +1787,8 @@ # define NOT_OLD 0x0100 /* feature not in old awk */ # define NOT_POSIX 0x0200 /* feature not in POSIX */ # define GAWKX 0x0400 /* gawk extension */ -# define RESX 0x0800 /* Bell Labs Research extension */ -# define BREAK 0x1000 /* break allowed inside */ -# define CONTINUE 0x2000 /* continue allowed inside */ +# define BREAK 0x0800 /* break allowed inside */ +# define CONTINUE 0x1000 /* continue allowed inside */ NODE *(*ptr)(int); /* function that implements this keyword */ }; @@ -1846,7 +1843,7 @@ {"exit", Op_K_exit, LEX_EXIT, 0, 0}, {"exp", Op_builtin, LEX_BUILTIN, A(1), do_exp}, {"extension", Op_builtin, LEX_BUILTIN, GAWKX|A(2), do_ext}, -{"fflush", Op_builtin, LEX_BUILTIN, RESX|A(0)|A(1), do_fflush}, +{"fflush", Op_builtin, LEX_BUILTIN, A(0)|A(1), do_fflush}, {"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}, @@ -1855,7 +1852,7 @@ {"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}, +{"include", Op_symbol, LEX_INCLUDE, GAWKX, 0}, {"index", Op_builtin, LEX_BUILTIN, A(2), do_index}, {"int", Op_builtin, LEX_BUILTIN, A(1), do_int}, {"isarray", Op_builtin, LEX_BUILTIN, GAWKX|A(1), do_isarray}, @@ -1865,7 +1862,7 @@ {"match", Op_builtin, LEX_BUILTIN, NOT_OLD|A(2)|A(3), do_match}, {"mktime", Op_builtin, LEX_BUILTIN, GAWKX|A(1), do_mktime}, {"next", Op_K_next, LEX_NEXT, 0, 0}, -{"nextfile", Op_K_nextfile, LEX_NEXTFILE, GAWKX, 0}, +{"nextfile", Op_K_nextfile, LEX_NEXTFILE, 0, 0}, {"or", Op_builtin, LEX_BUILTIN, GAWKX|A(2), do_or}, {"patsplit", Op_builtin, LEX_BUILTIN, GAWKX|A(2)|A(3)|A(4), do_patsplit}, {"print", Op_K_print, LEX_PRINT, 0, 0}, @@ -3484,11 +3481,6 @@ tokentab[mid].operator); warntab[mid] |= GAWKX; } - if ((tokentab[mid].flags & RESX) && ! (warntab[mid] & RESX)) { - lintwarn(_("`%s' is a Bell Labs extension"), - tokentab[mid].operator); - warntab[mid] |= RESX; - } if ((tokentab[mid].flags & NOT_POSIX) && ! (warntab[mid] & NOT_POSIX)) { lintwarn(_("POSIX does not allow `%s'"), tokentab[mid].operator); @@ -4221,7 +4213,7 @@ if (hp != NULL) freenode(hp); r = lookup(fname); - if (r != NULL) { + if (r != NULL || is_deferred_variable(fname)) { error_ln(func->source_line, _("function name `%s' previously defined"), fname); return -1; @@ -4532,6 +4524,19 @@ deferred_variables = dv; } +/* is_deferred_variable --- check if NAME is a deferred variable */ + +static int +is_deferred_variable(const char *name) +{ + struct deferred_variable *dv; + for (dv = deferred_variables; dv != NULL; dv = dv->next) + if (strcmp(name, dv->name) == 0) + return TRUE; + return FALSE; +} + + /* variable --- make sure NAME is in the symbol table */ NODE * diff -urN gawk-4.0.1/awklib/ChangeLog gawk-4.0.2/awklib/ChangeLog --- gawk-4.0.1/awklib/ChangeLog 2012-03-28 22:01:53.000000000 +0200 +++ gawk-4.0.2/awklib/ChangeLog 2012-12-25 20:37:24.000000000 +0200 @@ -1,3 +1,7 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/awklib/Makefile.in gawk-4.0.2/awklib/Makefile.in --- gawk-4.0.1/awklib/Makefile.in 2012-03-28 22:03:22.000000000 +0200 +++ gawk-4.0.2/awklib/Makefile.in 2012-12-25 20:34:06.000000000 +0200 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -40,6 +39,23 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd @@ -58,20 +74,20 @@ host_triplet = @host@ pkglibexec_PROGRAMS = pwcat$(EXEEXT) grcat$(EXEEXT) subdir = awklib -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/depcomp $(top_srcdir)/mkinstalldirs ChangeLog ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -107,6 +123,12 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } SCRIPTS = $(bin_SCRIPTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp @@ -118,6 +140,11 @@ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(nodist_grcat_SOURCES) $(nodist_pwcat_SOURCES) DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -290,8 +317,11 @@ $(am__aclocal_m4_deps): install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(pkglibexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" @list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibexecdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ @@ -327,8 +357,11 @@ -test -z "$(pkglibexec_PROGRAMS)" || rm -f $(pkglibexec_PROGRAMS) install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ @@ -356,9 +389,7 @@ @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files + dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -432,6 +463,20 @@ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -482,10 +527,15 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -572,13 +622,13 @@ .MAKE: install-am install-exec-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-local clean-pkglibexecPROGRAMS ctags distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-binSCRIPTS install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-exec-hook \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am \ + clean-local clean-pkglibexecPROGRAMS cscopelist ctags \ + distclean distclean-compile distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-binSCRIPTS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-exec-hook install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ install-pkglibexecPROGRAMS install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ diff -urN gawk-4.0.1/builtin.c gawk-4.0.2/builtin.c --- gawk-4.0.1/builtin.c 2012-03-28 21:54:55.000000000 +0200 +++ gawk-4.0.2/builtin.c 2012-12-25 20:31:10.000000000 +0200 @@ -174,24 +174,40 @@ int status = 0; const char *file; - /* fflush() --- flush stdout */ + /* + * November, 2012. + * It turns out that circa 2002, when BWK + * added fflush() and fflush("") to his awk, he made both of + * them flush everything. + * + * Now, with our inside agent getting ready to try to get fflush() + * standardized in POSIX, we are going to make our awk consistent + * with his. This should not really affect anyone, as flushing + * everything also flushes stdout. + * + * So. Once upon a time: + * fflush() --- flush stdout + * fflush("") --- flush everything + * Now, both calls flush everything. + */ + + /* fflush() */ if (nargs == 0) { - if (output_fp != stdout) - (void) fflush(output_fp); - status = fflush(stdout); + status = flush_io(); return make_number((AWKNUM) status); } tmp = POP_STRING(); file = tmp->stptr; - /* fflush("") --- flush all */ + /* fflush("") */ if (tmp->stlen == 0) { status = flush_io(); DEREF(tmp); return make_number((AWKNUM) status); } + /* fflush("/some/path") */ rp = getredirect(tmp->stptr, tmp->stlen); status = -1; if (rp != NULL) { @@ -1376,6 +1392,9 @@ int i; NODE *r, *tmp; + if (nargs == 0) + fatal(_("[s]printf called with no arguments")); + assert(nargs <= max_args); for (i = 1; i <= nargs; i++) { tmp = args_array[nargs - i] = POP(); @@ -1828,7 +1847,7 @@ ret = system(cmd); if (ret != -1) ret = WEXITSTATUS(ret); - if ((BINMODE & 1) != 0) + if ((BINMODE & BINMODE_INPUT) != 0) os_setbinmode(fileno(stdin), O_BINARY); cmd[tmp->stlen] = save; @@ -2781,11 +2800,11 @@ shift = force_number(s2); if (do_lint) { if (val < 0 || shift < 0) - lintwarn(_("lshift(%lf, %lf): negative values will give strange results"), val, shift); + lintwarn(_("lshift(%f, %f): negative values will give strange results"), val, shift); if (double_to_int(val) != val || double_to_int(shift) != shift) - lintwarn(_("lshift(%lf, %lf): fractional values will be truncated"), val, shift); + lintwarn(_("lshift(%f, %f): fractional values will be truncated"), val, shift); if (shift >= sizeof(uintmax_t) * CHAR_BIT) - lintwarn(_("lshift(%lf, %lf): too large shift value will give strange results"), val, shift); + lintwarn(_("lshift(%f, %f): too large shift value will give strange results"), val, shift); } DEREF(s1); @@ -2818,11 +2837,11 @@ shift = force_number(s2); if (do_lint) { if (val < 0 || shift < 0) - lintwarn(_("rshift(%lf, %lf): negative values will give strange results"), val, shift); + lintwarn(_("rshift(%f, %f): negative values will give strange results"), val, shift); if (double_to_int(val) != val || double_to_int(shift) != shift) - lintwarn(_("rshift(%lf, %lf): fractional values will be truncated"), val, shift); + lintwarn(_("rshift(%f, %f): fractional values will be truncated"), val, shift); if (shift >= sizeof(uintmax_t) * CHAR_BIT) - lintwarn(_("rshift(%lf, %lf): too large shift value will give strange results"), val, shift); + lintwarn(_("rshift(%f, %f): too large shift value will give strange results"), val, shift); } DEREF(s1); @@ -2855,9 +2874,9 @@ right = force_number(s2); if (do_lint) { if (left < 0 || right < 0) - lintwarn(_("and(%lf, %lf): negative values will give strange results"), left, right); + lintwarn(_("and(%f, %f): negative values will give strange results"), left, right); if (double_to_int(left) != left || double_to_int(right) != right) - lintwarn(_("and(%lf, %lf): fractional values will be truncated"), left, right); + lintwarn(_("and(%f, %f): fractional values will be truncated"), left, right); } DEREF(s1); @@ -2890,9 +2909,9 @@ right = force_number(s2); if (do_lint) { if (left < 0 || right < 0) - lintwarn(_("or(%lf, %lf): negative values will give strange results"), left, right); + lintwarn(_("or(%f, %f): negative values will give strange results"), left, right); if (double_to_int(left) != left || double_to_int(right) != right) - lintwarn(_("or(%lf, %lf): fractional values will be truncated"), left, right); + lintwarn(_("or(%f, %f): fractional values will be truncated"), left, right); } DEREF(s1); @@ -2928,9 +2947,9 @@ right = force_number(s2); if (do_lint) { if (left < 0 || right < 0) - lintwarn(_("xor(%lf, %lf): negative values will give strange results"), left, right); + lintwarn(_("xor(%f, %f): negative values will give strange results"), left, right); if (double_to_int(left) != left || double_to_int(right) != right) - lintwarn(_("xor(%lf, %lf): fractional values will be truncated"), left, right); + lintwarn(_("xor(%f, %f): fractional values will be truncated"), left, right); } DEREF(s1); @@ -2962,9 +2981,9 @@ if ((tmp->flags & (NUMCUR|NUMBER)) == 0) lintwarn(_("compl: received non-numeric argument")); if (d < 0) - lintwarn(_("compl(%lf): negative value will give strange results"), d); + lintwarn(_("compl(%f): negative value will give strange results"), d); if (double_to_int(d) != d) - lintwarn(_("compl(%lf): fractional value will be truncated"), d); + lintwarn(_("compl(%f): fractional value will be truncated"), d); } uval = (uintmax_t) d; diff -urN gawk-4.0.1/cmd.h gawk-4.0.2/cmd.h --- gawk-4.0.1/cmd.h 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/cmd.h 2012-12-25 20:31:10.000000000 +0200 @@ -43,10 +43,10 @@ extern int input_fd; extern int input_from_tty; extern FILE *out_fp; -extern char *dPrompt; -extern char *commands_Prompt; -extern char *eval_Prompt; -extern char *dgawk_Prompt; +extern char *dbg_prompt; +extern char *commands_prompt; +extern char *eval_prompt; +extern char *dgawk_prompt; enum argtype { D_illegal, @@ -140,7 +140,7 @@ #define a_string value.sval /* type = D_string, D_array, D_subscript or D_variable */ #define a_node value.nodeval /* type = D_node, D_field or D_func */ - int a_count; /* subscript count for D_subscript and D_array */ + int a_count; /* subscript count for D_subscript and D_array */ } CMDARG; typedef int (*Func_cmd)(CMDARG *, int); @@ -169,7 +169,8 @@ extern char *read_commands_string(const char *prompt); extern int in_cmd_src(const char *); extern int get_eof_status(void); -extern void push_cmd_src(int fd, int istty, char * (*readfunc)(const char *), int (*closefunc)(int), int cmd, int eofstatus); +extern void push_cmd_src(int fd, int istty, char * (*readfunc)(const char *), + int (*closefunc)(int), int cmd, int eofstatus); extern int pop_cmd_src(void); extern int has_break_or_watch_point(int *pnum, int any); extern int do_list(CMDARG *arg, int cmd); diff -urN gawk-4.0.1/command.y gawk-4.0.2/command.y --- gawk-4.0.1/command.y 2012-03-28 21:53:55.000000000 +0200 +++ gawk-4.0.2/command.y 2012-12-25 20:31:10.000000000 +0200 @@ -1,5 +1,5 @@ /* - * command.y - yacc/bison parser for debugger command + * command.y - yacc/bison parser for debugger commands. */ /* @@ -39,8 +39,8 @@ static int want_nodeval = FALSE; -static int cmd_idx = -1; /* index of current command in cmd table */ -static int repeat_idx = -1; /* index of last repeatable command in command table */ +static int cmd_idx = -1; /* index of current command in cmd table */ +static int repeat_idx = -1; /* index of last repeatable command in command table */ static CMDARG *arg_list = NULL; /* list of arguments */ static long errcount = 0; static char *lexptr_begin = NULL; @@ -220,8 +220,9 @@ * non-terminal (empty rule action). See below. */ if (input_from_tty) { - dPrompt = eval_Prompt; - fprintf(out_fp, _("Type (g)awk statement(s). End with the command \"end\"\n")); + dbg_prompt = eval_prompt; + fprintf(out_fp, + _("Type (g)awk statement(s). End with the command \"end\"\n")); rl_inhibit_completion = 1; } cmd_idx = -1; @@ -256,7 +257,7 @@ str[len - 2] = '\0'; } if (input_from_tty) { - dPrompt = in_commands ? commands_Prompt : dgawk_Prompt; + dbg_prompt = in_commands ? commands_prompt : dgawk_prompt; rl_inhibit_completion = 0; } cmd_idx = find_command("eval", 4); @@ -343,7 +344,7 @@ if (type) { in_commands = TRUE; if (input_from_tty) { - dPrompt = commands_Prompt; + dbg_prompt = commands_prompt; fprintf(out_fp, _("Type commands for when %s %d is hit, one per line.\n"), (type == D_break) ? "breakpoint" : "watchpoint", num); fprintf(out_fp, _("End with the command \"end\"\n")); @@ -356,7 +357,7 @@ yyerror(_("`end' valid only in command `commands' or `eval'")); else { if (input_from_tty) - dPrompt = dgawk_Prompt; + dbg_prompt = dgawk_prompt; in_commands = FALSE; } } @@ -1037,7 +1038,7 @@ if (lexptr_begin == NULL) { again: - lexptr_begin = read_a_line(dPrompt); + lexptr_begin = read_a_line(dbg_prompt); if (lexptr_begin == NULL) { /* EOF or error */ if (get_eof_status() == EXIT_FATAL) exit(EXIT_FATAL); diff -urN gawk-4.0.1/config.sub gawk-4.0.2/config.sub --- gawk-4.0.1/config.sub 2012-03-23 10:22:31.000000000 +0200 +++ gawk-4.0.2/config.sub 2012-12-15 22:01:40.000000000 +0200 @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2006-09-20' +timestamp='2012-12-06' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -12,7 +12,7 @@ # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, @@ -21,9 +21,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -32,13 +30,16 @@ # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,7 +73,8 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -120,12 +122,18 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -148,10 +156,13 @@ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -166,10 +177,10 @@ os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; @@ -214,6 +225,12 @@ -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -238,24 +255,34 @@ # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | arc \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | epiphany \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ + | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64vr | mips64vrel \ + | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ @@ -268,29 +295,42 @@ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ | mt \ | msp430 \ + | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ + | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -300,6 +340,21 @@ basic_machine=mt-unknown ;; + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -314,29 +369,37 @@ # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ + | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ + | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ @@ -351,27 +414,36 @@ | mmix-* \ | mt-* \ | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ | tron-* \ - | v850-* | v850e-* | vax-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. @@ -389,7 +461,7 @@ basic_machine=a29k-amd os=-udi ;; - abacus) + abacus) basic_machine=abacus-unknown ;; adobe68k) @@ -435,6 +507,10 @@ basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -443,10 +519,35 @@ basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -475,8 +576,8 @@ basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16 | cr16-*) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -514,6 +615,10 @@ basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -629,7 +734,6 @@ i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -668,6 +772,14 @@ basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -679,10 +791,21 @@ basic_machine=ns32k-utek os=-sysv ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -711,10 +834,18 @@ ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -779,6 +910,12 @@ np1) basic_machine=np1-gould ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -809,6 +946,14 @@ basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -853,9 +998,10 @@ ;; power) basic_machine=power-ibm ;; - ppc) basic_machine=powerpc-unknown + ppc | ppcbe) basic_machine=powerpc-unknown ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown @@ -880,7 +1026,11 @@ basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -925,6 +1075,9 @@ basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -946,6 +1099,9 @@ basic_machine=i860-stratus os=-sysv4 ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; sun2) basic_machine=m68000-sun ;; @@ -1002,17 +1158,9 @@ basic_machine=t90-cray os=-unicos ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown @@ -1081,6 +1229,9 @@ xps | xps100) basic_machine=xps100-honeywell ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; ymp) basic_machine=ymp-cray os=-unicos @@ -1089,6 +1240,10 @@ basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1127,7 +1282,7 @@ we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) @@ -1174,9 +1329,12 @@ if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases + # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1197,21 +1355,23 @@ # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1219,7 +1379,7 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1258,7 +1418,7 @@ -opened*) os=-openedition ;; - -os400*) + -os400*) os=-os400 ;; -wince*) @@ -1307,7 +1467,7 @@ -sinix*) os=-sysv4 ;; - -tpf*) + -tpf*) os=-tpf ;; -triton*) @@ -1349,6 +1509,11 @@ -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; -none) ;; *) @@ -1371,10 +1536,10 @@ # system, and we'll never get to this point. case $basic_machine in - score-*) + score-*) os=-elf ;; - spu-*) + spu-*) os=-elf ;; *-acorn) @@ -1386,8 +1551,20 @@ arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1407,13 +1584,13 @@ ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;; @@ -1438,7 +1615,7 @@ *-ibm) os=-aix ;; - *-knuth) + *-knuth) os=-mmixware ;; *-wec) @@ -1543,7 +1720,7 @@ -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) diff -urN gawk-4.0.1/configh.in gawk-4.0.2/configh.in --- gawk-4.0.1/configh.in 2012-03-28 22:03:33.000000000 +0200 +++ gawk-4.0.2/configh.in 2012-12-25 20:34:12.000000000 +0200 @@ -69,16 +69,12 @@ /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV -/* Define if you have the 'intmax_t' type in or . */ +/* Define to 1 if the system has the type `intmax_t'. */ #undef HAVE_INTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define if exists, doesn't clash with , and - declares uintmax_t. */ -#undef HAVE_INTTYPES_H_WITH_UINTMAX - /* Define to 1 if you have the `isascii' function. */ #undef HAVE_ISASCII @@ -115,9 +111,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H -/* Define if you have the 'long long' type. */ -#undef HAVE_LONG_LONG - /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT @@ -163,6 +156,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H +/* Define to 1 if you have the `posix_openpt' function. */ +#undef HAVE_POSIX_OPENPT + /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV @@ -184,16 +180,15 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDARG_H +/* Define to 1 if stdbool.h conforms to C99. */ +#undef HAVE_STDBOOL_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H -/* Define if exists, doesn't clash with , and declares - uintmax_t. */ -#undef HAVE_STDINT_H_WITH_UINTMAX - /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H @@ -287,15 +282,12 @@ /* Define to 1 if you have the `tzset' function. */ #undef HAVE_TZSET -/* Define if you have the 'uintmax_t' type in or . */ +/* Define to 1 if the system has the type `uintmax_t'. */ #undef HAVE_UINTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define if you have the 'unsigned long long' type. */ -#undef HAVE_UNSIGNED_LONG_LONG - /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT @@ -326,6 +318,9 @@ /* systems should define this type here */ #undef HAVE_WINT_T +/* Define to 1 if the system has the type `_Bool'. */ +#undef HAVE__BOOL + /* disable lint checks */ #undef NO_LINT @@ -402,6 +397,11 @@ /* Version number of package */ #undef VERSION +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS @@ -411,6 +411,19 @@ /* Define to 1 if on MINIX. */ #undef _MINIX +/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE @@ -435,7 +448,8 @@ #undef inline #endif -/* Define to long or long long if and don't define. */ +/* Define to the widest signed integer type if and do + not define. */ #undef intmax_t /* Define to `int' if does not define. */ @@ -467,8 +481,8 @@ /* Define to `int' if doesn't define. */ #undef uid_t -/* Define to unsigned long or unsigned long long if and - don't define. */ +/* Define to the widest unsigned integer type if and + do not define. */ #undef uintmax_t #include "custom.h" diff -urN gawk-4.0.1/configure gawk-4.0.2/configure --- gawk-4.0.1/configure 2012-03-28 22:03:22.000000000 +0200 +++ gawk-4.0.2/configure 2012-12-25 20:34:07.000000000 +0200 @@ -1,13 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for GNU Awk 4.0.1. +# Generated by GNU Autoconf 2.69 for GNU Awk 4.0.2. # # Report bugs to . # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -136,6 +134,31 @@ # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -169,7 +192,8 @@ else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -214,21 +238,25 @@ if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -331,6 +359,14 @@ } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -452,6 +488,10 @@ chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -486,16 +526,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -507,28 +547,8 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -560,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='GNU Awk' PACKAGE_TARNAME='gawk' -PACKAGE_VERSION='4.0.1' -PACKAGE_STRING='GNU Awk 4.0.1' +PACKAGE_VERSION='4.0.2' +PACKAGE_STRING='GNU Awk 4.0.2' PACKAGE_BUGREPORT='bug-gawk@gnu.org' PACKAGE_URL='http://www.gnu.org/software/gawk/' @@ -648,6 +668,7 @@ am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -1203,8 +1224,6 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1290,7 +1309,7 @@ # 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.1 to adapt to many kinds of systems. +\`configure' configures GNU Awk 4.0.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1360,7 +1379,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Awk 4.0.1:";; + short | recursive ) echo "Configuration of GNU Awk 4.0.2:";; esac cat <<\_ACEOF @@ -1369,8 +1388,10 @@ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-lint Disable gawk lint checking - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build --disable-largefile omit support for large files --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths @@ -1472,10 +1493,10 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU Awk configure 4.0.1 -generated by GNU Autoconf 2.68 +GNU Awk configure 4.0.2 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1752,7 +1773,7 @@ test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1842,7 +1863,8 @@ main () { static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -1858,7 +1880,8 @@ main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -1884,7 +1907,8 @@ main () { static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -1900,7 +1924,8 @@ main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -1934,7 +1959,8 @@ main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -2176,8 +2202,8 @@ 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.1, which was -generated by GNU Autoconf 2.68. Invocation command line was +It was created by GNU Awk $as_me 4.0.2, which was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2544,7 +2570,7 @@ fi -am__api_version='1.11' +am__api_version='1.12' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do @@ -2612,7 +2638,7 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2670,9 +2696,6 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -2683,32 +2706,40 @@ esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac -# Do `set' in a subshell so we don't clobber the current shell's +# Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$2" = conftest.file ) then @@ -2720,6 +2751,16 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. @@ -2746,8 +2787,8 @@ am_missing_run="$MISSING --run " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then @@ -2759,10 +2800,10 @@ esac fi -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. +# will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. @@ -2781,7 +2822,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2821,7 +2862,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2872,7 +2913,7 @@ test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -2901,12 +2942,6 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -2925,7 +2960,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3011,7 +3046,7 @@ # Define the identity of the package. PACKAGE='gawk' - VERSION='4.0.1' + VERSION='4.0.2' cat >>confdefs.h <<_ACEOF @@ -3039,13 +3074,19 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' @@ -3097,7 +3138,7 @@ _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include @@ -3130,6 +3171,7 @@ if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -3162,7 +3204,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3202,7 +3244,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3255,7 +3297,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3296,7 +3338,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -3354,7 +3396,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3398,7 +3440,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3844,8 +3886,7 @@ /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3941,8 +3982,9 @@ # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -3976,16 +4018,16 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -3994,16 +4036,16 @@ test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -4212,7 +4254,7 @@ for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4278,7 +4320,7 @@ for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4485,8 +4527,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# define __EXTENSIONS__ 1 - $ac_includes_default +# define __EXTENSIONS__ 1 + $ac_includes_default int main () { @@ -4536,7 +4578,7 @@ for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4602,7 +4644,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_YACC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4660,7 +4702,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4700,7 +4742,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4753,7 +4795,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4794,7 +4836,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -4852,7 +4894,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4896,7 +4938,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -5092,8 +5134,7 @@ /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -5189,8 +5230,9 @@ # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -5224,16 +5266,16 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - # We check with `-c' and `-o' for the sake of the "dashmstdout" + # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in @@ -5242,16 +5284,16 @@ test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} @@ -5761,6 +5803,8 @@ esac rm -rf conftest* fi + + fi @@ -5938,7 +5982,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -8101,6 +8145,99 @@ fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if ${ac_cv_header_stdbool_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; + +int +main () +{ + + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdbool_h=yes +else + ac_cv_header_stdbool_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF + + +fi + + +if test $ac_cv_header_stdbool_h = yes; then + +$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } if ${ac_cv_header_sys_wait_h+:} false; then : @@ -8383,27 +8520,78 @@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - typedef int a[((-9223372036854775807LL < 0 - && 0 < 9223372036854775807ll) - ? 1 : -1)]; - int i = 63; + + /* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63; int main () { -long long int llmax = 9223372036854775807ll; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll)); +/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull)); ; return 0; } + _ACEOF if ac_fn_c_try_link "$LINENO"; then : + if test "$cross_compiling" = yes; then : + ac_cv_type_long_long_int=yes +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifndef LLONG_MAX + # define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + # define LLONG_MAX (HALF - 1 + HALF) + #endif +int +main () +{ +long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : ac_cv_type_long_long_int=yes else ac_cv_type_long_long_int=no fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +else + ac_cv_type_long_long_int=no +fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi @@ -8416,15 +8604,6 @@ fi - - ac_cv_type_long_long=$ac_cv_type_long_long_int - if test $ac_cv_type_long_long = yes; then - -$as_echo "#define HAVE_LONG_LONG 1" >>confdefs.h - - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 $as_echo_n "checking for unsigned long long int... " >&6; } if ${ac_cv_type_unsigned_long_long_int+:} false; then : @@ -8464,130 +8643,41 @@ - ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int - if test $ac_cv_type_unsigned_long_long = yes; then - -$as_echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>confdefs.h - - fi - - - if test "OS/390" = "`uname`" - then - gl_cv_header_inttypes_h=no - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 -$as_echo_n "checking for inttypes.h... " >&6; } -if ${gl_cv_header_inttypes_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_inttypes_h=yes -else - gl_cv_header_inttypes_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 -$as_echo "$gl_cv_header_inttypes_h" >&6; } - if test $gl_cv_header_inttypes_h = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -_ACEOF - - fi - fi + ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "$ac_includes_default" +if test "x$ac_cv_type_intmax_t" = xyes; then : +$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h - if test "OS/390" = "`uname`" - then - gl_cv_header_stdint_h=no - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 -$as_echo_n "checking for stdint.h... " >&6; } -if ${gl_cv_header_stdint_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -uintmax_t i = (uintmax_t) -1; return !i; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_header_stdint_h=yes else - gl_cv_header_stdint_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 -$as_echo "$gl_cv_header_stdint_h" >&6; } - if test $gl_cv_header_stdint_h = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STDINT_H_WITH_UINTMAX 1 -_ACEOF - - fi - fi - - - - - if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then - - test $ac_cv_type_long_long = yes \ - && ac_type='long long' \ - || ac_type='long' + test $ac_cv_type_long_long_int = yes \ + && ac_type='long long int' \ + || ac_type='long int' cat >>confdefs.h <<_ACEOF #define intmax_t $ac_type _ACEOF - else - -$as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h +fi - fi + ac_fn_c_check_type "$LINENO" "uintmax_t" "ac_cv_type_uintmax_t" "$ac_includes_default" +if test "x$ac_cv_type_uintmax_t" = xyes; then : - if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then +$as_echo "#define HAVE_UINTMAX_T 1" >>confdefs.h - test $ac_cv_type_unsigned_long_long = yes \ - && ac_type='unsigned long long' \ - || ac_type='unsigned long' +else + test $ac_cv_type_unsigned_long_long_int = yes \ + && ac_type='unsigned long long int' \ + || ac_type='unsigned long int' cat >>confdefs.h <<_ACEOF #define uintmax_t $ac_type _ACEOF - else - -$as_echo "#define HAVE_UINTMAX_T 1" >>confdefs.h +fi - fi ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" if test "x$ac_cv_type_ssize_t" = xyes; then : @@ -8816,6 +8906,9 @@ + + + for ac_func in vprintf do : ac_fn_c_check_func "$LINENO" "vprintf" "ac_cv_func_vprintf" @@ -9854,7 +9947,7 @@ 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 setsid snprintf strchr \ + memset_ulong mkstemp posix_openpt setenv setlocale setsid snprintf strchr \ strerror strftime strncasecmp strcoll strtod strtoul \ system tmpfile towlower towupper tzset usleep wcrtomb \ wcscoll wctype @@ -10460,7 +10553,8 @@ main () { static int test_array [1 - 2 * !(((char) -1) < 0)]; -test_array [0] = 0 +test_array [0] = 0; +return test_array [0]; ; return 0; @@ -10491,11 +10585,11 @@ int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -10512,8 +10606,9 @@ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -10529,10 +10624,10 @@ iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -10792,6 +10887,14 @@ LTLIBOBJS=$ac_ltlibobjs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -11110,16 +11213,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -11179,28 +11282,16 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -11221,8 +11312,8 @@ # 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.1, which was -generated by GNU Autoconf 2.68. Invocation command line was +This file was extended by GNU Awk $as_me 4.0.2, which was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -11289,11 +11380,11 @@ 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.1 -configured by $0, generated by GNU Autoconf 2.68, +GNU Awk config.status 4.0.2 +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -11384,7 +11475,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' @@ -12042,7 +12133,7 @@ # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but + # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. @@ -12076,21 +12167,19 @@ continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || diff -urN gawk-4.0.1/configure.ac gawk-4.0.2/configure.ac --- gawk-4.0.1/configure.ac 2012-03-28 22:01:23.000000000 +0200 +++ gawk-4.0.2/configure.ac 2012-12-25 20:31:10.000000000 +0200 @@ -23,7 +23,7 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([GNU Awk], 4.0.1, bug-gawk@gnu.org, gawk) +AC_INIT([GNU Awk], 4.0.2, 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. @@ -39,8 +39,8 @@ export INSTALL fi -AC_PREREQ(2.68) -AM_INIT_AUTOMAKE([1.11 dist-xz]) +AC_PREREQ(2.69) +AM_INIT_AUTOMAKE([1.12 dist-xz]) AC_CONFIG_MACRO_DIR([m4]) @@ -135,6 +135,7 @@ dnl checks for header files AC_HEADER_STDC +AC_HEADER_STDBOOL AC_HEADER_SYS_WAIT AC_HEADER_TIME AC_CHECK_HEADERS(arpa/inet.h fcntl.h limits.h locale.h libintl.h mcheck.h \ @@ -154,10 +155,10 @@ AC_TYPE_SIGNAL AC_SIZE_T AC_TYPE_GETGROUPS -gl_AC_TYPE_LONG_LONG -gl_AC_TYPE_UNSIGNED_LONG_LONG -gl_AC_TYPE_INTMAX_T -gl_AC_TYPE_UINTMAX_T +AC_TYPE_LONG_LONG_INT +AC_TYPE_UNSIGNED_LONG_LONG_INT +AC_TYPE_INTMAX_T +AC_TYPE_UINTMAX_T AC_CHECK_TYPE(ssize_t, int) AC_CHECK_SIZEOF(unsigned int) AC_CHECK_SIZEOF(unsigned long) @@ -237,6 +238,9 @@ ]) TYPE_SOCKLEN_T +dnl Check for C11 _Noreturn +GAWK_AC_NORETURN + dnl checks for functions AC_FUNC_VPRINTF AC_FUNC_MKTIME @@ -265,7 +269,7 @@ 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 setsid snprintf strchr \ + memset_ulong mkstemp posix_openpt setenv setlocale setsid snprintf strchr \ strerror strftime strncasecmp strcoll strtod strtoul \ system tmpfile towlower towupper tzset usleep wcrtomb \ wcscoll wctype) diff -urN gawk-4.0.1/debug.c gawk-4.0.2/debug.c --- gawk-4.0.1/debug.c 2012-03-28 21:54:02.000000000 +0200 +++ gawk-4.0.2/debug.c 2012-12-25 20:31:10.000000000 +0200 @@ -52,9 +52,9 @@ static size_t linebuf_len; FILE *out_fp; -char *dPrompt; -char *commands_Prompt = "> "; /* breakpoint or watchpoint commands list */ -char *eval_Prompt = "@> "; /* awk statement(s) */ +char *dbg_prompt; +char *commands_prompt = "> "; /* breakpoint or watchpoint commands list */ +char *eval_prompt = "@> "; /* awk statement(s) */ int input_from_tty = FALSE; int input_fd; @@ -237,7 +237,7 @@ /* keep all option variables in one place */ static char *output_file = "/dev/stdout"; /* gawk output redirection */ -char *dgawk_Prompt = NULL; /* initialized in interpret */ +char *dgawk_prompt = NULL; /* initialized in interpret */ static int list_size = DEFAULT_LISTSIZE; /* # of lines that 'list' prints */ static int do_trace = FALSE; static int do_save_history = TRUE; @@ -251,7 +251,7 @@ gettext_noop("set or show the list command window size.") }, {"outfile", NULL, &output_file, &set_gawk_output, gettext_noop("set or show gawk output file.") }, -{"prompt", NULL, &dgawk_Prompt, &set_prompt, +{"prompt", NULL, &dgawk_prompt, &set_prompt, gettext_noop("set or show debugger prompt."), }, {"save_history", &do_save_history, NULL, &set_save_history, gettext_noop("(un)set or show saving of command history (value=on|off).") }, @@ -2760,8 +2760,8 @@ exit(EXIT_FAILURE); } - dgawk_Prompt = estrdup(DEFAULT_PROMPT, strlen(DEFAULT_PROMPT)); - dPrompt = dgawk_Prompt; + dgawk_prompt = estrdup(DEFAULT_PROMPT, strlen(DEFAULT_PROMPT)); + dbg_prompt = dgawk_prompt; memset(&stop, 0, sizeof(stop)); stop.command = D_illegal; @@ -3704,7 +3704,8 @@ if (noffset == 0) { static char buf[50]; /* offset for 2nd to last lines in a multi-line output */ - noffset = sprintf(buf, "[ :%p] %-20.20s: ", pc, opcode2str(pc->opcode)); + noffset = sprintf(buf, "[ :%p] %-20.20s: ", (void *) pc, + opcode2str(pc->opcode)); } if (pc->opcode == Op_func) { @@ -5188,9 +5189,9 @@ static void set_prompt(const char *value) { - efree(dgawk_Prompt); - dgawk_Prompt = estrdup(value, strlen(value)); - dPrompt = dgawk_Prompt; + efree(dgawk_prompt); + dgawk_prompt = estrdup(value, strlen(value)); + dbg_prompt = dgawk_prompt; } /* set_option_flag --- convert option string to flag value */ diff -urN gawk-4.0.1/dfa.c gawk-4.0.2/dfa.c --- gawk-4.0.1/dfa.c 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/dfa.c 2012-12-03 23:03:00.000000000 +0200 @@ -36,6 +36,12 @@ #if HAVE_SETLOCALE #include #endif +#ifdef HAVE_STDBOOL_H +#include +#else +#include "missing_d/gawkbool.h" +#endif /* HAVE_STDBOOL_H */ + #define STREQ(a, b) (strcmp (a, b) == 0) @@ -45,7 +51,7 @@ - It's typically faster. Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that only '0' through '9' are digits. Prefer ISASCIIDIGIT to isdigit unless - it's important to use the locale's definition of `digit' even when the + it's important to use the locale's definition of "digit" even when the host does not conform to Posix. */ #define ISASCIIDIGIT(c) ((unsigned) (c) - '0' <= 9) @@ -53,23 +59,26 @@ #include "gettext.h" #define _(str) gettext (str) -#include "mbsupport.h" /* defines MBS_SUPPORT to 1 or 0, as appropriate */ +#include "mbsupport.h" /* defines MBS_SUPPORT to 1 or 0, as appropriate */ #if MBS_SUPPORT /* We can handle multibyte strings. */ #include #include - -#if HAVE_LANGINFO_CODESET -# include -#endif #endif #ifdef GAWK -#define bool int -#define true (1) -#define false (0) +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif #endif /* GAWK */ +#if HAVE_LANGINFO_CODESET +# include +#endif + #include "regex.h" #include "dfa.h" #include "xalloc.h" @@ -112,15 +121,23 @@ /* Convert a possibly-signed character to an unsigned character. This is a bit safer than casting to unsigned char, since it catches some type errors that the cast doesn't. */ -static inline unsigned char to_uchar (char ch) { return ch; } +static inline unsigned char +to_uchar (char ch) +{ + return ch; +} /* Contexts tell us whether a character is a newline or a word constituent. Word-constituent characters are those that satisfy iswalnum(), plus '_'. + Each character has a single CTX_* value; bitmasks of CTX_* values denote + a particular character class. - A state also stores a context value, which is nonzero if its - predecessors always matches a newline or a word constituent. - The definition of a state's context is a bit unclear, but will be - modified soon anyway. */ + A state also stores a context value, which is a bitmask of CTX_* values. + A state's context represents a set of characters that the state's + predecessors must match. For example, a state whose context does not + include CTX_LETTER will never have transitions where the previous + character is a word constituent. A state whose context is CTX_ANY + might have transitions from any character. */ #define CTX_NONE 1 #define CTX_LETTER 2 @@ -134,53 +151,55 @@ is set indicates that the constraint succeeds in the corresponding context. - bit 7 - previous and current are newlines - bit 6 - previous was newline, current isn't - bit 5 - previous wasn't newline, current is - bit 4 - neither previous nor current is a newline - bit 3 - previous and current are word-constituents - bit 2 - previous was word-constituent, current isn't - bit 1 - previous wasn't word-constituent, current is - bit 0 - neither previous nor current is word-constituent + bit 8-11 - valid contexts when next character is CTX_NEWLINE + bit 4-7 - valid contexts when next character is CTX_LETTER + bit 0-3 - valid contexts when next character is CTX_NONE The macro SUCCEEDS_IN_CONTEXT determines whether a given constraint - succeeds in a particular context. Prev is the context value for - the previous character, curr is the context value for the lookahead - character. */ -#define MATCHES_NEWLINE_CONTEXT(constraint, prev, curr) \ - ((constraint) & \ - 1 << (((prev & CTX_NEWLINE) ? 2 : 0) + ((curr & CTX_NEWLINE) ? 1 : 0) + 4)) -#define MATCHES_LETTER_CONTEXT(constraint, prev, curr) \ - ((constraint) & \ - 1 << (((prev & CTX_LETTER) ? 2 : 0) + ((curr & CTX_LETTER) ? 1 : 0))) + succeeds in a particular context. Prev is a bitmask of possible + context values for the previous character, curr is the (single-bit) + context value for the lookahead character. */ +#define NEWLINE_CONSTRAINT(constraint) (((constraint) >> 8) & 0xf) +#define LETTER_CONSTRAINT(constraint) (((constraint) >> 4) & 0xf) +#define OTHER_CONSTRAINT(constraint) ((constraint) & 0xf) + #define SUCCEEDS_IN_CONTEXT(constraint, prev, curr) \ - (MATCHES_NEWLINE_CONTEXT(constraint, prev, curr) \ - && MATCHES_LETTER_CONTEXT(constraint, prev, curr)) + ((((curr) & CTX_NONE ? OTHER_CONSTRAINT(constraint) : 0) \ + | ((curr) & CTX_LETTER ? LETTER_CONSTRAINT(constraint) : 0) \ + | ((curr) & CTX_NEWLINE ? NEWLINE_CONSTRAINT(constraint) : 0)) & (prev)) /* The following macros give information about what a constraint depends on. */ +#define PREV_NEWLINE_CONSTRAINT(constraint) (((constraint) >> 2) & 0x111) +#define PREV_LETTER_CONSTRAINT(constraint) (((constraint) >> 1) & 0x111) +#define PREV_OTHER_CONSTRAINT(constraint) ((constraint) & 0x111) + #define PREV_NEWLINE_DEPENDENT(constraint) \ - (((constraint) & 0xc0) >> 2 != ((constraint) & 0x30)) + (PREV_NEWLINE_CONSTRAINT (constraint) != PREV_OTHER_CONSTRAINT (constraint)) #define PREV_LETTER_DEPENDENT(constraint) \ - (((constraint) & 0x0c) >> 2 != ((constraint) & 0x03)) + (PREV_LETTER_CONSTRAINT (constraint) != PREV_OTHER_CONSTRAINT (constraint)) /* Tokens that match the empty string subject to some constraint actually work by applying that constraint to determine what may follow them, taking into account what has gone before. The following values are the constraints corresponding to the special tokens previously defined. */ -#define NO_CONSTRAINT 0xff -#define BEGLINE_CONSTRAINT 0xcf -#define ENDLINE_CONSTRAINT 0xaf -#define BEGWORD_CONSTRAINT 0xf2 -#define ENDWORD_CONSTRAINT 0xf4 -#define LIMWORD_CONSTRAINT 0xf6 -#define NOTLIMWORD_CONSTRAINT 0xf9 +#define NO_CONSTRAINT 0x777 +#define BEGLINE_CONSTRAINT 0x444 +#define ENDLINE_CONSTRAINT 0x700 +#define BEGWORD_CONSTRAINT 0x050 +#define ENDWORD_CONSTRAINT 0x202 +#define LIMWORD_CONSTRAINT 0x252 +#define NOTLIMWORD_CONSTRAINT 0x525 /* The regexp is parsed into an array of tokens in postfix form. Some tokens are operators and others are terminal symbols. Most (but not all) of these codes are returned by the lexical analyzer. */ -typedef enum + +typedef ptrdiff_t token; + +/* Predefined token values. */ +enum { - END = -1, /* END is a terminal symbol that matches the + END = -1, /* END is a terminal symbol that matches the end of input; any value of END or less in the parse tree is such a symbol. Accepting states of the DFA are those that would have @@ -188,83 +207,83 @@ /* Ordinary character values are terminal symbols that match themselves. */ - EMPTY = NOTCHAR, /* EMPTY is a terminal symbol that matches + EMPTY = NOTCHAR, /* EMPTY is a terminal symbol that matches the empty string. */ - BACKREF, /* BACKREF is generated by \; it + BACKREF, /* BACKREF is generated by \; it is not completely handled. If the scanner detects a transition on backref, it returns a kind of "semi-success" indicating that the match will have to be verified with a backtracking matcher. */ - BEGLINE, /* BEGLINE is a terminal symbol that matches + BEGLINE, /* BEGLINE is a terminal symbol that matches the empty string if it is at the beginning of a line. */ - ENDLINE, /* ENDLINE is a terminal symbol that matches + ENDLINE, /* ENDLINE is a terminal symbol that matches the empty string if it is at the end of a line. */ - BEGWORD, /* BEGWORD is a terminal symbol that matches + BEGWORD, /* BEGWORD is a terminal symbol that matches the empty string if it is at the beginning of a word. */ - ENDWORD, /* ENDWORD is a terminal symbol that matches + ENDWORD, /* ENDWORD is a terminal symbol that matches the empty string if it is at the end of a word. */ - LIMWORD, /* LIMWORD is a terminal symbol that matches + LIMWORD, /* LIMWORD is a terminal symbol that matches the empty string if it is at the beginning or the end of a word. */ - NOTLIMWORD, /* NOTLIMWORD is a terminal symbol that + NOTLIMWORD, /* NOTLIMWORD is a terminal symbol that matches the empty string if it is not at the beginning or end of a word. */ - QMARK, /* QMARK is an operator of one argument that - matches zero or one occurences of its + QMARK, /* QMARK is an operator of one argument that + matches zero or one occurrences of its argument. */ - STAR, /* STAR is an operator of one argument that + STAR, /* STAR is an operator of one argument that matches the Kleene closure (zero or more occurrences) of its argument. */ - PLUS, /* PLUS is an operator of one argument that + PLUS, /* PLUS is an operator of one argument that matches the positive closure (one or more occurrences) of its argument. */ - REPMN, /* REPMN is a lexical token corresponding + REPMN, /* REPMN is a lexical token corresponding to the {m,n} construct. REPMN never appears in the compiled token vector. */ - CAT, /* CAT is an operator of two arguments that + CAT, /* CAT is an operator of two arguments that matches the concatenation of its arguments. CAT is never returned by the lexical analyzer. */ - OR, /* OR is an operator of two arguments that + OR, /* OR is an operator of two arguments that matches either of its arguments. */ - LPAREN, /* LPAREN never appears in the parse tree, + LPAREN, /* LPAREN never appears in the parse tree, it is only a lexeme. */ - RPAREN, /* RPAREN never appears in the parse tree. */ + RPAREN, /* RPAREN never appears in the parse tree. */ - ANYCHAR, /* ANYCHAR is a terminal symbol that matches - any multibyte (or single byte) characters. - It is used only if MB_CUR_MAX > 1. */ + ANYCHAR, /* ANYCHAR is a terminal symbol that matches + any multibyte (or single byte) characters. + It is used only if MB_CUR_MAX > 1. */ - MBCSET, /* MBCSET is similar to CSET, but for + MBCSET, /* MBCSET is similar to CSET, but for multibyte characters. */ - WCHAR, /* Only returned by lex. wctok contains + WCHAR, /* Only returned by lex. wctok contains the wide character representation. */ - CSET /* CSET and (and any value greater) is a + CSET /* CSET and (and any value greater) is a terminal symbol that matches any of a class of characters. */ -} token; +}; /* States of the recognizer correspond to sets of positions in the parse @@ -273,23 +292,23 @@ a constraint. */ typedef struct { - unsigned int index; /* Index into the parse array. */ - unsigned int constraint; /* Constraint for matching this position. */ + size_t index; /* Index into the parse array. */ + unsigned int constraint; /* Constraint for matching this position. */ } position; /* Sets of positions are stored as arrays. */ typedef struct { - position *elems; /* Elements of this position set. */ - size_t nelem; /* Number of elements in this set. */ - size_t alloc; /* Number of elements allocated in ELEMS. */ + position *elems; /* Elements of this position set. */ + size_t nelem; /* Number of elements in this set. */ + size_t alloc; /* Number of elements allocated in ELEMS. */ } position_set; /* Sets of leaves are also stored as arrays. */ typedef struct { - unsigned int *elems; /* Elements of this position set. */ - size_t nelem; /* Number of elements in this set. */ + size_t *elems; /* Elements of this position set. */ + size_t nelem; /* Number of elements in this set. */ } leaf_set; /* A state of the dfa consists of a set of positions, some flags, @@ -297,99 +316,103 @@ contains an END token. */ typedef struct { - int hash; /* Hash of the positions of this state. */ - position_set elems; /* Positions this state could match. */ - unsigned char context; /* Context from previous state. */ - char backref; /* True if this state matches a \. */ - unsigned char constraint; /* Constraint for this state to accept. */ - int first_end; /* Token value of the first END in elems. */ - position_set mbps; /* Positions which can match multibyte - characters. e.g. period. - These staff are used only if - MB_CUR_MAX > 1. */ + size_t hash; /* Hash of the positions of this state. */ + position_set elems; /* Positions this state could match. */ + unsigned char context; /* Context from previous state. */ + char backref; /* True if this state matches a \. */ + unsigned short constraint; /* Constraint for this state to accept. */ + token first_end; /* Token value of the first END in elems. */ + position_set mbps; /* Positions which can match multibyte + characters. e.g. period. + These staff are used only if + MB_CUR_MAX > 1. */ } dfa_state; +/* States are indexed by state_num values. These are normally + nonnegative but -1 is used as a special value. */ +typedef ptrdiff_t state_num; + /* A bracket operator. e.g. [a-c], [[:alpha:]], etc. */ struct mb_char_classes { - int cset; + ptrdiff_t cset; int invert; - wchar_t *chars; /* Normal characters. */ - int nchars; - wctype_t *ch_classes; /* Character classes. */ - int nch_classes; - wchar_t *range_sts; /* Range characters (start of the range). */ - wchar_t *range_ends; /* Range characters (end of the range). */ - int nranges; - char **equivs; /* Equivalent classes. */ - int nequivs; + wchar_t *chars; /* Normal characters. */ + size_t nchars; + wctype_t *ch_classes; /* Character classes. */ + size_t nch_classes; + wchar_t *range_sts; /* Range characters (start of the range). */ + wchar_t *range_ends; /* Range characters (end of the range). */ + size_t nranges; + char **equivs; /* Equivalence classes. */ + size_t nequivs; char **coll_elems; - int ncoll_elems; /* Collating elements. */ + size_t ncoll_elems; /* Collating elements. */ }; /* A compiled regular expression. */ struct dfa { /* Fields filled by the scanner. */ - charclass *charclasses; /* Array of character sets for CSET tokens. */ - int cindex; /* Index for adding new charclasses. */ - int calloc; /* Number of charclasses currently allocated. */ + charclass *charclasses; /* Array of character sets for CSET tokens. */ + size_t cindex; /* Index for adding new charclasses. */ + size_t calloc; /* Number of charclasses currently allocated. */ /* Fields filled by the parser. */ - token *tokens; /* Postfix parse array. */ - int tindex; /* Index for adding new tokens. */ - int talloc; /* Number of tokens currently allocated. */ - int depth; /* Depth required of an evaluation stack + token *tokens; /* Postfix parse array. */ + size_t tindex; /* Index for adding new tokens. */ + size_t talloc; /* Number of tokens currently allocated. */ + size_t depth; /* Depth required of an evaluation stack used for depth-first traversal of the parse tree. */ - int nleaves; /* Number of leaves on the parse tree. */ - int nregexps; /* Count of parallel regexps being built + size_t nleaves; /* Number of leaves on the parse tree. */ + size_t nregexps; /* Count of parallel regexps being built with dfaparse(). */ - unsigned int mb_cur_max; /* Cached value of MB_CUR_MAX. */ - int utf8_anychar_classes[5]; /* To lower ANYCHAR in UTF-8 locales. */ + unsigned int mb_cur_max; /* Cached value of MB_CUR_MAX. */ + token utf8_anychar_classes[5]; /* To lower ANYCHAR in UTF-8 locales. */ /* The following are used only if MB_CUR_MAX > 1. */ /* The value of multibyte_prop[i] is defined by following rule. - if tokens[i] < NOTCHAR - bit 0 : tokens[i] is the first byte of a character, including - single-byte characters. - bit 1 : tokens[i] is the last byte of a character, including - single-byte characters. + if tokens[i] < NOTCHAR + bit 0 : tokens[i] is the first byte of a character, including + single-byte characters. + bit 1 : tokens[i] is the last byte of a character, including + single-byte characters. - if tokens[i] = MBCSET - ("the index of mbcsets correspnd to this operator" << 2) + 3 + if tokens[i] = MBCSET + ("the index of mbcsets corresponding to this operator" << 2) + 3 e.g. tokens - = 'single_byte_a', 'multi_byte_A', single_byte_b' - = 'sb_a', 'mb_A(1st byte)', 'mb_A(2nd byte)', 'mb_A(3rd byte)', 'sb_b' + = 'single_byte_a', 'multi_byte_A', single_byte_b' + = 'sb_a', 'mb_A(1st byte)', 'mb_A(2nd byte)', 'mb_A(3rd byte)', 'sb_b' multibyte_prop - = 3 , 1 , 0 , 2 , 3 - */ - int nmultibyte_prop; + = 3 , 1 , 0 , 2 , 3 + */ + size_t nmultibyte_prop; int *multibyte_prop; /* Array of the bracket expression in the DFA. */ struct mb_char_classes *mbcsets; - int nmbcsets; - int mbcsets_alloc; + size_t nmbcsets; + size_t mbcsets_alloc; /* Fields filled by the state builder. */ - dfa_state *states; /* States of the dfa. */ - int sindex; /* Index for adding new states. */ - int salloc; /* Number of states currently allocated. */ + dfa_state *states; /* States of the dfa. */ + state_num sindex; /* Index for adding new states. */ + state_num salloc; /* Number of states currently allocated. */ /* Fields filled by the parse tree->NFA conversion. */ - position_set *follows; /* Array of follow sets, indexed by position + position_set *follows; /* Array of follow sets, indexed by position index. The follow of a position is the set of positions containing characters that could conceivably follow a character matching the given position in a string matching the regexp. Allocated to the maximum possible position index. */ - int searchflag; /* True if we are supposed to build a searching + int searchflag; /* True if we are supposed to build a searching as opposed to an exact matcher. A searching matcher finds the first and shortest string matching a regexp anywhere in the buffer, @@ -398,29 +421,29 @@ beginning of the buffer. */ /* Fields filled by dfaexec. */ - int tralloc; /* Number of transition tables that have + state_num tralloc; /* Number of transition tables that have slots so far. */ - int trcount; /* Number of transition tables that have + int trcount; /* Number of transition tables that have actually been built. */ - int **trans; /* Transition tables for states that can + state_num **trans; /* Transition tables for states that can never accept. If the transitions for a state have not yet been computed, or the state could possibly accept, its entry in this table is NULL. */ - int **realtrans; /* Trans always points to realtrans + 1; this + state_num **realtrans; /* Trans always points to realtrans + 1; this is so trans[-1] can contain NULL. */ - int **fails; /* Transition tables after failing to accept + state_num **fails; /* Transition tables after failing to accept on a state that potentially could do so. */ - int *success; /* Table of acceptance conditions used in + int *success; /* Table of acceptance conditions used in dfaexec and computed in build_state. */ - int *newlines; /* Transitions on newlines. The entry for a + state_num *newlines; /* Transitions on newlines. The entry for a newline in any transition table is always -1 so we can count lines without wasting too many cycles. The transition for a newline is stored separately and handled as a special case. Newline is also used as a sentinel at the end of the buffer. */ - struct dfamust *musts; /* List of strings, at least one of which + struct dfamust *musts; /* List of strings, at least one of which is known to appear in any r.e. matching the dfa. */ }; @@ -433,7 +456,7 @@ /* ACCEPTS_IN_CONTEXT returns true if the given state accepts in the specified context. */ #define ACCEPTS_IN_CONTEXT(prev, curr, state, dfa) \ - SUCCEEDS_IN_CONTEXT((dfa).states[state].constraint, prev, curr) + SUCCEEDS_IN_CONTEXT ((dfa).states[state].constraint, prev, curr) static void dfamust (struct dfa *dfa); static void regexp (void); @@ -481,33 +504,72 @@ char const *s; if (t < 0) - fprintf(stderr, "END"); + fprintf (stderr, "END"); else if (t < NOTCHAR) - fprintf(stderr, "%c", t); + { + int ch = t; + fprintf (stderr, "%c", ch); + } else { switch (t) { - case EMPTY: s = "EMPTY"; break; - case BACKREF: s = "BACKREF"; break; - case BEGLINE: s = "BEGLINE"; break; - case ENDLINE: s = "ENDLINE"; break; - case BEGWORD: s = "BEGWORD"; break; - case ENDWORD: s = "ENDWORD"; break; - case LIMWORD: s = "LIMWORD"; break; - case NOTLIMWORD: s = "NOTLIMWORD"; break; - case QMARK: s = "QMARK"; break; - case STAR: s = "STAR"; break; - case PLUS: s = "PLUS"; break; - case CAT: s = "CAT"; break; - case OR: s = "OR"; break; - case LPAREN: s = "LPAREN"; break; - case RPAREN: s = "RPAREN"; break; - case ANYCHAR: s = "ANYCHAR"; break; - case MBCSET: s = "MBCSET"; break; - default: s = "CSET"; break; + case EMPTY: + s = "EMPTY"; + break; + case BACKREF: + s = "BACKREF"; + break; + case BEGLINE: + s = "BEGLINE"; + break; + case ENDLINE: + s = "ENDLINE"; + break; + case BEGWORD: + s = "BEGWORD"; + break; + case ENDWORD: + s = "ENDWORD"; + break; + case LIMWORD: + s = "LIMWORD"; + break; + case NOTLIMWORD: + s = "NOTLIMWORD"; + break; + case QMARK: + s = "QMARK"; + break; + case STAR: + s = "STAR"; + break; + case PLUS: + s = "PLUS"; + break; + case CAT: + s = "CAT"; + break; + case OR: + s = "OR"; + break; + case LPAREN: + s = "LPAREN"; + break; + case RPAREN: + s = "RPAREN"; + break; + case ANYCHAR: + s = "ANYCHAR"; + break; + case MBCSET: + s = "MBCSET"; + break; + default: + s = "CSET"; + break; } - fprintf(stderr, "%s", s); + fprintf (stderr, "%s", s); } } #endif /* DEBUG */ @@ -563,17 +625,17 @@ static struct dfa *dfa; /* Find the index of charclass s in dfa->charclasses, or allocate a new charclass. */ -static int +static size_t charclass_index (charclass const s) { - int i; + size_t i; for (i = 0; i < dfa->cindex; ++i) - if (equal(s, dfa->charclasses[i])) + if (equal (s, dfa->charclasses[i])) return i; - REALLOC_IF_NECESSARY(dfa->charclasses, dfa->calloc, dfa->cindex + 1); + REALLOC_IF_NECESSARY (dfa->charclasses, dfa->calloc, dfa->cindex + 1); ++dfa->cindex; - copyset(s, dfa->charclasses[i]); + copyset (s, dfa->charclasses[i]); return i; } @@ -604,7 +666,7 @@ # define is_valid_unibyte_character(c) (! (MBS_SUPPORT && btowc (c) == WEOF)) #endif -/* Return non-zero if C is a 'word-constituent' byte; zero otherwise. */ +/* Return non-zero if C is a "word-constituent" byte; zero otherwise. */ #define IS_WORD_CONSTITUENT(C) \ (is_valid_unibyte_character (C) && (isalnum (C) || (C) == '_')) @@ -619,9 +681,9 @@ } static int -wchar_context(wint_t wc) +wchar_context (wint_t wc) { - if (wc == (wchar_t)eolbyte || wc == 0) + if (wc == (wchar_t) eolbyte || wc == 0) return CTX_NEWLINE; if (wc == L'_' || iswalnum (wc)) return CTX_LETTER; @@ -687,8 +749,7 @@ setbit_wc (wint_t wc, charclass c) { abort (); - /*NOTREACHED*/ - return false; + /*NOTREACHED*/ return false; } #endif @@ -741,38 +802,38 @@ reader is referred to the GNU Regex documentation for the meaning of the @#%!@#%^!@ syntax bits. */ -static char const *lexptr; /* Pointer to next input character. */ -static int lexleft; /* Number of characters remaining. */ -static token lasttok; /* Previous token returned; initially END. */ -static int laststart; /* True if we're separated from beginning or (, | +static char const *lexptr; /* Pointer to next input character. */ +static size_t lexleft; /* Number of characters remaining. */ +static token lasttok; /* Previous token returned; initially END. */ +static int laststart; /* True if we're separated from beginning or (, | only by zero-width characters. */ -static int parens; /* Count of outstanding left parens. */ -static int minrep, maxrep; /* Repeat counts for {m,n}. */ +static size_t parens; /* Count of outstanding left parens. */ +static int minrep, maxrep; /* Repeat counts for {m,n}. */ -static int cur_mb_len = 1; /* Length of the multibyte representation of +static int cur_mb_len = 1; /* Length of the multibyte representation of wctok. */ /* These variables are used only if (MB_CUR_MAX > 1). */ -static mbstate_t mbs; /* Mbstate for mbrlen(). */ -static wchar_t wctok; /* Wide character representation of the current +static mbstate_t mbs; /* Mbstate for mbrlen(). */ +static wchar_t wctok; /* Wide character representation of the current multibyte character. */ -static unsigned char *mblen_buf;/* Correspond to the input buffer in dfaexec(). - Each element store the amount of remain - byte of corresponding multibyte character - in the input string. A element's value - is 0 if corresponding character is a - single byte chracter. - e.g. input : 'a', , , - mblen_buf : 0, 3, 2, 1 - */ -static wchar_t *inputwcs; /* Wide character representation of input +static unsigned char *mblen_buf; /* Correspond to the input buffer in dfaexec(). + Each element store the amount of remain + byte of corresponding multibyte character + in the input string. A element's value + is 0 if corresponding character is a + single byte character. + e.g. input : 'a', , , + mblen_buf : 0, 3, 2, 1 + */ +static wchar_t *inputwcs; /* Wide character representation of input string in dfaexec(). The length of this array is same as the length of input string(char array). inputstring[i] is a single-byte char, or 1st byte of a multibyte char. And inputwcs[i] is the codepoint. */ -static unsigned char const *buf_begin; /* reference to begin in dfaexec(). */ -static unsigned char const *buf_end; /* reference to end in dfaexec(). */ +static unsigned char const *buf_begin; /* reference to begin in dfaexec(). */ +static unsigned char const *buf_end; /* reference to end in dfaexec(). */ #if MBS_SUPPORT @@ -789,7 +850,7 @@ else \ { \ wchar_t _wc; \ - cur_mb_len = mbrtowc(&_wc, lexptr, lexleft, &mbs); \ + cur_mb_len = mbrtowc (&_wc, lexptr, lexleft, &mbs); \ if (cur_mb_len <= 0) \ { \ cur_mb_len = 1; \ @@ -801,7 +862,7 @@ lexptr += cur_mb_len; \ lexleft -= cur_mb_len; \ (wc) = _wc; \ - (c) = wctob(wc); \ + (c) = wctob (wc); \ } \ } \ } while(0) @@ -809,8 +870,8 @@ # define FETCH(c, eoferr) \ do { \ wint_t wc; \ - FETCH_WC(c, wc, eoferr); \ - } while(0) + FETCH_WC (c, wc, eoferr); \ + } while (0) #else /* Note that characters become unsigned here. */ @@ -831,34 +892,39 @@ #endif /* MBS_SUPPORT */ +#ifndef MIN +# define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + typedef int predicate (int); /* The following list maps the names of the Posix named character classes to predicate functions that determine whether a given character is in the class. The leading [ has already been eaten by the lexical analyzer. */ -struct dfa_ctype { +struct dfa_ctype +{ const char *name; predicate *func; bool single_byte_only; }; static const struct dfa_ctype prednames[] = { - { "alpha", isalpha, false }, - { "upper", isupper, false }, - { "lower", islower, false }, - { "digit", isdigit, true }, - { "xdigit", isxdigit, true }, - { "space", isspace, false }, - { "punct", ispunct, false }, - { "alnum", isalnum, false }, - { "print", isprint, false }, - { "graph", isgraph, false }, - { "cntrl", iscntrl, false }, - { "blank", is_blank, false }, - { NULL, NULL, false } + {"alpha", isalpha, false}, + {"upper", isupper, false}, + {"lower", islower, false}, + {"digit", isdigit, true}, + {"xdigit", isxdigit, true}, + {"space", isspace, false}, + {"punct", ispunct, false}, + {"alnum", isalnum, false}, + {"print", isprint, false}, + {"graph", isgraph, false}, + {"cntrl", iscntrl, false}, + {"blank", is_blank, false}, + {NULL, NULL, false} }; -static const struct dfa_ctype * _GL_ATTRIBUTE_PURE +static const struct dfa_ctype *_GL_ATTRIBUTE_PURE find_pred (const char *str) { unsigned int i; @@ -892,7 +958,7 @@ /* Work area to build a mb_char_classes. */ struct mb_char_classes *work_mbc; - int chars_al, range_sts_al, range_ends_al, ch_classes_al, + size_t chars_al, range_sts_al, range_ends_al, ch_classes_al, equivs_al, coll_elems_al; chars_al = 0; @@ -900,7 +966,8 @@ ch_classes_al = equivs_al = coll_elems_al = 0; if (MB_CUR_MAX > 1) { - REALLOC_IF_NECESSARY(dfa->mbcsets, dfa->mbcsets_alloc, dfa->nmbcsets + 1); + REALLOC_IF_NECESSARY (dfa->mbcsets, dfa->mbcsets_alloc, + dfa->nmbcsets + 1); /* dfa->multibyte_prop[] hold the index of dfa->mbcsets. We will update dfa->multibyte_prop[] in addtok(), because we can't @@ -926,7 +993,7 @@ colon_warning_state = (c == ':'); do { - c1 = EOF; /* mark c1 is not initialized". */ + c1 = EOF; /* mark c1 is not initialized". */ colon_warning_state &= ~2; /* Note that if we're looking at some other [:...:] construct, @@ -939,11 +1006,10 @@ char str[BRACKET_BUFFER_SIZE]; FETCH_WC (c1, wc1, _("unbalanced [")); - /* If pattern contains `[[:', `[[.', or `[[='. */ + /* If pattern contains '[[:', '[[.', or '[[='. */ if (c1 == ':' - /* TODO: handle `[[.' and `[[=' also for MB_CUR_MAX == 1. */ - || (MB_CUR_MAX > 1 && (c1 == '.' || c1 == '=')) - ) + /* TODO: handle '[[.' and '[[=' also for MB_CUR_MAX == 1. */ + || (MB_CUR_MAX > 1 && (c1 == '.' || c1 == '='))) { size_t len = 0; for (;;) @@ -965,51 +1031,46 @@ /* build character class. */ { char const *class - = (case_fold && (STREQ (str, "upper") - || STREQ (str, "lower")) - ? "alpha" - : str); + = (case_fold && (STREQ (str, "upper") + || STREQ (str, "lower")) ? "alpha" : str); const struct dfa_ctype *pred = find_pred (class); if (!pred) - dfaerror(_("invalid character class")); + dfaerror (_("invalid character class")); if (MB_CUR_MAX > 1 && !pred->single_byte_only) { /* Store the character class as wctype_t. */ wctype_t wt = wctype (class); - REALLOC_IF_NECESSARY(work_mbc->ch_classes, - ch_classes_al, - work_mbc->nch_classes + 1); + REALLOC_IF_NECESSARY (work_mbc->ch_classes, + ch_classes_al, + work_mbc->nch_classes + 1); work_mbc->ch_classes[work_mbc->nch_classes++] = wt; } for (c2 = 0; c2 < NOTCHAR; ++c2) - if (pred->func(c2)) + if (pred->func (c2)) setbit_case_fold_c (c2, ccl); } else if (MBS_SUPPORT && (c1 == '=' || c1 == '.')) { - char *elem; - MALLOC(elem, len + 1); - strncpy(elem, str, len + 1); + char *elem = xmemdup (str, len + 1); if (c1 == '=') - /* build equivalent class. */ + /* build equivalence class. */ { - REALLOC_IF_NECESSARY(work_mbc->equivs, - equivs_al, - work_mbc->nequivs + 1); + REALLOC_IF_NECESSARY (work_mbc->equivs, + equivs_al, work_mbc->nequivs + 1); work_mbc->equivs[work_mbc->nequivs++] = elem; } if (c1 == '.') /* build collating element. */ { - REALLOC_IF_NECESSARY(work_mbc->coll_elems, - coll_elems_al, - work_mbc->ncoll_elems + 1); + REALLOC_IF_NECESSARY (work_mbc->coll_elems, + coll_elems_al, + work_mbc->ncoll_elems + 1); work_mbc->coll_elems[work_mbc->ncoll_elems++] = elem; } } @@ -1025,15 +1086,15 @@ } if (c == '\\' && (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS)) - FETCH_WC(c, wc, _("unbalanced [")); + FETCH_WC (c, wc, _("unbalanced [")); if (c1 == EOF) - FETCH_WC(c1, wc1, _("unbalanced [")); + FETCH_WC (c1, wc1, _("unbalanced [")); if (c1 == '-') /* build range characters. */ { - FETCH_WC(c2, wc2, _("unbalanced [")); + FETCH_WC (c2, wc2, _("unbalanced [")); if (c2 == ']') { /* In the case [x-], the - is an ordinary hyphen, @@ -1045,37 +1106,63 @@ if (c1 == '-' && c2 != ']') { - if (c2 == '\\' - && (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS)) - FETCH_WC(c2, wc2, _("unbalanced [")); + if (c2 == '\\' && (syntax_bits & RE_BACKSLASH_ESCAPE_IN_LISTS)) + FETCH_WC (c2, wc2, _("unbalanced [")); if (MB_CUR_MAX > 1) { /* When case folding map a range, say [m-z] (or even [M-z]) to the pair of ranges, [m-z] [M-Z]. */ - REALLOC_IF_NECESSARY(work_mbc->range_sts, - range_sts_al, work_mbc->nranges + 1); - REALLOC_IF_NECESSARY(work_mbc->range_ends, - range_ends_al, work_mbc->nranges + 1); + REALLOC_IF_NECESSARY (work_mbc->range_sts, + range_sts_al, work_mbc->nranges + 1); + REALLOC_IF_NECESSARY (work_mbc->range_ends, + range_ends_al, work_mbc->nranges + 1); work_mbc->range_sts[work_mbc->nranges] = - case_fold ? towlower(wc) : (wchar_t)wc; + case_fold ? towlower (wc) : (wchar_t) wc; work_mbc->range_ends[work_mbc->nranges++] = - case_fold ? towlower(wc2) : (wchar_t)wc2; + case_fold ? towlower (wc2) : (wchar_t) wc2; #ifndef GREP - if (case_fold && (iswalpha(wc) || iswalpha(wc2))) + if (case_fold && (iswalpha (wc) || iswalpha (wc2))) { - REALLOC_IF_NECESSARY(work_mbc->range_sts, - range_sts_al, work_mbc->nranges + 1); - work_mbc->range_sts[work_mbc->nranges] = towupper(wc); - REALLOC_IF_NECESSARY(work_mbc->range_ends, - range_ends_al, work_mbc->nranges + 1); - work_mbc->range_ends[work_mbc->nranges++] = towupper(wc2); + REALLOC_IF_NECESSARY (work_mbc->range_sts, + range_sts_al, work_mbc->nranges + 1); + work_mbc->range_sts[work_mbc->nranges] = towupper (wc); + REALLOC_IF_NECESSARY (work_mbc->range_ends, + range_ends_al, work_mbc->nranges + 1); + work_mbc->range_ends[work_mbc->nranges++] = towupper (wc2); } #endif } else { +#ifndef GAWK + /* Defer to the system regex library about the meaning + of range expressions. */ + regex_t re; + char pattern[6] = { '[', 0, '-', 0, ']', 0 }; + char subject[2] = { 0, 0 }; + c1 = c; + if (case_fold) + { + c1 = tolower (c1); + c2 = tolower (c2); + } + + pattern[1] = c1; + pattern[3] = c2; + regcomp (&re, pattern, REG_NOSUB); + for (c = 0; c < NOTCHAR; ++c) + { + if ((case_fold && isupper (c)) + || (MB_CUR_MAX > 1 && btowc (c) == WEOF)) + continue; + subject[0] = c; + if (regexec (&re, subject, 0, NULL, 0) != REG_NOMATCH) + setbit_case_fold_c (c, ccl); + } + regfree (&re); +#else c1 = c; if (case_fold) { @@ -1084,10 +1171,11 @@ } for (c = c1; c <= c2; c++) setbit_case_fold_c (c, ccl); +#endif } colon_warning_state |= 8; - FETCH_WC(c1, wc1, _("unbalanced [")); + FETCH_WC (c1, wc1, _("unbalanced [")); continue; } @@ -1099,25 +1187,25 @@ continue; } - if (case_fold && iswalpha(wc)) + if (case_fold && iswalpha (wc)) { - wc = towlower(wc); + wc = towlower (wc); if (!setbit_wc (wc, ccl)) { - REALLOC_IF_NECESSARY(work_mbc->chars, chars_al, - work_mbc->nchars + 1); + REALLOC_IF_NECESSARY (work_mbc->chars, chars_al, + work_mbc->nchars + 1); work_mbc->chars[work_mbc->nchars++] = wc; } #ifdef GREP continue; #else - wc = towupper(wc); + wc = towupper (wc); #endif } if (!setbit_wc (wc, ccl)) { - REALLOC_IF_NECESSARY(work_mbc->chars, chars_al, - work_mbc->nchars + 1); + REALLOC_IF_NECESSARY (work_mbc->chars, chars_al, + work_mbc->nchars + 1); work_mbc->chars[work_mbc->nchars++] = wc; } } @@ -1130,19 +1218,19 @@ { static charclass zeroclass; work_mbc->invert = invert; - work_mbc->cset = equal(ccl, zeroclass) ? -1 : charclass_index(ccl); + work_mbc->cset = equal (ccl, zeroclass) ? -1 : charclass_index (ccl); return MBCSET; } if (invert) { - assert(MB_CUR_MAX == 1); - notset(ccl); + assert (MB_CUR_MAX == 1); + notset (ccl); if (syntax_bits & RE_HAT_LISTS_NOT_NEWLINE) - clrbit(eolbyte, ccl); + clrbit (eolbyte, ccl); } - return CSET + charclass_index(ccl); + return CSET + charclass_index (ccl); } static token @@ -1164,11 +1252,11 @@ if (MB_CUR_MAX > 1) { FETCH_WC (c, wctok, NULL); - if ((int)c == EOF) + if ((int) c == EOF) goto normal_char; } else - FETCH(c, NULL); + FETCH (c, NULL); switch (c) { @@ -1176,7 +1264,7 @@ if (backslash) goto normal_char; if (lexleft == 0) - dfaerror(_("unfinished \\ escape")); + dfaerror (_("unfinished \\ escape")); backslash = 1; break; @@ -1184,9 +1272,7 @@ if (backslash) goto normal_char; if (syntax_bits & RE_CONTEXT_INDEP_ANCHORS - || lasttok == END - || lasttok == LPAREN - || lasttok == OR) + || lasttok == END || lasttok == LPAREN || lasttok == OR) return lasttok = BEGLINE; goto normal_char; @@ -1224,12 +1310,12 @@ case '`': if (backslash && !(syntax_bits & RE_NO_GNU_OPS)) - return lasttok = BEGLINE; /* FIXME: should be beginning of string */ + return lasttok = BEGLINE; /* FIXME: should be beginning of string */ goto normal_char; case '\'': if (backslash && !(syntax_bits & RE_NO_GNU_OPS)) - return lasttok = ENDLINE; /* FIXME: should be end of string */ + return lasttok = ENDLINE; /* FIXME: should be end of string */ goto normal_char; case '<': @@ -1285,73 +1371,53 @@ if (!(syntax_bits & RE_CONTEXT_INDEP_OPS) && laststart) goto normal_char; - if (syntax_bits & RE_NO_BK_BRACES) - { - /* Scan ahead for a valid interval; if it's not valid, - treat it as a literal '{'. */ - int lo = -1, hi = -1; - char const *p = lexptr; - char const *lim = p + lexleft; - for (; p != lim && ISASCIIDIGIT (*p); p++) - lo = (lo < 0 ? 0 : lo * 10) + *p - '0'; - if (p != lim && *p == ',') - while (++p != lim && ISASCIIDIGIT (*p)) - hi = (hi < 0 ? 0 : hi * 10) + *p - '0'; - else - hi = lo; - if (p == lim || *p != '}' - || lo < 0 || RE_DUP_MAX < hi || (0 <= hi && hi < lo)) - goto normal_char; - } - - minrep = 0; /* Cases: {M} - exact count {M,} - minimum count, maximum is infinity + {,N} - 0 through N + {,} - 0 to infinity (same as '*') {M,N} - M through N */ - FETCH(c, _("unfinished repeat count")); - if (ISASCIIDIGIT (c)) - { - minrep = c - '0'; - for (;;) - { - FETCH(c, _("unfinished repeat count")); - if (! ISASCIIDIGIT (c)) - break; - minrep = 10 * minrep + c - '0'; - } - } - else - dfaerror(_("malformed repeat count")); - if (c == ',') - { - FETCH (c, _("unfinished repeat count")); - if (! ISASCIIDIGIT (c)) - maxrep = -1; - else - { - maxrep = c - '0'; - for (;;) - { - FETCH (c, _("unfinished repeat count")); - if (! ISASCIIDIGIT (c)) - break; - maxrep = 10 * maxrep + c - '0'; - } - if (0 <= maxrep && maxrep < minrep) - dfaerror (_("malformed repeat count")); - } - } - else - maxrep = minrep; - if (!(syntax_bits & RE_NO_BK_BRACES)) - { - if (c != '\\') - dfaerror(_("malformed repeat count")); - FETCH(c, _("unfinished repeat count")); - } - if (c != '}') - dfaerror(_("malformed repeat count")); + { + char const *p = lexptr; + char const *lim = p + lexleft; + minrep = maxrep = -1; + for (; p != lim && ISASCIIDIGIT (*p); p++) + { + if (minrep < 0) + minrep = *p - '0'; + else + minrep = MIN (RE_DUP_MAX + 1, minrep * 10 + *p - '0'); + } + if (p != lim) + { + if (*p != ',') + maxrep = minrep; + else + { + if (minrep < 0) + minrep = 0; + while (++p != lim && ISASCIIDIGIT (*p)) + { + if (maxrep < 0) + maxrep = *p - '0'; + else + maxrep = MIN (RE_DUP_MAX + 1, maxrep * 10 + *p - '0'); + } + } + } + if (! ((! backslash || (p != lim && *p++ == '\\')) + && p != lim && *p++ == '}' + && 0 <= minrep && (maxrep < 0 || minrep <= maxrep))) + { + if (syntax_bits & RE_INVALID_INTERVAL_ORD) + goto normal_char; + dfaerror (_("Invalid content of \\{\\}")); + } + if (RE_DUP_MAX < maxrep) + dfaerror (_("Regular expression too big")); + lexptr = p; + lexleft = lim - p; + } laststart = 0; return lasttok = REPMN; @@ -1365,8 +1431,7 @@ case '\n': if (syntax_bits & RE_LIMITED_OPS - || backslash - || !(syntax_bits & RE_NEWLINE_ALT)) + || backslash || !(syntax_bits & RE_NEWLINE_ALT)) goto normal_char; laststart = 1; return lasttok = OR; @@ -1397,46 +1462,46 @@ laststart = 0; return lasttok = ANYCHAR; } - zeroset(ccl); - notset(ccl); + zeroset (ccl); + notset (ccl); if (!(syntax_bits & RE_DOT_NEWLINE)) - clrbit(eolbyte, ccl); + clrbit (eolbyte, ccl); if (syntax_bits & RE_DOT_NOT_NULL) - clrbit('\0', ccl); + clrbit ('\0', ccl); laststart = 0; - return lasttok = CSET + charclass_index(ccl); + return lasttok = CSET + charclass_index (ccl); case 's': case 'S': if (!backslash || (syntax_bits & RE_NO_GNU_OPS)) goto normal_char; - zeroset(ccl); + zeroset (ccl); for (c2 = 0; c2 < NOTCHAR; ++c2) - if (isspace(c2)) - setbit(c2, ccl); + if (isspace (c2)) + setbit (c2, ccl); if (c == 'S') - notset(ccl); + notset (ccl); laststart = 0; - return lasttok = CSET + charclass_index(ccl); + return lasttok = CSET + charclass_index (ccl); case 'w': case 'W': if (!backslash || (syntax_bits & RE_NO_GNU_OPS)) goto normal_char; - zeroset(ccl); + zeroset (ccl); for (c2 = 0; c2 < NOTCHAR; ++c2) - if (IS_WORD_CONSTITUENT(c2)) - setbit(c2, ccl); + if (IS_WORD_CONSTITUENT (c2)) + setbit (c2, ccl); if (c == 'W') - notset(ccl); + notset (ccl); laststart = 0; - return lasttok = CSET + charclass_index(ccl); + return lasttok = CSET + charclass_index (ccl); case '[': if (backslash) goto normal_char; laststart = 0; - return lasttok = parse_bracket_exp(); + return lasttok = parse_bracket_exp (); default: normal_char: @@ -1446,11 +1511,11 @@ if (MB_CUR_MAX > 1) return lasttok = WCHAR; - if (case_fold && isalpha(c)) + if (case_fold && isalpha (c)) { - zeroset(ccl); + zeroset (ccl); setbit_case_fold_c (c, ccl); - return lasttok = CSET + charclass_index(ccl); + return lasttok = CSET + charclass_index (ccl); } return lasttok = c; @@ -1459,14 +1524,14 @@ /* The above loop should consume at most a backslash and some other character. */ - abort(); - return END; /* keeps pedantic compilers happy. */ + abort (); + return END; /* keeps pedantic compilers happy. */ } /* Recursive descent parser for regular expressions. */ -static token tok; /* Lookahead token. */ -static int depth; /* Current depth of a hypothetical stack +static token tok; /* Lookahead token. */ +static size_t depth; /* Current depth of a hypothetical stack holding deferred productions. This is used to determine the depth that will be required of the real stack later on in @@ -1477,12 +1542,12 @@ { if (MB_CUR_MAX > 1) { - REALLOC_IF_NECESSARY(dfa->multibyte_prop, dfa->nmultibyte_prop, - dfa->tindex + 1); + REALLOC_IF_NECESSARY (dfa->multibyte_prop, dfa->nmultibyte_prop, + dfa->tindex + 1); dfa->multibyte_prop[dfa->tindex] = mbprop; } - REALLOC_IF_NECESSARY(dfa->tokens, dfa->talloc, dfa->tindex + 1); + REALLOC_IF_NECESSARY (dfa->tokens, dfa->talloc, dfa->tindex + 1); dfa->tokens[dfa->tindex++] = t; switch (t) @@ -1523,7 +1588,7 @@ This does not require UTF-8. */ if (!work_mbc->invert) { - int i; + size_t i; for (i = 0; i < work_mbc->nchars; i++) { addtok_wc (work_mbc->chars[i]); @@ -1536,12 +1601,11 @@ /* UTF-8 allows treating a simple, non-inverted MBCSET like a CSET. */ if (work_mbc->invert - || (!using_utf8() && work_mbc->cset != -1) + || (!using_utf8 () && work_mbc->cset != -1) || work_mbc->nchars != 0 || work_mbc->nch_classes != 0 || work_mbc->nranges != 0 - || work_mbc->nequivs != 0 - || work_mbc->ncoll_elems != 0) + || work_mbc->nequivs != 0 || work_mbc->ncoll_elems != 0) { addtok_mb (MBCSET, ((dfa->nmbcsets - 1) << 2) + 3); if (need_or) @@ -1588,15 +1652,18 @@ if (cur_mb_len <= 0) buf[0] = 0; - addtok_mb(buf[0], cur_mb_len == 1 ? 3 : 1); + addtok_mb (buf[0], cur_mb_len == 1 ? 3 : 1); for (i = 1; i < cur_mb_len; i++) { - addtok_mb(buf[i], i == cur_mb_len - 1 ? 2 : 0); - addtok(CAT); + addtok_mb (buf[i], i == cur_mb_len - 1 ? 2 : 0); + addtok (CAT); } } #else -static void addtok_wc (wint_t wc) {} +static void +addtok_wc (wint_t wc) +{ +} #endif static void @@ -1604,11 +1671,11 @@ { #if MBS_SUPPORT static const charclass utf8_classes[5] = { - { 0, 0, 0, 0, ~0, ~0, 0, 0 }, /* 80-bf: non-lead bytes */ - { ~0, ~0, ~0, ~0, 0, 0, 0, 0 }, /* 00-7f: 1-byte sequence */ - { 0, 0, 0, 0, 0, 0, 0xfffffffcU, 0 }, /* c2-df: 2-byte sequence */ - { 0, 0, 0, 0, 0, 0, 0, 0xffff }, /* e0-ef: 3-byte sequence */ - { 0, 0, 0, 0, 0, 0, 0, 0xff0000 } /* f0-f7: 4-byte sequence */ + {0, 0, 0, 0, ~0, ~0, 0, 0}, /* 80-bf: non-lead bytes */ + {~0, ~0, ~0, ~0, 0, 0, 0, 0}, /* 00-7f: 1-byte sequence */ + {0, 0, 0, 0, 0, 0, ~3, 0}, /* c2-df: 2-byte sequence */ + {0, 0, 0, 0, 0, 0, 0, 0xffff}, /* e0-ef: 3-byte sequence */ + {0, 0, 0, 0, 0, 0, 0, 0xff0000} /* f0-f7: 4-byte sequence */ }; const unsigned int n = sizeof (utf8_classes) / sizeof (utf8_classes[0]); unsigned int i; @@ -1626,15 +1693,15 @@ if (syntax_bits & RE_DOT_NOT_NULL) clrbit ('\0', c); } - dfa->utf8_anychar_classes[i] = CSET + charclass_index(c); + dfa->utf8_anychar_classes[i] = CSET + charclass_index (c); } /* A valid UTF-8 character is - ([0x00-0x7f] - |[0xc2-0xdf][0x80-0xbf] - |[0xe0-0xef[0x80-0xbf][0x80-0xbf] - |[0xf0-f7][0x80-0xbf][0x80-0xbf][0x80-0xbf]) + ([0x00-0x7f] + |[0xc2-0xdf][0x80-0xbf] + |[0xe0-0xef[0x80-0xbf][0x80-0xbf] + |[0xf0-f7][0x80-0xbf][0x80-0xbf][0x80-0xbf]) which I'll write more concisely "B|CA|DAA|EAAA". Factor the [0x00-0x7f] and you get "B|(C|(D|EA)A)A". And since the token buffer is in reverse @@ -1694,28 +1761,28 @@ } else if (MBS_SUPPORT && tok == WCHAR) { - addtok_wc (case_fold ? towlower(wctok) : wctok); + addtok_wc (case_fold ? towlower (wctok) : wctok); #ifndef GREP - if (case_fold && iswalpha(wctok)) + if (case_fold && iswalpha (wctok)) { - addtok_wc (towupper(wctok)); + addtok_wc (towupper (wctok)); addtok (OR); } #endif - tok = lex(); + tok = lex (); } - else if (MBS_SUPPORT && tok == ANYCHAR && using_utf8()) + else if (MBS_SUPPORT && tok == ANYCHAR && using_utf8 ()) { /* For UTF-8 expand the period to a series of CSETs that define a valid UTF-8 character. This avoids using the slow multibyte path. I'm pretty sure it would be both profitable and correct to do it for any encoding; however, the optimization must be done manually as - it is done above in add_utf8_anychar. So, let's start with + it is done above in add_utf8_anychar. So, let's start with UTF-8: it is the most used, and the structure of the encoding makes the correctness more obvious. */ - add_utf8_anychar(); - tok = lex(); + add_utf8_anychar (); + tok = lex (); } else if ((tok >= 0 && tok < NOTCHAR) || tok >= CSET || tok == BACKREF || tok == BEGLINE || tok == ENDLINE || tok == BEGWORD @@ -1724,26 +1791,26 @@ #endif /* MBS_SUPPORT */ || tok == ENDWORD || tok == LIMWORD || tok == NOTLIMWORD) { - addtok(tok); - tok = lex(); + addtok (tok); + tok = lex (); } else if (tok == LPAREN) { - tok = lex(); - regexp(); + tok = lex (); + regexp (); if (tok != RPAREN) - dfaerror(_("unbalanced (")); - tok = lex(); + dfaerror (_("unbalanced (")); + tok = lex (); } else - addtok(EMPTY); + addtok (EMPTY); } /* Return the number of tokens in the given subexpression. */ -static int _GL_ATTRIBUTE_PURE -nsubtoks (int tindex) +static size_t _GL_ATTRIBUTE_PURE +nsubtoks (size_t tindex) { - int ntoks1; + size_t ntoks1; switch (dfa->tokens[tindex - 1]) { @@ -1752,23 +1819,23 @@ case QMARK: case STAR: case PLUS: - return 1 + nsubtoks(tindex - 1); + return 1 + nsubtoks (tindex - 1); case CAT: case OR: - ntoks1 = nsubtoks(tindex - 1); - return 1 + ntoks1 + nsubtoks(tindex - 1 - ntoks1); + ntoks1 = nsubtoks (tindex - 1); + return 1 + ntoks1 + nsubtoks (tindex - 1 - ntoks1); } } /* Copy the given subexpression to the top of the tree. */ static void -copytoks (int tindex, int ntokens) +copytoks (size_t tindex, size_t ntokens) { - int i; + size_t i; for (i = 0; i < ntokens; ++i) { - addtok(dfa->tokens[tindex + i]); + addtok (dfa->tokens[tindex + i]); /* Update index into multibyte csets. */ if (MB_CUR_MAX > 1 && dfa->tokens[tindex + i] == MBCSET) dfa->multibyte_prop[dfa->tindex - 1] = dfa->multibyte_prop[tindex + i]; @@ -1778,64 +1845,65 @@ static void closure (void) { - int tindex, ntokens, i; + int i; + size_t tindex, ntokens; - atom(); + atom (); while (tok == QMARK || tok == STAR || tok == PLUS || tok == REPMN) if (tok == REPMN && (minrep || maxrep)) { - ntokens = nsubtoks(dfa->tindex); + ntokens = nsubtoks (dfa->tindex); tindex = dfa->tindex - ntokens; if (maxrep < 0) - addtok(PLUS); + addtok (PLUS); if (minrep == 0) - addtok(QMARK); + addtok (QMARK); for (i = 1; i < minrep; ++i) { - copytoks(tindex, ntokens); - addtok(CAT); + copytoks (tindex, ntokens); + addtok (CAT); } for (; i < maxrep; ++i) { - copytoks(tindex, ntokens); - addtok(QMARK); - addtok(CAT); + copytoks (tindex, ntokens); + addtok (QMARK); + addtok (CAT); } - tok = lex(); + tok = lex (); } else if (tok == REPMN) { - dfa->tindex -= nsubtoks(dfa->tindex); - tok = lex(); - closure(); + dfa->tindex -= nsubtoks (dfa->tindex); + tok = lex (); + closure (); } else { - addtok(tok); - tok = lex(); + addtok (tok); + tok = lex (); } } static void branch (void) { - closure(); + closure (); while (tok != RPAREN && tok != OR && tok >= 0) { - closure(); - addtok(CAT); + closure (); + addtok (CAT); } } static void regexp (void) { - branch(); + branch (); while (tok == OR) { - tok = lex(); - branch(); - addtok(OR); + tok = lex (); + branch (); + addtok (OR); } } @@ -1854,25 +1922,25 @@ if (MB_CUR_MAX > 1) { cur_mb_len = 0; - memset(&mbs, 0, sizeof mbs); + memset (&mbs, 0, sizeof mbs); } - if (! syntax_bits_set) - dfaerror(_("no syntax specified")); + if (!syntax_bits_set) + dfaerror (_("no syntax specified")); - tok = lex(); + tok = lex (); depth = d->depth; - regexp(); + regexp (); if (tok != END) - dfaerror(_("unbalanced )")); + dfaerror (_("unbalanced )")); - addtok(END - d->nregexps); - addtok(CAT); + addtok (END - d->nregexps); + addtok (CAT); if (d->nregexps) - addtok(OR); + addtok (OR); ++d->nregexps; } @@ -1881,17 +1949,17 @@ /* Copy one set to another; the destination must be large enough. */ static void -copy (position_set const *src, position_set *dst) +copy (position_set const *src, position_set * dst) { - REALLOC_IF_NECESSARY(dst->elems, dst->alloc, src->nelem); - memcpy(dst->elems, src->elems, sizeof(dst->elems[0]) * src->nelem); + REALLOC_IF_NECESSARY (dst->elems, dst->alloc, src->nelem); + memcpy (dst->elems, src->elems, sizeof (dst->elems[0]) * src->nelem); dst->nelem = src->nelem; } static void -alloc_position_set (position_set *s, size_t size) +alloc_position_set (position_set * s, size_t size) { - MALLOC(s->elems, size); + MALLOC (s->elems, size); s->alloc = size; s->nelem = 0; } @@ -1901,14 +1969,14 @@ then merge (logically-OR) P's constraints into the one in S. S->elems must point to an array large enough to hold the resulting set. */ static void -insert (position p, position_set *s) +insert (position p, position_set * s) { - int count = s->nelem; - int lo = 0, hi = count; - int i; + size_t count = s->nelem; + size_t lo = 0, hi = count; + size_t i; while (lo < hi) { - int mid = ((unsigned) lo + (unsigned) hi) >> 1; + size_t mid = (lo + hi) >> 1; if (s->elems[mid].index > p.index) lo = mid + 1; else @@ -1921,7 +1989,7 @@ return; } - REALLOC_IF_NECESSARY(s->elems, s->alloc, count + 1); + REALLOC_IF_NECESSARY (s->elems, s->alloc, count + 1); for (i = count; i > lo; i--) s->elems[i] = s->elems[i - 1]; s->elems[lo] = p; @@ -1931,11 +1999,11 @@ /* Merge two sets of positions into a third. The result is exactly as if the positions of both sets were inserted into an initially empty set. */ static void -merge (position_set const *s1, position_set const *s2, position_set *m) +merge (position_set const *s1, position_set const *s2, position_set * m) { - int i = 0, j = 0; + size_t i = 0, j = 0; - REALLOC_IF_NECESSARY(m->elems, m->alloc, s1->nelem + s2->nelem); + REALLOC_IF_NECESSARY (m->elems, m->alloc, s1->nelem + s2->nelem); m->nelem = 0; while (i < s1->nelem && j < s2->nelem) if (s1->elems[i].index > s2->elems[j].index) @@ -1955,9 +2023,9 @@ /* Delete a position from a set. */ static void -delete (position p, position_set *s) +delete (position p, position_set * s) { - int i; + size_t i; for (i = 0; i < s->nelem; ++i) if (p.index == s->elems[i].index) @@ -1970,14 +2038,13 @@ /* Find the index of the state corresponding to the given position set with the given preceding context, or create a new state if there is no such state. Context tells whether we got here on a newline or letter. */ -static int +static state_num state_index (struct dfa *d, position_set const *s, int context) { - int hash = 0; + size_t hash = 0; int constraint; - int i, j; + state_num i, j; - context &= ~CTX_NONE; for (i = 0; i < s->nelem; ++i) hash ^= s->elems[i].index + s->elems[i].constraint; @@ -1997,10 +2064,10 @@ } /* We'll have to create a new state. */ - REALLOC_IF_NECESSARY(d->states, d->salloc, d->sindex + 1); + REALLOC_IF_NECESSARY (d->states, d->salloc, d->sindex + 1); d->states[i].hash = hash; - alloc_position_set(&d->states[i].elems, s->nelem); - copy(s, &d->states[i].elems); + alloc_position_set (&d->states[i].elems, s->nelem); + copy (s, &d->states[i].elems); d->states[i].context = context; d->states[i].backref = 0; d->states[i].constraint = 0; @@ -2014,11 +2081,9 @@ if (d->tokens[s->elems[j].index] < 0) { constraint = s->elems[j].constraint; - if (SUCCEEDS_IN_CONTEXT(constraint, context, CTX_NONE) - || SUCCEEDS_IN_CONTEXT(constraint, context, CTX_NEWLINE) - || SUCCEEDS_IN_CONTEXT(constraint, context, CTX_LETTER)) + if (SUCCEEDS_IN_CONTEXT (constraint, context, CTX_ANY)) d->states[i].constraint |= constraint; - if (! d->states[i].first_end) + if (!d->states[i].first_end) d->states[i].first_end = d->tokens[s->elems[j].index]; } else if (d->tokens[s->elems[j].index] == BACKREF) @@ -2038,13 +2103,13 @@ constraint. Repeat exhaustively until no funny positions are left. S->elems must be large enough to hold the result. */ static void -epsclosure (position_set *s, struct dfa const *d) +epsclosure (position_set * s, struct dfa const *d) { - int i, j; - char *visited; /* array of booleans, enough to use char, not int */ + size_t i, j; + char *visited; /* array of booleans, enough to use char, not int */ position p, old; - CALLOC(visited, d->tindex); + CALLOC (visited, d->tindex); for (i = 0; i < s->nelem; ++i) if (d->tokens[s->elems[i].index] >= NOTCHAR @@ -2057,7 +2122,7 @@ { old = s->elems[i]; p.constraint = old.constraint; - delete(s->elems[i], s); + delete (s->elems[i], s); if (visited[old.index]) { --i; @@ -2090,25 +2155,25 @@ for (j = 0; j < d->follows[old.index].nelem; ++j) { p.index = d->follows[old.index].elems[j].index; - insert(p, s); + insert (p, s); } /* Force rescan to start at the beginning. */ i = -1; } - free(visited); + free (visited); } /* Returns the set of contexts for which there is at least one character included in C. */ static int -charclass_context(charclass c) +charclass_context (charclass c) { int context = 0; unsigned int j; - if (tstbit(eolbyte, c)) + if (tstbit (eolbyte, c)) context |= CTX_NEWLINE; for (j = 0; j < CHARCLASS_INTS; ++j) @@ -2122,29 +2187,27 @@ return context; } -/* Returns the subset of POSSIBLE_CONTEXTS on which the position set S - depends. Each context in the set of returned contexts (let's call it - SC) may have a different follow set than other contexts in SC, and - also different from the follow set of the complement set. However, - all contexts in the complement set will have the same follow set. */ +/* Returns the contexts on which the position set S depends. Each context + in the set of returned contexts (let's call it SC) may have a different + follow set than other contexts in SC, and also different from the + follow set of the complement set (sc ^ CTX_ANY). However, all contexts + in the complement set will have the same follow set. */ static int _GL_ATTRIBUTE_PURE -state_separate_contexts (position_set *s, int possible_contexts) +state_separate_contexts (position_set const *s) { - int separate_context = 0; - unsigned int j; + int separate_contexts = 0; + size_t j; for (j = 0; j < s->nelem; ++j) { - if ((possible_contexts & CTX_NEWLINE) - && PREV_NEWLINE_DEPENDENT(s->elems[j].constraint)) - separate_context |= CTX_NEWLINE; - if ((possible_contexts & CTX_LETTER) - && PREV_LETTER_DEPENDENT(s->elems[j].constraint)) - separate_context |= CTX_LETTER; + if (PREV_NEWLINE_DEPENDENT (s->elems[j].constraint)) + separate_contexts |= CTX_NEWLINE; + if (PREV_LETTER_DEPENDENT (s->elems[j].constraint)) + separate_contexts |= CTX_LETTER; } - return separate_context; + return separate_contexts; } @@ -2203,167 +2266,167 @@ void dfaanalyze (struct dfa *d, int searchflag) { - int *nullable; /* Nullable stack. */ - int *nfirstpos; /* Element count stack for firstpos sets. */ - position *firstpos; /* Array where firstpos elements are stored. */ - int *nlastpos; /* Element count stack for lastpos sets. */ - position *lastpos; /* Array where lastpos elements are stored. */ - position_set tmp; /* Temporary set for merging sets. */ - position_set merged; /* Result of merging sets. */ - int separate_contexts; /* Context wanted by some position. */ + int *nullable; /* Nullable stack. */ + size_t *nfirstpos; /* Element count stack for firstpos sets. */ + position *firstpos; /* Array where firstpos elements are stored. */ + size_t *nlastpos; /* Element count stack for lastpos sets. */ + position *lastpos; /* Array where lastpos elements are stored. */ + position_set tmp; /* Temporary set for merging sets. */ + position_set merged; /* Result of merging sets. */ + int separate_contexts; /* Context wanted by some position. */ int *o_nullable; - int *o_nfirst, *o_nlast; + size_t *o_nfirst, *o_nlast; position *o_firstpos, *o_lastpos; - int i, j; + size_t i, j; position *pos; #ifdef DEBUG - fprintf(stderr, "dfaanalyze:\n"); + fprintf (stderr, "dfaanalyze:\n"); for (i = 0; i < d->tindex; ++i) { - fprintf(stderr, " %d:", i); - prtok(d->tokens[i]); + fprintf (stderr, " %zd:", i); + prtok (d->tokens[i]); } - putc('\n', stderr); + putc ('\n', stderr); #endif d->searchflag = searchflag; - MALLOC(nullable, d->depth); + MALLOC (nullable, d->depth); o_nullable = nullable; - MALLOC(nfirstpos, d->depth); + MALLOC (nfirstpos, d->depth); o_nfirst = nfirstpos; - MALLOC(firstpos, d->nleaves); + MALLOC (firstpos, d->nleaves); o_firstpos = firstpos, firstpos += d->nleaves; - MALLOC(nlastpos, d->depth); + MALLOC (nlastpos, d->depth); o_nlast = nlastpos; - MALLOC(lastpos, d->nleaves); + MALLOC (lastpos, d->nleaves); o_lastpos = lastpos, lastpos += d->nleaves; - alloc_position_set(&merged, d->nleaves); + alloc_position_set (&merged, d->nleaves); - CALLOC(d->follows, d->tindex); + CALLOC (d->follows, d->tindex); for (i = 0; i < d->tindex; ++i) { - switch (d->tokens[i]) - { - case EMPTY: - /* The empty set is nullable. */ - *nullable++ = 1; + switch (d->tokens[i]) + { + case EMPTY: + /* The empty set is nullable. */ + *nullable++ = 1; - /* The firstpos and lastpos of the empty leaf are both empty. */ - *nfirstpos++ = *nlastpos++ = 0; - break; + /* The firstpos and lastpos of the empty leaf are both empty. */ + *nfirstpos++ = *nlastpos++ = 0; + break; - case STAR: - case PLUS: - /* Every element in the firstpos of the argument is in the follow - of every element in the lastpos. */ - tmp.nelem = nfirstpos[-1]; - tmp.elems = firstpos; - pos = lastpos; - for (j = 0; j < nlastpos[-1]; ++j) - { - merge(&tmp, &d->follows[pos[j].index], &merged); - copy(&merged, &d->follows[pos[j].index]); - } + case STAR: + case PLUS: + /* Every element in the firstpos of the argument is in the follow + of every element in the lastpos. */ + tmp.nelem = nfirstpos[-1]; + tmp.elems = firstpos; + pos = lastpos; + for (j = 0; j < nlastpos[-1]; ++j) + { + merge (&tmp, &d->follows[pos[j].index], &merged); + copy (&merged, &d->follows[pos[j].index]); + } - case QMARK: - /* A QMARK or STAR node is automatically nullable. */ - if (d->tokens[i] != PLUS) - nullable[-1] = 1; - break; + case QMARK: + /* A QMARK or STAR node is automatically nullable. */ + if (d->tokens[i] != PLUS) + nullable[-1] = 1; + break; - case CAT: - /* Every element in the firstpos of the second argument is in the - follow of every element in the lastpos of the first argument. */ - tmp.nelem = nfirstpos[-1]; - tmp.elems = firstpos; - pos = lastpos + nlastpos[-1]; - for (j = 0; j < nlastpos[-2]; ++j) - { - merge(&tmp, &d->follows[pos[j].index], &merged); - copy(&merged, &d->follows[pos[j].index]); - } + case CAT: + /* Every element in the firstpos of the second argument is in the + follow of every element in the lastpos of the first argument. */ + tmp.nelem = nfirstpos[-1]; + tmp.elems = firstpos; + pos = lastpos + nlastpos[-1]; + for (j = 0; j < nlastpos[-2]; ++j) + { + merge (&tmp, &d->follows[pos[j].index], &merged); + copy (&merged, &d->follows[pos[j].index]); + } + + /* The firstpos of a CAT node is the firstpos of the first argument, + union that of the second argument if the first is nullable. */ + if (nullable[-2]) + nfirstpos[-2] += nfirstpos[-1]; + else + firstpos += nfirstpos[-1]; + --nfirstpos; - /* The firstpos of a CAT node is the firstpos of the first argument, - union that of the second argument if the first is nullable. */ - if (nullable[-2]) + /* The lastpos of a CAT node is the lastpos of the second argument, + union that of the first argument if the second is nullable. */ + if (nullable[-1]) + nlastpos[-2] += nlastpos[-1]; + else + { + pos = lastpos + nlastpos[-2]; + for (j = nlastpos[-1]; j-- > 0;) + pos[j] = lastpos[j]; + lastpos += nlastpos[-2]; + nlastpos[-2] = nlastpos[-1]; + } + --nlastpos; + + /* A CAT node is nullable if both arguments are nullable. */ + nullable[-2] = nullable[-1] && nullable[-2]; + --nullable; + break; + + case OR: + /* The firstpos is the union of the firstpos of each argument. */ nfirstpos[-2] += nfirstpos[-1]; - else - firstpos += nfirstpos[-1]; - --nfirstpos; - - /* The lastpos of a CAT node is the lastpos of the second argument, - union that of the first argument if the second is nullable. */ - if (nullable[-1]) - nlastpos[-2] += nlastpos[-1]; - else - { - pos = lastpos + nlastpos[-2]; - for (j = nlastpos[-1] - 1; j >= 0; --j) - pos[j] = lastpos[j]; - lastpos += nlastpos[-2]; - nlastpos[-2] = nlastpos[-1]; - } - --nlastpos; + --nfirstpos; - /* A CAT node is nullable if both arguments are nullable. */ - nullable[-2] = nullable[-1] && nullable[-2]; - --nullable; - break; + /* The lastpos is the union of the lastpos of each argument. */ + nlastpos[-2] += nlastpos[-1]; + --nlastpos; - case OR: - /* The firstpos is the union of the firstpos of each argument. */ - nfirstpos[-2] += nfirstpos[-1]; - --nfirstpos; - - /* The lastpos is the union of the lastpos of each argument. */ - nlastpos[-2] += nlastpos[-1]; - --nlastpos; - - /* An OR node is nullable if either argument is nullable. */ - nullable[-2] = nullable[-1] || nullable[-2]; - --nullable; - break; + /* An OR node is nullable if either argument is nullable. */ + nullable[-2] = nullable[-1] || nullable[-2]; + --nullable; + break; - default: - /* Anything else is a nonempty position. (Note that special - constructs like \< are treated as nonempty strings here; - an "epsilon closure" effectively makes them nullable later. - Backreferences have to get a real position so we can detect - transitions on them later. But they are nullable. */ - *nullable++ = d->tokens[i] == BACKREF; - - /* This position is in its own firstpos and lastpos. */ - *nfirstpos++ = *nlastpos++ = 1; - --firstpos, --lastpos; - firstpos->index = lastpos->index = i; - firstpos->constraint = lastpos->constraint = NO_CONSTRAINT; + default: + /* Anything else is a nonempty position. (Note that special + constructs like \< are treated as nonempty strings here; + an "epsilon closure" effectively makes them nullable later. + Backreferences have to get a real position so we can detect + transitions on them later. But they are nullable. */ + *nullable++ = d->tokens[i] == BACKREF; + + /* This position is in its own firstpos and lastpos. */ + *nfirstpos++ = *nlastpos++ = 1; + --firstpos, --lastpos; + firstpos->index = lastpos->index = i; + firstpos->constraint = lastpos->constraint = NO_CONSTRAINT; - /* Allocate the follow set for this position. */ - alloc_position_set(&d->follows[i], 1); - break; - } + /* Allocate the follow set for this position. */ + alloc_position_set (&d->follows[i], 1); + break; + } #ifdef DEBUG - /* ... balance the above nonsyntactic #ifdef goo... */ - fprintf(stderr, "node %d:", i); - prtok(d->tokens[i]); - putc('\n', stderr); - fprintf(stderr, nullable[-1] ? " nullable: yes\n" : " nullable: no\n"); - fprintf(stderr, " firstpos:"); - for (j = nfirstpos[-1] - 1; j >= 0; --j) - { - fprintf(stderr, " %d:", firstpos[j].index); - prtok(d->tokens[firstpos[j].index]); + /* ... balance the above nonsyntactic #ifdef goo... */ + fprintf (stderr, "node %zd:", i); + prtok (d->tokens[i]); + putc ('\n', stderr); + fprintf (stderr, nullable[-1] ? " nullable: yes\n" : " nullable: no\n"); + fprintf (stderr, " firstpos:"); + for (j = nfirstpos[-1]; j-- > 0;) + { + fprintf (stderr, " %zd:", firstpos[j].index); + prtok (d->tokens[firstpos[j].index]); } - fprintf(stderr, "\n lastpos:"); - for (j = nlastpos[-1] - 1; j >= 0; --j) + fprintf (stderr, "\n lastpos:"); + for (j = nlastpos[-1]; j-- > 0;) { - fprintf(stderr, " %d:", lastpos[j].index); - prtok(d->tokens[lastpos[j].index]); + fprintf (stderr, " %zd:", lastpos[j].index); + prtok (d->tokens[lastpos[j].index]); } - putc('\n', stderr); + putc ('\n', stderr); #endif } @@ -2372,48 +2435,49 @@ for (i = 0; i < d->tindex; ++i) if (d->tokens[i] < NOTCHAR || d->tokens[i] == BACKREF #if MBS_SUPPORT - || d->tokens[i] == ANYCHAR - || d->tokens[i] == MBCSET + || d->tokens[i] == ANYCHAR || d->tokens[i] == MBCSET #endif || d->tokens[i] >= CSET) { #ifdef DEBUG - fprintf(stderr, "follows(%d:", i); - prtok(d->tokens[i]); - fprintf(stderr, "):"); - for (j = d->follows[i].nelem - 1; j >= 0; --j) + fprintf (stderr, "follows(%zd:", i); + prtok (d->tokens[i]); + fprintf (stderr, "):"); + for (j = d->follows[i].nelem; j-- > 0;) { - fprintf(stderr, " %d:", d->follows[i].elems[j].index); - prtok(d->tokens[d->follows[i].elems[j].index]); + fprintf (stderr, " %zd:", d->follows[i].elems[j].index); + prtok (d->tokens[d->follows[i].elems[j].index]); } - putc('\n', stderr); + putc ('\n', stderr); #endif - copy(&d->follows[i], &merged); - epsclosure(&merged, d); - copy(&merged, &d->follows[i]); + copy (&d->follows[i], &merged); + epsclosure (&merged, d); + copy (&merged, &d->follows[i]); } /* Get the epsilon closure of the firstpos of the regexp. The result will be the set of positions of state 0. */ merged.nelem = 0; for (i = 0; i < nfirstpos[-1]; ++i) - insert(firstpos[i], &merged); - epsclosure(&merged, d); + insert (firstpos[i], &merged); + epsclosure (&merged, d); /* Build the initial state. */ d->salloc = 1; d->sindex = 0; - MALLOC(d->states, d->salloc); - - separate_contexts = state_separate_contexts(&merged, CTX_NEWLINE); - state_index(d, &merged, separate_contexts); + MALLOC (d->states, d->salloc); - free(o_nullable); - free(o_nfirst); - free(o_firstpos); - free(o_nlast); - free(o_lastpos); - free(merged.elems); + separate_contexts = state_separate_contexts (&merged); + state_index (d, &merged, + (separate_contexts & CTX_NEWLINE + ? CTX_NEWLINE : separate_contexts ^ CTX_ANY)); + + free (o_nullable); + free (o_nfirst); + free (o_firstpos); + free (o_nlast); + free (o_lastpos); + free (merged.elems); } @@ -2448,40 +2512,40 @@ create a new group labeled with the characters of C and insert this position in that group. */ void -dfastate (int s, struct dfa *d, int trans[]) +dfastate (state_num s, struct dfa *d, state_num trans[]) { - leaf_set *grps; /* As many as will ever be needed. */ - charclass *labels; /* Labels corresponding to the groups. */ - int ngrps = 0; /* Number of groups actually used. */ - position pos; /* Current position being considered. */ - charclass matches; /* Set of matching characters. */ - int matchesf; /* True if matches is nonempty. */ - charclass intersect; /* Intersection with some label set. */ - int intersectf; /* True if intersect is nonempty. */ - charclass leftovers; /* Stuff in the label that didn't match. */ - int leftoversf; /* True if leftovers is nonempty. */ - position_set follows; /* Union of the follows of some group. */ - position_set tmp; /* Temporary space for merging sets. */ - int possible_contexts; /* Contexts that this group can match. */ - int separate_contexts; /* Context that new state wants to know. */ - int state; /* New state. */ - int state_newline; /* New state on a newline transition. */ - int state_letter; /* New state on a letter transition. */ - int next_isnt_1st_byte = 0; /* Flag if we can't add state0. */ - int i, j, k; + leaf_set *grps; /* As many as will ever be needed. */ + charclass *labels; /* Labels corresponding to the groups. */ + size_t ngrps = 0; /* Number of groups actually used. */ + position pos; /* Current position being considered. */ + charclass matches; /* Set of matching characters. */ + int matchesf; /* True if matches is nonempty. */ + charclass intersect; /* Intersection with some label set. */ + int intersectf; /* True if intersect is nonempty. */ + charclass leftovers; /* Stuff in the label that didn't match. */ + int leftoversf; /* True if leftovers is nonempty. */ + position_set follows; /* Union of the follows of some group. */ + position_set tmp; /* Temporary space for merging sets. */ + int possible_contexts; /* Contexts that this group can match. */ + int separate_contexts; /* Context that new state wants to know. */ + state_num state; /* New state. */ + state_num state_newline; /* New state on a newline transition. */ + state_num state_letter; /* New state on a letter transition. */ + int next_isnt_1st_byte = 0; /* Flag if we can't add state0. */ + size_t i, j, k; MALLOC (grps, NOTCHAR); MALLOC (labels, NOTCHAR); - zeroset(matches); + zeroset (matches); for (i = 0; i < d->states[s].elems.nelem; ++i) { pos = d->states[s].elems.elems[i]; if (d->tokens[pos.index] >= 0 && d->tokens[pos.index] < NOTCHAR) - setbit(d->tokens[pos.index], matches); + setbit (d->tokens[pos.index], matches); else if (d->tokens[pos.index] >= CSET) - copyset(d->charclasses[d->tokens[pos.index] - CSET], matches); + copyset (d->charclasses[d->tokens[pos.index] - CSET], matches); else if (MBS_SUPPORT && (d->tokens[pos.index] == ANYCHAR || d->tokens[pos.index] == MBCSET)) @@ -2491,8 +2555,8 @@ 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) - alloc_position_set(&d->states[s].mbps, 1); - insert(pos, &(d->states[s].mbps)); + alloc_position_set (&d->states[s].mbps, 1); + insert (pos, &(d->states[s].mbps)); continue; } else @@ -2500,25 +2564,20 @@ /* Some characters may need to be eliminated from matches because they fail in the current context. */ - if (pos.constraint != 0xFF) + if (pos.constraint != NO_CONSTRAINT) { - if (! MATCHES_NEWLINE_CONTEXT(pos.constraint, - d->states[s].context & CTX_NEWLINE, - CTX_NEWLINE)) - clrbit(eolbyte, matches); - if (! MATCHES_NEWLINE_CONTEXT(pos.constraint, - d->states[s].context & CTX_NEWLINE, 0)) + if (!SUCCEEDS_IN_CONTEXT (pos.constraint, + d->states[s].context, CTX_NEWLINE)) for (j = 0; j < CHARCLASS_INTS; ++j) - matches[j] &= newline[j]; - if (! MATCHES_LETTER_CONTEXT(pos.constraint, - d->states[s].context & CTX_LETTER, - CTX_LETTER)) + matches[j] &= ~newline[j]; + if (!SUCCEEDS_IN_CONTEXT (pos.constraint, + d->states[s].context, CTX_LETTER)) for (j = 0; j < CHARCLASS_INTS; ++j) matches[j] &= ~letters[j]; - if (! MATCHES_LETTER_CONTEXT(pos.constraint, - d->states[s].context & CTX_LETTER, 0)) + if (!SUCCEEDS_IN_CONTEXT (pos.constraint, + d->states[s].context, CTX_NONE)) for (j = 0; j < CHARCLASS_INTS; ++j) - matches[j] &= letters[j]; + matches[j] &= letters[j] | newline[j]; /* If there are no characters left, there's no point in going on. */ for (j = 0; j < CHARCLASS_INTS && !matches[j]; ++j) @@ -2533,7 +2592,7 @@ group's label doesn't contain that character, go on to the next group. */ if (d->tokens[pos.index] >= 0 && d->tokens[pos.index] < NOTCHAR - && !tstbit(d->tokens[pos.index], labels[j])) + && !tstbit (d->tokens[pos.index], labels[j])) continue; /* Check if this group's label has a nonempty intersection with @@ -2541,7 +2600,7 @@ intersectf = 0; for (k = 0; k < CHARCLASS_INTS; ++k) (intersect[k] = matches[k] & labels[j][k]) ? (intersectf = 1) : 0; - if (! intersectf) + if (!intersectf) continue; /* It does; now find the set differences both ways. */ @@ -2558,11 +2617,11 @@ /* If there were leftovers, create a new group labeled with them. */ if (leftoversf) { - copyset(leftovers, labels[ngrps]); - copyset(intersect, labels[j]); - MALLOC(grps[ngrps].elems, d->nleaves); - memcpy(grps[ngrps].elems, grps[j].elems, - sizeof (grps[j].elems[0]) * grps[j].nelem); + copyset (leftovers, labels[ngrps]); + copyset (intersect, labels[j]); + MALLOC (grps[ngrps].elems, d->nleaves); + memcpy (grps[ngrps].elems, grps[j].elems, + sizeof (grps[j].elems[0]) * grps[j].nelem); grps[ngrps].nelem = grps[j].nelem; ++ngrps; } @@ -2573,7 +2632,7 @@ /* If every character matching the current position has been accounted for, we're done. */ - if (! matchesf) + if (!matchesf) break; } @@ -2581,17 +2640,17 @@ unaccounted for, then we'll have to create a new group. */ if (j == ngrps) { - copyset(matches, labels[ngrps]); - zeroset(matches); - MALLOC(grps[ngrps].elems, d->nleaves); + copyset (matches, labels[ngrps]); + zeroset (matches); + MALLOC (grps[ngrps].elems, d->nleaves); grps[ngrps].nelem = 1; grps[ngrps].elems[0] = pos.index; ++ngrps; } } - alloc_position_set(&follows, d->nleaves); - alloc_position_set(&tmp, d->nleaves); + alloc_position_set (&follows, d->nleaves); + alloc_position_set (&tmp, d->nleaves); /* If we are a searching matcher, the default transition is to a state containing the positions of state 0, otherwise the default transition @@ -2599,20 +2658,20 @@ if (d->searchflag) { /* Find the state(s) corresponding to the positions of state 0. */ - copy(&d->states[0].elems, &follows); - separate_contexts = state_separate_contexts(&follows, CTX_ANY); - state = state_index(d, &follows, 0); + copy (&d->states[0].elems, &follows); + separate_contexts = state_separate_contexts (&follows); + state = state_index (d, &follows, separate_contexts ^ CTX_ANY); if (separate_contexts & CTX_NEWLINE) - state_newline = state_index(d, &follows, CTX_NEWLINE); + state_newline = state_index (d, &follows, CTX_NEWLINE); else state_newline = state; if (separate_contexts & CTX_LETTER) - state_letter = state_index(d, &follows, CTX_LETTER); + state_letter = state_index (d, &follows, CTX_LETTER); else state_letter = state; for (i = 0; i < NOTCHAR; ++i) - trans[i] = (IS_WORD_CONSTITUENT(i)) ? state_letter : state; + trans[i] = (IS_WORD_CONSTITUENT (i)) ? state_letter : state; trans[eolbyte] = state_newline; } else @@ -2627,7 +2686,7 @@ This is a hideously inefficient loop. Fix it someday. */ for (j = 0; j < grps[i].nelem; ++j) for (k = 0; k < d->follows[grps[i].elems[j]].nelem; ++k) - insert(d->follows[grps[i].elems[j]].elems[k], &follows); + insert (d->follows[grps[i].elems[j]].elems[k], &follows); if (d->mb_cur_max > 1) { @@ -2663,23 +2722,25 @@ /* If we are building a searching matcher, throw in the positions of state 0 as well. */ if (d->searchflag - && (! MBS_SUPPORT - || (d->mb_cur_max == 1 || !next_isnt_1st_byte))) + && (!MBS_SUPPORT || (d->mb_cur_max == 1 || !next_isnt_1st_byte))) for (j = 0; j < d->states[0].elems.nelem; ++j) - insert(d->states[0].elems.elems[j], &follows); + insert (d->states[0].elems.elems[j], &follows); /* Find out if the new state will want any context information. */ - possible_contexts = charclass_context(labels[i]); - separate_contexts = state_separate_contexts(&follows, possible_contexts); + possible_contexts = charclass_context (labels[i]); + separate_contexts = state_separate_contexts (&follows); /* Find the state(s) corresponding to the union of the follows. */ - state = state_index(d, &follows, 0); - if (separate_contexts & CTX_NEWLINE) - state_newline = state_index(d, &follows, CTX_NEWLINE); + if ((separate_contexts & possible_contexts) != possible_contexts) + state = state_index (d, &follows, separate_contexts ^ CTX_ANY); + else + state = -1; + if (separate_contexts & possible_contexts & CTX_NEWLINE) + state_newline = state_index (d, &follows, CTX_NEWLINE); else state_newline = state; - if (separate_contexts & CTX_LETTER) - state_letter = state_index(d, &follows, CTX_LETTER); + if (separate_contexts & possible_contexts & CTX_LETTER) + state_letter = state_index (d, &follows, CTX_LETTER); else state_letter = state; @@ -2692,7 +2753,7 @@ if (c == eolbyte) trans[c] = state_newline; - else if (IS_WORD_CONSTITUENT(c)) + else if (IS_WORD_CONSTITUENT (c)) trans[c] = state_letter; else if (c < NOTCHAR) trans[c] = state; @@ -2700,11 +2761,11 @@ } for (i = 0; i < ngrps; ++i) - free(grps[i].elems); - free(follows.elems); - free(tmp.elems); - free(grps); - free(labels); + free (grps[i].elems); + free (follows.elems); + free (tmp.elems); + free (grps); + free (labels); } /* Some routines for manipulating a compiled dfa's transition tables. @@ -2715,10 +2776,10 @@ TODO: Improve this comment, get rid of the unnecessary redundancy. */ static void -build_state (int s, struct dfa *d) +build_state (state_num s, struct dfa *d) { - int *trans; /* The new transition table. */ - int i; + state_num *trans; /* The new transition table. */ + state_num i; /* Set an upper limit on the number of transition tables that will ever exist at once. 1024 is arbitrary. The idea is that the frequently @@ -2728,8 +2789,8 @@ { for (i = 0; i < d->tralloc; ++i) { - free(d->trans[i]); - free(d->fails[i]); + free (d->trans[i]); + free (d->fails[i]); d->trans[i] = d->fails[i] = NULL; } d->trcount = 0; @@ -2739,15 +2800,15 @@ /* Set up the success bits for this state. */ d->success[s] = 0; - if (ACCEPTS_IN_CONTEXT(d->states[s].context, CTX_NEWLINE, s, *d)) + if (ACCEPTS_IN_CONTEXT (d->states[s].context, CTX_NEWLINE, s, *d)) d->success[s] |= CTX_NEWLINE; - if (ACCEPTS_IN_CONTEXT(d->states[s].context, CTX_LETTER, s, *d)) + if (ACCEPTS_IN_CONTEXT (d->states[s].context, CTX_LETTER, s, *d)) d->success[s] |= CTX_LETTER; - if (ACCEPTS_IN_CONTEXT(d->states[s].context, CTX_NONE, s, *d)) + if (ACCEPTS_IN_CONTEXT (d->states[s].context, CTX_NONE, s, *d)) d->success[s] |= CTX_NONE; - MALLOC(trans, NOTCHAR); - dfastate(s, d, trans); + MALLOC (trans, NOTCHAR); + dfastate (s, d, trans); /* Now go through the new transition table, and make sure that the trans and fail arrays are allocated large enough to hold a pointer for the @@ -2755,15 +2816,15 @@ for (i = 0; i < NOTCHAR; ++i) if (trans[i] >= d->tralloc) { - int oldalloc = d->tralloc; + state_num oldalloc = d->tralloc; while (trans[i] >= d->tralloc) d->tralloc *= 2; - REALLOC(d->realtrans, d->tralloc + 1); + REALLOC (d->realtrans, d->tralloc + 1); d->trans = d->realtrans + 1; - REALLOC(d->fails, d->tralloc); - REALLOC(d->success, d->tralloc); - REALLOC(d->newlines, d->tralloc); + REALLOC (d->fails, d->tralloc); + REALLOC (d->success, d->tralloc); + REALLOC (d->newlines, d->tralloc); while (oldalloc < d->tralloc) { d->trans[oldalloc] = NULL; @@ -2776,7 +2837,7 @@ d->newlines[s] = trans[eolbyte]; trans[eolbyte] = -1; - if (ACCEPTING(s, *d)) + if (ACCEPTING (s, *d)) d->fails[s] = trans; else d->trans[s] = trans; @@ -2787,12 +2848,12 @@ { d->tralloc = 1; d->trcount = 0; - CALLOC(d->realtrans, d->tralloc + 1); + CALLOC (d->realtrans, d->tralloc + 1); d->trans = d->realtrans + 1; - CALLOC(d->fails, d->tralloc); - MALLOC(d->success, d->tralloc); - MALLOC(d->newlines, d->tralloc); - build_state(0, d); + CALLOC (d->fails, d->tralloc); + MALLOC (d->success, d->tralloc); + MALLOC (d->newlines, d->tralloc); + build_state (0, d); } /* Multibyte character handling sub-routines for dfaexec. */ @@ -2813,29 +2874,29 @@ ++p; \ if ((char *) p >= end) \ { \ - free(mblen_buf); \ - free(inputwcs); \ + free (mblen_buf); \ + free (inputwcs); \ *end = saved_end; \ return NULL; \ } \ } static void -realloc_trans_if_necessary(struct dfa *d, int new_state) +realloc_trans_if_necessary (struct dfa *d, state_num new_state) { /* Make sure that the trans and fail arrays are allocated large enough to hold a pointer for the new state. */ if (new_state >= d->tralloc) { - int oldalloc = d->tralloc; + state_num oldalloc = d->tralloc; while (new_state >= d->tralloc) d->tralloc *= 2; - REALLOC(d->realtrans, d->tralloc + 1); + REALLOC (d->realtrans, d->tralloc + 1); d->trans = d->realtrans + 1; - REALLOC(d->fails, d->tralloc); - REALLOC(d->success, d->tralloc); - REALLOC(d->newlines, d->tralloc); + REALLOC (d->fails, d->tralloc); + REALLOC (d->success, d->tralloc); + REALLOC (d->newlines, d->tralloc); while (oldalloc < d->tralloc) { d->trans[oldalloc] = NULL; @@ -2848,9 +2909,9 @@ transit_state_consume_1char. */ typedef enum { - TRANSIT_STATE_IN_PROGRESS, /* State transition has not finished. */ - TRANSIT_STATE_DONE, /* State transition has finished. */ - TRANSIT_STATE_END_BUFFER /* Reach the end of the buffer. */ + TRANSIT_STATE_IN_PROGRESS, /* State transition has not finished. */ + TRANSIT_STATE_DONE, /* State transition has finished. */ + TRANSIT_STATE_END_BUFFER /* Reach the end of the buffer. */ } status_transit_state; /* Consume a single byte and transit state from 's' to '*next_state'. @@ -2858,11 +2919,11 @@ But state transition is done just once, otherwise matching succeed or reach the end of the buffer. */ static status_transit_state -transit_state_singlebyte (struct dfa *d, int s, unsigned char const *p, - int *next_state) +transit_state_singlebyte (struct dfa *d, state_num s, unsigned char const *p, + state_num * next_state) { - int *t; - int works = s; + state_num *t; + state_num works = s; status_transit_state rval = TRANSIT_STATE_IN_PROGRESS; @@ -2891,7 +2952,7 @@ } else { - build_state(works, d); + build_state (works, d); } } *next_state = works; @@ -2902,29 +2963,29 @@ current position. Return the length of the match, in bytes. POS is the position of the ".". */ static int -match_anychar (struct dfa *d, int s, position pos, int idx) +match_anychar (struct dfa *d, state_num s, position pos, size_t idx) { int context; wchar_t wc; int mbclen; wc = inputwcs[idx]; - mbclen = (mblen_buf[idx] == 0)? 1 : mblen_buf[idx]; + mbclen = (mblen_buf[idx] == 0) ? 1 : mblen_buf[idx]; /* Check syntax bits. */ - if (wc == (wchar_t)eolbyte) + if (wc == (wchar_t) eolbyte) { if (!(syntax_bits & RE_DOT_NEWLINE)) return 0; } - else if (wc == (wchar_t)'\0') + else if (wc == (wchar_t) '\0') { if (syntax_bits & RE_DOT_NOT_NULL) return 0; } - context = wchar_context(wc); - if (!SUCCEEDS_IN_CONTEXT(pos.constraint, d->states[s].context, context)) + context = wchar_context (wc); + if (!SUCCEEDS_IN_CONTEXT (pos.constraint, d->states[s].context, context)) return 0; return mbclen; @@ -2935,66 +2996,66 @@ Return the length of the match, in bytes. POS is the position of the bracket expression. */ static int -match_mb_charset (struct dfa *d, int s, position pos, int idx) +match_mb_charset (struct dfa *d, state_num s, position pos, size_t idx) { - int i; - int match; /* Flag which represent that matching succeed. */ - int match_len; /* Length of the character (or collating element) - with which this operator match. */ - int op_len; /* Length of the operator. */ + size_t i; + int match; /* Flag which represent that matching succeed. */ + int match_len; /* Length of the character (or collating element) + with which this operator match. */ + int op_len; /* Length of the operator. */ char buffer[128]; - /* Pointer to the structure to which we are currently refering. */ + /* Pointer to the structure to which we are currently referring. */ struct mb_char_classes *work_mbc; int context; - wchar_t wc; /* Current refering character. */ + wchar_t wc; /* Current referring character. */ wc = inputwcs[idx]; /* Check syntax bits. */ - if (wc == (wchar_t)eolbyte) + if (wc == (wchar_t) eolbyte) { if (!(syntax_bits & RE_DOT_NEWLINE)) return 0; } - else if (wc == (wchar_t)'\0') + else if (wc == (wchar_t) '\0') { if (syntax_bits & RE_DOT_NOT_NULL) return 0; } - context = wchar_context(wc); - if (!SUCCEEDS_IN_CONTEXT(pos.constraint, d->states[s].context, context)) + context = wchar_context (wc); + if (!SUCCEEDS_IN_CONTEXT (pos.constraint, d->states[s].context, context)) return 0; - /* Assign the current refering operator to work_mbc. */ + /* Assign the current referring operator to work_mbc. */ work_mbc = &(d->mbcsets[(d->multibyte_prop[pos.index]) >> 2]); match = !work_mbc->invert; - match_len = (mblen_buf[idx] == 0)? 1 : mblen_buf[idx]; + match_len = (mblen_buf[idx] == 0) ? 1 : mblen_buf[idx]; /* Match in range 0-255? */ if (wc < NOTCHAR && work_mbc->cset != -1 - && tstbit((unsigned char)wc, d->charclasses[work_mbc->cset])) + && tstbit ((unsigned char) wc, d->charclasses[work_mbc->cset])) goto charset_matched; /* match with a character class? */ - for (i = 0; inch_classes; i++) + for (i = 0; i < work_mbc->nch_classes; i++) { - if (iswctype((wint_t)wc, work_mbc->ch_classes[i])) + if (iswctype ((wint_t) wc, work_mbc->ch_classes[i])) goto charset_matched; } - strncpy(buffer, (char const *) buf_begin + idx, match_len); + strncpy (buffer, (char const *) buf_begin + idx, match_len); buffer[match_len] = '\0'; - /* match with an equivalent class? */ - for (i = 0; inequivs; i++) + /* match with an equivalence class? */ + for (i = 0; i < work_mbc->nequivs; i++) { - op_len = strlen(work_mbc->equivs[i]); - strncpy(buffer, (char const *) buf_begin + idx, op_len); + op_len = strlen (work_mbc->equivs[i]); + strncpy (buffer, (char const *) buf_begin + idx, op_len); buffer[op_len] = '\0'; - if (strcoll(work_mbc->equivs[i], buffer) == 0) + if (strcoll (work_mbc->equivs[i], buffer) == 0) { match_len = op_len; goto charset_matched; @@ -3002,13 +3063,13 @@ } /* match with a collating element? */ - for (i = 0; incoll_elems; i++) + for (i = 0; i < work_mbc->ncoll_elems; i++) { - op_len = strlen(work_mbc->coll_elems[i]); - strncpy(buffer, (char const *) buf_begin + idx, op_len); + op_len = strlen (work_mbc->coll_elems[i]); + strncpy (buffer, (char const *) buf_begin + idx, op_len); buffer[op_len] = '\0'; - if (strcoll(work_mbc->coll_elems[i], buffer) == 0) + if (strcoll (work_mbc->coll_elems[i], buffer) == 0) { match_len = op_len; goto charset_matched; @@ -3016,15 +3077,14 @@ } /* match with a range? */ - for (i = 0; inranges; i++) + for (i = 0; i < work_mbc->nranges; i++) { - if (work_mbc->range_sts[i] <= wc && - wc <= work_mbc->range_ends[i]) + if (work_mbc->range_sts[i] <= wc && wc <= work_mbc->range_ends[i]) goto charset_matched; } /* match with a character? */ - for (i = 0; inchars; i++) + for (i = 0; i < work_mbc->nchars; i++) { if (wc == work_mbc->chars[i]) goto charset_matched; @@ -3032,107 +3092,109 @@ match = !match; - charset_matched: +charset_matched: return match ? match_len : 0; } -/* Check each of `d->states[s].mbps.elem' can match or not. Then return the - array which corresponds to `d->states[s].mbps.elem' and each element of +/* Check each of 'd->states[s].mbps.elem' can match or not. Then return the + array which corresponds to 'd->states[s].mbps.elem' and each element of the array contains the amount of the bytes with which the element can match. - `idx' is the index from the buf_begin, and it is the current position + 'idx' is the index from the buf_begin, and it is the current position in the buffer. Caller MUST free the array which this function return. */ -static int* -check_matching_with_multibyte_ops (struct dfa *d, int s, int idx) +static int * +check_matching_with_multibyte_ops (struct dfa *d, state_num s, size_t idx) { - int i; - int* rarray; + size_t i; + int *rarray; - MALLOC(rarray, d->states[s].mbps.nelem); + MALLOC (rarray, d->states[s].mbps.nelem); for (i = 0; i < d->states[s].mbps.nelem; ++i) { position pos = d->states[s].mbps.elems[i]; - switch(d->tokens[pos.index]) + switch (d->tokens[pos.index]) { case ANYCHAR: - rarray[i] = match_anychar(d, s, pos, idx); + rarray[i] = match_anychar (d, s, pos, idx); break; case MBCSET: - rarray[i] = match_mb_charset(d, s, pos, idx); + rarray[i] = match_mb_charset (d, s, pos, idx); break; default: - break; /* cannot happen. */ + break; /* cannot happen. */ } } return rarray; } /* Consume a single character and enumerate all of the positions which can - be next position from the state `s'. - `match_lens' is the input. It can be NULL, but it can also be the output + be next position from the state 's'. + 'match_lens' is the input. It can be NULL, but it can also be the output of check_matching_with_multibyte_ops() for optimization. - `mbclen' and `pps' are the output. `mbclen' is the length of the - character consumed, and `pps' is the set this function enumerate. */ + 'mbclen' and 'pps' are the output. 'mbclen' is the length of the + character consumed, and 'pps' is the set this function enumerate. */ static status_transit_state -transit_state_consume_1char (struct dfa *d, int s, unsigned char const **pp, - int *match_lens, int *mbclen, position_set *pps) -{ - int i, j; - int s1, s2; - int* work_mbls; +transit_state_consume_1char (struct dfa *d, state_num s, + unsigned char const **pp, + int *match_lens, int *mbclen, position_set * pps) +{ + size_t i, j; + int k; + state_num s1, s2; + int *work_mbls; status_transit_state rs = TRANSIT_STATE_DONE; /* Calculate the length of the (single/multi byte) character to which p points. */ - *mbclen = (mblen_buf[*pp - buf_begin] == 0)? 1 - : mblen_buf[*pp - buf_begin]; + *mbclen = (mblen_buf[*pp - buf_begin] == 0) ? 1 : mblen_buf[*pp - buf_begin]; - /* Calculate the state which can be reached from the state `s' by - consuming `*mbclen' single bytes from the buffer. */ + /* Calculate the state which can be reached from the state 's' by + consuming '*mbclen' single bytes from the buffer. */ s1 = s; - for (i = 0; i < *mbclen; i++) + for (k = 0; k < *mbclen; k++) { s2 = s1; - rs = transit_state_singlebyte(d, s2, (*pp)++, &s1); + rs = transit_state_singlebyte (d, s2, (*pp)++, &s1); } - /* Copy the positions contained by `s1' to the set `pps'. */ - copy(&(d->states[s1].elems), pps); + /* Copy the positions contained by 's1' to the set 'pps'. */ + copy (&(d->states[s1].elems), pps); - /* Check (inputed)match_lens, and initialize if it is NULL. */ + /* Check (input) match_lens, and initialize if it is NULL. */ if (match_lens == NULL && d->states[s].mbps.nelem != 0) - work_mbls = check_matching_with_multibyte_ops(d, s, *pp - buf_begin); + work_mbls = check_matching_with_multibyte_ops (d, s, *pp - buf_begin); else work_mbls = match_lens; - /* Add all of the positions which can be reached from `s' by consuming + /* Add all of the positions which can be reached from 's' by consuming a single character. */ - for (i = 0; i < d->states[s].mbps.nelem ; i++) - { + for (i = 0; i < d->states[s].mbps.nelem; i++) + { if (work_mbls[i] == *mbclen) for (j = 0; j < d->follows[d->states[s].mbps.elems[i].index].nelem; j++) - insert(d->follows[d->states[s].mbps.elems[i].index].elems[j], - pps); + insert (d->follows[d->states[s].mbps.elems[i].index].elems[j], pps); } if (match_lens == NULL && work_mbls != NULL) - free(work_mbls); + free (work_mbls); + + /* FIXME: this return value is always ignored. */ return rs; } /* Transit state from s, then return new state and update the pointer of the buffer. This function is for some operator which can match with a multi- byte character or a collating element (which may be multi characters). */ -static int -transit_state (struct dfa *d, int s, unsigned char const **pp) +static state_num +transit_state (struct dfa *d, state_num s, unsigned char const **pp) { - int s1; - int mbclen; /* The length of current input multibyte character. */ + state_num s1; + int mbclen; /* The length of current input multibyte character. */ int maxlen = 0; - int i, j; + size_t i, j; int *match_lens = NULL; - int nelem = d->states[s].mbps.nelem; /* Just a alias. */ + size_t nelem = d->states[s].mbps.nelem; /* Just a alias. */ position_set follows; unsigned char const *p1 = *pp; wchar_t wc; @@ -3142,7 +3204,7 @@ We check whether each of them can match or not. */ { /* Note: caller must free the return value of this function. */ - match_lens = check_matching_with_multibyte_ops(d, s, *pp - buf_begin); + match_lens = check_matching_with_multibyte_ops (d, s, *pp - buf_begin); for (i = 0; i < nelem; i++) /* Search the operator which match the longest string, @@ -3158,48 +3220,48 @@ We need to check only one single byte character. */ { status_transit_state rs; - rs = transit_state_singlebyte(d, s, *pp, &s1); + rs = transit_state_singlebyte (d, s, *pp, &s1); /* We must update the pointer if state transition succeeded. */ if (rs == TRANSIT_STATE_DONE) ++*pp; - free(match_lens); + free (match_lens); return s1; } /* This state has some operators which can match a multibyte character. */ - alloc_position_set(&follows, d->nleaves); + alloc_position_set (&follows, d->nleaves); - /* `maxlen' may be longer than the length of a character, because it may + /* 'maxlen' may be longer than the length of a character, because it may not be a character but a (multi character) collating element. - We enumerate all of the positions which `s' can reach by consuming - `maxlen' bytes. */ - transit_state_consume_1char(d, s, pp, match_lens, &mbclen, &follows); + We enumerate all of the positions which 's' can reach by consuming + 'maxlen' bytes. */ + transit_state_consume_1char (d, s, pp, match_lens, &mbclen, &follows); wc = inputwcs[*pp - mbclen - buf_begin]; - s1 = state_index(d, &follows, wchar_context (wc)); - realloc_trans_if_necessary(d, s1); + s1 = state_index (d, &follows, wchar_context (wc)); + realloc_trans_if_necessary (d, s1); while (*pp - p1 < maxlen) { - transit_state_consume_1char(d, s1, pp, NULL, &mbclen, &follows); + transit_state_consume_1char (d, s1, pp, NULL, &mbclen, &follows); - for (i = 0; i < nelem ; i++) + for (i = 0; i < nelem; i++) { if (match_lens[i] == *pp - p1) for (j = 0; j < d->follows[d->states[s1].mbps.elems[i].index].nelem; j++) - insert(d->follows[d->states[s1].mbps.elems[i].index].elems[j], - &follows); + insert (d->follows[d->states[s1].mbps.elems[i].index].elems[j], + &follows); } wc = inputwcs[*pp - mbclen - buf_begin]; - s1 = state_index(d, &follows, wchar_context (wc)); - realloc_trans_if_necessary(d, s1); + s1 = state_index (d, &follows, wchar_context (wc)); + realloc_trans_if_necessary (d, s1); } - free(match_lens); - free(follows.elems); + free (match_lens); + free (follows.elems); return s1; } @@ -3221,14 +3283,14 @@ if (remain_bytes == 0) { remain_bytes - = mbrtowc(inputwcs + i, begin + i, end - begin - i + 1, &mbs); + = mbrtowc (inputwcs + i, begin + i, end - begin - i + 1, &mbs); if (remain_bytes < 1 || remain_bytes == (size_t) -1 || remain_bytes == (size_t) -2 - || (remain_bytes == 1 && inputwcs[i] == (wchar_t)begin[i])) + || (remain_bytes == 1 && inputwcs[i] == (wchar_t) begin[i])) { remain_bytes = 0; - inputwcs[i] = (wchar_t)begin[i]; + inputwcs[i] = (wchar_t) begin[i]; mblen_buf[i] = 0; if (begin[i] == eol) break; @@ -3249,7 +3311,7 @@ buf_end = (unsigned char *) (begin + i); mblen_buf[i] = 0; - inputwcs[i] = 0; /* sentinel */ + inputwcs[i] = 0; /* sentinel */ #endif /* MBS_SUPPORT */ } @@ -3267,17 +3329,17 @@ to decide whether to fall back on a backtracking matcher. */ char * dfaexec (struct dfa *d, char const *begin, char *end, - int allow_nl, int *count, int *backref) + int allow_nl, size_t *count, int *backref) { - int s, s1; /* Current state. */ - unsigned char const *p; /* Current input character. */ - int **trans, *t; /* Copy of d->trans so it can be optimized + state_num s, s1; /* Current state. */ + unsigned char const *p; /* Current input character. */ + state_num **trans, *t; /* Copy of d->trans so it can be optimized into a register. */ - unsigned char eol = eolbyte; /* Likewise for eolbyte. */ + unsigned char eol = eolbyte; /* Likewise for eolbyte. */ unsigned char saved_end; - if (! d->tralloc) - build_state_zero(d); + if (!d->tralloc) + build_state_zero (d); s = s1 = 0; p = (unsigned char const *) begin; @@ -3287,9 +3349,9 @@ if (d->mb_cur_max > 1) { - MALLOC(mblen_buf, end - begin + 2); - MALLOC(inputwcs, end - begin + 2); - memset(&mbs, 0, sizeof(mbstate_t)); + MALLOC (mblen_buf, end - begin + 2); + MALLOC (inputwcs, end - begin + 2); + memset (&mbs, 0, sizeof (mbstate_t)); prepare_wc_buf ((const char *) p, end); } @@ -3301,7 +3363,7 @@ if (p > buf_end) break; s1 = s; - SKIP_REMAINS_MB_IF_INITIAL_STATE(s, p); + SKIP_REMAINS_MB_IF_INITIAL_STATE (s, p); if (d->states[s].mbps.nelem == 0) { @@ -3316,15 +3378,15 @@ if (backref) { *backref = 1; - free(mblen_buf); - free(inputwcs); + free (mblen_buf); + free (inputwcs); *end = saved_end; return (char *) p; } /* Can match with a multibyte character (and multi character collating element). Transition table might be updated. */ - s = transit_state(d, s, &p); + s = transit_state (d, s, &p); trans = d->trans; } else @@ -3334,7 +3396,9 @@ s1 = t[*p++]; if ((t = trans[s1]) == NULL) { - int tmp = s; s = s1; s1 = tmp; /* swap */ + state_num tmp = s; + s = s1; + s1 = tmp; /* swap */ break; } s = t[*p++]; @@ -3349,8 +3413,8 @@ *backref = (d->states[s].backref != 0); if (d->mb_cur_max > 1) { - free(mblen_buf); - free(inputwcs); + free (mblen_buf); + free (inputwcs); } *end = saved_end; return (char *) p; @@ -3361,7 +3425,7 @@ { /* Can match with a multibyte character (and multicharacter collating element). Transition table might be updated. */ - s = transit_state(d, s, &p); + s = transit_state (d, s, &p); trans = d->trans; } else @@ -3384,8 +3448,8 @@ { if (d->mb_cur_max > 1) { - free(mblen_buf); - free(inputwcs); + free (mblen_buf); + free (inputwcs); } *end = saved_end; return NULL; @@ -3393,7 +3457,7 @@ if (s >= 0) { - build_state(s, d); + build_state (s, d); trans = d->trans; continue; } @@ -3411,30 +3475,30 @@ static void free_mbdata (struct dfa *d) { - unsigned int i; + size_t i; - free(d->multibyte_prop); + free (d->multibyte_prop); d->multibyte_prop = NULL; for (i = 0; i < d->nmbcsets; ++i) { - unsigned int j; + size_t j; struct mb_char_classes *p = &(d->mbcsets[i]); - free(p->chars); - free(p->ch_classes); - free(p->range_sts); - free(p->range_ends); + free (p->chars); + free (p->ch_classes); + free (p->range_sts); + free (p->range_ends); for (j = 0; j < p->nequivs; ++j) - free(p->equivs[j]); - free(p->equivs); + free (p->equivs[j]); + free (p->equivs); for (j = 0; j < p->ncoll_elems; ++j) - free(p->coll_elems[j]); - free(p->coll_elems); + free (p->coll_elems[j]); + free (p->coll_elems); } - free(d->mbcsets); + free (d->mbcsets); d->mbcsets = NULL; d->nmbcsets = 0; } @@ -3447,33 +3511,33 @@ memset (d, 0, sizeof *d); d->calloc = 1; - MALLOC(d->charclasses, d->calloc); + MALLOC (d->charclasses, d->calloc); d->talloc = 1; - MALLOC(d->tokens, d->talloc); + MALLOC (d->tokens, d->talloc); d->mb_cur_max = MB_CUR_MAX; if (d->mb_cur_max > 1) { d->nmultibyte_prop = 1; - MALLOC(d->multibyte_prop, d->nmultibyte_prop); + MALLOC (d->multibyte_prop, d->nmultibyte_prop); d->mbcsets_alloc = 1; - MALLOC(d->mbcsets, d->mbcsets_alloc); + MALLOC (d->mbcsets, d->mbcsets_alloc); } } static void dfaoptimize (struct dfa *d) { - unsigned int i; + size_t i; - if (!MBS_SUPPORT || !using_utf8()) + if (!MBS_SUPPORT || !using_utf8 ()) return; for (i = 0; i < d->tindex; ++i) { - switch(d->tokens[i]) + switch (d->tokens[i]) { case ANYCHAR: /* Lowered. */ @@ -3494,49 +3558,50 @@ void dfacomp (char const *s, size_t len, struct dfa *d, int searchflag) { - dfainit(d); - dfaparse(s, len, d); - dfamust(d); - dfaoptimize(d); - dfaanalyze(d, searchflag); + dfainit (d); + dfaparse (s, len, d); + dfamust (d); + dfaoptimize (d); + dfaanalyze (d, searchflag); } /* Free the storage held by the components of a dfa. */ void dfafree (struct dfa *d) { - int i; + size_t i; struct dfamust *dm, *ndm; - free(d->charclasses); - free(d->tokens); + free (d->charclasses); + free (d->tokens); if (d->mb_cur_max > 1) - free_mbdata(d); + free_mbdata (d); - for (i = 0; i < d->sindex; ++i) { - free(d->states[i].elems.elems); - if (MBS_SUPPORT) - free(d->states[i].mbps.elems); - } - free(d->states); + for (i = 0; i < d->sindex; ++i) + { + free (d->states[i].elems.elems); + if (MBS_SUPPORT) + free (d->states[i].mbps.elems); + } + free (d->states); for (i = 0; i < d->tindex; ++i) - free(d->follows[i].elems); - free(d->follows); + free (d->follows[i].elems); + free (d->follows); for (i = 0; i < d->tralloc; ++i) { - free(d->trans[i]); - free(d->fails[i]); + free (d->trans[i]); + free (d->fails[i]); } - free(d->realtrans); - free(d->fails); - free(d->newlines); - free(d->success); + free (d->realtrans); + free (d->fails); + free (d->newlines); + free (d->success); for (dm = d->musts; dm; dm = ndm) { ndm = dm->next; - free(dm->must); - free(dm); + free (dm->must); + free (dm); } } @@ -3633,7 +3698,7 @@ if (newsize == 0) return old; result = xrealloc (old, oldsize + newsize + 1); - strcpy (result + oldsize, new); + memcpy (result + oldsize, new, newsize + 1); return result; } @@ -3643,15 +3708,15 @@ return icatalloc (NULL, string); } -static char * _GL_ATTRIBUTE_PURE +static char *_GL_ATTRIBUTE_PURE istrstr (char const *lookin, char const *lookfor) { char const *cp; size_t len; - len = strlen(lookfor); + len = strlen (lookfor); for (cp = lookin; *cp != '\0'; ++cp) - if (strncmp(cp, lookfor, len) == 0) + if (strncmp (cp, lookfor, len) == 0) return (char *) cp; return NULL; } @@ -3659,13 +3724,13 @@ static void freelist (char **cpp) { - int i; + size_t i; if (cpp == NULL) return; for (i = 0; cpp[i] != NULL; ++i) { - free(cpp[i]); + free (cpp[i]); cpp[i] = NULL; } } @@ -3673,38 +3738,38 @@ static char ** enlist (char **cpp, char *new, size_t len) { - int i, j; + size_t i, j; if (cpp == NULL) return NULL; - if ((new = icpyalloc(new)) == NULL) + if ((new = icpyalloc (new)) == NULL) { - freelist(cpp); + freelist (cpp); return NULL; } new[len] = '\0'; /* Is there already something in the list that's new (or longer)? */ for (i = 0; cpp[i] != NULL; ++i) - if (istrstr(cpp[i], new) != NULL) + if (istrstr (cpp[i], new) != NULL) { - free(new); + free (new); return cpp; } /* Eliminate any obsoleted strings. */ j = 0; while (cpp[j] != NULL) - if (istrstr(new, cpp[j]) == NULL) + if (istrstr (new, cpp[j]) == NULL) ++j; else { - free(cpp[j]); + free (cpp[j]); if (--i == j) break; cpp[j] = cpp[i]; cpp[i] = NULL; } /* Add the new string. */ - REALLOC(cpp, i + 2); + REALLOC (cpp, i + 2); cpp[i] = new; cpp[i + 1] = NULL; return cpp; @@ -3723,7 +3788,7 @@ if (left == NULL || right == NULL) return NULL; - cpp = malloc(sizeof *cpp); + cpp = malloc (sizeof *cpp); if (cpp == NULL) return NULL; cpp[0] = NULL; @@ -3758,13 +3823,13 @@ static char ** addlists (char **old, char **new) { - int i; + size_t i; if (old == NULL || new == NULL) return NULL; for (i = 0; new[i] != NULL; ++i) { - old = enlist(old, new[i], strlen(new[i])); + old = enlist (old, new[i], strlen (new[i])); if (old == NULL) break; } @@ -3778,11 +3843,11 @@ { char **both; char **temp; - int lnum, rnum; + size_t lnum, rnum; if (left == NULL || right == NULL) return NULL; - both = malloc(sizeof *both); + both = malloc (sizeof *both); if (both == NULL) return NULL; both[0] = NULL; @@ -3790,15 +3855,15 @@ { for (rnum = 0; right[rnum] != NULL; ++rnum) { - temp = comsubs(left[lnum], right[rnum]); + temp = comsubs (left[lnum], right[rnum]); if (temp == NULL) { - freelist(both); + freelist (both); return NULL; } - both = addlists(both, temp); - freelist(temp); - free(temp); + both = addlists (both, temp); + freelist (temp); + free (temp); if (both == NULL) return NULL; } @@ -3815,10 +3880,10 @@ } must; static void -resetmust (must *mp) +resetmust (must * mp) { mp->left[0] = mp->right[0] = mp->is[0] = '\0'; - freelist(mp->in); + freelist (mp->in); } static void @@ -3827,8 +3892,8 @@ must *musts; must *mp; char *result; - int ri; - int i; + size_t ri; + size_t i; int exact; token t; static must must0; @@ -3843,21 +3908,21 @@ mp[i] = must0; for (i = 0; i <= d->tindex; ++i) { - mp[i].in = xmalloc(sizeof *mp[i].in); - mp[i].left = xmalloc(2); - mp[i].right = xmalloc(2); - mp[i].is = xmalloc(2); + mp[i].in = xmalloc (sizeof *mp[i].in); + mp[i].left = xmalloc (2); + mp[i].right = xmalloc (2); + mp[i].is = xmalloc (2); mp[i].left[0] = mp[i].right[0] = mp[i].is[0] = '\0'; mp[i].in[0] = NULL; } #ifdef DEBUG - fprintf(stderr, "dfamust:\n"); + fprintf (stderr, "dfamust:\n"); for (i = 0; i < d->tindex; ++i) { - fprintf(stderr, " %d:", i); - prtok(d->tokens[i]); + fprintf (stderr, " %zd:", i); + prtok (d->tokens[i]); } - putc('\n', stderr); + putc ('\n', stderr); #endif for (ri = 0; ri < d->tindex; ++ri) { @@ -3874,13 +3939,13 @@ case LIMWORD: case NOTLIMWORD: case BACKREF: - resetmust(mp); + resetmust (mp); break; case STAR: case QMARK: assert (musts < mp); --mp; - resetmust(mp); + resetmust (mp); break; case OR: assert (&musts[2] <= mp); @@ -3888,7 +3953,7 @@ char **new; must *lmp; must *rmp; - int j, ln, rn, n; + size_t j, ln, rn, n; rmp = --mp; lmp = --mp; @@ -3901,8 +3966,8 @@ ++i; lmp->left[i] = '\0'; /* Right side */ - ln = strlen(lmp->right); - rn = strlen(rmp->right); + ln = strlen (lmp->right); + rn = strlen (rmp->right); n = ln; if (n > rn) n = rn; @@ -3912,11 +3977,11 @@ for (j = 0; j < i; ++j) lmp->right[j] = lmp->right[(ln - i) + j]; lmp->right[j] = '\0'; - new = inboth(lmp->in, rmp->in); + new = inboth (lmp->in, rmp->in); if (new == NULL) goto done; - freelist(lmp->in); - free(lmp->in); + freelist (lmp->in); + free (lmp->in); lmp->in = new; } break; @@ -3928,7 +3993,7 @@ case END: assert (mp == &musts[1]); for (i = 0; musts[0].in[i] != NULL; ++i) - if (strlen(musts[0].in[i]) > strlen(result)) + if (strlen (musts[0].in[i]) > strlen (result)) result = musts[0].in[i]; if (STREQ (result, musts[0].is)) exact = 1; @@ -3942,41 +4007,39 @@ rmp = --mp; lmp = --mp; /* In. Everything in left, plus everything in - right, plus catenation of + right, plus concatenation of left's right and right's left. */ - lmp->in = addlists(lmp->in, rmp->in); + lmp->in = addlists (lmp->in, rmp->in); if (lmp->in == NULL) goto done; - if (lmp->right[0] != '\0' && - rmp->left[0] != '\0') + if (lmp->right[0] != '\0' && rmp->left[0] != '\0') { char *tp; - tp = icpyalloc(lmp->right); - tp = icatalloc(tp, rmp->left); - lmp->in = enlist(lmp->in, tp, strlen(tp)); - free(tp); + tp = icpyalloc (lmp->right); + tp = icatalloc (tp, rmp->left); + lmp->in = enlist (lmp->in, tp, strlen (tp)); + free (tp); if (lmp->in == NULL) goto done; } /* Left-hand */ if (lmp->is[0] != '\0') { - lmp->left = icatalloc(lmp->left, - rmp->left); + lmp->left = icatalloc (lmp->left, rmp->left); if (lmp->left == NULL) goto done; } /* Right-hand */ if (rmp->is[0] == '\0') lmp->right[0] = '\0'; - lmp->right = icatalloc(lmp->right, rmp->right); + lmp->right = icatalloc (lmp->right, rmp->right); if (lmp->right == NULL) goto done; /* Guaranteed to be */ if (lmp->is[0] != '\0' && rmp->is[0] != '\0') { - lmp->is = icatalloc(lmp->is, rmp->is); + lmp->is = icatalloc (lmp->is, rmp->is); if (lmp->is == NULL) goto done; } @@ -3994,59 +4057,54 @@ /* not on *my* shift */ goto done; } - else if (t >= CSET - || !MBS_SUPPORT - || t == ANYCHAR - || t == MBCSET - ) + else if (t >= CSET || !MBS_SUPPORT || t == ANYCHAR || t == MBCSET) { /* easy enough */ - resetmust(mp); + resetmust (mp); } else { /* plain character */ - resetmust(mp); + resetmust (mp); mp->is[0] = mp->left[0] = mp->right[0] = t; mp->is[1] = mp->left[1] = mp->right[1] = '\0'; - mp->in = enlist(mp->in, mp->is, (size_t)1); + mp->in = enlist (mp->in, mp->is, (size_t) 1); if (mp->in == NULL) goto done; } break; } #ifdef DEBUG - fprintf(stderr, " node: %d:", ri); - prtok(d->tokens[ri]); - fprintf(stderr, "\n in:"); + fprintf (stderr, " node: %zd:", ri); + prtok (d->tokens[ri]); + fprintf (stderr, "\n in:"); for (i = 0; mp->in[i]; ++i) - fprintf(stderr, " \"%s\"", mp->in[i]); - fprintf(stderr, "\n is: \"%s\"\n", mp->is); - fprintf(stderr, " left: \"%s\"\n", mp->left); - fprintf(stderr, " right: \"%s\"\n", mp->right); + fprintf (stderr, " \"%s\"", mp->in[i]); + fprintf (stderr, "\n is: \"%s\"\n", mp->is); + fprintf (stderr, " left: \"%s\"\n", mp->left); + fprintf (stderr, " right: \"%s\"\n", mp->right); #endif ++mp; } - done: - if (strlen(result)) +done: + if (strlen (result)) { - MALLOC(dm, 1); + MALLOC (dm, 1); dm->exact = exact; - MALLOC(dm->must, strlen(result) + 1); - strcpy(dm->must, result); + dm->must = xmemdup (result, strlen (result) + 1); dm->next = d->musts; d->musts = dm; } mp = musts; for (i = 0; i <= d->tindex; ++i) { - freelist(mp[i].in); - free(mp[i].in); - free(mp[i].left); - free(mp[i].right); - free(mp[i].is); + freelist (mp[i].in); + free (mp[i].in); + free (mp[i].left); + free (mp[i].right); + free (mp[i].is); } - free(mp); + free (mp); } struct dfa * @@ -4055,7 +4113,7 @@ return xmalloc (sizeof (struct dfa)); } -struct dfamust * _GL_ATTRIBUTE_PURE +struct dfamust *_GL_ATTRIBUTE_PURE dfamusts (struct dfa const *d) { return d->musts; diff -urN gawk-4.0.1/dfa.h gawk-4.0.2/dfa.h --- gawk-4.0.1/dfa.h 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/dfa.h 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ /* dfa.h - declarations for GNU deterministic regexp compiler - Copyright (C) 1988, 1998, 2007, 2009-2011 Free Software Foundation, Inc. + Copyright (C) 1988, 1998, 2007, 2009-2012 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,17 +18,6 @@ /* Written June, 1988 by Mike Haertel */ -#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) || __STRICT_ANSI__ -# define __attribute__(x) -#endif - -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ -#endif - /* Element of a list of strings, at least one of which is known to appear in any R.E. matching the DFA. */ struct dfamust @@ -74,7 +63,7 @@ encountered a back-reference (1) or not (0). The caller may use this to decide whether to fall back on a backtracking matcher. */ extern char *dfaexec (struct dfa *d, char const *begin, char *end, - int newline, int *count, int *backref); + int newline, size_t *count, int *backref); /* Free the storage held by the components of a struct dfa. */ extern void dfafree (struct dfa *); @@ -93,7 +82,7 @@ /* Compute, for each possible character, the transitions out of a given state, storing them in an array of integers. */ -extern void dfastate (int, struct dfa *, int []); +extern void dfastate (ptrdiff_t, struct dfa *, ptrdiff_t []); /* Error handling. */ @@ -106,4 +95,4 @@ /* dfaerror() is called by the regexp routines whenever an error occurs. It takes a single argument, a NUL-terminated string describing the error. The user must supply a dfaerror. */ -extern void dfaerror (const char *) __attribute__ ((noreturn)); +extern _Noreturn void dfaerror (const char *); diff -urN gawk-4.0.1/doc/ChangeLog gawk-4.0.2/doc/ChangeLog --- gawk-4.0.1/doc/ChangeLog 2012-03-28 22:02:36.000000000 +0200 +++ gawk-4.0.2/doc/ChangeLog 2012-12-25 20:38:33.000000000 +0200 @@ -1,3 +1,90 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + +2012-12-23 Arnold D. Robbins + + * gawk.texi: Remove an incorrect comment. + * awkcard.in: Bump patch level. + +2012-12-15 Arnold D. Robbins + + * macros: Update to GPL Version 3 and add copyright year. + * texinfo.tex: Updated, from automake 1.12.6. + +2012-12-09 Arnold D. Robbins + + * awkforai.txt: Changed content to be pointers to the article + to avoid copyright issues. + * gawk.texi: Updated description of awkforai.txt. + +2012-12-07 Arnold D. Robbins + + * gawk.texi (I/O Functions): Document that fflush() is now part + of POSIX. Fix in a few other places as well. + * awkcard.in: Update for fflush(). + +2012-11-27 Arnold D. Robbins + + * gawk.texi (I/O Functions): Document new behavior for fflush(). + * gawk.1: Update for fflush(). + +2012-10-13 Arnold D. Robbins + + * Makefile.am: Add dgawk.1 to man page links created / removed + on install / uninstall. + +2012-10-02 Arnold D. Robbins + + * gawk.texi (Glossary). Correct the full name for `ISO' per + bug report from William Bresler . Add a link + to the ISO website. + +2012-09-23 Arnold D. Robbins + + * gawk.texi (Nextfile Statement): Document that it's now part of POSIX + and update the title. + (Delete): Document that `delete array' is now part of POSIX. + * awkcard.in: Adjust coloring for nextfile and delete array. + +2012-08-12 Arnold D. Robbins + + * gawk.texi (Ranges and Locales): Clarified ranges and + locales. Again. + +2012-08-05 Arnold D. Robbins + + * gawk.texi (PC Binary Installation): Document Eli Zaretskii's + site. + (Records): Update case of RS = "a". It only prints 1 if in + POSIX mode. Thanks to Jeroen Schot who first reported it. + +2012-07-20 Arnold D. Robbins + + * gawk.texi (Ranges and Locales): Clarified ranges and + locales. + +2012-07-13 Arnold D. Robbins + + * gawk.texi (Getline Notes): Discuss side effects in + argument expression. + +2012-06-29 Arnold D. Robbins + + * gawk.texi, awkcard.in: Latest mawk understands /dev/stdin. + +2012-04-27 Arnold D. Robbins + + * gawk.texi: Add that -b affects output. + +2012-04-27 Arnold D. Robbins + + * texinfo.tex: Update to latest from automake 1.12. + +2012-04-09 Arnold D. Robbins + + * texinfo.tex: Update to latest from automake 1.11.4. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/doc/Makefile.am gawk-4.0.2/doc/Makefile.am --- gawk-4.0.1/doc/Makefile.am 2011-06-24 11:13:14.000000000 +0300 +++ gawk-4.0.2/doc/Makefile.am 2012-12-25 20:31:10.000000000 +0200 @@ -67,15 +67,16 @@ # We want hard links for install-data-hook, below LN= ln -f -# Link gawk.1 to pgawk.1 +# Link gawk.1 to pgawk.1 and to dgawk.1 install-data-hook: (cd $(DESTDIR)$(man1dir); \ $(LN) gawk.1 pgawk.1 2>/dev/null ; \ + $(LN) gawk.1 dgawk.1 2>/dev/null ; \ exit 0) # Undo the above when uninstalling uninstall-hook: - cd $(DESTDIR)$(man1dir); rm -f pgawk.1 ; exit 0 + cd $(DESTDIR)$(man1dir); rm -f pgawk.1 dgawk.1 ; exit 0 postscript: gawk.ps gawkinet.ps gawk.1.ps igawk.1.ps $(AWKCARD) diff -urN gawk-4.0.1/doc/Makefile.in gawk-4.0.2/doc/Makefile.in --- gawk-4.0.1/doc/Makefile.in 2012-03-28 22:03:23.000000000 +0200 +++ gawk-4.0.2/doc/Makefile.in 2012-12-25 20:34:06.000000000 +0200 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -39,6 +38,23 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -58,21 +74,20 @@ build_triplet = @build@ host_triplet = @host@ subdir = doc -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog \ - texinfo.tex +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/mkinstalldirs ChangeLog texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -93,6 +108,11 @@ MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) DVIPS = dvips +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ @@ -115,6 +135,12 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man_MANS) @@ -337,12 +363,12 @@ .texi.dvi: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) $< + $(TEXI2DVI) --clean $< .texi.pdf: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2PDF) $< + $(TEXI2PDF) --clean $< .texi.html: rm -rf $(@:.html=.htp) @@ -367,7 +393,7 @@ gawkinet.html: gawkinet.texi .dvi.ps: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< + $(DVIPS) -o $@ $< uninstall-dvi-am: @$(NORMAL_UNINSTALL) @@ -389,9 +415,7 @@ uninstall-info-am: @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && \ - (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ @@ -469,11 +493,18 @@ done install-man1: $(man_MANS) @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list=''; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ + @list1=''; \ + list2='$(man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ @@ -502,15 +533,15 @@ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) tags: TAGS TAGS: ctags: CTAGS CTAGS: +cscope cscopelist: + distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ @@ -519,10 +550,10 @@ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ if test -n "$$list" && \ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + echo "error: found man pages containing the 'missing help2man' replacement text:" >&2; \ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ + echo " typically 'make maintainer-clean' will remove them" >&2; \ exit 1; \ else :; fi; \ else :; fi @@ -575,10 +606,15 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -618,8 +654,11 @@ install-dvi-am: $(DVIS) @$(NORMAL_INSTALL) - test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -634,18 +673,22 @@ install-html-am: $(HTMLS) @$(NORMAL_INSTALL) - test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ $(am__strip_dir) \ - if test -d "$$d$$p"; then \ + d2=$$d$$p; \ + if test -d "$$d2"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ + echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ else \ - list2="$$list2 $$d$$p"; \ + list2="$$list2 $$d2"; \ fi; \ done; \ test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ @@ -657,9 +700,12 @@ install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) - test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ + fi; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ @@ -677,8 +723,7 @@ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done @$(POST_INSTALL) - @if (install-info --version && \ - install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + @if $(am__can_run_installinfo); then \ list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ @@ -692,8 +737,11 @@ install-pdf-am: $(PDFS) @$(NORMAL_INSTALL) - test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -705,8 +753,11 @@ install-ps-am: $(PSS) @$(NORMAL_INSTALL) - test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" @list='$(PSS)'; test -n "$(psdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -755,15 +806,16 @@ uninstall-pdf-am uninstall-ps-am -# Link gawk.1 to pgawk.1 +# Link gawk.1 to pgawk.1 and to dgawk.1 install-data-hook: (cd $(DESTDIR)$(man1dir); \ $(LN) gawk.1 pgawk.1 2>/dev/null ; \ + $(LN) gawk.1 dgawk.1 2>/dev/null ; \ exit 0) # Undo the above when uninstalling uninstall-hook: - cd $(DESTDIR)$(man1dir); rm -f pgawk.1 ; exit 0 + cd $(DESTDIR)$(man1dir); rm -f pgawk.1 dgawk.1 ; exit 0 postscript: gawk.ps gawkinet.ps gawk.1.ps igawk.1.ps $(AWKCARD) diff -urN gawk-4.0.1/doc/awkcard.in gawk-4.0.2/doc/awkcard.in --- gawk-4.0.1/doc/awkcard.in 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/doc/awkcard.in 2012-12-25 20:31:10.000000000 +0200 @@ -686,7 +686,7 @@ .sp .5 Use the \*(FCdelete\fP statement to delete an element from an array. -\*(CLSpecifying just the array name without a subscript in +Specifying just the array name without a subscript in the \*(FCdelete\fP statement deletes the entire contents of an array. .sp .5 @@ -900,7 +900,7 @@ .ti -.2i \*(FCnext\*(FR See \fHInput Control.\fP .ti -.2i -\*(CL\*(FCnextfile\*(FR See \fHInput Control.\fP\*(CD +\*(FCnextfile\*(FR See \fHInput Control.\fP .in -.2i .\" --- Start switch statement \*(CB\*(FCswitch (\*(FIexpression\*(FC) { @@ -1205,7 +1205,7 @@ expand; l lw(2i). \*(FC"\-"\fP standard input -\*(FC/dev/stdin\fP standard input \*(CR(not \*(MK)\*(CD +\*(FC/dev/stdin\fP standard input \*(FC/dev/stdout\fP standard output \*(FC/dev/stderr\fP standard error output .TE @@ -1285,15 +1285,15 @@ execute any \*(FCEND\fP rule(s). .br .ti -.2i -\*(CL\*(FCnextfile\fP +\*(FCnextfile\fP .br Stop processing the current input file. The next input record comes from the next input file. \*(FCFILENAME\fP \*(CBand -\*(FCARGIND\fP\*(CL are updated, \*(FCFNR\fP is reset to 1, +\*(FCARGIND\fP\*(CD are updated, \*(FCFNR\fP is reset to 1, and processing starts over with the first pattern in the AWK program. Upon end -of input data, execute any \*(FCEND\fP rule(s).\*(CD +of input data, execute any \*(FCEND\fP rule(s). .in -.2i .sp .5 .fi @@ -1307,13 +1307,12 @@ .fi .in +.2i .ti -.2i -\*(CL\*(FCfflush(\*(FR[\*(FIfile\^\*(FR]\*(FC)\*(FR +\*(CD\*(FCfflush(\*(FR[\*(FIfile\^\*(FR]\*(FC)\*(FR .br Flush any buffers associated -with the open output file or pipe \*(FIfile\*(FR.\*(CD -\*(CBIf no \*(FIfile\fP, then flush standard output. -If \*(FIfile\fP is null, then flush all open output files and pipes -(\*(GK and \*(NK)\*(CD. +with the open output file or pipe \*(FIfile\*(FR. +If no \*(FIfile\fP, or if +\*(FIfile\fP is null, then flush all open output files and pipes. .ti -.2i \*(FCprint\fP .br @@ -1914,7 +1913,7 @@ .ES .nf \*(CDHost: \*(FCftp.gnu.org\*(FR -File: \*(FC/gnu/gawk/gawk-4.0.1.tar.gz\fP +File: \*(FC/gnu/gawk/gawk-4.0.2.tar.gz\fP .in +.2i .fi GNU \*(AK (\*(GK). There may be a later version. @@ -1946,7 +1945,7 @@ .ES .fi \*(CDCopyright \(co 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -2007, 2009, 2010, 2011 Free Software Foundation, Inc. +2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. .sp .5 Permission is granted to make and distribute verbatim copies of this reference card provided the copyright notice and this permission notice diff -urN gawk-4.0.1/doc/gawk.1 gawk-4.0.2/doc/gawk.1 --- gawk-4.0.1/doc/gawk.1 2012-03-28 21:47:53.000000000 +0200 +++ gawk-4.0.2/doc/gawk.1 2012-12-25 20:31:10.000000000 +0200 @@ -14,7 +14,7 @@ . if \w'\(rq' .ds rq "\(rq . \} .\} -.TH GAWK 1 "Nov 10 2011" "Free Software Foundation" "Utility Commands" +.TH GAWK 1 "Dec 07 2012" "Free Software Foundation" "Utility Commands" .SH NAME gawk \- pattern scanning and processing language .SH SYNOPSIS @@ -454,11 +454,6 @@ .B ^ and .BR ^= . -.TP -\(bu -The -.B fflush() -function is not available. .RE .TP .PD 0 @@ -2064,9 +2059,7 @@ .IR file . If .I file -is missing, then flush standard output. -If -.I file +is missing or if it is the null string, then flush all open output files and pipes. .PP @@ -3357,13 +3350,6 @@ (Disabled with .BR \-\^\-posix .) .TP -\(bu -The -.B fflush() -function. -(Disabled with -.BR \-\^\-posix .) -.TP \(bu The ability to continue lines after .B ? diff -urN gawk-4.0.1/doc/gawk.texi gawk-4.0.2/doc/gawk.texi --- gawk-4.0.1/doc/gawk.texi 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/doc/gawk.texi 2012-12-25 20:31:10.000000000 +0200 @@ -20,9 +20,9 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH February, 2012 +@set UPDATE-MONTH December, 2012 @set VERSION 4.0 -@set PATCHLEVEL 1 +@set PATCHLEVEL 2 @set FSF @@ -66,6 +66,15 @@ @set DARKCORNER (d.c.) @set COMMONEXT (c.e.) @end ifdocbook +@ifxml +@set DOCUMENT book +@set CHAPTER chapter +@set APPENDIX appendix +@set SECTION section +@set SUBSECTION subsection +@set DARKCORNER (d.c.) +@set COMMONEXT (c.e.) +@end ifxml @ifplaintext @set DOCUMENT book @set CHAPTER chapter @@ -3055,6 +3064,9 @@ @cindex @code{-b} option @cindex @code{--characters-as-bytes} option Cause @command{gawk} to treat all input data as single-byte characters. +In addition, all output written with @code{print} or @code{printf} +are treated as single-byte characters. + Normally, @command{gawk} follows the POSIX standard and attempts to process its input data according to the current locale. This can often involve converting multibyte characters into wide characters (internally), and @@ -5244,16 +5256,22 @@ This sets @code{RS} to @samp{/} before processing @file{BBS-list}. Using an unusual character such as @samp{/} for the record separator -produces correct behavior in the vast majority of cases. However, -the following (extreme) pipeline prints a surprising @samp{1}: +produces correct behavior in the vast majority of cases. + +There is one unusual case, that occurs when @command{gawk} is +being fully POSIX-compliant (@pxref{Options}). +Then, the following (extreme) pipeline prints a surprising @samp{1}: @example -$ echo | awk 'BEGIN @{ RS = "a" @} ; @{ print NF @}' +$ echo | gawk --posix 'BEGIN @{ RS = "a" @} ; @{ print NF @}' @print{} 1 @end example There is one field, consisting of a newline. The value of the built-in variable @code{NF} is the number of fields in the current record. +(In the normal case, @command{gawk} treats the newline as whitespace, +printing @samp{0} as the result. Most other versions of @command{awk} +also act this way.) @cindex dark corner, input files Reaching the end of an input file terminates the current input record, @@ -7168,6 +7186,34 @@ It is worth noting that those variants which do not use redirection can cause @code{FILENAME} to be updated if they cause @command{awk} to start reading a new input file. + +@item +If the variable being assigned is an expression with side effects, +different versions of @command{awk} behave differently upon encountering +end-of-file. Some versions don't evaluate the expression; many versions +(including @command{gawk}) do. Here is an example, due to Duncan Moore: + +@ignore +Date: Sun, 01 Apr 2012 11:49:33 +0100 +From: Duncan Moore +@end ignore + +@example +BEGIN @{ + system("echo 1 > f") + while ((getline a[++c] < "f") > 0) @{ @} + print c +@} +@end example + +@noindent +Here, the side effect is the @samp{++c}. Is @code{c} incremented if +end of file is encountered, before the element in @code{a} is assigned? + +@command{gawk} treats @code{getline} like a function call, and evaluates +the expression @samp{a[++c]} before attempting to read from @file{f}. +Other versions of @command{awk} only evaluate the expression once they +know that there is a string value to be assigned. Caveat Emptor. @end itemize @node Getline Summary @@ -12109,44 +12155,46 @@ first rule in the program. @node Nextfile Statement -@subsection Using @command{gawk}'s @code{nextfile} Statement +@subsection The @code{nextfile} Statement @cindex @code{nextfile} statement @cindex differences in @command{awk} and @command{gawk}, @code{next}/@code{nextfile} statements @cindex common extensions, @code{nextfile} statement @cindex extensions, common@comma{} @code{nextfile} statement -@command{gawk} provides the @code{nextfile} statement, -which is similar to the @code{next} statement. @value{COMMONEXT} +The @code{nextfile} statement +is similar to the @code{next} statement. However, instead of abandoning processing of the current record, the -@code{nextfile} statement instructs @command{gawk} to stop processing the +@code{nextfile} statement instructs @command{awk} to stop processing the current @value{DF}. -The @code{nextfile} statement is a @command{gawk} extension. -In most other @command{awk} implementations, -or if @command{gawk} is in compatibility mode -(@pxref{Options}), -@code{nextfile} is not special. - Upon execution of the @code{nextfile} statement, -any @code{ENDFILE} rules are executed except in the case as -mentioned below, @code{FILENAME} is +@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 +@code{FNR} is reset to one, +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. An exception to this is -when the @code{nextfile} is invoked during execution of any statement in an +when @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. -Normally, in order to move on to the next @value{DF}, a program -has to continue scanning the unwanted records. The @code{nextfile} +Without @code{nextfile}, +in order to move on to the next @value{DF}, a program +would have to continue scanning the unwanted records. The @code{nextfile} statement accomplishes this much more efficiently. -In addition, @code{nextfile} is useful inside a @code{BEGINFILE} +In @command{gawk}, execution of @code{nextfile} causes additional things +to happen: +any @code{ENDFILE} rules are executed except in the case as +mentioned below, +@code{ARGIND} is incremented, +and +any @code{BEGINFILE} rules are executed +(@code{ARGIND} hasn't been introduced yet. @xref{Built-in Variables}.) + +With @command{gawk}, @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. In this case, @code{ENDFILE} rules are not executed. @xref{BEGINFILE/ENDFILE}. @@ -12157,6 +12205,13 @@ opened with redirections. It is not related to the main processing that @command{awk} does with the files listed in @code{ARGV}. +@quotation NOTE +For many years, @code{nextfile} was a +@command{gawk} extension. As of September, 2012, it was accepted for +inclusion into the POSIX standard. +See @uref{http://austingroupbugs.net/view.php?id=607, the Austin Group website}. +@end quotation + @cindex functions, user-defined, @code{next}/@code{nextfile} statements and @cindex @code{nextfile} statement, user-defined functions and The current version of the Brian Kernighan's @command{awk} (@pxref{Other @@ -13618,21 +13673,28 @@ @cindex deleting entire arrays @cindex differences in @command{awk} and @command{gawk}, array elements, deleting All the elements of an array may be deleted with a single statement -@value{COMMONEXT} by leaving off the subscript in the @code{delete} statement, as follows: + @example delete @var{array} @end example -This ability is a @command{gawk} extension; it is not available in -compatibility mode (@pxref{Options}). - Using this version of the @code{delete} statement is about three times more efficient than the equivalent loop that deletes each element one at a time. +@quotation NOTE +For many years, +using @code{delete} without a subscript was a @command{gawk} extension. +As of September, 2012, it was accepted for +inclusion into the POSIX standard. See @uref{http://austingroupbugs.net/view.php?id=544, +the Austin Group website}. This form of the @code{delete} statement is also supported +by Brian Kernighan's @command{awk} and @command{mawk}, as well as +by a number of other implementations (@pxref{Other Versions}). +@end quotation + @cindex portability, deleting array elements @cindex Brennan, Michael The following statement provides a portable but nonobvious way to clear @@ -15453,7 +15515,7 @@ @cindex extensions, common@comma{} @code{fflush()} function Flush any buffered output associated with @var{filename}, which is either a file opened for writing or a shell command for redirecting output to -a pipe or coprocess. @value{COMMONEXT}. +a pipe or coprocess. @cindex portability, @code{fflush()} function and @cindex buffers, flushing @@ -15470,23 +15532,35 @@ @command{gawk} to flush its buffers. @code{fflush()} was added to Brian Kernighan's -version of @command{awk} in 1994; it is not part of the POSIX standard and is -not available if @option{--posix} has been specified on the -command line (@pxref{Options}). - -@cindex @command{gawk}, @code{fflush()} function in -@command{gawk} extends the @code{fflush()} function in two ways. The first -is to allow no argument at all. In this case, the buffer for the -standard output is flushed. The second is to allow the null string -(@w{@code{""}}) as the argument. In this case, the buffers for -@emph{all} open output files and pipes are flushed. -Brian Kernighan's @command{awk} also supports these extensions. +version of @command{awk} in 1994. +For over two decades, it was not part of the POSIX standard. +As of December, 2012, it was accepted for +inclusion into the POSIX standard. +See @uref{http://austingroupbugs.net/view.php?id=634, the Austin Group website}. + +POSIX standardizes @code{fflush()} as follows: If there +is no argument, or if the argument is the null string (@w{@code{""}}), +then @command{awk} flushes the buffers for @emph{all} open output files +and pipes. + +@quotation NOTE +Prior to version 4.0.2, @command{gawk} +would flush only the standard output if there was no argument, +and flush all output files and pipes if the argument was the null +string. This was changed in order to be compatible with Brian +Kernighan's @command{awk}, in the hope that standardizing this +feature in POSIX would then be easier (which indeed helped). + +With @command{gawk}, +you can use @samp{fflush("/dev/stdout")} if you wish to flush +only the standard output. +@end quotation @c @cindex automatic warnings @c @cindex warnings, automatic @cindex troubleshooting, @code{fflush()} function @code{fflush()} returns zero if the buffer is successfully flushed; -otherwise, it returns @minus{}1. +otherwise, it returns non-zero (@command{gawk} returns @minus{}1). In the case where all buffers are flushed, the return value is zero only if all buffers were flushed successfully. Otherwise, it is @minus{}1, and @command{gawk} warns about the problem @var{filename}. @@ -15594,7 +15668,7 @@ @cindex output, buffering The @code{fflush()} function provides explicit control over output buffering for -individual files and pipes. However, its use is not portable to many other +individual files and pipes. However, its use is not portable to many older @command{awk} implementations. An alternative method to flush output buffers is to call @code{system()} with a null string as its argument: @@ -26453,8 +26527,6 @@ evolution of the @command{awk} language, with cross-references to other parts of the @value{DOCUMENT} where you can find more information. -@c FIXME: Try to determine whether it was 3.1 or 3.2 that had new awk. - @menu * V7/SVR3.1:: The major changes between V7 and System V Release 3.1. @@ -26691,6 +26763,7 @@ @item The @code{fflush()} built-in function for flushing buffered output (@pxref{I/O Functions}). +As of December 2012, this function is now standardized by POSIX. @ignore @item @@ -26998,7 +27071,7 @@ @item @samp{\x} Escape sequence @tab X @tab X @tab X @item @code{RS} as regexp @tab @tab X @tab X @item @code{FS} as null string @tab X @tab X @tab X -@item @file{/dev/stdin} special file @tab X @tab @tab X +@item @file{/dev/stdin} special file @tab X @tab X @tab X @item @file{/dev/stdout} special file @tab X @tab X @tab X @item @file{/dev/stderr} special file @tab X @tab X @tab X @item @code{**} and @code{**=} operators @tab X @tab @tab X @@ -27006,7 +27079,6 @@ @item @code{nextfile} statement @tab X @tab X @tab X @item @code{delete} without subscript @tab X @tab X @tab X @item @code{length()} of an array @tab X @tab @tab X -@item @code{fflush()} function @tab X @tab X @tab X @item @code{BINMODE} variable @tab @tab X @tab X @end multitable @@ -27031,7 +27103,7 @@ as working in this fashion, and in particular, would teach that the ``correct'' way to match lowercase letters was with @samp{[a-z]}, and that @samp{[A-Z]} was the ``correct'' way to match uppercase letters. -And indeed, this was true. +And indeed, this was true.@footnote{And Life was good.} The 1993 POSIX standard introduced the idea of locales (@pxref{Locales}). Since many locales include other letters besides the plain twenty-six @@ -27049,12 +27121,12 @@ In many locales, @samp{A} and @samp{a} are both less than @samp{B}. In other words, these locales sort characters in dictionary order, and @samp{[a-dx-z]} is typically not equivalent to @samp{[abcdxyz]}; -instead it might be equivalent to @samp{[aBbCcdXxYyz]}, for example. +instead it might be equivalent to @samp{[ABCXYabcdxyz]}, for example. This point needs to be emphasized: Much literature teaches that you should use @samp{[a-z]} to match a lowercase character. But on systems with non-ASCII locales, this also matched all of the uppercase characters -except @samp{Z}! This was a continuous cause of confusion, even well +except @samp{A} or @samp{Z}! This was a continuous cause of confusion, even well into the twenty-first century. To demonstrate these issues, the following example uses the @code{sub()} @@ -27090,13 +27162,16 @@ @command{gawk} was being nicely standards-compliant, and that the issue was in the user's locale. During the development of version 4.0, he modified @command{gawk} to always treat ranges in the original, -pre-POSIX fashion, unless @option{--posix} was used (@pxref{Options}). +pre-POSIX fashion, unless @option{--posix} was used (@pxref{Options}).@footnote{And +thus was born the Campain for Rational Range Interpretation (or RRI). A number +of GNU tools, such as @command{grep} and @command{sed}, have either +implemented this change, or will soon. Thanks to Karl Berry for coining the phrase +``Rational Range Interpretation.''} Fortunately, shortly before the final release of @command{gawk} 4.0, the maintainer learned that the 2008 standard had changed the definition of ranges, such that outside the @code{"C"} and @code{"POSIX"} -locales, the meaning of range expressions was -@emph{undefined}.@footnote{See +locales, the meaning of range expressions was @emph{undefined}.@footnote{See @uref{http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05, the standard} and @uref{http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap09.html#tag_21_09_03_05, its rationale}.} @@ -27488,7 +27563,8 @@ @cindex artificial intelligence@comma{} @command{gawk} and @item doc/awkforai.txt -A short article describing why @command{gawk} is a good language for +Pointers to the original draft of +a short article describing why @command{gawk} is a good language for Artificial Intelligence (AI) programming. @item doc/bc_notes @@ -27868,6 +27944,10 @@ The binary distribution may contain a separate file containing additional or more detailed installation instructions. +As of April, 2012, up to date @command{gawk} binaries for MS Windows +are available from @uref{http://sourceforge.net/projects/ezwinports/files/, +Eli Zaretskii's ports project}. + @node PC Compiling @appendixsubsubsec Compiling @command{gawk} for PC Operating Systems @@ -30872,12 +30952,15 @@ @cindex ISO @item ISO -The International Standards Organization. +The International Organization for Standardization. This organization produces international standards for many things, including programming languages, such as C and C++. In the computer arena, important standards like those for C, C++, and POSIX become both American national and ISO international standards simultaneously. This @value{DOCUMENT} refers to Standard C as ``ISO C'' throughout. +See @uref{http://www.iso.org/iso/home/about.htm, the ISO website} for more +information about the name of the organization and its language-independent +three-letter acronym. @cindex Java programming language @cindex Programming languages, Java diff -urN gawk-4.0.1/doc/macros gawk-4.0.2/doc/macros --- gawk-4.0.1/doc/macros 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/doc/macros 2012-12-15 22:01:40.000000000 +0200 @@ -1,10 +1,10 @@ .\" SSC Reference card macros .\" -.\" Copyright (C) 1996, Specialized System Consultants Inc. (SSC) +.\" Copyright (C) 1996, 2012 Specialized System Consultants Inc. (SSC) .\" .\" These macros are free software; you can redistribute them and/or modify .\" them under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or +.\" the Free Software Foundation; either version 3 of the License, or .\" (at your option) any later version. .\" .\" These macros are distributed in the hope that it will be useful, diff -urN gawk-4.0.1/doc/texinfo.tex gawk-4.0.2/doc/texinfo.tex --- gawk-4.0.1/doc/texinfo.tex 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/doc/texinfo.tex 2012-12-15 22:01:40.000000000 +0200 @@ -3,11 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2012-01-19.16} +\def\texinfoversion{2012-11-08.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +% 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -28,9 +28,9 @@ % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or -% ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see http://www.ctan.org). +% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or +% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or +% http://www.gnu.org/software/texinfo/ (the Texinfo home page) % The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. % @@ -594,7 +594,7 @@ \def\:{\spacefactor=1000 } % @* forces a line break. -\def\*{\hfil\break\hbox{}\ignorespaces} +\def\*{\unskip\hfil\break\hbox{}\ignorespaces} % @/ allows a line break. \let\/=\allowbreak @@ -887,7 +887,7 @@ \def\popthisfilestack{\errthisfilestackempty} \def\errthisfilestackempty{\errmessage{Internal error: the stack of filenames is empty.}} - +% \def\thisfile{} % @center line @@ -895,36 +895,46 @@ % \parseargdef\center{% \ifhmode - \let\next\centerH + \let\centersub\centerH \else - \let\next\centerV + \let\centersub\centerV \fi - \next{\hfil \ignorespaces#1\unskip \hfil}% + \centersub{\hfil \ignorespaces#1\unskip \hfil}% + \let\centersub\relax % don't let the definition persist, just in case } -\def\centerH#1{% - {% - \hfil\break - \advance\hsize by -\leftskip - \advance\hsize by -\rightskip - \line{#1}% - \break - }% +\def\centerH#1{{% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break +}} +% +\newcount\centerpenalty +\def\centerV#1{% + % The idea here is the same as in \startdefun, \cartouche, etc.: if + % @center is the first thing after a section heading, we need to wipe + % out the negative parskip inserted by \sectionheading, but still + % prevent a page break here. + \centerpenalty = \lastpenalty + \ifnum\centerpenalty>10000 \vskip\parskip \fi + \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi + \line{\kern\leftskip #1\kern\rightskip}% } -\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space - +% \parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment - +% \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} - +% \let\c=\comment % @paragraphindent NCHARS @@ -1107,7 +1117,7 @@ % #1 is a control sequence in which to do the replacements, % which we \xdef. \def\txiescapepdf#1{% - \ifx\pdfescapestring\relax + \ifx\pdfescapestring\thisisundefined % No primitive available; should we give a warning or log? % Many times it won't matter. \else @@ -1173,8 +1183,8 @@ % % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % % pdftex (and the PDF format) support .pdf, .png, .jpg (among % others). Let's try in that order, PDF first since if @@ -1212,8 +1222,8 @@ \else \immediate\pdfximage \fi - \ifdim \wd0 >0pt width \imagewidth \fi - \ifdim \wd2 >0pt height \imageheight \fi + \ifdim \wd0 >0pt width \pdfimagewidth \fi + \ifdim \wd2 >0pt height \pdfimageheight \fi \ifnum\pdftexversion<13 #1.\pdfimgext \else @@ -1357,12 +1367,17 @@ \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi + \addtokens{\filename}{\PP}% + \advance\filenamelength by 1 \fi \nextsp} - \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} + \def\getfilename#1{% + \filenamelength=0 + % If we don't expand the argument now, \skipspaces will get + % snagged on things like "@value{foo}". + \edef\temp{#1}% + \expandafter\skipspaces\temp|\relax + } \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else @@ -1459,9 +1474,6 @@ \def\ttsl{\setfontstyle{ttsl}} -% Default leading. -\newdimen\textleading \textleading = 13.2pt - % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. @@ -1473,6 +1485,7 @@ % can get a sort of poor man's double spacing by redefining this. \def\baselinefactor{1} % +\newdimen\textleading \def\setleading#1{% \dimen0 = #1\relax \normalbaselineskip = \baselinefactor\dimen0 @@ -1745,18 +1758,24 @@ \fi\fi -% Set the font macro #1 to the font named #2, adding on the -% specified font prefix (normally `cm'). +% Set the font macro #1 to the font named \fontprefix#2. % #3 is the font's design size, #4 is a scale factor, #5 is the CMap -% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass -% empty to omit). +% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit). +% Example: +% #1 = \textrm +% #2 = \rmshape +% #3 = 10 +% #4 = \mainmagstep +% #5 = OT1 +% \def\setfont#1#2#3#4#5{% \font#1=\fontprefix#2#3 scaled #4 \csname cmap#5\endcsname#1% } % This is what gets called when #5 of \setfont is empty. \let\cmap\gobble -% emacs-page end of cmaps +% +% (end of cmaps) % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix @@ -1766,7 +1785,7 @@ \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} -\def\rmbshape{bx} %where the normal face is bold +\def\rmbshape{bx} % where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} @@ -1781,8 +1800,7 @@ \def\scshape{csc} \def\scbshape{csc} -% Definitions for a main text size of 11pt. This is the default in -% Texinfo. +% Definitions for a main text size of 11pt. (The default in Texinfo.) % \def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). @@ -1907,7 +1925,7 @@ \textleading = 13.2pt % line spacing for 11pt CM \textfonts % reset the current fonts \rm -} % end of 11pt text font size definitions +} % end of 11pt text font size definitions, \definetextfontsizexi % Definitions to make the main text be 10pt Computer Modern, with @@ -2039,7 +2057,7 @@ \textleading = 12pt % line spacing for 10pt CM \textfonts % reset the current fonts \rm -} % end of 10pt text font size definitions +} % end of 10pt text font size definitions, \definetextfontsizex % We provide the user-level command @@ -2254,8 +2272,6 @@ \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} - -\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} } \let\markupsetuplqcode \markupsetcodequoteleft @@ -2264,6 +2280,9 @@ \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright % +\let\markupsetuplqkbd \markupsetcodequoteleft +\let\markupsetuprqkbd \markupsetcodequoteright +% \let\markupsetuplqsamp \markupsetcodequoteleft \let\markupsetuprqsamp \markupsetcodequoteright % @@ -2273,8 +2292,6 @@ \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright -\let\markupsetuplqkbd \markupsetnoligaturesquoteleft - % Allow an option to not use regular directed right quote/apostrophe % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). % The undirected quote is ugly, so don't make it the default, but it @@ -2364,8 +2381,7 @@ \aftersmartic } -% like \smartslanted except unconditionally uses \ttsl, and no ic. -% @var is set to this for defun arguments. +% Unconditional use \ttsl, and no ic. @var is set to this for defuns. \def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want @@ -2430,34 +2446,12 @@ % @samp. \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} -% definition of @key that produces a lozenge. Doesn't adjust to text size. -%\setfont\keyrm\rmshape{8}{1000}{OT1} -%\font\keysy=cmsy9 -%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% -% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% -% \vbox{\hrule\kern-0.4pt -% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% -% \kern-0.4pt\hrule}% -% \kern-.06em\raise0.4pt\hbox{\angleright}}}} - -% definition of @key with no lozenge. If the current font is already -% monospace, don't change it; that way, we respect @kbdinputstyle. But -% if it isn't monospace, then use \tt. -% -\def\key#1{{\setupmarkupstyle{key}% - \nohyphenation - \ifmonospace\else\tt\fi - #1}\null} - -% ctrl is no longer a Texinfo command. -\def\ctrl #1{{\tt \rawbackslash \hat}#1} - -% @file, @option are the same as @samp. -\let\file=\samp -\let\option=\samp +% @indicateurl is \samp, that is, with quotes. +\let\indicateurl=\samp -% @code is a modification of @t, -% which makes spaces the same size as normal in the surrounding text. +% @code (and similar) prints in typewriter, but with spaces the same +% size as normal in the surrounding text, without hyphenation, etc. +% This is a subroutine for that. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. @@ -2482,7 +2476,7 @@ % We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. - +% % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) @@ -2546,6 +2540,13 @@ \fi\fi } +% For @command, @env, @file, @option quotes seem unnecessary, +% so use \code rather than \samp. +\let\command=\code +\let\env=\code +\let\file=\code +\let\option=\code + % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url @@ -2692,10 +2693,6 @@ \let\email=\uref \fi -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. -\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} - % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). @@ -2719,16 +2716,36 @@ % Default is `distinct'. \kbdinputstyle distinct +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. +\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} + \def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} +\def\kbdsub#1#2#3\par{% + \def\one{#1}\def\three{#3}\def\threex{??}% + \ifx\one\xkey\ifx\threex\three \key{#2}% + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi +} -% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. -\let\indicateurl=\code -\let\env=\code -\let\command=\code +% definition of @key that produces a lozenge. Doesn't adjust to text size. +%\setfont\keyrm\rmshape{8}{1000}{OT1} +%\font\keysy=cmsy9 +%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% +% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% +% \vbox{\hrule\kern-0.4pt +% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% +% \kern-0.4pt\hrule}% +% \kern-.06em\raise0.4pt\hbox{\angleright}}}} + +% definition of @key with no lozenge. If the current font is already +% monospace, don't change it; that way, we respect @kbdinputstyle. But +% if it isn't monospace, then use \tt. +% +\def\key#1{{\setupmarkupstyle{key}% + \nohyphenation + \ifmonospace\else\tt\fi + #1}\null} % @clicksequence{File @click{} Open ...} \def\clicksequence#1{\begingroup #1\endgroup} @@ -2836,6 +2853,9 @@ } } +% ctrl is no longer a Texinfo command, but leave this definition for fun. +\def\ctrl #1{{\tt \rawbackslash \hat}#1} + % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, % except specified as a normal braced arg, so no newlines to worry about. @@ -3126,12 +3146,17 @@ % hopefully nobody will notice/care. \edef\ecsize{\csname\curfontsize ecsize\endcsname}% \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% - \ifx\curfontstyle\bfstylename - % bold: - \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize - \else - % regular: - \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \ifmonospace + % typewriter: + \font\thisecfont = ectt\ecsize \space at \nominalsize + \else + \ifx\curfontstyle\bfstylename + % bold: + \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \else + % regular: + \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \fi \fi \thisecfont } @@ -3244,6 +3269,20 @@ \finishedtitlepagetrue } +% Settings used for typesetting titles: no hyphenation, no indentation, +% don't worry much about spacing, ragged right. This should be used +% inside a \vbox, and fonts need to be set appropriately first. Because +% it is always used for titles, nothing else, we call \rmisbold. \par +% should be specified before the end of the \vbox, since a vbox is a group. +% +\def\raggedtitlesettings{% + \rmisbold + \hyphenpenalty=10000 + \parindent=0pt + \tolerance=5000 + \ptexraggedright +} + % Macros to be used within @titlepage: \let\subtitlerm=\tenrm @@ -3251,7 +3290,7 @@ \parseargdef\title{% \checkenv\titlepage - \leftline{\titlefonts\rmisbold #1} + \vbox{\titlefonts \raggedtitlesettings #1\par}% % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt @@ -4188,7 +4227,7 @@ } \def\ifsetfail{\doignore{ifset}} -% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been +% @ifclear VAR ... @end executes the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % % The `\else' inside the `\doifset' parameter is a trick to reuse the @@ -4199,6 +4238,35 @@ \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} \def\ifclearfail{\doignore{ifclear}} +% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written +% without the @) is in fact defined. We can only feasibly check at the +% TeX level, so something like `mathcode' is going to considered +% defined even though it is not a Texinfo command. +% +\makecond{ifcommanddefined} +\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} +% +\def\doifcmddefined#1#2{{% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname #2\endcsname\relax + #1% If not defined, \let\next as above. + \fi + \expandafter + }\next +} +\def\ifcmddefinedfail{\doignore{ifcommanddefined}} + +% @ifcommandnotdefined CMD ... handled similar to @ifclear above. +\makecond{ifcommandnotdefined} +\def\ifcommandnotdefined{% + \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} +\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}} + +% Set the `txicommandconditionals' variable, so documents have a way to +% test if the @ifcommand...defined conditionals are available. +\set txicommandconditionals + % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory=\comment @@ -4435,6 +4503,7 @@ \definedummyword\guillemetright \definedummyword\guilsinglleft \definedummyword\guilsinglright + \definedummyword\lbracechar \definedummyword\leq \definedummyword\minus \definedummyword\ogonek @@ -4447,6 +4516,7 @@ \definedummyword\quoteleft \definedummyword\quoteright \definedummyword\quotesinglbase + \definedummyword\rbracechar \definedummyword\result \definedummyword\textdegree % @@ -4498,6 +4568,7 @@ \definedummyword\t % % Commands that take arguments. + \definedummyword\abbr \definedummyword\acronym \definedummyword\anchor \definedummyword\cite @@ -4509,7 +4580,9 @@ \definedummyword\emph \definedummyword\env \definedummyword\file + \definedummyword\image \definedummyword\indicateurl + \definedummyword\inforef \definedummyword\kbd \definedummyword\key \definedummyword\math @@ -4556,7 +4629,10 @@ % content at all. So for index sorting, we map @{ and @} to strings % starting with |, since that ASCII character is between ASCII { and }. \def\{{|a}% + \def\lbracechar{|a}% + % \def\}{|b}% + \def\rbracechar{|b}% % % Non-English letters. \def\AA{AA}% @@ -4732,10 +4808,9 @@ % % ..., ready, GO: % -\def\safewhatsit#1{% -\ifhmode +\def\safewhatsit#1{\ifhmode #1% -\else + \else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% @@ -4759,7 +4834,6 @@ % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: - % % @deffn deffn-whatever % @vindex index-whatever % Description. @@ -4772,8 +4846,7 @@ % (the whatsit from the \write), so we must insert a \nobreak. \nobreak\vskip\whatsitskip \fi -\fi -} +\fi} % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} @@ -5520,14 +5593,6 @@ % Define @majorheading, @heading and @subheading -% NOTE on use of \vbox for chapter headings, section headings, and such: -% 1) We use \vbox rather than the earlier \line to permit -% overlong headings to fold. -% 2) \hyphenpenalty is set to 10000 because hyphenation in a -% heading is obnoxious; this forbids it. -% 3) Likewise, headings look best if no \parindent is used, and -% if justification is not attempted. Hence \raggedright. - \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz @@ -5535,10 +5600,8 @@ \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% - {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}% - \bigskip \par\penalty 200\relax + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip \nobreak \suppressfirstparagraphindent } @@ -5697,8 +5760,7 @@ % % Typeset the actual heading. \nobreak % Avoid page breaks at the interline glue. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright - \hangindent=\wd0 \centerparametersmaybe + \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title @@ -5720,18 +5782,18 @@ \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} % \def\unnchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\ptexraggedright - \rmisbold #1\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt - \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% + \nobreak\bigskip \nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen @@ -5876,14 +5938,15 @@ % % We'll almost certainly start a paragraph next, so don't let that % glue accumulate. (Not a breakpoint because it's preceded by a - % discardable item.) + % discardable item.) However, when a paragraph is not started next + % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out + % or the negative glue will cause weirdly wrong output, typically + % obscuring the section heading with something else. \vskip-\parskip % - % This is purely so the last item on the list is a known \penalty > - % 10000. This is so \startdefun can avoid allowing breakpoints after - % section headings. Otherwise, it would insert a valid breakpoint between: - % @section sec-whatever - % @deffn def-whatever + % This is so the last item on the main vertical list is a known + % \penalty > 10000, so \startdefun, etc., can recognize the situation + % and do the needful. \penalty 10001 } @@ -6303,7 +6366,7 @@ % If this cartouche directly follows a sectioning command, we need the % \parskip glue (backspaced over by default) or the cartouche can % collide with the section heading. - \ifnum\lastpenalty>10000 \vskip\parskip \fi + \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi % \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt @@ -6496,16 +6559,9 @@ \makedispenvdef{quotation}{\quotationstart} % \def\quotationstart{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \indentedblockstart % same as \indentedblock, but increase right margin too. \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax \fi \parsearg\quotationlabel } @@ -6531,6 +6587,32 @@ \fi } +% @indentedblock is like @quotation, but indents only on the left and +% has no optional argument. +% +\makedispenvdef{indentedblock}{\indentedblockstart} +% +\def\indentedblockstart{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \exdentamount = \lispnarrowing + \else + \let\nonarrowing = \relax + \fi +} + +% Keep a nonzero parskip for the environment, since we're doing normal filling. +% +\def\Eindentedblock{% + \par + {\parskip=0pt \afterenvbreak}% +} +\def\Esmallindentedblock{\Eindentedblock} + % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, @@ -7009,7 +7091,10 @@ \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. + % want a way to get ttsl. We used to recommend @var for that, so + % leave the code in, but it's strange for @var to lead to typewriter. + % Nowadays we recommend @code, since the difference between a ttsl hyphen + % and a tt hyphen is pretty tiny. @code also disables ?` !`. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 @@ -7793,7 +7878,7 @@ \fi\fi } - +% % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed @@ -7803,16 +7888,21 @@ \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} % -\newbox\topbox +\newbox\toprefbox \newbox\printedrefnamebox +\newbox\infofilenamebox \newbox\printedmanualbox % \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces % + % Get args without leading/trailing spaces. \def\printedrefname{\ignorespaces #3}% \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% % + \def\infofilename{\ignorespaces #4}% + \setbox\infofilenamebox = \hbox{\infofilename\unskip}% + % \def\printedmanual{\ignorespaces #5}% \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% % @@ -7845,12 +7935,20 @@ \ifpdf {\indexnofonts \turnoffactive + \makevalueexpandable % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. + % etc. don't get their TeX definitions. This ignores all spaces in + % #4, including (wrongly) those in the middle of the filename. \getfilename{#4}% % + % This (wrongly) does not take account of leading or trailing + % spaces in #1, which should be ignored. \edef\pdfxrefdest{#1}% - \txiescapepdf\pdfxrefdest + \ifx\pdfxrefdest\empty + \def\pdfxrefdest{Top}% no empty targets + \else + \txiescapepdf\pdfxrefdest % escape PDF special chars + \fi % \leavevmode \startlink attr{/Border [0 0 0]}% @@ -7883,7 +7981,7 @@ \printedrefname \fi % - % if the user also gave the printed manual name (fifth arg), append + % If the user also gave the printed manual name (fifth arg), append % "in MANUALNAME". \ifdim \wd\printedmanualbox > 0pt \space \putwordin{} \cite{\printedmanual}% @@ -7898,32 +7996,20 @@ % this is a loss. Therefore, we give the text of the node name % again, so it is as if TeX is seeing it for the first time. % - % Cross-manual reference. Only include the "Section ``foo'' in" if - % the foo is neither missing or Top. Thus, @xref{,,,foo,The Foo Manual} - % outputs simply "see The Foo Manual". \ifdim \wd\printedmanualbox > 0pt - % What is the 7sp about? The idea is that we also want to omit - % the Section part if we would be printing "Top", since they are - % clearly trying to refer to the whole manual. But, this being - % TeX, we can't easily compare strings while ignoring the possible - % spaces before and after in the input. By adding the arbitrary - % 7sp, we make it much less likely that a real node name would - % happen to have the same width as "Top" (e.g., in a monospaced font). - % I hope it will never happen in practice. + % Cross-manual reference with a printed manual name. % - % For the same basic reason, we retypeset the "Top" at every - % reference, since the current font is indeterminate. + \crossmanualxref{\cite{\printedmanual\unskip}}% + % + \else\ifdim \wd\infofilenamebox > 0pt + % Cross-manual reference with only an info filename (arg 4), no + % printed manual name (arg 5). This is essentially the same as + % the case above; we output the filename, since we have nothing else. % - \setbox\topbox = \hbox{Top\kern7sp}% - \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% - \ifdim \wd2 > 7sp - \ifdim \wd2 = \wd\topbox \else - \putwordSection{} ``\printedrefname'' \putwordin{}\space - \fi - \fi - \cite{\printedmanual}% + \crossmanualxref{\code{\infofilename\unskip}}% + % \else - % Reference in this manual. + % Reference within this manual. % % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand @@ -7944,11 +8030,37 @@ % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - \fi + \fi\fi \fi \endlink \endgroup} +% Output a cross-manual xref to #1. Used just above (twice). +% +% Only include the text "Section ``foo'' in" if the foo is neither +% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply +% "see The Foo Manual", the idea being to refer to the whole manual. +% +% But, this being TeX, we can't easily compare our node name against the +% string "Top" while ignoring the possible spaces before and after in +% the input. By adding the arbitrary 7sp below, we make it much less +% likely that a real node name would have the same width as "Top" (e.g., +% in a monospaced font). Hopefully it will never happen in practice. +% +% For the same basic reason, we retypeset the "Top" at every +% reference, since the current font is indeterminate. +% +\def\crossmanualxref#1{% + \setbox\toprefbox = \hbox{Top\kern7sp}% + \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% + \ifdim \wd2 > 7sp % nonempty? + \ifdim \wd2 = \wd\toprefbox \else % same as Top? + \putwordSection{} ``\printedrefname'' \putwordin{}\space + \fi + \fi + #1% +} + % This macro is called from \xrefX for the `[nodename]' part of xref % output. It's a separate macro only so it can be changed more easily, % since square brackets don't work well in some documents. Particularly @@ -8316,7 +8428,7 @@ it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% - \ifx\epsfbox\thisiundefined + \ifx\epsfbox\thisisundefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% @@ -8340,6 +8452,13 @@ % If the image is by itself, center it. \ifvmode \imagevmodetrue + \else \ifx\centersub\centerV + % for @center @image, we need a vbox so we can have our vertical space + \imagevmodetrue + \vbox\bgroup % vbox has better behavior than vtop herev + \fi\fi + % + \ifimagevmode \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space @@ -8349,9 +8468,13 @@ \fi % % Leave vertical mode so that indentation from an enclosing - % environment such as @quotation is respected. On the other hand, if - % it's at the top level, we don't want the normal paragraph indentation. - \noindent + % environment such as @quotation is respected. + % However, if we're at the top level, we don't want the + % normal paragraph indentation. + % On the other hand, if we are in the case of @center @image, we don't + % want to start a paragraph, which will create a hsize-width box and + % eradicate the centering. + \ifx\centersub\centerV\else \noindent \fi % % Output the image. \ifpdf @@ -8363,7 +8486,10 @@ \epsfbox{#1.eps}% \fi % - \ifimagevmode \medskip \fi % space after the standalone image + \ifimagevmode + \medskip % space after a standalone image + \fi + \ifx\centersub\centerV \egroup \fi \endgroup} diff -urN gawk-4.0.1/eval.c gawk-4.0.2/eval.c --- gawk-4.0.1/eval.c 2012-03-28 21:54:19.000000000 +0200 +++ gawk-4.0.2/eval.c 2012-12-25 20:35:23.000000000 +0200 @@ -754,14 +754,14 @@ lintwarn(_("`BINMODE' is a gawk extension")); } if (do_traditional) - BINMODE = 0; + BINMODE = TEXT_TRANSLATE; else if ((BINMODE_node->var_value->flags & NUMBER) != 0) { BINMODE = (int) force_number(BINMODE_node->var_value); /* Make sure the value is rational. */ - if (BINMODE < 0) - BINMODE = 0; - else if (BINMODE > 3) - BINMODE = 3; + if (BINMODE < TEXT_TRANSLATE) + BINMODE = TEXT_TRANSLATE; + else if (BINMODE > BINMODE_BOTH) + BINMODE = BINMODE_BOTH; } else if ((BINMODE_node->var_value->flags & STRING) != 0) { v = BINMODE_node->var_value; @@ -783,13 +783,13 @@ BINMODE = p[0] - '0'; break; case 'r': - BINMODE = 1; + BINMODE = BINMODE_INPUT; break; case 'w': - BINMODE = 2; + BINMODE = BINMODE_OUTPUT; break; default: - BINMODE = 3; + BINMODE = BINMODE_BOTH; goto bad_value; break; } @@ -797,21 +797,21 @@ case 2: switch (p[0]) { case 'r': - BINMODE = 3; + BINMODE = BINMODE_BOTH; if (p[1] != 'w') goto bad_value; break; case 'w': - BINMODE = 3; + BINMODE = BINMODE_BOTH; if (p[1] != 'r') goto bad_value; break; + } break; default: bad_value: lintwarn(_("BINMODE value `%s' is invalid, treated as 3"), p); break; - } } } else @@ -1138,8 +1138,10 @@ if (n->orig_array->type == Node_var_array) fatal(_("attempt to use array `%s' in a scalar context"), array_vname(n)); - n->orig_array->type = Node_var; - n->orig_array->var_value = Nnull_string; + if (n->orig_array->type != Node_var) { + n->orig_array->type = Node_var; + n->orig_array->var_value = Nnull_string; + } /* fall through */ case Node_var_new: n->type = Node_var; @@ -1778,8 +1780,13 @@ m->vname); isparam = TRUE; save_symbol = m = GET_PARAM(m->param_cnt); - if (m->type == Node_array_ref) + if (m->type == Node_array_ref) { + if (m->orig_array->type == Node_var) { + /* gawk 'func f(x) { a = 10; print x; } BEGIN{ f(a) }' */ + goto uninitialized_scalar; + } m = m->orig_array; + } } switch (m->type) { @@ -1795,6 +1802,7 @@ break; case Node_var_new: +uninitialized_scalar: m->type = Node_var; m->var_value = Nnull_string; if (do_lint) @@ -2160,14 +2168,26 @@ t1 = force_string(*lhs); t2 = POP_STRING(); - free_wstr(*lhs); - if (t1 != t2 && t1->valref == 1 && (t1->flags & PERM) == 0) { size_t nlen = t1->stlen + t2->stlen; erealloc(t1->stptr, char *, nlen + 2, "r_interpret"); memcpy(t1->stptr + t1->stlen, t2->stptr, t2->stlen); t1->stlen = nlen; t1->stptr[nlen] = '\0'; + +#if MBS_SUPPORT + if ((t1->flags & WSTRCUR) != 0 && (t2->flags & WSTRCUR) != 0) { + size_t wlen = t1->wstlen + t2->wstlen; + + erealloc(t1->wstptr, wchar_t *, + sizeof(wchar_t) * (wlen + 2), "r_interpret"); + memcpy(t1->wstptr + t1->wstlen, t2->wstptr, t2->wstlen); + t1->wstlen = wlen; + t1->wstptr[wlen] = L'\0'; + t1->flags |= WSTRCUR; + } else + free_wstr(*lhs); +#endif } else { size_t nlen = t1->stlen + t2->stlen; char *p; diff -urN gawk-4.0.1/ext.c gawk-4.0.2/ext.c --- gawk-4.0.1/ext.c 2012-03-28 21:52:50.000000000 +0200 +++ gawk-4.0.2/ext.c 2012-12-25 20:35:23.000000000 +0200 @@ -229,8 +229,15 @@ t = GET_PARAM(i); - if (t->type == Node_array_ref) + if (t->type == Node_array_ref) { + if (t->orig_array->type == Node_var) { + /* already a scalar, can no longer use it as array */ + t->type = Node_var; + t->var_value = Nnull_string; + return t; + } return t->orig_array; /* Node_var_new or Node_var_array */ + } if (t->type == Node_var_new || t->type == Node_var_array) return t; return t->var_value; diff -urN gawk-4.0.1/extension/ChangeLog gawk-4.0.2/extension/ChangeLog --- gawk-4.0.1/extension/ChangeLog 2012-03-28 22:02:17.000000000 +0200 +++ gawk-4.0.2/extension/ChangeLog 2012-12-25 20:37:17.000000000 +0200 @@ -1,3 +1,7 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/getopt.c gawk-4.0.2/getopt.c --- gawk-4.0.1/getopt.c 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/getopt.c 2012-12-03 23:03:00.000000000 +0200 @@ -58,7 +58,7 @@ /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ -#if defined (__GNU_LIBRARY__) || defined (__CYGWIN__) || defined(DJGPP) +#if defined (__GNU_LIBRARY__) || defined (__CYGWIN__) || defined(__DJGPP__) /* Don't include stdlib.h for * non-GNU C libraries * non-Cygwin diff -urN gawk-4.0.1/io.c gawk-4.0.2/io.c --- gawk-4.0.1/io.c 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/io.c 2012-12-25 20:31:10.000000000 +0200 @@ -233,12 +233,12 @@ { switch (mode[0]) { case 'r': - if ((BINMODE & 1) != 0) + if ((BINMODE & BINMODE_INPUT) != 0) mode = "rb"; break; case 'w': case 'a': - if ((BINMODE & 2) != 0) + if ((BINMODE & BINMODE_OUTPUT) != 0) mode = (mode[0] == 'w' ? "wb" : "ab"); break; } @@ -1017,7 +1017,7 @@ } } else if ((rp->flag & (RED_PIPE|RED_WRITE)) == (RED_PIPE|RED_WRITE)) { /* write to pipe */ status = pclose(rp->fp); - if ((BINMODE & 1) != 0) + if ((BINMODE & BINMODE_INPUT) != 0) os_setbinmode(fileno(stdin), O_BINARY); rp->fp = NULL; @@ -1598,7 +1598,7 @@ if (! no_ptys && pty_vs_pipe(str)) { static int initialized = FALSE; static char first_pty_letter; -#ifdef HAVE_GRANTPT +#if defined(HAVE_GRANTPT) && ! defined(HAVE_POSIX_OPENPT) static int have_dev_ptmx; #endif char slavenam[32]; @@ -1615,7 +1615,7 @@ if (! initialized) { initialized = TRUE; -#ifdef HAVE_GRANTPT +#if defined(HAVE_GRANTPT) && ! defined(HAVE_POSIX_OPENPT) have_dev_ptmx = (stat("/dev/ptmx", &statb) >= 0); #endif i = 0; @@ -1630,8 +1630,13 @@ } #ifdef HAVE_GRANTPT +#ifdef HAVE_POSIX_OPENPT + { + master = posix_openpt(O_RDWR|O_NOCTTY); +#else if (have_dev_ptmx) { master = open("/dev/ptmx", O_RDWR); +#endif if (master >= 0) { char *tem; @@ -2134,7 +2139,7 @@ os_restore_mode(fileno(stdin)); current = popen(cmd, binmode("r")); - if ((BINMODE & 1) != 0) + if ((BINMODE & BINMODE_INPUT) != 0) os_setbinmode(fileno(stdin), O_BINARY); if (current == NULL) return NULL; diff -urN gawk-4.0.1/m4/ChangeLog gawk-4.0.2/m4/ChangeLog --- gawk-4.0.1/m4/ChangeLog 2012-03-28 22:02:04.000000000 +0200 +++ gawk-4.0.2/m4/ChangeLog 2012-12-25 20:38:07.000000000 +0200 @@ -1,3 +1,20 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + +2012-04-27 Arnold D. Robbins + + Update to autoconf 2.69, automake 1.12. + + * codeset.m4, glibc2.m4, glibc21.m4, intdiv0.m4, intl.m4, intldir.m4, + intlmacosx.m4, intmax.m4, inttypes-pri.m4, inttypes_h.m4, lcmessage.m4, + lock.m4, longlong.m4, printf-posix.m4, size_max.m4, stdint_h.m4, + uintmax_t.m4, visibility.m4, wchar_t.m4, wint_t.m4, xsize.m4: Updated. + +2012-03-30 Arnold D. Robbins + + * noreturn.m4: New file. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/m4/codeset.m4 gawk-4.0.2/m4/codeset.m4 --- gawk-4.0.1/m4/codeset.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/codeset.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# codeset.m4 serial 2 (gettext-0.16) -dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc. +# codeset.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,14 +8,14 @@ AC_DEFUN([AM_LANGINFO_CODESET], [ - AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, + AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset], [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET); return !cs;], - am_cv_langinfo_codeset=yes, - am_cv_langinfo_codeset=no) + [am_cv_langinfo_codeset=yes], + [am_cv_langinfo_codeset=no]) ]) if test $am_cv_langinfo_codeset = yes; then - AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + AC_DEFINE([HAVE_LANGINFO_CODESET], [1], [Define if you have and nl_langinfo(CODESET).]) fi ]) diff -urN gawk-4.0.1/m4/glibc2.m4 gawk-4.0.2/m4/glibc2.m4 --- gawk-4.0.1/m4/glibc2.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/glibc2.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# glibc2.m4 serial 1 -dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. +# glibc2.m4 serial 2 +dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,22 +9,22 @@ AC_DEFUN([gt_GLIBC2], [ - AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer, - ac_cv_gnu_library_2, + AC_CACHE_CHECK([whether we are using the GNU C Library 2 or newer], + [ac_cv_gnu_library_2], [AC_EGREP_CPP([Lucky GNU user], - [ + [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif - ], - ac_cv_gnu_library_2=yes, - ac_cv_gnu_library_2=no) + ], + [ac_cv_gnu_library_2=yes], + [ac_cv_gnu_library_2=no]) ] ) - AC_SUBST(GLIBC2) + AC_SUBST([GLIBC2]) GLIBC2="$ac_cv_gnu_library_2" ] ) diff -urN gawk-4.0.1/m4/glibc21.m4 gawk-4.0.2/m4/glibc21.m4 --- gawk-4.0.1/m4/glibc21.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/glibc21.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# glibc21.m4 serial 3 -dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. +# glibc21.m4 serial 4 +dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,22 +9,22 @@ AC_DEFUN([gl_GLIBC21], [ - AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, - ac_cv_gnu_library_2_1, + AC_CACHE_CHECK([whether we are using the GNU C Library 2.1 or newer], + [ac_cv_gnu_library_2_1], [AC_EGREP_CPP([Lucky GNU user], - [ + [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif - ], - ac_cv_gnu_library_2_1=yes, - ac_cv_gnu_library_2_1=no) + ], + [ac_cv_gnu_library_2_1=yes], + [ac_cv_gnu_library_2_1=no]) ] ) - AC_SUBST(GLIBC21) + AC_SUBST([GLIBC21]) GLIBC21="$ac_cv_gnu_library_2_1" ] ) diff -urN gawk-4.0.1/m4/intdiv0.m4 gawk-4.0.2/m4/intdiv0.m4 --- gawk-4.0.1/m4/intdiv0.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/intdiv0.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# intdiv0.m4 serial 1 (gettext-0.11.3) -dnl Copyright (C) 2002 Free Software Foundation, Inc. +# intdiv0.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2002, 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -14,16 +14,27 @@ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ - AC_TRY_RUN([ + gt_cv_int_divbyzero_sigfpe= +changequote(,)dnl + case "$host_os" in + macos* | darwin[6-9]* | darwin[1-9][0-9]*) + # On MacOS X 10.2 or newer, just assume the same as when cross- + # compiling. If we were to perform the real test, 1 Crash Report + # dialog window would pop up. + case "$host_cpu" in + i[34567]86 | x86_64) + gt_cv_int_divbyzero_sigfpe="guessing yes" ;; + esac + ;; + esac +changequote([,])dnl + if test -z "$gt_cv_int_divbyzero_sigfpe"; then + AC_TRY_RUN([ #include #include static void -#ifdef __cplusplus sigfpe_handler (int sig) -#else -sigfpe_handler (sig) int sig; -#endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); @@ -50,21 +61,24 @@ nan = y / y; exit (1); } -], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, - [ - # Guess based on the CPU. - case "$host_cpu" in - alpha* | i[34567]86 | m68k | s390*) - gt_cv_int_divbyzero_sigfpe="guessing yes";; - *) - gt_cv_int_divbyzero_sigfpe="guessing no";; - esac - ]) +], [gt_cv_int_divbyzero_sigfpe=yes], [gt_cv_int_divbyzero_sigfpe=no], + [ + # Guess based on the CPU. +changequote(,)dnl + case "$host_cpu" in + alpha* | i[34567]86 | x86_64 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac +changequote([,])dnl + ]) + fi ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac - AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, + AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value], [Define if integer division by zero raises signal SIGFPE.]) ]) diff -urN gawk-4.0.1/m4/intl.m4 gawk-4.0.2/m4/intl.m4 --- gawk-4.0.1/m4/intl.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/intl.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# intl.m4 serial 3 (gettext-0.16) -dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. +# intl.m4 serial 17 (gettext-0.18) +dnl Copyright (C) 1995-2009 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -15,9 +15,9 @@ dnl Authors: dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2006. +dnl Bruno Haible , 2000-2009. -AC_PREREQ(2.52) +AC_PREREQ([2.52]) dnl Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, @@ -25,7 +25,7 @@ AC_DEFUN([AM_INTL_SUBDIR], [ AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AC_PROG_MKDIR_P])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([gt_GLIBC2])dnl @@ -33,7 +33,6 @@ AC_REQUIRE([gl_VISIBILITY])dnl AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl - AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl AC_REQUIRE([gt_TYPE_WCHAR_T])dnl AC_REQUIRE([gt_TYPE_WINT_T])dnl AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) @@ -41,14 +40,24 @@ AC_REQUIRE([gt_PRINTF_POSIX]) AC_REQUIRE([gl_GLIBC21])dnl AC_REQUIRE([gl_XSIZE])dnl + AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl AC_REQUIRE([gt_INTL_MACOSX])dnl + dnl Support for automake's --enable-silent-rules. + case "$enable_silent_rules" in + yes) INTL_DEFAULT_VERBOSITY=0;; + no) INTL_DEFAULT_VERBOSITY=1;; + *) INTL_DEFAULT_VERBOSITY=1;; + esac + AC_SUBST([INTL_DEFAULT_VERBOSITY]) + AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) ]) AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) - AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen]) + AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \ + snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). @@ -79,6 +88,12 @@ HAVE_SNPRINTF=0 fi AC_SUBST([HAVE_SNPRINTF]) + if test "$ac_cv_func_newlocale" = yes; then + HAVE_NEWLOCALE=1 + else + HAVE_NEWLOCALE=0 + fi + AC_SUBST([HAVE_NEWLOCALE]) if test "$ac_cv_func_wprintf" = yes; then HAVE_WPRINTF=1 else @@ -98,7 +113,7 @@ dnl exported variables _also_ in the static library. if test "$enable_shared" = yes; then case "$host_os" in - cygwin*) is_woe32dll=yes ;; + mingw* | cygwin*) is_woe32dll=yes ;; *) is_woe32dll=no ;; esac else @@ -107,6 +122,31 @@ WOE32DLL=$is_woe32dll AC_SUBST([WOE32DLL]) + dnl On mingw and Cygwin, we can activate special Makefile rules which add + dnl version information to the shared libraries and executables. + case "$host_os" in + mingw* | cygwin*) is_woe32=yes ;; + *) is_woe32=no ;; + esac + WOE32=$is_woe32 + AC_SUBST([WOE32]) + if test $WOE32 = yes; then + dnl Check for a program that compiles Windows resource files. + AC_CHECK_TOOL([WINDRES], [windres]) + fi + + dnl Determine whether when creating a library, "-lc" should be passed to + dnl libtool or not. On many platforms, it is required for the libtool option + dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool + dnl in the *.la files - makes it impossible to create multithreaded programs, + dnl because libtool also reorders the -lc to come before the -pthread, and + dnl this disables pthread_create() . + case "$host_os" in + hpux*) LTLIBC="" ;; + *) LTLIBC="-lc" ;; + esac + AC_SUBST([LTLIBC]) + dnl Rename some macros and functions used for locking. AH_BOTTOM([ #define __libc_lock_t gl_lock_t @@ -122,22 +162,31 @@ #define __libc_lock_lock_recursive gl_recursive_lock_lock #define __libc_lock_unlock_recursive gl_recursive_lock_unlock #define glthread_in_use libintl_thread_in_use -#define glthread_lock_init libintl_lock_init -#define glthread_lock_lock libintl_lock_lock -#define glthread_lock_unlock libintl_lock_unlock -#define glthread_lock_destroy libintl_lock_destroy -#define glthread_rwlock_init libintl_rwlock_init -#define glthread_rwlock_rdlock libintl_rwlock_rdlock -#define glthread_rwlock_wrlock libintl_rwlock_wrlock -#define glthread_rwlock_unlock libintl_rwlock_unlock -#define glthread_rwlock_destroy libintl_rwlock_destroy -#define glthread_recursive_lock_init libintl_recursive_lock_init -#define glthread_recursive_lock_lock libintl_recursive_lock_lock -#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock -#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy -#define glthread_once libintl_once -#define glthread_once_call libintl_once_call +#define glthread_lock_init_func libintl_lock_init_func +#define glthread_lock_lock_func libintl_lock_lock_func +#define glthread_lock_unlock_func libintl_lock_unlock_func +#define glthread_lock_destroy_func libintl_lock_destroy_func +#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded +#define glthread_rwlock_init_func libintl_rwlock_init_func +#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded +#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func +#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded +#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func +#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded +#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func +#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded +#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func +#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded +#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func +#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded +#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func +#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded +#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func +#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded +#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func +#define glthread_once_func libintl_once_func #define glthread_once_singlethreaded libintl_once_singlethreaded +#define glthread_once_multithreaded libintl_once_multithreaded ]) ]) @@ -174,38 +223,24 @@ AC_TRY_LINK( [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }], [], - [AC_DEFINE([HAVE_BUILTIN_EXPECT], 1, + [AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], [Define to 1 if the compiler understands __builtin_expect.])]) AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h]) AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \ - stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \ - argz_next __fsetlocking]) + stpcpy strcasecmp strdup strtoul tsearch uselocale argz_count \ + argz_stringify argz_next __fsetlocking]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built dnl on Solaris 2.5.1 to run on Solaris 2.6). dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. - gt_CHECK_DECL(feof_unlocked, [#include ]) - gt_CHECK_DECL(fgets_unlocked, [#include ]) + gt_CHECK_DECL([feof_unlocked], [#include ]) + gt_CHECK_DECL([fgets_unlocked], [#include ]) AM_ICONV - dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined, - dnl and a _NL_LOCALE_NAME macro always. - AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name, - [AC_TRY_LINK([#include -#include ], - [char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));], - gt_cv_nl_locale_name=yes, - gt_cv_nl_locale_name=no) - ]) - if test $gt_cv_nl_locale_name = yes; then - AC_DEFINE(HAVE_NL_LOCALE_NAME, 1, - [Define if you have and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.]) - fi - dnl intl/plural.c is generated from intl/plural.y. It requires bison, dnl because plural.y uses bison specific features. It requires at least dnl bison-1.26 because earlier versions generate a plural.c that doesn't @@ -243,7 +278,7 @@ dnl Check whether a function is declared. AC_DEFUN([gt_CHECK_DECL], [ - AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, + AC_CACHE_CHECK([whether $1 is declared], [ac_cv_have_decl_$1], [AC_TRY_COMPILE([$2], [ #ifndef $1 char *p = (char *) $1; diff -urN gawk-4.0.1/m4/intldir.m4 gawk-4.0.2/m4/intldir.m4 --- gawk-4.0.1/m4/intldir.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/intldir.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# intldir.m4 serial 1 (gettext-0.16) -dnl Copyright (C) 2006 Free Software Foundation, Inc. +# intldir.m4 serial 2 (gettext-0.18) +dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,7 +13,7 @@ dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. -AC_PREREQ(2.52) +AC_PREREQ([2.52]) dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) diff -urN gawk-4.0.1/m4/intlmacosx.m4 gawk-4.0.2/m4/intlmacosx.m4 --- gawk-4.0.1/m4/intlmacosx.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/intlmacosx.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# intlmacosx.m4 serial 1 (gettext-0.17) -dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. +# intlmacosx.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -19,7 +19,7 @@ [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - gt_cv_func_CFPreferencesCopyAppValue, + [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], @@ -28,11 +28,11 @@ [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], @@ -40,7 +40,7 @@ [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= diff -urN gawk-4.0.1/m4/intmax.m4 gawk-4.0.2/m4/intmax.m4 --- gawk-4.0.1/m4/intmax.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/intmax.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# intmax.m4 serial 3 (gettext-0.16) -dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. +# intmax.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 2002-2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -12,7 +12,7 @@ [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) - AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, + AC_CACHE_CHECK([for intmax_t], [gt_cv_c_intmax_t], [AC_TRY_COMPILE([ #include #include @@ -24,10 +24,10 @@ #endif ], [intmax_t x = -1; return !x;], - gt_cv_c_intmax_t=yes, - gt_cv_c_intmax_t=no)]) + [gt_cv_c_intmax_t=yes], + [gt_cv_c_intmax_t=no])]) if test $gt_cv_c_intmax_t = yes; then - AC_DEFINE(HAVE_INTMAX_T, 1, + AC_DEFINE([HAVE_INTMAX_T], [1], [Define if you have the 'intmax_t' type in or .]) fi ]) diff -urN gawk-4.0.1/m4/inttypes-pri.m4 gawk-4.0.2/m4/inttypes-pri.m4 --- gawk-4.0.1/m4/inttypes-pri.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/inttypes-pri.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,12 +1,12 @@ -# inttypes-pri.m4 serial 4 (gettext-0.16) -dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. +# inttypes-pri.m4 serial 6 (gettext-0.18) +dnl Copyright (C) 1997-2002, 2006, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -AC_PREREQ(2.52) +AC_PREREQ([2.52]) # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. @@ -16,17 +16,17 @@ AC_CHECK_HEADERS([inttypes.h]) if test $ac_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], - gt_cv_inttypes_pri_broken, + [gt_cv_inttypes_pri_broken], [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif -], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) +], [], [gt_cv_inttypes_pri_broken=no], [gt_cv_inttypes_pri_broken=yes]) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then - AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, + AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1], [Define if exists and defines unusable PRI* macros.]) PRI_MACROS_BROKEN=1 else diff -urN gawk-4.0.1/m4/inttypes_h.m4 gawk-4.0.2/m4/inttypes_h.m4 --- gawk-4.0.1/m4/inttypes_h.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/inttypes_h.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# inttypes_h.m4 serial 7 -dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. +# inttypes_h.m4 serial 9 +dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,21 +11,16 @@ AC_DEFUN([gl_AC_HEADER_INTTYPES_H], [ - if test "OS/390" = "`uname`" - then - gl_cv_header_inttypes_h=no - else - AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, - [AC_TRY_COMPILE( - [#include + AC_CACHE_CHECK([for inttypes.h], [gl_cv_header_inttypes_h], + [AC_TRY_COMPILE( + [#include #include ], - [uintmax_t i = (uintmax_t) -1; return !i;], - gl_cv_header_inttypes_h=yes, - gl_cv_header_inttypes_h=no)]) - if test $gl_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi + [uintmax_t i = (uintmax_t) -1; return !i;], + [gl_cv_header_inttypes_h=yes], + [gl_cv_header_inttypes_h=no])]) + if test $gl_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED([HAVE_INTTYPES_H_WITH_UINTMAX], [1], + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) fi ]) diff -urN gawk-4.0.1/m4/lcmessage.m4 gawk-4.0.2/m4/lcmessage.m4 --- gawk-4.0.1/m4/lcmessage.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/lcmessage.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,6 @@ -# lcmessage.m4 serial 4 (gettext-0.14.2) -dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc. +# lcmessage.m4 serial 6 (gettext-0.18) +dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation, +dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -20,11 +21,11 @@ AC_DEFUN([gt_LC_MESSAGES], [ - AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES, + AC_CACHE_CHECK([for LC_MESSAGES], [gt_cv_val_LC_MESSAGES], [AC_TRY_LINK([#include ], [return LC_MESSAGES], - gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)]) + [gt_cv_val_LC_MESSAGES=yes], [gt_cv_val_LC_MESSAGES=no])]) if test $gt_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, + AC_DEFINE([HAVE_LC_MESSAGES], [1], [Define if your file defines LC_MESSAGES.]) fi ]) diff -urN gawk-4.0.1/m4/lock.m4 gawk-4.0.2/m4/lock.m4 --- gawk-4.0.1/m4/lock.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/lock.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,254 +1,33 @@ -# lock.m4 serial 6 (gettext-0.16) -dnl Copyright (C) 2005-2006 Free Software Foundation, Inc. +# lock.m4 serial 10 (gettext-0.18) +dnl Copyright (C) 2005-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl Tests for a multithreading library to be used. -dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, -dnl USE_PTH_THREADS, USE_WIN32_THREADS -dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use -dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with -dnl libtool). -dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for -dnl programs that really need multithread functionality. The difference -dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak -dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". -dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for -dnl multithread-safe programs. - -AC_DEFUN([gl_LOCK_EARLY], -[ - AC_REQUIRE([gl_LOCK_EARLY_BODY]) -]) - -dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once. - -AC_DEFUN([gl_LOCK_EARLY_BODY], -[ - dnl Ordering constraints: This macro modifies CPPFLAGS in a way that - dnl influences the result of the autoconf tests that test for *_unlocked - dnl declarations, on AIX 5 at least. Therefore it must come early. - AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl - AC_BEFORE([$0], [gl_ARGP])dnl - - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems - dnl Check for multithreading. - AC_ARG_ENABLE(threads, -AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) -AC_HELP_STRING([--disable-threads], [build without multithread safety]), - [gl_use_threads=$enableval], - [case "$host_os" in - dnl Disable multithreading by default on OSF/1, because it interferes - dnl with fork()/exec(): When msgexec is linked with -lpthread, its child - dnl process gets an endless segmentation fault inside execvp(). - osf*) gl_use_threads=no ;; - *) gl_use_threads=yes ;; - esac - ]) - if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then - # For using : - case "$host_os" in - osf*) - # On OSF/1, the compiler needs the flag -D_REENTRANT so that it - # groks . cc also understands the flag -pthread, but - # we don't use it because 1. gcc-2.95 doesn't understand -pthread, - # 2. putting a flag into CPPFLAGS that has an effect on the linker - # causes the AC_TRY_LINK test below to succeed unexpectedly, - # leading to wrong values of LIBTHREAD and LTLIBTHREAD. - CPPFLAGS="$CPPFLAGS -D_REENTRANT" - ;; - esac - # Some systems optimize for single-threaded programs by default, and - # need special flags to disable these optimizations. For example, the - # definition of 'errno' in . - case "$host_os" in - aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; - solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; - esac - fi -]) - -dnl The guts of gl_LOCK. Needs to be expanded only once. - -AC_DEFUN([gl_LOCK_BODY], +AC_DEFUN([gl_LOCK], [ - AC_REQUIRE([gl_LOCK_EARLY_BODY]) - gl_threads_api=none - LIBTHREAD= - LTLIBTHREAD= - LIBMULTITHREAD= - LTLIBMULTITHREAD= - if test "$gl_use_threads" != no; then - dnl Check whether the compiler and linker support weak declarations. - AC_MSG_CHECKING([whether imported symbols can be declared weak]) - gl_have_weak=no - AC_TRY_LINK([extern void xyzzy (); -#pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes]) - AC_MSG_RESULT([$gl_have_weak]) - if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then - # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that - # it groks . It's added above, in gl_LOCK_EARLY_BODY. - AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no) - if test "$gl_have_pthread_h" = yes; then - # Other possible tests: - # -lpthreads (FSU threads, PCthreads) - # -lgthreads - gl_have_pthread= - # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist - # in libc. IRIX 6.5 has the first one in both libc and libpthread, but - # the second one only in libpthread, and lock.c needs it. - AC_TRY_LINK([#include ], - [pthread_mutex_lock((pthread_mutex_t*)0); - pthread_mutexattr_init((pthread_mutexattr_t*)0);], - [gl_have_pthread=yes]) - # Test for libpthread by looking for pthread_kill. (Not pthread_self, - # since it is defined as a macro on OSF/1.) - if test -n "$gl_have_pthread"; then - # The program links fine without libpthread. But it may actually - # need to link with libpthread in order to create multiple threads. - AC_CHECK_LIB(pthread, pthread_kill, - [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread - # On Solaris and HP-UX, most pthread functions exist also in libc. - # Therefore pthread_in_use() needs to actually try to create a - # thread: pthread_create from libc will fail, whereas - # pthread_create will actually create a thread. - case "$host_os" in - solaris* | hpux*) - AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], 1, - [Define if the pthread_in_use() detection is hard.]) - esac - ]) - else - # Some library is needed. Try libpthread and libc_r. - AC_CHECK_LIB(pthread, pthread_kill, - [gl_have_pthread=yes - LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread - LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) - if test -z "$gl_have_pthread"; then - # For FreeBSD 4. - AC_CHECK_LIB(c_r, pthread_kill, - [gl_have_pthread=yes - LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r - LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) - fi - fi - if test -n "$gl_have_pthread"; then - gl_threads_api=posix - AC_DEFINE([USE_POSIX_THREADS], 1, - [Define if the POSIX multithreading library can be used.]) - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then - if test $gl_have_weak = yes; then - AC_DEFINE([USE_POSIX_THREADS_WEAK], 1, - [Define if references to the POSIX multithreading library should be made weak.]) - LIBTHREAD= - LTLIBTHREAD= - fi - fi - # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the - # pthread_rwlock_* functions. - AC_CHECK_TYPE([pthread_rwlock_t], - [AC_DEFINE([HAVE_PTHREAD_RWLOCK], 1, - [Define if the POSIX multithreading library has read/write locks.])], - [], - [#include ]) - # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. - AC_TRY_COMPILE([#include ], - [#if __FreeBSD__ == 4 + AC_REQUIRE([gl_THREADLIB]) + if test "$gl_threads_api" = posix; then + # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the + # pthread_rwlock_* functions. + AC_CHECK_TYPE([pthread_rwlock_t], + [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], + [Define if the POSIX multithreading library has read/write locks.])], + [], + [#include ]) + # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. + AC_TRY_COMPILE([#include ], + [#if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x; #endif], - [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1, - [Define if the defines PTHREAD_MUTEX_RECURSIVE.])]) - fi - fi - fi - if test -z "$gl_have_pthread"; then - if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then - gl_have_solaristhread= - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lthread" - AC_TRY_LINK([#include -#include ], - [thr_self();], - [gl_have_solaristhread=yes]) - LIBS="$gl_save_LIBS" - if test -n "$gl_have_solaristhread"; then - gl_threads_api=solaris - LIBTHREAD=-lthread - LTLIBTHREAD=-lthread - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" - AC_DEFINE([USE_SOLARIS_THREADS], 1, - [Define if the old Solaris multithreading library can be used.]) - if test $gl_have_weak = yes; then - AC_DEFINE([USE_SOLARIS_THREADS_WEAK], 1, - [Define if references to the old Solaris multithreading library should be made weak.]) - LIBTHREAD= - LTLIBTHREAD= - fi - fi - fi - fi - if test "$gl_use_threads" = pth; then - gl_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_LINKFLAGS(pth) - gl_have_pth= - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lpth" - AC_TRY_LINK([#include ], [pth_self();], gl_have_pth=yes) - LIBS="$gl_save_LIBS" - if test -n "$gl_have_pth"; then - gl_threads_api=pth - LIBTHREAD="$LIBPTH" - LTLIBTHREAD="$LTLIBPTH" - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" - AC_DEFINE([USE_PTH_THREADS], 1, - [Define if the GNU Pth multithreading library can be used.]) - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then - if test $gl_have_weak = yes; then - AC_DEFINE([USE_PTH_THREADS_WEAK], 1, - [Define if references to the GNU Pth multithreading library should be made weak.]) - LIBTHREAD= - LTLIBTHREAD= - fi - fi - else - CPPFLAGS="$gl_save_CPPFLAGS" - fi - fi - if test -z "$gl_have_pthread"; then - if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then - if { case "$host_os" in - mingw*) true;; - *) false;; - esac - }; then - gl_threads_api=win32 - AC_DEFINE([USE_WIN32_THREADS], 1, - [Define if the Win32 multithreading API can be used.]) - fi - fi - fi + [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1], + [Define if the defines PTHREAD_MUTEX_RECURSIVE.])]) fi - AC_MSG_CHECKING([for multithread API to use]) - AC_MSG_RESULT([$gl_threads_api]) - AC_SUBST(LIBTHREAD) - AC_SUBST(LTLIBTHREAD) - AC_SUBST(LIBMULTITHREAD) - AC_SUBST(LTLIBMULTITHREAD) -]) - -AC_DEFUN([gl_LOCK], -[ - AC_REQUIRE([gl_LOCK_EARLY]) - AC_REQUIRE([gl_LOCK_BODY]) gl_PREREQ_LOCK ]) @@ -256,56 +35,3 @@ AC_DEFUN([gl_PREREQ_LOCK], [ AC_REQUIRE([AC_C_INLINE]) ]) - -dnl Survey of platforms: -dnl -dnl Platform Available Compiler Supports test-lock -dnl flavours option weak result -dnl --------------- --------- --------- -------- --------- -dnl Linux 2.4/glibc posix -lpthread Y OK -dnl -dnl GNU Hurd/glibc posix -dnl -dnl FreeBSD 5.3 posix -lc_r Y -dnl posix -lkse ? Y -dnl posix -lpthread ? Y -dnl posix -lthr Y -dnl -dnl FreeBSD 5.2 posix -lc_r Y -dnl posix -lkse Y -dnl posix -lthr Y -dnl -dnl FreeBSD 4.0,4.10 posix -lc_r Y OK -dnl -dnl NetBSD 1.6 -- -dnl -dnl OpenBSD 3.4 posix -lpthread Y OK -dnl -dnl MacOS X 10.[123] posix -lpthread Y OK -dnl -dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK -dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK -dnl -dnl HP-UX 11 posix -lpthread N (cc) OK -dnl Y (gcc) -dnl -dnl IRIX 6.5 posix -lpthread Y 0.5 -dnl -dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK -dnl -dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK -dnl -lpthread (gcc) Y -dnl -dnl Cygwin posix -lpthread Y OK -dnl -dnl Any of the above pth -lpth 0.0 -dnl -dnl Mingw win32 N OK -dnl -dnl BeOS 5 -- -dnl -dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is -dnl turned off: -dnl OK if all three tests terminate OK, -dnl 0.5 if the first test terminates OK but the second one loops endlessly, -dnl 0.0 if the first test already loops endlessly. diff -urN gawk-4.0.1/m4/longlong.m4 gawk-4.0.2/m4/longlong.m4 --- gawk-4.0.1/m4/longlong.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/longlong.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# longlong.m4 serial 8 -dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. +# longlong.m4 serial 14 +dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -7,42 +7,100 @@ dnl From Paul Eggert. # Define HAVE_LONG_LONG_INT if 'long long int' works. -# This fixes a bug in Autoconf 2.60, but can be removed once we -# assume 2.61 everywhere. +# This fixes a bug in Autoconf 2.61, but can be removed once we +# assume 2.62 everywhere. # Note: If the type 'long long int' exists but is only 32 bits large -# (as on some very old compilers), AC_TYPE_LONG_LONG_INT will not be +# (as on some very old compilers), HAVE_LONG_LONG_INT will not be # defined. In this case you can treat 'long long int' like 'long int'. AC_DEFUN([AC_TYPE_LONG_LONG_INT], [ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], [AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - typedef int a[((-9223372036854775807LL < 0 - && 0 < 9223372036854775807ll) - ? 1 : -1)]; - int i = 63;]], - [[long long int llmax = 9223372036854775807ll; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll));]])], - [ac_cv_type_long_long_int=yes], + [_AC_TYPE_LONG_LONG_SNIPPET], + [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. + dnl If cross compiling, assume the bug isn't important, since + dnl nobody cross compiles for this platform as far as we know. + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[@%:@include + @%:@ifndef LLONG_MAX + @%:@ define HALF \ + (1LL << (sizeof (long long int) * CHAR_BIT - 2)) + @%:@ define LLONG_MAX (HALF - 1 + HALF) + @%:@endif]], + [[long long int n = 1; + int i; + for (i = 0; ; i++) + { + long long int m = n << i; + if (m >> i != n) + return 1; + if (LLONG_MAX / 2 < m) + break; + } + return 0;]])], + [ac_cv_type_long_long_int=yes], + [ac_cv_type_long_long_int=no], + [ac_cv_type_long_long_int=yes])], [ac_cv_type_long_long_int=no])]) if test $ac_cv_type_long_long_int = yes; then - AC_DEFINE([HAVE_LONG_LONG_INT], 1, + AC_DEFINE([HAVE_LONG_LONG_INT], [1], [Define to 1 if the system has the type `long long int'.]) fi ]) -# This macro is obsolescent and should go away soon. -AC_DEFUN([gl_AC_TYPE_LONG_LONG], +# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. +# This fixes a bug in Autoconf 2.61, but can be removed once we +# assume 2.62 everywhere. + +# Note: If the type 'unsigned long long int' exists but is only 32 bits +# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT +# will not be defined. In this case you can treat 'unsigned long long int' +# like 'unsigned long int'. + +AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - ac_cv_type_long_long=$ac_cv_type_long_long_int - if test $ac_cv_type_long_long = yes; then - AC_DEFINE(HAVE_LONG_LONG, 1, - [Define if you have the 'long long' type.]) + AC_CACHE_CHECK([for unsigned long long int], + [ac_cv_type_unsigned_long_long_int], + [AC_LINK_IFELSE( + [_AC_TYPE_LONG_LONG_SNIPPET], + [ac_cv_type_unsigned_long_long_int=yes], + [ac_cv_type_unsigned_long_long_int=no])]) + if test $ac_cv_type_unsigned_long_long_int = yes; then + AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], + [Define to 1 if the system has the type `unsigned long long int'.]) fi ]) + +# Expands to a C program that can be used to test for simultaneous support +# of 'long long' and 'unsigned long long'. We don't want to say that +# 'long long' is available if 'unsigned long long' is not, or vice versa, +# because too many programs rely on the symmetry between signed and unsigned +# integer types (excluding 'bool'). +AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], +[ + AC_LANG_PROGRAM( + [[/* For now, do not test the preprocessor; as of 2007 there are too many + implementations with broken preprocessors. Perhaps this can + be revisited in 2012. In the meantime, code should not expect + #if to work with literals wider than 32 bits. */ + /* Test literals. */ + long long int ll = 9223372036854775807ll; + long long int nll = -9223372036854775807LL; + unsigned long long int ull = 18446744073709551615ULL; + /* Test constant expressions. */ + typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) + ? 1 : -1)]; + typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 + ? 1 : -1)]; + int i = 63;]], + [[/* Test availability of runtime routines for shift and division. */ + long long int llmax = 9223372036854775807ll; + unsigned long long int ullmax = 18446744073709551615ull; + return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) + | (llmax / ll) | (llmax % ll) + | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) + | (ullmax / ull) | (ullmax % ull));]]) +]) diff -urN gawk-4.0.1/m4/noreturn.m4 gawk-4.0.2/m4/noreturn.m4 --- gawk-4.0.1/m4/noreturn.m4 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/m4/noreturn.m4 2012-12-03 23:03:00.000000000 +0200 @@ -0,0 +1,38 @@ +dnl Date: Sun, 26 Feb 2012 11:31:50 -0800 +dnl From: Paul Eggert +dnl To: arnold@skeeve.com +dnl CC: bug-grep@gnu.org +dnl Subject: Re: avoid gcc 4.6.2 'may be used before set' warnings in dfa.c +dnl +dnl On 02/26/2012 01:18 AM, arnold@skeeve.com wrote: +dnl > It looks like I can just use the code as it is now in grep. I have asked +dnl > for compile failures and haven't gotten any. +dnl +dnl Sure, but the gnulib support for this is better +dnl than what's in the dfa code. It could be that +dnl your correspondents aren't using the less-common hosts +dnl or compiler warning options that gnulib is ported to. +dnl +dnl In the long run stdnoreturn.h or _Noreturn is the way to go, +dnl since they're part of the C standard. +dnl +dnl If you'd rather not create a separate file, how about if +dnl we change the dfa code to use _Noreturn instead of +dnl and noreturn, and you can put the +dnl following into your configure.ac so that config.h +dnl defines _Noreturn the same way gnulib does: + +AC_DEFUN([GAWK_AC_NORETURN],[ +AH_VERBATIM([_Noreturn], +[/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif +])]) diff -urN gawk-4.0.1/m4/po.m4 gawk-4.0.2/m4/po.m4 --- gawk-4.0.1/m4/po.m4 2010-12-22 21:09:06.000000000 +0200 +++ gawk-4.0.2/m4/po.m4 2012-12-03 23:03:00.000000000 +0200 @@ -24,7 +24,7 @@ [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AC_PROG_MKDIR_P])dnl AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that diff -urN gawk-4.0.1/m4/printf-posix.m4 gawk-4.0.2/m4/printf-posix.m4 --- gawk-4.0.1/m4/printf-posix.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/printf-posix.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# printf-posix.m4 serial 2 (gettext-0.13.1) -dnl Copyright (C) 2003 Free Software Foundation, Inc. +# printf-posix.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 2003, 2007, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -27,17 +27,18 @@ return (strcmp (buf, "55 33") != 0); }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, [ - AC_EGREP_CPP(notposix, [ -#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ + AC_EGREP_CPP([notposix], [ +#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ notposix #endif - ], gt_cv_func_printf_posix="guessing no", - gt_cv_func_printf_posix="guessing yes") + ], + [gt_cv_func_printf_posix="guessing no"], + [gt_cv_func_printf_posix="guessing yes"]) ]) ]) case $gt_cv_func_printf_posix in *yes) - AC_DEFINE(HAVE_POSIX_PRINTF, 1, + AC_DEFINE([HAVE_POSIX_PRINTF], [1], [Define if your printf() function supports format strings with positions.]) ;; esac diff -urN gawk-4.0.1/m4/size_max.m4 gawk-4.0.2/m4/size_max.m4 --- gawk-4.0.1/m4/size_max.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/size_max.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# size_max.m4 serial 5 -dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. +# size_max.m4 serial 9 +dnl Copyright (C) 2003, 2005-2006, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -8,10 +8,9 @@ AC_DEFUN([gl_SIZE_MAX], [ - AC_CHECK_HEADERS(stdint.h) + AC_CHECK_HEADERS([stdint.h]) dnl First test whether the system already has SIZE_MAX. - AC_MSG_CHECKING([for SIZE_MAX]) - AC_CACHE_VAL([gl_cv_size_max], [ + AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [ gl_cv_size_max= AC_EGREP_CPP([Found it], [ #include @@ -21,16 +20,16 @@ #ifdef SIZE_MAX Found it #endif -], gl_cv_size_max=yes) +], [gl_cv_size_max=yes]) if test -z "$gl_cv_size_max"; then dnl Define it ourselves. Here we assume that the type 'size_t' is not wider dnl than the type 'unsigned long'. Try hard to find a definition that can dnl be used in a preprocessor #if, i.e. doesn't contain a cast. - _AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1, + AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], [#include -#include ], size_t_bits_minus_1=) - _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint, - [#include ], fits_in_uint=) +#include ], [size_t_bits_minus_1=]) + AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], + [#include ], [fits_in_uint=]) if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then dnl Even though SIZE_MAX fits in an unsigned int, it must be of type @@ -38,7 +37,7 @@ AC_TRY_COMPILE([#include extern size_t foo; extern unsigned long foo; - ], [], fits_in_uint=0) + ], [], [fits_in_uint=0]) fi dnl We cannot use 'expr' to simplify this expression, because 'expr' dnl works only with 'long' integers in the host environment, while we @@ -54,9 +53,23 @@ fi fi ]) - AC_MSG_RESULT([$gl_cv_size_max]) if test "$gl_cv_size_max" != yes; then AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], [Define as the maximum value of type 'size_t', if the system doesn't define it.]) fi + dnl Don't redefine SIZE_MAX in config.h if config.h is re-included after + dnl . Remember that the #undef in AH_VERBATIM gets replaced with + dnl #define by AC_DEFINE_UNQUOTED. + AH_VERBATIM([SIZE_MAX], +[/* Define as the maximum value of type 'size_t', if the system doesn't define + it. */ +#ifndef SIZE_MAX +# undef SIZE_MAX +#endif]) +]) + +dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. +dnl Remove this when we can assume autoconf >= 2.61. +m4_ifdef([AC_COMPUTE_INT], [], [ + AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) diff -urN gawk-4.0.1/m4/stdint_h.m4 gawk-4.0.2/m4/stdint_h.m4 --- gawk-4.0.1/m4/stdint_h.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/stdint_h.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# stdint_h.m4 serial 6 -dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. +# stdint_h.m4 serial 8 +dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -11,21 +11,16 @@ AC_DEFUN([gl_AC_HEADER_STDINT_H], [ - if test "OS/390" = "`uname`" - then - gl_cv_header_stdint_h=no - else - AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, - [AC_TRY_COMPILE( - [#include + AC_CACHE_CHECK([for stdint.h], [gl_cv_header_stdint_h], + [AC_TRY_COMPILE( + [#include #include ], - [uintmax_t i = (uintmax_t) -1; return !i;], - gl_cv_header_stdint_h=yes, - gl_cv_header_stdint_h=no)]) - if test $gl_cv_header_stdint_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi + [uintmax_t i = (uintmax_t) -1; return !i;], + [gl_cv_header_stdint_h=yes], + [gl_cv_header_stdint_h=no])]) + if test $gl_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED([HAVE_STDINT_H_WITH_UINTMAX], [1], + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) fi ]) diff -urN gawk-4.0.1/m4/uintmax_t.m4 gawk-4.0.2/m4/uintmax_t.m4 --- gawk-4.0.1/m4/uintmax_t.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/uintmax_t.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,12 +1,12 @@ -# uintmax_t.m4 serial 9 -dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. +# uintmax_t.m4 serial 12 +dnl Copyright (C) 1997-2004, 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. -AC_PREREQ(2.13) +AC_PREREQ([2.13]) # Define uintmax_t to 'unsigned long' or 'unsigned long long' # if it is not already defined in or . @@ -16,15 +16,15 @@ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then - AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG]) - test $ac_cv_type_unsigned_long_long = yes \ + AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) + test $ac_cv_type_unsigned_long_long_int = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' - AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, + AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], [Define to unsigned long or unsigned long long if and don't define.]) else - AC_DEFINE(HAVE_UINTMAX_T, 1, + AC_DEFINE([HAVE_UINTMAX_T], [1], [Define if you have the 'uintmax_t' type in or .]) fi ]) diff -urN gawk-4.0.1/m4/visibility.m4 gawk-4.0.2/m4/visibility.m4 --- gawk-4.0.1/m4/visibility.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/visibility.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# visibility.m4 serial 1 (gettext-0.15) -dnl Copyright (C) 2005 Free Software Foundation, Inc. +# visibility.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -26,18 +26,40 @@ CFLAG_VISIBILITY= HAVE_VISIBILITY=0 if test -n "$GCC"; then + dnl First, check whether -Werror can be added to the command line, or + dnl whether it leads to an error because of some other option that the + dnl user has put into $CC $CFLAGS $CPPFLAGS. + AC_MSG_CHECKING([whether the -Werror option is usable]) + AC_CACHE_VAL([gl_cv_cc_vis_werror], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + AC_TRY_COMPILE([], [], + [gl_cv_cc_vis_werror=yes], + [gl_cv_cc_vis_werror=no]) + CFLAGS="$gl_save_CFLAGS"]) + AC_MSG_RESULT([$gl_cv_cc_vis_werror]) + dnl Now check whether visibility declarations are supported. AC_MSG_CHECKING([for simple visibility declarations]) - AC_CACHE_VAL(gl_cv_cc_visibility, [ + AC_CACHE_VAL([gl_cv_cc_visibility], [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden" + dnl We use the option -Werror and a function dummyfunc, because on some + dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning + dnl "visibility attribute not supported in this configuration; ignored" + dnl at the first function definition in every compilation unit, and we + dnl don't want to use the option in this case. + if test $gl_cv_cc_vis_werror = yes; then + CFLAGS="$CFLAGS -Werror" + fi AC_TRY_COMPILE( [extern __attribute__((__visibility__("hidden"))) int hiddenvar; extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); - extern __attribute__((__visibility__("default"))) int exportedfunc (void);], + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void) {}], [], - gl_cv_cc_visibility=yes, - gl_cv_cc_visibility=no) + [gl_cv_cc_visibility=yes], + [gl_cv_cc_visibility=no]) CFLAGS="$gl_save_CFLAGS"]) AC_MSG_RESULT([$gl_cv_cc_visibility]) if test $gl_cv_cc_visibility = yes; then diff -urN gawk-4.0.1/m4/wchar_t.m4 gawk-4.0.2/m4/wchar_t.m4 --- gawk-4.0.1/m4/wchar_t.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/wchar_t.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# wchar_t.m4 serial 1 (gettext-0.12) -dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. +# wchar_t.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2002-2003, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,11 +10,11 @@ AC_DEFUN([gt_TYPE_WCHAR_T], [ - AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, + AC_CACHE_CHECK([for wchar_t], [gt_cv_c_wchar_t], [AC_TRY_COMPILE([#include wchar_t foo = (wchar_t)'\0';], , - gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) + [gt_cv_c_wchar_t=yes], [gt_cv_c_wchar_t=no])]) if test $gt_cv_c_wchar_t = yes; then - AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) + AC_DEFINE([HAVE_WCHAR_T], [1], [Define if you have the 'wchar_t' type.]) fi ]) diff -urN gawk-4.0.1/m4/wint_t.m4 gawk-4.0.2/m4/wint_t.m4 --- gawk-4.0.1/m4/wint_t.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/wint_t.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# wint_t.m4 serial 1 (gettext-0.12) -dnl Copyright (C) 2003 Free Software Foundation, Inc. +# wint_t.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,11 +10,19 @@ AC_DEFUN([gt_TYPE_WINT_T], [ - AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, - [AC_TRY_COMPILE([#include + AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t], + [AC_TRY_COMPILE([ +/* Tru64 with Desktop Toolkit C has a bug: must be included before + . + BSD/OS 4.0.1 has a bug: , and must be included + before . */ +#include +#include +#include +#include wint_t foo = (wchar_t)'\0';], , - gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) + [gt_cv_c_wint_t=yes], [gt_cv_c_wint_t=no])]) if test $gt_cv_c_wint_t = yes; then - AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) + AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.]) fi ]) diff -urN gawk-4.0.1/m4/xsize.m4 gawk-4.0.2/m4/xsize.m4 --- gawk-4.0.1/m4/xsize.m4 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/m4/xsize.m4 2012-12-03 23:03:00.000000000 +0200 @@ -1,5 +1,5 @@ -# xsize.m4 serial 3 -dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. +# xsize.m4 serial 4 +dnl Copyright (C) 2003-2004, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,5 +9,5 @@ dnl Prerequisites of lib/xsize.h. AC_REQUIRE([gl_SIZE_MAX]) AC_REQUIRE([AC_C_INLINE]) - AC_CHECK_HEADERS(stdint.h) + AC_CHECK_HEADERS([stdint.h]) ]) diff -urN gawk-4.0.1/main.c gawk-4.0.2/main.c --- gawk-4.0.1/main.c 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/main.c 2012-12-25 20:31:10.000000000 +0200 @@ -559,9 +559,12 @@ #if MBS_SUPPORT if (do_binary) { if (do_posix) - warning(_("`--posix' overrides `--binary'")); + warning(_("`--posix' overrides `--characters-as-bytes'")); else gawk_mb_cur_max = 1; /* hands off my data! */ +#if defined(LC_ALL) + setlocale(LC_ALL, "C"); +#endif } #endif @@ -608,10 +611,10 @@ if (preassigns != NULL) efree(preassigns); - if ((BINMODE & 1) != 0) + if ((BINMODE & BINMODE_INPUT) != 0) if (os_setbinmode(fileno(stdin), O_BINARY) == -1) fatal(_("can't set binary mode on stdin (%s)"), strerror(errno)); - if ((BINMODE & 2) != 0) { + if ((BINMODE & BINMODE_OUTPUT) != 0) { if (os_setbinmode(fileno(stdout), O_BINARY) == -1) fatal(_("can't set binary mode on stdout (%s)"), strerror(errno)); if (os_setbinmode(fileno(stderr), O_BINARY) == -1) diff -urN gawk-4.0.1/mbsupport.h gawk-4.0.2/mbsupport.h --- gawk-4.0.1/mbsupport.h 2012-03-28 21:52:05.000000000 +0200 +++ gawk-4.0.2/mbsupport.h 2012-12-25 20:31:10.000000000 +0200 @@ -71,7 +71,7 @@ /* All this glop is for dfa.c. Bleah. */ -#ifndef DJGPP +#ifndef __DJGPP__ #define wchar_t char #endif @@ -81,7 +81,7 @@ #define WEOF EOF #define towupper toupper #define towlower tolower -#ifndef DJGPP +#ifndef __DJGPP__ #define btowc(x) ((int)x) #endif #define iswalnum isalnum diff -urN gawk-4.0.1/missing_d/ChangeLog gawk-4.0.2/missing_d/ChangeLog --- gawk-4.0.1/missing_d/ChangeLog 2012-03-28 22:02:30.000000000 +0200 +++ gawk-4.0.2/missing_d/ChangeLog 2012-12-25 20:36:34.000000000 +0200 @@ -1,3 +1,11 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + +2012-05-04 Arnold D. Robbins + + * snprintf.c [DJGPP]: Change to __DJGPP__. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/missing_d/gawkbool.h gawk-4.0.2/missing_d/gawkbool.h --- gawk-4.0.1/missing_d/gawkbool.h 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/missing_d/gawkbool.h 2012-12-03 23:03:00.000000000 +0200 @@ -0,0 +1,40 @@ +/* + * gawkbool.h -- replacement definitions for bool. + */ + +/* + * Copyright (C) 2012 the Free Software Foundation, Inc. + * + * This file is part of GAWK, the GNU implementation of the + * AWK Programming Language. + * + * GAWK is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GAWK is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* This stuff largely taken from the Autoconf doc. */ + +#ifndef __bool_true_false_are_defined +# ifndef HAVE__BOOL +# ifdef __cplusplus +typedef bool _Bool; +# else +# define _Bool signed char +# endif +# endif +# define bool _Bool +# define false 0 +# define true 1 +# define __bool_true_false_are_defined 1 +#endif diff -urN gawk-4.0.1/missing_d/snprintf.c gawk-4.0.2/missing_d/snprintf.c --- gawk-4.0.1/missing_d/snprintf.c 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/missing_d/snprintf.c 2012-12-25 20:31:10.000000000 +0200 @@ -86,10 +86,10 @@ if ((fd = mkstemp (tmpfilename)) < 0) return NULL; -#if ! defined(DJGPP) && ! defined(MSDOS) && ! defined(_MSC_VER) \ +#if ! defined(__DJGPP__) && ! defined(MSDOS) && ! defined(_MSC_VER) \ && ! defined(_WIN32) && ! defined(__CRTRSXNT__) && ! defined(__EMX__) \ && ! defined(__MINGW32__) && ! defined(__WIN32__) - /* If not MS, unlink after opening. */ + /* If not MS or OS/2, unlink after opening. */ unlink (tmpfilename); free(tmpfilename); tmpfilename = NULL; diff -urN gawk-4.0.1/mkinstalldirs gawk-4.0.2/mkinstalldirs --- gawk-4.0.1/mkinstalldirs 2010-10-31 12:25:52.000000000 +0200 +++ gawk-4.0.2/mkinstalldirs 2012-12-15 21:52:00.000000000 +0200 @@ -1,7 +1,7 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -scriptversion=2006-05-11.19 +scriptversion=2009-04-28.21; # UTC # Original author: Noah Friedman # Created: 1993-05-16 @@ -81,9 +81,9 @@ echo "mkdir -p -- $*" exec mkdir -p -- "$@" else - # On NextStep and OpenStep, the `mkdir' command does not + # On NextStep and OpenStep, the 'mkdir' command does not # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already + # directories to create, and then abort because '.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version @@ -157,5 +157,6 @@ # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff -urN gawk-4.0.1/pc/ChangeLog gawk-4.0.2/pc/ChangeLog --- gawk-4.0.1/pc/ChangeLog 2012-03-28 22:02:39.000000000 +0200 +++ gawk-4.0.2/pc/ChangeLog 2012-12-25 20:36:51.000000000 +0200 @@ -1,3 +1,32 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + +2012-12-23 Arnold D. Robbins + + * Makefile.tst (paramuninitglobal): New test. + +2012-11-22 Eli Zaretskii + + * Makefile.tst (jarebug): Update. + (GREP_OPTIONS): Add. + +2012-11-04 Scott Deifik + + * Makefile.tst (jarebug, charasbytes): Update. + +2012-10-28 Scott Deifik + + * Makefile.tst: Sync with mainline version. + +2012-05-06 Eli Zaretskii + + * config.sed: Update DJGPP -> __DJGPP__. + +2012-03-29 Arnold D. Robbins + + * config.h: Add definition for _Noreturn. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/pc/Makefile.tst gawk-4.0.2/pc/Makefile.tst --- gawk-4.0.1/pc/Makefile.tst 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/pc/Makefile.tst 2012-12-25 20:31:10.000000000 +0200 @@ -114,6 +114,9 @@ # MS-DOS and OS/2 use ; as a PATH delimiter PATH_SEPARATOR = ; +# Non-default GREP_OPTIONS might fail the badargs test +export GREP_OPTIONS= + # ============================================================================ # You shouldn't need to modify anything below this line. # ============================================================================ @@ -138,7 +141,7 @@ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ fstabplus funsemnl funsmnam funstack \ - getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \ + getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ gsubtst7 gsubtst8 \ hex hsprint \ @@ -148,11 +151,12 @@ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \ noparms nors nulrsend numindex numsubstr \ - octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \ - paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ + octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \ + paramdup paramres paramtyp paramuninitglobal parse1 parsefld parseme pcntplus \ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ prt1eval prtoeval \ - rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \ + rand range1 rebt8b1 redfilnm regeq regexprange regrange \ + reindops reparse \ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \ rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin sortempty splitargv splitarr splitdef \ @@ -168,7 +172,7 @@ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ - backw badargs beginfile1 beginfile2 binmode1 \ + backw badargs beginfile1 beginfile2 binmode1 charasbytes \ clos1way delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \ fwtest fwtest2 fwtest3 \ @@ -187,7 +191,7 @@ INET_TESTS = inetdayu inetdayt inetechu inetecht MACHINE_TESTS = double1 double2 fmtspcl intformat LOCALE_CHARSET_TESTS = \ - asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \ + asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \ mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc # List of the tests which should be run with --lint option: @@ -805,6 +809,22 @@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +jarebug:: + @echo $@ + @echo Expect jarebug to fail with DJGPP and MinGW. + @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +charasbytes: + @echo $@ +# @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ +# AWKPATH=$(srcdir) $(AWK) -b -f $@.awk $(srcdir)/$@.in | \ +# od -c -t x1 | sed -e 's/ */ /g' -e 's/ *$$//' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -b -v BINMODE=2 -f $@.awk $(srcdir)/$@.in | \ + od -c -t x1 | sed -e 's/ */ /g' -e 's/ *$$//' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: @@ -1128,6 +1148,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +getline5: + @echo getline5 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 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: $$? >>_$@ @@ -1365,6 +1390,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +ofs1: + @echo ofs1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + onlynl: @echo onlynl @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -1395,6 +1425,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +paramuninitglobal: + @echo paramuninitglobal + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + parse1: @echo parse1 @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -1470,6 +1505,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +regexprange: + @echo regexprange + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + regrange: @echo regrange @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff -urN gawk-4.0.1/pc/config.h gawk-4.0.2/pc/config.h --- gawk-4.0.1/pc/config.h 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/pc/config.h 2012-12-25 20:31:10.000000000 +0200 @@ -74,7 +74,7 @@ /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV -/* Define if you have the 'intmax_t' type in or . */ +/* Define to 1 if the system has the type `intmax_t'. */ #ifdef __MINGW32__ #define HAVE_INTMAX_T 1 #endif @@ -84,12 +84,6 @@ #define HAVE_INTTYPES_H 1 #endif -/* Define if exists, doesn't clash with , and - declares uintmax_t. */ -#ifdef __MINGW32__ -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 -#endif - /* Define to 1 if you have the `isascii' function. */ #ifdef __MINGW32__ #define HAVE_ISASCII 1 @@ -136,11 +130,6 @@ #define HAVE_LOCALE_H 1 #endif -/* Define if you have the 'long long' type. */ -#ifdef __MINGW32__ -#define HAVE_LONG_LONG 1 -#endif - /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT @@ -181,7 +170,7 @@ #undef HAVE_MEMSET_ULONG /* Define to 1 if you have the `mkstemp' function. */ -#ifdef DJGPP +#ifdef __DJGPP__ #define HAVE_MKSTEMP 1 #endif @@ -194,6 +183,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H +/* Define to 1 if you have the `posix_openpt' function. */ +#undef HAVE_POSIX_OPENPT + /* Define to 1 if you have the `setenv' function. */ #if defined(__MINGW32__) || defined(__DJGPP__) #define HAVE_SETENV 1 @@ -221,6 +213,9 @@ /* Define to 1 if you have the header file. */ #define HAVE_STDARG_H 1 +/* Define to 1 if stdbool.h conforms to C99. */ +#undef HAVE_STDBOOL_H + /* Define to 1 if you have the header file. */ #ifdef __GNUC__ #define HAVE_STDDEF_H 1 @@ -231,10 +226,6 @@ #define HAVE_STDINT_H 1 #endif -/* Define if exists, doesn't clash with , and declares - uintmax_t. */ -#undef HAVE_STDINT_H_WITH_UINTMAX - /* Define to 1 if you have the header file. */ #ifdef __MINGW32__ #define HAVE_STDLIB_H 1 @@ -313,7 +304,7 @@ #endif /* Define to 1 if you have the header file. */ -#if defined(DJGPP) || defined(__MINGW32__) +#if defined(__DJGPP__) || defined(__MINGW32__) #define HAVE_SYS_TIME_H 1 #endif @@ -350,27 +341,24 @@ /* Define to 1 if you have the `tzset' function. */ #define HAVE_TZSET 1 -/* Define if you have the 'uintmax_t' type in or . */ -#if defined(DJGPP) || defined(__MINGW32__) +/* Define to 1 if the system has the type `uintmax_t'. */ +#if defined(__DJGPP__) || defined(__MINGW32__) #define HAVE_UINTMAX_T 1 -#ifdef DJGPP +#ifdef __DJGPP__ #define uintmax_t unsigned long long #endif #endif /* Define to 1 if you have the header file. */ -#if defined(DJGPP) || defined(__MINGW32__) +#if defined(__DJGPP__) || defined(__MINGW32__) #define HAVE_UNISTD_H 1 #endif -/* Define if you have the 'unsigned long long' type. */ -#define HAVE_UNSIGNED_LONG_LONG 1 - /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the `usleep' function. */ -#if defined(DJGPP) || defined(__MINGW32__) +#if defined(__DJGPP__) || defined(__MINGW32__) #define HAVE_USLEEP 1 #endif @@ -412,6 +400,9 @@ #define HAVE_WINT_T 1 #endif +/* Define to 1 if the system has the type `_Bool'. */ +#undef HAVE__BOOL + /* disable lint checks */ #undef NO_LINT @@ -425,7 +416,7 @@ #define PACKAGE_NAME "GNU Awk" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU Awk 4.0.0l" +#define PACKAGE_STRING "GNU Awk 4.0.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gawk" @@ -434,7 +425,7 @@ #define PACKAGE_URL "http://www.gnu.org/software/gawk/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.0.0l" +#define PACKAGE_VERSION "4.0.2" /* Define to 1 if *printf supports %F format */ #undef PRINTF_HAS_F_FORMAT @@ -442,7 +433,7 @@ /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void -#if defined(DJGPP) || defined(__MINGW32__) +#if defined(__DJGPP__) || defined(__MINGW32__) #include #endif @@ -496,7 +487,12 @@ /* Version number of package */ -#define VERSION "4.0.0l" +#define VERSION "4.0.2" + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS @@ -507,6 +503,19 @@ /* Define to 1 if on MINIX. */ #undef _MINIX +/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE @@ -533,8 +542,9 @@ #endif #endif -/* Define to long or long long if and don't define. */ -#ifdef DJGPP +/* Define to the widest signed integer type if and do + not define. */ +#ifdef __DJGPP__ #define intmax_t long long #endif @@ -544,7 +554,7 @@ /* Define to the equivalent of the C99 'restrict' keyword, or to nothing if this is not supported. Do not define if restrict is supported directly. */ -#ifdef DJGPP +#ifdef __DJGPP__ #define restrict #endif /* Work around a bug in Sun C++: it does not support _Restrict or @@ -569,9 +579,9 @@ /* Define to `int' if doesn't define. */ #undef uid_t -/* Define to unsigned long or unsigned long long if and - don't define. */ -#ifdef DJGPP +/* Define to the widest unsigned integer type if and + do not define. */ +#ifdef __DJGPP__ #define uintmax_t unsigned long long #endif @@ -583,7 +593,7 @@ # define DEFPATH ".;c:/lib/awk;c:/gnu/lib/awk" #endif -#ifndef DJGPP +#ifndef __DJGPP__ #define HAVE_POPEN_H 1 #endif diff -urN gawk-4.0.1/pc/config.sed gawk-4.0.2/pc/config.sed --- gawk-4.0.1/pc/config.sed 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/pc/config.sed 2012-12-03 23:03:01.000000000 +0200 @@ -29,7 +29,7 @@ s/^#undef GETPGRP_VOID *$/#define GETPGRP_VOID 1/ s/^#undef GETGROUPS_T *$/#define GETGROUPS_T gid_t/ /^#undef GETPGRP_VOID$/c\ -#ifdef DJGPP\ +#ifdef __DJGPP__\ #define GETPGRP_VOID 1\ #endif s/^#undef HAVE_ALARM *$/#define HAVE_ALARM 1/ @@ -100,7 +100,7 @@ #endif s/^#undef HAVE_MEMSET *$/#define HAVE_MEMSET 1/ /^#undef HAVE_MKSTEMP *$/c\ -#ifdef DJGPP\ +#ifdef __DJGPP__\ #define HAVE_MKSTEMP 1\ #endif s/^#undef HAVE_MKTIME *$/#define HAVE_MKTIME 1/ @@ -160,7 +160,7 @@ #define HAVE_SYS_STAT_H 1\ #endif /^#undef HAVE_SYS_TIME_H *$/c\ -#if defined(DJGPP) || defined(__MINGW32__)\ +#if defined(__DJGPP__) || defined(__MINGW32__)\ #define HAVE_SYS_TIME_H 1\ #endif s/^#undef HAVE_SYS_TYPES_H *$/#define HAVE_SYS_TYPES_H 1/ @@ -175,19 +175,19 @@ s/^#undef HAVE_TZNAME *$/#define HAVE_TZNAME 1/ s/^#undef HAVE_TZSET *$/#define HAVE_TZSET 1/ /^#undef HAVE_UINTMAX_T *$/c\ -#if defined(DJGPP) || defined(__MINGW32__)\ +#if defined(__DJGPP__) || defined(__MINGW32__)\ #define HAVE_UINTMAX_T 1\ -#ifdef DJGPP\ +#ifdef __DJGPP__\ #define uintmax_t unsigned long long\ #endif\ #endif /^#undef HAVE_UNISTD_H *$/c\ -#if defined(DJGPP) || defined(__MINGW32__)\ +#if defined(__DJGPP__) || defined(__MINGW32__)\ #define HAVE_UNISTD_H 1\ #endif s/^#undef HAVE_UNSIGNED_LONG_LONG *$/#define HAVE_UNSIGNED_LONG_LONG 1/ /^#undef HAVE_USLEEP *$/c\ -#if defined(DJGPP) || defined(__MINGW32__)\ +#if defined(__DJGPP__) || defined(__MINGW32__)\ #define HAVE_USLEEP 1\ #endif s/^#undef HAVE_VPRINTF *$/#define HAVE_VPRINTF 1/ @@ -223,7 +223,7 @@ s/^#undef RETSIGTYPE *$/#define RETSIGTYPE void/ /^#.*RETSIGTYPE /a\ \ -#if defined(DJGPP) || defined(__MINGW32__)\ +#if defined(__DJGPP__) || defined(__MINGW32__)\ #include \ #endif /^#undef SIZEOF_UNSIGNED_INT *$/c\ @@ -243,15 +243,15 @@ #define inline __inline__\ #endif /^#undef intmax_t *$/c\ -#ifdef DJGPP\ +#ifdef __DJGPP__\ #define intmax_t long long\ #endif /^#undef restrict *$/c\ -#ifdef DJGPP\ +#ifdef __DJGPP__\ #define restrict\ #endif /^#undef uintmax_t *$/c\ -#ifdef DJGPP\ +#ifdef __DJGPP__\ #define uintmax_t unsigned long long\ #endif @@ -265,7 +265,7 @@ # define DEFPATH ".;c:/lib/awk;c:/gnu/lib/awk"\ #endif\ \ -#ifndef DJGPP\ +#ifndef __DJGPP__\ #define HAVE_POPEN_H 1\ #endif\ \ diff -urN gawk-4.0.1/po/ChangeLog gawk-4.0.2/po/ChangeLog --- gawk-4.0.1/po/ChangeLog 2012-03-28 22:01:57.000000000 +0200 +++ gawk-4.0.2/po/ChangeLog 2012-12-25 20:36:55.000000000 +0200 @@ -1,3 +1,7 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/po/LINGUAS gawk-4.0.2/po/LINGUAS --- gawk-4.0.1/po/LINGUAS 2011-06-08 22:11:23.000000000 +0300 +++ gawk-4.0.2/po/LINGUAS 2012-12-03 23:03:01.000000000 +0200 @@ -8,3 +8,4 @@ nl pl sv +vi diff -urN gawk-4.0.1/po/da.po gawk-4.0.2/po/da.po --- gawk-4.0.1/po/da.po 2012-03-28 22:03:46.000000000 +0200 +++ gawk-4.0.2/po/da.po 2012-12-25 20:40:13.000000000 +0200 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-02-06 10:37+0100\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" @@ -45,9 +45,9 @@ 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:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, 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 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: indeks '%s' findes ikke i array '%s'" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "forsøg på at bruge skalaren '%s[\"%.*s\"]' som array" @@ -147,383 +147,370 @@ msgid "sort comparison function `%s' is not defined" msgstr "funktionen for sorteringssammenligning '%s' er ikke defineret" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "%s-blokke skal have en handlingsdel" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "hver regel skal have et mønster eller en handlingsdel" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "" "gamle versioner af awk understøtter ikke flere 'BEGIN'- eller 'END'-regler" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "'%s' er en indbygget funktion, den kan ikke omdefineres" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "regexp-konstanten '//' ser ud som en C++-kommentar, men er det ikke" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "regexp-konstanten '/%s/' ser ud som en C-kommentar, men er det ikke" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "dublet case-værdier i switch-krop %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "dublet 'default' opdaget i switch-krop" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "'break' uden for en løkke eller switch er ikke tilladt" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "'continue' uden for en løkke er ikke tilladt" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "'next' brugt i %s-handling" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "'nextfile' er en gawk-udvidelse" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "'nextfile' brugt i %s-handling" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "'return' brugt uden for funktion" -#: awkgram.y:925 +#: awkgram.y:922 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:995 awkgram.y:999 awkgram.y:1023 -msgid "`delete array' is a gawk extension" -msgstr "'delete array' er en gawk-udvidelse" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "'delete array' er en ikke-portabel udvidelse fra tawk" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "flertrins dobbeltrettede datakanaler fungerer ikke" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "regulært udtryk i højreleddet af en tildeling" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "regulært udtryk på venstre side af en '~'- eller '!~'-operator" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 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:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "regulært udtryk i højreleddet af en sammenligning" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "'getline var' ugyldig inden i '%s' regel" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "'getline' ugyldig inden i '%s' regel" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "ikke-omdirigeret 'getline' udefineret inden i END-handling" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "gamle versioner af awk understøtter ikke flerdimensionale array" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "kald af 'length' uden parenteser er ikke portabelt" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "indirekte funktionskald er en gawk-udvidelse" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "kan ikke bruge specialvariabel '%s' til indirekte funktionskald" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "ugyldigt indeksudtryk" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "brug af ikke-array som array" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "advarsel: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "fatal: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "uventet nylinjetegn eller strengafslutning" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "kan ikke åbne kildefilen '%s' for læsning (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "ukendt årsag" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "allerede inkluderet kildefil '%s'" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include er en gawk-udvidelse" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "tomt filnavn efter @include" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "tom programtekst på kommandolinjen" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "kan ikke læse kildefilen '%s' (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "kildefilen '%s' er tom" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "kildefilen slutter ikke med en ny linje" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "uafsluttet regulært udtryk slutter med '\\' i slutningen af filen" -#: awkgram.y:2924 +#: awkgram.y:2921 #, 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:2928 +#: awkgram.y:2925 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "regex-ændringstegn '/.../%c' fra tawk virker ikke i gawk" -#: awkgram.y:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "uafsluttet regulært udtryk" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "uafsluttet regulært udtryk i slutningen af filen" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "brug af '\\ #...' for linjefortsættelse er ikke portabelt" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "sidste tegn på linjen er ikke en omvendt skråstreg" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX tillader ikke operatoren '**='" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "gamle versioner af awk understøtter ikke operatoren '**='" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX tillader ikke operatoren '**'" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "gamle versioner af awk understøtter ikke operatoren '**'" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "operatoren '^=' understøttes ikke i gamle versioner af awk" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "operatoren '^' understøttes ikke i gamle versioner af awk" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "uafsluttet streng" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "ugyldigt tegn '%c' i udtryk" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "'%s' er en gawk-udvidelse" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "'%s' er en Bell Labs-udvidelse" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX tillader ikke '%s'" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "'%s' understøttes ikke i gamle versioner af awk" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "'goto' anses for skadelig!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d er et ugyldigt antal argumenter for %s" -#: awkgram.y:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s: tredje argument er ikke et ændringsbart objekt" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: tredje argument er en gawk-udvidelse" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: andet argument er en gawk-udvidelse" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "brug af dcgettext(_\"...\") er forkert: fjern det indledende " "understregningstegn" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "brug af dcgettext(_\"...\") er forkert: fjern det indledende " "understregningstegn" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funktionen '%s': parameter %d, '%s', er samme som parameter %d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funktionen '%s': parameteren '%s' overskygger en global variabel" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "kunne ikke åbne '%s' for skrivning (%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "sender variabelliste til standard fejl" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: lukning mislykkedes (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() kaldt to gange!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "der var skyggede variable." -#: awkgram.y:4206 +#: awkgram.y:4198 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funktionen '%s': kan ikke bruge funktionsnavn som parameternavn" -#: awkgram.y:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "funktionsnavnet '%s' er allerede defineret" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "funktionen '%s' kaldt, men aldrig defineret" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "funktionen '%s' defineret, men aldrig kaldt direkte" -#: awkgram.y:4435 +#: awkgram.y:4427 #, 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:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -532,11 +519,11 @@ "funktionen '%s' kaldt med blanktegn mellem navnet og '(',\n" "eller brugt som en variabel eller et array" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "forsøgte at dividere med nul" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "forsøgte at dividere med nul i '%%'" @@ -559,200 +546,205 @@ msgid "exp: argument %g is out of range" msgstr "exp: argumentet %g er uden for det tilladte område" -#: builtin.c:200 +#: builtin.c:216 #, 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:203 +#: builtin.c:219 #, 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:215 +#: builtin.c:231 #, 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:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "indeks: første argument er ikke en streng" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "indeks: andet argument er ikke en streng" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: fik et ikke-numerisk argument" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: fik et array-argument" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "'length(array)' er en gawk-udvidelse" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: fik et argument som ikke er en streng" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: fik et ikke-numerisk argument" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: fik et negativt argument %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 msgid "fatal: must use `count$' on all formats or none" msgstr "fatal: skal bruge 'count$' på alle formater eller ikke nogen" -#: builtin.c:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "feltbredde ignoreret for '%%'-angivelse" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "præcision ignoreret for '%%'-angivelse" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "feltbredde og præcision ignoreret for '%%'-angivelse" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "fatal: '$' tillades ikke i awk-formater" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "fatal: argumentantallet med '$' skal være > 0" -#: builtin.c:830 +#: builtin.c:846 #, 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:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "fatal: '$' tillades ikke efter et punktum i formatet" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "" "fatal: intet '$' angivet for bredde eller præcision af positionsangivet felt" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "'l' er meningsløst i awk-formater, ignoreret" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "fatal: 'l' tillades ikke i POSIX awk-formater" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "'L' er meningsløst i awk-formater, ignoreret" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "fatal: 'L' tillades ikke i POSIX awk-formater" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "'h' er meningsløst i awk-formater, ignoreret" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "fatal: 'h' tillades ikke i POSIX awk-formater" -#: builtin.c:1272 +#: builtin.c:1288 #, 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:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" "ignorerer ukendt formatspecificeringstegn '%c': intet argument konverteret" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "fatal: for få argumenter til formatstrengen" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "^ sluttede her" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: formatspecifikation har intet kommandobogstav" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "for mange argumenter til formatstrengen" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: kaldt med negativt argument %g" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: ingen argumenter" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: fik ikke-numerisk argument" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: kaldt med negativt argument %g" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: længden %g er ikke >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: længden %g er ikke >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, 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:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: startindeks %g er ugyldigt, bruger 1" -#: builtin.c:1534 +#: builtin.c:1553 #, 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:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: kildestrengen er tom" -#: builtin.c:1575 +#: builtin.c:1594 #, c-format msgid "substr: start index %g is past end of string" msgstr "substr: startindeks %g er forbi slutningen på strengen" -#: builtin.c:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -760,205 +752,205 @@ "substr: længden %g ved startindeks %g overskrider længden af første argument " "(%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "strftime: formatværdi i PROCINFO[\"strftime\"] har numerisk type" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: fik et ikke-numerisk andet argument" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "strftime: andet argument mindre end 0 eller for stort til time_t" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: fik et første argument som ikke er en streng" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: fik en tom formatstreng" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: fik et argument som ikke er en streng" -#: builtin.c:1779 +#: builtin.c:1798 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:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "'system'-funktion ikke tilladt i sandkasse-tilstand" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: fik et argument som ikke er en streng" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "reference til ikke-initieret variabel '%s'" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "reference til ikke-initieret felt '$%d'" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: fik et argument som ikke er en streng" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: fik et argument som ikke er en streng" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: fik et ikke-numerisk første argument" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: fik et ikke-numerisk andet argument" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: fik et ikke-numerisk argument" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: fik et ikke-numerisk argument" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: fik et ikke-numerisk argument" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: tredje argument er ikke et array" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 0 i tredje argument behandlet som 1" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: fik et ikke-numerisk første argument" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: fik et ikke-numerisk andet argument" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): negative værdier vil give mærkelige resultater" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): kommatalsværdier vil blive trunkeret" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): for store skifteværdier vil give mærkelige resultater" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: fik et ikke-numerisk første argument" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: fik et ikke-numerisk andet argument" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): negative værdier vil give mærkelige resultater" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): kommatalsværdier vil blive trunkeret" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): for store skifteværdier vil give mærkelige resultater" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: fik et ikke-numerisk første argument" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: fik et ikke-numerisk andet argument" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): negative værdier vil give mærkelige resultater" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): kommatalsværdier vil blive trunkeret" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: fik et ikke-numerisk første argument" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: fik et ikke-numerisk andet argument" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): negative værdier vil give mærkelige resultater" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): kommatalsværdier vil blive trunkeret" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: fik et ikke-numerisk første argument" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: fik et ikke-numerisk andet argument" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): negative værdier vil give mærkelige resultater" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): kommatalsværdier vil blive trunkeret" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: fik et ikke-numerisk argument" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): negative værdier vil give mærkelige resultater" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): kommatalsværdier vil blive trunkeret" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: '%s' er ikke en gyldig lokalitetskategori" @@ -1001,7 +993,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "'BINMODE' er en gawk-udvidelse" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "BINMODE værdi '%s' er ugyldig, behandles som 3" @@ -1015,108 +1007,108 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "deaktiverer '--lint' på grund af en tildeling til 'LINT'" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "kan ikke bruge funktionsnavnet '%s' som variabel eller array" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "reference til ikke-initieret argument '%s'" -#: eval.c:1177 +#: eval.c:1179 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:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "forsøg på at referere til et felt fra tom streng" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "forsøg på at få adgang til felt %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "reference til ikke-initieret felt '$%ld'" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funktionen '%s' kaldt med flere argumenter end deklareret" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: uventet type `%s'" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "forsøgte at dividere med nul i '/='" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "forsøgte at dividere med nul i '%%='" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "forsøg på at bruge array '%s[\"%.*s\"]' i skalarsammenhæng" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "tildeling brugt i sammenligningsammenhæng" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "kommandoen har ingen effekt" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for-løkke: array '%s' ændrede størrelse fra %ld til %ld under udførelse af " "løkken" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "funktion kaldt indirekte via '%s' eksisterer ikke" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "funktionen '%s' er ikke defineret" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "ikke-omdirigeret 'getline' ugyldig inden i '%s'-regel" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "fejl ved læsning af inddatafilen '%s': %s" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "'nextfile' kan ikke kaldes fra en '%s'-regel" -#: eval.c:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "'exit' kan ikke kaldes i den aktuelle kontekst" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "'next' kan ikke kaldes fra en '%s'-regel" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Véd desværre ikke hvordan '%s' skal fortolkes" @@ -1183,29 +1175,29 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: negativt argumentantal for funktion '%s'" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funktionen '%s' defineret til at tage ikke mere end %d argumenter" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "funktion '%s': mangler argument nummer %d" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" "funktion '%s': argument nummer %d: forsøg på at bruge skalar som et array" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" "funktion '%s': argument nummer %d: forsøg på at bruge array som en skalar" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Operationen understøttes ikke" @@ -1475,7 +1467,7 @@ msgid "no explicit close of file `%s' provided" msgstr "ingen eksplicit lukning af filen '%s' angivet" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "fejl ved skrivning til standard ud (%s)" @@ -1532,96 +1524,96 @@ msgid "TCP/IP communications are not supported" msgstr "TCP/IP-kommunikation understøttes ikke" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "kunne ikke åbne '%s', tilstand '%s'" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "lukning af master-pty mislykkedes (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "lukning af standard ud i underproces mislykkedes (%s)" -#: io.c:1752 +#: io.c:1757 #, 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:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "lukning af standard ind i underproces mislykkedes (%s)" -#: io.c:1757 +#: io.c:1762 #, 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:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "lukning af slave-pty mislykkedes (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, 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:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, 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:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "genskabelse af standard ud i forælderprocessen mislykkedes\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "genskabelse af standard ind i forælderprocessen mislykkedes\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "lukning af datakanalen mislykkedes (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "'|&' understøttes ikke" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "kan ikke åbne datakanalen '%s' (%s)" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "kan ikke oprette barneproces for '%s' (fork: %s)" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "datafilen '%s' er tom" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "kunne ikke allokere mere hukommelse til inddata" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "'RS' som flertegnsværdi er en gawk-udvidelse" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "IPv6-kommunikation understøttes ikke" @@ -1665,139 +1657,140 @@ msgstr "at køre %s setuid root kan være et sikkerhedsproblem" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "'--posix' tilsidesætter '--binary'" -#: main.c:613 +#: main.c:616 #, 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:619 #, 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:621 #, 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:660 msgid "no program text at all!" msgstr "ingen programtekst overhovedet!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Brug: %s [flag i POSIX- eller GNU-stil] -f progfil [--] fil ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Brug: %s [flag i POSIX- eller GNU-stil] %cprogram%c fil ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX-flag:\t\tlange GNU-flag: (standard)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f progfil\t\t--file=progfil\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=værdi\t\t--assign=var=værdi\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "POSIX-flag:\t\tlange GNU-flag: (udvidelser)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[fil]\t\t--dump-variables[=fil]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'programtekst'\t--source='programtekst'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E fil\t\t\t--exec=fil\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[fil]\t\t--profile[=fil]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R file\t\t\t--command=fil\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1806,7 +1799,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1819,7 +1812,7 @@ "\n" "Rapportér kommentarer til oversættelsen til .\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1829,7 +1822,7 @@ "Almindeligvis læser gawk fra standard ind og skriver til standard ud.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1839,7 +1832,7 @@ "\tgawk '{ sum += $1 }; END { print sum }' fil\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1859,7 +1852,7 @@ "enhver senere version.\n" "\n" -#: main.c:815 +#: main.c:818 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 +1866,7 @@ "General Public License for yderligere information.\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1881,16 +1874,16 @@ "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:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft sætter ikke FS til tab i POSIX-awk" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "ukendt værdi for felt-spec: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1899,48 +1892,48 @@ "%s: '%s' argument til '-v' ikke på formen 'var=værdi'\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "'%s' er ikke et gyldigt variabelnavn" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "kan ikke bruge gawk's indbyggede '%s' som variabelnavn" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "kan ikke bruge funktion '%s' som variabelnavn" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "flydendetalsundtagelse" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "fatal fejl: intern fejl" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "fatal fejl: intern fejl: segmentfejl" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "fatal fejl: intern fejl: stakoverløb" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "ingen fd %d åbnet i forvejen" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "kunne ikke i forvejen åbne /dev/null for fd %d" @@ -2136,6 +2129,15 @@ msgid "No previous regular expression" msgstr "Intet foregående regulært udtryk" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "'%s' er en Bell Labs-udvidelse" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "'nextfile' er en gawk-udvidelse" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "'delete array' er en gawk-udvidelse" + #~ msgid "could not find groups: %s" #~ msgstr "kunne ikke finde grupper: %s" diff -urN gawk-4.0.1/po/de.po gawk-4.0.2/po/de.po --- gawk-4.0.1/po/de.po 2012-03-28 22:03:46.000000000 +0200 +++ gawk-4.0.2/po/de.po 2012-12-25 20:40:13.000000000 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-01-30 16:21+0100\n" "Last-Translator: Philipp Thomas \n" "Language-Team: German \n" @@ -41,9 +41,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "Es wird versucht, den Skalar »%s« als Array zu verwenden" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "Es wird versucht, das Feld »%s« in einem Skalarkontext zu verwenden" @@ -63,7 +63,7 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: Index »%s« ist in Feld »%s« nicht vorhanden" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "Es wird versucht, den Skalar »%s[\"%.*s\"]« als Feld zu verwenden" @@ -147,395 +147,382 @@ msgid "sort comparison function `%s' is not defined" msgstr "Die Vergleichsfunktion »%s« für das Sortieren ist nicht definiert" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "%s-Blöcke müssen einen Aktionsteil haben" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "Jede Regel muss entweder ein Muster oder einen Aktionsteil haben" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "Das alte awk erlaubt keine mehrfachen »BEGIN«- oder »END«-Regeln" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "»%s« ist eine eingebaute Funktion und kann nicht umdefiniert werden" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "Die Regulärer-Ausdruck-Konstante »//« sieht wie ein C-Kommentar aus, ist " "aber keiner" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "Die Regulärer-Ausdruck-Konstante »/%s/« sieht wie ein C-Kommentar aus, ist " "aber keiner" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "doppelte Case-Werte im Switch-Block: %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "doppeltes »default« im Switch-Block gefunden" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "" "»break« ist außerhalb einer Schleife oder eines Switch-Blocks nicht zulässig" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "»continue« ist außerhalb einer Schleife nicht zulässig" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "»next« wird in %s-Aktion verwendet" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "»nextfile« ist eine gawk-Erweiterung" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "»nextfile« wird in %s-Aktion verwendet" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "»return« wird außerhalb einer Funktion verwendet" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "Einfaches »print« in BEGIN- oder END-Regel soll vermutlich »print \"\"« sein" -#: awkgram.y:995 awkgram.y:999 awkgram.y:1023 -msgid "`delete array' is a gawk extension" -msgstr "»delete array« ist eine gawk-Erweiterung" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "»delete(array)« ist eine gawk-Erweiterung" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "mehrstufige Zweiwege-Pipes funktionieren nicht" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "Regulärer Ausdruck auf der rechten Seite einer Zuweisung" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "Regulärer Ausdruck links vom »~«- oder »!~«-Operator" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "Das alte awk unterstützt das Schlüsselwort »in« nur nach »for«" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "Regulärer Ausdruck rechts von einem Vergleich" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "»getline var« ist ungültig innerhalb der »%s«-Regel" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "»getline« ist ungültig innerhalb der »%s«-Regel" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "" "Nicht-umgelenktes »getline« ist innerhalb der END-Aktion nicht definiert" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "Das alte awk unterstützt keine mehrdimensionalen Felder" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "Aufruf von »length« ohne Klammern ist nicht portabel" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "indirekte Funktionsaufrufe sind eine gawk-Erweiterung" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" "die besondere Variable »%s« kann nicht für den indirekten Funktionsaufruf " "verwendet werden" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "Ungültiger Index-Ausdruck" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "Verwendung eines Nicht-Feldes als Feld" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "Warnung: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "Fatal: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "Unerwarteter Zeilenumbruch oder Ende der Zeichenkette" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "Quelldatei »%s« kann nicht zum Lesen geöffnet werden (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "Unbekannte Ursache" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "Quelldatei »%s« wurde bereits eingebunden" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "»@include« ist eine gawk-Erweiterung" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "leerer Dateiname nach @include" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "Kein Programmtext auf der Kommandozeile" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "Die Quelldatei »%s« kann nicht gelesen werden (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "Die Quelldatei »%s« ist leer" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "Die Quelldatei hört nicht mit einem Zeilenende auf" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "" "Nicht beendeter regulärer Ausdruck (hört mit '\\' auf) am Ende der Datei" -#: awkgram.y:2924 +#: awkgram.y:2921 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "%s: %d: der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert " "nicht in gawk" -#: awkgram.y:2928 +#: awkgram.y:2925 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "Der tawk-Modifizierer für reguläre Ausdrücke »/.../%c« funktioniert nicht in " "gawk" -#: awkgram.y:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "Nicht beendeter regulärer Ausdruck" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "Nicht beendeter regulärer Ausdruck am Dateiende" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "" "Die Verwendung von »\\#...« zur Fortsetzung von Zeilen ist nicht portabel" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "das letzte Zeichen auf der Zeile ist kein Backslash (»\\«)" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX erlaubt den Operator »**=« nicht" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "Das alte awk unterstützt den Operator »**=« nicht" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX erlaubt den Operator »**« nicht" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "Das alte awk unterstützt den Operator »**« nicht" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "Das alte awk unterstützt den Operator »^=« nicht" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "Das alte awk unterstützt den Operator »^« nicht" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "Nicht beendete Zeichenkette" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "Ungültiges Zeichen »%c« in einem Ausdruck" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "»%s« ist eine gawk-Erweiterung" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "»%s« ist eine Erweiterung der Bell Labs" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX erlaubt »%s« nicht" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "»%s« wird im alten awk nicht unterstützt" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "»goto« gilt als schlechter Stil!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "Unzulässige Argumentzahl %d für %s" -#: awkgram.y:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "Der dritte Parameter von %s ist ein unveränderliches Objekt" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: Das dritte Argument ist eine gawk-Erweiterung" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: Das zweite Argument ist eine gawk-Erweiterung" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "Fehlerhafte Verwendung von dcgettext(_\"...\"): \n" "Entfernen Sie den führenden Unterstrich" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "Fehlerhafte Verwendung von dcngettext(_\"...\"): \n" "Entfernen Sie den führenden Unterstrich" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "Funktion »%s«: Parameter #%d, »%s« wiederholt Parameter #%d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "Funktion »%s«: Parameter »%s« verdeckt eine globale Variable" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "»%s« kann nicht zum Schreiben geöffne werden(%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "Die Liste der Variablen wird auf der Standardfehlerausgabe ausgegeben" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: close ist gescheitert (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() zweimal aufgerufen!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "es sind verdeckte Variablen vorhanden" -#: awkgram.y:4206 +#: awkgram.y:4198 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "Funktion »%s«: Funktionsnamen können nicht als Parameternamen benutzen" -#: awkgram.y:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "Funktion »%s« wurde bereits definiert" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "Aufgerufene Funktion »%s« ist nirgends definiert" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "Funktion »%s« wurde definiert aber nirgends aufgerufen" -#: awkgram.y:4435 +#: awkgram.y:4427 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "Regulärer-Ausdruck-Konstante für Parameter #%d ergibt einen \n" "logischen Wert" -#: awkgram.y:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -544,11 +531,11 @@ "Funktion »%s« wird mit Leerzeichen zwischen Name und »(« aufgerufen, \n" "oder als Variable oder Feld verwendet" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "Division durch Null wurde versucht" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "Division durch Null versucht in »%%«" @@ -571,206 +558,211 @@ msgid "exp: argument %g is out of range" msgstr "exp: das Argument %g liegt außerhalb des gültigen Bereichs" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: Leeren der Puffer nicht möglich, Pipe »%s« ist nur zum Lesen geöffnet" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: Leeren der Puffer nicht möglich, Datei »%s« ist nur zum Lesen " "geöffnet" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: »%s« ist keine geöffnete Datei, Pipe oder Prozess" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: Erstes Argument ist kein String" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: Zweites Argument ist kein string" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "Argument ist keine Zahl" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: Argument ist ein Feld" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "»length(array)« ist eine gawk-Erweiterung" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: Argument ist kein String" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: Argument ist keine Zahl" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: Negatives Argument %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 msgid "fatal: must use `count$' on all formats or none" msgstr "Fatal: »count$« muss auf alle Formate angewandt werden oder auf keines" -#: builtin.c:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "Feldbreite wird für die »%%«-Angabe ignoriert" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "Genauigkeit wird für die »%%«-Angabe ignoriert" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "Feldbreite und Genauigkeit werden für die »%%«-Angabe ignoriert" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "Fatal: »$« ist in awk-Formaten nicht zulässig" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "Fatal: die Anzahl der Argumen bei »$« muss > 0 sein" -#: builtin.c:830 +#: builtin.c:846 #, 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:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "Fatal: »$« nach Punkt in Formatangabe nicht zulässig" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "Fatal: »$« fehlt in positionsabhängiger Feldbreite oder Genauigkeit" # -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "»l« ist in awk-Formaten bedeutungslos, ignoriert" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "Fatal: »l« ist in POSIX-awk-Formaten nicht zulässig" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "»L« ist in awk-Formaten bedeutungslos, ignoriert" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "Fatal: »L« ist in POSIX-awk-Formaten nicht zulässig" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "»h« ist in awk-Formaten bedeutungslos, ignoriert" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "Fatal: »h« ist in POSIX-awk-Formaten nicht zulässig" -#: builtin.c:1272 +#: builtin.c:1288 #, 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:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" "das unbekannte Zeichen »%c« in der Formatspezifikation wird ignoriert: keine " "Argumente umgewandelt" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "Fatal: Nicht genügend Argumente für die Formatangabe" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "^ hierfür fehlte es" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: Format-Spezifikation hat keinen Controlcode" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "Zu viele Argumente für den Formatstring" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: das Argument %g ist negativ" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: Keine Argumente" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: das Argument ist keine Zahl" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: das Argument %g ist negativ" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: Länge %g ist nicht >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: Länge %g ist nicht >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, c-format msgid "substr: non-integer length %g will be truncated" msgstr "substr: Nicht ganzzahlige Länge %g wird abgeschnitten" -#: builtin.c:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: Start-Index %g ist ungültig, 1 wird verwendet" -#: builtin.c:1534 +#: builtin.c:1553 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "substr: Nicht ganzzahliger Start-Wert %g wird abgeschnitten" -#: builtin.c:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: Quellstring ist leer" -#: builtin.c:1575 +#: builtin.c:1594 #, 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:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -778,211 +770,211 @@ "substr: Länge %g am Start-Wert %g überschreitet die Länge des ersten " "Arguments (%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "strftime: Formatwert in PROCINFO[\"strftime\"] ist numerischen Typs" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: Das zweite Argument ist keine Zahl" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "" "strftime: das zweite Argument ist kleiner als 0 oder zu groß für time_t" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: Das erste Argument ist kein String" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: Der Format-String ist leer" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: Das Argument ist kein String" -#: builtin.c:1779 +#: builtin.c:1798 msgid "mktime: at least one of the values is out of the default range" msgstr "mktime: mindestens einer der Werte ist außerhalb des normalen Bereichs" -#: builtin.c:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "Die Funktion »system« ist im Sandbox-Modus nicht erlaubt" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: Das Argument ist kein String" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "Referenz auf die nicht initialisierte Variable »%s«" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "Referenz auf das nicht initialisierte Feld »$%d«" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: das Argument ist kein String" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: das Argument ist kein String" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: das erste Argument ist keine Zahl" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: das zweite Argument ist keine Zahl" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: das Argument ist keine Zahl" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: das Argument ist keine Zahl" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: das Argument ist keine Zahl" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: das dritte Argument ist kein Array" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 0 als drittes Argument wird als 1 interpretiert" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: das erste Argument ist keine Zahl" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: das zweite Argument ist keine Zahl" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "" "lshift(%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): Dezimalteil wird abgeschnitten" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen " "führen" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: das erste Argument ist keine Zahl" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: das zweite Argument ist keine Zahl" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "" "rshift (%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): Dezimalteil wird abgeschnitten" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): Zu große Shift-Werte werden zu merkwürdigen Ergebnissen " "führen" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: das erste Argument ist keine Zahl" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: das zweite Argument ist keine Zahl" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "" "and(%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): Dezimalteil wird abgeschnitten" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: das erste Argument ist keine Zahl" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: das zweite Argument ist keine Zahl" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): Negative Werte werden zu merkwürdigen Ergebnissen führen" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): Dezimalteil wird abgeschnitten" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: das erste Argument ist keine Zahl" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: das zweite Argument ist keine Zahl" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf: Negative Werte werden zu merkwürdigen Ergebnissen führen" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): Dezimalteil wird abgeschnitten" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: das erste Argument ist keine Zahl" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): Negativer Wert wird zu merkwürdigen Ergebnissen führen" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): Dezimalteil wird abgeschnitten" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: »%s« ist keine gültige Locale-Kategorie" @@ -1025,7 +1017,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "»BINMODE« ist eine gawk-Erweiterung" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "BINMODE Wert »%s« ist ungültig und wird als 3 behandelt" @@ -1039,109 +1031,109 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "»--lint« wird abgeschaltet, da an »LINT« zugewiesen wird" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "Funktion »%s« kann nicht als Variable oder Feld verwendet werden" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "Referenz auf nicht initialisiertes Argument »%s«" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "Nicht numerischer Wert für Feldreferenz verwendet" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "Referenz auf ein Feld von einem Null-String" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "Versuch des Zugriffs auf Feld %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "Referenz auf das nicht initialisierte Feld »$%ld«" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "Funktion »%s« mit zu vielen Argumenten aufgerufen" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: unerwarteter Typ »%s«" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "Division durch Null versucht in »/=«" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "Division durch Null versucht in »%%=«" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "" "Es wird versucht, das Feld »%s[\"%.*s\"]« in einem Skalarkontext zu verwenden" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "Zuweisung in einer Bedingung" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "Anweisung hat keinen Effekt" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for-Schleife: Feld »%s« ändert seine Größe von %ld innerhalb der Schleife zu " "%ld" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "die durch »%s« indirekt aufgerufene Funktion existiert nicht" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "Funktion »%s« ist nicht definiert" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "Nicht umgelenktes »getline« ist innerhalb der »%s«-Aktion unzuässig" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "Fehler beim Lesen der Eingabedatei »%s«: %s" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "»nextfile« kann nicht aus einer »«%s-Regel aufgerufen werden" -#: eval.c:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "»exit« kann im aktuellen Kontext nicht aufgerufen werden" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "»next« kann nicht in einer »%s«-Regel verwendet werden" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Entschuldigung, aber es ist unbekannt, wie »%s« zu interpretieren ist" @@ -1211,33 +1203,33 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: negative Anzahl von Argumenten für Funktion »%s«" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "" "Funktion »%s« wird als Funktion definiert, die nie mehr als %d Argument(e) " "akzeptiert" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "Funktion »%s«: fehlendes Argument #%d" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" "Funktion »%s«: Argument #%d: Es wird versucht, einen Skalar als Feld zu " "verwenden" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" "Funktion »%s«: Argument #%d: Es wird versucht, ein Feld als Skalar zu " "verwenden" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Die Operation wird nicht unterstützt" @@ -1521,7 +1513,7 @@ 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:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "Fehler beim Schreiben auf die Standardausgabe (%s)" @@ -1578,104 +1570,104 @@ msgid "TCP/IP communications are not supported" msgstr "TCP/IP-Verbindungen werden nicht unterstützt" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "»%s« konnte nicht geöffnet werden, Modus »%s«" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "" "Das Schließen der übergeordneten Terminal-Gerätedatei ist gescheitert (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "Das Schließen der Standardausgabe im Kindprozess ist gescheitert (%s)" -#: io.c:1752 +#: io.c:1757 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardausgabe " "im Kindprozess ist gescheitert (dup: %s)" -#: io.c:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "Schließen von stdin im Kindprozess gescheitert (%s)" -#: io.c:1757 +#: io.c:1762 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "Das Verschieben der untergeordneten Terminal-Gerätedatei zur Standardeingabe " "im Kindprozess ist gescheitert (dup: %s)" -#: io.c:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "" "Das Schließen der untergeordneten Terminal-Gerätedatei ist gescheitert (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" "Das Verschieben der Pipe zur Standardausgabe im Kindprozess ist gescheitert " "(dup: %s)" -#: io.c:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" "Das Verschieben der Pipe zur Standardeingabe im Kindprozess ist gescheitert " "(dup: %s)" -#: io.c:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "" "Das Wiederherstellen der Standardausgabe im Elternprozess ist gescheitert\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "" "Das Wiederherstellen der Standardeingabe im Elternprozess ist gescheitert\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "Das Schließen der Pipe ist gescheitert (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "»|&« wird nicht unterstützt" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "Pipe »%s« kann nicht geöffnet werden (%s)" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "Kindprozess für »%s« kann nicht erzeugt werden (fork: %s)" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "Die Datei »%s« ist leer" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "Es konnte kein weiterer Speicher für die Eingabe beschafft werden" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "Multicharacter-Wert von »RS« ist eine gawk-Erweiterung" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "IPv6-Verbindungen werden nicht unterstützt" @@ -1721,143 +1713,144 @@ msgstr "%s als setuid root auszuführen kann zu Sicherheitsproblemen führen" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "»--posix« hat Vorrang vor »--binary«" -#: main.c:613 +#: main.c:616 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "" "Das Setzen des Binärermodus für die Standardeingabe ist nicht möglich (%s)" -#: main.c:616 +#: main.c:619 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "" "Das Setzen des Binärermodus für die Standardausgabe ist nicht möglich (%s)" -#: main.c:618 +#: main.c:621 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "" "Das Setzen des Binärermodus für die Standardfehlerausgabe ist nicht möglich " "(%s)" -#: main.c:657 +#: main.c:660 msgid "no program text at all!" msgstr "Es wurde überhaupt kein Programmtext angegeben!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -f PROGRAMM [--] Datei ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Aufruf: %s [POSIX- oder GNU-Optionen] -- %cPROGRAMM%c Datei ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX-Optionen\t\tlange GNU-Optionen: (standard)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f PROGRAMM\t\t--file=PROGRAMM\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F Feldtrenner\t\t\t--field-separator=Feldtrenner\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=Wert\t\t--assign=var=Wert\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "POSIX-Optionen\t\tGNU-Optionen (lang): (Erweiterungen)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d [Datei]\t\t--dump-variables[=Datei]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'Programmtext'\t--source=Programmtext\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E Datei\t\t\t--exec=Datei\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p [Datei]\t\t--profile[=Datei]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R Datei\t\t\t--command=Datei\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1866,7 +1859,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1882,7 +1875,7 @@ "an translation-team-de@lists.sourceforge.net\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1893,7 +1886,7 @@ "auf der Standardausgabe aus.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1903,7 +1896,7 @@ "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1923,7 +1916,7 @@ "spätere Version.\n" "\n" -#: main.c:815 +#: main.c:818 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" @@ -1936,7 +1929,7 @@ "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:821 +#: main.c:824 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" @@ -1945,16 +1938,16 @@ "diesem Programm erhalten haben. Wenn nicht, lesen Sie bitte\n" "http://www.gnu.org/licenses/.\n" -#: main.c:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft setzt FS im POSIX-awk nicht auf Tab" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "unbekannter Wert für eine Feldangabe: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1963,50 +1956,50 @@ "%s: Argument »%s« von »-v« ist nicht in der Form »Variable=Wert«\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "»%s« ist kein gültiger Variablenname" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "" "die eingebaute Funktion »%s« kann nicht als Variablenname verwendet werden" # c-format -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "Funktion »%s« kann nicht als Name einer Variablen verwendet werden" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "Fließkomma-Ausnahme" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "Fataler Fehler: interner Fehler" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "Fataler Fehler: interner Fehler: Speicherbegrenzungsfehler" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "Fataler Fehler: interner Fehler: Stapelüberlauf" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "Kein bereits geöffneter Dateideskriptor %d" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "/dev/null konnte nicht für Dateideskriptor %d geöffnet werden" @@ -2207,6 +2200,15 @@ msgid "No previous regular expression" msgstr "Kein vorangehender regulärer Ausdruck" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "»%s« ist eine Erweiterung der Bell Labs" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "»nextfile« ist eine gawk-Erweiterung" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "»delete array« ist eine gawk-Erweiterung" + #~ msgid "could not find groups: %s" #~ msgstr "Die Gruppen konnten nicht gefunden werden: %s" diff -urN gawk-4.0.1/po/es.po gawk-4.0.2/po/es.po --- gawk-4.0.1/po/es.po 2012-03-28 22:03:46.000000000 +0200 +++ gawk-4.0.2/po/es.po 2012-12-25 20:40:13.000000000 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-01-30 07:42-0600\n" "Last-Translator: Cristian Othón Martínez Vera \n" "Language-Team: Spanish \n" @@ -40,9 +40,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "se intentó usar el escalar `%s' como una matriz" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "se intentó usar la matriz `%s' en un contexto escalar" @@ -62,7 +62,7 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: el índice `%s' no está en la matriz `%s'" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "se intentó usar el dato escalar `%s[\"%.*s\"]' como una matriz" @@ -146,389 +146,376 @@ msgid "sort comparison function `%s' is not defined" msgstr "la función de comparación de ordenamiento `%s' no está definida" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "los bloques %s deben tener una parte de acción" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "cada regla debe tener un patrón o una parte de acción" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "el awk antiguo no admite múltiples reglas `BEGIN' o `END'" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' es una función interna, no se puede redefinir" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "la constante de expresión regular `//' parece un comentario de C++, pero no " "lo es" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "la constante de expresión regular `/%s/' parece un comentario de C, pero no " "lo es" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "valores case duplicados en el cuerpo de un switch: %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "se detectó un `default' duplicado en el cuerpo de un switch" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "no se permite `break' fuera de un bucle o switch" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "no se permite `continue' fuera de un bucle" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "se usó `next' en la acción %s" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "`nextfile' es una extensión de gawk" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "se usó `nextfile' en la acción %s" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "se usó `return' fuera del contexto de la función" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "el `print' simple en la regla BEGIN o END probablemente debe ser `print \"\"'" -#: 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" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' es una extensión de tawk que no es transportable" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "las líneas de trabajo de dos vías multiestado no funcionan" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "expresión regular del lado derecho de una asignación" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "expresión regular a la izquierda del operador `~' o `!~'" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "" "el awk antiguo no admite la palabra clave `in' excepto después de `for'" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "expresión regular a la derecha de una comparación" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "`getline var' inválido dentro de la regla `%s'" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "`getline' inválido dentro de la regla `%s'" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "`getline' no redirigido indefinido dentro de la acción de END" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "el awk antiguo no admite matrices multidimensionales" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "la llamada de `length' sin paréntesis no es transportable" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "las llamadas indirectas a función son una extensión de gawk" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" "no se puede usar la variable especial `%s' como llamada indirecta a función" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "expresión de subíndice inválida" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "uso de una matriz que no es matriz" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "aviso: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "fatal: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "nueva línea o fin de la cadena inesperados" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "no se puede abrir el fichero fuente `%s' para lectura (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "razón desconocida" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "ya se incluyó el fichero fuente `%s'" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include es una extensión de gawk" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "nombre de fichero vacío después de @include" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "texto de programa vacío en la linea de órdenes" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "no se puede leer el fichero fuente `%s' (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "el fichero fuente `%s' está vacío" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "el fichero fuente no termina con línea nueva" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "expresión regular sin terminar termina con `\\` al final del fichero" -#: awkgram.y:2924 +#: awkgram.y:2921 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "%s: %d: el modificador de expresión regular `/.../%c` de tawk no funciona en " "gawk" -#: awkgram.y:2928 +#: awkgram.y:2925 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" "el modificador de expresión regular `/.../%c` de tawk no funciona en gawk" -#: awkgram.y:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "expresión regular sin terminar" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "expresión regular sin terminar al final del fichero" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "el uso de la continuación de línea `\\ #...' no es transportable" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "la barra invertida no es el último caracter en la línea" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX no permite el operador `**='" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "el awk antiguo no admite el operador `**='" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX no permite el operador `**'" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "el awk antiguo no admite el operador `**='" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "el operador `^=' no se admite en el awk antiguo" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "el operador `^' no se admite en el awk antiguo" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "cadena sin terminar" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "caracter '%c' inválido en la expresión" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' es una extensión de gawk" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "`%s' es una extensión de Bell Labs" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX no permite `%s'" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' no se admite en el awk antiguo" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "¡`goto' se considera dañino!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d es inválido como número de argumentos para %s" -#: awkgram.y:3654 +#: awkgram.y:3646 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" "%s: la literal de cadena como último argumento de substitute no tiene efecto" -#: awkgram.y:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "el tercer argumento de %s no es un objecto modificable" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: el tercer argumento es una extensión de gawk" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: el segundo argumento es una extensión de gawk" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "el uso de dcgettext(_\"...\") es incorrecto: quite el subrayado inicial" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "el uso de dcngettext(_\"...\") es incorrecto: quite el subrayado inicial" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "función `%s': parámetro #%d, `%s', duplica el parámetro #%d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "función `%s': parámetro `%s' oscurece la variable global" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "no se puede abrir `%s' para escritura (%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "se envía la lista de variables a la salida estándar de error" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: falló close (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "¡se llamó shadow_funcs() dos veces!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "hay variables opacadas." -#: awkgram.y:4206 +#: awkgram.y:4198 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "" "función `%s': no se puede usar un nombre de función como nombre de parámetro" -#: awkgram.y:4210 +#: awkgram.y:4202 #, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "" "función `%s': no se puede usar la variable especial `%s' como un parámetro " "de función" -#: awkgram.y:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "el nombre de función `%s' se definió previamente" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "se llamó a la función `%s' pero nunca se definió" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "se definió la función `%s' pero nunca se llamó directamente" -#: awkgram.y:4435 +#: awkgram.y:4427 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" "la constante de expresión regular para el parámetro #%d da un valor booleano" -#: awkgram.y:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -537,11 +524,11 @@ "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:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "se intentó una división por cero" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "se intentó una división por cero en `%%'" @@ -564,211 +551,216 @@ msgid "exp: argument %g is out of range" msgstr "exp: el argumento %g está fuera de rango" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: no se puede limpiar: se abrió la tubería `%s' para lectura, no para " "escritura" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: no se puede limpiar: se abrió el fichero `%s' para lectura, no para " "escritura" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: `%s' no es un fichero abierto, tubería o co-proceso" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: el primer argumento recibido no es una cadena" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: el segundo argumento recibido no es una cadena" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: se recibió un argumento que no es númerico" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: se recibió un argumento de matriz" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "`length(array)' es una extensión de gawk" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: se recibió un argumento que no es una cadena" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: se recibió un argumento que no es númerico" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: se recibió el argumento negativo %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 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:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "se descarta la anchura del campo para el especificador `%%'" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "se descarta la precisión para el especificador `%%'" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "" "se descartan la anchura del campo y la precisión para el especificador `%%'" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "fatal: no se permite `$' en los formatos de awk" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "fatal: la cuenta de argumentos con `$' debe ser > 0" -#: builtin.c:830 +#: builtin.c:846 #, c-format msgid "fatal: arg count %ld greater than total number of supplied arguments" msgstr "" "fatal: la cuenta de argumentos %ld es mayor que el número total de " "argumentos proporcionados" -#: builtin.c:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "fatal: no se permite `$' después de un punto en el formato" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "" "fatal: no se proporciona `$' para la anchura o la precisión del campo " "posicional" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "`l' no tiene significado en los formatos de awk; se descarta" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "fatal: no se permite `l' en los formatos POSIX de awk" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "`L' no tiene significado en los formatos de awk; se descarta" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "fatal: no se permite `L' en los formatos POSIX de awk" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "`h' no tiene significado en los formatos de awk; se descarta" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "fatal: no se permite `h' en los formatos POSIX de awk" -#: builtin.c:1272 +#: builtin.c:1288 #, c-format msgid "[s]printf: value %g is out of range for `%%%c' format" msgstr "[s]printf: el valor %g está fuera del rango para el formato `%%%c'" -#: builtin.c:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" "se descarta el carácter especificador de formato `%c' desconocido: no se " "convirtió ningún argumento" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "" "fatal: no hay suficientes argumentos para satisfacer a la cadena de formato" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "se acabó ^ para éste" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: el especificador de formato no tiene letras de control" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "se proporcionaron demasiados argumentos para la cadena de formato" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: se llamó con el argumento negativo %g" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: sin argumentos" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: se recibió un argumento que no es un númerico" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: se llamó con el argumento negativo %g" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: la longitud %g no es >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: la longitud %g no es >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, c-format msgid "substr: non-integer length %g will be truncated" msgstr "substr: se truncará la longitud no entera %g" -#: builtin.c:1517 +#: builtin.c:1536 #, c-format msgid "substr: length %g too big for string indexing, truncating to %g" msgstr "" "substr: la longitud %g es demasiado grande para ser índice de cadena, se " "trunca a %g" -#: builtin.c:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: el índice de inicio %g es inválido, se usa 1" -#: builtin.c:1534 +#: builtin.c:1553 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "substr: se truncará el índice de inicio no entero %g" -#: builtin.c:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: la cadena de origen es de longitud cero" -#: builtin.c:1575 +#: builtin.c:1594 #, c-format msgid "substr: start index %g is past end of string" msgstr "substr: el índice de inicio %g está después del fin de la cadena" -#: builtin.c:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -776,210 +768,210 @@ "substr: la cadena %g en el índice de inicio %g excede la longitud del primer " "argumento (%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "" "strftime: el valor de formato en PROCINFO[\"strftime\"] tiene tipo numérico" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: el segundo argumento recibido no es númerico" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "" "strftime: el segundo argumento es menor que 0 o demasiado grande para time_t" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: el primer argumento recibido no es una cadena" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: se recibió una cadena de formato vacía" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: se recibió un argumento que no es una cadena" -#: builtin.c:1779 +#: builtin.c:1798 msgid "mktime: at least one of the values is out of the default range" msgstr "" "mktime: por lo menos uno de los valores está fuera del rango por defecto" -#: builtin.c:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "no se permite la función 'system' en modo sandbox" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: se recibió un argumento que no es una cadena" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referencia a la variable sin inicializar `%s'" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "referencia al campo sin inicializar `$%d'" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: se recibió un argumento que no es una cadena" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: se recibió un argumento que no es una cadena" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: el primer argumento recibido no es númerico" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: el segundo argumento recibido no es númerico" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: se recibió un argumento que no es númerico" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: se recibió un argumento que no es númerico" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: se recibió un argumento que no es númerico" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: el tercer argumento no es una matriz" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: el tercer argumento de 0 se trata como 1" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: el primer argumento recibido no es númerico" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: el segundo argumento recibido no es númerico" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): los valores negativos darán resultados extraños" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): los valores fraccionarios se truncarán" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados " "extraños" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: el primer argumento recibido no es númerico" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: el segundo argumento recibido no es númerico" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): los valores negativos darán resultados extraños" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): los valores fraccionarios serán truncados" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): un valor de desplazamiento muy grande dará resultados " "extraños" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: el primer argumento recibido no es númerico" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: el segundo argumento recibido no es númerico" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): los valores negativos darán resultados extraños" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): los valores fraccionarios serán truncados" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: el primer argumento recibido no es númerico" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: el segundo argumento recibido no es númerico" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): los valores negativos darán resultados extraños" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): los valores fraccionarios serán truncados" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: el primer argumento recibido no es númerico" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: el segundo argumento recibido no es númerico" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): los valores negativos darán resultados extraños" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): los valores fraccionarios se truncarán" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: se recibió un argumento que no es númerico" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): el valor negativo dará resultados extraños" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): el valor fraccionario se truncará" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' no es una categoría local válida" @@ -1022,7 +1014,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' es una extensión de gawk" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "el valor BINMODE `%s' es inválido; se trata como 3" @@ -1036,108 +1028,108 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "se desactiva `--lint' debido a una asignación a `LINT'" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "no se puede usar el nombre de la función `%s' como variable o matriz" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referencia al argumento sin inicializar `%s'" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "se intentó una referencia de campo desde un valor que no es númerico" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "se intentó una referencia de campo desde una cadena nula" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "se intentó acceder al campo %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "referencia al campo sin inicializar `$%ld'" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "se llamó a la función `%s' con más argumentos de los declarados" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: tipo `%s' inesperado" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "se intentó una división por cero en `/='" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "se intentó una división por cero en `%%='" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "se intentó usar la matriz `%s[\"%.*s\"]' en un contexto escalar" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "se usó una asignación en un contexto condicional" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "la declaración no tiene efecto" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "bucle for: la matriz `%s' cambió de tamaño de %ld a %ld durante la ejecución " "del bucle" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "no existe la función llamada indirectamente a través de `%s'" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "la función `%s' no está definida" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "`getline' no redirigido es inválido dentro de la regla `%s'" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "error al leer el fichero de entrada `%s': %s" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "`nextfile' no se puede llamar desde una regla `%s'" -#: eval.c:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "`exit' no se puede llamar en el contexto actual" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "`next' no se puede llamar desde una regla `%s'" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Perdón, no se cómo interpretar `%s'" @@ -1207,29 +1199,29 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: cuenta de argumento negativa para la función `%s'" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "la función `%s' se definió para tomar no más de %d argumento(s)" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "función `%s': falta el argumento #%d" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" "función `%s': argumento #%d: se intentó usar un escalar como una matriz" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" "función `%s': argumento #%d: se intentó usar una matriz como un escalar" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "No Se Admite La Operación" @@ -1509,7 +1501,7 @@ msgid "no explicit close of file `%s' provided" msgstr "no se provee el cerrado explícito del fichero `%s'" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "error al escribir en la salida estándar (%s)" @@ -1568,96 +1560,96 @@ msgid "TCP/IP communications are not supported" msgstr "no se admiten las comunicaciones TCP/IP" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "no se puede abrir `%s', modo `%s'" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "falló al cerrar el pty maestro (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "falló al cerrar la salida estándar en el hijo (%s)" -#: io.c:1752 +#: io.c:1757 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" "falló el movimiento del pty esclavo a la salida estándar en el hijo (dup: %s)" -#: io.c:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "falló al cerrar la entrada estándar en el hijo (%s)" -#: io.c:1757 +#: io.c:1762 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" "falló el movimiento del pty esclavo a la entrada estándar en el hijo (dup: " "%s)" -#: io.c:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "falló al cerrar el pty esclavo (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "falló el movimiento a la salida estándar en el hijo (dup: %s)" -#: io.c:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" "falló el movimiento de la tubería a la entrada estándar en el hijo (dup: %s)" -#: io.c:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "falló la restauración de la salida estándar en el proceso padre\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "falló la restauración de la entrada estándar en el proceso padre\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "falló al cerrar la tubería (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "no se admite `|&'" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "no se puede abrir la tubería `%s' (%s)" -#: io.c:2087 +#: io.c:2092 #, 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:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "el fichero de datos `%s' está vacío" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "no se puede reservar más memoria de entrada" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "el valor multicaracter de `RS' es una extensión de gawk" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "no se admite la comunicación IPv6" @@ -1702,146 +1694,147 @@ msgstr "ejecutar %s como setuid root puede ser un problema de seguridad" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "`--posix' se impone a `--binary'" -#: main.c:613 +#: main.c:616 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "no se puede establecer el modo binario en la entrada estándar (%s)" -#: main.c:616 +#: main.c:619 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "no se puede establecer el modo binario en la salida estándar (%s)" -#: main.c:618 +#: main.c:621 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "" "no se puede establecer el modo binario en la salida estándar de error (%s)" -#: main.c:657 +#: main.c:660 msgid "no program text at all!" msgstr "¡No hay ningún programa de texto!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Modo de empleo: %s [opciones estilo POSIX o GNU] -f fichprog [--] " "fichero ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Modo de empleo: %s [opciones estilo POSIX o GNU] [--] %cprograma%c " "fichero ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opciones POSIX:\t\tOpciones largas GNU: (estándar)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fichprog\t\t--file=fichprog\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F sc\t\t\t--field-separator=sc\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=valor\t\t--assign=var=valor\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "Opciones cortas:\t\tOpciones largas GNU: (extensiones)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 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. # Probar con gawk para revisar tabuladores. cfuga -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'texto-prog'\t--source='texto-prog'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E fichero\t\t--exec=fichero\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[fichero]\t\t--profile[=fichero]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R fichero\t\t\t--command=fichero\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1850,7 +1843,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1864,7 +1857,7 @@ "Reporte los errores de los mensajes en español a .\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1874,7 +1867,7 @@ "Por defecto lee la entrada estándar y escribe en la salida estándar.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1884,7 +1877,7 @@ "\tgawk '{ sum += $1 }; END { print sum }' fichero\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1904,7 +1897,7 @@ "(a su elección) cualquier versión posterior.\n" "\n" -#: main.c:815 +#: main.c:818 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" @@ -1918,7 +1911,7 @@ "Licencia Pública General de GNU para más detalles.\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1927,16 +1920,16 @@ "junto con este programa. Si no es así, consulte\n" "http://www.gnu.org/licenses/.\n" -#: main.c:856 +#: main.c:859 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:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "valor desconocido para la especificación de campo: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1945,49 +1938,49 @@ "%s: el argumento `%s' para `-v' no es de la forma `var=valor'\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' no es un nombre de variable legal" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "" "no se puede utilizar la orden interna de gawk `%s' como nombre de variable" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "no se puede usar la función `%s' como nombre de variable" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "excepción de coma flotante" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "error fatal: error interno" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "error fatal: error interno: falla de segmentación" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "error fatal: error interno: desbordamiento de pila" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "no existe el df %d abierto previamente" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "no se puede abrir previamente /dev/null para el df %d" @@ -2185,6 +2178,15 @@ msgid "No previous regular expression" msgstr "No hay una expresión regular previa" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "`%s' es una extensión de Bell Labs" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "`nextfile' es una extensión de gawk" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "`delete array' es una extensión de gawk" + #~ msgid "could not find groups: %s" #~ msgstr "no se pueden encontrar los grupos: %s" diff -urN gawk-4.0.1/po/fi.po gawk-4.0.2/po/fi.po --- gawk-4.0.1/po/fi.po 2012-03-28 22:03:47.000000000 +0200 +++ gawk-4.0.2/po/fi.po 2012-12-25 20:40:13.000000000 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-03-13 18:00+0200\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \n" @@ -41,9 +41,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "yritettiin käyttää skalaaria â€%s†taulukkona" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "yritettiin käyttää taulukkoa â€%s†skalaarikontekstissa" @@ -63,7 +63,7 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: indeksi â€%s†ei ole taulukossa â€%sâ€" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "yritettiin käyttää skalaaria â€%s[\"%.*s\"]†taulukkona" @@ -147,378 +147,365 @@ msgid "sort comparison function `%s' is not defined" msgstr "lajitteluvertailufunktiota â€%s†ei ole määritelty" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "%s lohkoilla on oltava toiminto-osa" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "jokaisella säännöllä on oltava malli tai toiminto-osa" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "vanha awk ei tue useita â€BEGINâ€- tai â€ENDâ€-sääntöjä" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "â€%s†on sisäänrakennettu funktio. Sitä ei voi määritellä uudelleen" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "säännöllisen lausekkeen vakio â€//†näyttää C++-kommentilta, mutta ei ole" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "säännöllisen lausekkeen vakio â€/%s/†näyttää C-kommentilta, mutta ei ole" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "kaksi samanlaista case-arvoa switch-rakenteen rungossa: %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "kaksoiskappale â€default†havaittu switch-rungossa" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "â€break†ei ole sallittu silmukan tai switch-lauseen ulkopuolella" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "â€continue†ei ole sallittu silmukan ulkopuolella" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "â€next†käytetty %s-toiminnossa" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "â€nextfile†on gawk-laajennus" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "â€nextfile†käytetty %s-toiminnossa" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "â€return†käytetty funktiokontekstin ulkopuolella" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "pelkkä â€print†BEGIN- tai END-säännössä pitäisi luultavasti olla â€print \"\"â€" -#: awkgram.y:995 awkgram.y:999 awkgram.y:1023 -msgid "`delete array' is a gawk extension" -msgstr "â€delete array†on gawk-laajennus" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "â€delete(array)†ei ole siirrettävä tawk-laajennus" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "monivaiheiset kaksisuuntaiset putket eivät toimi" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "säännöllinen lauseke sijoituksen oikealla puolella" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "säännöllinen lauseke â€~â€- tai â€!~â€-operaattorin vasemmalla puolella" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "vanha awk ei tue avainsanaa â€in†paitsi â€forâ€-sanan jälkeen" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "säännöllinen lauseke vertailun oikealla puolella" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "â€getline var†virheellinen säännön â€%s†sisällä" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "â€getline†virheellinen säännön â€%s†sisällä" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "edelleenohjaamaton â€getline†määrittelemätön END-toiminnon sisällä" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "vanha awk ei tue moniulotteisia taulukkoja" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "â€lengthâ€-kutsu ilman sulkumerkkejä ei ole siirrettävä" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "epäsuorat funktiokutsut ovat gawk-laajennus" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "ei voi käyttää erikoismuuttujaa â€%s†epäsuoralle funktiokutsulle" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "virheellinen indeksointilauseke" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "ei-taulukon käyttö taulukkona" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "varoitus:" -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "tuhoisa:" -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "odottamaton rivinvaihto tai merkkijonon loppu" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "ei voi avata lähdetiedostoa â€%s†lukemista varten (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "syy tuntematon" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "on jo sisällytetty lähdetiedostoon â€%sâ€" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include on gawk-laajennus" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "tyhjä tiedostonimi @include:n jälkeen" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "tyhjä ohjelmateksti komentorivillä" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "ei voi lukea lähdetiedostoa â€%s†(%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "lähdetiedosto â€%s†on tyhjä" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "lähdetiedoston lopussa ei ole rivinvaihtoa" -#: awkgram.y:2900 +#: awkgram.y:2897 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:2924 +#: awkgram.y:2921 #, 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:2928 +#: awkgram.y:2925 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "tawkin regex-määre â€/.../%c†ei toimi gawkissa" -#: awkgram.y:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "päättämätön säännöllinen lauseke" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "päättämätön säännöllinen lauseke tiedoston lopussa" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "â€\\ #...â€-rivijatkamisen käyttö ei ole siirrettävä" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "kenoviiva ei ole rivin viimeinen merkki" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX ei salli operaattoria â€**=â€" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "vanha awk ei tue operaattoria â€**=â€" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX ei salli operaattoria â€**â€" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "vanha awk ei tue operaattoria â€**â€" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "operaattoria â€^=†ei tueta vanhassa awk:ssa" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "operaattoria â€^†ei tueta vanhassa awk:ssa" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "päättämätön merkkijono" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "virheellinen merkki ’%c’ lausekkeessa" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "â€%s†on gawk-laajennus" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "â€%s†on Bell Labs -laajennus" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX ei salli operaattori â€%sâ€" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "â€%s†ei ole tuettu vanhassa awk-ohjelmassa" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "â€gotoâ€-käskyä pidetään haitallisena!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d on virheellinen argumenttilukumäärä operaattorille %s" -#: awkgram.y:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s kolmas parametri ei ole vaihdettava objekti" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: kolmas argumentti on gawk-laajennus" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: toinen argumentti on gawk-laajennus" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcgettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcngettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funktio â€%sâ€: parametri #%d, â€%sâ€, samanlainen parametri #%d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funktio â€%sâ€: parametri â€%s†varjostaa yleismuuttujaa" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "ei voitu avata tiedostoa â€%s†kirjoittamista varten (%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "lähetetään muuttujaluettelo vakiovirheeseen" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: sulkeminen epäonnistui (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() kutsuttu kahdesti!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "siellä oli varjostettuja muuttujia." -#: awkgram.y:4206 +#: awkgram.y:4198 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "funktio â€%sâ€: ei voi käyttää funktionimeä parametrinimenä" -#: awkgram.y:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "funktionimi â€%s†on jo aikaisemmin määritelty" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "funktiota â€%s†kutsuttiin, mutta sitä ei ole koskaan määritelty" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "funktio â€%s†määriteltiin, mutta sitä ei ole koskaan kutsuttu suoraan" -#: awkgram.y:4435 +#: awkgram.y:4427 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "säännöllisen lausekkeen vakio parametrille #%d antaa boolean-arvon" -#: awkgram.y:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -527,11 +514,11 @@ "funktio â€%s†kutsuttu välilyönnillä nimen ja â€(â€-merkin\n" "välillä, tai käytetty muuttujana tai taulukkona" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "nollalla jakoa yritettiin" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "jakoa nollalla yritettiin operaattorissa â€%%â€" @@ -555,207 +542,212 @@ msgid "exp: argument %g is out of range" msgstr "exp: argumentti %g on lukualueen ulkopuolella" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: ei voi tyhjentää: putki â€%s†avattu lukemista varten, ei " "kirjoittamiseen" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: ei voi tyhjentää: tiedosto â€%s†avattu lukemista varten, ei " "kirjoittamiseen" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: â€%s†ei ole avoin tiedosto, putki tai apuprosessi" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: ensimmäinen vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: vastaanotettu taulukkoargumentti" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "â€length(array)†on gawk-laajennus" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: vastaanotettu negatiivinen argumentti %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 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:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "kenttäleveys ohitetaan â€%%%%â€-määritteelle" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "tarkkuus ohitetaan â€%%%%â€-määritteelle" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "kenttäleveys ja tarkkuus ohitetaan â€%%%%â€-määritteelle" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu awk-muodoissa" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "kohtalokas: argumenttilukumäärän argumentilla â€$†on oltava > 0" -#: builtin.c:830 +#: builtin.c:846 #, 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:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "kohtalokas: â€$â€-argumentti ei ole sallittu pisteen jälkeen muodossa" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "" "kohtalokas: ei â€$â€-argumenttia tarjottu sijantikenttäleveydelle tai " "tarkkuudelle" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "â€l†on merkityksetön awk-muodoissa; ohitetaan" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "kohtalokas: â€l†ei ole sallittu POSIX awk -muodoissa" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "â€L†on merkityksetön awk-muodoissa; ohitetaan" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "kohtalokas: â€L†ei ole sallittu POSIX awk -muodoissa" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "â€h†on merkityksetön awk-muodoissa; ohitetaan" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "kohtalokas: â€h†ei ole sallittu POSIX awk -muodoissa" -#: builtin.c:1272 +#: builtin.c:1288 #, 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:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" "ohitetaan tuntematon muotoargumenttimerkki â€%câ€: ei muunnettu argumenttia" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "kohtalokas: ei kylliksi argumentteja muotomerkkijonon tyydyttämiseksi" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "^ tällainen loppui kesken" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: muotoargumentilla ei ole ohjauskirjainta" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "muotomerkkijonoon toimitettu liian monta argumenttia" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: ei argumentteja" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: pituus %g ei ole >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: pituus %g ei ole >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, c-format msgid "substr: non-integer length %g will be truncated" msgstr "substr: typistetään pituus %g, joka ei ole kokonaisluku" -#: builtin.c:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: aloitusindeksi %g on virheellinen, käytetään 1:tä" -#: builtin.c:1534 +#: builtin.c:1553 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "substr: typistetään aloitusindeksi %g, joka ei ole kokonaisluku" -#: builtin.c:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: lähdemerkkijono on nollapituinen" -#: builtin.c:1575 +#: builtin.c:1594 #, c-format msgid "substr: start index %g is past end of string" msgstr "substr: aloitusindeksi %g on merkkijonon lopun jälkeen" -#: builtin.c:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -763,206 +755,206 @@ "substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden " "(%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "" "strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: toinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "" "strftime: toinen argumentti on pienempi kuin 0 tai liian suuri time_t-" "rakenteeseen" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: ensimmäinen vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: vastaanotettu tyhjä muotomerkkijono" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:1779 +#: builtin.c:1798 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:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "â€systemâ€-funktio ei ole sallittu hiekkalaatikkotilassa" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "viite alustamattomaan muuttujaan â€%sâ€" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "viite alustamattomaan kenttään â€$%dâ€" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: vastaanotettu argumentti ei ole merkkijono" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: ensimmäinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: toinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: kolmas argumentti ei ole taulukko" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 0-arvoinen kolmas argumentti käsitellään kuin 1" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: toinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): jaosarvot typistetään" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "lshift(%lf, %lf): liian suuri siirrosarvo antaa outoja tuloksia" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: ensimmäinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: toinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): jaosarvot typistetään" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "rshift(%lf, %lf): liian suuri siirrosarvo antaa outoja tuloksia" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: ensimmäinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: toinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): jaosarvot typistetään" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: ensimmäinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: toinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): jaosarvot typistetään" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: ensimmäinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: toinen vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): jaosarvot typistetään" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: vastaanotettu argumentti ei ole numeerinen" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): jaosarvo typistetään" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: â€%s†ei ole kelvollinen paikallinen kategoria" @@ -1005,7 +997,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "â€BINMODE†on gawk-laajennus" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "BINMODE-arvo â€%s†on virheellinen, käsiteltiin arvona 3" @@ -1019,108 +1011,108 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "käännetään pois â€--lintâ€-valitsin â€LINTâ€-sijoituksen vuoksi" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "funktionimeä â€%s†ei voi käyttää muuttujana tai taulukkona" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "viite alustamattomaan argumenttiin â€%sâ€" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "yritettiin kenttäviitettä arvosta, joka ei ole numeerinen" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "yritettiin kenttäviitettä null-merkkijonosta" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "yritettiin saantia kenttään %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "viite alustamattomaan kenttään â€$%ldâ€" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funktio â€%s†kutsuttiin useammalla argumentilla kuin esiteltiin" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: odottamaton tyyppi â€%sâ€" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "jakoa nollalla yritettiin operaatiossa â€/=â€" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "jakoa nollalla yritettiin operaatiossa â€%%=â€" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "yritettiin käyttää taulukkoa â€%s[\"%.*s\"]†skalaarikontekstissa" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "sijoitusta käytetty ehdollisessa kontekstissa" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "käskyllä ei ole vaikutusta" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for-silmukka: taulukon â€%s†koko muuttui arvosta %ld arvoon %ld silmukan " "suorituksen aikana" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "kohteen â€%s†kautta epäsuorasti kutsuttu funktio ei ole olemassa" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "funktio â€%s†ei ole määritelty" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "edelleenohjaamaton â€getline†virheellinen â€%sâ€-säännön sisällä" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "virhe luettaessa syötetiedostoa â€%sâ€: %s" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "â€nextfile†ei voida kutsua â€%sâ€-säännöstä" -#: eval.c:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "â€exit†ei voida kutsua nykyisessä asiayhteydessä" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "â€next†ei voida kutsua â€%sâ€-säännöstä" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Ei osata tulkita kohdetta â€%sâ€" @@ -1188,27 +1180,27 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: negatiivinen argumenttilukumäärä funktiolle â€%sâ€" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funktio â€%s†on määritelty ottamaan enemmän kuin %d argumenttia" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "function â€%sâ€: puuttuva argumentti #%d" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "funktio â€%sâ€: argumentti #%d: yritettiin käyttää skalaaria taulukkona" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "funktio â€%sâ€: argumentti #%d: yritettiin käyttää taulukkoa skalaarina" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Toimintoa ei tueta" @@ -1487,7 +1479,7 @@ msgid "no explicit close of file `%s' provided" msgstr "tiedoston â€%s†eksplisiittistä sulkemista ei tarjota" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "virhe kirjoitettaessa vakiotulosteeseen (%s)" @@ -1544,98 +1536,98 @@ msgid "TCP/IP communications are not supported" msgstr "TCP/IP-viestintää ei tueta" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "ei voitu avata laitetta â€%sâ€, tila â€%sâ€" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "â€master ptyâ€-sulkeminen epäonnistui (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "vakiotulosteen sulkeminen lapsiprosessissa epäonnistui (%s)" -#: io.c:1752 +#: io.c:1757 #, 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:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "vakiosyötteen sulkeminen lapsiprosessissa epäonnistui (%s)" -#: io.c:1757 +#: io.c:1762 #, 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:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "â€slave ptyâ€:n sulkeminen epäonnistui (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" "putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)" -#: io.c:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, 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:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "vakiotulosteen palauttaminen äitiprosessissa epäonnistui\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "vakiosyötön palauttaminen äitiprosessissa epäonnistui\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "putken sulkeminen epäonnistui (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "â€|&†ei tueta" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "ei voi avata putkea â€%s†(%s)" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "ei voida luoda lapsiprosessia komennolle â€%s†(fork: %s)" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "data-tiedosto â€%s†on tyhjä" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "ei voitu varata lisää syötemuistia" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "â€RSâ€-monimerkkiarvo on gawk-laajennus" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "IPv6-viestintää ei tueta" @@ -1682,143 +1674,144 @@ msgstr "suorittaminen â€%s setuid rootâ€-käyttäjänä saattaa olla turvapulma" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "valitsin â€--posix†korvaa valitsimen â€--binaryâ€" -#: main.c:613 +#: main.c:616 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "ei voi asettaa binaaritilaa vakiosyötteessä (%s)" -#: main.c:616 +#: main.c:619 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "ei voi asettaa binaaritilaa vakiotulosteessa (%s)" -#: main.c:618 +#: main.c:621 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "ei voi asettaa binaaritilaa vakiovirheessä (%s)" -#: main.c:657 +#: main.c:660 msgid "no program text at all!" msgstr "ei ohjelmatekstiä ollenkaan!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] -f ohjelmatiedosto [--] " "tiedosto ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] [--] %cohjelma%c " "tiedosto ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX-valitsimet:\t\tGNU-pitkät valitsimet: (vakio)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f ohjelmatiedosto\t\t--file=ohjelmatiedosto\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=arvo\t\t--assign=muuttuja=arvo\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "Lyhyet valitsimet:\t\tGNU-pitkät valitsimet: (laajennukset)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[tiedosto]\t\t--dump-variables[=tiedosto]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'program-text'\t--source='program-text'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E file\t\t\t--exec=tiedosto\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-po\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R tiedosto\t\t\t--exec=tiedosto\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1827,7 +1820,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1840,7 +1833,7 @@ "joka on kappale â€Reporting Problems and Bugs†painetussa versiossa.\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1850,7 +1843,7 @@ "Oletuksena se lukee vakiosyötettä ja kirjoittaa vakiotulosteeseen.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1860,7 +1853,7 @@ "\tgawk '{ sum += $1 }; END { print sum }' tiedosto\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1879,7 +1872,7 @@ "ehtojen mukaisesti.\n" "\n" -#: main.c:815 +#: main.c:818 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" @@ -1893,7 +1886,7 @@ "GNU General Public License-ehdoista.\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1901,16 +1894,16 @@ "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:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft ei aseta FS välilehteen POSIX awk:ssa" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "tuntematon arvo kenttämääritteelle: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1919,48 +1912,48 @@ "%s: â€%s†argumentti valitsimelle â€-v†ei ole â€var=arvoâ€-muodossa\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "â€%s†ei ole laillinen muuttujanimi" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "ei voi käyttää gawk-ohjelman sisäistä â€%sâ€-määrittelyä muuttujanimenä" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "funktionimeä â€%s†ei voi käyttää muuttujanimenä" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "liukulukupoikkeus" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "tuhoisa virhe: sisäinen virhe" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "tuhoisa virhe: sisäinen virhe: segmenttivirhe" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "tuhoisa virhe: sisäinen virhe: pinoylivuoto" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "ei avattu uudelleen tiedostomäärittelijää %d" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "ei voitu avata uudelleen laitetta /dev/null tiedostomäärittelijälle %d" @@ -2157,6 +2150,15 @@ msgid "No previous regular expression" msgstr "Ei edellistä säännöllistä lauseketta" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "â€%s†on Bell Labs -laajennus" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "â€nextfile†on gawk-laajennus" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "â€delete array†on gawk-laajennus" + #~ msgid "could not find groups: %s" #~ msgstr "ei voitu löytää ryhmiä: %s" diff -urN gawk-4.0.1/po/fr.po gawk-4.0.2/po/fr.po --- gawk-4.0.1/po/fr.po 2012-03-28 22:03:47.000000000 +0200 +++ gawk-4.0.2/po/fr.po 2012-12-25 20:40:13.000000000 +0200 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-01-30 23:52+0100\n" "Last-Translator: Jean-Philippe Guérard \n" @@ -44,9 +44,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "tentative d'utiliser le scalaire « %s » comme tableau" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, 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 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete : l'indice « %s » est absent du tableau « %s »" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "tentative d'utiliser le scalaire « %s[\"%.*s\"] » comme tableau" @@ -142,390 +142,377 @@ msgid "sort comparison function `%s' is not defined" msgstr "la fonction de comparaison « %s » du tri n'est pas définie" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "les blocs %s doivent avoir une partie action" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "chaque règle doit avoir au moins une partie motif ou action" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "l'ancien awk ne permet pas les « BEGIN » ou « END » multiples" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "« %s » est une fonction interne, elle ne peut être redéfinie" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "l'expression rationnelle constante « // » n'est pas un commentaire C++" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "l'expression rationnelle constante « /%s/ » n'est pas un commentaire C" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "le corps du switch comporte des cas répétés : %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "plusieurs « default » ont été détectés dans le corps du switch" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "« break » est interdit en dehors d'une boucle ou d'un switch" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "« continue » est interdit en dehors d'une boucle ou d'un switch" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "« next » est utilisé dans l'action %s" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "« nextfile » est une extension gawk" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "« nextfile » est utilisé dans l'action %s" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "« return » est utilisé hors du contexte d'une fonction" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "dans BEGIN ou END, un « print » seul devrait sans doute être un « print " "\"\" »" -#: 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:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "« delete(array) » est une extension non portable de tawk" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "impossible d'utiliser des tubes bidirectionnels en série" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "expression rationnelle à droite d'une affectation" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "expression rationnelle à gauche d'un opérateur « ~ » ou « !~ »" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "l'ancien awk n'autorise le mot-clef « in » qu'après « for »" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "expression rationnelle à droite d'une comparaison" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "« getline var » n'est pas valable dans une règle « %s »" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "« getline » n'est pas valable dans une règle « %s »" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "dans une action END, un « getline » non redirigé n'est pas défini" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "l'ancien awk ne dispose pas des tableaux multidimensionnels" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "l'appel de « length » sans parenthèses n'est pas portable" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "les appels indirects de fonctions sont une extension gawk" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" "impossible d'utiliser la variable spéciale « %s » pour un appel indirect de " "fonction" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "expression indice non valide" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "utilisation d'un non tableau comme tableau" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "avertissement : " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "fatal : " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "fin de chaîne ou passage à la ligne inattendu" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "impossible d'ouvrir le fichier source « %s » en lecture (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "raison inconnue" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "le fichier source « %s » a déjà été intégré" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include est une extension gawk" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "Le nom de fichier après @include est vide" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "le programme indiqué en ligne de commande est vide" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "impossible de lire le fichier source « %s » (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "le fichier source « %s » est vide" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "le fichier source ne se termine pas par un passage à la ligne" -#: awkgram.y:2900 +#: awkgram.y:2897 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:2924 +#: awkgram.y:2921 #, 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:2928 +#: awkgram.y:2925 #, 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:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "expression rationnelle non refermée" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "expression rationnelle non refermée en fin de fichier" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "" "l'utilisation de « \\ #... » pour prolonger une ligne n'est pas portable" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "la barre oblique inverse n'est pas le dernier caractère de la ligne" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX n'autorise pas l'opérateur « **= »" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "l'ancien awk ne dispose pas de l'opérateur « **= »" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX n'autorise pas l'opérateur « ** »" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "l'ancien awk ne dispose pas de l'opérateur « ** »" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "l'ancien awk ne dispose pas de l'opérateur « ^= »" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "l'ancien awk ne dispose pas de l'opérateur « ^ »" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "chaîne non refermée" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "caractère non valide « %c » dans l'expression" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "« %s » est une extension gawk" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "« %s » est une extension Bell Labs" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX n'autorise pas « %s »" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "l'ancien awk ne dispose pas de « %s »" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "« goto est jugé dangereux ! » (Edsger W. Dijkstra)\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, 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:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, 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:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match : le 3e argument est une extension gawk" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close : le 2e argument est une extension gawk" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "utilisation incorrecte de dcgettext(_\"...\") : enlevez le souligné de tête" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "utilisation incorrecte de dcngettext(_\"...\") : enlevez le souligné de tête" -#: awkgram.y:3911 +#: awkgram.y:3903 #, 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:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "fonction « %s » : le paramètre « %s » masque la variable globale" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "impossible d'ouvrir « %s » en écriture (%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "envoi de la liste des variables vers la sortie d'erreur standard" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s : échec de la fermeture (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadows_funcs() a été appelé deux fois !" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "il y avait des variables masquées." -#: awkgram.y:4206 +#: awkgram.y:4198 #, 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:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "nom de fonction « %s » déjà défini" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "fonction « %s » appelée sans être définie" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "fonction « %s » définie mais jamais appelée directement" -#: awkgram.y:4435 +#: awkgram.y:4427 #, 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:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -534,11 +521,11 @@ "fonction « %s » appelée avec un espace entre son nom\n" "et « ( », ou utilisée comme variable ou tableau" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "tentative de division par zéro" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "tentative de division par zéro dans « %% »" @@ -561,205 +548,210 @@ msgid "exp: argument %g is out of range" msgstr "exp : l'argument %g est hors limite" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush : vidage impossible : le tube « %s » est ouvert en lecture et non en " "écriture" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush : vidage impossible : fichier « %s » ouvert en lecture, pas en " "écriture" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "" "fflush : « %s » n'est ni un fichier ouvert, ni un tube, ni un co-processus" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index : le premier argument n'est pas une chaîne" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index : le second argument n'est pas une chaîne" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int : l'argument n'est pas numérique" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length : l'argument reçu est un tableau" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "« length(tableau) » est une extension gawk" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length : l'argument n'est pas une chaîne" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log : l'argument n'est pas numérique" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log : l'argument est négatif %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 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:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "taille du champ de la spécification « %% » ignorée" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "précision de la spécification « %% » ignorée" -#: builtin.c:766 +#: builtin.c:782 #, 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:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "fatal : « $ » n'est pas autorisé dans les formats awk" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "fatal : le numéro d'argument de « $ » doit être > 0" -#: builtin.c:830 +#: builtin.c:846 #, 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:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "fatal : dans un format, « $ » ne doit pas suivre un point" -#: builtin.c:850 +#: builtin.c:866 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:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "« l » n'a aucun sens dans un format awk ; ignoré" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "fatal : « l » est interdit dans un format awk POSIX" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "« L » n'a aucun sens dans un format awk ; ignoré" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "fatal : « L » est interdit dans un format awk POSIX" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "« h » n'a aucun sens dans un format awk ; ignoré" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "fatal : « h » est interdit dans un format awk POSIX" -#: builtin.c:1272 +#: builtin.c:1288 #, 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:1332 +#: builtin.c:1348 #, 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:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "fatal : pas assez d'arguments pour satisfaire la chaîne de formatage" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "^ à court pour celui-ci" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf : spécification de format sans lettre de contrôle" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "trop d'arguments pour la chaîne de formatage" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt : appelé avec un argument négatif %g" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf : aucun argument" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt : l'argument n'est pas numérique" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt : appelé avec un argument négatif %g" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr : la longueur %g n'est pas >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr : la longueur %g n'est pas >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, 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:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, 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:1534 +#: builtin.c:1553 #, 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:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr : la chaîne source est de longueur nulle" -#: builtin.c:1575 +#: builtin.c:1594 #, 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:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -767,213 +759,213 @@ "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:1657 +#: builtin.c:1676 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:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime : le second argument n'est pas numérique" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "strftime: second argument négatif ou trop grand pour time_t" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftim : le premier argument n'est pas une chaîne" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime : la chaîne de formatage est vide" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime : l'argument n'est pas une chaîne" -#: builtin.c:1779 +#: builtin.c:1798 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:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "La fonction « system » est interdite en isolement (mode sandbox)" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system : l'argument n'est pas une chaîne" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "référence à une variable non initialisée « %s »" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "référence à un champ non initialisé « $%d »" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower : l'argument n'est pas une chaîne" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper : l'argument n'est pas une chaîne" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2 : le premier argument n'est pas numérique" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2 : le second argument n'est pas numérique" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin : l'argument n'est pas numérique" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos : l'argument n'est pas numérique" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand : l'argument n'est pas numérique" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match : le 3e argument n'est pas un tableau" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub : le 3e argument vaut 0, il sera traité comme un 1" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift : le premier argument n'est pas numérique" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift : le second argument reçu n'est pas numérique" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "" "lshift(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf) : les valeurs non entières seront tronquées" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf) : un décalage trop grand donnera des résultats inattendus" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift : le premier argument n'est pas numérique" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift : le second argument reçu n'est pas numérique" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "" "rshift(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf) : les valeurs non entières seront tronquées" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf) : un décalage trop grand donnera des résultats inattendus" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and : le premier argument n'est pas numérique" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and : le second argument reçu n'est pas numérique" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "" "and(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): les valeurs non entières seront tronquées" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or : le premier argument n'est pas numérique" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or : le second argument reçu n'est pas numérique" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "" "or(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf) : les valeurs non entières seront tronquées" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor : le premier argument n'est pas numérique" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor : le second argument reçu n'est pas numérique" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "" "xor(%lf, %lf) : les valeurs négatives donneront des résultats inattendus" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf) : les valeurs non entières seront tronquées" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl : l'argument n'est pas numérique" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf) : les valeurs négatives donneront des résultats inattendus" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf) : les valeurs non entières seront tronquées" -#: builtin.c:3136 +#: builtin.c:3155 #, 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" @@ -1016,7 +1008,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "« BINMODE » est une extension gawk" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "la valeur « %s » de BINMODE n'est pas valide, 3 utilisé à la place" @@ -1030,107 +1022,107 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "désactivation de « --lint » en raison d'une affectation à « LINT »" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "impossible d'utiliser la fonction « %s » comme variable ou tableau" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "référence à un argument non initialisé « %s »" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "tentative de référence à un champ via une valeur non numérique" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "tentative de référence à un champ via une chaîne nulle" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "tentative d'accès au champ %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "référence à un champ non initialisé « $%ld »" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "la fonction « %s » a été appelée avec trop d'arguments" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: type « %s » inattendu" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "tentative de division par zéro dans « /= »" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "tentative de division par zéro dans « %%= »" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "" "tentative d'utilisation du tableau « %s[\"%.*s\"] » dans un contexte scalaire" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "affectation utilisée dans un contexte conditionnel" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "la déclaration est sans effet" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "boucle for : la taille du tableau « %s » est passée de %ld à %ld" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "la fonction indirectement appelée via « %s » n'existe pas" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "fonction « %s » non définie" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "un « getline » non redirigé n'est pas valable dans une règle « %s »" -#: eval.c:2600 +#: eval.c:2620 #, 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 +#: eval.c:2634 #, 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:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "« exit » ne peut pas être appelé dans ce contexte" -#: eval.c:2700 +#: eval.c:2720 #, 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:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Désolé, je ne sais pas comment interpréter « %s »" @@ -1200,31 +1192,31 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin : la fonction « %s » a un nombre négatif d'arguments" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "fonction « %s » définie comme ayant au maximum« %d » argument(s)" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "fonction « %s » : argument #%d manquant" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" "fonction « %s » : argument #%d : tentative d'utilisation d'un scalaire comme " "tableau" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" "fonction « %s » : argument #%d : tentative d'utiliser un tableau comme " "scalaire" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Opération non disponible" @@ -1502,7 +1494,7 @@ msgid "no explicit close of file `%s' provided" msgstr "aucune fermeture explicite du fichier « %s » fournie" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "erreur lors de l'écriture vers la sortie standard (%s)" @@ -1561,97 +1553,97 @@ msgid "TCP/IP communications are not supported" msgstr "les communications TCP/IP ne sont pas disponibles" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "impossible d'ouvrir « %s », mode « %s »" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "échec de la fermeture du pty maître (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "échec de la fermeture de stdout du processus fils (%s)" -#: io.c:1752 +#: io.c:1757 #, 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:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "échec de fermeture du stdin du processus fils (%s)" -#: io.c:1757 +#: io.c:1762 #, 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:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "échec de la fermeture du pty esclave (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, 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:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, 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:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "échec de la restauration du stdout dans le processus parent\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "échec de la restauration du stdin dans le processus parent\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "échec de la fermeture du tube (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "« |& » non disponible" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "impossible d'ouvrir le tube « %s » (%s)" -#: io.c:2087 +#: io.c:2092 #, 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:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "le fichier de données « %s » est vide" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "impossible d'allouer plus de mémoire d'entrée" -#: io.c:3127 +#: io.c:3132 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:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "les communications IPv6 ne sont pas disponibles" @@ -1699,141 +1691,142 @@ "l'exécution de %s en mode setuid root peut être un problème de sécurité" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "« --posix » prend le pas sur « --binary »" -#: main.c:613 +#: main.c:616 #, 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:619 #, 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:621 #, 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:660 msgid "no program text at all!" msgstr "aucun programme !" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Utilisation : %s [options GNU ou POSIX] -f fichier_prog [--] fichier ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "Utilisation : %s [options GNU ou POSIX] [--] %cprogramme%c fichier ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Options POSIX :\t\tOptions longues GNU : (standard)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fichier_prog\t\t--file=fichier_prog\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=valeur\t\t--assign=var=valeur\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "Options POSIX :\t\tOptions longues GNU : (extensions)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[fichier]\t\t--dump-variables[=fichier]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'programme'\t\t--source='programme'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E fichier\t\t--exec=fichier\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[fichier]\t\t--profile[=fichier]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R fichier\t\t\t--command=fichier\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1842,7 +1835,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1857,7 +1850,7 @@ ".\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1867,7 +1860,7 @@ "Par défaut, il lit l'entrée standard et écrit sur la sortie standard.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1877,7 +1870,7 @@ "\tgawk '{ somme += $1 }; END { print somme }' fichier\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1897,7 +1890,7 @@ "version ultérieure de votre choix.\n" "\n" -#: main.c:815 +#: main.c:818 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" @@ -1912,7 +1905,7 @@ "General Public License).\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1921,16 +1914,16 @@ "(GNU General Public License) avec ce programme. Sinon, consultez\n" "http://www.gnu.org/licenses/.\n" -#: main.c:856 +#: main.c:859 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:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "valeur inconnue pour la définition de champ : %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1939,48 +1932,48 @@ "%s : « %s » l'argument de « -v » ne respecte pas la forme « var=valeur »\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "« %s » n'est pas un nom de variable valide" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "impossible d'utiliser le mot clef gawk « %s » comme variable" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "impossible d'utiliser la fonction « %s » comme variable" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "exception du traitement en virgule flottante" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "fatal : erreur interne" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "fatal : erreur interne : erreur de segmentation" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "fatal : erreur interne : débordement de la pile" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "aucun descripteur fd %d pré-ouvert" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "impossible de pré-ouvrir /dev/null pour le descripteud fd %d" @@ -2180,6 +2173,15 @@ msgid "No previous regular expression" msgstr "Aucune expression rationnelle précédente" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "« %s » est une extension Bell Labs" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "« nextfile » est une extension gawk" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "« delete array » est une extension gawk" + #~ msgid "could not find groups: %s" #~ msgstr "impossible de trouver les groupes : %s" diff -urN gawk-4.0.1/po/gawk.pot gawk-4.0.2/po/gawk.pot --- gawk-4.0.1/po/gawk.pot 2012-03-28 22:03:46.000000000 +0200 +++ gawk-4.0.2/po/gawk.pot 2012-12-25 20:40:13.000000000 +0200 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gawk 4.0.1\n" +"Project-Id-Version: gawk 4.0.2\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,9 +41,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "" @@ -63,7 +63,7 @@ msgid "delete: index `%s' not in array `%s'" msgstr "" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "" @@ -139,383 +139,370 @@ msgid "sort comparison function `%s' is not defined" msgstr "" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" -#: awkgram.y:995 awkgram.y:999 awkgram.y:1023 -msgid "`delete array' is a gawk extension" -msgstr "" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "" -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "" -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "" -#: awkgram.y:2924 +#: awkgram.y:2921 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:2928 +#: awkgram.y:2925 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "" -#: awkgram.y:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "" -#: awkgram.y:3654 +#: awkgram.y:3646 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "" -#: awkgram.y:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "" -#: awkgram.y:4206 +#: awkgram.y:4198 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "" -#: awkgram.y:4210 +#: awkgram.y:4202 #, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "" -#: awkgram.y:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "" -#: awkgram.y:4435 +#: awkgram.y:4427 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "" -#: awkgram.y:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" "or used as a variable or an array" msgstr "" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "" @@ -538,399 +525,403 @@ msgid "exp: argument %g is out of range" msgstr "" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 msgid "fatal: must use `count$' on all formats or none" msgstr "" -#: builtin.c:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "" -#: builtin.c:830 +#: builtin.c:846 #, c-format msgid "fatal: arg count %ld greater than total number of supplied arguments" msgstr "" -#: builtin.c:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "" -#: builtin.c:1272 +#: builtin.c:1288 #, c-format msgid "[s]printf: value %g is out of range for `%%%c' format" msgstr "" -#: builtin.c:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +msgid "[s]printf called with no arguments" +msgstr "" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "" -#: builtin.c:1512 +#: builtin.c:1531 #, c-format msgid "substr: non-integer length %g will be truncated" msgstr "" -#: builtin.c:1517 +#: builtin.c:1536 #, c-format msgid "substr: length %g too big for string indexing, truncating to %g" msgstr "" -#: builtin.c:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "" -#: builtin.c:1534 +#: builtin.c:1553 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "" -#: builtin.c:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "" -#: builtin.c:1575 +#: builtin.c:1594 #, c-format msgid "substr: start index %g is past end of string" msgstr "" -#: builtin.c:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" msgstr "" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "" -#: builtin.c:1779 +#: builtin.c:1798 msgid "mktime: at least one of the values is out of the default range" msgstr "" -#: builtin.c:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "" -#: builtin.c:2784 +#: builtin.c:2803 #, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +msgid "lshift(%f, %f): negative values will give strange results" msgstr "" -#: builtin.c:2786 +#: builtin.c:2805 #, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "" -#: builtin.c:2788 +#: builtin.c:2807 #, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "" -#: builtin.c:2821 +#: builtin.c:2840 #, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +msgid "rshift(%f, %f): negative values will give strange results" msgstr "" -#: builtin.c:2823 +#: builtin.c:2842 #, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "" -#: builtin.c:2825 +#: builtin.c:2844 #, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "" -#: builtin.c:2858 +#: builtin.c:2877 #, c-format -msgid "and(%lf, %lf): negative values will give strange results" +msgid "and(%f, %f): negative values will give strange results" msgstr "" -#: builtin.c:2860 +#: builtin.c:2879 #, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +msgid "and(%f, %f): fractional values will be truncated" msgstr "" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "" -#: builtin.c:2893 +#: builtin.c:2912 #, c-format -msgid "or(%lf, %lf): negative values will give strange results" +msgid "or(%f, %f): negative values will give strange results" msgstr "" -#: builtin.c:2895 +#: builtin.c:2914 #, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +msgid "or(%f, %f): fractional values will be truncated" msgstr "" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "" -#: builtin.c:2931 +#: builtin.c:2950 #, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +msgid "xor(%f, %f): negative values will give strange results" msgstr "" -#: builtin.c:2933 +#: builtin.c:2952 #, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +msgid "xor(%f, %f): fractional values will be truncated" msgstr "" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "" -#: builtin.c:2965 +#: builtin.c:2984 #, c-format -msgid "compl(%lf): negative value will give strange results" +msgid "compl(%f): negative value will give strange results" msgstr "" -#: builtin.c:2967 +#: builtin.c:2986 #, c-format -msgid "compl(%lf): fractional value will be truncated" +msgid "compl(%f): fractional value will be truncated" msgstr "" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "" @@ -970,7 +961,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "" @@ -984,106 +975,106 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "" -#: eval.c:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "" @@ -1147,27 +1138,27 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "" @@ -1429,7 +1420,7 @@ msgid "no explicit close of file `%s' provided" msgstr "" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "" @@ -1486,92 +1477,92 @@ msgid "TCP/IP communications are not supported" msgstr "" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "" -#: io.c:1752 +#: io.c:1757 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "" -#: io.c:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "" -#: io.c:1757 +#: io.c:1762 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "" -#: io.c:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "" -#: io.c:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "" -#: io.c:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "" @@ -1615,139 +1606,139 @@ msgstr "" #: main.c:562 -msgid "`--posix' overrides `--binary'" +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "" -#: main.c:613 +#: main.c:616 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "" -#: main.c:616 +#: main.c:619 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "" -#: main.c:618 +#: main.c:621 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "" -#: main.c:657 +#: main.c:660 msgid "no program text at all!" msgstr "" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "" @@ -1756,7 +1747,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1764,21 +1755,21 @@ "\n" msgstr "" -#: main.c:783 +#: main.c:786 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:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" msgstr "" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1790,7 +1781,7 @@ "\n" msgstr "" -#: main.c:815 +#: main.c:818 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" @@ -1799,70 +1790,70 @@ "\n" msgstr "" -#: main.c:821 +#: main.c:824 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:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" "\n" msgstr "" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "" -#: main.c:1200 +#: main.c:1203 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "" -#: main.c:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "" diff -urN gawk-4.0.1/po/it.po gawk-4.0.2/po/it.po --- gawk-4.0.1/po/it.po 2012-03-28 22:03:47.000000000 +0200 +++ gawk-4.0.2/po/it.po 2012-12-25 20:40:13.000000000 +0200 @@ -1,13 +1,13 @@ # Italian messages for GNU Awk -# Copyright (C) 2002-2011 Free Software Foundation, Inc. +# Copyright (C) 2002-2012 Free Software Foundation, Inc. # Antonio Colombo . # msgid "" msgstr "" "Project-Id-Version: gawk 3.1.81\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" -"PO-Revision-Date: 2011-03-19 16:52+0100\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" +"PO-Revision-Date: 2012-05-08 16:11+0100\n" "Last-Translator: Antonio Colombo \n" "Language-Team: Italian \n" "Language: it\n" @@ -25,9 +25,9 @@ msgstr "tentativo di usare valore scalare come vettore" #: array.c:251 -#, c-format +#, fuzzy, c-format msgid "attempt to use function `%s' as an array" -msgstr "tentativo di usare funzione '%s' come vettore" +msgstr "tentativo di usare scalare '%s' come vettore" #: array.c:254 #, c-format @@ -39,29 +39,29 @@ msgid "attempt to use scalar `%s' as an array" msgstr "tentativo di usare scalare '%s' come vettore" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "tentativo di usare vettore `%s' in un contesto scalare" #: array.c:513 -#, c-format +#, fuzzy, c-format msgid "reference to uninitialized element `%s[\"%.*s\"]'" -msgstr "riferimento a elemento non inizializzato `%s[\"%.*s\"]'" +msgstr "riferimento ad argomento non inizializzato `%s'" #: array.c:519 #, c-format msgid "subscript of array `%s' is null string" -msgstr "l'indice del vettore '%s' è una stringa nulla" +msgstr "" #: array.c:723 #, c-format msgid "delete: index `%s' not in array `%s'" msgstr "delete: indice `%s' non presente nel vettore `%s'" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "tentativo di usare scalare`%s[\"%.*s\"]' come vettore" @@ -69,31 +69,32 @@ #: array.c:910 #, c-format msgid "%s: empty (null)\n" -msgstr "%s: vuoto (nullo)\n" +msgstr "" #: array.c:915 #, c-format msgid "%s: empty (zero)\n" -msgstr "%s: vuoto (zero)\n" +msgstr "" #: array.c:919 #, c-format msgid "%s: table_size = %d, array_size = %d\n" -msgstr "%s: dimensione_tabella = %d, dimensione_vettore = %d\n" +msgstr "" #: array.c:954 #, c-format msgid "%s: is parameter\n" -msgstr "%s: è parametro\n" +msgstr "" #: array.c:958 #, c-format msgid "%s: array_ref to %s\n" -msgstr "%s: riferimento_vettoriale a %s\n" +msgstr "" #: array.c:963 +#, fuzzy msgid "adump: argument not an array" -msgstr "adump: l'argomento non è un vettore" +msgstr "adump: il primo argomento non è un vettore" #: array.c:1086 msgid "asort: second argument not an array" @@ -112,416 +113,402 @@ msgstr "asorti: il primo argomento non è un vettore" #: array.c:1102 -#, fuzzy msgid "asort: cannot use a subarray of first arg for second arg" msgstr "" -"patsplit: non si può usare lo stesso vettore come secondo e quarto argomento" +"asort: non permesso un secondo argomento che sia un sottovettore del primo " +"argomento" #: array.c:1103 -#, fuzzy msgid "asorti: cannot use a subarray of first arg for second arg" msgstr "" -"patsplit: non si può usare lo stesso vettore come secondo e quarto argomento" +"asorti: non permesso un secondo argomento che sia un sottovettore del primo " +"argomento" #: array.c:1108 -#, fuzzy msgid "asort: cannot use a subarray of second arg for first arg" msgstr "" -"split: non si può usare lo stesso vettore come secondo e quarto argomento" +"asort: non permesso un primo argomento che sia un sottovettore del secondo " +"argomento" #: array.c:1109 -#, fuzzy msgid "asorti: cannot use a subarray of second arg for first arg" msgstr "" -"split: non si può usare lo stesso vettore come secondo e quarto argomento" +"asorti: non permesso un primo argomento che sia un sottovettore del secondo " +"argomento" #: array.c:1655 -#, fuzzy, c-format +#, c-format msgid "`%s' is invalid as a function name" -msgstr "estensione: manca nome di funzione" +msgstr "`%s' non è un nome funzione valido" #: array.c:1659 -#, fuzzy, c-format +#, c-format msgid "sort comparison function `%s' is not defined" -msgstr "funzione `%s' non definita" +msgstr "funzione di confronto del sort `%s' non definita" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "blocchi %s richiedono una 'azione'" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "ogni regola deve avere una parte 'espressione' o una parte 'azione'" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "il vecchio awk non supporta più di una regola `BEGIN' o `END'" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' è una funzione interna, non si può ridefinire" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "espressione regolare costante `//' sembra un commento C++, ma non lo è" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "espressione regolare costante `/%s/' sembra un commento C, ma non lo è" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "valori di 'case' doppi all'interno di uno 'switch': %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "valori di default doppi all'interno di uno 'switch'" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "`break' non permesso fuori da un ciclo o da uno 'switch'" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "`continue' non permesso fuori da un un ciclo" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "`next' usato in 'azione' %s" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "`nextfile' è un'estensione gawk" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "`nextfile' usato in 'azione' %s" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "`return' usato fuori da una funzione" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "`print' da solo in BEGIN o END dovrebbe forse essere `print \"\"'" -#: awkgram.y:995 awkgram.y:999 awkgram.y:1023 -msgid "`delete array' is a gawk extension" -msgstr "`delete array' è un'estensione gawk" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' è un'estensione tawk non-portabile" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "'pipeline' multistadio bidirezionali non funzionano" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "espressione regolare usata per assegnare un valore" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "espressione regolare prima di operatore `~' o `!~'" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "il vecchio awk non supporta la parola-chiave `in' se non dopo `for'" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "espressione regolare a destra in un confronto" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "`getline var' invalida all'interno della regola `%s'" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "`getline' invalida all'interno della regola `%s'" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "`getline' non re-diretta indefinita dentro 'azione' END" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "il vecchio awk non supporta vettori multidimensionali" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "chiamata a `length' senza parentesi non portabile" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "chiamate a funzione indirette sono un'estensione gawk" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" "non posso usare la variabile speciale `%s' come parametro indiretto di " "funzione " -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "espressione indice invalida" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" -msgstr "uso di non-vettore come vettore" +msgstr "" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "attenzione: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "fatale: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "carattere 'a capo' o fine stringa inaspettati" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "ragione indeterminata" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "file sorgente `%s' già incluso" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include è un'estensione gawk" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "nome-file mancante dopo @include" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "programma nullo sulla linea comandi" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "non riesco a leggere file sorgente `%s' (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "file sorgente `%s' vuoto" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "file sorgente non termina con carattere 'a capo'" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "espressione regolare non completata termina con `\\' a fine file" -#: awkgram.y:2924 +#: awkgram.y:2921 #, 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:2928 +#: awkgram.y:2925 #, 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:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "espressione regolare non completata" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "espressione regolare non completata a fine file" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "uso di `\\ #...' continuazione linea non portabile" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "'\\' non è l'ultimo carattere della linea" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX non permette l'operatore `**='" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "il vecchio awk non supporta l'operatore `**='" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX non permette l'operatore `**'" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "il vecchio awk non supporta l'operatore `**'" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "l'operatore `^=' non è supportato nel vecchio awk" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "l'operatore `^' non è supportato nel vecchio awk" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "stringa non terminata" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "carattere '%c' non valido in un'espressione" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' è un'estensione gawk" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "`%s' è un'estensione Bell Labs" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX non permette `%s'" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' non è supportato nel vecchio awk" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "`goto' considerato pericoloso!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d non valido come numero di argomenti per %s" -#: awkgram.y:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "il terzo parametro di '%s' non è un oggetto modificabile" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: il terzo argomento è un'estensione gawk" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: il secondo argomento è un'estensione gawk" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "uso scorretto di dcgettext(_\"...\"): togliere il carattere '_' iniziale" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "uso scorretto di dcngettext(_\"...\"): togliere il carattere '_' iniziale" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funzione `%s': parametro `%s' nasconde variabile globale" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "non riesco ad aprire `%s' in scrittura (%s)" -#: awkgram.y:4112 -#, fuzzy +#: awkgram.y:4104 msgid "sending variable list to standard error" -msgstr "mando profilo a 'standard error'" +msgstr "mando lista variabili a 'standard error'" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: 'close' fallita (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() chiamata due volte!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "c'erano variabili nascoste." -#: awkgram.y:4206 +#: awkgram.y:4198 #, 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:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "funzione di nome `%s' definita in precedenza" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "funzione `%s' chiamata ma mai definita" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "funzione `%s' definita ma mai chiamata direttamente" -#: awkgram.y:4435 +#: awkgram.y:4427 #, 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:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -530,11 +517,11 @@ "funzione `%s' chiamata con spazio tra il nome e `(',\n" "o usata come variabile o vettore" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "tentativo di dividere per zero" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "tentativo di dividere per zero in `%%'" @@ -555,202 +542,209 @@ #: builtin.c:141 #, c-format msgid "exp: argument %g is out of range" -msgstr "exp: argomento %g non accettabile" +msgstr "exp: argomento %g fuori dai limiti ammessi" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: non posso scaricare: 'pipe' `%s' aperta in lettura, non in scrittura" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: non posso scaricare: file `%s' aperto in lettura, non in scrittura" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: `%s' non è un file aperto, una 'pipe' o un co-processo" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: il primo argomento non è una stringa" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: il secondo argomento non è una stringa" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: argomento non numerico" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: l'argomento fornito è un vettore" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "`length(array)' è un'estensione gawk" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: l'argomento non è una stringa" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: argomento non numerico" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: argomento negativo %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 msgid "fatal: must use `count$' on all formats or none" -msgstr "" +msgstr "fatale: `count$' va usato per ogni 'format' o per nessuno" -#: builtin.c:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" -msgstr "" +msgstr "larghezza campo ignorata per la specifica `%%'" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" -msgstr "" +msgstr "precisione ignorata per la specifica `%%'" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" -msgstr "" +msgstr "larghezza campo e precisone ignorate per la specifica `%%'" -#: builtin.c:817 -#, fuzzy +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" -msgstr "l'operatore `^' non è supportato nel vecchio awk" +msgstr "fatale: operatore `$' non consentito nei 'format' awk" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" -msgstr "" +msgstr "fatale: numero argomenti con `$' dev'essere > 0" -#: builtin.c:830 +#: builtin.c:846 #, c-format msgid "fatal: arg count %ld greater than total number of supplied arguments" -msgstr "" +msgstr "fatale: numero argomenti %ld > del numero totale argomenti specificati" -#: builtin.c:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" -msgstr "" +msgstr "fatale: `$' non permesso dopo il punto in un 'format'" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" -msgstr "" +msgstr "fatale: manca `$' per i campi posizionali larghezza o precisione" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" -msgstr "" +msgstr "`l' non ha senso nei 'format' awk; ignorato" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" -msgstr "" +msgstr "fatale: `l' non permesso nei 'format' POSIX awk" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" -msgstr "" +msgstr "`L' non ha senso nei 'format' awk; ignorato" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" -msgstr "" +msgstr "`L' non ha senso nei 'format' awk; ignorato" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" -msgstr "" +msgstr "`h' non ha senso nei 'format' awk; ignorato" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" -msgstr "" +msgstr "fatale: `h' non permesso nei 'format' POSIX awk" -#: builtin.c:1272 +#: builtin.c:1288 #, c-format msgid "[s]printf: value %g is out of range for `%%%c' format" -msgstr "" +msgstr "[s]printf: valore %g fuori dai limiti ammessi per il 'format' `%%%c'" -#: builtin.c:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" +"carattere di 'format' sconosciuto `%c' ignorato: nessun argomento convertito" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "" +"fatale: argomenti in numero minore di quelli richiesti dalla stringa di " +"'format'" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" -msgstr "" +msgstr "^ esauriti a questo punto" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" -msgstr "" +msgstr "[s]printf: specifica di 'format' senza un carattere di controllo" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" -msgstr "" +msgstr "troppi argomenti specificati per questa stringa di 'format'" + +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: chiamata con argomento negativo %g" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" -msgstr "printf: manca argomento" +msgstr "printf: mancano argomenti" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: argomento non numerico" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: chiamata con argomento negativo %g" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: lunghezza %g non >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: lunghezza %g non >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, c-format msgid "substr: non-integer length %g will be truncated" msgstr "substr: lunghezza non intera %g: sarà troncata" -#: builtin.c:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: indice di partenza %g non valido, uso 1" -#: builtin.c:1534 +#: builtin.c:1553 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "substr: indice di partenza non intero %g: sarà troncato" -#: builtin.c:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: stringa di partenza lunga zero" -#: builtin.c:1575 +#: builtin.c:1594 #, 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:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -758,204 +752,204 @@ "substr: lunghezza %g all'indice di partenza %g supera la lunghezza del primo " "argomento (%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "" "strftime: il valore del 'format' in PROCINFO[\"strftime\"] è di tipo numerico" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: il secondo argomento non è numerico" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" -msgstr "" +msgstr "strftime: secondo argomento < 0 o troppo elevato per time_t" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: il primo argomento non è una stringa" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: 'format' è una stringa nulla" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: l'argomento non è una stringa" -#: builtin.c:1779 +#: builtin.c:1798 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:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "la funzione 'system' non è permessa in modo 'sandbox'" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: l'argomento non è una stringa" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "riferimento a variabile non inizializzata `%s'" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "riferimento a variabile non inizializzata `$%d'" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: l'argomento non è una stringa" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: l'argomento non è una stringa" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: il primo argomento non è numerico" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: il secondo argomento non è numerico" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: l'argomento non è numerico" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: l'argomento non è numerico" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: l'argomento non è numerico" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: il terzo argomento non è un vettore" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: il terzo argomento è 0, trattato come 1" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: il primo argomento non è numerico" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: il secondo argomento non è numerico" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "lshift(%lf, %lf): valori troppo alti daranno risultati strani" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: il primo argomento non è numerico" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: il secondo argomento non è numerico" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "rshift(%lf, %lf): valori troppo alti daranno risultati strani" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: il primo argomento non è numerico" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: il secondo argomento non è numerico" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: il primo argomento non è numerico" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: il secondo argomento non è numerico" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: il primo argomento non è numerico" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: il secondo argomento non è numerico" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): valori negativi daranno risultati strani" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): valori con decimali verranno troncati" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: l'argomento non è numerico" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): valore negativo darà risultati strani" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): valore con decimali verrà troncato" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' non è una categoria 'locale' valida" @@ -998,7 +992,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' è un'estensione gawk" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "valore di BINMODE `%s' non valido, considerato come 3" @@ -1012,112 +1006,110 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "disabilito `--lint' a causa di assegnamento a `LINT'" -#: eval.c:1127 eval.c:1777 -#, c-format +#: eval.c:1127 eval.c:1779 +#, fuzzy, 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" +msgstr "non posso usare nome di funzione `%s' come nome di variabile" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "riferimento ad argomento non inizializzato `%s'" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "tentativo di riferimento a un campo da valore non numerico" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "tentativo di riferimento a un campo da una stringa nulla" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "tentativo di accedere al campo %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "riferimento a campo non inizializzato `$%ld'" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funzione `%s' chiamata con più argomenti di quelli previsti" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: tipo non previsto `%s'" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "divisione per zero tentata in `/='" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "divisione per zero tentata in `%%='" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, fuzzy, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "tentativo di usare vettore `%s' in un contesto scalare" -#: eval.c:1907 +#: eval.c:1915 +#, fuzzy msgid "assignment used in conditional context" -msgstr "assegnamento usato nel contesto di un test condizionale" +msgstr "`return' usato fuori da una funzione" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" -msgstr "istruzione che non fa nulla" +msgstr "" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" -"ciclo for: vettore `%s' ha cambiato dimensione da %ld a %ld durante " -"l'esecuzione del ciclo" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" -msgstr "la funzione chiamata indirettamente tramite `%s' non esiste" +msgstr "" -#: eval.c:2470 -#, c-format +#: eval.c:2490 +#, fuzzy, c-format msgid "function `%s' not defined" -msgstr "funzione `%s' non definita" +msgstr "funzione di nome `%s' definita in precedenza" -#: eval.c:2511 -#, c-format +#: eval.c:2531 +#, fuzzy, c-format msgid "non-redirected `getline' invalid inside `%s' rule" -msgstr "`getline' non-diretta indefinita dentro regola '%s'" +msgstr "`getline' invalida all'interno della regola `%s'" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" -msgstr "errore leggendo file di input `%s': %s" +msgstr "" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" -msgstr "`nextfile' non può essere chiamato da una regola `%s'" +msgstr "" -#: eval.c:2661 -#, fuzzy +#: eval.c:2681 msgid "`exit' cannot be called in the current context" -msgstr "`next' non può essere chiamato da una regola `%s'" +msgstr "" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" -msgstr "`next' non può essere chiamato da una regola `%s'" +msgstr "" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" -msgstr "Spiacente, non so come interpretare `%s'" +msgstr "" #: ext.c:54 msgid "extensions are not allowed in sandbox mode" @@ -1128,24 +1120,22 @@ msgstr "`extension' è un'estensione gawk" #: ext.c:75 -#, c-format +#, fuzzy, c-format msgid "fatal: extension: cannot open `%s' (%s)\n" -msgstr "fatale: estensione: non riesco ad aprire `%s' (%s)\n" +msgstr "estensione: non riesco ad aprire libreria `%s' (%s)\n" #: ext.c:84 -#, c-format +#, fuzzy, c-format msgid "" "fatal: extension: library `%s': does not define " "`plugin_is_GPL_compatible' (%s)\n" msgstr "" -"fatale: estensione: libreria `%s': non definisce " -"`plugin_is_GPL_compatible' (%s)\n" +"estensione: libreria `%s': non definisce `plugin_is_GPL_compatible' (%s)\n" #: ext.c:93 -#, c-format +#, fuzzy, c-format msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n" -msgstr "" -"fatale: estensione: libreria `%s': non riesco a chiamare funzione `%s' (%s)\n" +msgstr "estensione: libreria `%s': non riesco a chiamare funzione `%s' (%s)\n" #: ext.c:127 msgid "extension: missing function name" @@ -1182,27 +1172,27 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: contatore argomenti negativo per la funzione `%s'" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funzione `%s' definita per avere al massimo %d argomenti(o)" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "funzione `%s': manca argomento #%d" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "funzione `%s': argomento #%d: tentativo di usare scalare come vettore" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "funzione `%s': argomento #%d: tentativo di usare vettore come scalare" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Operazione Non Supportata" @@ -1223,22 +1213,21 @@ msgstr "split: il secondo argomento non è un vettore" #: 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" +"split: non si può usare un unico vettore come secondo e quarto argomento" #: 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" +"split: non permesso un quarto argomento che sia un sottovettore del secondo " +"argomento" #: 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" +"split: non permesso un secondo argomento che sia un sottovettore del quarto " +"argomento" #: field.c:1010 msgid "split: null string for third arg is a gawk extension" @@ -1257,22 +1246,21 @@ msgstr "patsplit: il terzo argomento non può essere nullo" #: 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" +"patsplit: non si può usare un unico vettore come secondo e quarto argomento" #: 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" +"patsplit: non permesso un quarto argomento che sia un sottovettore del " +"secondo argomento" #: 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" +"patsplit: non permesso un secondo argomento che sia un sottovettore del " +"quarto argomento" #: field.c:1110 msgid "`FIELDWIDTHS' is a gawk extension" @@ -1296,9 +1284,9 @@ msgstr "`FPAT' è un'estensione gawk" #: getopt.c:604 getopt.c:633 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: opzione '%s' ambigua\n" +msgstr "%s: opzione '%s' ambigua; possibilità:" #: getopt.c:679 getopt.c:683 #, c-format @@ -1480,7 +1468,7 @@ msgid "no explicit close of file `%s' provided" msgstr "nessuna chiusura esplicita richiesta per file `%s'" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "errore scrivendo 'standard output' (%s)" @@ -1537,96 +1525,96 @@ msgid "TCP/IP communications are not supported" msgstr "comunicazioni TCP/IP non supportate" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "non riesco ad aprire `%s', modo `%s'" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "fallita chiusura di 'pty' principale (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "fallita chiusura di 'stdout' nel processo-figlio (%s)" -#: io.c:1752 +#: io.c:1757 #, 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:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "fallita chiusura di 'stdin' nel processo-figlio (%s)" -#: io.c:1757 +#: io.c:1762 #, 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:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "fallita chiusura di 'pty' secondaria (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, 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:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, 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:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "fallito ripristino di 'stdout' nel processo-padre\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "fallito ripristino di 'stdin' nel processo-padre\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "fallita chiusura di 'pipe' (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "`|&' non supportato" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "non riesco ad aprire 'pipe' `%s' (%s)" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "file dati `%s' vuoto" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "non riesco ad allocare ulteriore memoria per l'input" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "valore multicarattere per `RS' è un'estensione gawk" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "comunicazioni IPv6 non supportate" @@ -1670,141 +1658,141 @@ msgstr "eseguire %s con 'setuid' root può essere un rischio per la sicurezza" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "`--posix' annulla `--binary" -#: main.c:613 +#: main.c:616 #, 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:619 #, 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:621 #, 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:660 msgid "no program text at all!" msgstr "manca del tutto il testo del programma!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Uso: %s [opzioni in stile POSIX o GNU] -f file-prog. [--] file ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Usage: %s [opzioni in stile POSIX o GNU] [--] %cprogramma%c file ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opzioni POSIX:\t\topzioni lunghe GNU: (standard)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f fileprog\t\t--file=file-prog.\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=valore\t\t--assign=var=valore\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "Opzioni brevi:\t\topzioni lunghe GNU: (estensioni)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 -#, fuzzy +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" -msgstr "\t-d [file]\t\t--dump-variables[=file]\n" +msgstr "\t-d[file]\t\t--dump-variables[=file]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'testo-del-programma'\t--source='testo-del-programma'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E file\t\t\t--exec=file\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 -#, fuzzy +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" -msgstr "\t-p [file]\t\t--profile[=file]\n" +msgstr "\t-p[file]\t\t--profile[=file]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 +#, fuzzy msgid "\t-R file\t\t\t--command=file\n" -msgstr "\t-R file\t\t\t--command=file\n" +msgstr "\t-E file\t\t\t--exec=file\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1813,7 +1801,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1823,9 +1811,10 @@ "\n" "Per segnalare problemi, vedi nodo `Bugs' in `gawk.info', oppure la\n" "sezione `Reporting Problems and Bugs' nella versione a stampa.\n" +"Problemi di traduzione, segnalare ad: azc100@gmail.com.\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1835,7 +1824,7 @@ "Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1845,7 +1834,7 @@ "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1864,7 +1853,7 @@ "Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n" "\n" -#: main.c:815 +#: main.c:818 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" @@ -1878,7 +1867,7 @@ "Vedi la 'GNU General Public License' per ulteriori dettagli.\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1887,16 +1876,16 @@ "assieme a questo programma; se non è così, vedi http://www.gnu.org/" "licenses/.\n" -#: main.c:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft non imposta FS a 'tab' nell'awk POSIX" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "valore non noto per specifica campo: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1905,49 +1894,48 @@ "%s: `%s' argomento di `-v' non in forma `var=valore'\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' non è un nome di variabile ammesso" -#: main.c:1200 +#: main.c:1203 #, 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:1204 -#, fuzzy, c-format +#: main.c:1207 +#, c-format msgid "cannot use gawk builtin `%s' as variable name" -msgstr "" -"estensione: nome funzione interna gawk `%s' non ammesso come nome funzione" +msgstr "nome funzione interna gawk `%s' non ammesso come nome variabile" -#: main.c:1209 -#, fuzzy, c-format +#: main.c:1212 +#, c-format msgid "cannot use function `%s' as variable name" -msgstr "non posso usare nome di funzione `%s' come variabile o vettore" +msgstr "non posso usare nome di funzione `%s' come nome di variabile" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "eccezione floating point" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "errore fatale: errore interno" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "errore fatale: errore interno: segfault" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "errore fatale: errore interno: stack overflow" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "manca 'fd' pre-aperta %d" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "non riesco a pre-aprire /dev/null per 'fd' %d" @@ -2055,7 +2043,7 @@ "\t# Functions, listed alphabetically\n" msgstr "" "\n" -"\t# Funzioni, listate in ordine alfabetico\n" +"\t# Funzioni, in ordine alfabetico\n" #: profile.c:1370 #, c-format @@ -2063,9 +2051,9 @@ msgstr "redir2str: tipo di re-direzione non noto %d" #: re.c:573 -#, fuzzy, c-format +#, c-format msgid "range of the form `[%c-%c]' is locale dependent" -msgstr "intervallo nella forma `[%c-%c]' dipende da 'locale'" +msgstr "intervallo della forma `[%c-%c]' dipende da 'locale'" #: re.c:600 #, c-format @@ -2145,20 +2133,29 @@ msgid "No previous regular expression" msgstr "Nessuna espressione regolare precedente" -#~ msgid "could not find groups: %s" -#~ msgstr "non riesco a trovare gruppi: %s" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "`%s' è un'estensione Bell Labs" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "`nextfile' è un'estensione gawk" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "`delete array' è un'estensione gawk" + +#~ msgid "dynamic loading of library not supported" +#~ msgstr "caricamento dinamico di libreria non supportato" -#~ msgid "assignment is not allowed to result of builtin function" -#~ msgstr "assegnamento non permesso al risultato di una funzione interna" +#~ msgid "\t-D[file]\t\t--debug[=file]\n" +#~ msgstr "\t-D[file]\t\t--debug[=file]\n" -#~ msgid "attempt to use array in a scalar context" -#~ msgstr "tentativo di usare vettore in un contesto scalare" +#~ msgid "\t-l library\t\t--load=library\n" +#~ msgstr "\t-l libreria\t\t--load=libreria\n" -#~ msgid "sorted array traversal is a gawk extension" -#~ msgstr "`sorted array traversal' è un'estensione gawk" +#~ msgid "\t-M\t\t\t--bignum\n" +#~ msgstr "\t-M\t\t\t--bignum\n" -#~ msgid "`PROCINFO[\"sorted_in\"]' value is not recognized" -#~ msgstr "`PROCINFO[\"sorted_in\"]' valore non riconosciuto" +#~ msgid "\t-o[file]\t\t--pretty-print[=file]\n" +#~ msgstr "\t-o[file]\t\t--pretty-print[=file]\n" -#~ msgid "out of memory" -#~ msgstr "memoria esaurita" +#~ msgid "internal error: builtin with null fname" +#~ msgstr "errore interno: funzione interna con 'fname' nullo" diff -urN gawk-4.0.1/po/ja.po gawk-4.0.2/po/ja.po --- gawk-4.0.1/po/ja.po 2012-03-28 22:03:47.000000000 +0200 +++ gawk-4.0.2/po/ja.po 2012-12-25 20:40:13.000000000 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2011-07-17 08:28+0900\n" "Last-Translator: Yasuaki Taniguchi \n" "Language-Team: Japanese \n" @@ -42,9 +42,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "スカラー `%s' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, c-format msgid "attempt to use array `%s' in a scalar context" msgstr "スカラーコンテキストã§é…列 `%s' を使用ã™ã‚‹è©¦ã¿ã§ã™" @@ -64,7 +64,7 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: é…列 `%2$s' 内ã«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ `%1$s' ãŒã‚ã‚Šã¾ã›ã‚“" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "スカラー `%s[\"%.*s\"]' ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™" @@ -140,377 +140,364 @@ msgid "sort comparison function `%s' is not defined" msgstr "ソート比較関数 `%s' ãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "%s ブロックã«ã¯ã‚¢ã‚¯ã‚·ãƒ§ãƒ³éƒ¨ãŒå¿…é ˆã§ã™" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "å„ルールã«ã¯ãƒ‘ターンã¾ãŸã¯ã‚¢ã‚¯ã‚·ãƒ§ãƒ³éƒ¨ãŒå¿…é ˆã§ã™ã€‚" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "å¤ã„ awk ã¯è¤‡æ•°ã® `BEGIN' ã¾ãŸã¯ `END' ルールをサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "`%s' ã¯çµ„è¾¼ã¿é–¢æ•°ã§ã™ã€‚å†å®šç¾©ã§ãã¾ã›ã‚“" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "æ­£è¦è¡¨ç¾å®šæ•° `//' 㯠C++コメントã«ä¼¼ã¦ã„ã¾ã™ãŒã€é•ã„ã¾ã™ã€‚" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "æ­£è¦è¡¨ç¾å®šæ•° `/%s/' 㯠C コメントã«ä¼¼ã¦ã„ã¾ã™ãŒã€ç•°ãªã‚Šã¾ã™" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "switch æ–‡ã®ä¸­ã§é‡è¤‡ã—㟠case 値ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™: %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "switch æ–‡ã®ä¸­ã§é‡è¤‡ã—㟠`default' ãŒæ¤œå‡ºã•ã‚Œã¾ã—ãŸ" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "`break' ã¯ãƒ«ãƒ¼ãƒ—ã¾ãŸã¯ switch ã®å¤–ã§ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "`continue' ã¯ãƒ«ãƒ¼ãƒ—ã®å¤–ã§ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "%s アクション内㧠`next' ãŒä½¿ç”¨ã•ã‚Œã¾ã—ãŸ" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "`nextfile' 㯠gawk æ‹¡å¼µã§ã™" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "`nextfile' ㌠%s アクション内ã§ä½¿ç”¨ã•ã‚Œã¾ã—ãŸ" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "`return' ãŒé–¢æ•°å®šç¾©æ–‡ã®å¤–ã§ä½¿ã‚ã‚Œã¾ã—ãŸ" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "BEGIN ã¾ãŸã¯ END ルール内ã®å¼•æ•°ã®ç„¡ã„ `print' 㯠`print \"\"' ã ã¨æ€ã‚ã‚Œã¾ã™" -#: awkgram.y:995 awkgram.y:999 awkgram.y:1023 -msgid "`delete array' is a gawk extension" -msgstr "`delete array' 㯠gawk æ‹¡å¼µã§ã™" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(array)' ã¯ç§»æ¤æ€§ã®ç„¡ã„ tawk æ‹¡å¼µã§ã™" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "多段階ã§åŒæ–¹å‘パイプを利用ã—ãŸå¼ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "æ­£è¦è¡¨ç¾ãŒä»£å…¥å¼ã®å³è¾ºã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "`~' ã‚„ `!~' 演算å­ã®å·¦è¾ºã«æ­£è¦è¡¨ç¾ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "å¤ã„ awk ã§ã¯ `in' 予約語㯠`for' ã®å¾Œã‚’除ãサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "比較å¼ã®å³è¾ºã«æ­£è¦è¡¨ç¾ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "`%s' ルールã®å†…部ã§ã¯ `getline var' ã¯ç„¡åŠ¹ã§ã™" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "`%s' ルールã®å†…部ã§ã¯ `getline' ã¯ç„¡åŠ¹ã§ã™" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "リダイレクトã•ã‚Œã¦ã„ãªã„ `getline' 㯠END アクションã§ã¯æœªå®šç¾©ã§ã™ã€‚" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "å¤ã„ awk ã¯å¤šæ¬¡å…ƒé…列をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "å°æ‹¬å¼§ãŒç„¡ã„ `length' ã¯ç§»æ¤æ€§ãŒã‚ã‚Šã¾ã›ã‚“" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "間接関数呼ã³å‡ºã—㯠gawk æ‹¡å¼µã§ã™" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "特別ãªå¤‰æ•° `%s' ã¯é–“接関数呼ã³å‡ºã—用ã«ã¯ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "添字ã®å¼ãŒç„¡åŠ¹ã§ã™" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "é…列ã§ãªã„ã‚‚ã®ã‚’é…列ã¨ã—ã¦ä½¿ç”¨ã—ã¦ã„ã¾ã™" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "警告: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "致命的: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "予期ã—ãªã„改行ã¾ãŸã¯æ–‡å­—列終端ã§ã™" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "ソースファイル `%s' を読ã¿è¾¼ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "原因ä¸æ˜Ž" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "ソースファイル `%s' ã¯æ—¢ã«èª­ã¿è¾¼ã¾ã‚Œã¦ã„ã¾ã™" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include 㯠gawk æ‹¡å¼µã§ã™" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "@include ã®å¾Œã«ç©ºã®ãƒ•ã‚¡ã‚¤ãƒ«åãŒã‚ã‚Šã¾ã™" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "コマンド行ã®ãƒ—ログラム表記ãŒç©ºã§ã™" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "ソースファイル `%s' を読ã¿è¾¼ã‚ã¾ã›ã‚“ (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "ソースファイル `%s' ã¯ç©ºã§ã™" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "ソースファイルãŒæ”¹è¡Œã§çµ‚ã£ã¦ã„ã¾ã›ã‚“" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "終端ã•ã‚Œã¦ã„ãªã„æ­£è¦è¡¨ç¾ãŒãƒ•ã‚¡ã‚¤ãƒ«æœ€å¾Œã® `\\' ã§çµ‚ã£ã¦ã„ã¾ã™ã€‚" -#: awkgram.y:2924 +#: awkgram.y:2921 #, c-format msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "%s: %d: tawk ã®æ­£è¦è¡¨ç¾ä¿®é£¾å­ `/.../%c' 㯠gawk ã§ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: awkgram.y:2928 +#: awkgram.y:2925 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "tawk ã®æ­£è¦è¡¨ç¾ä¿®é£¾å­ `/.../%c' 㯠gawk ã§ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: awkgram.y:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "æ­£è¦è¡¨ç¾ãŒçµ‚端ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "ファイルã®ä¸­ã§æ­£è¦è¡¨ç¾ãŒçµ‚端ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "`\\ #...' å½¢å¼ã®è¡Œç¶™ç¶šã¯ç§»æ¤æ€§ãŒã‚ã‚Šã¾ã›ã‚“" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ãŒè¡Œæœ€å¾Œã®æ–‡å­—ã«ãªã£ã¦ã„ã¾ã›ã‚“。" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX ã§ã¯æ¼”ç®—å­ `**=' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `**=' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX ã§ã¯æ¼”ç®—å­ `**' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `**' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `^=' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "å¤ã„ awk ã¯æ¼”ç®—å­ `^' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "文字列ãŒçµ‚端ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "å¼å†…ã«ç„¡åŠ¹ãªæ–‡å­— '%c' ãŒã‚ã‚Šã¾ã™" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' 㯠gawk æ‹¡å¼µã§ã™" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "`%s' ã¯ãƒ™ãƒ«ç ”究所ã«ã‚ˆã‚‹æ‹¡å¼µã§ã™" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX ã§ã¯ `%s' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "å¤ã„ awk 㯠`%s' をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "`goto' ã¯æœ‰å®³ã ã¨è¦‹ãªã•ã‚Œã¦ã„ã¾ã™!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d 㯠%s 用ã®å¼•æ•°ã®æ•°ã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™" -#: awkgram.y:3654 +#: awkgram.y:3646 #, c-format msgid "%s: string literal as last arg of substitute has no effect" msgstr "%s: 文字列リテラルを置ãæ›ãˆæœ€å¾Œã®å¼•æ•°ã«ä½¿ç”¨ã™ã‚‹ã¨åŠ¹æžœãŒã‚ã‚Šã¾ã›ã‚“" -#: awkgram.y:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s 第三仮引数ã¯å¯å¤‰ã‚ªãƒ–ジェクトã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: 第三引数㯠gawk æ‹¡å¼µã§ã™" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: 第二引数㯠gawk æ‹¡å¼µã§ã™" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "dcgettext(_\"...\")ã®ä½¿ç”¨æ³•ãŒé–“é•ã£ã¦ã„ã¾ã™: 先頭ã®ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢(_)を削除ã—" "ã¦ãã ã•ã„" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "dcngettext(_\"...\")ã®ä½¿ç”¨æ³•ãŒé–“é•ã£ã¦ã„ã¾ã™: 先頭ã®ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢(_)を削除ã—" "ã¦ãã ã•ã„" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "関数 `%s': 仮引数 #%d, `%s' ãŒä»®å¼•æ•° #%d ã¨é‡è¤‡ã—ã¦ã„ã¾ã™" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "関数 `%s': 仮引数 `%s' ãŒå¤§åŸŸå¤‰æ•°ã‚’覆ã„éš ã—ã¦ã„ã¾ã™" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "`%s' を書込ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“ã§ã—㟠(%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "変数リストを標準エラーã«é€ã£ã¦ã„ã¾ã™" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() を二回呼ã³å‡ºã—ã¦ã„ã¾ã™!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "覆ã„éš ã•ã‚ŒãŸå¤‰æ•°ãŒã‚ã‚Šã¾ã—ãŸ" -#: awkgram.y:4206 +#: awkgram.y:4198 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "関数 `%s': 関数åを仮引数åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“" -#: awkgram.y:4210 +#: awkgram.y:4202 #, c-format msgid "function `%s': can't use special variable `%s' as a function parameter" msgstr "関数 `%s': 特別ãªå¤‰æ•° `%s' ã¯é–¢æ•°ã®ä»®å¼•æ•°ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“" -#: awkgram.y:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "関数å `%s' ã¯å‰ã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "未定義ã®é–¢æ•° `%s' を呼ã³å‡ºã—ã¾ã—ãŸ" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "関数 `%s' ã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ãŒã€ä¸€åº¦ã‚‚直接呼ã³å‡ºã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: awkgram.y:4435 +#: awkgram.y:4427 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "仮引数 #%d 用ã®æ­£è¦è¡¨ç¾å®šæ•°ã¯çœŸå½å€¤ã‚’出力ã—ã¾ã™" -#: awkgram.y:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -519,11 +506,11 @@ "関数å㨠`(' ã®é–“ã«ã‚¹ãƒšãƒ¼ã‚¹ã‚’入れã¦é–¢æ•° `%s' を呼ã³å‡ºã—ã¦ã„ã¾ã™ã€‚\n" "ã¾ãŸã¯ã€å¤‰æ•°ã‹é…列ã¨ã—ã¦ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "ゼロã«ã‚ˆã‚‹é™¤ç®—ãŒè©¦ã¿ã‚‰ã‚Œã¾ã—ãŸ" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "`%%' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè©¦ã¿ã‚‰ã‚Œã¾ã—ãŸ" @@ -546,203 +533,208 @@ msgid "exp: argument %g is out of range" msgstr "exp: 引数 %g ãŒç¯„囲外ã§ã™" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: flush ã§ãã¾ã›ã‚“: パイプ `%s' ã¯èª­ã¿è¾¼ã¿ç”¨ã«é–‹ã‹ã‚Œã¦ã„ã¾ã™ã€‚書ãè¾¼ã¿" "用ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: flush ã§ãã¾ã›ã‚“: ファイル `%s' ã¯èª­ã¿è¾¼ã¿ç”¨ã«é–‹ã‹ã‚Œã¦ã„ã¾ã™ã€‚書ãè¾¼" "ã¿ç”¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: `%s' ãŒé–‹ã‹ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã€ãƒ‘イプã€ãƒ—ロセス共有ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: 文字列ã§ã¯ç„¡ã„第一引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: 文字列ã§ã¯ç„¡ã„第二引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: é…列引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "`length(array)' 㯠gawk æ‹¡å¼µã§ã™" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: 文字列ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: è² ã®å¼•æ•° %g ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 msgid "fatal: must use `count$' on all formats or none" msgstr "" "致命的: `count$’ ã¯å…¨ã¦ã®æ›¸å¼ä½¿ç”¨ã™ã‚‹ã€ã¾ãŸã¯å…¨ã¦ã«ä½¿ç”¨ã—ãªã„ã®ã„ãšã‚Œã‹ã§ãªã‘" "ã‚Œã°ã„ã‘ã¾ã›ã‚“" -#: builtin.c:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "`%%' 指定用ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å¹…ã¯ç„¡è¦–ã•ã‚Œã¾ã™" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "`%%' 指定用ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å¹…ã¯ç„¡è¦–ã•ã‚Œã¾ã™" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "`%%' 指定用ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰å¹…ãŠã‚ˆã³ç²¾åº¦ã¯ç„¡è¦–ã•ã‚Œã¾ã™" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "致命的: `$' 㯠awk å½¢å¼å†…ã§ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "致命的: `$' ã§æŒ‡å®šã™ã‚‹å¼•æ•°ã®ç•ªå·ã¯æ­£ã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“" -#: builtin.c:830 +#: builtin.c:846 #, c-format msgid "fatal: arg count %ld greater than total number of supplied arguments" msgstr "致命的: 引数ã®ç•ªå· %ld ã¯å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸæ•°ã‚ˆã‚Šå¤§ãã„ã§ã™" -#: builtin.c:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "致命的: `$' ã¯æ›¸å¼æŒ‡å®šå†…ã®ãƒ”リオド `.' ã®å¾Œã«ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "致命的: フィールド幅ã€ã¾ãŸã¯ç²¾åº¦ã®æŒ‡å®šå­ã« `$' ãŒä¸Žãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `l' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `l' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `L' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™ã€‚" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `L' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "awk ã®æ›¸å¼æŒ‡å®šã§ã¯ `h' ã¯ç„¡æ„味ã§ã™ã€‚無視ã—ã¾ã™ã€‚" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "致命的: POSIX awk 書å¼å†…ã§ã¯ `h' ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: builtin.c:1272 +#: builtin.c:1288 #, c-format msgid "[s]printf: value %g is out of range for `%%%c' format" msgstr "[s]printf: 値 %g ã¯æ›¸å¼ `%%%c' ã®ç¯„囲外ã§ã™" -#: builtin.c:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "ä¸æ˜Žãªæ›¸å¼æŒ‡å®šæ–‡å­— `%c' を無視ã—ã¦ã„ã¾ã™: 変æ›ã•ã‚Œã‚‹å¼•æ•°ã¯ã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "致命的: 書å¼æ–‡å­—列を満ãŸã™å分ãªæ•°ã®å¼•æ•°ãŒã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "^ ã“ã“ã‹ã‚‰è¶³ã‚Šã¾ã›ã‚“" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: 書å¼æŒ‡å®šå­ã«åˆ¶å¾¡æ–‡å­—ãŒã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "書å¼æ–‡å­—列ã«ä¸Žãˆã‚‰ã‚Œã¦ã„る引数ãŒå¤šã™ãŽã¾ã™" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: è² ã®å€¤ %g を引数ã«ä½¿ç”¨ã—ã¦å‘¼ã³å‡ºã•ã‚Œã¾ã—ãŸ" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: 引数ãŒã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: 数値ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: è² ã®å€¤ %g を引数ã«ä½¿ç”¨ã—ã¦å‘¼ã³å‡ºã•ã‚Œã¾ã—ãŸ" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: é•·ã• %g ㌠1 以上ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: é•·ã• %g ㌠0 以上ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:1512 +#: builtin.c:1531 #, c-format msgid "substr: non-integer length %g will be truncated" msgstr "substr: 文字数 %g ã®å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã¾ã™ã€‚" -#: builtin.c:1517 +#: builtin.c:1536 #, c-format msgid "substr: length %g too big for string indexing, truncating to %g" msgstr "substr: 文字数 %g ã¯æœ€å¤§å€¤ã‚’超ãˆã¦ã„ã¾ã™ã€‚%g を使ã„ã¾ã™ã€‚" -#: builtin.c:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: 開始インデックス %g ãŒç„¡åŠ¹ã§ã™ã€‚1を使用ã—ã¾ã™" -#: builtin.c:1534 +#: builtin.c:1553 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "substr: 開始インデックス %g ãŒéžæ•´æ•°ã®ãŸã‚ã€å€¤ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™" -#: builtin.c:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: 文字列ã®é•·ã•ãŒã‚¼ãƒ­ã§ã™ã€‚" -#: builtin.c:1575 +#: builtin.c:1594 #, c-format msgid "substr: start index %g is past end of string" msgstr "substr: 開始インデックス %g ãŒæ–‡å­—列終端ã®å¾Œã«ã‚ã‚Šã¾ã™" -#: builtin.c:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -750,203 +742,203 @@ "substr: 開始インデックス %2$g ã‹ã‚‰ã®é•·ã• %1$g ã¯ç¬¬ä¸€å¼•æ•°ã®é•·ã•ã‚’超ãˆã¦ã„ã¾ã™ " "(%3$lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "strftime: PROCINFO[\"strftime\"] ã®æ›¸å¼ã®å€¤ã¯æ•°å€¤åž‹ã§ã™" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: éžæ–‡å­—列ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: 空ã®æ›¸å¼æ–‡å­—列をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: éžæ–‡å­—列引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:1779 +#: builtin.c:1798 msgid "mktime: at least one of the values is out of the default range" msgstr "mktime: 一ã¤ä»¥ä¸Šã®å€¤ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ç¯„囲を超ãˆã¦ã„ã¾ã™" -#: builtin.c:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "サンドボックスモードã§ã¯ 'system' 関数ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: 文字列ã§ã¯ç„¡ã„引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„変数 `%s' ã¸ã®å‚ç…§ã§ã™" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„フィールド `$%d' ã¸ã®å‚ç…§ã§ã™" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: éžæ–‡å­—列引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: éžæ–‡å­—列引数をå—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: 第三引数ãŒé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: 第三引数㌠0 ã§ã™ã€‚1 を代ã‚ã‚Šã«ä½¿ç”¨ã—ã¾ã™" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "lshift(%lf, %lf): シフト値ãŒå¤§ãéŽãŽã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "rshift(%lf, %lf): シフト値ãŒå¤§ãéŽãŽã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: éžæ•°å€¤ã®ç¬¬ä¸€å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: éžæ•°å€¤ã®ç¬¬äºŒå¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: éžæ•°å€¤ã®å¼•æ•°ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): è² ã®æ•°å€¤ã‚’使用ã™ã‚‹ã¨ç•°å¸¸ãªçµæžœã«ãªã‚Šã¾ã™" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): å°æ•°ç‚¹ä»¥ä¸‹ã¯åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã™" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' ã¯ç„¡åŠ¹ãªãƒ­ã‚±ãƒ¼ãƒ«åŒºåˆ†ã§ã™" @@ -989,7 +981,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' 㯠gawk æ‹¡å¼µã§ã™" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "BINMODE 値 `%s' ã¯ç„¡åŠ¹ã§ã™ã€‚代ã‚ã‚Šã« 3 を使用ã—ã¾ã™" @@ -1003,108 +995,108 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "`LINT' ã¸ã®ä»£å…¥ã«å¾“ã„ `--lint' を無効ã«ã—ã¾ã™" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "関数å `%s' ã¯å¤‰æ•°ã¾ãŸã¯é…列ã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„引数 `%s' ã¸ã®å‚ç…§ã§ã™" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "éžæ•°å€¤ã‚’使用ã—ãŸãƒ•ã‚¤ãƒ¼ãƒ«ãƒ‰å‚ç…§ã®è©¦ã¿ã§ã™" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "NULL 文字列を使用ã—ã¦ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å‚照を試ã¿ã¦ã„ã¾ã™" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "フィールド %ld ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã®è©¦ã¿ã§ã™" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„フィールド `$%ld' ã¸ã®å‚ç…§ã§ã™" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "宣言ã•ã‚Œã¦ã„る数より多ã„引数を使ã£ã¦é–¢æ•° `%s' を呼ã³å‡ºã—ã¾ã—ãŸ" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: 予期ã—ãªã„åž‹ `%s' ã§ã™" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "`/=' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè¡Œã‚ã‚Œã¾ã—ãŸ" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "`%%=' 内ã§ã‚¼ãƒ­ã«ã‚ˆã‚‹é™¤ç®—ãŒè¡Œã‚ã‚Œã¾ã—ãŸ" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "スカラーコンテキスト内ã§é…列 `%s[\"%.*s\"]' ã®ä½¿ç”¨ã®è©¦ã¿ã§ã™" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "æ¡ä»¶ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã§ä»£å…¥ãŒä½¿ç”¨ã•ã‚Œã¾ã—ãŸ" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "æ–‡ã«åŠ¹æžœãŒã‚ã‚Šã¾ã›ã‚“" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for ループ: ループ実行中ã«é…列 `%s' ã®ã‚µã‚¤ã‚ºãŒ %ld ã‹ã‚‰ %ld ã¸å¤‰æ›´ã•ã‚Œã¾ã—ãŸ" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "`%s' を通ã—ã¦é–“接的ã«å‘¼ã³å‡ºã•ã‚ŒãŸé–¢æ•°ãŒå­˜åœ¨ã—ã¾ã›ã‚“" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "関数 `%s' ã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "`%s' ルールã®å†…å´ã§ã¯ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¦ã„ãªã„ `getline' ã¯ç„¡åŠ¹ã§ã™" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "入力ファイル `%s' を読ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "`nextfile' 㯠`%s' ルールã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" -#: eval.c:2661 +#: eval.c:2681 #, fuzzy msgid "`exit' cannot be called in the current context" msgstr "`next' 㯠`%s' ã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "`next' 㯠`%s' ã‹ã‚‰å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "申ã—訳ã‚ã‚Šã¾ã›ã‚“㌠`%s' ã‚’ã©ã®ã‚ˆã†ã«è§£é‡ˆã™ã‚‹ã‹åˆ†ã‹ã‚Šã¾ã›ã‚“" @@ -1172,27 +1164,27 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: 関数 `%s' ã®å¼•æ•°ã®æ•°ãŒè² ã§ã™" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "関数 `%s' ã«ä½¿ãˆã‚‹å¼•æ•°ã®æ•°ã¯ `%d' 以下ã¨å®šç¾©ã•ã‚Œã¦ã„ã¾ã™" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "関数 `%s': 引数 #%d ãŒã‚ã‚Šã¾ã›ã‚“" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "関数 `%s': 引数 #%d: スカラーをé…列ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "関数 `%s': 引数 #%d: é…列をスカラーã¨ã—ã¦ä½¿ç”¨ã™ã‚‹è©¦ã¿ã§ã™" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "ã“ã®æ“作ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" @@ -1460,7 +1452,7 @@ msgid "no explicit close of file `%s' provided" msgstr "ファイル `%s' を明示ã—ã¦é–‰ã˜ã¦ã„ã¾ã›ã‚“。" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "標準出力ã¸ã®æ›¸è¾¼ã¿ã‚¨ãƒ©ãƒ¼ (%s)" @@ -1518,92 +1510,92 @@ msgid "TCP/IP communications are not supported" msgstr "TCP/IP 通信ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "`%s' をモード `%s' ã§é–‹ã‘ã¾ã›ã‚“" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "マスター pty ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "å­ãƒ—ロセスãŒæ¨™æº–出力を閉ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)" -#: io.c:1752 +#: io.c:1757 #, c-format msgid "moving slave pty to stdout in child failed (dup: %s)" msgstr "å­ãƒ—ロセスãŒã‚¹ãƒ¬ãƒ¼ãƒ– pty を標準出力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。" -#: io.c:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "å­ãƒ—ロセスãŒæ¨™æº–入力を閉ã˜ã‚‰ã‚Œã¾ã›ã‚“ (%s)。" -#: io.c:1757 +#: io.c:1762 #, c-format msgid "moving slave pty to stdin in child failed (dup: %s)" msgstr "å­ãƒ—ロセスãŒã‚¹ãƒ¬ãƒ¼ãƒ– pty を標準入力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。" -#: io.c:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "スレーブ pty ã‚’é–‰ã˜ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—㟠(%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" msgstr "å­ãƒ—ロセスãŒãƒ‘イプを標準出力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。" -#: io.c:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" msgstr "å­ãƒ—ロセスãŒãƒ‘イプを標準入力ã«ç§»å‹•ã§ãã¾ã›ã‚“ (dup: %s)。" -#: io.c:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "親プロセスãŒæ¨™æº–出力を復旧ã§ãã¾ã›ã‚“。\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "親プロセスãŒæ¨™æº–入力を復旧ã§ãã¾ã›ã‚“。\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "パイプを閉ã˜ã‚‰ã‚Œã¾ã›ã‚“ (%s)。" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "`|&' ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "パイプ `%s' ãŒé–‹ã‘ã¾ã›ã‚“ (%s)。" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "`%s' 用ã®å­ãƒ—ロセスを実行ã§ãã¾ã›ã‚“ (fork: %s)。" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "データファイル `%s' ã¯ç©ºã§ã™ã€‚" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "入力用メモリーをã“れ以上確ä¿ã§ãã¾ã›ã‚“。" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "複数ã®æ–‡å­—ã‚’ `RS' ã«ä½¿ç”¨ã™ã‚‹ã®ã¯ gawk 特有ã®æ‹¡å¼µã§ã™ã€‚" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "IPv6 通信ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" @@ -1652,141 +1644,142 @@ "ã™ã€‚" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "`--posix' 㯠`--binary' を上書ãã—ã¾ã™" -#: main.c:613 +#: main.c:616 #, c-format msgid "can't set binary mode on stdin (%s)" msgstr "標準入力をãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)" -#: main.c:616 +#: main.c:619 #, c-format msgid "can't set binary mode on stdout (%s)" msgstr "標準出力をãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)" -#: main.c:618 +#: main.c:621 #, c-format msgid "can't set binary mode on stderr (%s)" msgstr "標準エラーをãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰ã«è¨­å®šã§ãã¾ã›ã‚“ (%s)" -#: main.c:657 +#: main.c:660 msgid "no program text at all!" msgstr "プログラム文ãŒå…¨ãã‚ã‚Šã¾ã›ã‚“!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "使用法: %s [POSIX ã¾ãŸã¯ GNU å½¢å¼ã®ã‚ªãƒ—ション] -f progfile [--] file ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" "使用法: %s [POSIX ã¾ãŸã¯ GNU å½¢å¼ã®ã‚ªãƒ—ション] [--] %cprogram%c file ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX オプション:\t\tGNU é•·ã„å½¢å¼ã®ã‚ªãƒ—ション: (標準)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f progfile\t\t--file=progfile\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=val\t\t--assign=var=val\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "短ã„オプション:\t\tGNU é•·ã„å½¢å¼ã®ã‚ªãƒ—ション: (æ‹¡å¼µ)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[file]\t\t--dump-variables[=file]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'program-text'\t--source='program-text'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E file\t\t\t--exec=file\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[file]\t\t--profile[=file]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R file\t\t\t--command=file\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1795,7 +1788,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1810,7 +1803,7 @@ "翻訳ã«é–¢ã™ã‚‹ãƒã‚°ã¯ã«å ±å‘Šã—ã¦ãã ã•" "ã„。\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1820,7 +1813,7 @@ "デフォルト設定ã§ã¯ã€æ¨™æº–入力を読ã¿è¾¼ã¿ã€æ¨™æº–出力ã«æ›¸ã出ã—ã¾ã™ã€‚\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1830,7 +1823,7 @@ "\tgawk '{ sum += $1 }; END { print sum }' file\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1849,7 +1842,7 @@ "(at your option) any later version.\n" "\n" -#: main.c:815 +#: main.c:818 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" @@ -1863,7 +1856,7 @@ "GNU General Public License for more details.\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1871,16 +1864,16 @@ "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:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "POSIX awk ã§ã¯ -Ft 㯠FS をタブã«è¨­å®šã—ã¾ã›ã‚“" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "フィールド指定ã«ä¸æ˜Žãªå€¤ãŒã‚ã‚Šã¾ã™: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1889,48 +1882,48 @@ "%s: オプション `-v' ã®å¼•æ•° `%s' ㌠`変数=代入値' ã®å½¢å¼ã«ãªã£ã¦ã„ã¾ã›ã‚“。\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' ã¯ä¸æ­£ãªå¤‰æ•°åã§ã™" -#: main.c:1200 +#: main.c:1203 #, c-format msgid "`%s' is not a variable name, looking for file `%s=%s'" msgstr "`%s' ã¯å¤‰æ•°åã§ã¯ã‚ã‚Šã¾ã›ã‚“。`%s=%s' ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã—ã¾ã™ã€‚" -#: main.c:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "gawk ã«çµ„ã¿è¾¼ã¿ã® `%s' ã¯å¤‰æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "関数 `%s' ã¯å¤‰æ•°åã¨ã—ã¦ä½¿ç”¨å‡ºæ¥ã¾ã›ã‚“" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "浮動å°æ•°ç‚¹ä¾‹å¤–" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "致命的エラー: 内部エラー" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "致命的エラー: 内部エラー: セグメンテーションé•å" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "致命的エラー: 内部エラー: スタックオーãƒãƒ¼ãƒ•ãƒ­ãƒ¼" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "fd %d ãŒäº‹å‰ã«é–‹ã„ã¦ã„ã¾ã›ã‚“。" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "事å‰ã« fd %d 用㫠/dev/null ã‚’é–‹ã‘ã¾ã›ã‚“。" @@ -2126,6 +2119,15 @@ msgid "No previous regular expression" msgstr "以å‰ã«æ­£è¦è¡¨ç¾ãŒã‚ã‚Šã¾ã›ã‚“" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "`%s' ã¯ãƒ™ãƒ«ç ”究所ã«ã‚ˆã‚‹æ‹¡å¼µã§ã™" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "`nextfile' 㯠gawk æ‹¡å¼µã§ã™" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "`delete array' 㯠gawk æ‹¡å¼µã§ã™" + #~ msgid "could not find groups: %s" #~ msgstr "グループãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" diff -urN gawk-4.0.1/po/nl.po gawk-4.0.2/po/nl.po --- gawk-4.0.1/po/nl.po 2012-03-28 22:03:47.000000000 +0200 +++ gawk-4.0.2/po/nl.po 2012-12-25 20:40:14.000000000 +0200 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-01-30 20:40+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" @@ -45,9 +45,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "scalair '%s' wordt gebruikt als array" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, 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 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: index '%s' niet in array '%s'" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "scalair '%s[\"%.*s\"]' wordt gebruikt als array" @@ -151,375 +151,362 @@ msgid "sort comparison function `%s' is not defined" msgstr "sorteervergelijkingsfunctie '%s' is niet gedefinieerd" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "%s-blokken horen een actiedeel te hebben" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "elke regel hoort een patroon of een actiedeel te hebben" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "oude 'awk' staat meerdere 'BEGIN'- en 'END'-regels niet toe" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "'%s' is een ingebouwde functie en is niet te herdefiniëren" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "regexp-constante '//' lijkt op C-commentaar, maar is het niet" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "regexp-constante '/%s/' lijkt op C-commentaar, maar is het niet" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "dubbele 'case'-waarde in 'switch'-opdracht: %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "dubbele 'default' in 'switch'-opdracht" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "'break' buiten een lus of 'switch'-opdracht is niet toegestaan" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "'continue' buiten een lus is niet toegestaan" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "'next' wordt gebruikt in %s-actie" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "'nextfile' is een gawk-uitbreiding" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "'nextfile' wordt gebruikt in %s-actie" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "'return' wordt gebruikt buiten functiecontext" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "kale 'print' in BEGIN- of END-regel moet vermoedelijk 'print \"\"' zijn" -#: 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:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "'delete(array)' is een niet-overdraagbare 'tawk'-uitbreiding" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "meerfase-tweerichtings-pijplijnen werken niet" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "reguliere expressie rechts van toewijzing" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "reguliere expressie links van operator '~' of '!~'" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "oude 'awk' kent het sleutelwoord 'in' niet, behalve na 'for'" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "reguliere expressie rechts van vergelijking" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "'getline var' is ongeldig binnen een '%s'-regel" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "'getline' is ongeldig binnen een '%s'-regel" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "niet-omgeleide 'getline' is ongedefinieerd binnen een END-actie" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "oude 'awk' kent geen meerdimensionale arrays" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "aanroep van 'length' zonder haakjes is niet overdraagbaar" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "indirecte functieaanroepen zijn een gawk-uitbreiding" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" "kan speciale variabele '%s' niet voor indirecte functieaanroep gebruiken" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "ongeldige index-expressie" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "non-array wordt gebruikt als array" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "waarschuwing: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "fataal: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "onverwacht regeleinde of einde van string" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "kan bronbestand '%s' niet openen om te lezen (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "reden onbekend" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "bronbestand '%s' is reeds ingesloten" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "'@include' is een gawk-uitbreiding" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "lege bestandsnaam na '@include'" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "lege programmatekst op commandoregel" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "kan bronbestand '%s' niet lezen (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "bronbestand '%s' is leeg" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "bronbestand eindigt niet met een regeleindeteken (LF)" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "onafgesloten reguliere expressie eindigt met '\\' aan bestandseinde" -#: awkgram.y:2924 +#: awkgram.y:2921 #, 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:2928 +#: awkgram.y:2925 #, c-format msgid "tawk regex modifier `/.../%c' doesn't work in gawk" msgstr "regexp-optie '/.../%c' van 'tawk' werkt niet in gawk" -#: awkgram.y:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "onafgesloten reguliere expressie" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "onafgesloten reguliere expressie aan bestandseinde" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "gebruik van regelvoortzetting '\\ #...' is niet overdraagbaar" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "backslash is niet het laatste teken op de regel" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX staat operator '**=' niet toe" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "oude 'awk' kent de operator '**=' niet" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX staat operator '**' niet toe" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "oude 'awk' kent de operator '**' niet" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "oude 'awk' kent de operator '^=' niet" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "oude 'awk' kent de operator '^' niet" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "onafgesloten string" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "ongeldig teken '%c' in expressie" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "'%s' is een gawk-uitbreiding" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "'%s' is een uitbreiding door Bell Labs" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX staat '%s' niet toe" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "oude 'awk' kent '%s' niet" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "'goto' wordt als schadelijk beschouwd!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d is een ongeldig aantal argumenten voor %s" -#: awkgram.y:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s: derde parameter is geen veranderbaar object" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: derde argument is een gawk-uitbreiding" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: tweede argument is een gawk-uitbreiding" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcgettext(_\"...\") is onjuist: verwijder het liggende streepje" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcngettext(_\"...\") is onjuist: verwijder het liggende streepje" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "functie '%s': parameter #%d, '%s', dupliceert parameter #%d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "functie '%s': parameter '%s' schaduwt een globale variabele" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "kan '%s' niet openen om te schrijven (%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "variabelenlijst gaat naar standaardfoutuitvoer" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: sluiten is mislukt (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() twee keer aangeroepen!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "er waren geschaduwde variabelen." -#: awkgram.y:4206 +#: awkgram.y:4198 #, c-format msgid "function `%s': can't use function name as parameter name" msgstr "functie '%s': kan functienaam niet als parameternaam gebruiken" -#: awkgram.y:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "functienaam '%s' is al eerder gedefinieerd" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "functie '%s' wordt aangeroepen maar is nergens gedefinieerd" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "functie '%s' is gedefinieerd maar wordt nergens direct aangeroepen" -#: awkgram.y:4435 +#: awkgram.y:4427 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "regexp-constante als parameter #%d levert booleanwaarde op" -#: awkgram.y:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -528,11 +515,11 @@ "functie '%s' wordt aangeroepen met een spatie tussen naam en '(',\n" "of wordt gebruikt als variabele of array" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "deling door nul" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "deling door nul in '%%'" @@ -555,203 +542,208 @@ msgid "exp: argument %g is out of range" msgstr "exp: argument %g ligt buiten toegestane bereik" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: kan pijp niet leegmaken: '%s' is geopend om te lezen, niet om te " "schrijven" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: kan bestand niet leegmaken: '%s' is geopend om te lezen, niet om te " "schrijven" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: '%s' is geen open bestand, pijp, of co-proces" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: eerste argument is geen string" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: tweede argument is geen string" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: argument is geen getal" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: argument is een array" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "'length(array)' is een gawk-uitbreiding" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: argument is geen string" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: argument is geen getal" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: argument %g is negatief" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 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:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "veldbreedte wordt genegeerd voor opmaakaanduiding '%%'" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "veldprecisie wordt genegeerd voor opmaakaanduiding '%%'" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "veldbreedte en -precisie worden genegeerd voor opmaakaanduiding '%%'" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "fataal: '$' is niet toegestaan in awk-opmaak" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "fataal: het aantal argumenten met '$' moet > 0 zijn" -#: builtin.c:830 +#: builtin.c:846 #, 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:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "fataal: '$' is niet toegestaan na een punt in de opmaak" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "fataal: geen '$' opgegeven bij positionele veldbreedte of -precisie" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "'l' is betekenisloos in awk-opmaak; genegeerd" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "fataal: 'l' is niet toegestaan in POSIX awk-opmaak" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "'L' is betekenisloos in awk-opmaak; genegeerd" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "fataal: 'L' is niet toegestaan in POSIX awk-opmaak" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "'h' is betekenisloos in awk-opmaak; genegeerd" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "fataal: 'h' is niet toegestaan in POSIX awk-opmaak" -#: builtin.c:1272 +#: builtin.c:1288 #, 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:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" "onbekend opmaakteken '%c' wordt genegeerd: geen argument is geconverteerd" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "fataal: niet genoeg argumenten voor opmaakstring" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "niet genoeg ^ voor deze" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: opmaakaanduiding mist een stuurletter" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "te veel argumenten voor opmaakstring" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: argument %g is negatief" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: geen argumenten" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: argument is geen getal" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: argument %g is negatief" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: lengte %g is niet >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: lengte %g is niet >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, c-format msgid "substr: non-integer length %g will be truncated" msgstr "substr: lengte %g is geen integer; wordt afgekapt" -#: builtin.c:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: startindex %g is ongeldig; 1 wordt gebruikt" -#: builtin.c:1534 +#: builtin.c:1553 #, c-format msgid "substr: non-integer start index %g will be truncated" msgstr "substr: startindex %g is geen integer; wordt afgekapt" -#: builtin.c:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: bronstring heeft lengte nul" -#: builtin.c:1575 +#: builtin.c:1594 #, 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:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -759,203 +751,203 @@ "substr: lengte %g bij startindex %g is groter dan de lengte van het eerste " "argument (%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "strftime: opmaakwaarde in PROCINFO[\"strftime\"] is numeriek" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: tweede argument is geen getal" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "strftime: tweede argument is kleiner dan nul of te groot voor 'time_t'" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: eerste argument is geen string" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: opmaakstring is leeg" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: argument is geen string" -#: builtin.c:1779 +#: builtin.c:1798 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:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "'system'-functie is niet toegestaan in sandbox-modus" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: argument is geen string" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "verwijzing naar ongeïnitialiseerde variabele '%s'" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "verwijzing naar ongeïnitialiseerd veld '$%d'" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: argument is geen string" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: argument is geen string" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: eerste argument is geen getal" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: tweede argument is geen getal" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: argument is geen getal" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: argument is geen getal" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: argument is geen getal" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: derde argument is geen array" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: derde argument is 0; wordt beschouwd als 1" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: eerste argument is geen getal" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: tweede argument is geen getal" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "lshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: eerste argument is geen getal" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: tweede argument is geen getal" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "rshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: eerste argument is geen getal" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: tweede argument is geen getal" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: eerste argument is geen getal" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: tweede argument is geen getal" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: eerste argument is geen getal" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: tweede argument is geen getal" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): negatieve waarden geven rare resultaten" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): cijfers na de komma worden afgekapt" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: argument is geen getal" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): negatieve waarden geven rare resultaten" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): cijfers na de komma worden afgekapt" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: '%s' is geen geldige taalregio-deelcategorie" @@ -998,7 +990,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "'BINMODE' is een gawk-uitbreiding" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "BINMODE-waarde '%s' is ongeldig, wordt behandeld als 3" @@ -1012,108 +1004,108 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "'--lint' wordt uitgeschakeld wegens toewijzing aan 'LINT'" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "kan functienaam '%s' niet als variabele of array gebruiken" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "verwijzing naar ongeïnitialiseerd argument '%s'" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "veldverwijzingspoging via een waarde die geen getal is" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "veldverwijzingspoging via een lege string" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "toegangspoging tot veld %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "verwijzing naar ongeïnitialiseerd veld '$%ld'" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "functie '%s' aangeroepen met meer argumenten dan gedeclareerd" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack(): onverwacht type '%s'" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "deling door nul in '/='" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "deling door nul in '%%='" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "array '%s[\"%.*s\"]' wordt gebruikt in een scalaire context" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "toewijzing wordt gebruikt in een conditionele context" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "opdracht heeft geen effect" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "for: array '%s' veranderde van grootte %ld naar %ld tijdens uitvoer van de " "lus" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "indirect (via '%s') aangeroepen functie bestaat niet" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "functie '%s' is niet gedefinieerd" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "niet-omgeleide 'getline' is ongeldig binnen een '%s'-regel" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "fout tijdens lezen van invoerbestand '%s': %s" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "'nextfile' kan niet aangeroepen worden in een '%s'-regel" -#: eval.c:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "'exit' kan niet aangeroepen worden in de huidige context" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "'next' kan niet aangeroepen worden in een '%s'-regel" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Kan '%s' niet interpreteren" @@ -1181,28 +1173,28 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: negatief aantal argumenten voor functie '%s'" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "" "functie '%s' is gedefinieerd om niet meer dan %d argument(en) te accepteren" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "functie '%s': ontbrekend argument #%d" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "functie '%s': argument #%d: een scalair wordt gebruikt als array" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "functie '%s': argument #%d: een array wordt gebruikt als scalair" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Actie wordt niet ondersteund" @@ -1481,7 +1473,7 @@ msgid "no explicit close of file `%s' provided" msgstr "geen expliciete sluiting van bestand '%s' aangegeven" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "fout tijdens schrijven van standaarduitvoer (%s)" @@ -1538,98 +1530,98 @@ msgid "TCP/IP communications are not supported" msgstr "TCP/IP-communicatie wordt niet ondersteund" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "kan '%s' niet openen -- modus '%s'" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "kan meester-pty van dochterproces niet sluiten (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "kan standaarduitvoer van dochterproces niet sluiten (%s)" -#: io.c:1752 +#: io.c:1757 #, 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:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "kan standaardinvoer van dochterproces niet sluiten (%s)" -#: io.c:1757 +#: io.c:1762 #, 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:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "kan slaaf-pty niet sluiten (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, 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:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, 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:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "kan standaarduitvoer van ouderproces niet herstellen\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "kan standaardinvoer van ouderproces niet herstellen\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "kan pijp niet sluiten (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "'|&' wordt niet ondersteund" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "kan pijp '%s' niet openen (%s)" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "kan voor '%s' geen dochterproces starten (fork: %s)" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "databestand '%s' is leeg" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "kan geen extra invoergeheugen meer toewijzen" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "een 'RS' van meerdere tekens is een gawk-uitbreiding" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "IPv6-communicatie wordt niet ondersteund" @@ -1673,143 +1665,144 @@ msgstr "het uitvoeren van %s als 'setuid root' kan een veiligheidsrisico zijn" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "'--posix' overstijgt '--binary'" -#: main.c:613 +#: main.c:616 #, 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:619 #, 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:621 #, 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:660 msgid "no program text at all!" msgstr "helemaal geen programmatekst!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "Gebruik: %s [opties] -f programmabestand [--] bestand...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "" " of: %s [opties] [--] %cprogrammatekst%c bestand...\n" "\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "\tPOSIX-opties:\t\tEquivalente GNU-opties: (standaard)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f programmabestand\t--file=programmabestand\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F veldscheidingsteken\t--field-separator=veldscheidingsteken\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "" "\t-v var=waarde\t\t--assign=var=waarde\n" "\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "\tKorte opties:\t\tEquivalente GNU-opties: (uitbreidingen)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[bestand]\t\t--dump-variables[=bestand]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'programmatekst'\t--source='programmatekst'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E bestand\t\t--exec=bestand\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fataal]\t\t--lint[=fataal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[bestand]\t\t--profile[=bestand]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R bestand\t\t\t--command=bestand\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t\t--parsedebug\n" @@ -1818,7 +1811,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1831,7 +1824,7 @@ "Meld fouten in de vertaling aan .\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1841,7 +1834,7 @@ "Standaard leest het van standaardinvoer en schrijft naar standaarduitvoer.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1851,7 +1844,7 @@ "\tgawk '{ som += $1 }; END { print som }' bestand\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1869,7 +1862,7 @@ "uitgegeven door de Free Software Foundation, naar keuze ofwel onder\n" "versie 3 of onder een nieuwere versie van die licentie.\n" -#: main.c:815 +#: main.c:818 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" @@ -1883,7 +1876,7 @@ "Zie de GNU General Public License voor meer details.\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1892,16 +1885,16 @@ "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:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft maakt van FS geen tab in POSIX-awk" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "onbekende waarde voor veldspecificatie: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1910,48 +1903,48 @@ "%s: argument '%s' van '-v' is niet van de vorm 'var=waarde'\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "'%s' is geen geldige variabelenaam" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "kan in gawk ingebouwde '%s' niet als variabelenaam gebruiken" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "kan functie '%s' niet als variabelenaam gebruiken" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "drijvendekomma-berekeningsfout" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "fatale fout: **interne fout**" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "fatale fout: **interne fout**: segmentatiefout" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "fatale fout: **interne fout**: stack is vol" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "geen reeds-geopende bestandsdescriptor %d" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "kan /dev/null niet openen voor bestandsdescriptor %d" @@ -2152,6 +2145,15 @@ msgid "No previous regular expression" msgstr "Geen eerdere reguliere expressie" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "'%s' is een uitbreiding door Bell Labs" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "'nextfile' is een gawk-uitbreiding" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "'delete array' is een gawk-uitbreiding" + #~ msgid "could not find groups: %s" #~ msgstr "kan groepen niet vinden: %s" diff -urN gawk-4.0.1/po/pl.po gawk-4.0.2/po/pl.po --- gawk-4.0.1/po/pl.po 2012-03-28 22:03:47.000000000 +0200 +++ gawk-4.0.2/po/pl.po 2012-12-25 20:40:14.000000000 +0200 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-02-04 19:17+0100\n" "Last-Translator: Wojciech Polak \n" "Language-Team: Polish \n" @@ -44,9 +44,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "próba użycia skalaru `%s' jako tablicy" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, 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 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: indeks `%s' nie jest w tablicy `%s'" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, c-format msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "próba użycia skalaru `%s[\"%.*s\"]' jako tablicy" @@ -146,388 +146,375 @@ msgid "sort comparison function `%s' is not defined" msgstr "funkcja porównujÄ…ca w sortowaniu `%s' nie zostaÅ‚a zdefiniowna" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "%s bloków musi posiadać część dotyczÄ…cÄ… akcji" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "każda reguÅ‚a musi posiadać wzorzec lub część dotyczÄ…cÄ… akcji" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "stary awk nie wspiera wielokrotnych reguÅ‚ `BEGIN' lub `END'" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "" "`%s' jest funkcjÄ… wbudowanÄ…, wiÄ™c nie może zostać ponownie zdefiniowana" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "" "staÅ‚e wyrażenie regularne `//' wyglÄ…da jak komentarz C++, ale nim nie jest" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "" "staÅ‚e wyrażenie regularne `/%s/' wyglÄ…da jak komentarz C, ale nim nie jest" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "powielone wartoÅ›ci case w ciele switch: %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "wykryto powielony `default' w ciele switch" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "instrukcja `break' poza pÄ™tlÄ… lub switch'em jest niedozwolona" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "instrukcja `continue' poza pÄ™tlÄ… jest niedozwolona" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "`next' użyty w akcji %s" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "`nextfile' jest rozszerzeniem gawk" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "`nextfile' użyty w akcji %s" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "`return' użyty poza kontekstem funkcji" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "zwykÅ‚y `print' w reguÅ‚ach BEGIN lub END powinien prawdopodobnie być jako " "`print \"\"'" -#: awkgram.y:995 awkgram.y:999 awkgram.y:1023 -msgid "`delete array' is a gawk extension" -msgstr "`delete tablica' jest rozszerzeniem gawk" - -#: awkgram.y:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "`delete(tablica)' jest nieprzenoÅ›nym rozszerzeniem tawk" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "wieloetapowe dwukierunkowe linie potokowe nie dziaÅ‚ajÄ…" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "wyrażanie regularne po prawej stronie przypisania" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "wyrażenie regularne po lewej stronie operatora `~' lub `!~'" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "" "stary awk nie wspiera sÅ‚owa kluczowego `in', z wyjÄ…tkiem po sÅ‚owie `for'" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "wyrażenie regularne po prawej stronie porównania" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "nieprawidÅ‚owy `getline var' wewnÄ…trz reguÅ‚y `%s'" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "nieprawidÅ‚owy `getline' wewnÄ…trz reguÅ‚y `%s'" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "" "komenda `getline' bez przekierowania nie jest zdefiniowana wewnÄ…trz akcji END" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "stary awk nie wspiera wielowymiarowych tablic" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "wywoÅ‚anie `length' bez nawiasów jest nieprzenoÅ›ne" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "poÅ›rednie wywoÅ‚ania funkcji sÄ… rozszerzeniem gawk" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" "nie można użyć specjalnej zmiennej `%s' do poÅ›redniego wywoÅ‚ania funkcji" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "nieprawidÅ‚owe wyrażenie indeksowe" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "użycie nie-tablicy jako tablicy" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "ostrzeżenie: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "fatalny bÅ‚Ä…d: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "niespodziewany znak nowego wiersza lub koÅ„ca Å‚aÅ„cucha" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "nie można otworzyć pliku źródÅ‚owego `%s' do czytania (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "nieznany powód" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "plik źródÅ‚owy `%s' jest już zaÅ‚Ä…czony" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include jest rozszerzeniem gawk" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "pusta nazwa pliku po @include" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "pusty tekst programu w linii poleceÅ„" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "nie można otworzyć pliku źródÅ‚owego `%s' (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "plik źródÅ‚owy `%s' jest pusty" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "plik źródÅ‚owy nie posiada na koÅ„cu znaku nowego wiersza" -#: awkgram.y:2900 +#: awkgram.y:2897 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:2924 +#: awkgram.y:2921 #, 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:2928 +#: awkgram.y:2925 #, 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:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "niezakoÅ„czone wyrażenie regularne" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "niezakoÅ„czone wyrażenie regularne na koÅ„cu pliku" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "użycie `\\ #...' kontynuacji linii nie jest przenoÅ›ne" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "backslash nie jest ostatnim znakiem w wierszu" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX nie zezwala na operator `**='" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "stary awk nie wspiera operatora `**='" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX nie zezwala na operator `**'" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "stary awk nie wspiera operatora `**'" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "operator `^=' nie jest wspierany w starym awk" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "operator `^' nie jest wspierany w starym awk" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "niezakoÅ„czony Å‚aÅ„cuch" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "nieprawidÅ‚owy znak '%c' w wyrażeniu" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "`%s' jest rozszerzeniem gawk" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "`%s' jest rozszerzeniem Bell Labs" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX nie zezwala na `%s'" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "`%s' nie jest wspierany w starym awk" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "`goto' uważane za szkodliwe!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, 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:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s trzeci parametr nie jest zmiennym obiektem" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: trzeci argument jest rozszerzeniem gawk" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: drugi argument jest rozszerzeniem gawk" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "nieprawidÅ‚owe użycie dcgettext(_\"...\"): usuÅ„ znak podkreÅ›lenia" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "nieprawidÅ‚owe użycie dcngettext(_\"...\"): usuÅ„ znak podkreÅ›lenia" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funkcja `%s': parametr #%d, `%s', powiela parametr #%d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funkcja `%s': parametr `%s' zasÅ‚ania globalnÄ… zmiennÄ…" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "nie można otworzyć `%s' do zapisu (%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "wysyÅ‚anie listy zmiennych na standardowe wyjÅ›cie diagnostyczne" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: zamkniÄ™cie nie powiodÅ‚o siÄ™ (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() wywoÅ‚ana podwójnie!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "wystÄ…piÅ‚y przykryte zmienne." -#: awkgram.y:4206 +#: awkgram.y:4198 #, 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:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "nazwa funkcji `%s' zostaÅ‚a zdefiniowana poprzednio" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "funkcja `%s' zostaÅ‚a wywoÅ‚ana, ale nigdy nie zostaÅ‚a zdefiniowana" -#: awkgram.y:4403 +#: awkgram.y:4395 #, 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:4435 +#: awkgram.y:4427 #, 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:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -537,11 +524,11 @@ "`(',\n" "lub użyta jako zmienna lub jako tablica" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "próba dzielenia przez zero" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "próba dzielenia przez zero w `%%'" @@ -564,206 +551,211 @@ msgid "exp: argument %g is out of range" msgstr "exp: argument %g jest poza zasiÄ™giem" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: nie można opróżnić: potok `%s' otwarty do czytania, a nie do zapisu" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: nie można opróżnić: plik `%s' otwarty do czytania, a nie do zapisu" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: `%s' nie jest ani otwartym plikiem, ani potokiem, ani procesem" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: otrzymano pierwszy argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: otrzymano drugi argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: otrzymano argument, który nie jest liczbÄ…" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: otrzymano argument, który jest tablicÄ…" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "`length(tablica)' jest rozszerzeniem gawk" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: otrzymano argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: otrzymano argument, który nie jest liczbÄ…" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: otrzymano ujemny argument %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 msgid "fatal: must use `count$' on all formats or none" msgstr "fatal: należy użyć `count$' we wszystkich formatach lub nic" -#: builtin.c:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "szerokość pola jest ignorowana dla specyfikatora `%%'" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "precyzja jest ignorowana dla specyfikatora `%%'" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "szerokość pola i precyzja sÄ… ignorowane dla specyfikatora `%%'" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "fatal: `$' jest niedozwolony w formatach awk" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "fatal: argument count z `$' musi być > 0" -#: builtin.c:830 +#: builtin.c:846 #, 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:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "fatal: `$' jest niedozwolony po kropce w formacie" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "fatal: brak `$' dla pozycyjnej szerokoÅ›ci pola lub precyzji" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "`l' jest bezsensowny w formatach awk; zignorowany" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "fatal: `l' jest niedozwolony w formatach POSIX awk" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "`L' jest bezsensowny w formatach awk; zignorowany" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "fatal: `L' jest niedozwolony w formatach POSIX awk" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "`h' jest bezsensowny w formatach awk; zignorowany" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "fatal: `h' jest niedozwolony w formatach POSIX awk" -#: builtin.c:1272 +#: builtin.c:1288 #, 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:1332 +#: builtin.c:1348 #, 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:1337 +#: builtin.c:1353 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:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "zabrakÅ‚o ^" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: specyfikator formatu nie posiada kontrolnej litery" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "zbyt dużo podanych argumentów w Å‚aÅ„cuchu formatujÄ…cym" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: wywoÅ‚ana z ujemnym argumentem %g" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: brak argumentów" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: otrzymano argument, który nie jest liczbÄ…" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: wywoÅ‚ana z ujemnym argumentem %g" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: dÅ‚ugość %g nie jest >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: dÅ‚ugość %g nie jest >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, 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:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, 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:1534 +#: builtin.c:1553 #, 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:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: Å‚aÅ„cuch źródÅ‚owy ma zerowÄ… dÅ‚ugość" -#: builtin.c:1575 +#: builtin.c:1594 #, 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:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -771,206 +763,206 @@ "substr: dÅ‚ugość %g zaczynajÄ…c od %g przekracza dÅ‚ugość pierwszego argumentu " "(%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "" "strftime: wartość formatu w PROCINFO[\"strftime\"] posiada typ numeryczny" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: otrzymano drugi argument, który nie jest liczbÄ…" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "strftime: drugi argument mniejszy od 0 lub zbyt duży dla time_t" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: otrzymano pierwszy argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: otrzymano pusty Å‚aÅ„cuch formatujÄ…cy" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: otrzymano argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:1779 +#: builtin.c:1798 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:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "funkcja 'system' nie jest dozwolona w trybie piaskownicy" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: otrzymano argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "odwoÅ‚anie do niezainicjowanej zmiennej `%s'" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "odwoÅ‚anie do niezainicjowanego pola `$%d'" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: otrzymano argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: otrzymano argument, który nie jest Å‚aÅ„cuchem" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: otrzymano pierwszy argument, który nie jest liczbÄ…" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: otrzymano drugi argument, który nie jest liczbÄ…" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: otrzymano argument, który nie jest liczbÄ…" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: otrzymano argument, który nie jest liczbÄ…" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: otrzymano argument, który nie jest liczbÄ…" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: otrzymano trzeci argument, który nie jest tablicÄ…" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: trzeci argument 0 potraktowany jako 1" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: otrzymano pierwszy argument, który nie jest liczbÄ…" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: otrzymano drugi argument, który nie jest liczbÄ…" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): ujemne wartoÅ›ci spowodujÄ… dziwne wyniki" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): uÅ‚amkowe wartoÅ›ci zostanÄ… obciÄ™te" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "" "lshift(%lf, %lf): zbyt duża wartość przesuniÄ™cia spowoduje dziwne wyniki" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: otrzymano pierwszy argument, który nie jest liczbÄ…" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: otrzymano drugi argument, który nie jest liczbÄ…" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): ujemne wartoÅ›ci spowodujÄ… dziwne wyniki" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): uÅ‚amkowe wartoÅ›ci zostanÄ… obciÄ™te" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "" "rshift(%lf, %lf): zbyt duża wartość przesuniÄ™cia spowoduje dziwne wyniki" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: otrzymano pierwszy argument, który nie jest liczbÄ…" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: otrzymano drugi argument, który nie jest liczbÄ…" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): ujemne wartoÅ›ci spowodujÄ… dziwne wyniki" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): uÅ‚amkowe wartoÅ›ci zostanÄ… obciÄ™te" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: otrzymano pierwszy argument, który nie jest liczbÄ…" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: otrzymano drugi argument, który nie jest liczbÄ…" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): ujemne wartoÅ›ci spowodujÄ… dziwne wyniki" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): uÅ‚amkowe wartoÅ›ci zostanÄ… obciÄ™te" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: otrzymano pierwszy argument, który nie jest liczbÄ…" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: otrzymano drugi argument, który nie jest liczbÄ…" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): ujemne wartoÅ›ci spowodujÄ… dziwne wyniki" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): uÅ‚amkowe wartoÅ›ci zostanÄ… obciÄ™te" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: otrzymano argument, który nie jest liczbÄ…" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): ujemne wartoÅ›ci spowodujÄ… dziwne wyniki" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): uÅ‚amkowe wartoÅ›ci zostanÄ… obciÄ™te" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: `%s' nie jest prawidÅ‚owÄ… kategoriÄ… lokalizacji" @@ -1013,7 +1005,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "`BINMODE' jest rozszerzeniem gawk" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "wartość BINMODE `%s' jest nieprawidÅ‚owa, przyjÄ™to jÄ… jako 3" @@ -1027,111 +1019,111 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "wyÅ‚Ä…czenie `--lint' z powodu przypisania do `LINT'" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "nie można użyć nazwy funkcji `%s' jako zmiennej lub tablicy" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "odwoÅ‚anie do niezainicjowanego argumentu `%s'" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "próba odwoÅ‚ania do pola poprzez nienumerycznÄ… wartość" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "próba odwoÅ‚ania z zerowego Å‚aÅ„cucha" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "próba dostÄ™pu do pola %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "odwoÅ‚anie do niezainicjowanego pola `$%ld'" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "" "funkcja `%s' zostaÅ‚a wywoÅ‚ana z wiÄ™kszÄ… iloÅ›ciÄ… argumentów niż zostaÅ‚o to " "zadeklarowane" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: niespodziewany typ `%s'" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "próba dzielenia przez zero w `/='" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "próba dzielenia przez zero w `%%='" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "próba użycia tablicy `%s[\"%.*s\"]' w kontekÅ›cie skalaru" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "przypisanie użyte w kontekÅ›cie warunkowym" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "instrukcja nie ma żadnego efektu" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "pÄ™tla for: tablica `%s' zmieniÅ‚a rozmiar z %ld do %ld podczas wykonywania " "pÄ™tli" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "poÅ›rednio wywoÅ‚ana funkcja poprzez `%s' nie istnieje" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "funkcja `%s' nie zostaÅ‚a zdefiniowana" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "" "komenda `getline' bez przekierowania jest nieprawidÅ‚owa wewnÄ…trz reguÅ‚y `%s'" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "bÅ‚Ä…d podczas czytania z pliku `%s': %s" -#: eval.c:2614 +#: eval.c:2634 #, 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:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "instrukcja `exit' nie może być wywoÅ‚ana w tym kontekÅ›cie" -#: eval.c:2700 +#: eval.c:2720 #, 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:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Niestety nie wiem jak zinterpretować `%s'" @@ -1198,27 +1190,27 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: ujemny licznik argumentów dla funkcji `%s'" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funkcja `%s' zdefiniowana aby pobrać nie wiÄ™cej niż %d argument(ów)" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "funkcja `%s': brakuje #%d argumentu" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "funkcja `%s': argument #%d: próba użycia skalaru jako tablicy" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "funkcja `%s': argument #%d: próba użycia tablicy jako skalaru" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Operacja nie jest wspierana" @@ -1496,7 +1488,7 @@ msgid "no explicit close of file `%s' provided" msgstr "brak jawnego zamkniÄ™cia pliku `%s'" -#: io.c:1129 io.c:1184 main.c:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "bÅ‚Ä…d podczas zapisu na standardowe wyjÅ›cie (%s)" @@ -1554,104 +1546,104 @@ msgid "TCP/IP communications are not supported" msgstr "Komunikacja TCP/IP nie jest wspierana" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "nie można otworzyć `%s', tryb `%s'" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "zamkniÄ™cie nadrzÄ™dnego pty nie powiodÅ‚o siÄ™ (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, 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:1752 +#: io.c:1757 #, 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:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, 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:1757 +#: io.c:1762 #, 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:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "zamkniÄ™cie podlegÅ‚ego pty nie powiodÅ‚o siÄ™ (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, 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:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, 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:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "" "odzyskanie standardowego wyjÅ›cia w procesie potomnym nie powiodÅ‚o siÄ™\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "" "odzyskanie standardowego wejÅ›cia w procesie potomnym nie powiodÅ‚o siÄ™\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "zamkniÄ™cie potoku nie powiodÅ‚o siÄ™ (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "`|&' nie jest wspierany" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "nie można otworzyć potoku `%s' (%s)" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "nie można utworzyć procesu potomnego dla `%s' (fork: %s)" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "plik danych `%s' jest pusty" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "nie można zarezerwować wiÄ™cej pamiÄ™ci wejÅ›ciowej" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "wieloznakowa wartość `RS' jest rozszerzeniem gawk" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "Komunikacja IPv6 nie jest wspierana" @@ -1697,140 +1689,141 @@ "uruchamianie %s setuid root może być problemem pod wzglÄ™dem bezpieczeÅ„stwa" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "opcja `--posix' zostanie użyta nad `--binary'" -#: main.c:613 +#: main.c:616 #, 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:619 #, 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:621 #, 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:660 msgid "no program text at all!" msgstr "brak tekstu programu!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Użycie: %s [styl opcji POSIX lub GNU] -f plik_z_programem [--] plik ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Użycie: %s [styl opcji POSIX lub GNU] [--] %cprogram%c plik ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "Opcje POSIX:\t\tDÅ‚ugie opcje GNU (standard):\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f program\t\t--file=program\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v zmienna=wartość\t--assign=zmienna=wartość\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "Krótkie opcje:\t\tDÅ‚ugie opcje GNU: (rozszerzenia)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[plik]\t\t--dump-variables[=plik]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'tekst-programu'\t--source='tekst-programu'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E plik\t\t\t--exec=plik\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[plik]\t\t--profile[=plik]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R plik\t\t\t--command=plik\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1839,7 +1832,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1852,7 +1845,7 @@ "dokumentacji.\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1862,7 +1855,7 @@ "Program domyÅ›lnie czyta standardowe wejÅ›cie i zapisuje standardowe wyjÅ›cie.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1872,7 +1865,7 @@ "\tgawk '{ suma += $1 }; END { print suma }' plik\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1891,7 +1884,7 @@ "tej Licencji lub którejÅ› z późniejszych wersji.\n" "\n" -#: main.c:815 +#: main.c:818 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" @@ -1906,7 +1899,7 @@ "PowszechnÄ… LicencjÄ™ PublicznÄ… GNU.\n" "\n" -#: main.c:821 +#: main.c:824 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" @@ -1915,16 +1908,16 @@ "Powszechnej Licencji Publicznej GNU (GNU General Public License);\n" "jeÅ›li zaÅ› nie - odwiedź stronÄ™ http://www.gnu.org/licenses/.\n" -#: main.c:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft nie ustawia FS na znak tabulatora w POSIX awk" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "nieznana wartość dla specyfikacji pola: %d\n" -#: main.c:1171 +#: main.c:1174 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -1933,48 +1926,48 @@ "%s: argument `%s' dla `-v' nie jest zgodny ze skÅ‚adniÄ… `zmienna=wartość'\n" "\n" -#: main.c:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "`%s' nie jest dozwolonÄ… nazwÄ… zmiennej" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "nie można użyć wbudowanej w gawk `%s' jako nazwy zmiennej" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "nie można użyć funkcji `%s' jako nazwy zmiennej" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "wyjÄ…tek zmiennopozycyjny" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "fatalny bÅ‚Ä…d: wewnÄ™trzny bÅ‚Ä…d" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "fatalny bÅ‚Ä…d: wewnÄ™trzny bÅ‚Ä…d: bÅ‚Ä…d segmentacji" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "fatalny bÅ‚Ä…d: wewnÄ™trzny bÅ‚Ä…d: przepeÅ‚nienie stosu" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "brak już otwartego fd %d" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "nie można otworzyć zawczasu /dev/null dla fd %d" @@ -2170,6 +2163,15 @@ msgid "No previous regular expression" msgstr "Brak poprzedniego wyrażenia regularnego" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "`%s' jest rozszerzeniem Bell Labs" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "`nextfile' jest rozszerzeniem gawk" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "`delete tablica' jest rozszerzeniem gawk" + #~ msgid "could not find groups: %s" #~ msgstr "nie można znaleźć grup: %s" diff -urN gawk-4.0.1/po/sv.po gawk-4.0.2/po/sv.po --- gawk-4.0.1/po/sv.po 2012-03-28 22:03:47.000000000 +0200 +++ gawk-4.0.2/po/sv.po 2012-12-25 20:40:14.000000000 +0200 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: gawk 4.0.0h\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2012-03-28 22:03+0200\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" "PO-Revision-Date: 2012-01-30 12:07+0100\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish \n" @@ -43,9 +43,9 @@ msgid "attempt to use scalar `%s' as an array" msgstr "försök att använda skalären \"%s\" som en vektor" -#: array.c:302 array.c:707 builtin.c:84 builtin.c:1385 builtin.c:1427 -#: builtin.c:1440 builtin.c:1859 builtin.c:1871 eval.c:1135 eval.c:1139 -#: eval.c:1495 eval.c:1812 +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 #, 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 @@ msgid "delete: index `%s' not in array `%s'" msgstr "delete: index \"%s\" finns inte i vektorn \"%s\"" -#: array.c:734 eval.c:1865 +#: array.c:734 eval.c:1873 #, 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" @@ -149,384 +149,371 @@ msgid "sort comparison function `%s' is not defined" msgstr "jämförelsefunktionen \"%s\" för sortering är inte definierad" -#: awkgram.y:249 +#: awkgram.y:250 #, c-format msgid "%s blocks must have an action part" msgstr "%s-block måste ha en åtgärdsdel" -#: awkgram.y:252 +#: awkgram.y:253 msgid "each rule must have a pattern or an action part" msgstr "varje regel måste ha ett mönster eller en åtgärdsdel" -#: awkgram.y:323 awkgram.y:334 +#: awkgram.y:324 awkgram.y:335 msgid "old awk does not support multiple `BEGIN' or `END' rules" msgstr "gamla awk stöder inte flera \"BEGIN\"- eller \"END\"-regler" -#: awkgram.y:371 +#: awkgram.y:372 #, c-format msgid "`%s' is a built-in function, it cannot be redefined" msgstr "\"%s\" är en inbyggd funktion, den kan inte definieras om" -#: awkgram.y:432 +#: awkgram.y:433 msgid "regexp constant `//' looks like a C++ comment, but is not" msgstr "regexp-konstanten \"//\" ser ut som en C++-kommentar men är inte det" -#: awkgram.y:436 +#: awkgram.y:437 #, c-format msgid "regexp constant `/%s/' looks like a C comment, but is not" msgstr "regexp-konstanten \"/%s/\" ser ut som en C-kommentar men är inte det" -#: awkgram.y:528 +#: awkgram.y:529 #, c-format msgid "duplicate case values in switch body: %s" msgstr "upprepade case-värden i switch-sats: %s" -#: awkgram.y:549 +#: awkgram.y:550 msgid "duplicate `default' detected in switch body" msgstr "flera \"default\" upptäcktes i switch-sats" -#: awkgram.y:809 +#: awkgram.y:810 msgid "`break' is not allowed outside a loop or switch" msgstr "\"break\" är inte tillåtet utanför en slinga eller switch" -#: awkgram.y:818 +#: awkgram.y:819 msgid "`continue' is not allowed outside a loop" msgstr "\"continue\" är inte tillåtet utanför en slinga" -#: awkgram.y:828 +#: awkgram.y:829 #, c-format msgid "`next' used in %s action" msgstr "\"next\" använt i %s-åtgärd" -#: awkgram.y:836 -msgid "`nextfile' is a gawk extension" -msgstr "\"nextfile\" är en gawk-utökning" - -#: awkgram.y:841 +#: awkgram.y:838 #, c-format msgid "`nextfile' used in %s action" msgstr "\"nextfile\" använt i %s-åtgärd" -#: awkgram.y:865 +#: awkgram.y:862 msgid "`return' used outside function context" msgstr "\"return\" använd utanför funktion" -#: awkgram.y:925 +#: awkgram.y:922 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" msgstr "" "ensamt \"print\" i BEGIN eller END-regel bör troligen vara 'print \"\"'" -#: 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:1019 +#: awkgram.y:1017 awkgram.y:1021 msgid "`delete(array)' is a non-portable tawk extension" msgstr "\"delete(array)\" är en icke portabel tawk-utökning" -#: awkgram.y:1135 +#: awkgram.y:1133 msgid "multistage two-way pipelines don't work" msgstr "flerstegs dubbelriktade rör fungerar inte" -#: awkgram.y:1238 +#: awkgram.y:1236 msgid "regular expression on right of assignment" msgstr "reguljärt uttryck i högerledet av en tilldelning" -#: awkgram.y:1249 +#: awkgram.y:1247 msgid "regular expression on left of `~' or `!~' operator" msgstr "reguljärt uttryck på vänster sida om en \"~\"- eller \"!~\"-operator" -#: awkgram.y:1265 awkgram.y:1419 +#: awkgram.y:1263 awkgram.y:1417 msgid "old awk does not support the keyword `in' except after `for'" msgstr "gamla awk stöder inte operatorn \"**\"" -#: awkgram.y:1275 +#: awkgram.y:1273 msgid "regular expression on right of comparison" msgstr "reguljärt uttryck i högerledet av en jämförelse" -#: awkgram.y:1394 +#: awkgram.y:1392 #, c-format msgid "`getline var' invalid inside `%s' rule" msgstr "\"getline var\" är ogiltigt inuti \"%s\"-regel" -#: awkgram.y:1397 eval.c:2504 +#: awkgram.y:1395 eval.c:2524 #, c-format msgid "`getline' invalid inside `%s' rule" msgstr "\"getline är ogiltigt inuti \"%s\"-regel" -#: awkgram.y:1402 +#: awkgram.y:1400 msgid "non-redirected `getline' undefined inside END action" msgstr "icke omdirigerad \"getline\" odefinierad inuti END-åtgärd" -#: awkgram.y:1421 +#: awkgram.y:1419 msgid "old awk does not support multidimensional arrays" msgstr "gamla awk stöder inte flerdimensionella vektorer" -#: awkgram.y:1517 +#: awkgram.y:1515 msgid "call of `length' without parentheses is not portable" msgstr "anrop av \"length\" utan parenteser är inte portabelt" -#: awkgram.y:1580 +#: awkgram.y:1578 msgid "indirect function calls are a gawk extension" msgstr "indirekta funktionsanrop är en gawk-utökning" -#: awkgram.y:1593 +#: awkgram.y:1591 #, c-format msgid "can not use special variable `%s' for indirect function call" msgstr "" "det går inte att använda specialvariabeln \"%s\" för indirekta fuktionsanrop" -#: awkgram.y:1671 +#: awkgram.y:1669 msgid "invalid subscript expression" msgstr "ogiltig indexuttryck" -#: awkgram.y:1711 +#: awkgram.y:1709 msgid "use of non-array as array" msgstr "icke-vektor används som vektor" -#: awkgram.y:1975 awkgram.y:1995 msg.c:98 +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 msgid "warning: " msgstr "varning: " -#: awkgram.y:1993 msg.c:130 +#: awkgram.y:1990 msg.c:130 msgid "fatal: " msgstr "ödesdigert: " -#: awkgram.y:2043 +#: awkgram.y:2040 msgid "unexpected newline or end of string" msgstr "oväntat nyradstecken eller slut på strängen" -#: awkgram.y:2300 awkgram.y:2358 awkgram.y:2542 +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 #, c-format msgid "can't open source file `%s' for reading (%s)" msgstr "kan inte öppna källfilen \"%s\" för läsning (%s)" -#: awkgram.y:2301 awkgram.y:2359 builtin.c:122 +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 msgid "reason unknown" msgstr "okänd anledning" -#: awkgram.y:2317 +#: awkgram.y:2314 #, c-format msgid "already included source file `%s'" msgstr "inkluderade redan källfilen \"%s\"" -#: awkgram.y:2343 +#: awkgram.y:2340 msgid "@include is a gawk extension" msgstr "@include är en gawk-utökning" -#: awkgram.y:2349 +#: awkgram.y:2346 msgid "empty filename after @include" msgstr "tomt filnamn efter @include" -#: awkgram.y:2494 +#: awkgram.y:2491 msgid "empty program text on command line" msgstr "tom programtext på kommandoraden" -#: awkgram.y:2609 +#: awkgram.y:2606 #, c-format msgid "can't read sourcefile `%s' (%s)" msgstr "kan inte läsa källfilen \"%s\" (%s)" -#: awkgram.y:2620 +#: awkgram.y:2617 #, c-format msgid "source file `%s' is empty" msgstr "källfilen \"%s\" är tom" -#: awkgram.y:2797 +#: awkgram.y:2794 msgid "source file does not end in newline" msgstr "källfilen slutar inte med en ny rad" -#: awkgram.y:2900 +#: awkgram.y:2897 msgid "unterminated regexp ends with `\\' at end of file" msgstr "oavslutat reguljärt uttryck slutar med \"\\\" i slutet av filen" -#: awkgram.y:2924 +#: awkgram.y:2921 #, 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:2928 +#: awkgram.y:2925 #, 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:2935 +#: awkgram.y:2932 msgid "unterminated regexp" msgstr "oavslutat reguljärt uttryck" -#: awkgram.y:2939 +#: awkgram.y:2936 msgid "unterminated regexp at end of file" msgstr "oavslutat reguljärt uttryck i slutet av filen" -#: awkgram.y:2998 +#: awkgram.y:2995 msgid "use of `\\ #...' line continuation is not portable" msgstr "Användning av \"\\ #...\" för radfortsättning är inte portabelt" -#: awkgram.y:3014 +#: awkgram.y:3011 msgid "backslash not last character on line" msgstr "sista tecknet på raden är inte ett omvänt snedstreck" -#: awkgram.y:3075 +#: awkgram.y:3072 msgid "POSIX does not allow operator `**='" msgstr "POSIX tillåter inte operatorn \"**=\"" -#: awkgram.y:3077 +#: awkgram.y:3074 msgid "old awk does not support operator `**='" msgstr "gamla awk stöder inte operatorn \"**=\"" -#: awkgram.y:3086 +#: awkgram.y:3083 msgid "POSIX does not allow operator `**'" msgstr "POSIX tillåter inte operatorn \"**\"" -#: awkgram.y:3088 +#: awkgram.y:3085 msgid "old awk does not support operator `**'" msgstr "gamla awk stöder inte operatorn \"**\"" -#: awkgram.y:3123 +#: awkgram.y:3120 msgid "operator `^=' is not supported in old awk" msgstr "operatorn \"^=\" stöds inte i gamla awk" -#: awkgram.y:3131 +#: awkgram.y:3128 msgid "operator `^' is not supported in old awk" msgstr "operatorn \"^\" stöds inte i gamla awk" -#: awkgram.y:3224 awkgram.y:3240 +#: awkgram.y:3221 awkgram.y:3237 msgid "unterminated string" msgstr "oavslutad sträng" -#: awkgram.y:3436 +#: awkgram.y:3433 #, c-format msgid "invalid char '%c' in expression" msgstr "ogiltigt tecken \"%c\" i uttryck" -#: awkgram.y:3483 +#: awkgram.y:3480 #, c-format msgid "`%s' is a gawk extension" msgstr "\"%s\" är en gawk-utökning" -#: awkgram.y:3488 -#, c-format -msgid "`%s' is a Bell Labs extension" -msgstr "\"%s\" är en Bell Labs-utökning" - -#: awkgram.y:3493 +#: awkgram.y:3485 #, c-format msgid "POSIX does not allow `%s'" msgstr "POSIX tillåter inte \"%s\"" -#: awkgram.y:3501 +#: awkgram.y:3493 #, c-format msgid "`%s' is not supported in old awk" msgstr "\"%s\" stöds inte i gamla awk" -#: awkgram.y:3568 +#: awkgram.y:3560 msgid "`goto' considered harmful!\n" msgstr "\"goto\" anses skadlig!\n" -#: awkgram.y:3619 +#: awkgram.y:3611 #, c-format msgid "%d is invalid as number of arguments for %s" msgstr "%d är ett ogiltigt antal argument för %s" -#: awkgram.y:3654 +#: awkgram.y:3646 #, 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:3659 +#: awkgram.y:3651 #, c-format msgid "%s third parameter is not a changeable object" msgstr "%s: tredje argumentet är inte ett ändringsbart objekt" -#: awkgram.y:3732 awkgram.y:3735 +#: awkgram.y:3724 awkgram.y:3727 msgid "match: third argument is a gawk extension" msgstr "match: tredje argumentet är en gawk-utökning" -#: awkgram.y:3789 awkgram.y:3792 +#: awkgram.y:3781 awkgram.y:3784 msgid "close: second argument is a gawk extension" msgstr "close: andra argumentet är en gawk-utökning" -#: awkgram.y:3804 +#: awkgram.y:3796 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "användandet av dcgettext(_\"...\") är felaktigt: ta bort det inledande " "understrykningstecknet" -#: awkgram.y:3819 +#: awkgram.y:3811 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "" "användandet av dcngettext(_\"...\") är felaktigt: ta bort det inledande " "understrykningstecknet" -#: awkgram.y:3911 +#: awkgram.y:3903 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funktionen \"%s\": parameter %d, \"%s\", är samma som parameter %d" -#: awkgram.y:3953 +#: awkgram.y:3945 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funktionen \"%s\": parametern \"%s\" överskuggar en global variabel" -#: awkgram.y:4111 +#: awkgram.y:4103 #, c-format msgid "could not open `%s' for writing (%s)" msgstr "kunde inte öppna \"%s\" för skrivning (%s)" -#: awkgram.y:4112 +#: awkgram.y:4104 msgid "sending variable list to standard error" msgstr "skickar variabellista till standard fel" -#: awkgram.y:4118 +#: awkgram.y:4110 #, c-format msgid "%s: close failed (%s)" msgstr "%s: misslyckades att stänga (%s)" -#: awkgram.y:4170 +#: awkgram.y:4162 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() anropad två gånger!" -#: awkgram.y:4176 +#: awkgram.y:4168 msgid "there were shadowed variables." msgstr "det fanns överskuggade variabler." -#: awkgram.y:4206 +#: awkgram.y:4198 #, 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:4210 +#: awkgram.y:4202 #, 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:4226 +#: awkgram.y:4218 #, c-format msgid "function name `%s' previously defined" msgstr "funktionsnamnet \"%s\" är definierat sedan tidigare" -#: awkgram.y:4394 awkgram.y:4400 +#: awkgram.y:4386 awkgram.y:4392 #, c-format msgid "function `%s' called but never defined" msgstr "funktionen \"%s\" anropad men aldrig definierad" -#: awkgram.y:4403 +#: awkgram.y:4395 #, c-format msgid "function `%s' defined but never called directly" msgstr "funktionen \"%s\" definierad men aldrig anropad direkt" -#: awkgram.y:4435 +#: awkgram.y:4427 #, 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:4544 +#: awkgram.y:4549 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -535,11 +522,11 @@ "funktionen \"%s\" anropad med blanktecken mellan namnet och \"(\",\n" "eller använd som variabel eller vektor" -#: awkgram.y:4791 eval.c:2056 +#: awkgram.y:4796 eval.c:2064 msgid "division by zero attempted" msgstr "försökte dividera med noll" -#: awkgram.y:4800 eval.c:2072 +#: awkgram.y:4805 eval.c:2080 #, c-format msgid "division by zero attempted in `%%'" msgstr "försökte dividera med noll i \"%%\"" @@ -562,202 +549,207 @@ msgid "exp: argument %g is out of range" msgstr "exp: argumentet %g är inte inom tillåten gräns" -#: builtin.c:200 +#: builtin.c:216 #, c-format msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" msgstr "" "fflush: kan inte spola: röret \"%s\" öppnat för läsning, inte skrivning" -#: builtin.c:203 +#: builtin.c:219 #, c-format msgid "fflush: cannot flush: file `%s' opened for reading, not writing" msgstr "" "fflush: kan inte spola: filen \"%s\" öppnad för läsning, inte skrivning" -#: builtin.c:215 +#: builtin.c:231 #, c-format msgid "fflush: `%s' is not an open file, pipe or co-process" msgstr "fflush: \"%s\" är inte en öppen fil, rör eller koprocess" -#: builtin.c:333 +#: builtin.c:349 msgid "index: received non-string first argument" msgstr "index: första argumentet är inte en sträng" -#: builtin.c:335 +#: builtin.c:351 msgid "index: received non-string second argument" msgstr "index: andra argumentet är inte en sträng" -#: builtin.c:457 +#: builtin.c:473 msgid "int: received non-numeric argument" msgstr "int: fick ett ickenumeriskt argument" -#: builtin.c:493 +#: builtin.c:509 msgid "length: received array argument" msgstr "length: fick ett vektorargument" -#: builtin.c:496 +#: builtin.c:512 msgid "`length(array)' is a gawk extension" msgstr "\"length(array)\" är en gawk-utökning" -#: builtin.c:504 +#: builtin.c:520 msgid "length: received non-string argument" msgstr "length: fick ett argument som inte är en sträng" -#: builtin.c:535 +#: builtin.c:551 msgid "log: received non-numeric argument" msgstr "log: fick ett ickenumeriskt argument" -#: builtin.c:538 +#: builtin.c:554 #, c-format msgid "log: received negative argument %g" msgstr "log: fick ett negativt argumentet %g" -#: builtin.c:694 builtin.c:699 +#: builtin.c:710 builtin.c:715 msgid "fatal: must use `count$' on all formats or none" msgstr "ödesdigert: måste använda \"count$\" på alla eller inga format" -#: builtin.c:762 +#: builtin.c:778 #, c-format msgid "field width is ignored for `%%' specifier" msgstr "fältbredd ignoreras för \"%%\"-specificerare" -#: builtin.c:764 +#: builtin.c:780 #, c-format msgid "precision is ignored for `%%' specifier" msgstr "precision ignoreras för \"%%\"-specificerare" -#: builtin.c:766 +#: builtin.c:782 #, c-format msgid "field width and precision are ignored for `%%' specifier" msgstr "fältbredd och precision ignoreras för \"%%\"-specificerare" -#: builtin.c:817 +#: builtin.c:833 msgid "fatal: `$' is not permitted in awk formats" msgstr "ödesdigert: \"$\" tillåts inte i awk-format" -#: builtin.c:826 +#: builtin.c:842 msgid "fatal: arg count with `$' must be > 0" msgstr "ödesdigert: argumentantalet med \"$\" måste vara > 0" -#: builtin.c:830 +#: builtin.c:846 #, 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:834 +#: builtin.c:850 msgid "fatal: `$' not permitted after period in format" msgstr "ödesdigert: \"$\" tillåts inte efter en punkt i formatet" -#: builtin.c:850 +#: builtin.c:866 msgid "fatal: no `$' supplied for positional field width or precision" msgstr "" "ödesdigert: inget \"$\" bifogat för positionsangiven fältbredd eller " "precision" -#: builtin.c:921 +#: builtin.c:937 msgid "`l' is meaningless in awk formats; ignored" msgstr "\"l\" är meningslös i awk-format, ignorerad" -#: builtin.c:925 +#: builtin.c:941 msgid "fatal: `l' is not permitted in POSIX awk formats" msgstr "ödesdigert: \"l\" tillåts inte i POSIX awk-format" -#: builtin.c:938 +#: builtin.c:954 msgid "`L' is meaningless in awk formats; ignored" msgstr "\"L\" är meningslös i awk-format, ignorerad" -#: builtin.c:942 +#: builtin.c:958 msgid "fatal: `L' is not permitted in POSIX awk formats" msgstr "ödesdigert: \"L\" tillåts inte i POSIX awk-format" -#: builtin.c:955 +#: builtin.c:971 msgid "`h' is meaningless in awk formats; ignored" msgstr "\"h\" är meningslös i awk-format, ignorerad" -#: builtin.c:959 +#: builtin.c:975 msgid "fatal: `h' is not permitted in POSIX awk formats" msgstr "ödesdigert: \"h\" tillåts inte i POSIX awk-format" -#: builtin.c:1272 +#: builtin.c:1288 #, 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:1332 +#: builtin.c:1348 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" msgstr "" "ignorerar okänt formatspecifikationstecken \"%c\": inget argument konverterat" -#: builtin.c:1337 +#: builtin.c:1353 msgid "fatal: not enough arguments to satisfy format string" msgstr "ödesdigert: för få argument för formatsträngen" -#: builtin.c:1339 +#: builtin.c:1355 msgid "^ ran out for this one" msgstr "^ tog slut här" -#: builtin.c:1346 +#: builtin.c:1362 msgid "[s]printf: format specifier does not have control letter" msgstr "[s]printf: formatspecifieraren har ingen kommandobokstav" -#: builtin.c:1349 +#: builtin.c:1365 msgid "too many arguments supplied for format string" msgstr "för många argument för formatsträngen" -#: builtin.c:1423 builtin.c:1434 +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: anropad med negativt argument %g" + +#: builtin.c:1442 builtin.c:1453 msgid "printf: no arguments" msgstr "printf: inga argument" -#: builtin.c:1475 +#: builtin.c:1494 msgid "sqrt: received non-numeric argument" msgstr "sqrt: fick ickenumeriskt argument" -#: builtin.c:1479 +#: builtin.c:1498 #, c-format msgid "sqrt: called with negative argument %g" msgstr "sqrt: anropad med negativt argument %g" -#: builtin.c:1503 +#: builtin.c:1522 #, c-format msgid "substr: length %g is not >= 1" msgstr "substr: längden %g är inte >= 1" -#: builtin.c:1505 +#: builtin.c:1524 #, c-format msgid "substr: length %g is not >= 0" msgstr "substr: längden %g är inte >= 0" -#: builtin.c:1512 +#: builtin.c:1531 #, 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:1517 +#: builtin.c:1536 #, 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:1529 +#: builtin.c:1548 #, c-format msgid "substr: start index %g is invalid, using 1" msgstr "substr: startindex %g är ogiltigt, använder 1" -#: builtin.c:1534 +#: builtin.c:1553 #, 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:1559 +#: builtin.c:1578 msgid "substr: source string is zero length" msgstr "substr: källsträngen är tom" -#: builtin.c:1575 +#: builtin.c:1594 #, c-format msgid "substr: start index %g is past end of string" msgstr "substr: startindex %g är bortom strängens slut" -#: builtin.c:1583 +#: builtin.c:1602 #, c-format msgid "" "substr: length %g at start index %g exceeds length of first argument (%lu)" @@ -765,203 +757,203 @@ "substr: längden %g vid startindex %g överskrider det första argumentets " "längd (%lu)" -#: builtin.c:1657 +#: builtin.c:1676 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" msgstr "strftime: formatvärde i PROCINFO[\"strftime\"] har numerisk typ" -#: builtin.c:1680 +#: builtin.c:1699 msgid "strftime: received non-numeric second argument" msgstr "strftime: fick ett ickenumeriskt andra argument" -#: builtin.c:1683 +#: builtin.c:1702 msgid "strftime: second argument less than 0 or too big for time_t" msgstr "strftime: andra argimentet mindre än 0 eller för stort för time_t" -#: builtin.c:1690 +#: builtin.c:1709 msgid "strftime: received non-string first argument" msgstr "strftime: fick ett första argument som inte är en sträng" -#: builtin.c:1696 +#: builtin.c:1715 msgid "strftime: received empty format string" msgstr "strftime: fick en tom formatsträng" -#: builtin.c:1762 +#: builtin.c:1781 msgid "mktime: received non-string argument" msgstr "mktime: fick ett argument som inte är en sträng" -#: builtin.c:1779 +#: builtin.c:1798 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:1814 +#: builtin.c:1833 msgid "'system' function not allowed in sandbox mode" msgstr "funktionen \"system\" är inte tillåten i sandlådeläge" -#: builtin.c:1819 +#: builtin.c:1838 msgid "system: received non-string argument" msgstr "system: fick ett argument som inte är en sträng" -#: builtin.c:1874 eval.c:1159 eval.c:1790 eval.c:1803 +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 #, c-format msgid "reference to uninitialized variable `%s'" msgstr "referens till icke initierad variabel \"%s\"" -#: builtin.c:1941 +#: builtin.c:1960 #, c-format msgid "reference to uninitialized field `$%d'" msgstr "referens till icke initierat fält \"$%d\"" -#: builtin.c:2028 +#: builtin.c:2047 msgid "tolower: received non-string argument" msgstr "tolower: fick ett argument som inte är en sträng" -#: builtin.c:2062 +#: builtin.c:2081 msgid "toupper: received non-string argument" msgstr "toupper: fick ett argument som inte är en sträng" -#: builtin.c:2098 +#: builtin.c:2117 msgid "atan2: received non-numeric first argument" msgstr "atan2: fick ett ickenumeriskt första argument" -#: builtin.c:2100 +#: builtin.c:2119 msgid "atan2: received non-numeric second argument" msgstr "atan2: fick ett ickenumeriskt andra argument" -#: builtin.c:2119 +#: builtin.c:2138 msgid "sin: received non-numeric argument" msgstr "sin: fick ett ickenumeriskt argument" -#: builtin.c:2135 +#: builtin.c:2154 msgid "cos: received non-numeric argument" msgstr "cos: fick ett ickenumeriskt argument" -#: builtin.c:2188 +#: builtin.c:2207 msgid "srand: received non-numeric argument" msgstr "srand: fick ett ickenumeriskt argument" -#: builtin.c:2219 +#: builtin.c:2238 msgid "match: third argument is not an array" msgstr "match: tredje argumentet är inte en vektor" -#: builtin.c:2483 +#: builtin.c:2502 msgid "gensub: third argument of 0 treated as 1" msgstr "gensub: nollan i tredje argumentet behandlad som en etta" -#: builtin.c:2776 +#: builtin.c:2795 msgid "lshift: received non-numeric first argument" msgstr "lshift: fick ett ickenumeriskt första argument" -#: builtin.c:2778 +#: builtin.c:2797 msgid "lshift: received non-numeric second argument" msgstr "lshift: fick ett ickenumeriskt andra argument" -#: builtin.c:2784 -#, c-format -msgid "lshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" msgstr "lshift(%lf, %lf): negativa värden kommer ge konstiga resultat" -#: builtin.c:2786 -#, c-format -msgid "lshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" msgstr "lshift(%lf, %lf): flyttalsvärden kommer trunkeras" -#: builtin.c:2788 -#, c-format -msgid "lshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" msgstr "lshift(%lf, %lf): för stora skiftvärden kommer ge konstiga resultat" -#: builtin.c:2813 +#: builtin.c:2832 msgid "rshift: received non-numeric first argument" msgstr "rshift: fick ett ickenumeriskt första argument" -#: builtin.c:2815 +#: builtin.c:2834 msgid "rshift: received non-numeric second argument" msgstr "rshift: fick ett ickenumeriskt andra argument" -#: builtin.c:2821 -#, c-format -msgid "rshift(%lf, %lf): negative values will give strange results" +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" msgstr "rshift(%lf, %lf): negativa värden kommer ge konstiga resultat" -#: builtin.c:2823 -#, c-format -msgid "rshift(%lf, %lf): fractional values will be truncated" +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" msgstr "rshift(%lf, %lf): flyttalsvärden kommer trunkeras" -#: builtin.c:2825 -#, c-format -msgid "rshift(%lf, %lf): too large shift value will give strange results" +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" msgstr "rshift(%lf, %lf): för stora skiftvärden kommer ge konstiga resultat" -#: builtin.c:2850 +#: builtin.c:2869 msgid "and: received non-numeric first argument" msgstr "and: fick ett ickenumeriskt första argument" -#: builtin.c:2852 +#: builtin.c:2871 msgid "and: received non-numeric second argument" msgstr "and: fick ett ickenumeriskt andra argument" -#: builtin.c:2858 -#, c-format -msgid "and(%lf, %lf): negative values will give strange results" +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" msgstr "and(%lf, %lf): negativa värden kommer ge konstiga resultat" -#: builtin.c:2860 -#, c-format -msgid "and(%lf, %lf): fractional values will be truncated" +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" msgstr "and(%lf, %lf): flyttalsvärden kommer trunkeras" -#: builtin.c:2885 +#: builtin.c:2904 msgid "or: received non-numeric first argument" msgstr "or: fick ett ickenumeriskt första argument" -#: builtin.c:2887 +#: builtin.c:2906 msgid "or: received non-numeric second argument" msgstr "or: fick ett ickenumeriskt andra argument" -#: builtin.c:2893 -#, c-format -msgid "or(%lf, %lf): negative values will give strange results" +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" msgstr "or(%lf, %lf): negativa värden kommer ge konstiga resultat" -#: builtin.c:2895 -#, c-format -msgid "or(%lf, %lf): fractional values will be truncated" +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" msgstr "or(%lf, %lf): flyttalsvärden kommer trunkeras" -#: builtin.c:2923 +#: builtin.c:2942 msgid "xor: received non-numeric first argument" msgstr "xor: fick ett ickenumeriskt första argument" -#: builtin.c:2925 +#: builtin.c:2944 msgid "xor: received non-numeric second argument" msgstr "xor: fick ett ickenumeriskt andra argument" -#: builtin.c:2931 -#, c-format -msgid "xor(%lf, %lf): negative values will give strange results" +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" msgstr "xor(%lf, %lf): negativa värden kommer ge konstiga resultat" -#: builtin.c:2933 -#, c-format -msgid "xor(%lf, %lf): fractional values will be truncated" +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" msgstr "xor(%lf, %lf): flyttalsvärden kommer trunkeras" -#: builtin.c:2957 builtin.c:2963 +#: builtin.c:2976 builtin.c:2982 msgid "compl: received non-numeric argument" msgstr "compl: fick ett ickenumeriskt argument" -#: builtin.c:2965 -#, c-format -msgid "compl(%lf): negative value will give strange results" +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" msgstr "compl(%lf): negativa värden kommer ge konstiga resultat" -#: builtin.c:2967 -#, c-format -msgid "compl(%lf): fractional value will be truncated" +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" msgstr "compl(%lf): flyttalsvärden kommer trunkeras" -#: builtin.c:3136 +#: builtin.c:3155 #, c-format msgid "dcgettext: `%s' is not a valid locale category" msgstr "dcgettext: \"%s\" är inte en giltig lokalkategori" @@ -1004,7 +996,7 @@ msgid "`BINMODE' is a gawk extension" msgstr "\"BINMODE\" är en gawk-utökning" -#: eval.c:812 +#: eval.c:813 #, c-format msgid "BINMODE value `%s' is invalid, treated as 3" msgstr "BINMODE-värde \"%s\" är ogiltigt, behandlas som 3" @@ -1018,108 +1010,108 @@ msgid "turning off `--lint' due to assignment to `LINT'" msgstr "slår av \"--lint\" på grund av en tilldelning till \"LINT\"" -#: eval.c:1127 eval.c:1777 +#: eval.c:1127 eval.c:1779 #, c-format msgid "can't use function name `%s' as variable or array" msgstr "kan inte använda funktionsnamnet \"%s\" som variabel eller vektor" -#: eval.c:1158 eval.c:1789 eval.c:1802 +#: eval.c:1160 eval.c:1796 eval.c:1810 #, c-format msgid "reference to uninitialized argument `%s'" msgstr "referens till icke initierat argument \"%s\"" -#: eval.c:1177 +#: eval.c:1179 msgid "attempt to field reference from non-numeric value" msgstr "försök att fältreferera från ickenumeriskt värde" -#: eval.c:1179 +#: eval.c:1181 msgid "attempt to field reference from null string" msgstr "försök till fältreferens från en tom sträng" -#: eval.c:1185 +#: eval.c:1187 #, c-format msgid "attempt to access field %ld" msgstr "försök att komma åt fält nummer %ld" -#: eval.c:1194 +#: eval.c:1196 #, c-format msgid "reference to uninitialized field `$%ld'" msgstr "referens till icke initierat fält \"$%ld\"" -#: eval.c:1256 +#: eval.c:1258 #, c-format msgid "function `%s' called with more arguments than declared" msgstr "funktionen \"%s\" anropad med fler argument än vad som deklarerats" -#: eval.c:1437 +#: eval.c:1439 #, c-format msgid "unwind_stack: unexpected type `%s'" msgstr "unwind_stack: oväntad typ \"%s\"" -#: eval.c:1532 +#: eval.c:1534 msgid "division by zero attempted in `/='" msgstr "försökte dividera med noll i \"/=\"" -#: eval.c:1539 +#: eval.c:1541 #, c-format msgid "division by zero attempted in `%%='" msgstr "försökte dividera med noll i \"%%=\"" -#: eval.c:1876 eval.c:2122 +#: eval.c:1884 eval.c:2130 #, c-format msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" msgstr "försök att använda vektorn \"%s[\"%.*s\"]\" i skalärsammanhang" -#: eval.c:1907 +#: eval.c:1915 msgid "assignment used in conditional context" msgstr "tilldelning använt i jämförelsesammanhang" -#: eval.c:1911 +#: eval.c:1919 msgid "statement has no effect" msgstr "kommandot har ingen effekt" -#: eval.c:2343 +#: eval.c:2363 #, c-format msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" msgstr "" "forslinga: vektorn \"%s\" ändrade storlek från %ld till %ld under " "slingexekvering" -#: eval.c:2458 +#: eval.c:2478 #, c-format msgid "function called indirectly through `%s' does not exist" msgstr "funktionen anropad indirekt genom \"%s\" finns inte" -#: eval.c:2470 +#: eval.c:2490 #, c-format msgid "function `%s' not defined" msgstr "funktionen \"%s\" är inte definierad" -#: eval.c:2511 +#: eval.c:2531 #, c-format msgid "non-redirected `getline' invalid inside `%s' rule" msgstr "icke omdirigerad \"getline\" odefinierad inuti \"%s\"-regel" -#: eval.c:2600 +#: eval.c:2620 #, c-format msgid "error reading input file `%s': %s" msgstr "fel vid läsning av indatafilen \"%s\": %s" -#: eval.c:2614 +#: eval.c:2634 #, c-format msgid "`nextfile' cannot be called from a `%s' rule" msgstr "\"nextfile\" kan inte anropas från en \"%s\"-regel" -#: eval.c:2661 +#: eval.c:2681 msgid "`exit' cannot be called in the current context" msgstr "\"exit\" kan inte anropas i det aktuella sammanhanget" -#: eval.c:2700 +#: eval.c:2720 #, c-format msgid "`next' cannot be called from a `%s' rule" msgstr "\"next\" kan inte anropas från en \"%s\"-regel" -#: eval.c:2766 +#: eval.c:2786 #, c-format msgid "Sorry, don't know how to interpret `%s'" msgstr "Tyvärr, vet inte hur \"%s\" skall tolkas" @@ -1188,27 +1180,27 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: negativt argumentantal för funktionen \"%s\"" -#: ext.c:259 +#: ext.c:266 #, c-format msgid "function `%s' defined to take no more than %d argument(s)" msgstr "funktionen \"%s\" definierades för att ta maximalt %d argument" -#: ext.c:262 +#: ext.c:269 #, c-format msgid "function `%s': missing argument #%d" msgstr "funktionen \"%s\": argument %d saknas" -#: ext.c:279 +#: ext.c:286 #, c-format msgid "function `%s': argument #%d: attempt to use scalar as an array" msgstr "funktionen \"%s\": argument %d: försök att använda skalär som vektor" -#: ext.c:283 +#: ext.c:290 #, c-format msgid "function `%s': argument #%d: attempt to use array as a scalar" msgstr "funktionen \"%s\": argument %d: försök att använda vektor som skalär" -#: ext.c:296 +#: ext.c:303 msgid "Operation Not Supported" msgstr "Operationen stöds inte" @@ -1485,7 +1477,7 @@ 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:794 main.c:831 +#: io.c:1129 io.c:1184 main.c:797 main.c:834 #, c-format msgid "error writing standard output (%s)" msgstr "fel vid skrivning till standard ut (%s)" @@ -1543,92 +1535,92 @@ msgid "TCP/IP communications are not supported" msgstr "TCP/IP-kommunikation stöds inte" -#: io.c:1693 +#: io.c:1698 #, c-format msgid "could not open `%s', mode `%s'" msgstr "kunde inte öppna \"%s\", läge \"%s\"" -#: io.c:1747 +#: io.c:1752 #, c-format msgid "close of master pty failed (%s)" msgstr "stängning av huvudpty misslyckades (%s)" -#: io.c:1749 io.c:1917 io.c:2074 +#: io.c:1754 io.c:1922 io.c:2079 #, c-format msgid "close of stdout in child failed (%s)" msgstr "stängning av standard ut i barnet misslyckades (%s)" -#: io.c:1752 +#: io.c:1757 #, 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:1754 io.c:1922 +#: io.c:1759 io.c:1927 #, c-format msgid "close of stdin in child failed (%s)" msgstr "stängning av standard in i barnet misslyckades (%s)" -#: io.c:1757 +#: io.c:1762 #, 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:1759 io.c:1780 +#: io.c:1764 io.c:1785 #, c-format msgid "close of slave pty failed (%s)" msgstr "stängning av slavpty misslyckades (%s)" -#: io.c:1858 io.c:1920 io.c:2052 io.c:2077 +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 #, 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:1865 io.c:1925 +#: io.c:1870 io.c:1930 #, 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:1885 io.c:2067 +#: io.c:1890 io.c:2072 msgid "restoring stdout in parent process failed\n" msgstr "återställande av standard ut i förälderprocessen misslyckades\n" -#: io.c:1893 +#: io.c:1898 msgid "restoring stdin in parent process failed\n" msgstr "återställande av standard in i förälderprocessen misslyckades\n" -#: io.c:1928 io.c:2079 io.c:2093 +#: io.c:1933 io.c:2084 io.c:2098 #, c-format msgid "close of pipe failed (%s)" msgstr "stängning av röret misslyckades (%s)" -#: io.c:1973 +#: io.c:1978 msgid "`|&' not supported" msgstr "\"|&\" stöds inte" -#: io.c:2039 +#: io.c:2044 #, c-format msgid "cannot open pipe `%s' (%s)" msgstr "kan inte öppna röret \"%s\" (%s)" -#: io.c:2087 +#: io.c:2092 #, c-format msgid "cannot create child process for `%s' (fork: %s)" msgstr "kan inte skapa barnprocess för \"%s\" (fork: %s)" -#: io.c:2520 +#: io.c:2525 #, c-format msgid "data file `%s' is empty" msgstr "datafilen \"%s\" är tom" -#: io.c:2561 io.c:2569 +#: io.c:2566 io.c:2574 msgid "could not allocate more input memory" msgstr "kunde inte allokera mer indataminne" -#: io.c:3127 +#: io.c:3132 msgid "multicharacter value of `RS' is a gawk extension" msgstr "flerteckensvärdet av \"RS\" är en gawk-utökning" -#: io.c:3232 +#: io.c:3237 msgid "IPv6 communication is not supported" msgstr "IPv6-kommunikation stöds inte" @@ -1672,140 +1664,141 @@ msgstr "att köra %s setuid root kan vara ett säkerhetsproblem" #: main.c:562 -msgid "`--posix' overrides `--binary'" +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" msgstr "\"--posix\" åsidosätter \"--binary\"" -#: main.c:613 +#: main.c:616 #, 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:619 #, 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:621 #, 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:660 msgid "no program text at all!" msgstr "ingen programtext alls!" -#: main.c:734 +#: main.c:737 #, c-format msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" msgstr "" "Användning: %s [POSIX- eller GNU-stilsflaggor] -f progfil [--] fil ...\n" -#: main.c:736 +#: main.c:739 #, c-format msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" msgstr "Användning: %s [POSIX- eller GNU-stilsflaggor] %cprogram%c fil ...\n" -#: main.c:741 +#: main.c:744 msgid "POSIX options:\t\tGNU long options: (standard)\n" msgstr "POSIX-flaggor:\t\tGNU långa flaggor: (standard)\n" -#: main.c:742 +#: main.c:745 msgid "\t-f progfile\t\t--file=progfile\n" msgstr "\t-f progfil\t\t--file=progfil\n" -#: main.c:743 +#: main.c:746 msgid "\t-F fs\t\t\t--field-separator=fs\n" msgstr "\t-F fs\t\t\t--field-separator=fs\n" -#: main.c:744 +#: main.c:747 msgid "\t-v var=val\t\t--assign=var=val\n" msgstr "\t-v var=värde\t\t--assign=var=värde\n" -#: main.c:745 +#: main.c:748 msgid "Short options:\t\tGNU long options: (extensions)\n" msgstr "Korta flaggor:\t\tGNU långa flaggor: (utökningar)\n" -#: main.c:746 +#: main.c:749 msgid "\t-b\t\t\t--characters-as-bytes\n" msgstr "\t-b\t\t\t--characters-as-bytes\n" -#: main.c:747 +#: main.c:750 msgid "\t-c\t\t\t--traditional\n" msgstr "\t-c\t\t\t--traditional\n" -#: main.c:748 +#: main.c:751 msgid "\t-C\t\t\t--copyright\n" msgstr "\t-C\t\t\t--copyright\n" -#: main.c:749 +#: main.c:752 msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[fil]\t\t\t--dump-variables[=fil]\n" -#: main.c:750 +#: main.c:753 msgid "\t-e 'program-text'\t--source='program-text'\n" msgstr "\t-e 'programtext'\t--source='programtext'\n" -#: main.c:751 +#: main.c:754 msgid "\t-E file\t\t\t--exec=file\n" msgstr "\t-E fil\t\t\t--exec=fil\n" -#: main.c:752 +#: main.c:755 msgid "\t-g\t\t\t--gen-pot\n" msgstr "\t-g\t\t\t--gen-pot\n" -#: main.c:753 +#: main.c:756 msgid "\t-h\t\t\t--help\n" msgstr "\t-h\t\t\t--help\n" -#: main.c:754 +#: main.c:757 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" -#: main.c:755 +#: main.c:758 msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" -#: main.c:756 +#: main.c:759 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" -#: main.c:757 +#: main.c:760 msgid "\t-O\t\t\t--optimize\n" msgstr "\t-O\t\t\t--optimize\n" -#: main.c:758 +#: main.c:761 msgid "\t-p[file]\t\t--profile[=file]\n" msgstr "\t-p[fil]\t\t\t--profile[=fil]\n" -#: main.c:759 +#: main.c:762 msgid "\t-P\t\t\t--posix\n" msgstr "\t-P\t\t\t--posix\n" -#: main.c:760 +#: main.c:763 msgid "\t-r\t\t\t--re-interval\n" msgstr "\t-r\t\t\t--re-interval\n" -#: main.c:762 +#: main.c:765 msgid "\t-R file\t\t\t--command=file\n" msgstr "\t-R file\t\t\t--command=file\n" -#: main.c:763 +#: main.c:766 msgid "\t-S\t\t\t--sandbox\n" msgstr "\t-S\t\t\t--sandbox\n" -#: main.c:764 +#: main.c:767 msgid "\t-t\t\t\t--lint-old\n" msgstr "\t-t\t\t\t--lint-old\n" -#: main.c:765 +#: main.c:768 msgid "\t-V\t\t\t--version\n" msgstr "\t-V\t\t\t--version\n" -#: main.c:767 +#: main.c:770 msgid "\t-W nostalgia\t\t--nostalgia\n" msgstr "\t-W nostalgia\t\t--nostalgia\n" -#: main.c:770 +#: main.c:773 msgid "\t-Y\t\t--parsedebug\n" msgstr "\t-Y\t\t--parsedebug\n" @@ -1814,7 +1807,7 @@ #. for this application. Please add _another line_ with the #. address for translation bugs. #. no-wrap -#: main.c:779 +#: main.c:782 msgid "" "\n" "To report bugs, see node `Bugs' in `gawk.info', which is\n" @@ -1828,7 +1821,7 @@ "Rapportera synpunkter på översättningen till .\n" "\n" -#: main.c:783 +#: main.c:786 msgid "" "gawk is a pattern scanning and processing language.\n" "By default it reads standard input and writes standard output.\n" @@ -1838,7 +1831,7 @@ "Normalt läser det från standard in och skriver till standard ut.\n" "\n" -#: main.c:787 +#: main.c:790 msgid "" "Examples:\n" "\tgawk '{ sum += $1 }; END { print sum }' file\n" @@ -1848,7 +1841,7 @@ "\tgawk '{ sum += $1 }; END { print sum }' fil\n" "\tgawk -F: '{ print $1 }' /etc/passwd\n" -#: main.c:807 +#: main.c:810 #, c-format msgid "" "Copyright (C) 1989, 1991-%d Free Software Foundation.\n" @@ -1867,7 +1860,7 @@ "någon senare version.\n" "\n" -#: main.c:815 +#: main.c:818 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" @@ -1881,7 +1874,7 @@ "General Public License för ytterligare information.\n" "\n" -#: main.c:821 +#: main.c:824 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,64 +1882,64 @@ "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:856 +#: main.c:859 msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft sätter inte FS till tab i POSIX-awk" -#: main.c:1090 +#: main.c:1093 #, c-format msgid "unknown value for field spec: %d\n" msgstr "okänt värde till fältspecifikation: %d\n" -#: main.c:1171 +#: main.c:1174 #, 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:1197 +#: main.c:1200 #, c-format msgid "`%s' is not a legal variable name" msgstr "\"%s\" är inte ett giltigt variabelnamn" -#: main.c:1200 +#: main.c:1203 #, 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:1204 +#: main.c:1207 #, c-format msgid "cannot use gawk builtin `%s' as variable name" msgstr "kan inte använda gawks inbyggda \"%s\" som ett funktionsnamn" -#: main.c:1209 +#: main.c:1212 #, c-format msgid "cannot use function `%s' as variable name" msgstr "kan inte använda funktionen \"%s\" som variabelnamn" -#: main.c:1262 +#: main.c:1265 msgid "floating point exception" msgstr "flyttalsundantag" -#: main.c:1269 +#: main.c:1272 msgid "fatal error: internal error" msgstr "ödesdigert fel: internt fel" -#: main.c:1284 +#: main.c:1287 msgid "fatal error: internal error: segfault" msgstr "ödesdigert fel: internt fel: segmenteringsfel" -#: main.c:1296 +#: main.c:1299 msgid "fatal error: internal error: stack overflow" msgstr "ödesdigert fel: internt fel: stackspill" -#: main.c:1346 +#: main.c:1349 #, c-format msgid "no pre-opened fd %d" msgstr "ingen föröppnad fd %d" -#: main.c:1353 +#: main.c:1356 #, c-format msgid "could not pre-open /dev/null for fd %d" msgstr "kunde inte föröppna /dev/null för fd %d" @@ -2143,5 +2136,14 @@ msgid "No previous regular expression" msgstr "Inget föregående reguljärt uttryck" +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "\"%s\" är en Bell Labs-utökning" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "\"nextfile\" är en gawk-utökning" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "\"delete array\" är en gawk-utökning" + #~ msgid "could not find groups: %s" #~ msgstr "kunde inte hitta grupper: %s" diff -urN gawk-4.0.1/po/vi.po gawk-4.0.2/po/vi.po --- gawk-4.0.1/po/vi.po 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/po/vi.po 2012-12-25 20:40:14.000000000 +0200 @@ -0,0 +1,2306 @@ +# Vietnamese translation for Gawk. +# Copyright © 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the gawk package. +# Clytie Siddall , 2005-2010. +# Trần Ngá»c Quân , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: gawk-4.0.0h\n" +"Report-Msgid-Bugs-To: arnold@skeeve.com\n" +"POT-Creation-Date: 2012-12-25 20:40+0200\n" +"PO-Revision-Date: 2012-04-04 08:01+0700\n" +"Last-Translator: Trần Ngá»c Quân \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" +"X-Poedit-Language: Vietnamese\n" +"X-Poedit-Country: VIET NAM\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: array.c:140 +#, c-format +msgid "from %s" +msgstr "từ %s" + +#: array.c:248 +msgid "attempt to use a scalar value as array" +msgstr "cố sá»­ dụng giá trị vô hÆ°á»›ng nhÆ° là má»™t mảng" + +#: array.c:251 +#, c-format +msgid "attempt to use function `%s' as an array" +msgstr "cố gắng dùng hàm « %s » nhÆ° mảng" + +#: array.c:254 +#, c-format +msgid "attempt to use scalar parameter `%s' as an array" +msgstr "cố gắng dùng tham số vô hÆ°á»›ng « %s » nhÆ° là mảng" + +#: array.c:257 +#, c-format +msgid "attempt to use scalar `%s' as an array" +msgstr "cố dùng «%s» vô hÆ°á»›ng nhÆ° là mảng" + +#: array.c:302 array.c:707 builtin.c:84 builtin.c:1404 builtin.c:1446 +#: builtin.c:1459 builtin.c:1878 builtin.c:1890 eval.c:1135 eval.c:1139 +#: eval.c:1497 eval.c:1820 +#, c-format +msgid "attempt to use array `%s' in a scalar context" +msgstr "cố gắng dùng mảng « %s » trong má»™t ngữ cảnh vô hÆ°á»›ng" + +#: array.c:513 +#, c-format +msgid "reference to uninitialized element `%s[\"%.*s\"]'" +msgstr "tham chiếu đến phần tá»­ chÆ°a sở khởi « %s[\"%.*s\"] »" + +#: array.c:519 +#, c-format +msgid "subscript of array `%s' is null string" +msgstr "chữ in dÆ°á»›i mảng « %s » là chuá»—i rá»—ng" + +#: array.c:723 +#, c-format +msgid "delete: index `%s' not in array `%s'" +msgstr "delete: (xoá) số mÅ© « %s » không phải nằm trong mảng « %s »" + +#: array.c:734 eval.c:1873 +#, c-format +msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" +msgstr "cố dùng «%s[\"%.*s\"]» vô hÆ°á»›ng nhÆ° là mảng" + +#: array.c:910 +#, c-format +msgid "%s: empty (null)\n" +msgstr "%s: rá»—ng (vô giá trị)\n" + +#: array.c:915 +#, c-format +msgid "%s: empty (zero)\n" +msgstr "%s: rá»—ng (số không)\n" + +#: array.c:919 +#, c-format +msgid "%s: table_size = %d, array_size = %d\n" +msgstr "%s: cỡ_bảng = %d, cỡ_mảng = %d\n" + +#: array.c:954 +#, c-format +msgid "%s: is parameter\n" +msgstr "%s: là tham số\n" + +#: array.c:958 +#, c-format +msgid "%s: array_ref to %s\n" +msgstr "%s: « array_ref » (mảng tham chiếu) đến « %s »\n" + +#: array.c:963 +msgid "adump: argument not an array" +msgstr "adump: đối số không phải là má»™t mảng" + +#: array.c:1086 +msgid "asort: second argument not an array" +msgstr "asort: đối số thứ hai không phải là má»™t mảng" + +#: array.c:1087 +msgid "asorti: second argument not an array" +msgstr "asorti: đối số thứ hai không phải là má»™t mảng" + +#: array.c:1094 +msgid "asort: first argument not an array" +msgstr "asort: đối số thứ nhất không phải là má»™t mảng" + +#: array.c:1095 +msgid "asorti: first argument not an array" +msgstr "asorti: đối số thứ nhất không phải là má»™t mảng" + +#: array.c:1102 +msgid "asort: cannot use a subarray of first arg for second arg" +msgstr "" +"asort (má»™t chÆ°Æ¡ng trính xắp xếp thứ tá»±): không thể sá»­ dụng mảng con của tham " +"số thứ nhất cho tham số thứ hai" + +#: array.c:1103 +msgid "asorti: cannot use a subarray of first arg for second arg" +msgstr "" +"asorti (má»™t chÆ°Æ¡ng trính xắp xếp thứ tá»±): không thể sá»­ dụng mảng con của " +"tham số thứ nhất cho tham số thứ hai" + +#: array.c:1108 +msgid "asort: cannot use a subarray of second arg for first arg" +msgstr "" +"asort (má»™t chÆ°Æ¡ng trính xắp xếp thứ tá»±): không thể sá»­ dụng mảng con của tham " +"số thứ hai cho tham số thứ nhất" + +#: array.c:1109 +msgid "asorti: cannot use a subarray of second arg for first arg" +msgstr "" +"asorti (má»™t chÆ°Æ¡ng trính xắp xếp thứ tá»±): không thể sá»­ dụng mảng con của " +"tham số thứ hai cho tham số thứ nhất" + +#: array.c:1655 +#, c-format +msgid "`%s' is invalid as a function name" +msgstr "`%s' không phải là tên hàm hợp lệ" + +#: array.c:1659 +#, c-format +msgid "sort comparison function `%s' is not defined" +msgstr "chÆ°a định nghÄ©a hàm so sánh xắp xếp « %s »" + +#: awkgram.y:250 +#, c-format +msgid "%s blocks must have an action part" +msgstr "Má»i khối %s phải có má»™t phần kiểu hành Ä‘á»™ng" + +#: awkgram.y:253 +msgid "each rule must have a pattern or an action part" +msgstr "Má»i quy tắc phải có má»™t mẫu hay phần kiểu hành Ä‘á»™ng" + +#: awkgram.y:324 awkgram.y:335 +msgid "old awk does not support multiple `BEGIN' or `END' rules" +msgstr "" +"awk cÅ© không há»— trợ nhiá»u quy tắc kiểu « BEGIN » (bắt đầu) hay « END » (kết " +"thúc)" + +#: awkgram.y:372 +#, c-format +msgid "`%s' is a built-in function, it cannot be redefined" +msgstr "« %s » là má»™t hàm có sẵn nên nó không thể được định nghÄ©a lái." + +#: awkgram.y:433 +msgid "regexp constant `//' looks like a C++ comment, but is not" +msgstr "" +"hằng biểu thức chính quy « // » hình nhÆ° má»™t chú thích C, nhÆ°ng mà không phải" + +#: awkgram.y:437 +#, c-format +msgid "regexp constant `/%s/' looks like a C comment, but is not" +msgstr "" +"hằng biểu thức chính quy « /%s/ » hình nhÆ° má»™t chú thích C, nhÆ°ng mà không " +"phải" + +#: awkgram.y:529 +#, c-format +msgid "duplicate case values in switch body: %s" +msgstr "gặp giá trị case trùng trong thân chuyển đổi (switch body): %s" + +#: awkgram.y:550 +msgid "duplicate `default' detected in switch body" +msgstr "" +"đã phát hiện trùng `default' trong thân cấu trúc Ä‘iá»u khiển chá»n lá»±a (switch)" + +#: awkgram.y:810 +msgid "`break' is not allowed outside a loop or switch" +msgstr "" +"không cho phép « break » (ngắt) nằm ở ngoại vòng lặp hay cấu trúc chá»n lá»±a" + +#: awkgram.y:819 +msgid "`continue' is not allowed outside a loop" +msgstr "không cho phép «continue» (tiếp tục) ở ngoài má»™t vòng lặp" + +#: awkgram.y:829 +#, c-format +msgid "`next' used in %s action" +msgstr "« next » (kế tiếp) được dùng trong hành Ä‘á»™ng %s" + +#: awkgram.y:838 +#, c-format +msgid "`nextfile' used in %s action" +msgstr "« nextfile » (tệp tin kế tiếp) được dùng trong hành Ä‘á»™ng %s" + +#: awkgram.y:862 +msgid "`return' used outside function context" +msgstr "« return » (trở vá») được dùng ở ngoại ngữ cảnh hàm" + +#: awkgram.y:922 +msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'" +msgstr "" +"« print » (in) thÆ°á»ng trong quy tắc « BEGIN » (bắt đầu) hay « END » (kết " +"thúc) hầu nhÆ° chắc chắn nên là « print\"\" »" + +#: awkgram.y:1017 awkgram.y:1021 +msgid "`delete(array)' is a non-portable tawk extension" +msgstr "« delete array » (xoá mảng) là phần mở rá»™ng gawk không khả chuyển" + +#: awkgram.y:1133 +msgid "multistage two-way pipelines don't work" +msgstr "Ä‘Æ°á»ng ống dẫn hai chiếu Ä‘a giai Ä‘oạn không phải hoạt Ä‘á»™ng được" + +#: awkgram.y:1236 +msgid "regular expression on right of assignment" +msgstr "biểu thức chính quy nằm bên phải Ä‘iá»u gán" + +#: awkgram.y:1247 +msgid "regular expression on left of `~' or `!~' operator" +msgstr "biểu thức chính quy nằm bên trái toán tá»­ « ~ » hay « !~ »" + +#: awkgram.y:1263 awkgram.y:1417 +msgid "old awk does not support the keyword `in' except after `for'" +msgstr "awk cÅ© không há»— trợ từ khoá « in », trừ khi nằm sau « for »" + +#: awkgram.y:1273 +msgid "regular expression on right of comparison" +msgstr "biểu thức chính quy nằm bên phải sá»± so sánh" + +#: awkgram.y:1392 +#, c-format +msgid "`getline var' invalid inside `%s' rule" +msgstr "`getline var' không hợp lệ bên trong quy tắc `%s'" + +#: awkgram.y:1395 eval.c:2524 +#, c-format +msgid "`getline' invalid inside `%s' rule" +msgstr "`getline' không hợp lệ trong quy tắc `%s'" + +#: awkgram.y:1400 +msgid "non-redirected `getline' undefined inside END action" +msgstr "" +"trong hành Ä‘á»™ng « END » (kết thúc) có « getline » (lấy dòng) không được " +"chuyển hÆ°á»›ng lại và chÆ°a được xác định." + +#: awkgram.y:1419 +msgid "old awk does not support multidimensional arrays" +msgstr "awk cÅ© không há»— trợ mảng Ä‘a chiá»u" + +#: awkgram.y:1515 +msgid "call of `length' without parentheses is not portable" +msgstr "không thể mang lá»i gá»i « length » (Ä‘á»™ dài) không có dấu ngoặc" + +#: awkgram.y:1578 +msgid "indirect function calls are a gawk extension" +msgstr "cuá»™c gá»i hàm gián tiếp là má»™t phần mở rá»™ng gawk" + +#: awkgram.y:1591 +#, c-format +msgid "can not use special variable `%s' for indirect function call" +msgstr "không thể dùng biến đặc biệt « %s » cho cú gá»i hàm gián tiếp" + +#: awkgram.y:1669 +msgid "invalid subscript expression" +msgstr "biểu thức in thấp không hợp lệ" + +#: awkgram.y:1709 +msgid "use of non-array as array" +msgstr "việc dùng cái khác mảng nhÆ° là mảng" + +#: awkgram.y:1972 awkgram.y:1992 msg.c:98 +msgid "warning: " +msgstr "cảnh báo : " + +#: awkgram.y:1990 msg.c:130 +msgid "fatal: " +msgstr "nghiêm trá»ng: " + +#: awkgram.y:2040 +msgid "unexpected newline or end of string" +msgstr "gặp dòng má»›i bất ngá» hay kết thúc của chuá»—i" + +#: awkgram.y:2297 awkgram.y:2355 awkgram.y:2539 +#, c-format +msgid "can't open source file `%s' for reading (%s)" +msgstr "không thể mở tập tin nguồn « %s » để Ä‘á»c (%s)" + +#: awkgram.y:2298 awkgram.y:2356 builtin.c:122 +msgid "reason unknown" +msgstr "không biết sao" + +#: awkgram.y:2314 +#, c-format +msgid "already included source file `%s'" +msgstr "đã sẵn bao gồm tập tin nguồn `%s'" + +#: awkgram.y:2340 +msgid "@include is a gawk extension" +msgstr "@include là phần mở rá»™ng của gawk" + +#: awkgram.y:2346 +msgid "empty filename after @include" +msgstr "tệp tin rống sau @include" + +#: awkgram.y:2491 +msgid "empty program text on command line" +msgstr "gặp Ä‘oạn chữ chÆ°Æ¡ng trình rá»—ng nằm trên dòng lệnh" + +#: awkgram.y:2606 +#, c-format +msgid "can't read sourcefile `%s' (%s)" +msgstr "không thể Ä‘á»c tập tin nguồn « %s » (%s)" + +#: awkgram.y:2617 +#, c-format +msgid "source file `%s' is empty" +msgstr "tập tin nguồn « %s » là rá»—ng" + +#: awkgram.y:2794 +msgid "source file does not end in newline" +msgstr "tập tin nguồn không kết thúc vá»›i má»™t dòng má»›i" + +#: awkgram.y:2897 +msgid "unterminated regexp ends with `\\' at end of file" +msgstr "" +"biểu thức chính quy chÆ°a được chấm dứt kết thúc vá»›i « \\ » tại kết thúc của " +"tập tin" + +#: awkgram.y:2921 +#, c-format +msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk" +msgstr "" +"%s: %d: bá»™ sá»­a đổi biểu thức chính quy tawk « /.../%c » không hoạt Ä‘á»™ng được " +"trong gawk" + +#: awkgram.y:2925 +#, c-format +msgid "tawk regex modifier `/.../%c' doesn't work in gawk" +msgstr "" +"bá»™ sá»­a đổi biểu thức chính quy tawk « /.../%c » không hoạt Ä‘á»™ng được trong " +"gawk" + +#: awkgram.y:2932 +msgid "unterminated regexp" +msgstr "biểu thức chính quy chÆ°a được chấm dứt" + +#: awkgram.y:2936 +msgid "unterminated regexp at end of file" +msgstr "biểu thức chính quy chÆ°a được chấm dứt nằm tại kết thúc của tập tin" + +#: awkgram.y:2995 +msgid "use of `\\ #...' line continuation is not portable" +msgstr "không thể mang khả năng dùng « \\#... » để tiếp tục dòng" + +#: awkgram.y:3011 +msgid "backslash not last character on line" +msgstr "xuyệc ngược không phải là ký tá»± cuối cùng nằm trên dòng" + +#: awkgram.y:3072 +msgid "POSIX does not allow operator `**='" +msgstr "POSIX không cho phép toán tá»­ « **= »" + +#: awkgram.y:3074 +msgid "old awk does not support operator `**='" +msgstr "awk cÅ© không há»— trợ toán tá»­ « **= »" + +#: awkgram.y:3083 +msgid "POSIX does not allow operator `**'" +msgstr "POSIX không cho phép toán tá»­ « ** »" + +#: awkgram.y:3085 +msgid "old awk does not support operator `**'" +msgstr "awk cÅ© không há»— trợ toán tá»­ « ** »" + +#: awkgram.y:3120 +msgid "operator `^=' is not supported in old awk" +msgstr "awk cÅ© không há»— trợ toán tá»­ « ^= »" + +#: awkgram.y:3128 +msgid "operator `^' is not supported in old awk" +msgstr "awk cÅ© không há»— trợ toán tá»­ « ^ »" + +#: awkgram.y:3221 awkgram.y:3237 +msgid "unterminated string" +msgstr "chuá»—i không được chấm dứt" + +#: awkgram.y:3433 +#, c-format +msgid "invalid char '%c' in expression" +msgstr "biểu thức má»™t ký tá»± không hợp lệ « %c » nằm trong biểu thức" + +#: awkgram.y:3480 +#, c-format +msgid "`%s' is a gawk extension" +msgstr "« %s » là má»™t phần mở rá»™ng gawk" + +#: awkgram.y:3485 +#, c-format +msgid "POSIX does not allow `%s'" +msgstr "POSIX không cho phép « %s »" + +#: awkgram.y:3493 +#, c-format +msgid "`%s' is not supported in old awk" +msgstr "awk kiểu cÅ© không há»— trợ « %s »" + +#: awkgram.y:3560 +msgid "`goto' considered harmful!\n" +msgstr "« goto » được xem là gây tai hại!\n" + +#: awkgram.y:3611 +#, c-format +msgid "%d is invalid as number of arguments for %s" +msgstr "« %d » không hợp lệ khi là số đối số cho « %s »" + +#: awkgram.y:3646 +#, c-format +msgid "%s: string literal as last arg of substitute has no effect" +msgstr "" +"%s: khi đối số cuối cùng của sá»± thay thế, hằng mã nguồn chuá»—i không có tác " +"dụng" + +#: awkgram.y:3651 +#, c-format +msgid "%s third parameter is not a changeable object" +msgstr "tham số thứ ba %s không phải là má»™t đối tượng có thể thay đổi" + +#: awkgram.y:3724 awkgram.y:3727 +msgid "match: third argument is a gawk extension" +msgstr "match: (khá»›p) đối số thứ ba là phần mở rá»™ng gawk" + +#: awkgram.y:3781 awkgram.y:3784 +msgid "close: second argument is a gawk extension" +msgstr "close: (đóng) đối số thứ hai là phần mở rá»™ng gawk" + +#: awkgram.y:3796 +msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore" +msgstr "dùng « dcgettext(_\"...\") » không đúng: hãy gỡ bá» gạch dÆ°á»›i nằm trÆ°á»›c" + +#: awkgram.y:3811 +msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" +msgstr "dùng « dcgettext(_\"...\") » không đúng: hãy gỡ bá» gạch dÆ°á»›i nằm trÆ°á»›c" + +#: awkgram.y:3903 +#, c-format +msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" +msgstr "hàm « %s »: tham số « #%d », « %s », nhân đôi tham số « #%d »" + +#: awkgram.y:3945 +#, c-format +msgid "function `%s': parameter `%s' shadows global variable" +msgstr "hàm « %s »: tham số « %s » che biến toàn cục" + +#: awkgram.y:4103 +#, c-format +msgid "could not open `%s' for writing (%s)" +msgstr "không mở được « %s » để ghi (%s)" + +#: awkgram.y:4104 +msgid "sending variable list to standard error" +msgstr "Ä‘ang gởi danh sách biến tá»›i thiết bị lá»—i chuẩn" + +#: awkgram.y:4110 +#, c-format +msgid "%s: close failed (%s)" +msgstr "%s: lá»—i đóng (%s)" + +#: awkgram.y:4162 +msgid "shadow_funcs() called twice!" +msgstr "shadow_funcs() (hàm bóng) được gá»i hai lần !" + +#: awkgram.y:4168 +msgid "there were shadowed variables." +msgstr "có biến bị bóng." + +#: awkgram.y:4198 +#, c-format +msgid "function `%s': can't use function name as parameter name" +msgstr "hàm « %s »: không thể dùng tên hàm nhÆ° là tên tham số" + +#: awkgram.y:4202 +#, c-format +msgid "function `%s': can't use special variable `%s' as a function parameter" +msgstr "hàm « %s »: không thể dùng biến đặc biệt « %s » nhÆ° là tham số hàm" + +#: awkgram.y:4218 +#, c-format +msgid "function name `%s' previously defined" +msgstr "tên hàm « %s » trÆ°á»›c đây đã được định nghÄ©a rồi" + +#: awkgram.y:4386 awkgram.y:4392 +#, c-format +msgid "function `%s' called but never defined" +msgstr "hàm « %s » được gá»i nhÆ°ng mà chÆ°a xác định" + +#: awkgram.y:4395 +#, c-format +msgid "function `%s' defined but never called directly" +msgstr "hàm « %s » được định nghÄ©a nhÆ°ng mà chÆ°a được gá»i trá»±c tiếp bao giá»" + +#: awkgram.y:4427 +#, c-format +msgid "regexp constant for parameter #%d yields boolean value" +msgstr "hằng biểu thức chính quy cho tham số « #%d » làm giá trị luận lý (bun)" + +#: awkgram.y:4549 +#, c-format +msgid "" +"function `%s' called with space between name and `(',\n" +"or used as a variable or an array" +msgstr "" +"hàm « %s » được gá»i vá»›i dấu cách nằm giữa tên và « ( »\n" +"hoặc được dùng nhÆ° là biến hay mảng" + +#: awkgram.y:4796 eval.c:2064 +msgid "division by zero attempted" +msgstr "cố gắng chia cho số không" + +#: awkgram.y:4805 eval.c:2080 +#, c-format +msgid "division by zero attempted in `%%'" +msgstr "thá»­ chia cho không trong « %% »" + +#: builtin.c:120 +#, c-format +msgid "%s to \"%s\" failed (%s)" +msgstr "%s tá»›i « %s » bị lá»—i (%s)" + +#: builtin.c:121 +msgid "standard output" +msgstr "thiết bị xuất chuẩn" + +#: builtin.c:135 +msgid "exp: received non-numeric argument" +msgstr "exp: đã nhận đối số không phải thuá»™c số" + +#: builtin.c:141 +#, c-format +msgid "exp: argument %g is out of range" +msgstr "exp: đối số « %g » ở ngoại phạm vị" + +#: builtin.c:216 +#, c-format +msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing" +msgstr "" +"fflush: không thể xoá sạch: ống dẫn « %s » được mở để Ä‘á»c, không phải để ghi" + +#: builtin.c:219 +#, c-format +msgid "fflush: cannot flush: file `%s' opened for reading, not writing" +msgstr "" +"fflush: không thể xoá sạch: tập tin « %s » được mở để Ä‘á»c, không phải để ghi" + +#: builtin.c:231 +#, c-format +msgid "fflush: `%s' is not an open file, pipe or co-process" +msgstr "" +"fflush: « %s » không phải là tập tin đã mở, ống dẫn hay đồng tiến trình" + +#: builtin.c:349 +msgid "index: received non-string first argument" +msgstr "index: (chỉ mục) đã nhận đối số thứ nhất không phải là chuá»—i" + +#: builtin.c:351 +msgid "index: received non-string second argument" +msgstr "index: (chỉ mục) đã nhận đối số thứ hai không phải là chuá»—i" + +#: builtin.c:473 +msgid "int: received non-numeric argument" +msgstr "int: (số nguyên?) đã nhận đối số không phải thuá»™c số" + +#: builtin.c:509 +msgid "length: received array argument" +msgstr "length: (chiá»u dài) đã nhận mảng đối số" + +#: builtin.c:512 +msgid "`length(array)' is a gawk extension" +msgstr "« length(array) » (Ä‘á»™ dài mảng) là má»™t phần mở rá»™ng gawk" + +#: builtin.c:520 +msgid "length: received non-string argument" +msgstr "length: (chiá»u dài) đã nhận đối số không phải chuá»—i" + +#: builtin.c:551 +msgid "log: received non-numeric argument" +msgstr "log: (bản ghi) đã nhận đối số không phải thuá»™c số" + +#: builtin.c:554 +#, c-format +msgid "log: received negative argument %g" +msgstr "log: (bản ghi) đã nhận đối số âm « %g »" + +#: builtin.c:710 builtin.c:715 +msgid "fatal: must use `count$' on all formats or none" +msgstr "nghiêm trá»ng: phải dùng « count$ » vá»›i má»i dạng thức hay không gì cả" + +#: builtin.c:778 +#, c-format +msgid "field width is ignored for `%%' specifier" +msgstr "chiá»u rá»™ng trÆ°á»ng bị bá» qua đối vá»›i bá»™ chỉ định `%%'" + +#: builtin.c:780 +#, c-format +msgid "precision is ignored for `%%' specifier" +msgstr "Ä‘á»™ chính xác bị bá» qua đối vá»›i bá»™ chỉ định `%%'" + +#: builtin.c:782 +#, c-format +msgid "field width and precision are ignored for `%%' specifier" +msgstr "chiá»u rá»™ng trÆ°á»ng và Ä‘á»™ chính xác bị bá» qua đối vá»›i bá»™ chỉ định `%%'" + +#: builtin.c:833 +msgid "fatal: `$' is not permitted in awk formats" +msgstr "nghiêm trá»ng: không cho phép `$' trong định dạng awk" + +#: builtin.c:842 +msgid "fatal: arg count with `$' must be > 0" +msgstr "nghiêm trá»ng: số lượng đối số vá»›i « $ » phải >0" + +#: builtin.c:846 +#, c-format +msgid "fatal: arg count %ld greater than total number of supplied arguments" +msgstr "nghiêm trá»ng: số lượng đối số %ld lá»›n hÆ¡n tổng số đối số được cung cấp" + +#: builtin.c:850 +msgid "fatal: `$' not permitted after period in format" +msgstr "nghiêm trá»ng: không cho phép « $ » nằm sau dấu chấm trong định dạng" + +#: builtin.c:866 +msgid "fatal: no `$' supplied for positional field width or precision" +msgstr "" +"nghiêm trá»ng: chÆ°a cung cấp « $ » cho Ä‘á»™ rá»™ng trÆ°á»ng thuá»™c vị trí hay cho Ä‘á»™ " +"chính xác" + +#: builtin.c:937 +msgid "`l' is meaningless in awk formats; ignored" +msgstr "chữ « l » không có nghÄ©a trong định dạng awk nên bị bá» qua" + +#: builtin.c:941 +msgid "fatal: `l' is not permitted in POSIX awk formats" +msgstr "nghiêm trá»ng: không cho phép chữ « l » nằm trong định dạng awk POSIX" + +#: builtin.c:954 +msgid "`L' is meaningless in awk formats; ignored" +msgstr "chữ « L » không có nghÄ©a trong định dạng awk nên bị bá» qua" + +#: builtin.c:958 +msgid "fatal: `L' is not permitted in POSIX awk formats" +msgstr "nghiêm trá»ng: không cho phép chữ « L » nằm trong định dạng awk POSIX" + +#: builtin.c:971 +msgid "`h' is meaningless in awk formats; ignored" +msgstr "chữ « h » không có nghÄ©a trong định dạng awk nên bị bá» qua" + +#: builtin.c:975 +msgid "fatal: `h' is not permitted in POSIX awk formats" +msgstr "nghiêm trá»ng: không cho phép chữ « h » nằm trong định dạng awk POSIX" + +#: builtin.c:1288 +#, c-format +msgid "[s]printf: value %g is out of range for `%%%c' format" +msgstr "[s]printf: giá trị %g ở ngoại phạm vị cho dạng thức « %%%c »" + +#: builtin.c:1348 +#, c-format +msgid "ignoring unknown format specifier character `%c': no argument converted" +msgstr "" +"Ä‘ang bá» qua ký tá»± ghi rõ định dạng không rõ « %c »: không có đối số được " +"chuyển đổi" + +#: builtin.c:1353 +msgid "fatal: not enough arguments to satisfy format string" +msgstr "nghiêm trá»ng: chÆ°a có đủ đối số để đáp ứng chuá»—i định dạng" + +#: builtin.c:1355 +msgid "^ ran out for this one" +msgstr "bị hết « ^ » cho Ä‘iá»u này" + +#: builtin.c:1362 +msgid "[s]printf: format specifier does not have control letter" +msgstr "[s]printf: Ä‘iá»u ghi rõ định dạng không có chữ Ä‘iá»u khiển" + +#: builtin.c:1365 +msgid "too many arguments supplied for format string" +msgstr "quá nhiá»u đối số được cung cấp cho chuá»—i định dạng" + +#: builtin.c:1396 +#, fuzzy +msgid "[s]printf called with no arguments" +msgstr "sqrt: (căn bậc hai) đã gá»i vá»›i đối số âm « %g »" + +#: builtin.c:1442 builtin.c:1453 +msgid "printf: no arguments" +msgstr "printf: không có đối số" + +#: builtin.c:1494 +msgid "sqrt: received non-numeric argument" +msgstr "sqrt: (căn bậc hai) đã nhận đối số không phải thuá»™c số" + +#: builtin.c:1498 +#, c-format +msgid "sqrt: called with negative argument %g" +msgstr "sqrt: (căn bậc hai) đã gá»i vá»›i đối số âm « %g »" + +#: builtin.c:1522 +#, c-format +msgid "substr: length %g is not >= 1" +msgstr "substr: (chuá»—i phụ) Ä‘á»™ dài %g không phải ≥1" + +#: builtin.c:1524 +#, c-format +msgid "substr: length %g is not >= 0" +msgstr "substr: (chuá»—i phụ) Ä‘á»™ dài %g không phải ≥0" + +#: builtin.c:1531 +#, c-format +msgid "substr: non-integer length %g will be truncated" +msgstr "substr: (chuá»—i phụ) sẽ cắt xén Ä‘á»™ dài không phải số nguyên « %g »" + +#: builtin.c:1536 +#, c-format +msgid "substr: length %g too big for string indexing, truncating to %g" +msgstr "substr: Ä‘á»™ dài %g quá lá»›n để chỉ mục chuá»—i nên xén ngắn thành %g" + +#: builtin.c:1548 +#, c-format +msgid "substr: start index %g is invalid, using 1" +msgstr "substr: (chuá»—i phụ) số chỉ mục đầu « %g » không hợp lệ nên dùng 1" + +#: builtin.c:1553 +#, c-format +msgid "substr: non-integer start index %g will be truncated" +msgstr "" +"substr: (chuá»—i phụ) số chỉ mục đầu không phải số nguyên « %g » sẽ bị cắt ngắn" + +#: builtin.c:1578 +msgid "substr: source string is zero length" +msgstr "substr: (chuá»—i con) chuá»—i nguồn có Ä‘á»™ dài số không" + +#: builtin.c:1594 +#, c-format +msgid "substr: start index %g is past end of string" +msgstr "substr: (chuá»—i phụ) số chỉ mục đầu %g nằm sau kết thúc của chuá»—i" + +#: builtin.c:1602 +#, c-format +msgid "" +"substr: length %g at start index %g exceeds length of first argument (%lu)" +msgstr "" +"substr: (chuá»—i phụ) Ä‘á»™ dài %g tại số chỉ mục đầu %g vượt quá Ä‘á»™ dài của đối " +"số đầu (%lu)" + +#: builtin.c:1676 +msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" +msgstr "" +"strftime: giá trị định dạng trong PROCINFO[\"strftime\"] phải thuá»™c kiểu số" + +#: builtin.c:1699 +msgid "strftime: received non-numeric second argument" +msgstr "strftime: đã nhận đối số thứ hai khác thuá»™c số" + +#: builtin.c:1702 +msgid "strftime: second argument less than 0 or too big for time_t" +msgstr "strftime: tham số thứ hai nhá» hÆ¡n 0 hay quá lá»›n dành cho time_t" + +#: builtin.c:1709 +msgid "strftime: received non-string first argument" +msgstr "strftime: đã nhận đối số thứ nhất khác chuá»—i" + +#: builtin.c:1715 +msgid "strftime: received empty format string" +msgstr "strftime: đã nhận chuá»—i định dạng rá»—ng" + +#: builtin.c:1781 +msgid "mktime: received non-string argument" +msgstr "mktime: đã nhận đối số khác chuá»—i" + +#: builtin.c:1798 +msgid "mktime: at least one of the values is out of the default range" +msgstr "mktime: ít nhất má»™t của những giá trị nằm ở ngoại phạm vi mặc định" + +#: builtin.c:1833 +msgid "'system' function not allowed in sandbox mode" +msgstr "hàm 'system' không cho phép ở chế Ä‘á»™ khuôn đúc" + +#: builtin.c:1838 +msgid "system: received non-string argument" +msgstr "system: (hệ thống) đã nhận đối số khác chuá»—i" + +#: builtin.c:1893 eval.c:1161 eval.c:1797 eval.c:1811 +#, c-format +msgid "reference to uninitialized variable `%s'" +msgstr "gặp tham chiếu đến biến chÆ°a được sở khởi « %s »" + +#: builtin.c:1960 +#, c-format +msgid "reference to uninitialized field `$%d'" +msgstr "gặp tham chiếu đến trÆ°á»ng chÆ°a được sở khởi « $%d »" + +#: builtin.c:2047 +msgid "tolower: received non-string argument" +msgstr "tolower: (đến thấp hÆ¡n) đã nhận đối số khác chuá»—i" + +#: builtin.c:2081 +msgid "toupper: received non-string argument" +msgstr "toupper: (đến cao hÆ¡n) đã nhận đối số khác chuá»—i" + +#: builtin.c:2117 +msgid "atan2: received non-numeric first argument" +msgstr "atan2: đã nhận đối số thứ nhất khác thuá»™c số" + +#: builtin.c:2119 +msgid "atan2: received non-numeric second argument" +msgstr "atan2: đã nhận đối số thứ hai khác thuá»™c số" + +#: builtin.c:2138 +msgid "sin: received non-numeric argument" +msgstr "sin: đã nhận đối số không phải thuá»™c số" + +#: builtin.c:2154 +msgid "cos: received non-numeric argument" +msgstr "cos: đã nhận đối số không phải thuá»™c số" + +#: builtin.c:2207 +msgid "srand: received non-numeric argument" +msgstr "srand: đã nhận đối số không phải thuá»™c số" + +#: builtin.c:2238 +msgid "match: third argument is not an array" +msgstr "match: (khá»›p) đối số thứ ba không phải là mảng" + +#: builtin.c:2502 +msgid "gensub: third argument of 0 treated as 1" +msgstr "gensub: đối số thứ ba 0 được xá»­ lý nhÆ° 1" + +#: builtin.c:2795 +msgid "lshift: received non-numeric first argument" +msgstr "lshift: đã nhận đối số đầu không phải thuá»™c số" + +#: builtin.c:2797 +msgid "lshift: received non-numeric second argument" +msgstr "lshift: (dịch bên trái) đã nhận đối số thứ hai khác thuá»™c số" + +#: builtin.c:2803 +#, fuzzy, c-format +msgid "lshift(%f, %f): negative values will give strange results" +msgstr "lshift(%lf, %lf): giá trị âm sẽ gây ra kết quả lạ" + +#: builtin.c:2805 +#, fuzzy, c-format +msgid "lshift(%f, %f): fractional values will be truncated" +msgstr "lshift(%lf, %lf): giá trị thuá»™c phân số sẽ bị xén ngắn" + +#: builtin.c:2807 +#, fuzzy, c-format +msgid "lshift(%f, %f): too large shift value will give strange results" +msgstr "lshift(%lf, %lf): giá trị dịch quá lá»›n sẽ gây ra kết quả lạ" + +#: builtin.c:2832 +msgid "rshift: received non-numeric first argument" +msgstr "rshift: đã nhận đối số thứ nhất khác thuá»™c số" + +#: builtin.c:2834 +msgid "rshift: received non-numeric second argument" +msgstr "rshift: (dịch bên phải) đã nhận đối số thứ hai khác thuá»™c số" + +#: builtin.c:2840 +#, fuzzy, c-format +msgid "rshift(%f, %f): negative values will give strange results" +msgstr "rshift(%lf, %lf): giá trị âm sẽ gây ra kết quả lạ" + +#: builtin.c:2842 +#, fuzzy, c-format +msgid "rshift(%f, %f): fractional values will be truncated" +msgstr "rshift(%lf, %lf): giá trị thuá»™c phân số sẽ bị xén ngắn" + +#: builtin.c:2844 +#, fuzzy, c-format +msgid "rshift(%f, %f): too large shift value will give strange results" +msgstr "rshift(%lf, %lf): giá trị dịch quá lá»›n sẽ gây ra kết quả lạ" + +#: builtin.c:2869 +msgid "and: received non-numeric first argument" +msgstr "and: (và) đã nhận đối số đầu không phải thuá»™c số" + +#: builtin.c:2871 +msgid "and: received non-numeric second argument" +msgstr "and: (và) đã nhận đối số thứ hai khác thuá»™c số" + +#: builtin.c:2877 +#, fuzzy, c-format +msgid "and(%f, %f): negative values will give strange results" +msgstr "and(%lf, %lf): (và) giá trị âm sẽ gây ra kết quả lạ" + +#: builtin.c:2879 +#, fuzzy, c-format +msgid "and(%f, %f): fractional values will be truncated" +msgstr "and(%lf, %lf): (và) giá trị thuá»™c phân số sẽ bị xén ngắn" + +#: builtin.c:2904 +msgid "or: received non-numeric first argument" +msgstr "or: (hoặc) đã nhận đối số đầu không phải thuá»™c số" + +#: builtin.c:2906 +msgid "or: received non-numeric second argument" +msgstr "or: (hoặc) đã nhận đối số thứ hai khác thuá»™c số" + +#: builtin.c:2912 +#, fuzzy, c-format +msgid "or(%f, %f): negative values will give strange results" +msgstr "or(%lf, %lf): (hoặc) giá trị âm sẽ gây ra kết quả lạ" + +#: builtin.c:2914 +#, fuzzy, c-format +msgid "or(%f, %f): fractional values will be truncated" +msgstr "or(%lf, %lf): (hoặc) giá trị thuá»™c phân số sẽ bị xén ngắn" + +#: builtin.c:2942 +msgid "xor: received non-numeric first argument" +msgstr "xor: (không hoặc) đã nhận đối số thứ nhất khác thuá»™c số" + +#: builtin.c:2944 +msgid "xor: received non-numeric second argument" +msgstr "xor: đã nhận đối số thứ hai khác thuá»™c số" + +#: builtin.c:2950 +#, fuzzy, c-format +msgid "xor(%f, %f): negative values will give strange results" +msgstr "xor(%lf, %lf): (không hoặc) giá trị âm sẽ gây ra kết quả lạ" + +#: builtin.c:2952 +#, fuzzy, c-format +msgid "xor(%f, %f): fractional values will be truncated" +msgstr "xor(%lf, %lf): (không hoặc) giá trị thuá»™c phân số sẽ bị xén ngắn" + +#: builtin.c:2976 builtin.c:2982 +msgid "compl: received non-numeric argument" +msgstr "compl: (biên dịch) đã nhận đối số khác thuá»™c số" + +#: builtin.c:2984 +#, fuzzy, c-format +msgid "compl(%f): negative value will give strange results" +msgstr "compl(%lf): (biên dịch) giá trị âm sẽ gây ra kết quả lạ" + +#: builtin.c:2986 +#, fuzzy, c-format +msgid "compl(%f): fractional value will be truncated" +msgstr "compl(%lf): (biên dịch) giá trị thuá»™c phân số se bị xén ngắn" + +#: builtin.c:3155 +#, c-format +msgid "dcgettext: `%s' is not a valid locale category" +msgstr "dcgettext: « %s » không phải là má»™t phân loại miá»n địa phÆ°Æ¡ng hợp lệ" + +#: eval.c:412 +#, c-format +msgid "unknown nodetype %d" +msgstr "không biết kiểu nút %d" + +#: eval.c:423 eval.c:437 +#, c-format +msgid "unknown opcode %d" +msgstr "gặp opcode (mã thao tác) không rõ %d" + +#: eval.c:434 +#, c-format +msgid "opcode %s not an operator or keyword" +msgstr "mã lệnh %s không phải là má»™t toán tá»­ hoặc từ khoá" + +#: eval.c:488 +msgid "buffer overflow in genflags2str" +msgstr "tràn bá»™ đệm trong « genflags2str » (tạo ra cỠđến chuá»—i)" + +#: eval.c:698 +#, c-format +msgid "" +"\n" +"\t# Function Call Stack:\n" +"\n" +msgstr "" +"\n" +"\t# Äống gá»i hàm:\n" +"\n" + +#: eval.c:725 +msgid "`IGNORECASE' is a gawk extension" +msgstr "« IGNORECASE » (bá» qua chữ hoa/thÆ°á»ng) là phần mở rá»™ng gawk" + +#: eval.c:754 +msgid "`BINMODE' is a gawk extension" +msgstr "« BINMODE » (chế Ä‘á»™ nhị phân) là phần mở rá»™ng gawk" + +#: eval.c:813 +#, c-format +msgid "BINMODE value `%s' is invalid, treated as 3" +msgstr "Giá trị BINMODE (chế Ä‘á»™ nhị phân) « %s » không hợp lệ nên thấy là 3" + +#: eval.c:902 +#, c-format +msgid "bad `%sFMT' specification `%s'" +msgstr "đặc tả « %sFMT » sai « %s »" + +#: eval.c:980 +msgid "turning off `--lint' due to assignment to `LINT'" +msgstr "Ä‘ang tắt « --lint » do việc gán cho « LINT »" + +#: eval.c:1127 eval.c:1779 +#, c-format +msgid "can't use function name `%s' as variable or array" +msgstr "không thể dùng tên hàm « %s » nhÆ° là biến hay mảng" + +#: eval.c:1160 eval.c:1796 eval.c:1810 +#, c-format +msgid "reference to uninitialized argument `%s'" +msgstr "gặp tham chiếu đến đối số chÆ°a được sở khởi « %s »" + +#: eval.c:1179 +msgid "attempt to field reference from non-numeric value" +msgstr "cố gắng tham chiếu trÆ°á»ng từ giá trị khác thuá»™c số" + +#: eval.c:1181 +msgid "attempt to field reference from null string" +msgstr "cố gắng tham chiếu trÆ°á»ng từ chá»—i trống rá»—ng" + +#: eval.c:1187 +#, c-format +msgid "attempt to access field %ld" +msgstr "cố gắng để truy cập trÆ°á»ng %ld" + +#: eval.c:1196 +#, c-format +msgid "reference to uninitialized field `$%ld'" +msgstr "tham chiếu đến trÆ°á»ng chÆ°a được khởi tạo « $%ld »" + +#: eval.c:1258 +#, c-format +msgid "function `%s' called with more arguments than declared" +msgstr "hàm « %s » được gá»i vá»›i số đối số hÆ¡n số được tuyên bố" + +#: eval.c:1439 +#, c-format +msgid "unwind_stack: unexpected type `%s'" +msgstr "unwind_stack: không mong đợi kiểu `%s'" + +#: eval.c:1534 +msgid "division by zero attempted in `/='" +msgstr "cố gắng chia cho số không trong « /= »" + +#: eval.c:1541 +#, c-format +msgid "division by zero attempted in `%%='" +msgstr "cố gắng chia cho số không trong « %%= »" + +#: eval.c:1884 eval.c:2130 +#, c-format +msgid "attempt to use array `%s[\"%.*s\"]' in a scalar context" +msgstr "cố gắng dùng mảng `%s[\"%.*s\"]' trong má»™t ngữ cảnh vô hÆ°á»›ng" + +#: eval.c:1915 +msgid "assignment used in conditional context" +msgstr "Ä‘iá»u gán được dùng trong ngữ cảnh Ä‘iá»u kiện" + +#: eval.c:1919 +msgid "statement has no effect" +msgstr "câu không có tác dụng" + +#: eval.c:2363 +#, c-format +msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" +msgstr "" +"cho loop: (cho vòng lặp) mảng « %s » đã thay đổi kích thÆ°á»›c từ %ld đến %ld " +"trong khi thá»±c hiện vòng lặp" + +#: eval.c:2478 +#, c-format +msgid "function called indirectly through `%s' does not exist" +msgstr "hàm được gá»i gián tiếp thông qua `%s' không tồn tại" + +#: eval.c:2490 +#, c-format +msgid "function `%s' not defined" +msgstr "chÆ°a xác định hàm « %s »" + +#: eval.c:2531 +#, c-format +msgid "non-redirected `getline' invalid inside `%s' rule" +msgstr "`getline' không-gá»­i-lại không hợp lệ bên trong quy tắc `%s'" + +#: eval.c:2620 +#, c-format +msgid "error reading input file `%s': %s" +msgstr "gặp lá»—i khi Ä‘á»c tập tin nhập « %s »: %s" + +#: eval.c:2634 +#, c-format +msgid "`nextfile' cannot be called from a `%s' rule" +msgstr "«nextfile» (tập tin kế tiếp) không thể được gá»i từ má»™t quy tắc `%s'" + +#: eval.c:2681 +msgid "`exit' cannot be called in the current context" +msgstr "`exit' (thoát) không thể được gá»i trong ngữ cảnh hiện hành" + +#: eval.c:2720 +#, c-format +msgid "`next' cannot be called from a `%s' rule" +msgstr "«next» (kế tiếp) không thể được gá»i từ má»™t quy tắc `%s'" + +#: eval.c:2786 +#, c-format +msgid "Sorry, don't know how to interpret `%s'" +msgstr "Rất tiếc, không biết làm cách nào để phiên dịch được `%s'" + +#: ext.c:54 +msgid "extensions are not allowed in sandbox mode" +msgstr "phần mở rá»™ng không cho phép ở chế Ä‘á»™ khuôn đúc" + +#: ext.c:60 ext.c:65 +msgid "`extension' is a gawk extension" +msgstr "« extension » là má»™t phần mở rá»™ng gawk" + +#: ext.c:75 +#, c-format +msgid "fatal: extension: cannot open `%s' (%s)\n" +msgstr "nghiêm trá»ng: phần mở rá»™ng: không thể mở `%s' (%s)\n" + +#: ext.c:84 +#, c-format +msgid "" +"fatal: extension: library `%s': does not define " +"`plugin_is_GPL_compatible' (%s)\n" +msgstr "" +"nghiêm trá»ng: extension (phần mở rá»™ng): thÆ° viện « %s »: không thể định " +"nghÄ©a `plugin_is_GPL_compatible' (tÆ°Æ¡ng thích cắm là dùng GPL) (%s)\n" + +#: ext.c:93 +#, c-format +msgid "fatal: extension: library `%s': cannot call function `%s' (%s)\n" +msgstr "" +"nghiêm trá»ng: extension (phần mở rá»™ng): thÆ° viện « %s »: không thể gá»i hàm « " +"%s » (%s)\n" + +#: ext.c:127 +msgid "extension: missing function name" +msgstr "extension: (phần mở rá»™ng) tên hàm còn thiếu" + +#: ext.c:132 +#, c-format +msgid "extension: illegal character `%c' in function name `%s'" +msgstr "" +"extension: (phần mở rá»™ng) gặp ký tá»± cấm « %c » nằm trong tên hàm « %s »" + +#: ext.c:141 +#, c-format +msgid "extension: can't redefine function `%s'" +msgstr "extension: (phần mở rá»™ng) không thể xác định lại hàm « %s »" + +#: ext.c:145 +#, c-format +msgid "extension: function `%s' already defined" +msgstr "extension: (phần mở rá»™ng) hàm « %s » đã được xác định" + +#: ext.c:150 +#, c-format +msgid "extension: function name `%s' previously defined" +msgstr "tên hàm « %s » đã được xác định trÆ°á»›c" + +#: ext.c:152 +#, c-format +msgid "extension: can't use gawk built-in `%s' as function name" +msgstr "" +"extension: (phần mở rá»™ng) không thể dùng Ä‘iá»u có sẵn của gawk « %s » nhÆ° là " +"tên hàm" + +#: ext.c:156 +#, c-format +msgid "make_builtin: negative argument count for function `%s'" +msgstr "make_builtin: đối số dành cho số đếm bị âm cho hàm `%s'" + +#: ext.c:266 +#, c-format +msgid "function `%s' defined to take no more than %d argument(s)" +msgstr "hàm « %s » được xác định để chấp nhấn %d đối số tối Ä‘a" + +#: ext.c:269 +#, c-format +msgid "function `%s': missing argument #%d" +msgstr "hàm « %s » còn thiếu đối số thứ %d" + +#: ext.c:286 +#, c-format +msgid "function `%s': argument #%d: attempt to use scalar as an array" +msgstr "hàm « %s »: đối số thứ %d: cố gắng dùng Ä‘iá»u vô hÆ°á»›ng nhÆ° là mảng" + +#: ext.c:290 +#, c-format +msgid "function `%s': argument #%d: attempt to use array as a scalar" +msgstr "hàm « %s »: đối số thứ %d: cố gắng dùng mảng nhÆ° là Ä‘iá»u vô hÆ°á»›ng" + +#: ext.c:303 +msgid "Operation Not Supported" +msgstr "Thao tác không được há»— trợ" + +#: field.c:328 +msgid "NF set to negative value" +msgstr "« NF » được đặt thành giá trị âm" + +#: field.c:951 field.c:958 field.c:962 +msgid "split: fourth argument is a gawk extension" +msgstr "split (chia tách): đối số thứ tÆ° là phần mở rá»™ng gawk" + +#: field.c:955 +msgid "split: fourth argument is not an array" +msgstr "split (chia tách): đối số thứ tÆ° không phải là mảng" + +#: field.c:969 +msgid "split: second argument is not an array" +msgstr "split: (chia tách) đối số thứ hai không phải là mảng" + +#: field.c:973 +msgid "split: cannot use the same array for second and fourth args" +msgstr "" +"split (chia tách): không thể sá»­ dụng cùng má»™t mảng có cả đối số thứ hai và " +"thứ tÆ°" + +#: field.c:978 +msgid "split: cannot use a subarray of second arg for fourth arg" +msgstr "" +"split (phân tách): không thể sá»­ dụng mảng con của tham số thứ hai cho tham " +"số thứ tÆ°" + +#: field.c:981 +msgid "split: cannot use a subarray of fourth arg for second arg" +msgstr "" +"split (phân tách): không thể sá»­ dụng mảng con của tham số thứ tÆ° cho tham số " +"thứ hai" + +#: field.c:1010 +msgid "split: null string for third arg is a gawk extension" +msgstr "" +"split: (chia tách) chuá»—i vô giá trị cho đối số thứ ba là phần mở rá»™ng gawk" + +#: field.c:1050 +msgid "patsplit: fourth argument is not an array" +msgstr "patsplit: đối số thứ tÆ° không phải là mảng" + +#: field.c:1055 +msgid "patsplit: second argument is not an array" +msgstr "patsplit: đối số thứ hai không phải là mảng" + +#: field.c:1061 +msgid "patsplit: third argument must be non-null" +msgstr "patsplit: đối số thứ ba không phải không rá»—ng" + +#: field.c:1065 +msgid "patsplit: cannot use the same array for second and fourth args" +msgstr "" +"patsplit (chÆ°Æ¡ng trình chia tách): không thể sá»­ dụng cùng má»™t mảng cho cả " +"hai đối số thứ hai và thứ tÆ°" + +#: field.c:1070 +msgid "patsplit: cannot use a subarray of second arg for fourth arg" +msgstr "" +"patsplit (chÆ°Æ¡ng trình phân tách): không thể sá»­ dụng mảng con của tham số " +"thứ hai cho tham số thứ tÆ°" + +#: field.c:1073 +msgid "patsplit: cannot use a subarray of fourth arg for second arg" +msgstr "" +"patsplit (chÆ°Æ¡ng trình phân tách): không thể sá»­ dụng mảng con của tham số " +"thứ tÆ° cho tham số thứ hai" + +#: field.c:1110 +msgid "`FIELDWIDTHS' is a gawk extension" +msgstr "« FIELDWIDTHS » (Ä‘á»™ rá»™ng trÆ°á»ng) là phần mở rá»™ng gawk" + +#: field.c:1173 +#, c-format +msgid "invalid FIELDWIDTHS value, near `%s'" +msgstr "giá trị FIELDWIDTHS (Ä‘á»™ rá»™ng trÆ°á»ng) không hợp lệ, gần « %s »" + +#: field.c:1246 +msgid "null string for `FS' is a gawk extension" +msgstr "chuá»—i vô giá trị cho « FS » là phần mở rá»™ng gawk" + +#: field.c:1250 +msgid "old awk does not support regexps as value of `FS'" +msgstr "awk cÅ© không há»— trợ biểu thức chính quy làm giá trị của « FS »" + +#: field.c:1369 +msgid "`FPAT' is a gawk extension" +msgstr "`FPAT' là phần mở rá»™ng của gawk" + +#: getopt.c:604 getopt.c:633 +#, fuzzy, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s: tùy chá»n « %s » vẫn mÆ¡ hồ\n" + +#: getopt.c:679 getopt.c:683 +#, c-format +msgid "%s: option '--%s' doesn't allow an argument\n" +msgstr "%s: tùy chá»n « --%s » không cho phép đối số\n" + +#: getopt.c:692 getopt.c:697 +#, c-format +msgid "%s: option '%c%s' doesn't allow an argument\n" +msgstr "%s: tùy chá»n « %c%s » không cho phép đối số\n" + +#: getopt.c:740 getopt.c:759 +#, c-format +msgid "%s: option '--%s' requires an argument\n" +msgstr "%s: tùy chá»n « --%s » yêu cầu má»™t đối số\n" + +#: getopt.c:797 getopt.c:800 +#, c-format +msgid "%s: unrecognized option '--%s'\n" +msgstr "%s: không nhận ra tùy chá»n « --%s »\n" + +#: getopt.c:808 getopt.c:811 +#, c-format +msgid "%s: unrecognized option '%c%s'\n" +msgstr "%s: không nhận ra tùy chá»n « %c%s »\n" + +#: getopt.c:860 getopt.c:863 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: tùy chá»n không hợp lệ -- « %c »\n" + +#: getopt.c:916 getopt.c:933 getopt.c:1143 getopt.c:1161 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: tùy chá»n yêu cầu má»™t đối số -- « %c »\n" + +#: getopt.c:989 getopt.c:1005 +#, c-format +msgid "%s: option '-W %s' is ambiguous\n" +msgstr "%s: tùy chá»n « -W %s » vẫn mÆ¡ hồ\n" + +#: getopt.c:1029 getopt.c:1047 +#, c-format +msgid "%s: option '-W %s' doesn't allow an argument\n" +msgstr "%s: tùy chá»n « -W %s » không cho phép đối số\n" + +#: getopt.c:1068 getopt.c:1086 +#, c-format +msgid "%s: option '-W %s' requires an argument\n" +msgstr "%s: tùy chá»n « -W %s » yêu cầu má»™t đối số\n" + +#: io.c:280 +#, c-format +msgid "command line argument `%s' is a directory: skipped" +msgstr "tham số dòng lệnh `%s' là má»™t thÆ° mục: đã bị bá» qua" + +#: io.c:283 io.c:385 +#, c-format +msgid "cannot open file `%s' for reading (%s)" +msgstr "không mở được tập tin « %s » để Ä‘á»c (%s)" + +#: io.c:501 +#, c-format +msgid "close of fd %d (`%s') failed (%s)" +msgstr "lá»—i đóng fd %d (« %s ») (%s)" + +#: io.c:578 +msgid "redirection not allowed in sandbox mode" +msgstr "chuyển hÆ°á»›ng không cho phép ở chế Ä‘á»™ khuôn đúc" + +#: io.c:612 +#, c-format +msgid "expression in `%s' redirection only has numeric value" +msgstr "biểu thức trong Ä‘iá»u chuyển hÆ°á»›ng « %s » chỉ có giá trị thuá»™c số" + +#: io.c:618 +#, c-format +msgid "expression for `%s' redirection has null string value" +msgstr "biểu thức cho Ä‘iá»u chuyển hÆ°á»›ng « %s » có giá trị chuá»—i vô giá trị" + +#: io.c:623 +#, c-format +msgid "filename `%s' for `%s' redirection may be result of logical expression" +msgstr "" +"tên tập tin « %s » cho Ä‘iá»u chuyển hÆ°á»›ng « %s » có lẽ là kết quả của biểu " +"thức luận lý" + +#: io.c:666 +#, c-format +msgid "unnecessary mixing of `>' and `>>' for file `%.*s'" +msgstr "không cần hợp « > » và « >> » cho tập tin « %.*s »" + +#: io.c:719 +#, c-format +msgid "can't open pipe `%s' for output (%s)" +msgstr "không thể mở ống dẫn « %s » để xuất (%s)" + +#: io.c:729 +#, c-format +msgid "can't open pipe `%s' for input (%s)" +msgstr "không thể mở ống dẫn « %s » để nhập (%s)" + +#: io.c:752 +#, c-format +msgid "can't open two way pipe `%s' for input/output (%s)" +msgstr "không thể mở ống dẫn hai chiá»u « %s » để nhập/xuất (%s)" + +#: io.c:834 +#, c-format +msgid "can't redirect from `%s' (%s)" +msgstr "không thể chuyển hÆ°á»›ng từ « %s » (%s)" + +#: io.c:837 +#, c-format +msgid "can't redirect to `%s' (%s)" +msgstr "không thể chuyển hÆ°á»›ng đến « %s » (%s)" + +#: io.c:888 +msgid "" +"reached system limit for open files: starting to multiplex file descriptors" +msgstr "" +"đã tá»›i giá»›i hạn hệ thống vá» tập tin được mở nên bắt đầu phối hợp nhiá»u dòng " +"Ä‘iá»u mô tả tập tin" + +#: io.c:904 +#, c-format +msgid "close of `%s' failed (%s)." +msgstr "lá»—i đóng « %s » (%s)" + +#: io.c:912 +msgid "too many pipes or input files open" +msgstr "quá nhiá»u ống dẫn hay tập tin nhập được mở" + +#: io.c:934 +msgid "close: second argument must be `to' or `from'" +msgstr "close: (đóng) đối số thứ hai phải là « to » (đến) hay « from » (từ)" + +#: io.c:951 +#, c-format +msgid "close: `%.*s' is not an open file, pipe or co-process" +msgstr "" +"close: (đóng) « %.*s » không phải là tập tin được mở, ống dẫn hay tiến trình " +"vá»›i nhau" + +#: io.c:956 +msgid "close of redirection that was never opened" +msgstr "việc đóng Ä‘iá»u chuyển hÆ°á»›ng chÆ°a mở" + +#: io.c:1053 +#, c-format +msgid "close: redirection `%s' not opened with `|&', second argument ignored" +msgstr "" +"close: (đóng) Ä‘iá»u chuyển hÆ°á»›ng « %s » không được mở bởi « |& » nên đối số " +"thứ hai bị bá» qua" + +#: io.c:1069 +#, c-format +msgid "failure status (%d) on pipe close of `%s' (%s)" +msgstr "trạng thái thất bại (%d) khi đóng ống dẫn « %s » (%s)" + +#: io.c:1072 +#, c-format +msgid "failure status (%d) on file close of `%s' (%s)" +msgstr "trạng thái thất bại (%d) khi đóng tập tin « %s » (%s)" + +#: io.c:1092 +#, c-format +msgid "no explicit close of socket `%s' provided" +msgstr "không có việc đóng dứt khoát ổ cắm « %s » được cung cấp" + +#: io.c:1095 +#, c-format +msgid "no explicit close of co-process `%s' provided" +msgstr "không có việc đóng dứt khoát đồng tiến trình « %s » được cung cấp" + +#: io.c:1098 +#, c-format +msgid "no explicit close of pipe `%s' provided" +msgstr "không có việc đóng dứt khoát ống dẫn « %s » được cung cấp" + +#: io.c:1101 +#, c-format +msgid "no explicit close of file `%s' provided" +msgstr "không có việc đóng dứt khoát tập tin « %s » được cung cấp" + +#: io.c:1129 io.c:1184 main.c:797 main.c:834 +#, c-format +msgid "error writing standard output (%s)" +msgstr "gặp lá»—i khi ghi thiết bị xụất chuẩn (%s)" + +#: io.c:1133 io.c:1189 +#, c-format +msgid "error writing standard error (%s)" +msgstr "gặp lá»—i khi ghi thiết bị lá»—i chuẩn (%s)" + +#: io.c:1141 +#, c-format +msgid "pipe flush of `%s' failed (%s)." +msgstr "lá»—i xoá sạch ống dẫn « %s » (%s)" + +#: io.c:1144 +#, c-format +msgid "co-process flush of pipe to `%s' failed (%s)." +msgstr "lá»—i xoá sạch ống dẫn đồng tiến trình đến « %s » (%s)" + +#: io.c:1147 +#, c-format +msgid "file flush of `%s' failed (%s)." +msgstr "lá»—i xoá sạch tập tin « %s » (%s)" + +#: io.c:1262 +#, c-format +msgid "local port %s invalid in `/inet'" +msgstr "cổng cục bá»™ %s không hợp lệ trong « /inet »" + +#: io.c:1279 +#, c-format +msgid "remote host and port information (%s, %s) invalid" +msgstr "thông tin vá» máy/cổng ở xa (%s, %s) không phải hợp lệ" + +#: io.c:1431 +#, c-format +msgid "no (known) protocol supplied in special filename `%s'" +msgstr "" +"trong tên tập tin đặc biệt « %s » không cung cấp giao thức (đã biết) nào" + +#: io.c:1445 +#, c-format +msgid "special file name `%s' is incomplete" +msgstr "tên tập tin đặc biệt « %s » chÆ°a xong" + +#: io.c:1462 +msgid "must supply a remote hostname to `/inet'" +msgstr "phải cung cấp má»™t tên máy từ xa cho " + +#: io.c:1480 +msgid "must supply a remote port to `/inet'" +msgstr "phải cung cấp má»™t cổng từ xa cho " + +#: io.c:1526 +msgid "TCP/IP communications are not supported" +msgstr "truyá»n thông TCP/IP không được há»— trợ" + +#: io.c:1698 +#, c-format +msgid "could not open `%s', mode `%s'" +msgstr "không mở được « %s », chế Ä‘á»™ « %s »" + +#: io.c:1752 +#, c-format +msgid "close of master pty failed (%s)" +msgstr "lá»—i đóng pty (tài sản?) chính (%s)" + +#: io.c:1754 io.c:1922 io.c:2079 +#, c-format +msgid "close of stdout in child failed (%s)" +msgstr "lá»—i đóng thiết bị xuất chuẩn trong tiến trình con (%s)" + +#: io.c:1757 +#, c-format +msgid "moving slave pty to stdout in child failed (dup: %s)" +msgstr "" +"lá»—i di chuyển pty (tài sản?) phụ tá»›i thiết bị xuất chuẩn trong Ä‘iá»u con " +"(nhân đôi: %s)" + +#: io.c:1759 io.c:1927 +#, c-format +msgid "close of stdin in child failed (%s)" +msgstr "lá»—i đóng thiết bị nhập chuẩn trong tiến trình con (%s)" + +#: io.c:1762 +#, c-format +msgid "moving slave pty to stdin in child failed (dup: %s)" +msgstr "" +"lá»—i di chuyển pty (tài sản?) phụ tá»›i thiết bị nhập chuẩn trong Ä‘iá»u con " +"(nhân đôi: %s)" + +#: io.c:1764 io.c:1785 +#, c-format +msgid "close of slave pty failed (%s)" +msgstr "lá»—i đóng pty (tài sản?) phụ (%s)" + +#: io.c:1863 io.c:1925 io.c:2057 io.c:2082 +#, c-format +msgid "moving pipe to stdout in child failed (dup: %s)" +msgstr "" +"lá»—i di chuyển ống dẫn đến thiết bị xuất chuẩn trong tiến trình con (dup: %s) " +"(nhân đôi)" + +#: io.c:1870 io.c:1930 +#, c-format +msgid "moving pipe to stdin in child failed (dup: %s)" +msgstr "" +"lá»—i di chuyển ống dẫn đến thiết bị nhập chuẩn trong tiến trình con (dup: %s) " +"(nhân đôi)" + +#: io.c:1890 io.c:2072 +msgid "restoring stdout in parent process failed\n" +msgstr "lá»—i phục hồi thiết bị xuất chuẩn trong tiến trình mẹ\n" + +#: io.c:1898 +msgid "restoring stdin in parent process failed\n" +msgstr "lá»—i phục hồi thiết bị nhập chuẩn trong tiến trình mẹ\n" + +#: io.c:1933 io.c:2084 io.c:2098 +#, c-format +msgid "close of pipe failed (%s)" +msgstr "lá»—i đóng ống dẫn (%s)" + +#: io.c:1978 +msgid "`|&' not supported" +msgstr "« |& » không được há»— trợ" + +#: io.c:2044 +#, c-format +msgid "cannot open pipe `%s' (%s)" +msgstr "không thể mở ống dẫn « %s » (%s)" + +#: io.c:2092 +#, c-format +msgid "cannot create child process for `%s' (fork: %s)" +msgstr "không thể tạo tiến trình con cho « %s » (fork: %s)" + +#: io.c:2525 +#, c-format +msgid "data file `%s' is empty" +msgstr "tập tin dữ liệu « %s » là rá»—ng" + +#: io.c:2566 io.c:2574 +msgid "could not allocate more input memory" +msgstr "không thể cấp phát bá»™ nhá»› nhập thêm nữa" + +#: io.c:3132 +msgid "multicharacter value of `RS' is a gawk extension" +msgstr "giá trị Ä‘a ký tá»± của « RS » là phần mở rá»™ng gawk" + +#: io.c:3237 +msgid "IPv6 communication is not supported" +msgstr "Truyá»n thông trên IPv6 không được há»— trợ" + +#: main.c:366 +msgid "`-m[fr]' option irrelevant in gawk" +msgstr "tùy chá»n « -m[fr] » không thích Ä‘ang trong gawk" + +#: main.c:368 +msgid "-m option usage: `-m[fr] nnn'" +msgstr "cách sá»­ dụng tùy chá»n « -m »: « -m[fr] nnn »" + +#: main.c:391 +msgid "empty argument to `-e/--source' ignored" +msgstr "đối số rá»—ng cho tuỳ chá»n `-e/--source' bị bá» qua" + +#: main.c:462 +#, c-format +msgid "%s: option `-W %s' unrecognized, ignored\n" +msgstr "%s: tùy chá»n « -W %s » không được nhận diện nên bị bá» qua\n" + +#: main.c:515 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: tùy chá»n cần đến đối số « -- %c »\n" + +#: main.c:536 +msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" +msgstr "" +"biến môi trÆ°á»ng « POSIXLY_CORRECT » (đúng kiểu POSIX) đã được đặt; Ä‘ang bật " +"tùy chá»n « --posix »" + +#: main.c:542 +msgid "`--posix' overrides `--traditional'" +msgstr "tùy chá»n « --posix » có quyá»n cao hÆ¡n « --traditional » (truyá»n thống)" + +#: main.c:553 +msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" +msgstr "" +"« --posix »/« --traditional » (truyá»n thống) có quyá»n cao hÆ¡n « --non-" +"decimal-data » (dữ liệu khác thập phân)" + +#: main.c:557 +#, c-format +msgid "running %s setuid root may be a security problem" +msgstr "việc chạy %s vá»›i tÆ° cách « setuid root » có thể rủi rá» bảo mật" + +#: main.c:562 +#, fuzzy +msgid "`--posix' overrides `--characters-as-bytes'" +msgstr "`--posix' đè lên `--binary'" + +#: main.c:616 +#, c-format +msgid "can't set binary mode on stdin (%s)" +msgstr "không thể đặt chế Ä‘á»™ nhị phân trên thiết bị nhập chuẩn (%s)" + +#: main.c:619 +#, c-format +msgid "can't set binary mode on stdout (%s)" +msgstr "không thể đặt chế Ä‘á»™ nhị phân trên thiết bị xuất chuẩn (%s)" + +#: main.c:621 +#, c-format +msgid "can't set binary mode on stderr (%s)" +msgstr "không thể đặt chế Ä‘á»™ nhị phân trên thiết bị lá»—i chuẩn (%s)" + +#: main.c:660 +msgid "no program text at all!" +msgstr "không có Ä‘oạn chữ chÆ°Æ¡ng trình nào cả !" + +#: main.c:737 +#, c-format +msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n" +msgstr "" +"Cách sá»­ dụng: %s [tùy chá»n kiểu POSIX hay GNU] -f tập_tin_chÆ°Æ¡ng_trình [--] " +"tập_tin ...\n" + +#: main.c:739 +#, c-format +msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n" +msgstr "" +"Cách sá»­ dụng: %s [tùy chá»n kiểu POSIX hay GNU] [--] %cchÆ°Æ¡ng_trình%c " +"tập_tin ...\n" + +#: main.c:744 +msgid "POSIX options:\t\tGNU long options: (standard)\n" +msgstr "Tùy chá»n POSIX:\t\tTùy chá»n dài GNU: (theo tiêu chuẩn)\n" + +#: main.c:745 +msgid "\t-f progfile\t\t--file=progfile\n" +msgstr "\t-f tập_tin_chÆ°Æ¡ng_trình\t\t--file=tập_tin_chÆ°Æ¡ng_trình\n" + +#: main.c:746 +msgid "\t-F fs\t\t\t--field-separator=fs\n" +msgstr "\t-F fs\t\t\t--field-separator=Ä‘iá»u phân cách trÆ°á»ng\n" + +#: main.c:747 +msgid "\t-v var=val\t\t--assign=var=val\n" +msgstr "" +"\t-v var=giá trị\t\t--assign=biến=giá_trị\n" +"(assign: gán)\n" + +#: main.c:748 +msgid "Short options:\t\tGNU long options: (extensions)\n" +msgstr "Tuỳ chá»n ngắn:\t\tTuỳ chá»n GNU dạng dài: (phần mở rá»™ng)\n" + +#: main.c:749 +msgid "\t-b\t\t\t--characters-as-bytes\n" +msgstr "\t-b\t\t\t--characters-as-bytes\n" + +#: main.c:750 +msgid "\t-c\t\t\t--traditional\n" +msgstr "\t-c\t\t\t--traditional\n" + +#: main.c:751 +msgid "\t-C\t\t\t--copyright\n" +msgstr "\t-C\t\t\t--copyright\n" + +#: main.c:752 +msgid "\t-d[file]\t\t--dump-variables[=file]\n" +msgstr "\t-d[tệp_tin]\t\t--dump-variables[=tệp_tin]\n" + +#: main.c:753 +msgid "\t-e 'program-text'\t--source='program-text'\n" +msgstr "\t-e 'program-text'\t--source='program-text'\n" + +#: main.c:754 +msgid "\t-E file\t\t\t--exec=file\n" +msgstr "\t-E file\t\t\t--exec=tệp_tin\n" + +#: main.c:755 +msgid "\t-g\t\t\t--gen-pot\n" +msgstr "\t-g\t\t\t--gen-pot\n" + +#: main.c:756 +msgid "\t-h\t\t\t--help\n" +msgstr "\t-h\t\t\t--help\n" + +#: main.c:757 +msgid "\t-L [fatal]\t\t--lint[=fatal]\n" +msgstr "\t-L [fatal]\t\t--lint[=fatal]\n" + +#: main.c:758 +msgid "\t-n\t\t\t--non-decimal-data\n" +msgstr "\t-n\t\t\t--non-decimal-data\n" + +#: main.c:759 +msgid "\t-N\t\t\t--use-lc-numeric\n" +msgstr "\t-N\t\t\t--use-lc-numeric\n" + +#: main.c:760 +msgid "\t-O\t\t\t--optimize\n" +msgstr "\t-O\t\t\t--optimize\ttối Æ°u hoá\n" + +#: main.c:761 +msgid "\t-p[file]\t\t--profile[=file]\n" +msgstr "\t-p[file]\t\t--profile[=file]\n" + +#: main.c:762 +msgid "\t-P\t\t\t--posix\n" +msgstr "\t-P\t\t\t--posix\n" + +#: main.c:763 +msgid "\t-r\t\t\t--re-interval\n" +msgstr "\t-r\t\t\t--re-interval\n" + +#: main.c:765 +msgid "\t-R file\t\t\t--command=file\n" +msgstr "\t-R file\t\t\t--command=tệp_tin\n" + +#: main.c:766 +msgid "\t-S\t\t\t--sandbox\n" +msgstr "\t-S\t\t\t--sandbox\n" + +#: main.c:767 +msgid "\t-t\t\t\t--lint-old\n" +msgstr "\t-t\t\t\t--lint-old\n" + +#: main.c:768 +msgid "\t-V\t\t\t--version\n" +msgstr "\t-V\t\t\t--version\n" + +#: main.c:770 +msgid "\t-W nostalgia\t\t--nostalgia\n" +msgstr "" +"\t-W nostalgia\t\t--nostalgia\n" +"(ná»—i luyến tiếc quá khứ)\n" + +#: main.c:773 +msgid "\t-Y\t\t--parsedebug\n" +msgstr "\t-Y\t\t--parsedebug\n" + +#. TRANSLATORS: --help output 5 (end) +#. TRANSLATORS: the placeholder indicates the bug-reporting address +#. for this application. Please add _another line_ with the +#. address for translation bugs. +#. no-wrap +#: main.c:782 +msgid "" +"\n" +"To report bugs, see node `Bugs' in `gawk.info', which is\n" +"section `Reporting Problems and Bugs' in the printed version.\n" +"\n" +msgstr "" +"\n" +"Äể thông báo lá»—i, xem nút « Bugs » (lá»—i) trong tập tin\n" +"thông tin « gawk.info » mà nằm trong phần\n" +"« Reporting Problems and Bugs » (thông báo vấn Ä‘á» và lá»—i)\n" +"trong bản in.\n" +"\n" + +#: main.c:786 +msgid "" +"gawk is a pattern scanning and processing language.\n" +"By default it reads standard input and writes standard output.\n" +"\n" +msgstr "" +"gawk là ngôn ngữ quét và xá»­ lý mẫu.\n" +"Mặc định là nó Ä‘á»c thiết bị nhập chuẩn và ghi ra thiết bị xuất chuẩn.\n" +"\n" + +#: main.c:790 +msgid "" +"Examples:\n" +"\tgawk '{ sum += $1 }; END { print sum }' file\n" +"\tgawk -F: '{ print $1 }' /etc/passwd\n" +msgstr "" +"Thí dụ :\n" +"\tgawk '{ sum += $1 }; END { print sum }' file\n" +"\tgawk -F: '{ print $1 }' /etc/passwd\n" + +#: main.c:810 +#, c-format +msgid "" +"Copyright (C) 1989, 1991-%d Free Software Foundation.\n" +"\n" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 3 of the License, or\n" +"(at your option) any later version.\n" +"\n" +msgstr "" +"Tác quyá»n © năm 1989, 1991-%d của Tổ chức Phần má»m Tá»± do.\n" +"\n" +"ChÆ°Æ¡ng trình này là phần má»m tá»± do; bạn có thể phát hành lại nó và/hoặc sá»­a " +"đổi nó vá»›i Ä‘iá»u kiện của Giấy Phép Công Cá»™ng GNU nhÆ° được xuất bản bởi Tổ " +"Chức Phần Má»m Tá»± Do; hoặc phiên bản 3 của Giấy Phép này, hoặc (tùy chá»n) bất " +"kỳ phiên bản sau nào.\n" +"\n" + +#: main.c:818 +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" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +msgstr "" +"Chúng tôi phân phối chÆ°Æ¡ng trình này vì mong muốn nó hữu ích,\n" +"nhÆ°ng mà KHÔNG BẢO ÄẢM GÃŒ CẢ, không ngay cả ngụ ý bảo đảm\n" +"KHẢ NÄ‚NG BÃN hoặc KHẢ NÄ‚NG LÀM VIỆC DỨT KHOÃT.\n" +"Hãy xem Bản Quyá»n Công Chung GNU (GPL) để tìm chi tiết.\n" +"\n" + +#: main.c:824 +msgid "" +"You should have received a copy of the GNU General Public License\n" +"along with this program. If not, see http://www.gnu.org/licenses/.\n" +msgstr "" +"Bện nên đã nhận má»™t bản sao của Giấy Phép Công Cá»™ng GNU\n" +"cùng vá»›i chÆ°Æ¡ng trình này. Không thì xem địa chỉ « http://www.gnu.org/" +"licenses/ ».\n" + +#: main.c:859 +msgid "-Ft does not set FS to tab in POSIX awk" +msgstr "-Ft không đặt FS (hệ thống tập tin?) là tab trong awk POSIX" + +#: main.c:1093 +#, c-format +msgid "unknown value for field spec: %d\n" +msgstr "không hiểu giá trị dành cho đặc tính trÆ°á»ng: %d\n" + +#: main.c:1174 +#, c-format +msgid "" +"%s: `%s' argument to `-v' not in `var=value' form\n" +"\n" +msgstr "" +"%s: đối số « %s » đối vá»›i « -v » không phải có dạng « biến=giá_trị »\n" +"\n" + +#: main.c:1200 +#, c-format +msgid "`%s' is not a legal variable name" +msgstr "« %s » không phải là tên biến hợp lệ" + +#: main.c:1203 +#, c-format +msgid "`%s' is not a variable name, looking for file `%s=%s'" +msgstr "« %s » không phải là tên biến; Ä‘ang tìm tập tin « %s=%s »" + +#: main.c:1207 +#, c-format +msgid "cannot use gawk builtin `%s' as variable name" +msgstr "không thể dùng builtin (dá»±ng sẵn) của gawk « %s » nhÆ° là tên biến" + +#: main.c:1212 +#, c-format +msgid "cannot use function `%s' as variable name" +msgstr "không thể dùng hàm « %s » nhÆ° là tên biến" + +#: main.c:1265 +msgid "floating point exception" +msgstr "ngoại lệ Ä‘iểm phù Ä‘á»™ng" + +#: main.c:1272 +msgid "fatal error: internal error" +msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™" + +#: main.c:1287 +msgid "fatal error: internal error: segfault" +msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™ : lá»—i chia ra từng Ä‘oạn" + +#: main.c:1299 +msgid "fatal error: internal error: stack overflow" +msgstr "lá»—i nghiêm trá»ng: lá»—i ná»™i bá»™ : tràn đống" + +#: main.c:1349 +#, c-format +msgid "no pre-opened fd %d" +msgstr "không có fd (chỉ thị tập tin?) %d đã mở trÆ°á»›c" + +#: main.c:1356 +#, c-format +msgid "could not pre-open /dev/null for fd %d" +msgstr "không thể mở sẵn « /dev/null » cho fd %d" + +#: msg.c:63 +#, c-format +msgid "cmd. line:" +msgstr "dòng lệnh:" + +#: msg.c:107 +msgid "error: " +msgstr "lá»—i: " + +#: node.c:406 +msgid "backslash at end of string" +msgstr "gặp xuyệc ngoặc tại kết thúc của chuá»—i" + +#: node.c:517 +#, c-format +msgid "old awk does not support the `\\%c' escape sequence" +msgstr "awk cÅ© không há»— trợ dãy thoát « \\%c »" + +#: node.c:568 +msgid "POSIX does not allow `\\x' escapes" +msgstr "POSIX không cho phép Ä‘iá»u thoát « \\x »" + +#: node.c:574 +msgid "no hex digits in `\\x' escape sequence" +msgstr "không có số thập lúc nằm trong dây thoát « \\x »" + +#: node.c:596 +#, c-format +msgid "" +"hex escape \\x%.*s of %d characters probably not interpreted the way you " +"expect" +msgstr "" +"dây thoát thập lục \\x%.*s chứa %d ký tá»± mà rất có thể không phải được Ä‘á»c " +"bằng cách dá»± định" + +#: node.c:611 +#, c-format +msgid "escape sequence `\\%c' treated as plain `%c'" +msgstr "dây thoát « \\%c » được xá»­ lý nhÆ° là « %c » chuẩn" + +#: node.c:750 +msgid "" +"Invalid multibyte data detected. There may be a mismatch between your data " +"and your locale." +msgstr "" +"Dữ liệu dạng Ä‘a byte (multibyte) không hợp lệ được tìm thấy. Tại đó có lẽ " +"không khá»›p giữa dữ liệu của bạn và nÆ¡i xảy ra." + +#: posix/gawkmisc.c:176 +#, c-format +msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)" +msgstr "%s %s `%s': không thể lấy cá» mô tả (fd): (fcntl F_GETFD: %s)" + +#: posix/gawkmisc.c:188 +#, c-format +msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)" +msgstr "" +"%s %s « %s »: không thể đặt « close-on-exec » (đóng má»™t khi thá»±c hiện): " +"(fcntl F_SETFD: %s)" + +#: profile.c:83 +#, c-format +msgid "could not open `%s' for writing: %s" +msgstr "không thể mở « %s » để ghi: %s" + +#: profile.c:85 +msgid "sending profile to standard error" +msgstr "Ä‘ang gởi hồ sÆ¡ cho thiết bị lá»—i chuẩn" + +#: profile.c:203 +#, c-format +msgid "" +"\t# %s block(s)\n" +"\n" +msgstr "" +"\t# %s khối\n" +"\n" + +#: profile.c:208 +#, c-format +msgid "" +"\t# Rule(s)\n" +"\n" +msgstr "" +"\t# Quy tắc\n" +"\n" + +#: profile.c:279 +#, c-format +msgid "internal error: %s with null vname" +msgstr "lá»—i ná»™i bá»™: %s vá»›i vname (tên biến?) vô giá trị" + +#: profile.c:952 +#, c-format +msgid "\t# gawk profile, created %s\n" +msgstr "\t# hồ sÆ¡ gawk, được tạo %s\n" + +#: profile.c:1331 +#, c-format +msgid "" +"\n" +"\t# Functions, listed alphabetically\n" +msgstr "" +"\n" +"\t# Danh sách các hàm theo thứ tá»± abc\n" + +#: profile.c:1370 +#, c-format +msgid "redir2str: unknown redirection type %d" +msgstr "redir2str: không hiểu kiểu chuyển hÆ°á»›ng %d" + +#: re.c:573 +#, c-format +msgid "range of the form `[%c-%c]' is locale dependent" +msgstr "dạng thức vùng `[%c-%c]' thì phụ thuá»™c vị trí" + +#: re.c:600 +#, c-format +msgid "regexp component `%.*s' should probably be `[%.*s]'" +msgstr "" +"thành phần của biểu thức chính qui (regexp) `%.*s' hầu nhÆ° chắc chắn nên là `" +"[%.*s]'" + +#: regcomp.c:131 +msgid "Success" +msgstr "Thành công" + +#: regcomp.c:134 +msgid "No match" +msgstr "Không khá»›p" + +#: regcomp.c:137 +msgid "Invalid regular expression" +msgstr "Biểu thức chính quy không hợp lệ" + +#: regcomp.c:140 +msgid "Invalid collation character" +msgstr "Ký tá»± đối chiếu không hợp lệ" + +#: regcomp.c:143 +msgid "Invalid character class name" +msgstr "Tên hạng ký tá»± không hợp lệ" + +#: regcomp.c:146 +msgid "Trailing backslash" +msgstr "Gặp xuyệc ngược nằm theo" + +#: regcomp.c:149 +msgid "Invalid back reference" +msgstr "Tham chiếu trở lại không hợp lệ" + +#: regcomp.c:152 +msgid "Unmatched [ or [^" +msgstr "ChÆ°a khá»›p « [ » hay « [^ »" + +#: regcomp.c:155 +msgid "Unmatched ( or \\(" +msgstr "ChÆ°a khá»›p « ( » hay « \\( »" + +#: regcomp.c:158 +msgid "Unmatched \\{" +msgstr "ChÆ°a khá»›p « \\{ »" + +#: regcomp.c:161 +msgid "Invalid content of \\{\\}" +msgstr "Ná»™i dụng « \\{\\} » không hợp lệ" + +#: regcomp.c:164 +msgid "Invalid range end" +msgstr "Kết thúc phạm vị không hợp lệ" + +#: regcomp.c:167 +msgid "Memory exhausted" +msgstr "Hết bá»™ nhá»› rồi" + +#: regcomp.c:170 +msgid "Invalid preceding regular expression" +msgstr "Biểu thức chính quy nằm trÆ°á»›c không hợp lệ" + +#: regcomp.c:173 +msgid "Premature end of regular expression" +msgstr "Kết thúc quá sá»›m của biểu thức chính quy" + +#: regcomp.c:176 +msgid "Regular expression too big" +msgstr "Biểu thức chính quy quá lá»›n" + +#: regcomp.c:179 +msgid "Unmatched ) or \\)" +msgstr "ChÆ°a khá»›p « ) » hay « \\) »" + +#: regcomp.c:700 +msgid "No previous regular expression" +msgstr "Không có biểu thức chính quy nằm trÆ°á»›c" + +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "« %s » là má»™t phần mở rá»™ng của Bell Labs (Phòng thí nghiệm Bell)" + +#~ msgid "`nextfile' is a gawk extension" +#~ msgstr "« nextfile » (tập tin kế tiếp) là má»™t phần mở rá»™ng gawk" + +#~ msgid "`delete array' is a gawk extension" +#~ msgstr "« delete array » (xoá mảng) là má»™t phần mở rá»™ng gawk" + +#~ msgid "could not find groups: %s" +#~ msgstr "không tìm thấy nhóm: %s" + +#~ msgid "statement may have no effect" +#~ msgstr "câu có lẽ sẽ không có tác dụng" + +#~ msgid "call of `length' without parentheses is deprecated by POSIX" +#~ msgstr "POSIX phản đối lá»i gá»i « length » (Ä‘á»™ dài) không có dấu ngoặc" + +#~ msgid "division by zero attempted in `/'" +#~ msgstr "thá»­ chia cho không trong « / »" + +#~ msgid "length: untyped parameter argument will be forced to scalar" +#~ msgstr "" +#~ "length: (chiá»u dài) tham số không có loại thì bị ép buá»™c thành vô hÆ°á»›ng" + +#~ msgid "length: untyped argument will be forced to scalar" +#~ msgstr "" +#~ "length: (chiá»u dài) đối số không có loại thì bị ép buá»™c thành vô hÆ°á»›ng" + +#~ msgid "`break' outside a loop is not portable" +#~ msgstr "không thể mang khả năng « break » (ngắt) nằm ở ngoại vòng lặp" + +#~ msgid "`continue' outside a loop is not portable" +#~ msgstr "" +#~ "không thể mang khả năng « continue » (tiếp tục) nằm ở ngoại vòng lặp" + +#~ msgid "`next' cannot be called from a BEGIN rule" +#~ msgstr "không thể gá»i « next » (kế tiếp) từ quy tắc « BEGIN » (bắt đầu)" + +#~ msgid "`nextfile' cannot be called from a BEGIN rule" +#~ msgstr "" +#~ "không thể gá»i « nextfile » (tập tin kế tiếp) từ quy tắc « BEGIN » (bắt " +#~ "đầu)" + +#~ msgid "" +#~ "concatenation: side effects in one expression have changed the length of " +#~ "another!" +#~ msgstr "" +#~ "concatenation: (nối chuá»—i) hiệu ứng khác trong má»™t biểu thức nào đó đã " +#~ "thay đổi Ä‘á»™ dài của má»™t biểu thức khác !" + +#~ msgid "illegal type (%s) in tree_eval" +#~ msgstr "không cho phép kiểu (%s) trong « tree_eval » (Æ°á»›c lượng cây)" + +#~ msgid "\t# -- main --\n" +#~ msgstr "" +#~ "\t# -- main --\n" +#~ "(chính)\n" + +#~ msgid "assignment is not allowed to result of builtin function" +#~ msgstr "không cho phép gán cho kết quả của hàm « builtin » (có sẵn)" + +#~ msgid "invalid tree type %s in redirect()" +#~ msgstr "kiểu cây không hợp lệ « %s » trong « redirect() »" + +#~ msgid "/inet/raw client not ready yet, sorry" +#~ msgstr "tiếc là ứng dụng khách chÆ°a sẵn sàng" + +#~ msgid "only root may use `/inet/raw'." +#~ msgstr "chỉ ngÆ°á»i chủ (root) có thể dùng thôi" + +#~ msgid "/inet/raw server not ready yet, sorry" +#~ msgstr "tiếc là trình phục vụ chÆ°a sẵn sàng" + +#~ msgid "file `%s' is a directory" +#~ msgstr "tập tin « %s » là thÆ° mục" + +#~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" +#~ msgstr "" +#~ "hãy dùng « PROCINFO[\"%s\"] » (thông tin tiến trình) thay cho « %s »" + +#~ msgid "use `PROCINFO[...]' instead of `/dev/user'" +#~ msgstr "" +#~ "hãy dùng « PROCINFO[...] » (thông tin tiến trình) thay cho " + +#~ msgid "out of memory" +#~ msgstr "không đủ bá»™ nhá»›" + +#~ msgid "\t-m[fr] val\n" +#~ msgstr "\t-m[fr] giá_trị\n" + +#~ msgid "\t-W compat\t\t--compat\n" +#~ msgstr "\t-W compat\t\t--compat\ttÆ°Æ¡ng thích\n" + +#~ msgid "\t-W copyleft\t\t--copyleft\n" +#~ msgstr "\t-W copyleft\t\t--copyleft\ttác quyá»n ngược\n" + +#~ msgid "\t-W usage\t\t--usage\n" +#~ msgstr "\t-W usage\t\t--usage\tcách sá»­ dụng\n" + +#~ msgid "can't convert string to float" +#~ msgstr "không thể chuyển đổi chuá»—i sang Ä‘iá»u lÆ¡ lá»­ng" + +#~ msgid "# treated internally as `delete'" +#~ msgstr "# được xá»­ lý ná»™i bá»™ là « delete » (xoá)" + +#~ msgid "# this is a dynamically loaded extension function" +#~ msgstr "# đây là má»™t hàm mở rá»™ng được nạp Ä‘á»™ng" + +#~ msgid "" +#~ "\t# BEGIN block(s)\n" +#~ "\n" +#~ msgstr "" +#~ "\t# khối BEGIN (bắt đầu)\n" +#~ "\n" + +#~ msgid "unexpected type %s in prec_level" +#~ msgstr "gặp kiểu bất ngỠ« %s » trong « prec_level » (cấp nằm trÆ°á»›c?)" + +#~ msgid "Unknown node type %s in pp_var" +#~ msgstr "Không rõ loại nút %s trong pp_var" diff -urN gawk-4.0.1/posix/ChangeLog gawk-4.0.2/posix/ChangeLog --- gawk-4.0.1/posix/ChangeLog 2012-03-28 22:02:21.000000000 +0200 +++ gawk-4.0.2/posix/ChangeLog 2012-12-25 20:37:00.000000000 +0200 @@ -1,3 +1,7 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/re.c gawk-4.0.2/re.c --- gawk-4.0.1/re.c 2012-03-28 21:52:21.000000000 +0200 +++ gawk-4.0.2/re.c 2012-12-25 20:31:10.000000000 +0200 @@ -268,7 +268,7 @@ */ if (rp->dfa && ! no_bol && ! need_start) { char save; - int count = 0; + size_t count = 0; /* * dfa likes to stick a '\n' right after the matched * text. So we just save and restore the character. diff -urN gawk-4.0.1/regex.c gawk-4.0.2/regex.c --- gawk-4.0.1/regex.c 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/regex.c 2012-12-25 20:31:10.000000000 +0200 @@ -64,10 +64,8 @@ #include "regex_internal.h" #include "regex_internal.c" -#ifdef GAWK -#define bool int -#define true (1) -#define false (0) +#ifndef HAVE_STDBOOL_H +#include "missing_d/gawkbool.h" #endif #include "regcomp.c" #include "regexec.c" diff -urN gawk-4.0.1/replace.c gawk-4.0.2/replace.c --- gawk-4.0.1/replace.c 2011-12-08 21:12:16.000000000 +0200 +++ gawk-4.0.2/replace.c 2012-12-03 23:03:01.000000000 +0200 @@ -27,8 +27,7 @@ * Do all necessary includes here, so that we don't have to worry about * overlapping includes in the files in missing.d. */ -#include "config.h" -#include "awk.h" +#include "awk.h" /* includes config.h for us */ #ifndef HAVE_SYSTEM diff -urN gawk-4.0.1/test/ChangeLog gawk-4.0.2/test/ChangeLog --- gawk-4.0.1/test/ChangeLog 2012-03-28 22:02:15.000000000 +0200 +++ gawk-4.0.2/test/ChangeLog 2012-12-25 20:38:00.000000000 +0200 @@ -1,3 +1,68 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + +2012-12-23 Arnold D. Robbins + + * Makefile.am (paramuninitglobal): New test. + * paramuninitglobal.awk, paramuninitglobal.ok: New files. + Thanks to John Haque. + +2012-10-13 Arnold D. Robbins + + * Makefile.am (EXTRA_DIST): Add jarebug.sh. + +2012-09-23 Arnold D. Robbins + + * lintwarn.ok: Updated. + +2012-08-26 Arnold D. Robbins + + * Makefile.am (charasbytes): Revise test to canonicalize + whitespace. (For Mac OS X 10.5, at least.) + * charasbytes.ok: Updated. + +2012-08-12 Arnold D. Robbins + + * Makefile.am (regexprange): New test. + * regexprange.awk, regexprange.ok: New files. + +2012-08-05 Arnold D. Robbins + + New test from Nelson Beebe. + + * Makefile.am (ofs1): New test. + * ofs1.awk, ofs1.in, ofs1.ok: New files. + +2012-07-13 Arnold D. Robbins + + * Makefile.am (getline5): New test. + * getline5.awk, getline5.ok: New files. + +2012-06-19 Arnold D. Robbins + + * Makefile.am (charasbytes): New test. + * charasbytes.awk, charasbytes.in, charasbytes.ok: New files. + +2012-05-20 Arnold D. Robbins + + * jarebug.sh: New file. Handles Mac OS X also. + * Makefile.am (jarebug): Use jarebug.sh to run the test. + +2012-05-16 Arnold D. Robbins + + * Makefile.am (jarebug): Remove leading `-' from $(CMP) line. + +2012-05-14 Arnold D. Robbins + + * Makefile.am (jarebug): Move to charset tests. Adjust to check + for existence of needed Japanese locale before running the test. + +2012-05-09 Arnold D. Robbins + + * Makefile.am (jarebug): New test. + * jarebug.awk, jarebug.in, jarebug.ok: New files. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/test/Makefile.am gawk-4.0.2/test/Makefile.am --- gawk-4.0.1/test/Makefile.am 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/test/Makefile.am 2012-12-25 20:31:10.000000000 +0200 @@ -119,6 +119,9 @@ beginfile2.ok \ beginfile2.sh \ binmode1.ok \ + charasbytes.awk \ + charasbytes.in \ + charasbytes.ok \ childin.awk \ childin.in \ childin.ok \ @@ -295,6 +298,8 @@ getline4.awk \ getline4.in \ getline4.ok \ + getline5.awk \ + getline5.ok \ getlnbuf.awk \ getlnbuf.in \ getlnbuf.ok \ @@ -372,6 +377,10 @@ intprec.ok \ iobug1.awk \ iobug1.ok \ + jarebug.awk \ + jarebug.in \ + jarebug.ok \ + jarebug.sh \ lc_num1.awk \ lc_num1.ok \ leaddig.awk \ @@ -514,6 +523,9 @@ ofmts.awk \ ofmts.in \ ofmts.ok \ + ofs1.awk \ + ofs1.in \ + ofs1.ok \ onlynl.awk \ onlynl.in \ onlynl.ok \ @@ -530,6 +542,8 @@ paramres.ok \ paramtyp.awk \ paramtyp.ok \ + paramuninitglobal.awk \ + paramuninitglobal.ok \ parse1.awk \ parse1.in \ parse1.ok \ @@ -604,6 +618,8 @@ regeq.awk \ regeq.in \ regeq.ok \ + regexprange.awk \ + regexprange.ok \ regrange.awk \ regrange.ok \ regtest.sh \ @@ -798,7 +814,7 @@ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ fstabplus funsemnl funsmnam funstack \ - getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \ + getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ gsubtst7 gsubtst8 \ hex hsprint \ @@ -808,11 +824,12 @@ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \ noparms nors nulrsend numindex numsubstr \ - octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \ - paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ - posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ + octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \ + paramdup paramres paramtyp paramuninitglobal parse1 parsefld parseme \ + pcntplus posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ prt1eval prtoeval \ - rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \ + rand range1 rebt8b1 redfilnm regeq regexprange regrange \ + reindops reparse \ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \ rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin sortempty splitargv splitarr splitdef \ @@ -828,7 +845,7 @@ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ - backw badargs beginfile1 beginfile2 binmode1 \ + backw badargs beginfile1 beginfile2 binmode1 charasbytes \ clos1way delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \ fwtest fwtest2 fwtest3 \ @@ -850,7 +867,7 @@ MACHINE_TESTS = double1 double2 fmtspcl intformat LOCALE_CHARSET_TESTS = \ - asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \ + asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \ mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc # List of the tests which should be run with --lint option: @@ -1451,6 +1468,18 @@ AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +jarebug:: + @echo $@ + @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +charasbytes: + @echo $@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -b -f $@.awk $(srcdir)/$@.in | \ + od -c -t x1 | sed -e 's/ */ /g' -e 's/ *$$//' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + # Targets generated for other tests: include Maketests diff -urN gawk-4.0.1/test/Makefile.in gawk-4.0.2/test/Makefile.in --- gawk-4.0.1/test/Makefile.in 2012-03-28 22:03:23.000000000 +0200 +++ gawk-4.0.2/test/Makefile.in 2012-12-25 20:34:06.000000000 +0200 @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.12.6 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -38,6 +37,23 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -57,21 +73,20 @@ build_triplet = @build@ host_triplet = @host@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/Maketests ChangeLog + $(srcdir)/Maketests $(top_srcdir)/mkinstalldirs ChangeLog subdir = test ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \ $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/intmax_t.m4 $(top_srcdir)/m4/inttypes_h.m4 \ $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/readline.m4 $(top_srcdir)/m4/socket.m4 \ - $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \ - $(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac + $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \ + $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/ulonglong.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -80,6 +95,11 @@ CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -303,6 +323,9 @@ beginfile2.ok \ beginfile2.sh \ binmode1.ok \ + charasbytes.awk \ + charasbytes.in \ + charasbytes.ok \ childin.awk \ childin.in \ childin.ok \ @@ -479,6 +502,8 @@ getline4.awk \ getline4.in \ getline4.ok \ + getline5.awk \ + getline5.ok \ getlnbuf.awk \ getlnbuf.in \ getlnbuf.ok \ @@ -556,6 +581,10 @@ intprec.ok \ iobug1.awk \ iobug1.ok \ + jarebug.awk \ + jarebug.in \ + jarebug.ok \ + jarebug.sh \ lc_num1.awk \ lc_num1.ok \ leaddig.awk \ @@ -698,6 +727,9 @@ ofmts.awk \ ofmts.in \ ofmts.ok \ + ofs1.awk \ + ofs1.in \ + ofs1.ok \ onlynl.awk \ onlynl.in \ onlynl.ok \ @@ -714,6 +746,8 @@ paramres.ok \ paramtyp.awk \ paramtyp.ok \ + paramuninitglobal.awk \ + paramuninitglobal.ok \ parse1.awk \ parse1.in \ parse1.ok \ @@ -788,6 +822,8 @@ regeq.awk \ regeq.in \ regeq.ok \ + regexprange.awk \ + regexprange.ok \ regrange.awk \ regrange.ok \ regtest.sh \ @@ -982,7 +1018,7 @@ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ fstabplus funsemnl funsmnam funstack \ - getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \ + getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ gsubtst7 gsubtst8 \ hex hsprint \ @@ -992,11 +1028,12 @@ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \ noparms nors nulrsend numindex numsubstr \ - octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \ - paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ - posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ + octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \ + paramdup paramres paramtyp paramuninitglobal parse1 parsefld parseme \ + pcntplus posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ prt1eval prtoeval \ - rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \ + rand range1 rebt8b1 redfilnm regeq regexprange regrange \ + reindops reparse \ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \ rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin sortempty splitargv splitarr splitdef \ @@ -1012,7 +1049,7 @@ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ - backw badargs beginfile1 beginfile2 binmode1 \ + backw badargs beginfile1 beginfile2 binmode1 charasbytes \ clos1way delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \ fwtest fwtest2 fwtest3 \ @@ -1031,7 +1068,7 @@ INET_TESTS = inetdayu inetdayt inetechu inetecht MACHINE_TESTS = double1 double2 fmtspcl intformat LOCALE_CHARSET_TESTS = \ - asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \ + asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \ mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc @@ -1094,6 +1131,8 @@ ctags: CTAGS CTAGS: +cscope cscopelist: + distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -1139,10 +1178,15 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1800,6 +1844,18 @@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +jarebug:: + @echo $@ + @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +charasbytes: + @echo $@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -b -f $@.awk $(srcdir)/$@.in | \ + od -c -t x1 | sed -e 's/ */ /g' -e 's/ *$$//' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: @@ -2122,6 +2178,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +getline5: + @echo getline5 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 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: $$? >>_$@ @@ -2357,6 +2418,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +ofs1: + @echo ofs1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + onlynl: @echo onlynl @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -2387,6 +2453,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +paramuninitglobal: + @echo paramuninitglobal + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + parse1: @echo parse1 @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -2462,6 +2533,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +regexprange: + @echo regexprange + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + regrange: @echo regrange @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff -urN gawk-4.0.1/test/Maketests gawk-4.0.2/test/Maketests --- gawk-4.0.1/test/Maketests 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/test/Maketests 2012-12-25 20:31:10.000000000 +0200 @@ -320,6 +320,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +getline5: + @echo getline5 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 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: $$? >>_$@ @@ -555,6 +560,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +ofs1: + @echo ofs1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + onlynl: @echo onlynl @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -585,6 +595,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +paramuninitglobal: + @echo paramuninitglobal + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + parse1: @echo parse1 @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -660,6 +675,11 @@ @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +regexprange: + @echo regexprange + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + regrange: @echo regrange @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff -urN gawk-4.0.1/test/charasbytes.awk gawk-4.0.2/test/charasbytes.awk --- gawk-4.0.1/test/charasbytes.awk 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/charasbytes.awk 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1 @@ +{ print gensub(/\xE2\x80./, "ZZZ", "g", $0) } diff -urN gawk-4.0.1/test/charasbytes.in gawk-4.0.2/test/charasbytes.in --- gawk-4.0.1/test/charasbytes.in 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/charasbytes.in 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1 @@ +– diff -urN gawk-4.0.1/test/charasbytes.ok gawk-4.0.2/test/charasbytes.ok --- gawk-4.0.1/test/charasbytes.ok 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/charasbytes.ok 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,3 @@ +0000000 Z Z Z \n + 5a 5a 5a 0a +0000004 diff -urN gawk-4.0.1/test/getline5.awk gawk-4.0.2/test/getline5.awk --- gawk-4.0.1/test/getline5.awk 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/getline5.awk 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,35 @@ +# Message-ID: <4F7832BD.9030709@gmx.com> +# Date: Sun, 01 Apr 2012 11:49:33 +0100 +# From: Duncan Moore +# To: "bug-gawk@gnu.org" +# Subject: [bug-gawk] getline difference from gawk versions >=4.0.0 +# +# Hi +# +# b.awk: +# +# BEGIN { +# system("echo 1 > f") +# while ((getline a[++c] < "f") > 0) {} +# print c +# } +# +# gawk -f b.awk +# +# Prior to gawk 4.0.0 this outputs: +# +# 1 +# +# For 4.0.0 and 4.0.1 it outputs: +# +# 2 +# +# Regards +# Duncan Moore + +BEGIN { + system("echo 1 > f") + while ((getline a[++c] < "f") > 0) {} + print c + system("rm -f f") +} diff -urN gawk-4.0.1/test/getline5.ok gawk-4.0.2/test/getline5.ok --- gawk-4.0.1/test/getline5.ok 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/getline5.ok 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1 @@ +2 diff -urN gawk-4.0.1/test/jarebug.awk gawk-4.0.2/test/jarebug.awk --- gawk-4.0.1/test/jarebug.awk 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/jarebug.awk 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1 @@ +/.*/ { gsub ("·½", "ERROR"); print; } diff -urN gawk-4.0.1/test/jarebug.in gawk-4.0.2/test/jarebug.in --- gawk-4.0.1/test/jarebug.in 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/jarebug.in 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,4 @@ +aa·ïa¿·½è +aaa·ïa¿·½è +aaaa·ïa¿·½è +aaaaa·ïa¿·½è diff -urN gawk-4.0.1/test/jarebug.ok gawk-4.0.2/test/jarebug.ok --- gawk-4.0.1/test/jarebug.ok 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/jarebug.ok 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,4 @@ +aa·ïa¿·½è +aaa·ïa¿·½è +aaaa·ïa¿·½è +aaaaa·ïa¿·½è diff -urN gawk-4.0.1/test/jarebug.sh gawk-4.0.2/test/jarebug.sh --- gawk-4.0.1/test/jarebug.sh 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/jarebug.sh 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,21 @@ +#! /bin/sh + +awk=$1 +prog=$2 +infile=$3 +out=$4 + +# GLIBC gives us ja_JP.EUC-JP but Mac OS X uses ja_JP.eucJP + +cp $infile $out # set up default + +for locale in ja_JP.EUC-JP ja_JP.eucJP +do + if locale -a | grep $locale > /dev/null + then + LANG=$locale + LC_ALL=$locale + export LANG LC_ALL + $awk -f $prog $infile >$out 2>&1 || echo EXIT CODE: $? >> $out + fi +done diff -urN gawk-4.0.1/test/lintwarn.ok gawk-4.0.2/test/lintwarn.ok --- gawk-4.0.1/test/lintwarn.ok 2011-02-16 21:10:43.000000000 +0200 +++ gawk-4.0.2/test/lintwarn.ok 2012-12-25 20:31:10.000000000 +0200 @@ -3,9 +3,7 @@ gawk: lintwarn.awk:4: error: `getline' invalid inside `BEGINFILE' rule gawk: lintwarn.awk:8: warning: statement may have no effect gawk: lintwarn.awk:9: warning: plain `print' in BEGIN or END rule should probably be `print ""' -gawk: lintwarn.awk:10: warning: `nextfile' is a gawk extension gawk: lintwarn.awk:10: error: `nextfile' used in BEGIN action -gawk: lintwarn.awk:11: warning: `delete array' is a gawk extension gawk: lintwarn.awk:12: warning: `delete(array)' is a non-portable tawk extension gawk: lintwarn.awk:13: warning: regular expression on right of assignment gawk: lintwarn.awk:14: warning: regular expression on right of comparison diff -urN gawk-4.0.1/test/ofs1.awk gawk-4.0.2/test/ofs1.awk --- gawk-4.0.1/test/ofs1.awk 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/ofs1.awk 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,23 @@ +# Translate this shell script into gawk: +# +#! /bin/sh - +# +# awktest() +# { +# echo a:b:c | $AWK -F":" '{$2="x"; OFS=FS; print}' +# echo a:b:c | $AWK -F":" '{$2="x"; print; OFS=FS; print}' +# echo a:b:c | $AWK -F":" '{$2="x"; print $1; OFS=FS; print}' +# echo a:b:c | $AWK -F":" '{$2="x"; print; $2=$2; OFS=FS; print}' +# } +# +# AWK=./gawk +# awktest > foo.gawk + +BEGIN { FS = ":" } + +# Have to reset OFS at end since not running separate invocations + +FNR == 1 { $2 = "x"; OFS = FS; print ; OFS = " "} +FNR == 2 { $2 = "x"; print; OFS = FS; print ; OFS = " "} +FNR == 3 { $2 = "x"; print $1; OFS = FS; print ; OFS = " "} +FNR == 4 { $2 = "x"; print; $2 = $2; OFS = FS; print } diff -urN gawk-4.0.1/test/ofs1.in gawk-4.0.2/test/ofs1.in --- gawk-4.0.1/test/ofs1.in 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/ofs1.in 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,4 @@ +a:b:c +a:b:c +a:b:c +a:b:c diff -urN gawk-4.0.1/test/ofs1.ok gawk-4.0.2/test/ofs1.ok --- gawk-4.0.1/test/ofs1.ok 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/ofs1.ok 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,7 @@ +a:x:c +a x c +a x c +a +a:x:c +a x c +a:x:c diff -urN gawk-4.0.1/test/paramuninitglobal.awk gawk-4.0.2/test/paramuninitglobal.awk --- gawk-4.0.1/test/paramuninitglobal.awk 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/paramuninitglobal.awk 2012-12-25 20:35:58.000000000 +0200 @@ -0,0 +1,15 @@ +function f(x) +{ + a = 10 + x = 90 + print x + print a + a++ + x++ + print x +} + +BEGIN { + f(a) + print a +} diff -urN gawk-4.0.1/test/paramuninitglobal.ok gawk-4.0.2/test/paramuninitglobal.ok --- gawk-4.0.1/test/paramuninitglobal.ok 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/paramuninitglobal.ok 2012-12-25 20:36:06.000000000 +0200 @@ -0,0 +1,4 @@ +90 +10 +91 +11 diff -urN gawk-4.0.1/test/regexprange.awk gawk-4.0.2/test/regexprange.awk --- gawk-4.0.1/test/regexprange.awk 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/regexprange.awk 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,14 @@ +BEGIN { + range = "[a-dx-z]" + + split("ABCDEFGHIJKLMNOPQRSTUVWXYZ", upper, "") + split("abcdefghijklmnopqrstuvwxyz", lower, "") + + for (i = 1; i in upper; i++) + printf("%s ~ %s ---> %s\n", + upper[i], range, (upper[i] ~ range) ? "true" : "false") + + for (i = 1; i in lower; i++) + printf("%s ~ %s ---> %s\n", + lower[i], range, (lower[i] ~ range) ? "true" : "false") +} diff -urN gawk-4.0.1/test/regexprange.ok gawk-4.0.2/test/regexprange.ok --- gawk-4.0.1/test/regexprange.ok 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/test/regexprange.ok 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,52 @@ +A ~ [a-dx-z] ---> false +B ~ [a-dx-z] ---> false +C ~ [a-dx-z] ---> false +D ~ [a-dx-z] ---> false +E ~ [a-dx-z] ---> false +F ~ [a-dx-z] ---> false +G ~ [a-dx-z] ---> false +H ~ [a-dx-z] ---> false +I ~ [a-dx-z] ---> false +J ~ [a-dx-z] ---> false +K ~ [a-dx-z] ---> false +L ~ [a-dx-z] ---> false +M ~ [a-dx-z] ---> false +N ~ [a-dx-z] ---> false +O ~ [a-dx-z] ---> false +P ~ [a-dx-z] ---> false +Q ~ [a-dx-z] ---> false +R ~ [a-dx-z] ---> false +S ~ [a-dx-z] ---> false +T ~ [a-dx-z] ---> false +U ~ [a-dx-z] ---> false +V ~ [a-dx-z] ---> false +W ~ [a-dx-z] ---> false +X ~ [a-dx-z] ---> false +Y ~ [a-dx-z] ---> false +Z ~ [a-dx-z] ---> false +a ~ [a-dx-z] ---> true +b ~ [a-dx-z] ---> true +c ~ [a-dx-z] ---> true +d ~ [a-dx-z] ---> true +e ~ [a-dx-z] ---> false +f ~ [a-dx-z] ---> false +g ~ [a-dx-z] ---> false +h ~ [a-dx-z] ---> false +i ~ [a-dx-z] ---> false +j ~ [a-dx-z] ---> false +k ~ [a-dx-z] ---> false +l ~ [a-dx-z] ---> false +m ~ [a-dx-z] ---> false +n ~ [a-dx-z] ---> false +o ~ [a-dx-z] ---> false +p ~ [a-dx-z] ---> false +q ~ [a-dx-z] ---> false +r ~ [a-dx-z] ---> false +s ~ [a-dx-z] ---> false +t ~ [a-dx-z] ---> false +u ~ [a-dx-z] ---> false +v ~ [a-dx-z] ---> false +w ~ [a-dx-z] ---> false +x ~ [a-dx-z] ---> true +y ~ [a-dx-z] ---> true +z ~ [a-dx-z] ---> true diff -urN gawk-4.0.1/version.c gawk-4.0.2/version.c --- gawk-4.0.1/version.c 2012-03-28 22:03:34.000000000 +0200 +++ gawk-4.0.2/version.c 2012-12-25 20:34:13.000000000 +0200 @@ -1,3 +1,3 @@ #include "config.h" -const char *version_string = "GNU Awk 4.0.1"; +const char *version_string = "GNU Awk 4.0.2"; diff -urN gawk-4.0.1/vms/ChangeLog gawk-4.0.2/vms/ChangeLog --- gawk-4.0.1/vms/ChangeLog 2012-03-28 22:02:08.000000000 +0200 +++ gawk-4.0.2/vms/ChangeLog 2012-12-25 20:38:26.000000000 +0200 @@ -1,3 +1,29 @@ +2012-12-24 Arnold D. Robbins + + * 4.0.2: Release tar ball made. + +2012-12-23 Arnold D. Robbins + + * vmstest.com (paramuninitglobal): New test. + +2012-12-23 Arnold D. Robbins + + * vmsbuild.com (REL, PATCHLVL): Move to 4.0.2. + * descrip.mms (REL, PATCHLVL): Move to 4.0.2. + * vms-conf.h (VERSION, PACKAGE_VERSION, PACKAGE_STRING): Move to 4.0.2. + +2012-11-24 Arnold D. Robbins + + * vmstest.com: Fix typo in applying previous patch. + +2012-11-22 Anders Wallin + + * vmstest.com: Updated to match main test/Makefile. + +2012-03-29 Arnold D. Robbins + + * config.h: Add definition for _Noreturn. + 2012-03-28 Arnold D. Robbins * 4.0.1: Release tar ball made. diff -urN gawk-4.0.1/vms/descrip.mms gawk-4.0.2/vms/descrip.mms --- gawk-4.0.1/vms/descrip.mms 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/vms/descrip.mms 2012-12-25 20:31:10.000000000 +0200 @@ -140,7 +140,7 @@ # Release of gawk REL=4.0 -PATCHLVL=1 +PATCHLVL=2 # generic target all : gawk,pgawk,dgawk diff -urN gawk-4.0.1/vms/vms-conf.h gawk-4.0.2/vms/vms-conf.h --- gawk-4.0.1/vms/vms-conf.h 2012-03-28 21:59:47.000000000 +0200 +++ gawk-4.0.2/vms/vms-conf.h 2012-12-25 20:31:10.000000000 +0200 @@ -399,7 +399,7 @@ #define PACKAGE_NAME "GNU Awk" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU Awk 3.1.8" +#define PACKAGE_STRING "GNU Awk 4.0.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gawk" @@ -408,7 +408,7 @@ #undef PACKAGE_URL /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.0.1" +#define PACKAGE_VERSION "4.0.2" /* Define to 1 if *printf supports %F format */ #undef PRINTF_HAS_F_FORMAT @@ -438,7 +438,7 @@ #define USE_INCLUDED_STRFTIME 1 /* Version number of package */ -#define VERSION "4.0.1" +#define VERSION "4.0.2" /* Define to 1 if on AIX 3. System headers sometimes define this. @@ -461,6 +461,18 @@ /* Define to 1 if on MINIX. */ #undef _MINIX +/* The _Noreturn keyword of C11. */ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE diff -urN gawk-4.0.1/vms/vms-notes gawk-4.0.2/vms/vms-notes --- gawk-4.0.1/vms/vms-notes 1970-01-01 02:00:00.000000000 +0200 +++ gawk-4.0.2/vms/vms-notes 2012-12-03 23:03:01.000000000 +0200 @@ -0,0 +1,8 @@ +Thu Nov 22 18:18:47 IST 2012 +============================ + +Per Anders Wallin, the HP VMS porting guide is available at + + http://h71000.www7.hp.com/portability/portingguidelines.html + +This file documents this fact, and anything else of interest. diff -urN gawk-4.0.1/vms/vmsbuild.com gawk-4.0.2/vms/vmsbuild.com --- gawk-4.0.1/vms/vmsbuild.com 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/vms/vmsbuild.com 2012-12-25 20:31:10.000000000 +0200 @@ -12,7 +12,7 @@ $! gawk 4.0.0 revd, May'11 $! $ REL = "4.0" !release version number -$ PATCHLVL = "1" +$ PATCHLVL = "2" $! $! $ CCFLAGS = "/noList" ! "/noOpt/Debug" diff -urN gawk-4.0.1/vms/vmstest.com gawk-4.0.2/vms/vmstest.com --- gawk-4.0.1/vms/vmstest.com 2012-03-28 21:47:54.000000000 +0200 +++ gawk-4.0.2/vms/vmstest.com 2012-12-25 20:31:10.000000000 +0200 @@ -53,7 +53,7 @@ + " fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc" - + " fordel forref forsimp fsbs fsspcoln fsrs fstabplus" - + " funsemnl funsmnam funstack getline getline2 getline3" - - + " getline4" + + " getline4 getline5" $ gosub list_of_tests $ list = "getlnbuf getnr2tb getnr2tm gsubasgn gsubtest" - + " gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6" - @@ -67,12 +67,13 @@ $ list = "nfset nlfldsep nlinstr nlstrina noeffect nofile" - + " nofmtch noloop1 noloop2 nonl noparms nors nulrsend" - + " numindex numsubstr octsub ofmt ofmtbig ofmtfidl" - - + " ofmta ofmts onlynl opasnidx opasnslf paramdup" - - + " paramres paramtyp parse1 parsefld parseme pcntplus" - + + " ofmta ofmts ofs1 onlynl opasnidx opasnslf paramdup" - + + " paramres paramtyp paramuninitglobal parse1 parsefld" - + + " parseme pcntplus" - + " posix2008sub prdupval prec printf0 printf1 prmarscl" $ gosub list_of_tests $ list = "prmreuse prt1eval prtoeval rand range1 rebt8b1" - - + " redfilnm regeq regrange reindops reparse resplit rs rsnul1nl" - + + " redfilnm regeq regexprange regrange reindops reparse resplit rs rsnul1nl" - + " rsnulbig rsnulbig2 rstest1 rstest2 rstest3 rstest4" - + " rstest5 rswhite scalar sclforin sclifin sortempty" - + " splitargv splitarr splitdef splitvar splitwht" - @@ -97,7 +98,7 @@ $gawk_ext: echo "gawk_ext... (gawk.extensions)" $ list = "aadelete1 aadelete2 aarray1 aasort aasorti" - + " argtest arraysort backw badargs beginfile1 binmode1" - - + " clos1way delsub devfd devfd1 devfd2 dumpvars exit" - + + " clos1way charasbytes delsub devfd devfd1 devfd2 dumpvars exit" - + " fieldwdth fpat1 fpat2 fpat3 fpatnull funlen fsfwfs" - + " fwtest fwtest2 fwtest3" - + " gensub gensub2 getlndir gnuops2 gnuops3 gnureops" - @@ -237,6 +238,7 @@ $ofmt: $ofmtfidl: $ofmts: +$ofs1: $onlynl: $parse1: $parsefld: @@ -318,6 +320,7 @@ $octsub: $ofmta: $paramtyp: +$paramuninitglobal: $patsplit: $pcntplus: $printf1: @@ -325,6 +328,7 @@ $prt1eval: $rebt8b1: $rebt8b2: +$regexprange: $regrange: $regx8bit: $sort1: @@ -346,6 +350,7 @@ $ $double1: $double2: +$getline5: $lc_num1: $mbprintf1: $ echo "''test' skipped" @@ -1318,6 +1323,18 @@ $ if $status then rm _devfd2.tmp; $ return $ +$charasbytes: +$! This test used "od" on Unix to verify the result. As this is not available +$! we must try as best as possible using DUMP and SEARCH, instead of comparing +$! to charasbytes.ok +$! +$ echo "''test'" +$ gawk -b -f 'test'.awk 'test'.in >_'test'.tmp +$ pipe dump/byte/block=count:1 _charasbytes.tmp | - + search sys$pipe /noout " 00 00 00 00 00 00 00 00 00 00 00 00 0A 5A 5A 5A" +$ if $severity .eq. 1 then rm _'test'.tmp;* +$ return +$ $mixed1: echo "mixed1" $ set noOn $ gawk -f /dev/null --source "BEGIN {return junk}" >_mixed1.tmp 2>&1 diff -urN gawk-4.0.1/xalloc.h gawk-4.0.2/xalloc.h --- gawk-4.0.1/xalloc.h 2011-11-01 22:09:45.000000000 +0200 +++ gawk-4.0.2/xalloc.h 2012-12-03 23:03:01.000000000 +0200 @@ -169,6 +169,16 @@ r_fatal(_("xalloc: malloc failed: %s"), strerror(errno)); } + +/* Clone an object P of size S, with error checking. There's no need + for xnmemdup (P, N, S), since xmemdup (P, N * S) works without any + need for an arithmetic overflow check. */ + +void * +xmemdup (void const *p, size_t s) +{ + return memcpy (xmalloc (s), p, s); +} #endif /* Change the size of an allocated block of memory P to an array of N EOF cat << \EOF > INSTALL Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. EOF cat << \End-Of-File > config.guess #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. timestamp='2012-09-25' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-gnueabi else echo ${UNAME_MACHINE}-unknown-linux-gnueabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: End-Of-File cat << \End-Of-File > depcomp #! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2012-07-12.20; # UTC # Copyright (C) 1999-2012 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # A tabulation character. tab=' ' # A newline character. nl=' ' if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' "$nl" < "$tmpdepfile" | ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependent.h'. # Do two passes, one to just change these to # '$object: dependent.h' and one to simply 'dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. # However on # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\': # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... # tcc 0.9.26 (FIXME still under development at the moment of writing) # will emit a similar output, but also prepend the continuation lines # with horizontal tabulation characters. "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form 'foo.o: dependent.h', # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. # Do two passes, one to just change these to # '$object: dependent.h' and one to simply 'dependent.h:'. sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ < "$tmpdepfile" > "$depfile" sed ' s/[ '"$tab"'][ '"$tab"']*/ /g s/^ *// s/ *\\*$// s/^[^:]*: *// /^$/d /:$/d s/$/ :/ ' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. base=`echo "$source" | sed -e 's|^.*/||' -e 's/\.[-_a-zA-Z0-9]*$//'` tmpdepfile="$base.d" # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir="$base.d-lock" trap "echo '$0: caught signal, cleaning up...' >&2; rm -rf $lockdir" 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0 ; do # mkdir is a portable test-and-set. if mkdir $lockdir 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rm -rf $lockdir break else ## the lock is being held by a different process, ## wait until the winning process is done or we timeout while test -d $lockdir && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test "$stat" = 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' "$nl" < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: End-Of-File cat << \EOF > install-sh #!/bin/sh # install - install a program, script, or datafile scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: EOF cat << \EOF > missing #! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2012-01-06.18; # UTC # Copyright (C) 1996-2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, 'missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file 'aclocal.m4' autoconf touch file 'configure' autoheader touch file 'config.h.in' autom4te touch the output file, or create a stub one automake touch all 'Makefile.in' files bison create 'y.tab.[ch]', if possible, from existing .[ch] flex create 'lex.yy.c', if possible, from existing .c help2man touch the output file lex create 'lex.yy.c', if possible, from existing .c makeinfo touch the output file yacc create 'y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running '$TOOL --version' or '$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified 'acinclude.m4' or '${configure_ac}'. You might want to install the Automake and Perl packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified '${configure_ac}'. You might want to install the Autoconf and GNU m4 packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified 'acconfig.h' or '${configure_ac}'. You might want to install the Autoconf and GNU m4 packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. You might want to install the Automake and Perl packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: '$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get '$1' as part of Autoconf from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: '$1' $msg. You should only need it if you modified a '.y' file. You may need the Bison package in order for those modifications to take effect. You can get Bison from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified a '.l' file. You may need the Flex package in order for those modifications to take effect. You can get Flex from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the Help2man package in order for those modifications to take effect. You can get Help2man from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: '$1' is $msg. You should only need it if you modified a '.texi' or '.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy 'make' (AIX, DU, IRIX). You might want to install the Texinfo package or the GNU make package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; *) echo 1>&2 "\ WARNING: '$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the 'README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing '$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: EOF cat << \End-Of-File > ylwrap #! /bin/sh # ylwrap - wrapper for lex/yacc invocations. scriptversion=2012-07-14.08; # UTC # Copyright (C) 1996-2012 Free Software Foundation, Inc. # # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . get_dirname () { case $1 in */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';; # Otherwise, we want the empty string (not "."). esac } # guard FILE # ---------- # The CPP macro used to guard inclusion of FILE. guard() { printf '%s\n' "$from" \ | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g' } # quote_for_sed [STRING] # ---------------------- # Return STRING (or stdin) quoted to be used as a sed pattern. quote_for_sed () { case $# in 0) cat;; 1) printf '%s\n' "$1";; esac \ | sed -e 's|[][\\.*]|\\&|g' } case "$1" in '') echo "$0: No files given. Try '$0 --help' for more information." 1>&2 exit 1 ;; --basedir) basedir=$2 shift 2 ;; -h|--h*) cat <<\EOF Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... Wrapper for lex/yacc invocations, renaming files as desired. INPUT is the input file OUTPUT is one file PROG generates DESIRED is the file we actually want instead of OUTPUT PROGRAM is program to run ARGS are passed to PROG Any number of OUTPUT,DESIRED pairs may be used. Report bugs to . EOF exit $? ;; -v|--v*) echo "ylwrap $scriptversion" exit $? ;; esac # The input. input="$1" shift # We'll later need for a correct munging of "#line" directives. input_sub_rx=`get_dirname "$input" | quote_for_sed` case "$input" in [\\/]* | ?:[\\/]*) # Absolute path; do nothing. ;; *) # Relative path. Make it absolute. input="`pwd`/$input" ;; esac input_rx=`get_dirname "$input" | quote_for_sed` # Since DOS filename conventions don't allow two dots, # the DOS version of Bison writes out y_tab.c instead of y.tab.c # and y_tab.h instead of y.tab.h. Test to see if this is the case. y_tab_nodot=false if test -f y_tab.c || test -f y_tab.h; then y_tab_nodot=true fi # The parser itself, the first file, is the destination of the .y.c # rule in the Makefile. parser=$1 # A sed program to s/FROM/TO/g for all the FROM/TO so that, for # instance, we rename #include "y.tab.h" into #include "parse.h" # during the conversion from y.tab.c to parse.c. rename_sed= while test "$#" -ne 0; do if test "$1" = "--"; then shift break fi from=$1 # Handle y_tab.c and y_tab.h output by DOS if $y_tab_nodot; then case $from in "y.tab.c") from=y_tab.c;; "y.tab.h") from=y_tab.h;; esac fi shift to=$1 shift rename_sed="${rename_sed}s|"`quote_for_sed "$from"`"|$to|g;" done # The program to run. prog="$1" shift # Make any relative path in $prog absolute. case "$prog" in [\\/]* | ?:[\\/]*) ;; *[\\/]*) prog="`pwd`/$prog" ;; esac # FIXME: add hostname here for parallel makes that run commands on # other machines. But that might take us over the 14-char limit. dirname=ylwrap$$ do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 mkdir $dirname || exit 1 cd $dirname case $# in 0) "$prog" "$input" ;; *) "$prog" "$@" "$input" ;; esac ret=$? if test $ret -eq 0; then for from in * do to=`printf '%s\n' "$from" | sed "$rename_sed"` if test -f "$from"; then # If $2 is an absolute path name, then just use that, # otherwise prepend '../'. case $to in [\\/]* | ?:[\\/]*) target=$to;; *) target="../$to";; esac # Do not overwrite unchanged header files to avoid useless # recompilations. Always update the parser itself: it is the # destination of the .y.c rule in the Makefile. Divert the # output of all other files to a temporary file so we can # compare them to existing versions. if test $from != $parser; then realtarget="$target" target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'` fi # Munge "#line" or "#" directives. Don't let the resulting # debug information point at an absolute srcdir. Use the real # output file name, not yy.lex.c for instance. Adjust the # include guards too. FROM=`guard "$from"` TARGET=`guard "$to"` sed -e "/^#/!b" -e "s|$input_rx|$input_sub_rx|" -e "$rename_sed" \ -e "s|$FROM|$TARGET|" "$from" >"$target" || ret=$? # Check whether files must be updated. if test "$from" != "$parser"; then if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then echo "$to is unchanged" rm -f "$target" else echo "updating $to" mv -f "$target" "$realtarget" fi fi else # A missing file is only an error for the parser. This is a # blatant hack to let us support using "yacc -d". If -d is not # specified, don't fail when the header file is "missing". if test "$from" = "$parser"; then ret=1 fi fi done fi # Remove the directory. cd .. rm -rf $dirname exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: End-Of-File cat << \EOF > doc/awkforai.txt Sun Dec 9 11:58:23 IST 2012 ============================ The original of this file was a draft of an article written in 1996 by Ronald P. Lui for an ACM Sigplan publication, explaining why he used gawk for teaching introductory Artificial Intelligence courses. Since it was not clear as to copying permissions and so on, it has been removed from the gawk distribution. A quick web search shows that this same draft is available at http://www.cs.wustl.edu/~loui/sigplan and the final article is available from the ACM: http://dl.acm.org/citation.cfm?id=242908 The article itself is recommended reading. Arnold Robbins arnold@skeeve.com EOF chmod +x test/jarebug.sh # Final cleanup echo Sleeping and touching files to update timestamps. # touch list of zero length files sleep 2 touch aclocal.m4 configh.in test/Makefile.in touch awklib/Makefile.in doc/Makefile.in Makefile.in sleep 2 touch configure version.c echo Remove any .orig or "'~'" files that may remain. echo Use '"configure && make"' to rebuild any dependent files. echo Use "'make distclean'" to clean up.