diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rwxr-xr-x | config.guess | 6 | ||||
-rwxr-xr-x | config.rpath | 106 | ||||
-rwxr-xr-x | config.sub | 70 | ||||
-rwxr-xr-x | depcomp | 433 | ||||
-rw-r--r-- | dfa.c | 4 | ||||
-rw-r--r-- | dfa.h | 2 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 1090 | ||||
-rw-r--r-- | doc/gawk.texi | 22 | ||||
-rw-r--r-- | doc/gawktexi.in | 22 | ||||
-rw-r--r-- | extension/build-aux/ChangeLog | 5 | ||||
-rwxr-xr-x | extension/build-aux/config.guess | 6 | ||||
-rwxr-xr-x | extension/build-aux/config.rpath | 106 | ||||
-rwxr-xr-x | extension/build-aux/config.sub | 99 | ||||
-rwxr-xr-x | extension/build-aux/depcomp | 442 | ||||
-rwxr-xr-x | extension/build-aux/install-sh | 337 | ||||
-rwxr-xr-x | install-sh | 337 | ||||
-rw-r--r-- | po/fi.gmo | bin | 45006 -> 84089 bytes | |||
-rw-r--r-- | po/fi.po | 1475 |
21 files changed, 2188 insertions, 2392 deletions
@@ -1,3 +1,10 @@ +2014-01-03 Arnold D. Robbins <arnold@skeeve.com> + + * config.guess, config.rpath, config.sub, depcomp, + install-sh: Updated. + * dfa.h, dfa.c: Sync with GNU grep; comment fix and copyright year. + * NEWS: Updated some, including copyright year. + 2013-12-26 Arnold D. Robbins <arnold@skeeve.com> * README: Add John Malmberg for VMS. @@ -1,4 +1,4 @@ - Copyright (C) 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + Copyright (C) 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -10,7 +10,7 @@ Changes from 4.1.0 to 4.1.1 1. The "stat" extension now includes a "devbsize" element which indicates the units for the "nblocks" element -2. The extension facility works on MinGW. Many of the extensions can be +2. The extension now facility works on MinGW. Many of the extensions can be built and used directly. 3. A number of bugs in the pretty-printing / profiling code have been fixed. @@ -19,7 +19,7 @@ Changes from 4.1.0 to 4.1.1 5. The debugger now lists source code correctly under Cygwin. -6. Configuration and building Mac OS X libreadline should work now. +6. Configuration and building with the Mac OS X libreadline should work now. 7. The -O option now works again. diff --git a/config.guess b/config.guess index 9afd6762..4438cd70 100755 --- a/config.guess +++ b/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2013 Free Software Foundation, Inc. +# Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2013-11-29' +timestamp='2014-01-01' # 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 @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2013 Free Software Foundation, Inc. +Copyright 1992-2014 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." diff --git a/config.rpath b/config.rpath index 17298f23..ab6fd995 100755 --- a/config.rpath +++ b/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2010 Free Software Foundation, Inc. +# Copyright 1996-2014 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # @@ -25,7 +25,7 @@ # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so @@ -57,13 +57,6 @@ else aix*) wl='-Wl,' ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) @@ -72,9 +65,7 @@ else irix5* | irix6* | nonstopux*) wl='-Wl,' ;; - newsos6) - ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in ecc*) wl='-Wl,' @@ -85,17 +76,26 @@ else lf95*) wl='-Wl,' ;; - pgcc | pgf77 | pgf90) + nagfor*) + wl='-Wl,-Wl,,' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; + xl* | bgxl* | bgf* | mpixl*) + wl='-Wl,' + ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in + *Sun\ F* | *Sun*Fortran*) + wl= + ;; *Sun\ C*) wl='-Wl,' ;; @@ -103,13 +103,24 @@ else ;; esac ;; + newsos6) + ;; + *nto* | *qnx*) + ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) - wl='-Wl,' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + wl='-Qoption ld ' + ;; + *) + wl='-Wl,' + ;; + esac ;; sunos4*) wl='-Qoption ld ' @@ -171,15 +182,14 @@ if test "$with_gnu_ld" = yes; then fi ;; amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -198,11 +208,13 @@ if test "$with_gnu_ld" = yes; then ld_shlibs=no fi ;; + haiku*) + ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; - gnu* | linux* | k*bsd*-gnu) + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else @@ -325,10 +337,14 @@ else fi ;; amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac ;; bsdi[45]*) ;; @@ -342,24 +358,15 @@ else ;; darwin* | rhapsody*) hardcode_direct=no - if test "$GCC" = yes ; then + if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then : else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac + ld_shlibs=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; - freebsd1*) - ld_shlibs=no - ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -420,6 +427,8 @@ else hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; + *nto* | *qnx*) + ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes @@ -515,7 +524,12 @@ case "$host_os" in library_names_spec='$libname$shrext' ;; amigaos*) - library_names_spec='$libname.a' + case "$host_cpu" in + powerpc*) + library_names_spec='$libname$shrext' ;; + m68k) + library_names_spec='$libname.a' ;; + esac ;; beos*) library_names_spec='$libname$shrext' @@ -534,8 +548,6 @@ case "$host_os" in dgux*) library_names_spec='$libname$shrext' ;; - freebsd1*) - ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) @@ -547,6 +559,9 @@ case "$host_os" in gnu*) library_names_spec='$libname$shrext' ;; + haiku*) + library_names_spec='$libname$shrext' + ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) @@ -582,7 +597,7 @@ case "$host_os" in ;; linux*oldld* | linux*aout* | linux*coff*) ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) @@ -594,7 +609,7 @@ case "$host_os" in newsos6) library_names_spec='$libname$shrext' ;; - nto-qnx*) + *nto* | *qnx*) library_names_spec='$libname$shrext' ;; openbsd*) @@ -625,6 +640,9 @@ case "$host_os" in sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; + tpf*) + library_names_spec='$libname$shrext' + ;; uts4*) library_names_spec='$libname$shrext' ;; @@ -1,24 +1,18 @@ #! /bin/sh # Configuration validation subroutine script. -# 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. +# Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2012-12-06' +timestamp='2014-01-01' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# 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 +# 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 # (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. +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. @@ -26,11 +20,12 @@ timestamp='2012-12-06' # 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. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -73,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -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. +Copyright 1992-2014 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." @@ -259,12 +252,12 @@ case $basic_machine in | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc \ + | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -272,6 +265,7 @@ case $basic_machine in | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ @@ -293,16 +287,17 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ - | or32 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ @@ -330,7 +325,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -372,13 +367,13 @@ case $basic_machine in | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -387,6 +382,7 @@ case $basic_machine in | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ @@ -410,12 +406,13 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ @@ -799,7 +796,7 @@ case $basic_machine in os=-mingw64 ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -835,7 +832,7 @@ case $basic_machine in basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i386-pc + basic_machine=i686-pc os=-msys ;; mvs) @@ -1357,7 +1354,7 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1503,9 +1500,6 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1554,6 +1548,9 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; + c8051-*) + os=-elf + ;; hexagon-*) os=-elf ;; @@ -1597,6 +1594,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2012-07-12.20; # UTC +scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999-2012 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,9 +27,9 @@ scriptversion=2012-07-12.20; # UTC case $1 in '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] @@ -56,11 +56,65 @@ EOF ;; esac +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + # A tabulation character. tab=' ' # A newline character. nl=' ' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 @@ -88,32 +142,32 @@ if test "$depmode" = hp; then fi if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout + # 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 + # 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 + # 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 + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc fi case "$depmode" in @@ -136,8 +190,7 @@ gcc3) done "$@" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -163,15 +216,14 @@ gcc) fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then 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. + # 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. @@ -180,15 +232,15 @@ gcc) ## 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" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -199,47 +251,6 @@ hp) 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, @@ -253,9 +264,8 @@ aix) # 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$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u @@ -268,9 +278,7 @@ aix) "$@" -M fi stat=$? - - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi @@ -279,65 +287,37 @@ aix) 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" + aix_post_process_depfile ;; -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. +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + 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 -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ - < "$tmpdepfile" > "$depfile" - sed ' - s/[ '"$tab"'][ '"$tab"']*/ /g - s/^ *// - s/ *\\*$// - s/^[^:]*: *// - /^$/d - /:$/d - s/$/ :/ - ' < "$tmpdepfile" >> "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; @@ -356,34 +336,37 @@ pgcc) # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= + set_dir_from "$object" # 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" + set_base_from "$source" + 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 + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 numtries=100 i=$numtries - while test $i -gt 0 ; do + while test $i -gt 0; do # mkdir is a portable test-and-set. - if mkdir $lockdir 2>/dev/null; then + if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. - rm -rf $lockdir + rmdir "$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 + # If 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 @@ -409,8 +392,8 @@ pgcc) 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" + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -421,9 +404,8 @@ hp2) # '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$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d @@ -434,8 +416,7 @@ hp2) "$@" +Maked fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi @@ -445,76 +426,61 @@ hp2) test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else - echo "#dummy" > "$depfile" + make_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" - ;; + # 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. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool 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$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; msvc7) if test "$libtool" = yes; then @@ -525,8 +491,7 @@ msvc7) "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -552,6 +517,7 @@ $ { G p }' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; @@ -603,13 +569,14 @@ dashmstdout) # 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" + 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" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -662,10 +629,12 @@ makedepend) # 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" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; @@ -701,10 +670,10 @@ cpp) 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" + "$@" -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" @@ -736,15 +705,15 @@ msvisualcpp) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; + set fnord "$@" + shift + shift + ;; *) - set fnord "$@" "$arg" - shift - shift - ;; + set fnord "$@" "$arg" + shift + shift + ;; esac done "$@" -E 2>/dev/null | @@ -1,5 +1,5 @@ /* dfa.c - deterministic extended regexp routines for GNU - Copyright (C) 1988, 1998, 2000, 2002, 2004-2005, 2007-2013 Free Software + Copyright (C) 1988, 1998, 2000, 2002, 2004-2005, 2007-2014 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify @@ -470,7 +470,7 @@ static void dfamust (struct dfa *dfa); static void regexp (void); /* These two macros are identical to the ones in gnulib's xalloc.h, - except that they not to case the result to "(t *)", and thus may + except that they do not cast the result to "(t *)", and thus may be used via type-free CALLOC and MALLOC macros. */ #undef XNMALLOC #undef XCALLOC @@ -1,5 +1,5 @@ /* dfa.h - declarations for GNU deterministic regexp compiler - Copyright (C) 1988, 1998, 2007, 2009-2013 Free Software Foundation, Inc. + Copyright (C) 1988, 1998, 2007, 2009-2014 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 diff --git a/doc/ChangeLog b/doc/ChangeLog index 5ff9bc41..ebdd68ba 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-03 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Full Line Fields): New node. + Update copyright year. + 2013-12-29 John E. Malmberg <wb8tyw@qsl.net> * gawktexi.in: VMS dynamic extensions. diff --git a/doc/gawk.info b/doc/gawk.info index 4196f313..fcef0ee6 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -10,8 +10,8 @@ START-INFO-DIR-ENTRY END-INFO-DIR-ENTRY Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014 +Free Software Foundation, Inc. This is Edition 4.1 of `GAWK: Effective AWK Programming: A User's @@ -42,8 +42,8 @@ This file documents `awk', a program that you can use to select particular records in a file and perform operations upon them. Copyright (C) 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014 +Free Software Foundation, Inc. This is Edition 4.1 of `GAWK: Effective AWK Programming: A User's @@ -193,6 +193,7 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) field. * Command Line Field Separator:: Setting `FS' from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. * Splitting By Content:: Defining Fields By Content @@ -4384,6 +4385,7 @@ File: gawk.info, Node: Field Separators, Next: Constant Size, Prev: Changing * Regexp Field Splitting:: Using regexps as the field separator. * Single Character Fields:: Making each character a separate field. * Command Line Field Separator:: Setting `FS' from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. The "field separator", which is either a single character or a @@ -4565,7 +4567,7 @@ Options::), if `FS' is the null string, then `gawk' also behaves this way. -File: gawk.info, Node: Command Line Field Separator, Next: Field Splitting Summary, Prev: Single Character Fields, Up: Field Separators +File: gawk.info, Node: Command Line Field Separator, Next: Full Line Fields, Prev: Single Character Fields, Up: Field Separators 4.5.4 Setting `FS' from the Command Line ---------------------------------------- @@ -4652,9 +4654,27 @@ the entries for users who have no password: awk -F: '$2 == ""' /etc/passwd -File: gawk.info, Node: Field Splitting Summary, Prev: Command Line Field Separator, Up: Field Separators +File: gawk.info, Node: Full Line Fields, Next: Field Splitting Summary, Prev: Command Line Field Separator, Up: Field Separators -4.5.5 Field-Splitting Summary +4.5.5 Making The Full Line Be A Single Field +-------------------------------------------- + +Occasionally, it's useful to treat the whole input line as a single +field. This can be done easily and portably simply by setting `FS' to +`"\n"' (a newline).(1) + + awk -F'\n' 'PROGRAM' FILES ... + +When you do this, `$1' is the same as `$0'. + + ---------- Footnotes ---------- + + (1) Thanks to Andrew Schorr for this tip. + + +File: gawk.info, Node: Field Splitting Summary, Prev: Full Line Fields, Up: Field Separators + +4.5.6 Field-Splitting Summary ----------------------------- It is important to remember that when you assign a string constant as @@ -30022,7 +30042,7 @@ Index * Beebe, Nelson: Acknowledgments. (line 60) * BEGIN pattern <1>: Profiling. (line 62) * BEGIN pattern <2>: BEGIN/END. (line 6) -* BEGIN pattern <3>: Field Separators. (line 44) +* BEGIN pattern <3>: Field Separators. (line 45) * BEGIN pattern: Records. (line 29) * BEGIN pattern, assert() user-defined function and: Assert Function. (line 83) @@ -30682,8 +30702,8 @@ Index * field operator $: Fields. (line 19) * field operators, dollar sign as: Fields. (line 19) * field separators <1>: User-modified. (line 56) -* field separators: Field Separators. (line 14) -* field separators, choice of: Field Separators. (line 50) +* field separators: Field Separators. (line 15) +* field separators, choice of: Field Separators. (line 51) * field separators, FIELDWIDTHS variable and: User-modified. (line 35) * field separators, FPAT variable and: User-modified. (line 45) * field separators, in multiline records: Multiple Line. (line 41) @@ -30694,7 +30714,7 @@ Index * field separators, POSIX and: Fields. (line 6) * field separators, regular expressions as <1>: Regexp Field Splitting. (line 6) -* field separators, regular expressions as: Field Separators. (line 50) +* field separators, regular expressions as: Field Separators. (line 51) * field separators, See Also OFS: Changing Fields. (line 64) * field separators, spaces as: Cut Program. (line 109) * fields <1>: Basic High Level. (line 73) @@ -30707,7 +30727,7 @@ Index * fields, number of: Fields. (line 33) * fields, numbers: Nonconstant Fields. (line 6) * fields, printing: Print Examples. (line 21) -* fields, separating: Field Separators. (line 14) +* fields, separating: Field Separators. (line 15) * fields, single-character: Single Character Fields. (line 6) * FIELDWIDTHS variable <1>: User-modified. (line 35) @@ -30817,12 +30837,12 @@ Index * Free Software Foundation (FSF): Manual History. (line 6) * FreeBSD: Glossary. (line 624) * FS variable <1>: User-modified. (line 56) -* FS variable: Field Separators. (line 14) +* FS variable: Field Separators. (line 15) * FS variable, --field-separator option and: Options. (line 21) * FS variable, as null string: Single Character Fields. (line 20) * FS variable, as TAB character: Options. (line 259) -* FS variable, changing value of: Field Separators. (line 34) +* FS variable, changing value of: Field Separators. (line 35) * FS variable, running awk programs and: Cut Program. (line 68) * FS variable, setting from command line: Command Line Field Separator. (line 6) @@ -31759,7 +31779,7 @@ Index * regexp constants, vs. string constants: Computed Regexps. (line 38) * regexp, See regular expressions: Regexp. (line 6) * regular expressions: Regexp. (line 6) -* regular expressions as field separators: Field Separators. (line 50) +* regular expressions as field separators: Field Separators. (line 51) * regular expressions, anchors in: Regexp Operators. (line 22) * regular expressions, as field separators: Regexp Field Splitting. (line 6) @@ -32129,7 +32149,7 @@ Index * troubleshooting, --non-decimal-data option: Options. (line 207) * troubleshooting, == operator: Comparison Operators. (line 37) -* troubleshooting, awk uses FS not IFS: Field Separators. (line 29) +* troubleshooting, awk uses FS not IFS: Field Separators. (line 30) * troubleshooting, backslash before nonspecial character: Escape Sequences. (line 112) * troubleshooting, division: Arithmetic Ops. (line 44) @@ -32323,523 +32343,525 @@ Index Tag Table: -Node: Top1360 -Node: Foreword40645 -Node: Preface44990 -Ref: Preface-Footnote-148043 -Ref: Preface-Footnote-248139 -Node: History48371 -Node: Names50745 -Ref: Names-Footnote-152222 -Node: This Manual52294 -Ref: This Manual-Footnote-158068 -Node: Conventions58168 -Node: Manual History60324 -Ref: Manual History-Footnote-163772 -Ref: Manual History-Footnote-263813 -Node: How To Contribute63887 -Node: Acknowledgments65031 -Node: Getting Started69240 -Node: Running gawk71619 -Node: One-shot72805 -Node: Read Terminal74030 -Ref: Read Terminal-Footnote-175680 -Ref: Read Terminal-Footnote-275956 -Node: Long76127 -Node: Executable Scripts77503 -Ref: Executable Scripts-Footnote-179336 -Ref: Executable Scripts-Footnote-279438 -Node: Comments79985 -Node: Quoting82452 -Node: DOS Quoting87075 -Node: Sample Data Files87750 -Node: Very Simple90794 -Node: Two Rules95393 -Node: More Complex97540 -Ref: More Complex-Footnote-1100470 -Node: Statements/Lines100555 -Ref: Statements/Lines-Footnote-1105017 -Node: Other Features105282 -Node: When106210 -Node: Invoking Gawk108357 -Node: Command Line109818 -Node: Options110601 -Ref: Options-Footnote-1125993 -Node: Other Arguments126018 -Node: Naming Standard Input128676 -Node: Environment Variables129770 -Node: AWKPATH Variable130328 -Ref: AWKPATH Variable-Footnote-1133086 -Node: AWKLIBPATH Variable133346 -Node: Other Environment Variables134064 -Node: Exit Status137027 -Node: Include Files137702 -Node: Loading Shared Libraries141271 -Node: Obsolete142635 -Node: Undocumented143332 -Node: Regexp143574 -Node: Regexp Usage144963 -Node: Escape Sequences146989 -Node: Regexp Operators152658 -Ref: Regexp Operators-Footnote-1160038 -Ref: Regexp Operators-Footnote-2160185 -Node: Bracket Expressions160283 -Ref: table-char-classes162173 -Node: GNU Regexp Operators164696 -Node: Case-sensitivity168419 -Ref: Case-sensitivity-Footnote-1171387 -Ref: Case-sensitivity-Footnote-2171622 -Node: Leftmost Longest171730 -Node: Computed Regexps172931 -Node: Reading Files176268 -Node: Records178270 -Ref: Records-Footnote-1187159 -Node: Fields187196 -Ref: Fields-Footnote-1190229 -Node: Nonconstant Fields190315 -Node: Changing Fields192517 -Node: Field Separators198476 -Node: Default Field Splitting201105 -Node: Regexp Field Splitting202222 -Node: Single Character Fields205564 -Node: Command Line Field Separator206623 -Node: Field Splitting Summary210064 -Ref: Field Splitting Summary-Footnote-1213175 -Node: Constant Size213276 -Node: Splitting By Content217860 -Ref: Splitting By Content-Footnote-1221586 -Node: Multiple Line221626 -Ref: Multiple Line-Footnote-1227473 -Node: Getline227652 -Node: Plain Getline229868 -Node: Getline/Variable231963 -Node: Getline/File233110 -Node: Getline/Variable/File234451 -Ref: Getline/Variable/File-Footnote-1236050 -Node: Getline/Pipe236137 -Node: Getline/Variable/Pipe238836 -Node: Getline/Coprocess239943 -Node: Getline/Variable/Coprocess241195 -Node: Getline Notes241932 -Node: Getline Summary244719 -Ref: table-getline-variants245127 -Node: Read Timeout246039 -Ref: Read Timeout-Footnote-1249780 -Node: Command line directories249837 -Node: Printing250467 -Node: Print252098 -Node: Print Examples253435 -Node: Output Separators256219 -Node: OFMT257979 -Node: Printf259337 -Node: Basic Printf260243 -Node: Control Letters261782 -Node: Format Modifiers265594 -Node: Printf Examples271603 -Node: Redirection274318 -Node: Special Files281283 -Node: Special FD281816 -Ref: Special FD-Footnote-1285441 -Node: Special Network285515 -Node: Special Caveats286365 -Node: Close Files And Pipes287161 -Ref: Close Files And Pipes-Footnote-1294144 -Ref: Close Files And Pipes-Footnote-2294292 -Node: Expressions294442 -Node: Values295574 -Node: Constants296250 -Node: Scalar Constants296930 -Ref: Scalar Constants-Footnote-1297789 -Node: Nondecimal-numbers297971 -Node: Regexp Constants300971 -Node: Using Constant Regexps301446 -Node: Variables304501 -Node: Using Variables305156 -Node: Assignment Options306880 -Node: Conversion308752 -Ref: table-locale-affects314253 -Ref: Conversion-Footnote-1314877 -Node: All Operators314986 -Node: Arithmetic Ops315616 -Node: Concatenation318121 -Ref: Concatenation-Footnote-1320913 -Node: Assignment Ops321033 -Ref: table-assign-ops326021 -Node: Increment Ops327352 -Node: Truth Values and Conditions330786 -Node: Truth Values331869 -Node: Typing and Comparison332918 -Node: Variable Typing333711 -Ref: Variable Typing-Footnote-1337608 -Node: Comparison Operators337730 -Ref: table-relational-ops338140 -Node: POSIX String Comparison341689 -Ref: POSIX String Comparison-Footnote-1342645 -Node: Boolean Ops342783 -Ref: Boolean Ops-Footnote-1346861 -Node: Conditional Exp346952 -Node: Function Calls348684 -Node: Precedence352278 -Node: Locales355947 -Node: Patterns and Actions357036 -Node: Pattern Overview358090 -Node: Regexp Patterns359759 -Node: Expression Patterns360302 -Node: Ranges363987 -Node: BEGIN/END366953 -Node: Using BEGIN/END367715 -Ref: Using BEGIN/END-Footnote-1370446 -Node: I/O And BEGIN/END370552 -Node: BEGINFILE/ENDFILE372834 -Node: Empty375748 -Node: Using Shell Variables376064 -Node: Action Overview378349 -Node: Statements380706 -Node: If Statement382560 -Node: While Statement384059 -Node: Do Statement386103 -Node: For Statement387259 -Node: Switch Statement390411 -Node: Break Statement392508 -Node: Continue Statement394498 -Node: Next Statement396291 -Node: Nextfile Statement398681 -Node: Exit Statement401324 -Node: Built-in Variables403740 -Node: User-modified404835 -Ref: User-modified-Footnote-1413193 -Node: Auto-set413255 -Ref: Auto-set-Footnote-1426333 -Ref: Auto-set-Footnote-2426538 -Node: ARGC and ARGV426594 -Node: Arrays430445 -Node: Array Basics431950 -Node: Array Intro432776 -Node: Reference to Elements437093 -Node: Assigning Elements439363 -Node: Array Example439854 -Node: Scanning an Array441586 -Node: Controlling Scanning443900 -Ref: Controlling Scanning-Footnote-1448987 -Node: Delete449303 -Ref: Delete-Footnote-1452068 -Node: Numeric Array Subscripts452125 -Node: Uninitialized Subscripts454308 -Node: Multidimensional455935 -Node: Multiscanning459028 -Node: Arrays of Arrays460617 -Node: Functions465257 -Node: Built-in466076 -Node: Calling Built-in467154 -Node: Numeric Functions469142 -Ref: Numeric Functions-Footnote-1472974 -Ref: Numeric Functions-Footnote-2473331 -Ref: Numeric Functions-Footnote-3473379 -Node: String Functions473648 -Ref: String Functions-Footnote-1496568 -Ref: String Functions-Footnote-2496697 -Ref: String Functions-Footnote-3496945 -Node: Gory Details497032 -Ref: table-sub-escapes498711 -Ref: table-sub-posix-92500065 -Ref: table-sub-proposed501416 -Ref: table-posix-sub502770 -Ref: table-gensub-escapes504315 -Ref: Gory Details-Footnote-1505491 -Ref: Gory Details-Footnote-2505542 -Node: I/O Functions505693 -Ref: I/O Functions-Footnote-1512678 -Node: Time Functions512825 -Ref: Time Functions-Footnote-1523758 -Ref: Time Functions-Footnote-2523826 -Ref: Time Functions-Footnote-3523984 -Ref: Time Functions-Footnote-4524095 -Ref: Time Functions-Footnote-5524207 -Ref: Time Functions-Footnote-6524434 -Node: Bitwise Functions524700 -Ref: table-bitwise-ops525262 -Ref: Bitwise Functions-Footnote-1529483 -Node: Type Functions529667 -Node: I18N Functions530818 -Node: User-defined532445 -Node: Definition Syntax533249 -Ref: Definition Syntax-Footnote-1538159 -Node: Function Example538228 -Node: Function Caveats540822 -Node: Calling A Function541243 -Node: Variable Scope542358 -Node: Pass By Value/Reference545321 -Node: Return Statement548829 -Node: Dynamic Typing551810 -Node: Indirect Calls552741 -Node: Library Functions562426 -Ref: Library Functions-Footnote-1565939 -Ref: Library Functions-Footnote-2566082 -Node: Library Names566253 -Ref: Library Names-Footnote-1569724 -Ref: Library Names-Footnote-2569944 -Node: General Functions570030 -Node: Strtonum Function571058 -Node: Assert Function573988 -Node: Round Function577314 -Node: Cliff Random Function578857 -Node: Ordinal Functions579873 -Ref: Ordinal Functions-Footnote-1582943 -Ref: Ordinal Functions-Footnote-2583195 -Node: Join Function583404 -Ref: Join Function-Footnote-1585175 -Node: Getlocaltime Function585375 -Node: Readfile Function589116 -Node: Data File Management590955 -Node: Filetrans Function591587 -Node: Rewind Function595656 -Node: File Checking597043 -Node: Empty Files598137 -Node: Ignoring Assigns600367 -Node: Getopt Function601920 -Ref: Getopt Function-Footnote-1613223 -Node: Passwd Functions613426 -Ref: Passwd Functions-Footnote-1622401 -Node: Group Functions622489 -Node: Walking Arrays630573 -Node: Sample Programs632710 -Node: Running Examples633384 -Node: Clones634112 -Node: Cut Program635336 -Node: Egrep Program645181 -Ref: Egrep Program-Footnote-1652954 -Node: Id Program653064 -Node: Split Program656680 -Ref: Split Program-Footnote-1660199 -Node: Tee Program660327 -Node: Uniq Program663130 -Node: Wc Program670559 -Ref: Wc Program-Footnote-1674825 -Ref: Wc Program-Footnote-2675025 -Node: Miscellaneous Programs675117 -Node: Dupword Program676305 -Node: Alarm Program678336 -Node: Translate Program683089 -Ref: Translate Program-Footnote-1687476 -Ref: Translate Program-Footnote-2687724 -Node: Labels Program687858 -Ref: Labels Program-Footnote-1691229 -Node: Word Sorting691313 -Node: History Sorting695197 -Node: Extract Program697036 -Ref: Extract Program-Footnote-1704539 -Node: Simple Sed704667 -Node: Igawk Program707729 -Ref: Igawk Program-Footnote-1722886 -Ref: Igawk Program-Footnote-2723087 -Node: Anagram Program723225 -Node: Signature Program726293 -Node: Advanced Features727393 -Node: Nondecimal Data729279 -Node: Array Sorting730862 -Node: Controlling Array Traversal731559 -Node: Array Sorting Functions739843 -Ref: Array Sorting Functions-Footnote-1743712 -Node: Two-way I/O743906 -Ref: Two-way I/O-Footnote-1749338 -Node: TCP/IP Networking749408 -Node: Profiling752252 -Node: Internationalization759749 -Node: I18N and L10N761174 -Node: Explaining gettext761860 -Ref: Explaining gettext-Footnote-1766928 -Ref: Explaining gettext-Footnote-2767112 -Node: Programmer i18n767277 -Node: Translator i18n771479 -Node: String Extraction772272 -Ref: String Extraction-Footnote-1773233 -Node: Printf Ordering773319 -Ref: Printf Ordering-Footnote-1776103 -Node: I18N Portability776167 -Ref: I18N Portability-Footnote-1778616 -Node: I18N Example778679 -Ref: I18N Example-Footnote-1781317 -Node: Gawk I18N781389 -Node: Debugger782010 -Node: Debugging782981 -Node: Debugging Concepts783414 -Node: Debugging Terms785270 -Node: Awk Debugging787867 -Node: Sample Debugging Session788759 -Node: Debugger Invocation789279 -Node: Finding The Bug790611 -Node: List of Debugger Commands797099 -Node: Breakpoint Control798433 -Node: Debugger Execution Control802097 -Node: Viewing And Changing Data805457 -Node: Execution Stack808813 -Node: Debugger Info810280 -Node: Miscellaneous Debugger Commands814262 -Node: Readline Support819438 -Node: Limitations820269 -Node: Arbitrary Precision Arithmetic822521 -Ref: Arbitrary Precision Arithmetic-Footnote-1824170 -Node: General Arithmetic824318 -Node: Floating Point Issues826038 -Node: String Conversion Precision826919 -Ref: String Conversion Precision-Footnote-1828624 -Node: Unexpected Results828733 -Node: POSIX Floating Point Problems830886 -Ref: POSIX Floating Point Problems-Footnote-1834711 -Node: Integer Programming834749 -Node: Floating-point Programming836488 -Ref: Floating-point Programming-Footnote-1842819 -Ref: Floating-point Programming-Footnote-2843089 -Node: Floating-point Representation843353 -Node: Floating-point Context844518 -Ref: table-ieee-formats845357 -Node: Rounding Mode846741 -Ref: table-rounding-modes847220 -Ref: Rounding Mode-Footnote-1850235 -Node: Gawk and MPFR850414 -Node: Arbitrary Precision Floats851669 -Ref: Arbitrary Precision Floats-Footnote-1854112 -Node: Setting Precision854428 -Ref: table-predefined-precision-strings855114 -Node: Setting Rounding Mode857259 -Ref: table-gawk-rounding-modes857663 -Node: Floating-point Constants858850 -Node: Changing Precision860279 -Ref: Changing Precision-Footnote-1861676 -Node: Exact Arithmetic861850 -Node: Arbitrary Precision Integers864988 -Ref: Arbitrary Precision Integers-Footnote-1868006 -Node: Dynamic Extensions868153 -Node: Extension Intro869611 -Node: Plugin License870876 -Node: Extension Mechanism Outline871561 -Ref: load-extension871978 -Ref: load-new-function873456 -Ref: call-new-function874451 -Node: Extension API Description876466 -Node: Extension API Functions Introduction877679 -Node: General Data Types882545 -Ref: General Data Types-Footnote-1888150 -Node: Requesting Values888449 -Ref: table-value-types-returned889180 -Node: Constructor Functions890134 -Node: Registration Functions893154 -Node: Extension Functions893839 -Node: Exit Callback Functions896064 -Node: Extension Version String897313 -Node: Input Parsers897963 -Node: Output Wrappers907720 -Node: Two-way processors912230 -Node: Printing Messages914438 -Ref: Printing Messages-Footnote-1915515 -Node: Updating `ERRNO'915667 -Node: Accessing Parameters916406 -Node: Symbol Table Access917636 -Node: Symbol table by name918148 -Node: Symbol table by cookie919895 -Ref: Symbol table by cookie-Footnote-1924025 -Node: Cached values924088 -Ref: Cached values-Footnote-1927537 -Node: Array Manipulation927628 -Ref: Array Manipulation-Footnote-1928726 -Node: Array Data Types928765 -Ref: Array Data Types-Footnote-1931468 -Node: Array Functions931560 -Node: Flattening Arrays935326 -Node: Creating Arrays942178 -Node: Extension API Variables946903 -Node: Extension Versioning947539 -Node: Extension API Informational Variables949440 -Node: Extension API Boilerplate950526 -Node: Finding Extensions954330 -Node: Extension Example954890 -Node: Internal File Description955620 -Node: Internal File Ops959711 -Ref: Internal File Ops-Footnote-1971219 -Node: Using Internal File Ops971359 -Ref: Using Internal File Ops-Footnote-1973712 -Node: Extension Samples973978 -Node: Extension Sample File Functions975502 -Node: Extension Sample Fnmatch983987 -Node: Extension Sample Fork985713 -Node: Extension Sample Inplace986931 -Node: Extension Sample Ord988709 -Node: Extension Sample Readdir989545 -Node: Extension Sample Revout991077 -Node: Extension Sample Rev2way991670 -Node: Extension Sample Read write array992360 -Node: Extension Sample Readfile994243 -Node: Extension Sample API Tests995061 -Node: Extension Sample Time995586 -Node: gawkextlib996950 -Node: Language History999731 -Node: V7/SVR3.11001253 -Node: SVR41003573 -Node: POSIX1005015 -Node: BTL1006401 -Node: POSIX/GNU1007135 -Node: Common Extensions1012736 -Node: Ranges and Locales1014042 -Ref: Ranges and Locales-Footnote-11018660 -Ref: Ranges and Locales-Footnote-21018687 -Ref: Ranges and Locales-Footnote-31018947 -Node: Contributors1019168 -Node: Installation1024243 -Node: Gawk Distribution1025137 -Node: Getting1025621 -Node: Extracting1026447 -Node: Distribution contents1028139 -Node: Unix Installation1033844 -Node: Quick Installation1034461 -Node: Additional Configuration Options1036905 -Node: Configuration Philosophy1038641 -Node: Non-Unix Installation1040995 -Node: PC Installation1041453 -Node: PC Binary Installation1042752 -Node: PC Compiling1044600 -Node: PC Testing1047544 -Node: PC Using1048720 -Node: Cygwin1052905 -Node: MSYS1053905 -Node: VMS Installation1054419 -Node: VMS Compilation1055183 -Ref: VMS Compilation-Footnote-11056798 -Node: VMS Dynamic Extensions1056856 -Node: VMS Installation Details1058229 -Node: VMS Running1060063 -Node: VMS GNV1062897 -Node: VMS Old Gawk1063606 -Node: Bugs1064076 -Node: Other Versions1067996 -Node: Notes1074080 -Node: Compatibility Mode1074880 -Node: Additions1075663 -Node: Accessing The Source1076590 -Node: Adding Code1078030 -Node: New Ports1084075 -Node: Derived Files1088210 -Ref: Derived Files-Footnote-11093531 -Ref: Derived Files-Footnote-21093565 -Ref: Derived Files-Footnote-31094165 -Node: Future Extensions1094263 -Node: Implementation Limitations1094846 -Node: Extension Design1096098 -Node: Old Extension Problems1097252 -Ref: Old Extension Problems-Footnote-11098760 -Node: Extension New Mechanism Goals1098817 -Ref: Extension New Mechanism Goals-Footnote-11102182 -Node: Extension Other Design Decisions1102368 -Node: Extension Future Growth1104474 -Node: Old Extension Mechanism1105310 -Node: Basic Concepts1107050 -Node: Basic High Level1107731 -Ref: figure-general-flow1108002 -Ref: figure-process-flow1108601 -Ref: Basic High Level-Footnote-11111830 -Node: Basic Data Typing1112015 -Node: Glossary1115370 -Node: Copying1140832 -Node: GNU Free Documentation License1178389 -Node: Index1203526 +Node: Top1366 +Node: Foreword40737 +Node: Preface45082 +Ref: Preface-Footnote-148135 +Ref: Preface-Footnote-248231 +Node: History48463 +Node: Names50837 +Ref: Names-Footnote-152314 +Node: This Manual52386 +Ref: This Manual-Footnote-158160 +Node: Conventions58260 +Node: Manual History60416 +Ref: Manual History-Footnote-163864 +Ref: Manual History-Footnote-263905 +Node: How To Contribute63979 +Node: Acknowledgments65123 +Node: Getting Started69332 +Node: Running gawk71711 +Node: One-shot72897 +Node: Read Terminal74122 +Ref: Read Terminal-Footnote-175772 +Ref: Read Terminal-Footnote-276048 +Node: Long76219 +Node: Executable Scripts77595 +Ref: Executable Scripts-Footnote-179428 +Ref: Executable Scripts-Footnote-279530 +Node: Comments80077 +Node: Quoting82544 +Node: DOS Quoting87167 +Node: Sample Data Files87842 +Node: Very Simple90886 +Node: Two Rules95485 +Node: More Complex97632 +Ref: More Complex-Footnote-1100562 +Node: Statements/Lines100647 +Ref: Statements/Lines-Footnote-1105109 +Node: Other Features105374 +Node: When106302 +Node: Invoking Gawk108449 +Node: Command Line109910 +Node: Options110693 +Ref: Options-Footnote-1126085 +Node: Other Arguments126110 +Node: Naming Standard Input128768 +Node: Environment Variables129862 +Node: AWKPATH Variable130420 +Ref: AWKPATH Variable-Footnote-1133178 +Node: AWKLIBPATH Variable133438 +Node: Other Environment Variables134156 +Node: Exit Status137119 +Node: Include Files137794 +Node: Loading Shared Libraries141363 +Node: Obsolete142727 +Node: Undocumented143424 +Node: Regexp143666 +Node: Regexp Usage145055 +Node: Escape Sequences147081 +Node: Regexp Operators152750 +Ref: Regexp Operators-Footnote-1160130 +Ref: Regexp Operators-Footnote-2160277 +Node: Bracket Expressions160375 +Ref: table-char-classes162265 +Node: GNU Regexp Operators164788 +Node: Case-sensitivity168511 +Ref: Case-sensitivity-Footnote-1171479 +Ref: Case-sensitivity-Footnote-2171714 +Node: Leftmost Longest171822 +Node: Computed Regexps173023 +Node: Reading Files176360 +Node: Records178362 +Ref: Records-Footnote-1187251 +Node: Fields187288 +Ref: Fields-Footnote-1190321 +Node: Nonconstant Fields190407 +Node: Changing Fields192609 +Node: Field Separators198568 +Node: Default Field Splitting201270 +Node: Regexp Field Splitting202387 +Node: Single Character Fields205729 +Node: Command Line Field Separator206788 +Node: Full Line Fields210222 +Ref: Full Line Fields-Footnote-1210730 +Node: Field Splitting Summary210776 +Ref: Field Splitting Summary-Footnote-1213875 +Node: Constant Size213976 +Node: Splitting By Content218560 +Ref: Splitting By Content-Footnote-1222286 +Node: Multiple Line222326 +Ref: Multiple Line-Footnote-1228173 +Node: Getline228352 +Node: Plain Getline230568 +Node: Getline/Variable232663 +Node: Getline/File233810 +Node: Getline/Variable/File235151 +Ref: Getline/Variable/File-Footnote-1236750 +Node: Getline/Pipe236837 +Node: Getline/Variable/Pipe239536 +Node: Getline/Coprocess240643 +Node: Getline/Variable/Coprocess241895 +Node: Getline Notes242632 +Node: Getline Summary245419 +Ref: table-getline-variants245827 +Node: Read Timeout246739 +Ref: Read Timeout-Footnote-1250480 +Node: Command line directories250537 +Node: Printing251167 +Node: Print252798 +Node: Print Examples254135 +Node: Output Separators256919 +Node: OFMT258679 +Node: Printf260037 +Node: Basic Printf260943 +Node: Control Letters262482 +Node: Format Modifiers266294 +Node: Printf Examples272303 +Node: Redirection275018 +Node: Special Files281983 +Node: Special FD282516 +Ref: Special FD-Footnote-1286141 +Node: Special Network286215 +Node: Special Caveats287065 +Node: Close Files And Pipes287861 +Ref: Close Files And Pipes-Footnote-1294844 +Ref: Close Files And Pipes-Footnote-2294992 +Node: Expressions295142 +Node: Values296274 +Node: Constants296950 +Node: Scalar Constants297630 +Ref: Scalar Constants-Footnote-1298489 +Node: Nondecimal-numbers298671 +Node: Regexp Constants301671 +Node: Using Constant Regexps302146 +Node: Variables305201 +Node: Using Variables305856 +Node: Assignment Options307580 +Node: Conversion309452 +Ref: table-locale-affects314953 +Ref: Conversion-Footnote-1315577 +Node: All Operators315686 +Node: Arithmetic Ops316316 +Node: Concatenation318821 +Ref: Concatenation-Footnote-1321613 +Node: Assignment Ops321733 +Ref: table-assign-ops326721 +Node: Increment Ops328052 +Node: Truth Values and Conditions331486 +Node: Truth Values332569 +Node: Typing and Comparison333618 +Node: Variable Typing334411 +Ref: Variable Typing-Footnote-1338308 +Node: Comparison Operators338430 +Ref: table-relational-ops338840 +Node: POSIX String Comparison342389 +Ref: POSIX String Comparison-Footnote-1343345 +Node: Boolean Ops343483 +Ref: Boolean Ops-Footnote-1347561 +Node: Conditional Exp347652 +Node: Function Calls349384 +Node: Precedence352978 +Node: Locales356647 +Node: Patterns and Actions357736 +Node: Pattern Overview358790 +Node: Regexp Patterns360459 +Node: Expression Patterns361002 +Node: Ranges364687 +Node: BEGIN/END367653 +Node: Using BEGIN/END368415 +Ref: Using BEGIN/END-Footnote-1371146 +Node: I/O And BEGIN/END371252 +Node: BEGINFILE/ENDFILE373534 +Node: Empty376448 +Node: Using Shell Variables376764 +Node: Action Overview379049 +Node: Statements381406 +Node: If Statement383260 +Node: While Statement384759 +Node: Do Statement386803 +Node: For Statement387959 +Node: Switch Statement391111 +Node: Break Statement393208 +Node: Continue Statement395198 +Node: Next Statement396991 +Node: Nextfile Statement399381 +Node: Exit Statement402024 +Node: Built-in Variables404440 +Node: User-modified405535 +Ref: User-modified-Footnote-1413893 +Node: Auto-set413955 +Ref: Auto-set-Footnote-1427033 +Ref: Auto-set-Footnote-2427238 +Node: ARGC and ARGV427294 +Node: Arrays431145 +Node: Array Basics432650 +Node: Array Intro433476 +Node: Reference to Elements437793 +Node: Assigning Elements440063 +Node: Array Example440554 +Node: Scanning an Array442286 +Node: Controlling Scanning444600 +Ref: Controlling Scanning-Footnote-1449687 +Node: Delete450003 +Ref: Delete-Footnote-1452768 +Node: Numeric Array Subscripts452825 +Node: Uninitialized Subscripts455008 +Node: Multidimensional456635 +Node: Multiscanning459728 +Node: Arrays of Arrays461317 +Node: Functions465957 +Node: Built-in466776 +Node: Calling Built-in467854 +Node: Numeric Functions469842 +Ref: Numeric Functions-Footnote-1473674 +Ref: Numeric Functions-Footnote-2474031 +Ref: Numeric Functions-Footnote-3474079 +Node: String Functions474348 +Ref: String Functions-Footnote-1497268 +Ref: String Functions-Footnote-2497397 +Ref: String Functions-Footnote-3497645 +Node: Gory Details497732 +Ref: table-sub-escapes499411 +Ref: table-sub-posix-92500765 +Ref: table-sub-proposed502116 +Ref: table-posix-sub503470 +Ref: table-gensub-escapes505015 +Ref: Gory Details-Footnote-1506191 +Ref: Gory Details-Footnote-2506242 +Node: I/O Functions506393 +Ref: I/O Functions-Footnote-1513378 +Node: Time Functions513525 +Ref: Time Functions-Footnote-1524458 +Ref: Time Functions-Footnote-2524526 +Ref: Time Functions-Footnote-3524684 +Ref: Time Functions-Footnote-4524795 +Ref: Time Functions-Footnote-5524907 +Ref: Time Functions-Footnote-6525134 +Node: Bitwise Functions525400 +Ref: table-bitwise-ops525962 +Ref: Bitwise Functions-Footnote-1530183 +Node: Type Functions530367 +Node: I18N Functions531518 +Node: User-defined533145 +Node: Definition Syntax533949 +Ref: Definition Syntax-Footnote-1538859 +Node: Function Example538928 +Node: Function Caveats541522 +Node: Calling A Function541943 +Node: Variable Scope543058 +Node: Pass By Value/Reference546021 +Node: Return Statement549529 +Node: Dynamic Typing552510 +Node: Indirect Calls553441 +Node: Library Functions563126 +Ref: Library Functions-Footnote-1566639 +Ref: Library Functions-Footnote-2566782 +Node: Library Names566953 +Ref: Library Names-Footnote-1570424 +Ref: Library Names-Footnote-2570644 +Node: General Functions570730 +Node: Strtonum Function571758 +Node: Assert Function574688 +Node: Round Function578014 +Node: Cliff Random Function579557 +Node: Ordinal Functions580573 +Ref: Ordinal Functions-Footnote-1583643 +Ref: Ordinal Functions-Footnote-2583895 +Node: Join Function584104 +Ref: Join Function-Footnote-1585875 +Node: Getlocaltime Function586075 +Node: Readfile Function589816 +Node: Data File Management591655 +Node: Filetrans Function592287 +Node: Rewind Function596356 +Node: File Checking597743 +Node: Empty Files598837 +Node: Ignoring Assigns601067 +Node: Getopt Function602620 +Ref: Getopt Function-Footnote-1613923 +Node: Passwd Functions614126 +Ref: Passwd Functions-Footnote-1623101 +Node: Group Functions623189 +Node: Walking Arrays631273 +Node: Sample Programs633410 +Node: Running Examples634084 +Node: Clones634812 +Node: Cut Program636036 +Node: Egrep Program645881 +Ref: Egrep Program-Footnote-1653654 +Node: Id Program653764 +Node: Split Program657380 +Ref: Split Program-Footnote-1660899 +Node: Tee Program661027 +Node: Uniq Program663830 +Node: Wc Program671259 +Ref: Wc Program-Footnote-1675525 +Ref: Wc Program-Footnote-2675725 +Node: Miscellaneous Programs675817 +Node: Dupword Program677005 +Node: Alarm Program679036 +Node: Translate Program683789 +Ref: Translate Program-Footnote-1688176 +Ref: Translate Program-Footnote-2688424 +Node: Labels Program688558 +Ref: Labels Program-Footnote-1691929 +Node: Word Sorting692013 +Node: History Sorting695897 +Node: Extract Program697736 +Ref: Extract Program-Footnote-1705239 +Node: Simple Sed705367 +Node: Igawk Program708429 +Ref: Igawk Program-Footnote-1723586 +Ref: Igawk Program-Footnote-2723787 +Node: Anagram Program723925 +Node: Signature Program726993 +Node: Advanced Features728093 +Node: Nondecimal Data729979 +Node: Array Sorting731562 +Node: Controlling Array Traversal732259 +Node: Array Sorting Functions740543 +Ref: Array Sorting Functions-Footnote-1744412 +Node: Two-way I/O744606 +Ref: Two-way I/O-Footnote-1750038 +Node: TCP/IP Networking750108 +Node: Profiling752952 +Node: Internationalization760449 +Node: I18N and L10N761874 +Node: Explaining gettext762560 +Ref: Explaining gettext-Footnote-1767628 +Ref: Explaining gettext-Footnote-2767812 +Node: Programmer i18n767977 +Node: Translator i18n772179 +Node: String Extraction772972 +Ref: String Extraction-Footnote-1773933 +Node: Printf Ordering774019 +Ref: Printf Ordering-Footnote-1776803 +Node: I18N Portability776867 +Ref: I18N Portability-Footnote-1779316 +Node: I18N Example779379 +Ref: I18N Example-Footnote-1782017 +Node: Gawk I18N782089 +Node: Debugger782710 +Node: Debugging783681 +Node: Debugging Concepts784114 +Node: Debugging Terms785970 +Node: Awk Debugging788567 +Node: Sample Debugging Session789459 +Node: Debugger Invocation789979 +Node: Finding The Bug791311 +Node: List of Debugger Commands797799 +Node: Breakpoint Control799133 +Node: Debugger Execution Control802797 +Node: Viewing And Changing Data806157 +Node: Execution Stack809513 +Node: Debugger Info810980 +Node: Miscellaneous Debugger Commands814962 +Node: Readline Support820138 +Node: Limitations820969 +Node: Arbitrary Precision Arithmetic823221 +Ref: Arbitrary Precision Arithmetic-Footnote-1824870 +Node: General Arithmetic825018 +Node: Floating Point Issues826738 +Node: String Conversion Precision827619 +Ref: String Conversion Precision-Footnote-1829324 +Node: Unexpected Results829433 +Node: POSIX Floating Point Problems831586 +Ref: POSIX Floating Point Problems-Footnote-1835411 +Node: Integer Programming835449 +Node: Floating-point Programming837188 +Ref: Floating-point Programming-Footnote-1843519 +Ref: Floating-point Programming-Footnote-2843789 +Node: Floating-point Representation844053 +Node: Floating-point Context845218 +Ref: table-ieee-formats846057 +Node: Rounding Mode847441 +Ref: table-rounding-modes847920 +Ref: Rounding Mode-Footnote-1850935 +Node: Gawk and MPFR851114 +Node: Arbitrary Precision Floats852369 +Ref: Arbitrary Precision Floats-Footnote-1854812 +Node: Setting Precision855128 +Ref: table-predefined-precision-strings855814 +Node: Setting Rounding Mode857959 +Ref: table-gawk-rounding-modes858363 +Node: Floating-point Constants859550 +Node: Changing Precision860979 +Ref: Changing Precision-Footnote-1862376 +Node: Exact Arithmetic862550 +Node: Arbitrary Precision Integers865688 +Ref: Arbitrary Precision Integers-Footnote-1868706 +Node: Dynamic Extensions868853 +Node: Extension Intro870311 +Node: Plugin License871576 +Node: Extension Mechanism Outline872261 +Ref: load-extension872678 +Ref: load-new-function874156 +Ref: call-new-function875151 +Node: Extension API Description877166 +Node: Extension API Functions Introduction878379 +Node: General Data Types883245 +Ref: General Data Types-Footnote-1888850 +Node: Requesting Values889149 +Ref: table-value-types-returned889880 +Node: Constructor Functions890834 +Node: Registration Functions893854 +Node: Extension Functions894539 +Node: Exit Callback Functions896764 +Node: Extension Version String898013 +Node: Input Parsers898663 +Node: Output Wrappers908420 +Node: Two-way processors912930 +Node: Printing Messages915138 +Ref: Printing Messages-Footnote-1916215 +Node: Updating `ERRNO'916367 +Node: Accessing Parameters917106 +Node: Symbol Table Access918336 +Node: Symbol table by name918848 +Node: Symbol table by cookie920595 +Ref: Symbol table by cookie-Footnote-1924725 +Node: Cached values924788 +Ref: Cached values-Footnote-1928237 +Node: Array Manipulation928328 +Ref: Array Manipulation-Footnote-1929426 +Node: Array Data Types929465 +Ref: Array Data Types-Footnote-1932168 +Node: Array Functions932260 +Node: Flattening Arrays936026 +Node: Creating Arrays942878 +Node: Extension API Variables947603 +Node: Extension Versioning948239 +Node: Extension API Informational Variables950140 +Node: Extension API Boilerplate951226 +Node: Finding Extensions955030 +Node: Extension Example955590 +Node: Internal File Description956320 +Node: Internal File Ops960411 +Ref: Internal File Ops-Footnote-1971919 +Node: Using Internal File Ops972059 +Ref: Using Internal File Ops-Footnote-1974412 +Node: Extension Samples974678 +Node: Extension Sample File Functions976202 +Node: Extension Sample Fnmatch984687 +Node: Extension Sample Fork986413 +Node: Extension Sample Inplace987631 +Node: Extension Sample Ord989409 +Node: Extension Sample Readdir990245 +Node: Extension Sample Revout991777 +Node: Extension Sample Rev2way992370 +Node: Extension Sample Read write array993060 +Node: Extension Sample Readfile994943 +Node: Extension Sample API Tests995761 +Node: Extension Sample Time996286 +Node: gawkextlib997650 +Node: Language History1000431 +Node: V7/SVR3.11001953 +Node: SVR41004273 +Node: POSIX1005715 +Node: BTL1007101 +Node: POSIX/GNU1007835 +Node: Common Extensions1013436 +Node: Ranges and Locales1014742 +Ref: Ranges and Locales-Footnote-11019360 +Ref: Ranges and Locales-Footnote-21019387 +Ref: Ranges and Locales-Footnote-31019647 +Node: Contributors1019868 +Node: Installation1024943 +Node: Gawk Distribution1025837 +Node: Getting1026321 +Node: Extracting1027147 +Node: Distribution contents1028839 +Node: Unix Installation1034544 +Node: Quick Installation1035161 +Node: Additional Configuration Options1037605 +Node: Configuration Philosophy1039341 +Node: Non-Unix Installation1041695 +Node: PC Installation1042153 +Node: PC Binary Installation1043452 +Node: PC Compiling1045300 +Node: PC Testing1048244 +Node: PC Using1049420 +Node: Cygwin1053605 +Node: MSYS1054605 +Node: VMS Installation1055119 +Node: VMS Compilation1055883 +Ref: VMS Compilation-Footnote-11057498 +Node: VMS Dynamic Extensions1057556 +Node: VMS Installation Details1058929 +Node: VMS Running1060763 +Node: VMS GNV1063597 +Node: VMS Old Gawk1064306 +Node: Bugs1064776 +Node: Other Versions1068696 +Node: Notes1074780 +Node: Compatibility Mode1075580 +Node: Additions1076363 +Node: Accessing The Source1077290 +Node: Adding Code1078730 +Node: New Ports1084775 +Node: Derived Files1088910 +Ref: Derived Files-Footnote-11094231 +Ref: Derived Files-Footnote-21094265 +Ref: Derived Files-Footnote-31094865 +Node: Future Extensions1094963 +Node: Implementation Limitations1095546 +Node: Extension Design1096798 +Node: Old Extension Problems1097952 +Ref: Old Extension Problems-Footnote-11099460 +Node: Extension New Mechanism Goals1099517 +Ref: Extension New Mechanism Goals-Footnote-11102882 +Node: Extension Other Design Decisions1103068 +Node: Extension Future Growth1105174 +Node: Old Extension Mechanism1106010 +Node: Basic Concepts1107750 +Node: Basic High Level1108431 +Ref: figure-general-flow1108702 +Ref: figure-process-flow1109301 +Ref: Basic High Level-Footnote-11112530 +Node: Basic Data Typing1112715 +Node: Glossary1116070 +Node: Copying1141532 +Node: GNU Free Documentation License1179089 +Node: Index1204226 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 24879b78..a9ae048a 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -26,7 +26,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH December, 2013 +@set UPDATE-MONTH January, 2014 @set VERSION 4.1 @set PATCHLEVEL 0 @@ -153,7 +153,8 @@ Some comments on the layout for TeX. @copying Copyright @copyright{} 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, -2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013 +2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, +2014 Free Software Foundation, Inc. @sp 2 @@ -401,6 +402,7 @@ particular records in a file and perform operations upon them. field. * Command Line Field Separator:: Setting @code{FS} from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. * Splitting By Content:: Defining Fields By Content @@ -6306,6 +6308,7 @@ with a statement such as @samp{$1 = $1}, as described earlier. * Regexp Field Splitting:: Using regexps as the field separator. * Single Character Fields:: Making each character a separate field. * Command Line Field Separator:: Setting @code{FS} from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. @end menu @@ -6674,6 +6677,21 @@ the entries for users who have no password: awk -F: '$2 == ""' /etc/passwd @end example +@node Full Line Fields +@subsection Making The Full Line Be A Single Field + +Occasionally, it's useful to treat the whole input line as a +single field. This can be done easily and portably simply by +setting @code{FS} to @code{"\n"} (a newline).@footnote{Thanks to +Andrew Schorr for this tip.} + +@example +awk -F'\n' '@var{program}' @var{files @dots{}} +@end example + +@noindent +When you do this, @code{$1} is the same as @code{$0}. + @node Field Splitting Summary @subsection Field-Splitting Summary diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 9a853e17..4dfd0039 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -21,7 +21,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH December, 2013 +@set UPDATE-MONTH January, 2014 @set VERSION 4.1 @set PATCHLEVEL 0 @@ -148,7 +148,8 @@ Some comments on the layout for TeX. @copying Copyright @copyright{} 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, -2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013 +2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011, 2012, 2013, +2014 Free Software Foundation, Inc. @sp 2 @@ -396,6 +397,7 @@ particular records in a file and perform operations upon them. field. * Command Line Field Separator:: Setting @code{FS} from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. * Constant Size:: Reading constant width data. * Splitting By Content:: Defining Fields By Content @@ -6027,6 +6029,7 @@ with a statement such as @samp{$1 = $1}, as described earlier. * Regexp Field Splitting:: Using regexps as the field separator. * Single Character Fields:: Making each character a separate field. * Command Line Field Separator:: Setting @code{FS} from the command-line. +* Full Line Fields:: Making the full line be a single field. * Field Splitting Summary:: Some final points and a summary table. @end menu @@ -6395,6 +6398,21 @@ the entries for users who have no password: awk -F: '$2 == ""' /etc/passwd @end example +@node Full Line Fields +@subsection Making The Full Line Be A Single Field + +Occasionally, it's useful to treat the whole input line as a +single field. This can be done easily and portably simply by +setting @code{FS} to @code{"\n"} (a newline).@footnote{Thanks to +Andrew Schorr for this tip.} + +@example +awk -F'\n' '@var{program}' @var{files @dots{}} +@end example + +@noindent +When you do this, @code{$1} is the same as @code{$0}. + @node Field Splitting Summary @subsection Field-Splitting Summary diff --git a/extension/build-aux/ChangeLog b/extension/build-aux/ChangeLog index 8a658870..b578de8b 100644 --- a/extension/build-aux/ChangeLog +++ b/extension/build-aux/ChangeLog @@ -1,3 +1,8 @@ +2014-01-03 Arnold D. Robbins <arnold@skeeve.com> + + * config.guess, config.rpath, config.sub, depcomp, + install-sh: Updated. + 2013-12-24 Arnold D. Robbins <arnold@skeeve.com> * config.guess: Updated. diff --git a/extension/build-aux/config.guess b/extension/build-aux/config.guess index 9afd6762..4438cd70 100755 --- a/extension/build-aux/config.guess +++ b/extension/build-aux/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2013 Free Software Foundation, Inc. +# Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2013-11-29' +timestamp='2014-01-01' # 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 @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2013 Free Software Foundation, Inc. +Copyright 1992-2014 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." diff --git a/extension/build-aux/config.rpath b/extension/build-aux/config.rpath index 17298f23..ab6fd995 100755 --- a/extension/build-aux/config.rpath +++ b/extension/build-aux/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2010 Free Software Foundation, Inc. +# Copyright 1996-2014 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # @@ -25,7 +25,7 @@ # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so @@ -57,13 +57,6 @@ else aix*) wl='-Wl,' ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) @@ -72,9 +65,7 @@ else irix5* | irix6* | nonstopux*) wl='-Wl,' ;; - newsos6) - ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in ecc*) wl='-Wl,' @@ -85,17 +76,26 @@ else lf95*) wl='-Wl,' ;; - pgcc | pgf77 | pgf90) + nagfor*) + wl='-Wl,-Wl,,' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; + xl* | bgxl* | bgf* | mpixl*) + wl='-Wl,' + ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in + *Sun\ F* | *Sun*Fortran*) + wl= + ;; *Sun\ C*) wl='-Wl,' ;; @@ -103,13 +103,24 @@ else ;; esac ;; + newsos6) + ;; + *nto* | *qnx*) + ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) - wl='-Wl,' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + wl='-Qoption ld ' + ;; + *) + wl='-Wl,' + ;; + esac ;; sunos4*) wl='-Qoption ld ' @@ -171,15 +182,14 @@ if test "$with_gnu_ld" = yes; then fi ;; amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -198,11 +208,13 @@ if test "$with_gnu_ld" = yes; then ld_shlibs=no fi ;; + haiku*) + ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; - gnu* | linux* | k*bsd*-gnu) + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else @@ -325,10 +337,14 @@ else fi ;; amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac ;; bsdi[45]*) ;; @@ -342,24 +358,15 @@ else ;; darwin* | rhapsody*) hardcode_direct=no - if test "$GCC" = yes ; then + if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then : else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac + ld_shlibs=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; - freebsd1*) - ld_shlibs=no - ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -420,6 +427,8 @@ else hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; + *nto* | *qnx*) + ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes @@ -515,7 +524,12 @@ case "$host_os" in library_names_spec='$libname$shrext' ;; amigaos*) - library_names_spec='$libname.a' + case "$host_cpu" in + powerpc*) + library_names_spec='$libname$shrext' ;; + m68k) + library_names_spec='$libname.a' ;; + esac ;; beos*) library_names_spec='$libname$shrext' @@ -534,8 +548,6 @@ case "$host_os" in dgux*) library_names_spec='$libname$shrext' ;; - freebsd1*) - ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) @@ -547,6 +559,9 @@ case "$host_os" in gnu*) library_names_spec='$libname$shrext' ;; + haiku*) + library_names_spec='$libname$shrext' + ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) @@ -582,7 +597,7 @@ case "$host_os" in ;; linux*oldld* | linux*aout* | linux*coff*) ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) @@ -594,7 +609,7 @@ case "$host_os" in newsos6) library_names_spec='$libname$shrext' ;; - nto-qnx*) + *nto* | *qnx*) library_names_spec='$libname$shrext' ;; openbsd*) @@ -625,6 +640,9 @@ case "$host_os" in sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; + tpf*) + library_names_spec='$libname$shrext' + ;; uts4*) library_names_spec='$libname$shrext' ;; diff --git a/extension/build-aux/config.sub b/extension/build-aux/config.sub index aa2cf19b..092cff00 100755 --- a/extension/build-aux/config.sub +++ b/extension/build-aux/config.sub @@ -1,24 +1,18 @@ #! /bin/sh # Configuration validation subroutine script. -# 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. +# Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2012-06-17' +timestamp='2014-01-01' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# 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 +# 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 # (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. +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. @@ -26,11 +20,12 @@ timestamp='2012-06-17' # 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. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -73,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -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. +Copyright 1992-2014 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." @@ -123,7 +116,7 @@ esac maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) @@ -156,7 +149,7 @@ case $os in -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 | -microblaze) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; @@ -259,10 +252,12 @@ case $basic_machine in | 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 \ - | be32 | be64 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -270,10 +265,11 @@ case $basic_machine in | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -291,16 +287,17 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ - | or32 \ + | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ @@ -328,7 +325,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -370,13 +367,13 @@ case $basic_machine in | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -385,11 +382,13 @@ case $basic_machine in | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -407,12 +406,13 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ @@ -788,11 +788,15 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze*) basic_machine=microblaze-xilinx ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -828,7 +832,7 @@ case $basic_machine in basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i386-pc + basic_machine=i686-pc os=-msys ;; mvs) @@ -1019,7 +1023,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1346,7 +1354,7 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1359,8 +1367,8 @@ case $os in | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ + | -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* \ @@ -1492,9 +1500,6 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1543,6 +1548,9 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; + c8051-*) + os=-elf + ;; hexagon-*) os=-elf ;; @@ -1586,6 +1594,9 @@ case $basic_machine in mips*-*) os=-elf ;; + or1k-*) + os=-elf + ;; or32-*) os=-coff ;; diff --git a/extension/build-aux/depcomp b/extension/build-aux/depcomp index 0544c683..31788017 100755 --- a/extension/build-aux/depcomp +++ b/extension/build-aux/depcomp @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2012-07-12.20; # UTC +scriptversion=2013-05-30.07; # UTC -# Copyright (C) 1999-2012 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,9 +27,9 @@ scriptversion=2012-07-12.20; # UTC case $1 in '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] @@ -56,11 +56,65 @@ EOF ;; esac +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + # A tabulation character. tab=' ' # A newline character. nl=' ' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 @@ -74,6 +128,9 @@ 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 @@ -85,32 +142,32 @@ if test "$depmode" = hp; then fi if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout + # 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 + # 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 + # 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 informations. - gccflag=-qmakedep=gcc,-MF - depmode=gcc + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc fi case "$depmode" in @@ -133,8 +190,7 @@ gcc3) done "$@" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -142,13 +198,17 @@ gcc3) ;; 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). +## -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 @@ -156,15 +216,14 @@ gcc) fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then 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. + # 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. @@ -173,15 +232,15 @@ gcc) ## 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" + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -192,47 +251,6 @@ hp) 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, @@ -246,9 +264,8 @@ aix) # 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$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u @@ -261,9 +278,7 @@ aix) "$@" -M fi stat=$? - - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi @@ -272,65 +287,37 @@ aix) 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" + aix_post_process_depfile ;; -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. +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? - if test $stat -eq 0; then : - else + 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 -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ - < "$tmpdepfile" > "$depfile" - sed ' - s/[ '"$tab"'][ '"$tab"']*/ /g - s/^ *// - s/ *\\*$// - s/^[^:]*: *// - /^$/d - /:$/d - s/$/ :/ - ' < "$tmpdepfile" >> "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; @@ -349,34 +336,37 @@ pgcc) # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= + set_dir_from "$object" # 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" + set_base_from "$source" + 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 + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 numtries=100 i=$numtries - while test $i -gt 0 ; do + while test $i -gt 0; do # mkdir is a portable test-and-set. - if mkdir $lockdir 2>/dev/null; then + if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. - rm -rf $lockdir + rmdir "$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 + # If 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 @@ -402,8 +392,8 @@ pgcc) 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" + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -414,9 +404,8 @@ hp2) # '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$//'` + set_dir_from "$object" + set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d @@ -427,8 +416,7 @@ hp2) "$@" +Maked fi stat=$? - if test $stat -eq 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi @@ -438,76 +426,61 @@ hp2) test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" else - echo "#dummy" > "$depfile" + make_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" - ;; + # 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. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool 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$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; msvc7) if test "$libtool" = yes; then @@ -518,8 +491,7 @@ msvc7) "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else + if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi @@ -545,6 +517,7 @@ $ { G p }' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; @@ -596,13 +569,14 @@ dashmstdout) # 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" + 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" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -655,10 +629,12 @@ makedepend) # 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" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; @@ -694,10 +670,10 @@ cpp) 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" + "$@" -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" @@ -729,15 +705,15 @@ msvisualcpp) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; + set fnord "$@" + shift + shift + ;; *) - set fnord "$@" "$arg" - shift - shift - ;; + set fnord "$@" "$arg" + shift + shift + ;; esac done "$@" -E 2>/dev/null | diff --git a/extension/build-aux/install-sh b/extension/build-aux/install-sh index 377bb868..04367377 100755 --- a/extension/build-aux/install-sh +++ b/extension/build-aux/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-11-20.07; # UTC +scriptversion=2013-10-30.23; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC # This script is compatible with the BSD install script, but was written # from scratch. +tab=' ' nl=' ' -IFS=" "" $nl" +IFS=" $tab$nl" -# set DOITPROG to echo to test this script +# 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 +doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. @@ -68,17 +64,6 @@ 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. @@ -137,40 +122,39 @@ while test $# -ne 0; do -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" - shift;; + shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift;; + 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;; + # 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;; + --) shift + break;; - -*) echo "$0: invalid option: $1" >&2 - exit 1;; + -*) echo "$0: invalid option: $1" >&2 + exit 1;; *) break;; esac @@ -223,16 +207,16 @@ if test -z "$dir_arg"; then *[0-7]) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw='% 200' + u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw=,u+rw + u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac @@ -270,40 +254,14 @@ do # 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 + 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' - ` - + dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi @@ -314,74 +272,74 @@ do 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;; + # 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" + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else @@ -391,53 +349,51 @@ do # directory the slow way, step by step, checking for races as we go. case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; esac - eval "$initialize_posix_glob" - oIFS=$IFS IFS=/ - $posix_glob set -f + set -f set fnord $dstdir shift - $posix_glob set +f + 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/ + 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 + # 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 @@ -472,15 +428,12 @@ do # 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 && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - + set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then @@ -493,24 +446,24 @@ do # 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" + # 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 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2011-11-20.07; # UTC +scriptversion=2013-10-30.23; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC # This script is compatible with the BSD install script, but was written # from scratch. +tab=' ' nl=' ' -IFS=" "" $nl" +IFS=" $tab$nl" -# set DOITPROG to echo to test this script +# 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 +doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. @@ -68,17 +64,6 @@ 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. @@ -137,40 +122,39 @@ while test $# -ne 0; do -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" - shift;; + shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift;; + 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;; + # 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;; + --) shift + break;; - -*) echo "$0: invalid option: $1" >&2 - exit 1;; + -*) echo "$0: invalid option: $1" >&2 + exit 1;; *) break;; esac @@ -223,16 +207,16 @@ if test -z "$dir_arg"; then *[0-7]) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw='% 200' + u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then - u_plus_rw= + u_plus_rw= else - u_plus_rw=,u+rw + u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac @@ -270,40 +254,14 @@ do # 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 + 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' - ` - + dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi @@ -314,74 +272,74 @@ do 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;; + # 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" + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else @@ -391,53 +349,51 @@ do # directory the slow way, step by step, checking for races as we go. case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; esac - eval "$initialize_posix_glob" - oIFS=$IFS IFS=/ - $posix_glob set -f + set -f set fnord $dstdir shift - $posix_glob set +f + 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/ + 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 + # 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 @@ -472,15 +428,12 @@ do # 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 && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - + set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then @@ -493,24 +446,24 @@ do # 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" + # 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 @@ -1,14 +1,14 @@ # Finnish messages for gawk. -# Copyright © 2010, 2011, 2012 Free Software Foundation, Inc. +# Copyright © 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. # This file is distributed under the same license as the gawk package. -# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010-2012. +# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010-2014. # msgid "" msgstr "" -"Project-Id-Version: gawk 4.0.0h\n" +"Project-Id-Version: gawk 4.0.75\n" "Report-Msgid-Bugs-To: arnold@skeeve.com\n" -"POT-Creation-Date: 2013-05-09 16:05+0300\n" -"PO-Revision-Date: 2012-03-13 18:00+0200\n" +"POT-Creation-Date: 2013-04-17 20:54+0300\n" +"PO-Revision-Date: 2014-01-02 11:55+0200\n" "Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" "Language: fi\n" @@ -16,6 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.4\n" #: array.c:254 #, c-format @@ -54,9 +55,8 @@ msgid "attempt to use scalar `%s[\"%.*s\"]' as an array" msgstr "yritettiin käyttää skalaaria ”%s[\"%.*s\"]” taulukkona" #: array.c:773 -#, fuzzy msgid "adump: first argument not an array" -msgstr "adump: argumentti ei ole taulukko" +msgstr "adump: ensimmäinen argumentti ei ole taulukko" #: array.c:812 msgid "asort: second argument not an array" @@ -76,27 +76,19 @@ msgstr "asorti: ensimmäinen argumentti ei ole taulukko" #: array.c:828 msgid "asort: cannot use a subarray of first arg for second arg" -msgstr "" -"asort: ei voida käyttää ensimmäisen argumentin alitaulukkoa toiselle " -"argumentille" +msgstr "asort: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille epäonnistui" #: array.c:829 msgid "asorti: cannot use a subarray of first arg for second arg" -msgstr "" -"asorti: ei voida käyttää ensimmäisen argumentin alitaulukkoa toiselle " -"argumentille" +msgstr "asorti: ensimmäisen argumentin alitaulukon käyttö toiselle argumentille epäonnistui" #: array.c:834 msgid "asort: cannot use a subarray of second arg for first arg" -msgstr "" -"asort: ei voida käyttää toisen argumentin alitaulukkoa ensimmäiselle " -"argumentille" +msgstr "asort: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille epäonnistui" #: array.c:835 msgid "asorti: cannot use a subarray of second arg for first arg" -msgstr "" -"asorti: ei voida käyttää toisen argumentin alitaulukkoa ensimmäiselle " -"argumentille" +msgstr "asorti: toisen argumentin alitaulukon käyttö ensimmäiselle argumentille epäonnistui" #: array.c:1309 #, c-format @@ -128,14 +120,12 @@ msgstr "”%s” on sisäänrakennettu funktio. Sitä ei voi määritellä uudel #: awkgram.y:419 msgid "regexp constant `//' looks like a C++ comment, but is not" -msgstr "" -"säännöllisen lausekkeen vakio ”//” näyttää C++-kommentilta, mutta ei ole" +msgstr "säännöllisen lausekkeen vakio ”//” näyttää C++-kommentilta, mutta ei ole" #: awkgram.y:423 #, 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" +msgstr "säännöllisen lausekkeen vakio ”/%s/” näyttää C-kommentilta, mutta ei ole" #: awkgram.y:515 #, c-format @@ -170,16 +160,15 @@ msgstr "”return” käytetty funktiokontekstin ulkopuolella" #: 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 \"\"”" +msgstr "pelkkä ”print” BEGIN- tai END-säännössä pitäisi luultavasti olla ”print \"\"”" #: awkgram.y:988 awkgram.y:1037 msgid "`delete' is not allowed with SYMTAB" -msgstr "" +msgstr "”delete” ei ole sallittu kohteessa SYMTAB" #: awkgram.y:990 awkgram.y:1039 msgid "`delete' is not allowed with FUNCTAB" -msgstr "" +msgstr "”delete” ei ole sallittu kohteessa FUNCTAB" #: awkgram.y:1024 awkgram.y:1028 msgid "`delete(array)' is a non-portable tawk extension" @@ -234,7 +223,7 @@ msgstr "epäsuorat funktiokutsut ovat gawk-laajennus" #: awkgram.y:1620 #, c-format msgid "can not use special variable `%s' for indirect function call" -msgstr "ei voi käyttää erikoismuuttujaa ”%s” epäsuoralle funktiokutsulle" +msgstr "erikoismuuttujan ”%s” käyttö epäsuoralle funktiokutsulle epäonnistui" #: awkgram.y:1698 msgid "invalid subscript expression" @@ -242,11 +231,11 @@ msgstr "virheellinen indeksointilauseke" #: awkgram.y:2024 awkgram.y:2044 gawkapi.c:206 gawkapi.c:224 msg.c:119 msgid "warning: " -msgstr "varoitus:" +msgstr "varoitus: " #: awkgram.y:2042 gawkapi.c:192 gawkapi.c:221 msg.c:151 msgid "fatal: " -msgstr "tuhoisa:" +msgstr "tuhoisa: " #: awkgram.y:2092 msgid "unexpected newline or end of string" @@ -256,12 +245,12 @@ msgstr "odottamaton rivinvaihto tai merkkijonon loppu" #: debug.c:2792 debug.c:5040 #, c-format msgid "can't open source file `%s' for reading (%s)" -msgstr "ei voi avata lähdetiedostoa ”%s” lukemista varten (%s)" +msgstr "lähdetiedoston ”%s” avaaminen lukemista varten (%s) epäonnistui" #: awkgram.y:2360 awkgram.y:2485 -#, fuzzy, c-format +#, c-format msgid "can't open shared library `%s' for reading (%s)" -msgstr "ei voi avata lähdetiedostoa ”%s” lukemista varten (%s)" +msgstr "jaetun kirjaston ”%s” avaaminen lukemista varten (%s) epäonnistui" #: awkgram.y:2362 awkgram.y:2436 awkgram.y:2486 builtin.c:130 debug.c:5191 msgid "reason unknown" @@ -270,7 +259,7 @@ msgstr "syy tuntematon" #: awkgram.y:2371 awkgram.y:2395 #, c-format msgid "can't include `%s' and use it as a program file" -msgstr "" +msgstr "kohteen ”%s” sisällyttäminen ja käyttö ohjelmatiedostona epäonnistui" #: awkgram.y:2384 #, c-format @@ -278,9 +267,9 @@ msgid "already included source file `%s'" msgstr "on jo sisällytetty lähdetiedostoon ”%s”" #: awkgram.y:2385 -#, fuzzy, c-format +#, c-format msgid "already loaded shared library `%s'" -msgstr "on jo sisällytetty lähdetiedostoon ”%s”" +msgstr "jaettu kirjasto ”%s” on jo ladattu" #: awkgram.y:2420 msgid "@include is a gawk extension" @@ -291,14 +280,12 @@ msgid "empty filename after @include" msgstr "tyhjä tiedostonimi @include:n jälkeen" #: awkgram.y:2470 -#, fuzzy msgid "@load is a gawk extension" -msgstr "@include on gawk-laajennus" +msgstr "@load on gawk-laajennus" #: awkgram.y:2476 -#, fuzzy msgid "empty filename after @load" -msgstr "tyhjä tiedostonimi @include:n jälkeen" +msgstr "tyhjä tiedostonimi @load:n jälkeen" #: awkgram.y:2610 msgid "empty program text on command line" @@ -307,7 +294,7 @@ msgstr "tyhjä ohjelmateksti komentorivillä" #: awkgram.y:2725 #, c-format msgid "can't read sourcefile `%s' (%s)" -msgstr "ei voi lukea lähdetiedostoa ”%s” (%s)" +msgstr "lähdetiedoston ”%s” (%s) lukeminen epäonnistui" #: awkgram.y:2736 #, c-format @@ -320,8 +307,7 @@ msgstr "lähdetiedoston lopussa ei ole rivinvaihtoa" #: awkgram.y:3018 msgid "unterminated regexp ends with `\\' at end of file" -msgstr "" -"päättämätön säännöllinen lauseke loppuu ”\\”-merkkeihin tiedoston lopussa" +msgstr "päättämätön säännöllinen lauseke loppuu ”\\”-merkkeihin tiedoston lopussa" #: awkgram.y:3042 #, c-format @@ -390,7 +376,7 @@ msgstr "”%s” on gawk-laajennus" #: awkgram.y:3631 #, c-format msgid "POSIX does not allow `%s'" -msgstr "POSIX ei salli operaattori ”%s”" +msgstr "POSIX ei salli operaattoria ”%s”" #: awkgram.y:3639 #, c-format @@ -409,9 +395,7 @@ msgstr "%d on virheellinen argumenttilukumäärä operaattorille %s" #: awkgram.y:3798 #, c-format msgid "%s: string literal as last arg of substitute has no effect" -msgstr "" -"%s: merkkijonoliteraalilla ei ole vaikutusta korvauksen viimeisenä " -"argumenttina" +msgstr "%s: merkkijonoliteraalilla ei ole vaikutusta korvauksen viimeisenä argumenttina" #: awkgram.y:3803 #, c-format @@ -434,74 +418,69 @@ msgstr "dcgettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta" msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore" msgstr "dcngettext(_\"...\")-käyttö on virheellinen: poista alaviiva alusta" -#: awkgram.y:3992 -#, fuzzy -msgid "index: regexp constant as second argument is not allowed" -msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono" - -#: awkgram.y:4045 +#: awkgram.y:4039 #, c-format msgid "function `%s': parameter `%s' shadows global variable" msgstr "funktio ”%s”: parametri ”%s” varjostaa yleismuuttujaa" -#: awkgram.y:4102 debug.c:4021 debug.c:4064 debug.c:5189 +#: awkgram.y:4096 debug.c:4021 debug.c:4064 debug.c:5189 #, c-format msgid "could not open `%s' for writing (%s)" -msgstr "ei voitu avata tiedostoa ”%s” kirjoittamista varten (%s)" +msgstr "tiedoston ”%s” avaaminen kirjoittamista varten (%s) epäonnistui" -#: awkgram.y:4103 +#: awkgram.y:4097 msgid "sending variable list to standard error" msgstr "lähetetään muuttujaluettelo vakiovirheeseen" -#: awkgram.y:4111 +#: awkgram.y:4105 #, c-format msgid "%s: close failed (%s)" msgstr "%s: sulkeminen epäonnistui (%s)" -#: awkgram.y:4136 +#: awkgram.y:4130 msgid "shadow_funcs() called twice!" msgstr "shadow_funcs() kutsuttu kahdesti!" -#: awkgram.y:4144 +#: awkgram.y:4138 msgid "there were shadowed variables." msgstr "siellä oli varjostettuja muuttujia." -#: awkgram.y:4215 +#: awkgram.y:4209 #, c-format msgid "function name `%s' previously defined" msgstr "funktionimi ”%s” on jo aikaisemmin määritelty" -#: awkgram.y:4261 +#: awkgram.y:4255 #, c-format msgid "function `%s': can't use function name as parameter name" -msgstr "funktio ”%s”: ei voi käyttää funktionimeä parametrinimenä" +msgstr "funktio ”%s”: funktionimen käyttö parametrinimenä epäonnistui" -#: awkgram.y:4264 +#: awkgram.y:4258 #, 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" +msgstr "funktio ”%s”: erikoismuuttujan ”%s” käyttö funktioparametrina epäonnistui" -#: awkgram.y:4272 +#: awkgram.y:4266 #, c-format msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d" msgstr "funktio ”%s”: parametri #%d, ”%s”, samanlainen parametri #%d" -#: awkgram.y:4366 awkgram.y:4372 +#: awkgram.y:4360 awkgram.y:4366 #, c-format msgid "function `%s' called but never defined" msgstr "funktiota ”%s” kutsuttiin, mutta sitä ei ole koskaan määritelty" -#: awkgram.y:4376 +#: awkgram.y:4370 #, c-format msgid "function `%s' defined but never called directly" msgstr "funktio ”%s” määriteltiin, mutta sitä ei ole koskaan kutsuttu suoraan" -#: awkgram.y:4408 +#: awkgram.y:4402 #, c-format msgid "regexp constant for parameter #%d yields boolean value" msgstr "säännöllisen lausekkeen vakio parametrille #%d antaa boolean-arvon" -#: awkgram.y:4467 +#: awkgram.y:4461 #, c-format msgid "" "function `%s' called with space between name and `(',\n" @@ -510,11 +489,11 @@ msgstr "" "funktio ”%s” kutsuttu välilyönnillä nimen ja ”(”-merkin\n" "välillä, tai käytetty muuttujana tai taulukkona" -#: awkgram.y:4703 +#: awkgram.y:4697 msgid "division by zero attempted" msgstr "nollalla jakoa yritettiin" -#: awkgram.y:4712 +#: awkgram.y:4706 #, c-format msgid "division by zero attempted in `%%'" msgstr "jakoa nollalla yritettiin operaattorissa ”%%”" @@ -541,16 +520,12 @@ msgstr "exp: argumentti %g on lukualueen ulkopuolella" #: builtin.c:224 #, 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" +msgstr "fflush: tyhjentäminen epäonnistui: putki ”%s” avattu lukemista varten, ei kirjoittamiseen" #: builtin.c:227 #, 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" +msgstr "fflush: tyhjentäminen epäonnistui: tiedosto ”%s” avattu lukemista varten, ei kirjoittamiseen" #: builtin.c:239 #, c-format @@ -620,9 +595,7 @@ msgstr "kohtalokas: argumenttilukumäärän argumentilla ”$” on oltava > 0" #: builtin.c:914 #, 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ä" +msgstr "kohtalokas: argumenttilukumäärä %ld on suurempi kuin toimitettujen argumenttien lukumäärä" #: builtin.c:918 msgid "fatal: `$' not permitted after period in format" @@ -630,9 +603,7 @@ msgstr "kohtalokas: ”$”-argumentti ei ole sallittu pisteen jälkeen muodossa #: builtin.c:934 msgid "fatal: no `$' supplied for positional field width or precision" -msgstr "" -"kohtalokas: ei ”$”-argumenttia tarjottu sijantikenttäleveydelle tai " -"tarkkuudelle" +msgstr "kohtalokas: ei ”$”-argumenttia tarjottu sijantikenttäleveydelle tai tarkkuudelle" #: builtin.c:1006 msgid "`l' is meaningless in awk formats; ignored" @@ -666,8 +637,7 @@ msgstr "[s]printf: arvo %g on lukualueen ulkopuolella ”%%%c”-muodolle" #: builtin.c:1537 #, c-format msgid "ignoring unknown format specifier character `%c': no argument converted" -msgstr "" -"ohitetaan tuntematon muotoargumenttimerkki ”%c”: ei muunnettu argumenttia" +msgstr "ohitetaan tuntematon muotoargumenttimerkki ”%c”: ei muunnettu argumenttia" #: builtin.c:1542 msgid "fatal: not enough arguments to satisfy format string" @@ -686,9 +656,8 @@ msgid "too many arguments supplied for format string" msgstr "muotomerkkijonoon toimitettu liian monta argumenttia" #: builtin.c:1610 -#, fuzzy msgid "sprintf: no arguments" -msgstr "printf: ei argumentteja" +msgstr "sprintf: ei argumentteja" #: builtin.c:1633 builtin.c:1644 msgid "printf: no arguments" @@ -721,8 +690,7 @@ msgstr "substr: typistetään pituus %g, joka ei ole kokonaisluku" #: builtin.c:1736 #, 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" +msgstr "substr: pituus %g liian suuri merkkijononindeksointiin, typistetään arvoon %g" #: builtin.c:1748 #, c-format @@ -745,16 +713,12 @@ msgstr "substr: aloitusindeksi %g on merkkijonon lopun jälkeen" #: builtin.c:1802 #, c-format -msgid "" -"substr: length %g at start index %g exceeds length of first argument (%lu)" -msgstr "" -"substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden " -"(%lu)" +msgid "substr: length %g at start index %g exceeds length of first argument (%lu)" +msgstr "substr: pituus %g alkuindeksissä %g ylittää ensimmäisen argumentin pituuden (%lu)" #: builtin.c:1876 msgid "strftime: format value in PROCINFO[\"strftime\"] has numeric type" -msgstr "" -"strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi" +msgstr "strftime: muotoarvolla kohteessa PROCINFO[\"strftime\"] on numerotyyppi" #: builtin.c:1899 msgid "strftime: received non-numeric second argument" @@ -762,9 +726,7 @@ msgstr "strftime: toinen vastaanotettu argumentti ei ole numeerinen" #: builtin.c:1903 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" +msgstr "strftime: toinen argumentti on pienempi kuin 0 tai liian suuri time_t-rakenteeseen" #: builtin.c:1910 msgid "strftime: received non-string first argument" @@ -784,7 +746,7 @@ msgstr "mktime: vähintään yksi arvoista on oletuslukualueen ulkopuolella" #: builtin.c:2035 msgid "'system' function not allowed in sandbox mode" -msgstr "”system”-funktio ei ole sallittu hiekkalaatikkotilassa" +msgstr "’system’-funktio ei ole sallittu hiekkalaatikkotilassa" #: builtin.c:2040 msgid "system: received non-string argument" @@ -840,19 +802,19 @@ msgid "lshift: received non-numeric second argument" msgstr "lshift: toinen vastaanotettu argumentti ei ole numeerinen" #: builtin.c:3011 -#, fuzzy, c-format +#, c-format msgid "lshift(%f, %f): negative values will give strange results" -msgstr "lshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "lshift(%f, %f): negatiiviset arvot antavat outoja tuloksia" #: builtin.c:3013 -#, fuzzy, c-format +#, c-format msgid "lshift(%f, %f): fractional values will be truncated" -msgstr "lshift(%lf, %lf): jaosarvot typistetään" +msgstr "lshift(%f, %f): jaosarvot typistetään" #: builtin.c:3015 -#, fuzzy, c-format +#, c-format msgid "lshift(%f, %f): too large shift value will give strange results" -msgstr "lshift(%lf, %lf): liian suuri siirrosarvo antaa outoja tuloksia" +msgstr "lshift(%f, %f): liian suuri siirrosarvo antaa outoja tuloksia" #: builtin.c:3040 msgid "rshift: received non-numeric first argument" @@ -863,78 +825,75 @@ msgid "rshift: received non-numeric second argument" msgstr "rshift: toinen vastaanotettu argumentti ei ole numeerinen" #: builtin.c:3048 -#, fuzzy, c-format +#, c-format msgid "rshift(%f, %f): negative values will give strange results" -msgstr "rshift(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "rshift(%f, %f): negatiiviset arvot antavat outoja tuloksia" #: builtin.c:3050 -#, fuzzy, c-format +#, c-format msgid "rshift(%f, %f): fractional values will be truncated" -msgstr "rshift(%lf, %lf): jaosarvot typistetään" +msgstr "rshift(%f, %f): jaosarvot typistetään" #: builtin.c:3052 -#, fuzzy, c-format +#, c-format msgid "rshift(%f, %f): too large shift value will give strange results" -msgstr "rshift(%lf, %lf): liian suuri siirrosarvo antaa outoja tuloksia" +msgstr "rshift(%f, %f): liian suuri siirrosarvo antaa outoja tuloksia" #: builtin.c:3077 mpfr.c:968 -#, fuzzy msgid "and: called with less than two arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "and: kutsuttu vähemmällä kuin kahdella argumentilla" #: builtin.c:3082 -#, fuzzy, c-format +#, c-format msgid "and: argument %d is non-numeric" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "and: argumentti %d ei ole numeeraaliargumentti" #: builtin.c:3086 -#, fuzzy, c-format +#, c-format msgid "and: argument %d negative value %g will give strange results" -msgstr "and(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "and: argumentin %d negatiivinen arvo %g antaa outoja tuloksia" #: builtin.c:3109 mpfr.c:1000 -#, fuzzy msgid "or: called with less than two arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "or: kutsuttu vähemmällä kuin kahdella argumentilla" #: builtin.c:3114 -#, fuzzy, c-format +#, c-format msgid "or: argument %d is non-numeric" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "or: argumentti %d ei ole numeraaliargumentti" #: builtin.c:3118 -#, fuzzy, c-format +#, c-format msgid "or: argument %d negative value %g will give strange results" -msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "or: argumentin %d negatiivinen arvo %g antaa outoja tuloksia" #: builtin.c:3140 mpfr.c:1031 -#, fuzzy msgid "xor: called with less than two arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "xor: kutsuttu vähemmällä kuin kahdella argumentilla" #: builtin.c:3146 -#, fuzzy, c-format +#, c-format msgid "xor: argument %d is non-numeric" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "xor: argumentti %d ei ole numeraaliargumentti" #: builtin.c:3150 -#, fuzzy, c-format +#, c-format msgid "xor: argument %d negative value %g will give strange results" -msgstr "xor(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "xor: argumentin %d negatiivinen arvo %g antaa outoja tuloksia" #: builtin.c:3175 mpfr.c:787 msgid "compl: received non-numeric argument" msgstr "compl: vastaanotettu argumentti ei ole numeerinen" #: builtin.c:3181 -#, fuzzy, c-format +#, c-format msgid "compl(%f): negative value will give strange results" -msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "compl(%f): negatiivinen arvo antaa outoja tuloksia" #: builtin.c:3183 -#, fuzzy, c-format +#, c-format msgid "compl(%f): fractional value will be truncated" -msgstr "compl(%lf): jaosarvo typistetään" +msgstr "compl(%f): jaosarvo typistetään" #: builtin.c:3352 #, c-format @@ -944,853 +903,843 @@ msgstr "dcgettext: ”%s” ei ole kelvollinen paikallinen kategoria" #: command.y:225 #, c-format msgid "Type (g)awk statement(s). End with the command \"end\"\n" -msgstr "" +msgstr "Kirjoita (g)awk-lause(et). Lopeta komennolla \"end\"\n" #: command.y:289 -#, fuzzy, c-format +#, c-format msgid "invalid frame number: %d" -msgstr "Virheellinen lukualueen loppu" +msgstr "virheellinen kehysnumero: %d" #: command.y:295 -#, fuzzy, c-format +#, c-format msgid "info: invalid option - \"%s\"" -msgstr "%s: virheellinen valitsin -- ’%c’\n" +msgstr "info: virheellinen valitsin -- ”%s”" #: command.y:321 #, c-format msgid "source \"%s\": already sourced." -msgstr "" +msgstr "source ”%s”: on jo merkitty lähteeksi." #: command.y:326 #, c-format msgid "save \"%s\": command not permitted." -msgstr "" +msgstr "save ”%s”: komento ei ole sallittu." #: command.y:339 msgid "Can't use command `commands' for breakpoint/watchpoint commands" -msgstr "" +msgstr "Komennon ”commands” käyttö breakpoint/watchpoint-komentoja varten epäonnistui" #: command.y:341 msgid "no breakpoint/watchpoint has been set yet" -msgstr "" +msgstr "yhtään breakpoint/watchpoint -kohdetta ei ole vielä asetettu" #: command.y:343 msgid "invalid breakpoint/watchpoint number" -msgstr "" +msgstr "virheellinen breakpoint/watchpoint-numero" #: command.y:348 #, c-format msgid "Type commands for when %s %d is hit, one per line.\n" -msgstr "" +msgstr "Kirjoita komennot, kun %s %d osui, yksi per rivi.\n" #: command.y:350 #, c-format msgid "End with the command \"end\"\n" -msgstr "" +msgstr "Lopeta komennolla ”end”\n" #: command.y:357 msgid "`end' valid only in command `commands' or `eval'" -msgstr "" +msgstr "”end” on kelvollinen vain komennoissa ”commands” tai ”eval”" #: command.y:367 msgid "`silent' valid only in command `commands'" -msgstr "" +msgstr "”silent” on kelvollinen vain komennossa ”commands”" #: command.y:373 -#, fuzzy, c-format +#, c-format msgid "trace: invalid option - \"%s\"" -msgstr "%s: virheellinen valitsin -- ’%c’\n" +msgstr "trace: virheellinen valitsin -- ”%s”" #: command.y:387 msgid "condition: invalid breakpoint/watchpoint number" -msgstr "" +msgstr "condition: virheellinen breakpoint/watchpoint-numero" #: command.y:449 -#, fuzzy msgid "argument not a string" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "argumentti ei ole merkkijono" #: command.y:459 command.y:464 #, c-format msgid "option: invalid parameter - \"%s\"" -msgstr "" +msgstr "option: virheellinen parametri - ”%s”" #: command.y:474 #, c-format msgid "no such function - \"%s\"" -msgstr "" +msgstr "tuntematon funktio - ”%s”" #: command.y:531 -#, fuzzy, c-format +#, c-format msgid "enable: invalid option - \"%s\"" -msgstr "%s: virheellinen valitsin -- ’%c’\n" +msgstr "enable: virheellinen valitsin -- ”%s”" #: command.y:597 -#, fuzzy, c-format +#, c-format msgid "invalid range specification: %d - %d" -msgstr "Virheellinen lukualueen loppu" +msgstr "virheellinen lukualuemäärittely: %d - %d" #: command.y:659 -#, fuzzy msgid "non-numeric value for field number" -msgstr "tuntematon arvo kenttämääritteelle: %d\n" +msgstr "ei-numeerinen arvo kenttänumerolle" #: command.y:680 command.y:687 msgid "non-numeric value found, numeric expected" -msgstr "" +msgstr "löytyi ei-numeerinen arvo, odotettiin numeraalia" #: command.y:712 command.y:718 msgid "non-zero integer value" -msgstr "" +msgstr "nollasta poikkeava kokonaislukuarvo" #: command.y:817 -msgid "" -"backtrace [N] - print trace of all or N innermost (outermost if N < 0) " -"frames." -msgstr "" +msgid "backtrace [N] - print trace of all or N innermost (outermost if N < 0) frames." +msgstr "backtrace [N] - tulosta kaikkien tai N:n sisimmäisen (ulommaisin, jos N < 0) kehyksen jäljet." #: command.y:819 -msgid "" -"break [[filename:]N|function] - set breakpoint at the specified location." -msgstr "" +msgid "break [[filename:]N|function] - set breakpoint at the specified location." +msgstr "break [[filename:]N|function] - aseta breakpoint määriteltyyn sijaintiin." #: command.y:821 msgid "clear [[filename:]N|function] - delete breakpoints previously set." -msgstr "" +msgstr "clear [[filename:]N|function] - poista aiemmin asetetut breakpoint-kohdat." #: command.y:823 -msgid "" -"commands [num] - starts a list of commands to be executed at a breakpoint" -"(watchpoint) hit." -msgstr "" +msgid "commands [num] - starts a list of commands to be executed at a breakpoint(watchpoint) hit." +msgstr "commands [num] - aloittaa komentojen luettelon, joka suoritetaan keskeytyskohta(watchpoint)osumassa." #: command.y:825 msgid "condition num [expr] - set or clear breakpoint or watchpoint condition." -msgstr "" +msgstr "condition num [expr] - aseta tai nollaa keskeytyskohta- tai vahtikohtaehdot." #: command.y:827 msgid "continue [COUNT] - continue program being debugged." -msgstr "" +msgstr "continue [COUNT] - continue program being debugged." #: command.y:829 msgid "delete [breakpoints] [range] - delete specified breakpoints." -msgstr "" +msgstr "delete [keskeytyskohdat] [lukualue] - poista määritellyt keskeytyskohdat." #: command.y:831 msgid "disable [breakpoints] [range] - disable specified breakpoints." -msgstr "" +msgstr "disable [keskeytyskohdat] [lukualue] - ota pois käytöstä määritellyt keskeytyskohdat." #: command.y:833 msgid "display [var] - print value of variable each time the program stops." -msgstr "" +msgstr "display [muuttuja] - tulosta muuttujan arvo joka kerta kun ohjelma pysähtyy." #: command.y:835 msgid "down [N] - move N frames down the stack." -msgstr "" +msgstr "down [N] - siirrä N kehystä alaspäin pinossa." #: command.y:837 msgid "dump [filename] - dump instructions to file or stdout." -msgstr "" +msgstr "dump [tiedostonimi] - vedosta käskyt tiedostoon tai vakiotulosteeseen." #: command.y:839 msgid "enable [once|del] [breakpoints] [range] - enable specified breakpoints." -msgstr "" +msgstr "enable [once|del] [keskeytyskohdat] [lukualue] - ota käyttöön määritellyt keskeytyskohdat." #: command.y:841 msgid "end - end a list of commands or awk statements." -msgstr "" +msgstr "end - lopeta komentojen tai awk-lauseiden luottelo." #: command.y:843 msgid "eval stmt|[p1, p2, ...] - evaluate awk statement(s)." -msgstr "" +msgstr "eval stmt|[p1, p2, ...] - evaloi awk-lauseet." #: command.y:845 msgid "finish - execute until selected stack frame returns." -msgstr "" +msgstr "finish - suorita kunnes palautetaan valittu pinokehys." #: command.y:847 msgid "frame [N] - select and print stack frame number N." -msgstr "" +msgstr "frame [N] - valitse ja tulosta pinokehys numero N." #: command.y:849 msgid "help [command] - print list of commands or explanation of command." -msgstr "" +msgstr "help [komento] - tulosta komentoluettelo tai komennon selitys." #: command.y:851 msgid "ignore N COUNT - set ignore-count of breakpoint number N to COUNT." -msgstr "" +msgstr "ignore N COUNT - aseta keskeytyskohdan ignore-count numero N arvoon COUNT." #: command.y:853 -msgid "" -"info topic - source|sources|variables|functions|break|frame|args|locals|" -"display|watch." -msgstr "" +msgid "info topic - source|sources|variables|functions|break|frame|args|locals|display|watch." +msgstr "info aihe - source|sources|variables|functions|break|frame|args|locals|display|watch." #: command.y:855 msgid "list [-|+|[filename:]lineno|function|range] - list specified line(s)." -msgstr "" +msgstr "list [-|+|[tiedostonimi:]rivinumero|funktio|lukualue] - luettele määritellyt rivit." #: command.y:857 msgid "next [COUNT] - step program, proceeding through subroutine calls." -msgstr "" +msgstr "next [COUNT] - askella ohjelmaa, etene alirutiinikutsujen kautta." #: command.y:859 -msgid "" -"nexti [COUNT] - step one instruction, but proceed through subroutine calls." -msgstr "" +msgid "nexti [COUNT] - step one instruction, but proceed through subroutine calls." +msgstr "nexti [COUNT] - askella yksi käsky, mutta etene alirutiinikutsujen kautta." #: command.y:861 msgid "option [name[=value]] - set or display debugger option(s)." -msgstr "" +msgstr "option [nimi[=arvo]] - aseta tai näytä vianjäljittäjävalitsimet." #: command.y:863 msgid "print var [var] - print value of a variable or array." -msgstr "" +msgstr "print var [muuttuja] - tulosta muutujan tai taulukon arvo." #: command.y:865 msgid "printf format, [arg], ... - formatted output." -msgstr "" +msgstr "printf muoto, [argumentti], ... - muotoiltu tuloste." #: command.y:867 msgid "quit - exit debugger." -msgstr "" +msgstr "quit - poistu vianjäljittäjästä." #: command.y:869 msgid "return [value] - make selected stack frame return to its caller." -msgstr "" +msgstr "return [arvo] - tekee valitun pinokehyksen paluun sen kutsujalle." #: command.y:871 msgid "run - start or restart executing program." -msgstr "" +msgstr "run - käynnistä tai uudelleenkäynnistä ohjelman suoritus." #: command.y:874 msgid "save filename - save commands from the session to file." -msgstr "" +msgstr "save tiedostonimi - tallenna komennot istunnosta tiedostoon." #: command.y:877 msgid "set var = value - assign value to a scalar variable." -msgstr "" +msgstr "set var = arvo - liitä arvo skalaarimuuttujaan." #: command.y:879 -msgid "" -"silent - suspends usual message when stopped at a breakpoint/watchpoint." -msgstr "" +msgid "silent - suspends usual message when stopped at a breakpoint/watchpoint." +msgstr "silent - pysäyttää tavallisen viestin kun pysähdytään katkaisukohdassa/vahtipisteessä." #: command.y:881 msgid "source file - execute commands from file." -msgstr "" +msgstr "source file - suorita komennot tiedostosta." #: command.y:883 msgid "step [COUNT] - step program until it reaches a different source line." -msgstr "" +msgstr "step [COUNT] - askella ohjelmaa, kunnes se saavuttaa eri lähdekoodirivin." #: command.y:885 msgid "stepi [COUNT] - step one instruction exactly." -msgstr "" +msgstr "stepi [COUNT] - askella tarkalleen yksi käsky." #: command.y:887 msgid "tbreak [[filename:]N|function] - set a temporary breakpoint." -msgstr "" +msgstr "tbreak [[tiedostonimi:]N|funktio] - aseta tilapäinen keskeytyskohta." #: command.y:889 msgid "trace on|off - print instruction before executing." -msgstr "" +msgstr "trace on|off - tulosta käsky ennen suoritusta." #: command.y:891 msgid "undisplay [N] - remove variable(s) from automatic display list." -msgstr "" +msgstr "undisplay [N] - poista muuttuja(t) automaattisesta näyttöluettelosta." #: command.y:893 -msgid "" -"until [[filename:]N|function] - execute until program reaches a different " -"line or line N within current frame." -msgstr "" +msgid "until [[filename:]N|function] - execute until program reaches a different line or line N within current frame." +msgstr "until [[tiedostonimi:]N|funktio] - suorita kunnes ohjelma tavoittaa eri rivin tai rivin N nykyisen kehyksen sisällä." #: command.y:895 msgid "unwatch [N] - remove variable(s) from watch list." -msgstr "" +msgstr "unwatch [N] - poista muuttuja(t) vahtiluettelosta." #: command.y:897 msgid "up [N] - move N frames up the stack." -msgstr "" +msgstr "up [N] - siirrä N kehystä ylöspäin pinossa." #: command.y:899 msgid "watch var - set a watchpoint for a variable." -msgstr "" +msgstr "watch muuttuja - aseta vahtikohta muuttujalle." #: command.y:1011 debug.c:395 msg.c:128 #, c-format msgid "error: " -msgstr "virhe:" +msgstr "virhe: " #: command.y:1051 -#, fuzzy, c-format +#, c-format msgid "can't read command (%s)\n" -msgstr "ei voi uudelleenohjata putkesta ”%s” (%s)" +msgstr "komennon (%s) lukeminen epäonnistui\n" #: command.y:1065 -#, fuzzy, c-format +#, c-format msgid "can't read command (%s)" -msgstr "ei voi uudelleenohjata putkesta ”%s” (%s)" +msgstr "komennon (%s) lukeminen epäonnistui" #: command.y:1116 -#, fuzzy msgid "invalid character in command" -msgstr "Virheellinen merkkiluokkanimi" +msgstr "virheellinen merkki komennossa" #: command.y:1152 #, c-format msgid "unknown command - \"%.*s\", try help" -msgstr "" +msgstr "tuntematon komento - \"%.*s\", kokeile käskyä help" #: command.y:1222 #, c-format msgid "%s" -msgstr "" +msgstr "%s" #: command.y:1284 -#, fuzzy msgid "invalid character" -msgstr "Virheellinen vertailumerkki" +msgstr "virheellinen merkki" #: command.y:1455 #, c-format msgid "undefined command: %s\n" -msgstr "" +msgstr "määrittelemätön komento: %s\n" #: debug.c:246 msgid "set or show the number of lines to keep in history file." -msgstr "" +msgstr "aseta tai näytä historiatiedostossa säilytettävien rivien lukumäärä." #: debug.c:248 msgid "set or show the list command window size." -msgstr "" +msgstr "aseta tai näytä luettelokomentoikkunan koko." #: debug.c:250 msgid "set or show gawk output file." -msgstr "" +msgstr "aseta tai näytä gawk-tulostetiedosto." #: debug.c:252 msgid "set or show debugger prompt." -msgstr "" +msgstr "aseta tai näytä vianjäljittäjäkehote." #: debug.c:254 msgid "(un)set or show saving of command history (value=on|off)." -msgstr "" +msgstr "aseta, poista asetus tai näytä komentohistoriatallennus (value=on|off)." #: debug.c:256 msgid "(un)set or show saving of options (value=on|off)." -msgstr "" +msgstr "aseta, poista asetus tai näytä valitsintallennus (value=on|off)." #: debug.c:258 msgid "(un)set or show instruction tracing (value=on|off)." -msgstr "" +msgstr "aseta, poista asetus tai näytä käskyjäljitys (value=on|off)." #: debug.c:339 msgid "program not running." -msgstr "" +msgstr "ohjelma ei ole käynnissä." #: debug.c:442 debug.c:597 -#, fuzzy, c-format +#, c-format msgid "can't read source file `%s' (%s)" -msgstr "ei voi lukea lähdetiedostoa ”%s” (%s)" +msgstr "lähdetiedoston ”%s” (%s) lukeminen epäonnistui" #: debug.c:447 -#, fuzzy, c-format +#, c-format msgid "source file `%s' is empty.\n" -msgstr "lähdetiedosto ”%s” on tyhjä" +msgstr "lähdetiedosto ”%s” on tyhjä.\n" #: debug.c:474 msgid "no current source file." -msgstr "" +msgstr "ei nykyistä lähdekooditiedostoa." #: debug.c:499 -#, fuzzy, c-format +#, c-format msgid "cannot find source file named `%s' (%s)" -msgstr "ei voi lukea lähdetiedostoa ”%s” (%s)" +msgstr "lähdetiedostoa nimeltä ”%s” (%s) ei kyetä lukemaan" #: debug.c:523 #, c-format msgid "WARNING: source file `%s' modified since program compilation.\n" -msgstr "" +msgstr "VAROITUS: lähdekooditiedostoa ”%s” on muokattu ohjelman kääntämisen jälkeen.\n" #: debug.c:542 #, c-format msgid "line number %d out of range; `%s' has %d lines" -msgstr "" +msgstr "rivinumero %d lukualueen ulkopuolella; kohteessa ”%s” on %d riviä" #: debug.c:602 -#, fuzzy, c-format +#, c-format msgid "unexpected eof while reading file `%s', line %d" -msgstr "odottamaton rivinvaihto tai merkkijonon loppu" +msgstr "odottamaton eof-tiedostonloppumerkki luettaessa tiedostoa ”%s”, rivi %d" #: debug.c:611 #, c-format msgid "source file `%s' modified since start of program execution" -msgstr "" +msgstr "lähdekooditiedostoa ”%s” on muokattu ohjelman suorituksen aloituksen jälkeen" #: debug.c:723 -#, fuzzy, c-format +#, c-format msgid "Current source file: %s\n" -msgstr "on jo sisällytetty lähdetiedostoon ”%s”" +msgstr "Nykyinen lähdetiedosto: %s\n" #: debug.c:724 #, c-format msgid "Number of lines: %d\n" -msgstr "" +msgstr "Rivien lukumäärä: %d\n" #: debug.c:731 #, c-format msgid "Source file (lines): %s (%d)\n" -msgstr "" +msgstr "Lähdetiedosto (riviä): %s (%d)\n" #: debug.c:745 msgid "" "Number Disp Enabled Location\n" "\n" msgstr "" +"Numero Disp Käytössä Sijainti\n" +"\n" #: debug.c:756 #, c-format msgid "\tno of hits = %ld\n" -msgstr "" +msgstr "\tosumien lukumäärä = %ld\n" #: debug.c:758 #, c-format msgid "\tignore next %ld hit(s)\n" -msgstr "" +msgstr "\tohita seuraavat %ld osumaa\n" #: debug.c:760 debug.c:900 #, c-format msgid "\tstop condition: %s\n" -msgstr "" +msgstr "\tpysähtymisehto: %s\n" #: debug.c:762 debug.c:902 msgid "\tcommands:\n" -msgstr "" +msgstr "\tkomennot:\n" #: debug.c:784 #, c-format msgid "Current frame: " -msgstr "" +msgstr "Nykyinen kehys: " #: debug.c:787 #, c-format msgid "Called by frame: " -msgstr "" +msgstr "Kehyksen kutsuma: " #: debug.c:791 #, c-format msgid "Caller of frame: " -msgstr "" +msgstr "Kehyksen kutsuja: " #: debug.c:809 #, c-format msgid "None in main().\n" -msgstr "" +msgstr "Funktiossa main() ei ole mitään.\n" #: debug.c:839 -#, fuzzy msgid "No arguments.\n" -msgstr "printf: ei argumentteja" +msgstr "Ei argumentteja.\n" #: debug.c:840 msgid "No locals.\n" -msgstr "" +msgstr "Ei paikallisia muuttujia.\n" #: debug.c:848 msgid "" "All defined variables:\n" "\n" msgstr "" +"Kaikki määritellyt muuttujat:\n" +"\n" #: debug.c:858 msgid "" "All defined functions:\n" "\n" msgstr "" +"Kaikki määritellyt funktiot.\n" +"\n" #: debug.c:877 msgid "" "Auto-display variables:\n" "\n" msgstr "" +"Automaattisesti näytettävät muuttujat:\n" +"\n" #: debug.c:880 msgid "" "Watch variables:\n" "\n" msgstr "" +"Vahtimuuttujia:\n" +"\n" #: debug.c:1020 -#, fuzzy, c-format +#, c-format msgid "no symbol `%s' in current context\n" -msgstr "”exit” ei voida kutsua nykyisessä asiayhteydessä" +msgstr "symbolia ”%s” ei löydy nykyisestä asiayhteydestä\n" #: debug.c:1032 debug.c:1418 -#, fuzzy, c-format +#, c-format msgid "`%s' is not an array\n" -msgstr "”%s” ei ole laillinen muuttujanimi" +msgstr "”%s” ei ole taulukko\n" #: debug.c:1046 -#, fuzzy, c-format +#, c-format msgid "$%ld = uninitialized field\n" -msgstr "viite alustamattomaan kenttään ”$%d”" +msgstr "$%ld = alustamaton kenttä\n" #: debug.c:1067 -#, fuzzy, c-format +#, c-format msgid "array `%s' is empty\n" -msgstr "data-tiedosto ”%s” on tyhjä" +msgstr "taulukko ”%s” on tyhjä\n" #: debug.c:1110 debug.c:1162 -#, fuzzy, c-format +#, c-format msgid "[\"%s\"] not in array `%s'\n" -msgstr "delete: indeksi ”%s” ei ole taulukossa ”%s”" +msgstr "[”%s”] ei ole taulukossa ”%s”\n" #: debug.c:1166 #, c-format msgid "`%s[\"%s\"]' is not an array\n" -msgstr "" +msgstr "”%s[\"%s\"]” ei ole taulukko\n" #: debug.c:1227 debug.c:4949 -#, fuzzy, c-format +#, c-format msgid "`%s' is not a scalar variable" -msgstr "”%s” ei ole laillinen muuttujanimi" +msgstr "”%s” ei ole skalaarimuuttuja" #: debug.c:1249 debug.c:4979 -#, fuzzy, c-format +#, c-format msgid "attempt to use array `%s[\"%s\"]' in a scalar context" -msgstr "yritettiin käyttää taulukkoa ”%s[\"%.*s\"]” skalaarikontekstissa" +msgstr "yritettiin käyttää taulukkoa ”%s[\"%s\"]” skalaarikontekstissa" #: debug.c:1271 debug.c:4990 -#, fuzzy, c-format +#, c-format msgid "attempt to use scalar `%s[\"%s\"]' as array" -msgstr "yritettiin käyttää skalaaria ”%s[\"%.*s\"]” taulukkona" +msgstr "yritettiin käyttää skalaaria ”%s[\"%s\"]” taulukkona" #: debug.c:1414 -#, fuzzy, c-format +#, c-format msgid "`%s' is a function" -msgstr "”%s” on virheellinen funktionimenä" +msgstr "”%s” on funktio" #: debug.c:1456 #, c-format msgid "watchpoint %d is unconditional\n" -msgstr "" +msgstr "watchpoint %d ei ole ehdollinen\n" #: debug.c:1490 #, c-format msgid "No display item numbered %ld" -msgstr "" +msgstr "Yksikään näyttörivi ei ole numeroitu %ld" #: debug.c:1493 #, c-format msgid "No watch item numbered %ld" -msgstr "" +msgstr "Yksikään vahtirivi ei ole numeroitu %ld" #: debug.c:1519 -#, fuzzy, c-format +#, c-format msgid "%d: [\"%s\"] not in array `%s'\n" -msgstr "delete: indeksi ”%s” ei ole taulukossa ”%s”" +msgstr "%d: [”%s”] ei ole taulukossa ”%s”\n" #: debug.c:1758 -#, fuzzy msgid "attempt to use scalar value as array" msgstr "yritettiin käyttää skalaariarvoa taulukkona" #: debug.c:1847 #, c-format msgid "Watchpoint %d deleted because parameter is out of scope.\n" -msgstr "" +msgstr "Watchpoint %d poistettiin, koska parametri on lukualueen ulkopuolella.\n" #: debug.c:1858 #, c-format msgid "Display %d deleted because parameter is out of scope.\n" -msgstr "" +msgstr "Display %d poistettiin, koska parametri on lukualueen ulkopuolella.\n" #: debug.c:1891 #, c-format msgid " in file `%s', line %d\n" -msgstr "" +msgstr " tiedostossa ”%s”, rivi %d\n" #: debug.c:1912 #, c-format msgid " at `%s':%d" -msgstr "" +msgstr " osoitteessa ”%s”:%d" #: debug.c:1928 debug.c:1991 #, c-format msgid "#%ld\tin " -msgstr "" +msgstr "#%ld\tkohteessa " #: debug.c:1965 #, c-format msgid "More stack frames follow ...\n" -msgstr "" +msgstr "Lisää pinokehyksiä seuraa ...\n" #: debug.c:2008 -#, fuzzy msgid "invalid frame number" -msgstr "Virheellinen lukualueen loppu" +msgstr "virheellinen kehysnumero" #: debug.c:2180 #, c-format msgid "Note: breakpoint %d (enabled, ignore next %ld hits), also set at %s:%d" -msgstr "" +msgstr "Huomaa: keskeytyskohta %d (otettu käyttöön, ohita seuraavat %ld osumaa), asetettu myös osoitteessa %s:%d" #: debug.c:2187 #, c-format msgid "Note: breakpoint %d (enabled), also set at %s:%d" -msgstr "" +msgstr "Huomaa: keskeytyskohta %d (otettu käyttöön), asetettu myös kohdassa %s:%d" #: debug.c:2194 #, c-format msgid "Note: breakpoint %d (disabled, ignore next %ld hits), also set at %s:%d" -msgstr "" +msgstr "Huomaa: keskeytyskohta %d (otettu pois käytöstä, ohita seuraavat %ld osumaa), asetettu myös kohdassa %s:%d" #: debug.c:2201 #, c-format msgid "Note: breakpoint %d (disabled), also set at %s:%d" -msgstr "" +msgstr "Huomaa: keskeytyskohta %d (otettu pois käytöstä), asetettu myös kohdassa %s:%d" #: debug.c:2218 #, c-format msgid "Breakpoint %d set at file `%s', line %d\n" -msgstr "" +msgstr "Keskeytyskohta %d asetettu tiedostossa ”%s”, rivi %d\n" #: debug.c:2320 #, c-format msgid "Can't set breakpoint in file `%s'\n" -msgstr "" +msgstr "Keskeytyskohdan asetaminen tiedostossa ”%s” epäonnistui\n" #: debug.c:2349 debug.c:2472 debug.c:3330 -#, fuzzy, c-format +#, c-format msgid "line number %d in file `%s' out of range" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "rivinumero %d tiedostossa ”%s” on lukualueen ulkopuolella" #: debug.c:2353 #, c-format msgid "Can't find rule!!!\n" -msgstr "" +msgstr "Säännön löytäminen epäonnistui!!!\n" #: debug.c:2355 #, c-format msgid "Can't set breakpoint at `%s':%d\n" -msgstr "" +msgstr "Keskeytykohdan asettaminen kohdassa ”%s”:%d epäonnistui\n" #: debug.c:2367 #, c-format msgid "Can't set breakpoint in function `%s'\n" -msgstr "" +msgstr "Keskeytyskohdan asettaminen funktiossa ”%s” epäonnistui\n" #: debug.c:2383 #, c-format msgid "breakpoint %d set at file `%s', line %d is unconditional\n" -msgstr "" +msgstr "keskeytyskohta %d asetettu tiedostossa ”%s”, rivi %d on ehdoton\n" #: debug.c:2488 debug.c:2510 #, c-format msgid "Deleted breakpoint %d" -msgstr "" +msgstr "Poistettu keskeytyskohta %d" #: debug.c:2494 #, c-format msgid "No breakpoint(s) at entry to function `%s'\n" -msgstr "" +msgstr "Ei keskeytyskohtaa funktion ”%s” sisääntulossa\n" #: debug.c:2521 -#, fuzzy, c-format +#, c-format msgid "No breakpoint at file `%s', line #%d\n" -msgstr "virhe luettaessa syötetiedostoa ”%s”: %s" +msgstr "Tiedostossa ”%s” ei ole keskeytyskohtaa, rivi #%d\n" #: debug.c:2576 debug.c:2617 debug.c:2637 debug.c:2680 msgid "invalid breakpoint number" -msgstr "" +msgstr "virheellinen keskeytyskohtanumero" #: debug.c:2592 msgid "Delete all breakpoints? (y or n) " -msgstr "" +msgstr "Poistetaanko kaikki keskeytyskohdata? (y tai n) " #: debug.c:2593 debug.c:2903 debug.c:2956 msgid "y" -msgstr "" +msgstr "k" #: debug.c:2642 #, c-format msgid "Will ignore next %ld crossing(s) of breakpoint %d.\n" -msgstr "" +msgstr "Keskeytyskohta %2$d:n seuraavat %1$ld risteystä ohitetaan.\n" #: debug.c:2646 #, c-format msgid "Will stop next time breakpoint %d is reached.\n" -msgstr "" +msgstr "Pysähtyy seuraavalla kerralla kun keskeytyskohta %d saavutetaan.\n" #: debug.c:2763 #, c-format msgid "Can only debug programs provided with the `-f' option.\n" -msgstr "" +msgstr "Vain ohjelmia, jotka tarjoavat valitsimen ”-f”, voidaan vikajäljittää.\n" #: debug.c:2888 #, c-format msgid "Failed to restart debugger" -msgstr "" +msgstr "Vianjäljittäjän uudelleenkäynnistys epäonnistui" #: debug.c:2902 msgid "Program already running. Restart from beginning (y/n)? " -msgstr "" +msgstr "Ohjelma on jo käynnissä. Käynnistetäänkö uudelleen alusta (y/n)? " #: debug.c:2906 #, c-format msgid "Program not restarted\n" -msgstr "" +msgstr "Ohjelma ei käynnistynyt uudelleen\n" #: debug.c:2916 #, c-format msgid "error: cannot restart, operation not allowed\n" -msgstr "" +msgstr "virhe: uudelleenkäynnistys epäonnistui, toiminto ei ole sallittu\n" #: debug.c:2922 #, c-format msgid "error (%s): cannot restart, ignoring rest of the commands\n" -msgstr "" +msgstr "virhe (%s): uudelleenkäynnistys epäonnistui, loput komennot ohitetaan\n" #: debug.c:2930 #, c-format msgid "Starting program: \n" -msgstr "" +msgstr "Käynnistetään ohjelma: \n" #: debug.c:2939 #, c-format msgid "Program exited %s with exit value: %d\n" -msgstr "" +msgstr "Ohjelma päättyi %s päättymisarvolla: %d\n" #: debug.c:2955 msgid "The program is running. Exit anyway (y/n)? " -msgstr "" +msgstr "Ohjelma on käynnissä. Poistutaanko silti (y/n)? " #: debug.c:2990 #, c-format msgid "Not stopped at any breakpoint; argument ignored.\n" -msgstr "" +msgstr "Ei pysäytetty yhdessäkään keskeytyskohdassa; argumentti ohitetaan.\n" #: debug.c:2995 #, c-format msgid "invalid breakpoint number %d." -msgstr "" +msgstr "virheellinen keskeytyskohtanumero %d." #: debug.c:3000 #, c-format msgid "Will ignore next %ld crossings of breakpoint %d.\n" -msgstr "" +msgstr "Ohittaa seuraavat %ld keskeytyskohdan %d ylitystä.\n" #: debug.c:3187 #, c-format msgid "'finish' not meaningful in the outermost frame main()\n" -msgstr "" +msgstr "’finish’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n" #: debug.c:3192 #, c-format msgid "Run till return from " -msgstr "" +msgstr "Suorita kunnes paluu kohteesta " #: debug.c:3235 #, c-format msgid "'return' not meaningful in the outermost frame main()\n" -msgstr "" +msgstr "’return’ ei ole merkityksellinen ulommaisen kehyksen main()-funktiossa\n" #: debug.c:3349 #, c-format msgid "Can't find specified location in function `%s'\n" -msgstr "" +msgstr "Määritellyn sijainnin löytyminen funktiossa ”%s” epäonnistui\n" #: debug.c:3357 -#, fuzzy, c-format +#, c-format msgid "invalid source line %d in file `%s'" -msgstr "on jo sisällytetty lähdetiedostoon ”%s”" +msgstr "virheellinen lähdekoodirivi %d tiedostossa ”%s”" #: debug.c:3372 #, c-format msgid "Can't find specified location %d in file `%s'\n" -msgstr "" +msgstr "Määritellyn sijainnin %d löytyminen tiedostossa ”%s” epäonnistui\n" #: debug.c:3404 -#, fuzzy, c-format +#, c-format msgid "element not in array\n" -msgstr "delete: indeksi ”%s” ei ole taulukossa ”%s”" +msgstr "elementti ei ole taulukossa\n" #: debug.c:3404 #, c-format msgid "untyped variable\n" -msgstr "" +msgstr "tyypitön muuttuja\n" #: debug.c:3446 #, c-format msgid "Stopping in %s ...\n" -msgstr "" +msgstr "Pysäytetään kohdassa %s ...\n" #: debug.c:3523 #, c-format msgid "'finish' not meaningful with non-local jump '%s'\n" -msgstr "" +msgstr "’finish’ ei ole merkityksellinen ei-paikallisessa hypyssä ’%s’\n" #: debug.c:3530 #, c-format msgid "'until' not meaningful with non-local jump '%s'\n" -msgstr "" +msgstr "’until’ ei ole merkityksellinen ei-paikallisessa hypyssä ’%s’\n" #: debug.c:4165 msgid "\t------[Enter] to continue or q [Enter] to quit------" -msgstr "" +msgstr "\t------Jatka painamalla [Enter] tai poistu painamalla q [Enter]------" #: debug.c:4166 msgid "q" -msgstr "" +msgstr "q" #: debug.c:4986 -#, fuzzy, c-format +#, c-format msgid "[\"%s\"] not in array `%s'" -msgstr "delete: indeksi ”%s” ei ole taulukossa ”%s”" +msgstr "[”%s”] ei ole taulukossa ”%s”" #: debug.c:5192 #, c-format msgid "sending output to stdout\n" -msgstr "" +msgstr "lähetetään tuloste vakiotulosteeseen\n" #: debug.c:5232 msgid "invalid number" -msgstr "" +msgstr "virheellinen numero" #: debug.c:5366 -#, fuzzy, c-format +#, c-format msgid "`%s' not allowed in current context; statement ignored" -msgstr "”exit” ei voida kutsua nykyisessä asiayhteydessä" +msgstr "”%s” ei ole sallittu nykyisessä asiayhteydessä; lause ohitetaan" #: debug.c:5374 -#, fuzzy msgid "`return' not allowed in current context; statement ignored" -msgstr "”exit” ei voida kutsua nykyisessä asiayhteydessä" +msgstr "”return” ei ole sallittu nykyisessä asiayhteydessä; lause ohitetaan" #: debug.c:5575 -#, fuzzy, c-format +#, c-format msgid "No symbol `%s' in current context" -msgstr "yritettiin käyttää taulukkoa ”%s” skalaarikontekstissa" +msgstr "Symbolia ”%s” ei ole nykyisesssä asiayhteydessä" #: dfa.c:998 dfa.c:1001 dfa.c:1021 dfa.c:1031 dfa.c:1043 dfa.c:1094 dfa.c:1103 #: dfa.c:1106 dfa.c:1111 dfa.c:1124 dfa.c:1192 msgid "unbalanced [" -msgstr "" +msgstr "pariton [" #: dfa.c:1052 -#, fuzzy msgid "invalid character class" -msgstr "Virheellinen merkkiluokkanimi" +msgstr "virheellinen merkkiluokka" #: dfa.c:1229 msgid "character class syntax is [[:space:]], not [:space:]" -msgstr "" +msgstr "merkkiluokkasyntaksi on [[:space:]], ei [:space:]" #: dfa.c:1281 msgid "unfinished \\ escape" -msgstr "" +msgstr "päättymätön \\-koodinvaihtomerkki" #: dfa.c:1428 regcomp.c:161 msgid "Invalid content of \\{\\}" @@ -1802,15 +1751,15 @@ msgstr "Säännöllinen lauseke on liian iso" #: dfa.c:1816 msgid "unbalanced (" -msgstr "" +msgstr "pariton (" #: dfa.c:1943 msgid "no syntax specified" -msgstr "" +msgstr "syntaksi ei ole määritelty" #: dfa.c:1951 msgid "unbalanced )" -msgstr "" +msgstr "pariton )" #: eval.c:394 #, c-format @@ -1916,85 +1865,75 @@ msgid "extensions are not allowed in sandbox mode" msgstr "laajennuksia ei sallita hiekkalaatikkotilassa" #: ext.c:92 -#, fuzzy msgid "-l / @load are gawk extensions" -msgstr "@include on gawk-laajennus" +msgstr "-l / @load ovat gawk-laajennuksia" #: ext.c:95 ext.c:177 msgid "load_ext: received NULL lib_name" -msgstr "" +msgstr "load_ext: vastaanotettiin NULL lib_name" #: ext.c:98 -#, fuzzy, c-format +#, c-format msgid "load_ext: cannot open library `%s' (%s)\n" -msgstr "tuhoisa: extension: ei voi avata solmua ”%s” (%s)\n" +msgstr "load_ext: kirjaston ”%s” (%s) avaus epäonnistui\n" #: ext.c:104 -#, fuzzy, c-format -msgid "" -"load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n" -msgstr "" -"tuhoisa: extension: kirjasto ”%s”: ei määrittele " -"”plugin_is_GPL_compatible” (%s)\n" +#, c-format +msgid "load_ext: library `%s': does not define `plugin_is_GPL_compatible' (%s)\n" +msgstr "load_ext: kirjasto ”%s”: ei määrittele ”plugin_is_GPL_compatible” (%s)\n" #: ext.c:110 -#, fuzzy, c-format +#, c-format msgid "load_ext: library `%s': cannot call function `%s' (%s)\n" -msgstr "tuhoisa: extension: kirjasto ”%s”: ei voi kutsua funktiota ”%s” (%s)\n" +msgstr "load_ext: kirjasto ”%s”: funktion ”%s” (%s) kutsu epäonnistui\n" #: ext.c:114 #, c-format msgid "load_ext: library `%s' initialization routine `%s' failed\n" -msgstr "" +msgstr "load_ext: kirjaston ”%s” alustusrutiini ”%s” epäonnistui\n" #: ext.c:174 msgid "`extension' is a gawk extension" msgstr "”extension” on gawk-laajennus" #: ext.c:180 -#, fuzzy, c-format +#, c-format msgid "extension: cannot open library `%s' (%s)" -msgstr "tuhoisa: extension: ei voi avata solmua ”%s” (%s)\n" +msgstr "extension: kirjaston ”%s” (%s) avaus epäonnistui" #: ext.c:186 -#, fuzzy, c-format -msgid "" -"extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)" -msgstr "" -"tuhoisa: extension: kirjasto ”%s”: ei määrittele " -"”plugin_is_GPL_compatible” (%s)\n" +#, c-format +msgid "extension: library `%s': does not define `plugin_is_GPL_compatible' (%s)" +msgstr "extension: kirjasto ”%s”: ei määrittele ”plugin_is_GPL_compatible” (%s)" #: ext.c:190 -#, fuzzy, c-format +#, c-format msgid "extension: library `%s': cannot call function `%s' (%s)" -msgstr "tuhoisa: extension: kirjasto ”%s”: ei voi kutsua funktiota ”%s” (%s)\n" +msgstr "extension: kirjasto ”%s”: funktion ”%s” (%s) kutsu epäonnistui" #: ext.c:221 -#, fuzzy msgid "make_builtin: missing function name" -msgstr "extension: puuttuva funktionimi" +msgstr "make_builtin: puuttuva funktionimi" #: ext.c:238 -#, fuzzy, c-format +#, c-format msgid "make_builtin: can't redefine function `%s'" -msgstr "extension: ei voi määritellä uudelleen funktiota ”%s”" +msgstr "make_builtin: funktion ”%s” uudelleenmäärittely epäonnistui" #: ext.c:242 -#, fuzzy, c-format +#, c-format msgid "make_builtin: function `%s' already defined" -msgstr "extension: funktio ”%s” on jo määritelty" +msgstr "make_builtin: funktio ”%s” on jo määritelty" #: ext.c:246 -#, fuzzy, c-format +#, c-format msgid "make_builtin: function name `%s' previously defined" -msgstr "extension: funktionimi ”%s” on määritelty jo aiemmin" +msgstr "make_builtin: funktionimi ”%s” on määritelty jo aiemmin" #: ext.c:248 -#, fuzzy, c-format +#, c-format msgid "make_builtin: can't use gawk built-in `%s' as function name" -msgstr "" -"extension: ei voi käyttää gawk-ohjelman sisäistä muuttujanimeä ”%s” " -"funktionimenä" +msgstr "make_builtin: gawk-ohjelman sisäisen muuttujanimen ”%s” käyttö funktionimenä epäonnistui" #: ext.c:251 ext.c:304 #, c-format @@ -2002,36 +1941,33 @@ msgid "make_builtin: negative argument count for function `%s'" msgstr "make_builtin: negatiivinen argumenttilukumäärä funktiolle ”%s”" #: ext.c:278 -#, fuzzy msgid "extension: missing function name" msgstr "extension: puuttuva funktionimi" #: ext.c:283 -#, fuzzy, c-format +#, c-format msgid "extension: illegal character `%c' in function name `%s'" msgstr "extension: virheellinen merkki ”%c” funktionimessä ”%s”" #: ext.c:291 -#, fuzzy, c-format +#, c-format msgid "extension: can't redefine function `%s'" -msgstr "extension: ei voi määritellä uudelleen funktiota ”%s”" +msgstr "extension: funktion ”%s” uudelleenmäärittely epäonnistui" #: ext.c:295 -#, fuzzy, c-format +#, c-format msgid "extension: function `%s' already defined" msgstr "extension: funktio ”%s” on jo määritelty" #: ext.c:299 -#, fuzzy, c-format +#, c-format msgid "extension: function name `%s' previously defined" -msgstr "funktionimi ”%s” on jo aikaisemmin määritelty" +msgstr "extension: funktionimi ”%s” on määritelty jo aiemmin" #: ext.c:301 -#, fuzzy, c-format +#, c-format msgid "extension: can't use gawk built-in `%s' as function name" -msgstr "" -"extension: ei voi käyttää gawk-ohjelman sisäistä muuttujanimeä ”%s” " -"funktionimenä" +msgstr "extension: gawk-ohjelman sisäisen muuttujanimen käyttö ”%s” funktionimenä epäonnistui" #: ext.c:374 #, c-format @@ -2055,366 +1991,334 @@ msgstr "funktio ”%s”: argumentti #%d: yritettiin käyttää taulukkoa skalaa #: ext.c:412 msgid "dynamic loading of library not supported" -msgstr "" +msgstr "kirjaston dynaamista latausta ei tueta" #: extension/filefuncs.c:97 -#, fuzzy msgid "chdir: called with incorrect number of arguments, expecting 1" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "chdir: kutsuttu argumenttien väärällä lukumäärällä, odotettiin 1" #: extension/filefuncs.c:343 #, c-format msgid "stat: unable to read symbolic link `%s'" -msgstr "" +msgstr "stat: symbolisen linkin ”%s” lukeminen epäonnistui" #: extension/filefuncs.c:376 -#, fuzzy msgid "stat: called with wrong number of arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "stat: kutsuttu argumenttien väärällä lukumäärällä" #: extension/filefuncs.c:383 -#, fuzzy msgid "stat: bad parameters" -msgstr "%s: on parametri\n" +msgstr "stat: väärät parametrit" #: extension/filefuncs.c:437 -#, fuzzy, c-format +#, c-format msgid "fts init: could not create variable %s" -msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono" +msgstr "fts init: muuttujan %s luominen epäonnistui" #: extension/filefuncs.c:460 msgid "fill_stat_element: could not create array" -msgstr "" +msgstr "fill_stat_element: taulukon luominen epäonnistui" #: extension/filefuncs.c:469 msgid "fill_stat_element: could not set element" -msgstr "" +msgstr "fill_stat_element: elementin asettaminen epäonnistui" #: extension/filefuncs.c:484 -#, fuzzy msgid "fill_path_element: could not set element" -msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono" +msgstr "fill_path_element: elementin asettaminen epäonnistui" #: extension/filefuncs.c:500 msgid "fill_error_element: could not set element" -msgstr "" +msgstr "fill_error_element: elementin asettaminen epäonnistui" #: extension/filefuncs.c:547 extension/filefuncs.c:594 msgid "fts-process: could not create array" -msgstr "" +msgstr "fts-process: taulukon luominen epäonnistui" #: extension/filefuncs.c:557 extension/filefuncs.c:604 #: extension/filefuncs.c:622 -#, fuzzy msgid "fts-process: could not set element" -msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono" +msgstr "fts-process: elementin asettaminen epäonnistui" #: extension/filefuncs.c:671 -#, fuzzy msgid "fts: called with incorrect number of arguments, expecting 3" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "fts: kutsuttu argumenttien väärällä lukumäärällä, odotettiin 3" #: extension/filefuncs.c:674 -#, fuzzy msgid "fts: bad first parameter" -msgstr "%s: on parametri\n" +msgstr "fts: väärä ensimmäinen parametri" #: extension/filefuncs.c:680 -#, fuzzy msgid "fts: bad second parameter" -msgstr "%s: on parametri\n" +msgstr "fts: väärä toinen parametri" #: extension/filefuncs.c:686 -#, fuzzy msgid "fts: bad third parameter" -msgstr "%s: on parametri\n" +msgstr "fts: väärä kolmas parametri" #: extension/filefuncs.c:693 -#, fuzzy msgid "fts: could not flatten array\n" -msgstr "”%s” ei ole laillinen muuttujanimi" +msgstr "fts: taulukon litistäminen epäonnistui\n" #: extension/filefuncs.c:711 msgid "fts: ignoring sneaky FTS_NOSTAT flag. nyah, nyah, nyah." -msgstr "" +msgstr "fts: ohitetaan petollinen FTS_NOSTAT-lippu. nyyh, nyyh, nyyh." #: extension/filefuncs.c:728 msgid "fts: clear_array() failed\n" -msgstr "" +msgstr "fts: clear_array() epäonnistui\n" #: extension/fnmatch.c:98 -#, fuzzy msgid "fnmatch: called with less than three arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "fnmatch: kutsuttu vähemmällä kuin kolmella argumentilla" #: extension/fnmatch.c:101 -#, fuzzy msgid "fnmatch: called with more than three arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "fnmatch: kutsuttu useammalla kuin kolmella argumentilla" #: extension/fnmatch.c:104 -#, fuzzy msgid "fnmatch: could not get first argument" -msgstr "strftime: ensimmäinen vastaanotettu argumentti ei ole merkkijono" +msgstr "fnmatch: ensimmäistä argumenttia ei saatu" #: extension/fnmatch.c:109 -#, fuzzy msgid "fnmatch: could not get second argument" -msgstr "index: toinen vastaanotettu argumentti ei ole merkkijono" +msgstr "fnmatch: toista argumenttia ei saatu" #: extension/fnmatch.c:114 msgid "fnmatch: could not get third argument" -msgstr "" +msgstr "fnmatch: kolmatta argumenttia ei saatu" #: extension/fnmatch.c:127 msgid "fnmatch is not implemented on this system\n" -msgstr "" +msgstr "fnmatch ei ole toteutettu tässä järjestelmässä\n" #: extension/fnmatch.c:159 msgid "fnmatch init: could not add FNM_NOMATCH variable" -msgstr "" +msgstr "fnmatch init: muuttujan FNM_NOMATCH lisääminen epäonnistui" #: extension/fnmatch.c:169 #, c-format msgid "fnmatch init: could not set array element %s" -msgstr "" +msgstr "fnmatch init: taulukkoelementin %s asettaminen epäonnistui" #: extension/fnmatch.c:179 msgid "fnmatch init: could not install FNM array" -msgstr "" +msgstr "fnmatch init: FNM-taulukon lisääminen epäonnistui" #: extension/fork.c:81 -#, fuzzy msgid "fork: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "fork: kutsuttu liian monella argumentilla" #: extension/fork.c:94 msgid "fork: PROCINFO is not an array!" -msgstr "" +msgstr "fork: PROCINFO ei ole taulukko!" #: extension/fork.c:118 -#, fuzzy msgid "waitpid: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "waitpid: kutsuttu liian monella argumentilla" #: extension/fork.c:126 -#, fuzzy msgid "wait: called with no arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "wait: kutsuttu ilman argumentteja" #: extension/fork.c:143 -#, fuzzy msgid "wait: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "wait: kutsuttu liian monella argumentilla" #: extension/inplace.c:110 msgid "inplace_begin: in-place editing already active" -msgstr "" +msgstr "inplace_begin: kohdallaanmuokkaus on jo aktivoitu" #: extension/inplace.c:113 extension/inplace.c:187 #, c-format msgid "inplace_begin: expects 2 arguments but called with %d" -msgstr "" +msgstr "inplace_begin: odotetaan 2 argumenttia, mutta kutsussa oli %d argumenttia" #: extension/inplace.c:116 msgid "inplace_begin: cannot retrieve 1st argument as a string filename" -msgstr "" +msgstr "inplace_begin: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä epäonnistui" #: extension/inplace.c:124 #, c-format msgid "inplace_begin: disabling in-place editing for invalid FILENAME `%s'" -msgstr "" +msgstr "inplace_begin: ottaen pois käytöstä virheellisen TIEDOSTONIMI ”%s” muokkauksen" #: extension/inplace.c:131 -#, fuzzy, c-format +#, c-format msgid "inplace_begin: Cannot stat `%s' (%s)" -msgstr "tuhoisa: extension: ei voi avata solmua ”%s” (%s)\n" +msgstr "inplace_begin: stat ”%s” (%s) epäonnistui" #: extension/inplace.c:138 -#, fuzzy, c-format +#, c-format msgid "inplace_begin: `%s' is not a regular file" -msgstr "”%s” ei ole laillinen muuttujanimi" +msgstr "inplace_begin: ”%s” ei ole tavallinen tiedosto" #: extension/inplace.c:149 #, c-format msgid "inplace_begin: mkstemp(`%s') failed (%s)" -msgstr "" +msgstr "inplace_begin: mkstemp(”%s”) epäonnistui (%s)" #: extension/inplace.c:158 -#, fuzzy, c-format +#, c-format msgid "inplace_begin: chmod failed (%s)" -msgstr "%s: sulkeminen epäonnistui (%s)" +msgstr "inplace_begin: chmod epäonnistui (%s)" #: extension/inplace.c:165 #, c-format msgid "inplace_begin: dup(stdout) failed (%s)" -msgstr "" +msgstr "inplace_begin: dup(stdout) epäonnistui (%s)" #: extension/inplace.c:168 #, c-format msgid "inplace_begin: dup2(%d, stdout) failed (%s)" -msgstr "" +msgstr "inplace_begin: dup2(%d, stdout) epäonnistui (%s)" #: extension/inplace.c:171 -#, fuzzy, c-format +#, c-format msgid "inplace_begin: close(%d) failed (%s)" -msgstr "%s: sulkeminen epäonnistui (%s)" +msgstr "inplace_begin: close(%d) epäonnistui (%s)" #: extension/inplace.c:190 msgid "inplace_end: cannot retrieve 1st argument as a string filename" -msgstr "" +msgstr "inplace_end: ensimmäisen argumentin noutaminen merkkijonotiedostonimenä epäonnistui" #: extension/inplace.c:197 msgid "inplace_end: in-place editing not active" -msgstr "" +msgstr "inplace_end: kohdallaanmuokkaus ei ole aktiivinen" #: extension/inplace.c:203 #, c-format msgid "inplace_end: dup2(%d, stdout) failed (%s)" -msgstr "" +msgstr "inplace_end: dup2(%d, stdout) epäonnistui (%s)" #: extension/inplace.c:206 -#, fuzzy, c-format +#, c-format msgid "inplace_end: close(%d) failed (%s)" -msgstr "%s: sulkeminen epäonnistui (%s)" +msgstr "inplace_end: close(%d) epäonnistui (%s)" #: extension/inplace.c:210 #, c-format msgid "inplace_end: fsetpos(stdout) failed (%s)" -msgstr "" +msgstr "inplace_end: fsetpos(stdout) epäonnistui (%s)" #: extension/inplace.c:223 -#, fuzzy, c-format +#, c-format msgid "inplace_end: link(`%s', `%s') failed (%s)" -msgstr "uudelleenohjauksen ”%s” putken tyhjennys epäonnistui (%s)." +msgstr "inplace_end: link(”%s”, ”%s”) epäonnistui (%s)." #: extension/inplace.c:229 -#, fuzzy, c-format +#, c-format msgid "inplace_end: rename(`%s', `%s') failed (%s)" -msgstr "tiedostomäärittelijän %d (”%s”) sulkeminen epäonnistui (%s)" +msgstr "inplace_end: rename(”%s”, ”%s”) epäonnistui (%s)" #: extension/ordchr.c:69 -#, fuzzy msgid "ord: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "ord: kutsuttu liian monella argumentilla" #: extension/ordchr.c:75 -#, fuzzy msgid "ord: called with no arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "ord: kutsuttu ilman argumentteja" #: extension/ordchr.c:77 -#, fuzzy msgid "ord: called with inappropriate argument(s)" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "ord: kutsuttu sopimattomalla argumentilla" #: extension/ordchr.c:99 -#, fuzzy msgid "chr: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "chr: kutsuttu liian monella argumentilla" #: extension/ordchr.c:109 -#, fuzzy msgid "chr: called with no arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "chr: kutsuttu ilman argumentteja" #: extension/ordchr.c:111 -#, fuzzy msgid "chr: called with inappropriate argument(s)" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "chr: kutsuttu sopimattomalla argumentilla" #: extension/readdir.c:203 #, c-format msgid "dir_take_control_of: opendir/fdopendir failed: %s" -msgstr "" +msgstr "dir_take_control_of: opendir/fdopendir epäonnistui: %s" #: extension/readfile.c:84 -#, fuzzy msgid "readfile: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "readfile: kutsuttu liian monella argumentilla" #: extension/readfile.c:118 -#, fuzzy msgid "readfile: called with no arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "readfile: kutsuttu ilman argumentteja" #: extension/rwarray.c:120 -#, fuzzy msgid "writea: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "writea: kutsuttu liian monella argumentilla" #: extension/rwarray.c:127 -#, fuzzy, c-format +#, c-format msgid "do_writea: argument 0 is not a string\n" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "do_writea: argumentti 0 ei ole merkkijono\n" #: extension/rwarray.c:133 -#, fuzzy, c-format +#, c-format msgid "do_writea: argument 1 is not an array\n" -msgstr "split: neljäs argumentti ei ole taulukko" +msgstr "do_writea: argumentti 1 ei ole taulukko\n" #: extension/rwarray.c:180 #, c-format msgid "write_array: could not flatten array\n" -msgstr "" +msgstr "write_array: taulukon litistäminen epäonnistui\n" #: extension/rwarray.c:194 #, c-format msgid "write_array: could not release flattened array\n" -msgstr "" +msgstr "write_array: litistettyä taulukon vapauttaminen epäonnistui\n" #: extension/rwarray.c:276 -#, fuzzy msgid "reada: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "reada: kutsuttu liian monilla argumenteilla" #: extension/rwarray.c:283 -#, fuzzy, c-format +#, c-format msgid "do_reada: argument 0 is not a string\n" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "do_reada: argumentti 0 ei ole merkkijono\n" #: extension/rwarray.c:289 -#, fuzzy, c-format +#, c-format msgid "do_reada: argument 1 is not an array\n" -msgstr "match: kolmas argumentti ei ole taulukko" +msgstr "do_reada: argumentti 1 ei ole taulukko\n" #: extension/rwarray.c:333 #, c-format msgid "do_reada: clear_array failed\n" -msgstr "" +msgstr "do_reada: clear_array epäonnistui\n" #: extension/rwarray.c:370 #, c-format msgid "read_array: set_array_element failed\n" -msgstr "" +msgstr "read_array: set_array_element epäonnistui\n" #: extension/time.c:81 -#, fuzzy msgid "gettimeofday: ignoring arguments" -msgstr "mktime: vastaanotettu argumentti ei ole merkkijono" +msgstr "gettimeofday: ohitetaan argumentit" #: extension/time.c:112 msgid "gettimeofday: not supported on this platform" -msgstr "" +msgstr "gettimeofday: ei ole tuettu tällä alustalla" #: extension/time.c:133 -#, fuzzy msgid "sleep: called with too many arguments" -msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" +msgstr "sleep: kutsuttu liian monella argumentilla" #: extension/time.c:136 -#, fuzzy msgid "sleep: missing required numeric argument" -msgstr "exp: vastaanotettu argumentti ei ole numeerinen" +msgstr "sleep: puuttuu vaadittu numeerinen argumentti" #: extension/time.c:142 -#, fuzzy msgid "sleep: argument is negative" -msgstr "exp: argumentti %g on lukualueen ulkopuolella" +msgstr "sleep: argumentti on negatiivinen" #: extension/time.c:176 msgid "sleep: not supported on this platform" -msgstr "" +msgstr "sleep: ei ole tuettu tällä alustalla" #: field.c:339 msgid "NF set to negative value" @@ -2434,20 +2338,15 @@ msgstr "split: toinen argumentti ei ole taulukko" #: field.c:986 msgid "split: cannot use the same array for second and fourth args" -msgstr "" -"split: ei voida käyttää samaa taulukkoa toiselle ja neljännelle argumentille" +msgstr "split: saman taulukon käyttö toiselle ja neljännelle argumentille epäonnistui" #: field.c:991 msgid "split: cannot use a subarray of second arg for fourth arg" -msgstr "" -"split: ei voida käyttää toisen argumentin alitaulukkoa neljännelle " -"argumentille" +msgstr "split: toisen argumentin käyttö alitaulukkoa neljännelle argumentille epäonnistui" #: field.c:994 msgid "split: cannot use a subarray of fourth arg for second arg" -msgstr "" -"split: ei voida käyttää neljännen argumentin alitaulukkoa toiselle " -"argumentille" +msgstr "split: neljännen argumentin käyttö alitaulukkoa toiselle argumentille epäonnistui" #: field.c:1023 msgid "split: null string for third arg is a gawk extension" @@ -2467,21 +2366,15 @@ msgstr "patsplit: kolmas argumentti ei ole taulukko" #: field.c:1078 msgid "patsplit: cannot use the same array for second and fourth args" -msgstr "" -"patsplit: ei voida käyttää samaa taulukkoa toiselle ja neljännelle " -"argumentille" +msgstr "patsplit: saman taulukon käyttö toiselle ja neljännelle argumentille epäonnistui" #: field.c:1083 msgid "patsplit: cannot use a subarray of second arg for fourth arg" -msgstr "" -"patsplit: ei voida käyttää toisen argumentin alitaulukkkoa neljännelle " -"argumentille" +msgstr "patsplit: toisen argumentin käyttö alitaulukkkoa neljännelle argumentille epäonnistui" #: field.c:1086 msgid "patsplit: cannot use a subarray of fourth arg for second arg" -msgstr "" -"patsplit: ei voida käyttää neljännen argumentin alitaulukkoa toiselle " -"argumentille" +msgstr "patsplit: neljännen argumentin käyttö alitaulukkoa toiselle argumentille epäonnistui" #: field.c:1124 msgid "`FIELDWIDTHS' is a gawk extension" @@ -2506,39 +2399,38 @@ msgstr "”FPAT” on gawk-laajennus" #: gawkapi.c:146 msgid "awk_value_to_node: received null retval" -msgstr "" +msgstr "awk_value_to_node: vastaanotti null retval-paluuarvon" #: gawkapi.c:384 msgid "node_to_awk_value: received null node" -msgstr "" +msgstr "node_to_awk_value: vastaaotti null-solmun" #: gawkapi.c:387 msgid "node_to_awk_value: received null val" -msgstr "" +msgstr "node_to_awk_value: vastaanotti null-arvon" #: gawkapi.c:808 -#, fuzzy msgid "remove_element: received null array" -msgstr "length: vastaanotettu taulukkoargumentti" +msgstr "remove_element: vastaanotettu null-taulukko" #: gawkapi.c:811 msgid "remove_element: received null subscript" -msgstr "" +msgstr "remove_element: vastaanotti null-alaindeksin" #: gawkapi.c:943 #, c-format msgid "api_flatten_array: could not convert index %d\n" -msgstr "" +msgstr "api_flatten_array: indeksin %d muuntaminen epäonnistui\n" #: gawkapi.c:948 #, c-format msgid "api_flatten_array: could not convert value %d\n" -msgstr "" +msgstr "api_flatten_array: arvon %d muuntaminen epäonnistui\n" #: getopt.c:603 getopt.c:632 -#, fuzzy, c-format +#, c-format msgid "%s: option '%s' is ambiguous; possibilities:" -msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen\n" +msgstr "%s: valitsin ’%s’ ei ole yksiselitteinen; mahdollisuudet:" #: getopt.c:678 getopt.c:682 #, c-format @@ -2598,7 +2490,7 @@ msgstr "komentoriviargumentti ”%s” on hakemisto: ohitettiin" #: io.c:350 io.c:463 #, c-format msgid "cannot open file `%s' for reading (%s)" -msgstr "ei voi avata tiedostoa ”%s” lukemista varten (%s)" +msgstr "tiedoston ”%s” avaaminen lukemista varten (%s) epäonnistui" #: io.c:590 #, c-format @@ -2622,9 +2514,7 @@ msgstr "lausekkeella ”%s”-uudelleenohjauksessa on null-merkkijonoarvo" #: io.c:711 #, c-format msgid "filename `%s' for `%s' redirection may be result of logical expression" -msgstr "" -"tiedostonimi ”%s” ”%s”-uudelleenohjaukselle saattaa olla loogisen lausekkeen " -"tulos" +msgstr "tiedostonimi ”%s” ”%s”-uudelleenohjaukselle saattaa olla loogisen lausekkeen tulos" #: io.c:754 #, c-format @@ -2634,288 +2524,274 @@ msgstr "turha merkkien ”>” ja ”>>” sekoittaminen tiedostolle ”%.*s”" #: io.c:808 #, c-format msgid "can't open pipe `%s' for output (%s)" -msgstr "ei voi avata putkea ”%s” tulosteelle (%s)" +msgstr "putken ”%s” avaaminen tulosteelle (%s) epäonnistui" #: io.c:818 #, c-format msgid "can't open pipe `%s' for input (%s)" -msgstr "ei voi avata putkea ”%s” syötteelle (%s)" +msgstr "putken ”%s” avaaminen syötteelle (%s) epäonnistui" #: io.c:849 #, c-format msgid "can't open two way pipe `%s' for input/output (%s)" -msgstr "ei voi avata kaksisuuntaista putkea ”%s” syötteelle/tulosteelle (%s)" +msgstr "kaksisuuntaisen putken ”%s” avaaminen syötteelle/tulosteelle (%s) epäonnistui" -#: io.c:928 +#: io.c:932 #, c-format msgid "can't redirect from `%s' (%s)" -msgstr "ei voi uudelleenohjata putkesta ”%s” (%s)" +msgstr "uudelleenohjaus putkesta ”%s” (%s) epäonnistui" -#: io.c:931 +#: io.c:935 #, c-format msgid "can't redirect to `%s' (%s)" -msgstr "ei voi uudelleenohjata putkeen ”%s” (%s)" +msgstr "uudelleenohjaus putkeen ”%s” (%s) epäonnistui" -#: io.c:982 -msgid "" -"reached system limit for open files: starting to multiplex file descriptors" -msgstr "" -"saavutettiin avoimien tiedostojen järjestelmäraja: aloitetaan " -"tiedostomäärittelijöiden lomittaminen" +#: io.c:986 +msgid "reached system limit for open files: starting to multiplex file descriptors" +msgstr "saavutettiin avoimien tiedostojen järjestelmäraja: aloitetaan tiedostomäärittelijöiden lomittaminen" -#: io.c:998 +#: io.c:1002 #, c-format msgid "close of `%s' failed (%s)." msgstr "uudelleenohjauksen ”%s” sulkeminen epäonnistui (%s)." -#: io.c:1006 +#: io.c:1010 msgid "too many pipes or input files open" msgstr "avoinna liian monta putkea tai syötetiedostoa" -#: io.c:1028 +#: io.c:1032 msgid "close: second argument must be `to' or `from'" msgstr "close: toisen argumentin on oltava ”to” tai ”from”" -#: io.c:1045 +#: io.c:1049 #, c-format msgid "close: `%.*s' is not an open file, pipe or co-process" msgstr "close: ”%.*s” ei ole avoin tiedosto, putki tai apuprosessi" -#: io.c:1050 +#: io.c:1054 msgid "close of redirection that was never opened" msgstr "suljettiin uudelleenohjaus, jota ei avattu koskaan" -#: io.c:1147 +#: io.c:1151 #, c-format msgid "close: redirection `%s' not opened with `|&', second argument ignored" -msgstr "" -"close: uudelleenohjaus ”%s” ei ole avattu operaattoreilla ”|&”, toinen " -"argumentti ohitettu" +msgstr "close: uudelleenohjaus ”%s” ei ole avattu operaattoreilla ”|&”, toinen argumentti ohitettu" -#: io.c:1164 +#: io.c:1168 #, c-format msgid "failure status (%d) on pipe close of `%s' (%s)" msgstr "virhetila (%d) putken ”%s” sulkemisessa (%s)" -#: io.c:1167 +#: io.c:1171 #, c-format msgid "failure status (%d) on file close of `%s' (%s)" msgstr "virhetila (%d) tiedoston ”%s” sulkemisessa (%s)" -#: io.c:1187 +#: io.c:1191 #, c-format msgid "no explicit close of socket `%s' provided" msgstr "pistokkeen ”%s” eksplisiittistä sulkemista ei tarjota" -#: io.c:1190 +#: io.c:1194 #, c-format msgid "no explicit close of co-process `%s' provided" msgstr "apuprosessin ”%s” eksplisiittistä sulkemista ei tarjota" -#: io.c:1193 +#: io.c:1197 #, c-format msgid "no explicit close of pipe `%s' provided" msgstr "putken ”%s” eksplisiittistä sulkemista ei tarjota" -#: io.c:1196 +#: io.c:1200 #, c-format msgid "no explicit close of file `%s' provided" msgstr "tiedoston ”%s” eksplisiittistä sulkemista ei tarjota" -#: io.c:1224 io.c:1279 main.c:842 main.c:879 +#: io.c:1228 io.c:1283 main.c:842 main.c:879 #, c-format msgid "error writing standard output (%s)" msgstr "virhe kirjoitettaessa vakiotulosteeseen (%s)" -#: io.c:1228 io.c:1284 +#: io.c:1232 io.c:1288 #, c-format msgid "error writing standard error (%s)" msgstr "virhe kirjoitettaessa vakiovirheeseen (%s)" -#: io.c:1236 +#: io.c:1240 #, c-format msgid "pipe flush of `%s' failed (%s)." msgstr "uudelleenohjauksen ”%s” putken tyhjennys epäonnistui (%s)." -#: io.c:1239 +#: io.c:1243 #, c-format msgid "co-process flush of pipe to `%s' failed (%s)." msgstr "putken apuprosessityhjennys uudelleenohjaukseen ”%s” epäonnistui (%s)." -#: io.c:1242 +#: io.c:1246 #, c-format msgid "file flush of `%s' failed (%s)." msgstr "uudelleenohjauksen ”%s” tiedostontyhjennys epäonnistui (%s)." -#: io.c:1356 +#: io.c:1360 #, c-format msgid "local port %s invalid in `/inet'" msgstr "paikallinen portti %s virheellinen pistokkeessa ”/inet”" -#: io.c:1374 +#: io.c:1378 #, c-format msgid "remote host and port information (%s, %s) invalid" msgstr "etäkone- ja porttitiedot (%s, %s) ovat virheellisiä" -#: io.c:1526 +#: io.c:1530 #, c-format msgid "no (known) protocol supplied in special filename `%s'" msgstr "ei (tunnettua) yhteyskäytäntöä tarjottu erikoistiedostonimessä ”%s”" -#: io.c:1540 +#: io.c:1544 #, c-format msgid "special file name `%s' is incomplete" msgstr "erikoistiedostonimi ”%s” on vaillinainen" -#: io.c:1557 +#: io.c:1561 msgid "must supply a remote hostname to `/inet'" msgstr "on tarjottava etäkoneen nimi pistokkeeseen ”/inet”" -#: io.c:1575 +#: io.c:1579 msgid "must supply a remote port to `/inet'" msgstr "on tarjottava etäportti pistokkeeseen ”/inet”" -#: io.c:1621 +#: io.c:1625 msgid "TCP/IP communications are not supported" msgstr "TCP/IP-viestintää ei tueta" -#: io.c:1796 +#: io.c:1800 #, c-format msgid "could not open `%s', mode `%s'" -msgstr "ei voitu avata laitetta ”%s”, tila ”%s”" +msgstr "laitteen ”%s” avaus epäonnistui, tila ”%s”" -#: io.c:1846 +#: io.c:1850 #, c-format msgid "close of master pty failed (%s)" msgstr "”master pty”-sulkeminen epäonnistui (%s)" -#: io.c:1848 io.c:2024 io.c:2194 +#: io.c:1852 io.c:2028 io.c:2198 #, c-format msgid "close of stdout in child failed (%s)" msgstr "vakiotulosteen sulkeminen lapsiprosessissa epäonnistui (%s)" -#: io.c:1851 +#: io.c:1855 #, 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)" +msgstr "”slave pty”:n siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)" -#: io.c:1853 io.c:2029 +#: io.c:1857 io.c:2033 #, c-format msgid "close of stdin in child failed (%s)" msgstr "vakiosyötteen sulkeminen lapsiprosessissa epäonnistui (%s)" -#: io.c:1856 +#: io.c:1860 #, 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)" +msgstr "”slave pty”:n siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)" -#: io.c:1858 io.c:1879 +#: io.c:1862 io.c:1883 #, c-format msgid "close of slave pty failed (%s)" msgstr "”slave pty”:n sulkeminen epäonnistui (%s)" -#: io.c:1965 io.c:2027 io.c:2171 io.c:2197 +#: io.c:1969 io.c:2031 io.c:2175 io.c:2201 #, c-format msgid "moving pipe to stdout in child failed (dup: %s)" -msgstr "" -"putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)" +msgstr "putken siirtäminen vakiotulosteeseen lapsiprosessissa epäonnistui (dup: %s)" -#: io.c:1972 io.c:2032 +#: io.c:1976 io.c:2036 #, c-format msgid "moving pipe to stdin in child failed (dup: %s)" -msgstr "" -"putken siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)" +msgstr "putken siirtäminen vakiosyötteeseen lapsiprosessissa epäonnistui (dup: %s)" -#: io.c:1992 io.c:2187 +#: io.c:1996 io.c:2191 msgid "restoring stdout in parent process failed\n" msgstr "vakiotulosteen palauttaminen äitiprosessissa epäonnistui\n" -#: io.c:2000 +#: io.c:2004 msgid "restoring stdin in parent process failed\n" msgstr "vakiosyötön palauttaminen äitiprosessissa epäonnistui\n" -#: io.c:2035 io.c:2199 io.c:2213 +#: io.c:2039 io.c:2203 io.c:2217 #, c-format msgid "close of pipe failed (%s)" msgstr "putken sulkeminen epäonnistui (%s)" -#: io.c:2089 +#: io.c:2093 msgid "`|&' not supported" msgstr "”|&” ei tueta" -#: io.c:2156 +#: io.c:2160 #, c-format msgid "cannot open pipe `%s' (%s)" -msgstr "ei voi avata putkea ”%s” (%s)" +msgstr "putken ”%s” (%s) avaaminen epäonnistui" -#: io.c:2207 +#: io.c:2211 #, c-format msgid "cannot create child process for `%s' (fork: %s)" -msgstr "ei voida luoda lapsiprosessia komennolle ”%s” (fork: %s)" +msgstr "lapsiprosessin luominen komennolle ”%s” (fork: %s) epäonnistui" -#: io.c:2667 +#: io.c:2671 msgid "register_input_parser: received NULL pointer" -msgstr "" +msgstr "register_input_parser: vastaanotettiin NULL-osoitin" -#: io.c:2695 +#: io.c:2699 #, c-format msgid "input parser `%s' conflicts with previously installed input parser `%s'" -msgstr "" +msgstr "syötejäsennin ”%s” on ristiriidassa aiemmin asennetun syötejäsentimen ”%s” kanssa" -#: io.c:2702 +#: io.c:2706 #, c-format msgid "input parser `%s' failed to open `%s'" -msgstr "" +msgstr "syötejäsentäjä ”%s” epäonnistui kohteen ”%s” avaamisessa" -#: io.c:2722 +#: io.c:2726 msgid "register_output_wrapper: received NULL pointer" -msgstr "" +msgstr "register_output_wrapper: vastaanotti NULL-osoittimen" -#: io.c:2750 +#: io.c:2754 #, c-format -msgid "" -"output wrapper `%s' conflicts with previously installed output wrapper `%s'" -msgstr "" +msgid "output wrapper `%s' conflicts with previously installed output wrapper `%s'" +msgstr "tulostekäärin ”%s” on ristiriidassa aiemmin asennetun tulostekäärimen ”%s” kanssa" -#: io.c:2757 +#: io.c:2761 #, c-format msgid "output wrapper `%s' failed to open `%s'" -msgstr "" +msgstr "tulostekäärin ”%s” epäonnistui avaamaan ”%s”" -#: io.c:2778 +#: io.c:2782 msgid "register_output_processor: received NULL pointer" -msgstr "" +msgstr "register_output_processor: vastaanotti NULL-osoittimen" -#: io.c:2807 +#: io.c:2811 #, c-format -msgid "" -"two-way processor `%s' conflicts with previously installed two-way processor " -"`%s'" -msgstr "" +msgid "two-way processor `%s' conflicts with previously installed two-way processor `%s'" +msgstr "kaksisuuntainen prosessori ”%s” on ristiriidassa aiemmin asennetun kaksisuuntaisen prosessorin ”%s” kanssa" -#: io.c:2816 +#: io.c:2820 #, c-format msgid "two way processor `%s' failed to open `%s'" -msgstr "" +msgstr "kaksisuuntainen prosessori ”%s” epäonnistui avaamaan ”%s”" -#: io.c:2923 +#: io.c:2927 #, c-format msgid "data file `%s' is empty" msgstr "data-tiedosto ”%s” on tyhjä" -#: io.c:2965 io.c:2973 +#: io.c:2969 io.c:2977 msgid "could not allocate more input memory" -msgstr "ei voitu varata lisää syötemuistia" +msgstr "lisäsyötemuistin varaus epäonnistui" -#: io.c:3539 +#: io.c:3543 msgid "multicharacter value of `RS' is a gawk extension" msgstr "”RS”-monimerkkiarvo on gawk-laajennus" -#: io.c:3628 +#: io.c:3632 msgid "IPv6 communication is not supported" msgstr "IPv6-viestintää ei tueta" @@ -2935,9 +2811,7 @@ msgstr "%s: valitsin vaatii argumentin -- %c\n" #: main.c:545 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'" -msgstr "" -"ympäristömuuttuja ”POSIXLY_CORRECT” asetettu: käännetään päälle valitsin ”--" -"posix”" +msgstr "ympäristömuuttuja ”POSIXLY_CORRECT” asetettu: käännetään päälle valitsin ”--posix”" #: main.c:551 msgid "`--posix' overrides `--traditional'" @@ -2945,8 +2819,7 @@ msgstr "valitsin ”--posix” korvaa valitsimen ”--traditional”" #: main.c:562 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'" -msgstr "" -"valitsin ”--posix” tai ”--traditional” korvaa valitsimen ”--non-decimal-data”" +msgstr "valitsin ”--posix” tai ”--traditional” korvaa valitsimen ”--non-decimal-data”" #: main.c:566 #, c-format @@ -2954,24 +2827,23 @@ msgid "running %s setuid root may be a security problem" msgstr "suorittaminen ”%s setuid root”-käyttäjänä saattaa olla turvapulma" #: main.c:571 -#, fuzzy msgid "`--posix' overrides `--characters-as-bytes'" -msgstr "valitsin ”--posix” korvaa valitsimen ”--binary”" +msgstr "valitsin ”--posix” korvaa valitsimen ”--characters-as-bytes”" #: main.c:630 #, c-format msgid "can't set binary mode on stdin (%s)" -msgstr "ei voi asettaa binaaritilaa vakiosyötteessä (%s)" +msgstr "binaaritilan asettaminen vakiosyötteessä (%s) epäonnistui" #: main.c:633 #, c-format msgid "can't set binary mode on stdout (%s)" -msgstr "ei voi asettaa binaaritilaa vakiotulosteessa (%s)" +msgstr "binaaritilan asettaminen vakiotulosteessa (%s) epäonnistui" #: main.c:635 #, c-format msgid "can't set binary mode on stderr (%s)" -msgstr "ei voi asettaa binaaritilaa vakiovirheessä (%s)" +msgstr "binaaritilaa asettaminen vakiovirheessä (%s) epäonnistui" #: main.c:693 msgid "no program text at all!" @@ -2980,16 +2852,12 @@ msgstr "ei ohjelmatekstiä ollenkaan!" #: main.c:779 #, 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" +msgstr "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] -f ohjelmatiedosto [--] tiedosto ...\n" #: main.c:781 #, 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" +msgstr "Käyttö: %s [POSIX- tai GNU-tyyliset valitsimet] [--] %cohjelma%c tiedosto ...\n" #: main.c:786 msgid "POSIX options:\t\tGNU long options: (standard)\n" @@ -3028,9 +2896,8 @@ msgid "\t-d[file]\t\t--dump-variables[=file]\n" msgstr "\t-d[tiedosto]\t\t--dump-variables[=tiedosto]\n" #: main.c:795 -#, fuzzy msgid "\t-D[file]\t\t--debug[=file]\n" -msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n" +msgstr "\t-D[tiedosto]\t\t--debug[=tiedosto]\n" #: main.c:796 msgid "\t-e 'program-text'\t--source='program-text'\n" @@ -3050,11 +2917,11 @@ msgstr "\t-h\t\t\t--help\n" #: main.c:800 msgid "\t-i includefile\t\t--include=includefile\n" -msgstr "" +msgstr "\t-i include-tiedosto\t\t--include=include-tiedosto\n" #: main.c:801 msgid "\t-l library\t\t--load=library\n" -msgstr "" +msgstr "\t-l kirjasto\t\t--load=kirjasto\n" #: main.c:802 msgid "\t-L [fatal]\t\t--lint[=fatal]\n" @@ -3065,18 +2932,16 @@ msgid "\t-n\t\t\t--non-decimal-data\n" msgstr "\t-n\t\t\t--non-decimal-data\n" #: main.c:804 -#, fuzzy msgid "\t-M\t\t\t--bignum\n" -msgstr "\t-g\t\t\t--gen-po\n" +msgstr "\t-M\t\t\t--bignum\n" #: main.c:805 msgid "\t-N\t\t\t--use-lc-numeric\n" msgstr "\t-N\t\t\t--use-lc-numeric\n" #: main.c:806 -#, fuzzy msgid "\t-o[file]\t\t--pretty-print[=file]\n" -msgstr "\t-p[tiedosto]\t\t--profile[=tiedosto]\n" +msgstr "\t-o[tiedosto]\t\t--pretty-print[=tiedosto]\n" #: main.c:807 msgid "\t-O\t\t\t--optimize\n" @@ -3127,8 +2992,7 @@ msgid "" "\n" msgstr "" "\n" -"Virheiden ilmoittamista varten, katso solmua ”Bugs” tiedostossa ”gawk." -"info”,\n" +"Virheiden ilmoittamista varten, katso solmua ”Bugs” tiedostossa ”gawk.info”,\n" "joka on kappale ”Reporting Problems and Bugs” painetussa versiossa.\n" "\n" @@ -3197,12 +3061,12 @@ msgstr "" msgid "-Ft does not set FS to tab in POSIX awk" msgstr "-Ft ei aseta FS välilehteen POSIX awk:ssa" -#: main.c:1181 +#: main.c:1176 #, c-format msgid "unknown value for field spec: %d\n" msgstr "tuntematon arvo kenttämääritteelle: %d\n" -#: main.c:1279 +#: main.c:1274 #, c-format msgid "" "%s: `%s' argument to `-v' not in `var=value' form\n" @@ -3211,105 +3075,101 @@ msgstr "" "%s: ”%s” argumentti valitsimelle ”-v” ei ole ”var=arvo”-muodossa\n" "\n" -#: main.c:1305 +#: main.c:1300 #, c-format msgid "`%s' is not a legal variable name" msgstr "”%s” ei ole laillinen muuttujanimi" -#: main.c:1308 +#: main.c:1303 #, 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:1312 +#: main.c:1307 #, c-format msgid "cannot use gawk builtin `%s' as variable name" -msgstr "ei voi käyttää gawk-ohjelman sisäistä ”%s”-määrittelyä muuttujanimenä" +msgstr "gawk-ohjelman sisäisen ”%s”-määrittelyn käyttö muuttujanimenä epäonnistui" -#: main.c:1317 +#: main.c:1312 #, c-format msgid "cannot use function `%s' as variable name" -msgstr "funktionimeä ”%s” ei voi käyttää muuttujanimenä" +msgstr "funktionimen ”%s” käyttö muuttujanimenä epäonnistui" -#: main.c:1370 +#: main.c:1365 msgid "floating point exception" msgstr "liukulukupoikkeus" -#: main.c:1377 +#: main.c:1372 msgid "fatal error: internal error" msgstr "tuhoisa virhe: sisäinen virhe" -#: main.c:1392 +#: main.c:1387 msgid "fatal error: internal error: segfault" msgstr "tuhoisa virhe: sisäinen virhe: segmenttivirhe" -#: main.c:1404 +#: main.c:1399 msgid "fatal error: internal error: stack overflow" msgstr "tuhoisa virhe: sisäinen virhe: pinoylivuoto" -#: main.c:1463 +#: main.c:1458 #, c-format msgid "no pre-opened fd %d" msgstr "ei avattu uudelleen tiedostomäärittelijää %d" -#: main.c:1470 +#: main.c:1465 #, c-format msgid "could not pre-open /dev/null for fd %d" -msgstr "ei voitu avata uudelleen laitetta /dev/null tiedostomäärittelijälle %d" +msgstr "laitteen /dev/null avaaminen uudelleen tiedostomäärittelijälle %d epäonnistui" #: mpfr.c:550 -#, fuzzy, c-format +#, c-format msgid "PREC value `%.*s' is invalid" -msgstr "BINMODE-arvo ”%s” on virheellinen, käsiteltiin arvona 3" +msgstr "PREC-arvo ”%.*s” on virheellinen" #: mpfr.c:608 -#, fuzzy, c-format +#, c-format msgid "RNDMODE value `%.*s' is invalid" -msgstr "BINMODE-arvo ”%s” on virheellinen, käsiteltiin arvona 3" +msgstr "RNDMODE-arvo ”%.*s” on virheellinen" #: mpfr.c:698 -#, fuzzy, c-format +#, c-format msgid "%s: received non-numeric argument" -msgstr "cos: vastaanotettu argumentti ei ole numeerinen" +msgstr "%s: vastaanotettu argumentti ei ole numeerinen" #: mpfr.c:800 -#, fuzzy msgid "compl(%Rg): negative value will give strange results" -msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "compl(%Rg): negatiivinen arvo antaa outoja tuloksia" #: mpfr.c:804 -#, fuzzy msgid "comp(%Rg): fractional value will be truncated" -msgstr "compl(%lf): jaosarvo typistetään" +msgstr "compl(%Rg): jaosarvo typistetään" #: mpfr.c:816 -#, fuzzy, c-format +#, c-format msgid "cmpl(%Zd): negative values will give strange results" -msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "compl(%Zd): negatiiviset arvot antavat outoja tuloksia" #: mpfr.c:835 -#, fuzzy, c-format +#, c-format msgid "%s: received non-numeric argument #%d" -msgstr "cos: vastaanotettu argumentti ei ole numeerinen" +msgstr "%s: vastaanotettu argumentti #%d ei ole numeerinen" #: mpfr.c:845 msgid "%s: argument #%d has invalid value %Rg, using 0" -msgstr "" +msgstr "%s: argumentilla #%d on virheellinen arvo %Rg, käytetään 0" #: mpfr.c:857 -#, fuzzy msgid "%s: argument #%d negative value %Rg will give strange results" -msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "%s: argumentin #%d negatiivinen arvo %Rg antaa outoja tuloksia" #: mpfr.c:863 -#, fuzzy msgid "%s: argument #%d fractional value %Rg will be truncated" -msgstr "or(%lf, %lf): jaosarvot typistetään" +msgstr "%s: argumentin #%d jaosarvo %Rg typistetään" #: mpfr.c:878 -#, fuzzy, c-format +#, c-format msgid "%s: argument #%d negative value %Zd will give strange results" -msgstr "compl(%lf): negatiiviset arvot antavat outoja tuloksia" +msgstr "%s: argumentin #%d negatiivinen arvo %Zd antaa outoja tuloksia" #: msg.c:61 #, c-format @@ -3335,12 +3195,8 @@ msgstr "ei heksadesimaalilukuja ”\\x”-koodinvaihtosekvenssissä" #: node.c:579 #, c-format -msgid "" -"hex escape \\x%.*s of %d characters probably not interpreted the way you " -"expect" -msgstr "" -"heksadesimaalikoodinvaihtomerkkejä \\x%.*s / %d ei ole luultavasti tulkittu " -"sillä tavalla kuin odotat" +msgid "hex escape \\x%.*s of %d characters probably not interpreted the way you expect" +msgstr "heksadesimaalikoodinvaihtomerkkejä \\x%.*s / %d ei ole luultavasti tulkittu sillä tavalla kuin odotat" #: node.c:594 #, c-format @@ -3348,27 +3204,23 @@ msgid "escape sequence `\\%c' treated as plain `%c'" msgstr "koodinvaihtosekvenssi ”\\%c” käsitelty kuin pelkkä ”%c”" #: node.c:739 -msgid "" -"Invalid multibyte data detected. There may be a mismatch between your data " -"and your locale." -msgstr "" -"Virheellinen monitavutieto havaittu. Paikallisasetuksesi ja tietojesi " -"välillä saattaa olla täsmäämättömyys." +msgid "Invalid multibyte data detected. There may be a mismatch between your data and your locale." +msgstr "Virheellinen monitavutieto havaittu. Paikallisasetuksesi ja tietojesi välillä saattaa olla täsmäämättömyys." #: posix/gawkmisc.c:177 #, c-format msgid "%s %s `%s': could not get fd flags: (fcntl F_GETFD: %s)" -msgstr "%s %s ”%s”: ei voitu hakea fd-lippuja: (fcntl F_GETFD: %s)" +msgstr "%s %s ”%s”: fd-lippujen hakeminen epäonnistui: (fcntl F_GETFD: %s)" #: posix/gawkmisc.c:189 #, c-format msgid "%s %s `%s': could not set close-on-exec: (fcntl F_SETFD: %s)" -msgstr "%s %s ”%s”: ei voitu asettaa close-on-exec: (fcntl F_SETFD: %s)" +msgstr "%s %s ”%s”: close-on-exec -asettaminen epäonnistui: (fcntl F_SETFD: %s)" #: profile.c:70 #, c-format msgid "could not open `%s' for writing: %s" -msgstr "ei voitu avata tiedostoa ”%s” kirjoittamista varten: %s" +msgstr "tiedoston ”%s” avaaminen kirjoittamista varten epäonnistui: %s" #: profile.c:72 msgid "sending profile to standard error" @@ -3398,9 +3250,8 @@ msgid "internal error: %s with null vname" msgstr "sisäinen virhe: %s null vname-arvolla" #: profile.c:530 -#, fuzzy msgid "internal error: builtin with null fname" -msgstr "sisäinen virhe: %s null vname-arvolla" +msgstr "sisäinen virhe: builtin null-funktionimellä" #: profile.c:942 #, c-format @@ -3408,6 +3259,8 @@ msgid "" "\t# Loaded extensions (-l and/or @load)\n" "\n" msgstr "" +"\t# Ladatut laajennukset (-l ja/tai @load)\n" +"\n" #: profile.c:965 #, c-format @@ -3436,8 +3289,7 @@ msgstr "muodon ”[%c-%c]” lukualue on paikallisasetuksesta riippuvainen" #: re.c:610 #, c-format msgid "regexp component `%.*s' should probably be `[%.*s]'" -msgstr "" -"säännöllisen lausekkeen komponentin ”%.*s” pitäisi luultavasti olla ”[%.*s]”" +msgstr "säännöllisen lausekkeen komponentin ”%.*s” pitäisi luultavasti olla ”[%.*s]”" #: regcomp.c:131 msgid "Success" @@ -3505,48 +3357,28 @@ msgstr "Ei edellistä säännöllistä lauseketta" #: symbol.c:740 msgid "can not pop main context" -msgstr "" - -#, fuzzy -#~ msgid "[s]printf called with no arguments" -#~ msgstr "sqrt: kutsuttu negatiivisella argumentilla %g" - -#~ msgid "`-m[fr]' option irrelevant in gawk" -#~ msgstr "”-m[fr]”-valitsin asiaanliittymätön gawk:ssa" - -#~ msgid "-m option usage: `-m[fr] nnn'" -#~ msgstr "-m valitsinkäyttö: ”-m[fr] nnn”" - -#, fuzzy -#~ msgid "%s: received non-numeric first argument" -#~ msgstr "or: ensimmäinen vastaanotettu argumentti ei ole numeerinen" +msgstr "pääsisällön pop-toiminto epäonnistui" -#, fuzzy -#~ msgid "%s: received non-numeric second argument" -#~ msgstr "or: toinen vastaanotettu argumentti ei ole numeerinen" +#~ msgid "attempt to use function `%s' as an array" +#~ msgstr "yritettiin käyttää funktiota ”%s” taulukkona" -#, fuzzy -#~ msgid "%s(%Rg, ..): negative values will give strange results" -#~ msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'" +#~ msgstr "viite alustamattomaan elementtiin ”%s[\"%.*s\"]”" -#, fuzzy -#~ msgid "%s(%Rg, ..): fractional values will be truncated" -#~ msgstr "or(%lf, %lf): jaosarvot typistetään" +#~ msgid "subscript of array `%s' is null string" +#~ msgstr "taulukon alaindeksi ”%s” on null-merkkijono" -#, fuzzy -#~ msgid "%s(%Zd, ..): negative values will give strange results" -#~ msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +#~ msgid "%s: empty (null)\n" +#~ msgstr "%s: tyhjä (null)\n" -#, fuzzy -#~ msgid "%s(.., %Rg): negative values will give strange results" -#~ msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +#~ msgid "%s: empty (zero)\n" +#~ msgstr "%s: tyhjä (nolla)\n" -#, fuzzy -#~ msgid "%s(.., %Zd): negative values will give strange results" -#~ msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" +#~ msgid "%s: table_size = %d, array_size = %d\n" +#~ msgstr "%s: table_size = %d, array_size = %d\n" -#~ msgid "`%s' is a Bell Labs extension" -#~ msgstr "”%s” on Bell Labs -laajennus" +#~ msgid "%s: array_ref to %s\n" +#~ msgstr "%s: array_ref-viite taulukkoon %s\n" #~ msgid "`nextfile' is a gawk extension" #~ msgstr "”nextfile” on gawk-laajennus" @@ -3554,14 +3386,29 @@ msgstr "" #~ msgid "`delete array' is a gawk extension" #~ msgstr "”delete array” on gawk-laajennus" +#~ msgid "use of non-array as array" +#~ msgstr "ei-taulukon käyttö taulukkona" + +#~ msgid "`%s' is a Bell Labs extension" +#~ msgstr "”%s” on Bell Labs -laajennus" + #~ msgid "and: received non-numeric first argument" #~ msgstr "and: ensimmäinen vastaanotettu argumentti ei ole numeerinen" #~ msgid "and: received non-numeric second argument" #~ msgstr "and: toinen vastaanotettu argumentti ei ole numeerinen" -#~ msgid "and(%lf, %lf): fractional values will be truncated" -#~ msgstr "and(%lf, %lf): jaosarvot typistetään" +#~ msgid "or: received non-numeric first argument" +#~ msgstr "or: ensimmäinen vastaanotettu argumentti ei ole numeerinen" + +#~ msgid "or: received non-numeric second argument" +#~ msgstr "or: toinen vastaanotettu argumentti ei ole numeerinen" + +#~ msgid "or(%lf, %lf): negative values will give strange results" +#~ msgstr "or(%lf, %lf): negatiiviset arvot antavat outoja tuloksia" + +#~ msgid "or(%lf, %lf): fractional values will be truncated" +#~ msgstr "or(%lf, %lf): jaosarvot typistetään" #~ msgid "xor: received non-numeric first argument" #~ msgstr "xor: ensimmäinen vastaanotettu argumentti ei ole numeerinen" @@ -3572,35 +3419,8 @@ msgstr "" #~ msgid "xor(%lf, %lf): fractional values will be truncated" #~ msgstr "xor(%lf, %lf): jaosarvot typistetään" -#~ msgid "Operation Not Supported" -#~ msgstr "Toimintoa ei tueta" - -#~ msgid "attempt to use function `%s' as an array" -#~ msgstr "yritettiin käyttää funktiota ”%s” taulukkona" - -#~ msgid "reference to uninitialized element `%s[\"%.*s\"]'" -#~ msgstr "viite alustamattomaan elementtiin ”%s[\"%.*s\"]”" - -#~ msgid "subscript of array `%s' is null string" -#~ msgstr "taulukon alaindeksi ”%s” on null-merkkijono" - -#~ msgid "%s: empty (null)\n" -#~ msgstr "%s: tyhjä (null)\n" - -#~ msgid "%s: empty (zero)\n" -#~ msgstr "%s: tyhjä (nolla)\n" - -#~ msgid "%s: table_size = %d, array_size = %d\n" -#~ msgstr "%s: table_size = %d, array_size = %d\n" - -#~ msgid "%s: array_ref to %s\n" -#~ msgstr "%s: array_ref-viite taulukkoon %s\n" - -#~ msgid "use of non-array as array" -#~ msgstr "ei-taulukon käyttö taulukkona" - #~ msgid "can't use function name `%s' as variable or array" -#~ msgstr "funktionimeä ”%s” ei voi käyttää muuttujana tai taulukkona" +#~ msgstr "funktionimeä ”%s” käyttö muuttujana tai taulukkona epäonnistui" #~ msgid "assignment used in conditional context" #~ msgstr "sijoitusta käytetty ehdollisessa kontekstissa" @@ -3608,11 +3428,8 @@ msgstr "" #~ msgid "statement has no effect" #~ msgstr "käskyllä ei ole vaikutusta" -#~ msgid "" -#~ "for loop: array `%s' changed size from %ld to %ld during loop execution" -#~ msgstr "" -#~ "for-silmukka: taulukon ”%s” koko muuttui arvosta %ld arvoon %ld silmukan " -#~ "suorituksen aikana" +#~ msgid "for loop: array `%s' changed size from %ld to %ld during loop execution" +#~ msgstr "for-silmukka: taulukon ”%s” koko muuttui arvosta %ld arvoon %ld silmukan suorituksen aikana" #~ msgid "function called indirectly through `%s' does not exist" #~ msgstr "kohteen ”%s” kautta epäsuorasti kutsuttu funktio ei ole olemassa" @@ -3632,11 +3449,20 @@ msgstr "" #~ msgid "Sorry, don't know how to interpret `%s'" #~ msgstr "Ei osata tulkita kohdetta ”%s”" +#~ msgid "Operation Not Supported" +#~ msgstr "Toimintoa ei tueta" + +#~ msgid "`-m[fr]' option irrelevant in gawk" +#~ msgstr "”-m[fr]”-valitsin asiaanliittymätön gawk:ssa" + +#~ msgid "-m option usage: `-m[fr] nnn'" +#~ msgstr "-m valitsinkäyttö: ”-m[fr] nnn”" + #~ msgid "\t-R file\t\t\t--command=file\n" #~ msgstr "\t-R tiedosto\t\t\t--exec=tiedosto\n" #~ msgid "could not find groups: %s" -#~ msgstr "ei voitu löytää ryhmiä: %s" +#~ msgstr "ryhmien löytäminen epäonnistui: %s" #~ msgid "assignment is not allowed to result of builtin function" #~ msgstr "sijoitusta ei sallita sisäänrakennetun funktion tulokselle" @@ -3651,8 +3477,7 @@ msgstr "" #~ msgstr "muisti loppui" #~ msgid "call of `length' without parentheses is deprecated by POSIX" -#~ msgstr "" -#~ "”length”-kutsu ilman sulkumerkkejä on vanhentunut POSIX-standardissa" +#~ msgstr "”length”-kutsu ilman sulkumerkkejä on vanhentunut POSIX-standardissa" #~ msgid "division by zero attempted in `/'" #~ msgstr "jakoa nollalla yritettiin operaatiossa ”/”" @@ -3675,12 +3500,8 @@ msgstr "" #~ msgid "`nextfile' cannot be called from a BEGIN rule" #~ msgstr "”nextfile” ei voida kutsua BEGIN-säännöstä" -#~ msgid "" -#~ "concatenation: side effects in one expression have changed the length of " -#~ "another!" -#~ msgstr "" -#~ "concatenation: sivuvaikutukset yhdessä lausekkeessa ovat muuttaneet " -#~ "toisen pituutta!" +#~ msgid "concatenation: side effects in one expression have changed the length of another!" +#~ msgstr "concatenation: sivuvaikutukset yhdessä lausekkeessa ovat muuttaneet toisen pituutta!" #~ msgid "illegal type (%s) in tree_eval" #~ msgstr "virheellinen tyyppi (%s) funktiossa tree_eval" @@ -3701,7 +3522,7 @@ msgstr "" #~ msgstr "/inet/raw-palvelin ei ole vielä valitettavasti valmis" #~ msgid "file `%s' is a directory" -#~ msgstr "tiedosto `%s' on hakemisto" +#~ msgstr "tiedosto ”%s” on hakemisto" #~ msgid "use `PROCINFO[\"%s\"]' instead of `%s'" #~ msgstr "käytä ”PROCINFO[\"%s\"]” eikä ”%s”" @@ -3722,7 +3543,7 @@ msgstr "" #~ msgstr "\t-W usage\t\t--usage\n" #~ msgid "can't convert string to float" -#~ msgstr "ei voi muuntaa merkkijonoa liukuluvuksi" +#~ msgstr "merkkijonon muuntaminen liukuluvuksi epäonnistui" #~ msgid "# treated internally as `delete'" #~ msgstr "# käsitelty sisäisesti kuin ”delete”" @@ -3744,8 +3565,10 @@ msgstr "" #~ msgstr "Tuntematon solmutyyppi %s funktiossa pp_var" #~ msgid "can't open two way socket `%s' for input/output (%s)" -#~ msgstr "" -#~ "ei voi avata kaksisuuntaista pistoketta ”%s” syötteelle/tulosteelle (%s)" +#~ msgstr "kaksisuuntaisen vastakkeen ”%s” avaaminen syötteelle/tulosteelle (%s) epäonnistui" #~ msgid "attempt to use scalar `%s' as array" #~ msgstr "yritettiin käyttää skalaaria ”%s” taulukkona" + +#~ msgid "cannot pop main context" +#~ msgstr "pääsisällön pop-toiminto epäonnistui" |