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 | 1086 | ||||
-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, 2186 insertions, 2390 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 @@ -22,7 +22,7 @@ Changes from 4.1.0 to 4.1.1 1. The "stat" extension now includes a "devbsize" element which indicates the units for the "nblocks" element -2. The extension 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. @@ -31,7 +31,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 e40a2127..b953d1b0 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-26 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: More minor additions / fixes. diff --git a/doc/gawk.info b/doc/gawk.info index e45050b2..91962482 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 @@ -4381,6 +4382,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 @@ -4562,7 +4564,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 ---------------------------------------- @@ -4649,9 +4651,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 @@ -29908,7 +29928,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) @@ -30567,8 +30587,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) @@ -30579,7 +30599,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) @@ -30592,7 +30612,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) @@ -30701,12 +30721,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) @@ -31643,7 +31663,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) @@ -32013,7 +32033,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) @@ -32207,521 +32227,523 @@ Index Tag Table: -Node: Top1360 -Node: Foreword40460 -Node: Preface44805 -Ref: Preface-Footnote-147858 -Ref: Preface-Footnote-247954 -Node: History48186 -Node: Names50560 -Ref: Names-Footnote-152037 -Node: This Manual52109 -Ref: This Manual-Footnote-157883 -Node: Conventions57983 -Node: Manual History60139 -Ref: Manual History-Footnote-163587 -Ref: Manual History-Footnote-263628 -Node: How To Contribute63702 -Node: Acknowledgments64846 -Node: Getting Started69055 -Node: Running gawk71434 -Node: One-shot72620 -Node: Read Terminal73845 -Ref: Read Terminal-Footnote-175495 -Ref: Read Terminal-Footnote-275771 -Node: Long75942 -Node: Executable Scripts77318 -Ref: Executable Scripts-Footnote-179151 -Ref: Executable Scripts-Footnote-279253 -Node: Comments79800 -Node: Quoting82267 -Node: DOS Quoting86890 -Node: Sample Data Files87565 -Node: Very Simple90609 -Node: Two Rules95208 -Node: More Complex97355 -Ref: More Complex-Footnote-1100285 -Node: Statements/Lines100370 -Ref: Statements/Lines-Footnote-1104832 -Node: Other Features105097 -Node: When106025 -Node: Invoking Gawk108172 -Node: Command Line109633 -Node: Options110416 -Ref: Options-Footnote-1125808 -Node: Other Arguments125833 -Node: Naming Standard Input128491 -Node: Environment Variables129585 -Node: AWKPATH Variable130143 -Ref: AWKPATH Variable-Footnote-1132901 -Node: AWKLIBPATH Variable133161 -Node: Other Environment Variables133879 -Node: Exit Status136842 -Node: Include Files137517 -Node: Loading Shared Libraries141086 -Node: Obsolete142450 -Node: Undocumented143147 -Node: Regexp143389 -Node: Regexp Usage144778 -Node: Escape Sequences146804 -Node: Regexp Operators152473 -Ref: Regexp Operators-Footnote-1159853 -Ref: Regexp Operators-Footnote-2160000 -Node: Bracket Expressions160098 -Ref: table-char-classes161988 -Node: GNU Regexp Operators164511 -Node: Case-sensitivity168234 -Ref: Case-sensitivity-Footnote-1171202 -Ref: Case-sensitivity-Footnote-2171437 -Node: Leftmost Longest171545 -Node: Computed Regexps172746 -Node: Reading Files176083 -Node: Records178085 -Ref: Records-Footnote-1186974 -Node: Fields187011 -Ref: Fields-Footnote-1190044 -Node: Nonconstant Fields190130 -Node: Changing Fields192332 -Node: Field Separators198291 -Node: Default Field Splitting200920 -Node: Regexp Field Splitting202037 -Node: Single Character Fields205379 -Node: Command Line Field Separator206438 -Node: Field Splitting Summary209879 -Ref: Field Splitting Summary-Footnote-1212990 -Node: Constant Size213091 -Node: Splitting By Content217675 -Ref: Splitting By Content-Footnote-1221401 -Node: Multiple Line221441 -Ref: Multiple Line-Footnote-1227288 -Node: Getline227467 -Node: Plain Getline229683 -Node: Getline/Variable231778 -Node: Getline/File232925 -Node: Getline/Variable/File234266 -Ref: Getline/Variable/File-Footnote-1235865 -Node: Getline/Pipe235952 -Node: Getline/Variable/Pipe238651 -Node: Getline/Coprocess239758 -Node: Getline/Variable/Coprocess241010 -Node: Getline Notes241747 -Node: Getline Summary244534 -Ref: table-getline-variants244942 -Node: Read Timeout245854 -Ref: Read Timeout-Footnote-1249595 -Node: Command line directories249652 -Node: Printing250282 -Node: Print251913 -Node: Print Examples253250 -Node: Output Separators256034 -Node: OFMT257794 -Node: Printf259152 -Node: Basic Printf260058 -Node: Control Letters261597 -Node: Format Modifiers265409 -Node: Printf Examples271418 -Node: Redirection274133 -Node: Special Files281098 -Node: Special FD281631 -Ref: Special FD-Footnote-1285256 -Node: Special Network285330 -Node: Special Caveats286180 -Node: Close Files And Pipes286976 -Ref: Close Files And Pipes-Footnote-1293959 -Ref: Close Files And Pipes-Footnote-2294107 -Node: Expressions294257 -Node: Values295389 -Node: Constants296065 -Node: Scalar Constants296745 -Ref: Scalar Constants-Footnote-1297604 -Node: Nondecimal-numbers297786 -Node: Regexp Constants300786 -Node: Using Constant Regexps301261 -Node: Variables304316 -Node: Using Variables304971 -Node: Assignment Options306695 -Node: Conversion308567 -Ref: table-locale-affects314068 -Ref: Conversion-Footnote-1314692 -Node: All Operators314801 -Node: Arithmetic Ops315431 -Node: Concatenation317936 -Ref: Concatenation-Footnote-1320728 -Node: Assignment Ops320848 -Ref: table-assign-ops325836 -Node: Increment Ops327167 -Node: Truth Values and Conditions330601 -Node: Truth Values331684 -Node: Typing and Comparison332733 -Node: Variable Typing333526 -Ref: Variable Typing-Footnote-1337423 -Node: Comparison Operators337545 -Ref: table-relational-ops337955 -Node: POSIX String Comparison341504 -Ref: POSIX String Comparison-Footnote-1342460 -Node: Boolean Ops342598 -Ref: Boolean Ops-Footnote-1346676 -Node: Conditional Exp346767 -Node: Function Calls348499 -Node: Precedence352093 -Node: Locales355762 -Node: Patterns and Actions356851 -Node: Pattern Overview357905 -Node: Regexp Patterns359574 -Node: Expression Patterns360117 -Node: Ranges363802 -Node: BEGIN/END366768 -Node: Using BEGIN/END367530 -Ref: Using BEGIN/END-Footnote-1370261 -Node: I/O And BEGIN/END370367 -Node: BEGINFILE/ENDFILE372649 -Node: Empty375563 -Node: Using Shell Variables375879 -Node: Action Overview378164 -Node: Statements380521 -Node: If Statement382375 -Node: While Statement383874 -Node: Do Statement385918 -Node: For Statement387074 -Node: Switch Statement390226 -Node: Break Statement392323 -Node: Continue Statement394313 -Node: Next Statement396106 -Node: Nextfile Statement398496 -Node: Exit Statement401139 -Node: Built-in Variables403555 -Node: User-modified404650 -Ref: User-modified-Footnote-1413008 -Node: Auto-set413070 -Ref: Auto-set-Footnote-1426540 -Ref: Auto-set-Footnote-2426745 -Node: ARGC and ARGV426801 -Node: Arrays430652 -Node: Array Basics432157 -Node: Array Intro432983 -Node: Reference to Elements437300 -Node: Assigning Elements439570 -Node: Array Example440061 -Node: Scanning an Array441793 -Node: Controlling Scanning444107 -Ref: Controlling Scanning-Footnote-1449194 -Node: Delete449510 -Ref: Delete-Footnote-1452275 -Node: Numeric Array Subscripts452332 -Node: Uninitialized Subscripts454515 -Node: Multidimensional456142 -Node: Multiscanning459234 -Node: Arrays of Arrays460823 -Node: Functions465463 -Node: Built-in466282 -Node: Calling Built-in467360 -Node: Numeric Functions469348 -Ref: Numeric Functions-Footnote-1473180 -Ref: Numeric Functions-Footnote-2473537 -Ref: Numeric Functions-Footnote-3473585 -Node: String Functions473854 -Ref: String Functions-Footnote-1496774 -Ref: String Functions-Footnote-2496903 -Ref: String Functions-Footnote-3497151 -Node: Gory Details497238 -Ref: table-sub-escapes498917 -Ref: table-sub-posix-92500271 -Ref: table-sub-proposed501622 -Ref: table-posix-sub502976 -Ref: table-gensub-escapes504521 -Ref: Gory Details-Footnote-1505697 -Ref: Gory Details-Footnote-2505748 -Node: I/O Functions505899 -Ref: I/O Functions-Footnote-1512884 -Node: Time Functions513031 -Ref: Time Functions-Footnote-1523964 -Ref: Time Functions-Footnote-2524032 -Ref: Time Functions-Footnote-3524190 -Ref: Time Functions-Footnote-4524301 -Ref: Time Functions-Footnote-5524413 -Ref: Time Functions-Footnote-6524640 -Node: Bitwise Functions524906 -Ref: table-bitwise-ops525468 -Ref: Bitwise Functions-Footnote-1529689 -Node: Type Functions529873 -Node: I18N Functions531024 -Node: User-defined532651 -Node: Definition Syntax533455 -Ref: Definition Syntax-Footnote-1538365 -Node: Function Example538434 -Node: Function Caveats541028 -Node: Calling A Function541449 -Node: Variable Scope542564 -Node: Pass By Value/Reference545527 -Node: Return Statement549035 -Node: Dynamic Typing552016 -Node: Indirect Calls552947 -Node: Library Functions562632 -Ref: Library Functions-Footnote-1566145 -Ref: Library Functions-Footnote-2566288 -Node: Library Names566459 -Ref: Library Names-Footnote-1569930 -Ref: Library Names-Footnote-2570150 -Node: General Functions570236 -Node: Strtonum Function571264 -Node: Assert Function574194 -Node: Round Function577520 -Node: Cliff Random Function579063 -Node: Ordinal Functions580079 -Ref: Ordinal Functions-Footnote-1583149 -Ref: Ordinal Functions-Footnote-2583401 -Node: Join Function583610 -Ref: Join Function-Footnote-1585381 -Node: Getlocaltime Function585581 -Node: Readfile Function589322 -Node: Data File Management591161 -Node: Filetrans Function591793 -Node: Rewind Function595862 -Node: File Checking597249 -Node: Empty Files598343 -Node: Ignoring Assigns600573 -Node: Getopt Function602126 -Ref: Getopt Function-Footnote-1613429 -Node: Passwd Functions613632 -Ref: Passwd Functions-Footnote-1622607 -Node: Group Functions622695 -Node: Walking Arrays630779 -Node: Sample Programs632916 -Node: Running Examples633590 -Node: Clones634318 -Node: Cut Program635542 -Node: Egrep Program645387 -Ref: Egrep Program-Footnote-1653160 -Node: Id Program653270 -Node: Split Program656886 -Ref: Split Program-Footnote-1660405 -Node: Tee Program660533 -Node: Uniq Program663336 -Node: Wc Program670765 -Ref: Wc Program-Footnote-1675031 -Ref: Wc Program-Footnote-2675231 -Node: Miscellaneous Programs675323 -Node: Dupword Program676511 -Node: Alarm Program678542 -Node: Translate Program683295 -Ref: Translate Program-Footnote-1687682 -Ref: Translate Program-Footnote-2687930 -Node: Labels Program688064 -Ref: Labels Program-Footnote-1691435 -Node: Word Sorting691519 -Node: History Sorting695403 -Node: Extract Program697242 -Ref: Extract Program-Footnote-1704745 -Node: Simple Sed704873 -Node: Igawk Program707935 -Ref: Igawk Program-Footnote-1723092 -Ref: Igawk Program-Footnote-2723293 -Node: Anagram Program723431 -Node: Signature Program726499 -Node: Advanced Features727599 -Node: Nondecimal Data729485 -Node: Array Sorting731068 -Node: Controlling Array Traversal731765 -Node: Array Sorting Functions740049 -Ref: Array Sorting Functions-Footnote-1743918 -Node: Two-way I/O744112 -Ref: Two-way I/O-Footnote-1749544 -Node: TCP/IP Networking749614 -Node: Profiling752458 -Node: Internationalization759955 -Node: I18N and L10N761380 -Node: Explaining gettext762066 -Ref: Explaining gettext-Footnote-1767134 -Ref: Explaining gettext-Footnote-2767318 -Node: Programmer i18n767483 -Node: Translator i18n771685 -Node: String Extraction772478 -Ref: String Extraction-Footnote-1773439 -Node: Printf Ordering773525 -Ref: Printf Ordering-Footnote-1776309 -Node: I18N Portability776373 -Ref: I18N Portability-Footnote-1778822 -Node: I18N Example778885 -Ref: I18N Example-Footnote-1781523 -Node: Gawk I18N781595 -Node: Debugger782216 -Node: Debugging783187 -Node: Debugging Concepts783620 -Node: Debugging Terms785476 -Node: Awk Debugging788073 -Node: Sample Debugging Session788965 -Node: Debugger Invocation789485 -Node: Finding The Bug790817 -Node: List of Debugger Commands797305 -Node: Breakpoint Control798639 -Node: Debugger Execution Control802303 -Node: Viewing And Changing Data805663 -Node: Execution Stack809019 -Node: Debugger Info810486 -Node: Miscellaneous Debugger Commands814468 -Node: Readline Support819644 -Node: Limitations820475 -Node: Arbitrary Precision Arithmetic822727 -Ref: Arbitrary Precision Arithmetic-Footnote-1824376 -Node: General Arithmetic824524 -Node: Floating Point Issues826244 -Node: String Conversion Precision827125 -Ref: String Conversion Precision-Footnote-1828830 -Node: Unexpected Results828939 -Node: POSIX Floating Point Problems831092 -Ref: POSIX Floating Point Problems-Footnote-1834917 -Node: Integer Programming834955 -Node: Floating-point Programming836694 -Ref: Floating-point Programming-Footnote-1843025 -Ref: Floating-point Programming-Footnote-2843295 -Node: Floating-point Representation843559 -Node: Floating-point Context844724 -Ref: table-ieee-formats845563 -Node: Rounding Mode846947 -Ref: table-rounding-modes847426 -Ref: Rounding Mode-Footnote-1850441 -Node: Gawk and MPFR850620 -Node: Arbitrary Precision Floats851875 -Ref: Arbitrary Precision Floats-Footnote-1854318 -Node: Setting Precision854634 -Ref: table-predefined-precision-strings855320 -Node: Setting Rounding Mode857465 -Ref: table-gawk-rounding-modes857869 -Node: Floating-point Constants859056 -Node: Changing Precision860485 -Ref: Changing Precision-Footnote-1861882 -Node: Exact Arithmetic862056 -Node: Arbitrary Precision Integers865194 -Ref: Arbitrary Precision Integers-Footnote-1868212 -Node: Dynamic Extensions868359 -Node: Extension Intro869817 -Node: Plugin License871082 -Node: Extension Mechanism Outline871767 -Ref: load-extension872184 -Ref: load-new-function873662 -Ref: call-new-function874657 -Node: Extension API Description876672 -Node: Extension API Functions Introduction877885 -Node: General Data Types882751 -Ref: General Data Types-Footnote-1888356 -Node: Requesting Values888655 -Ref: table-value-types-returned889386 -Node: Constructor Functions890340 -Node: Registration Functions893360 -Node: Extension Functions894045 -Node: Exit Callback Functions896270 -Node: Extension Version String897519 -Node: Input Parsers898169 -Node: Output Wrappers907926 -Node: Two-way processors912436 -Node: Printing Messages914644 -Ref: Printing Messages-Footnote-1915721 -Node: Updating `ERRNO'915873 -Node: Accessing Parameters916612 -Node: Symbol Table Access917842 -Node: Symbol table by name918354 -Node: Symbol table by cookie920101 -Ref: Symbol table by cookie-Footnote-1924231 -Node: Cached values924294 -Ref: Cached values-Footnote-1927743 -Node: Array Manipulation927834 -Ref: Array Manipulation-Footnote-1928932 -Node: Array Data Types928971 -Ref: Array Data Types-Footnote-1931674 -Node: Array Functions931766 -Node: Flattening Arrays935532 -Node: Creating Arrays942384 -Node: Extension API Variables947109 -Node: Extension Versioning947745 -Node: Extension API Informational Variables949646 -Node: Extension API Boilerplate950732 -Node: Finding Extensions954536 -Node: Extension Example955096 -Node: Internal File Description955826 -Node: Internal File Ops959917 -Ref: Internal File Ops-Footnote-1971425 -Node: Using Internal File Ops971565 -Ref: Using Internal File Ops-Footnote-1973918 -Node: Extension Samples974184 -Node: Extension Sample File Functions975708 -Node: Extension Sample Fnmatch984193 -Node: Extension Sample Fork985919 -Node: Extension Sample Inplace987137 -Node: Extension Sample Ord988915 -Node: Extension Sample Readdir989751 -Node: Extension Sample Revout991283 -Node: Extension Sample Rev2way991876 -Node: Extension Sample Read write array992566 -Node: Extension Sample Readfile994449 -Node: Extension Sample API Tests995267 -Node: Extension Sample Time995792 -Node: gawkextlib997156 -Node: Language History999937 -Node: V7/SVR3.11001459 -Node: SVR41003779 -Node: POSIX1005221 -Node: BTL1006607 -Node: POSIX/GNU1007341 -Node: Common Extensions1012876 -Node: Ranges and Locales1014182 -Ref: Ranges and Locales-Footnote-11018800 -Ref: Ranges and Locales-Footnote-21018827 -Ref: Ranges and Locales-Footnote-31019087 -Node: Contributors1019308 -Node: Installation1024383 -Node: Gawk Distribution1025277 -Node: Getting1025761 -Node: Extracting1026587 -Node: Distribution contents1028279 -Node: Unix Installation1033984 -Node: Quick Installation1034601 -Node: Additional Configuration Options1037045 -Node: Configuration Philosophy1038781 -Node: Non-Unix Installation1041135 -Node: PC Installation1041593 -Node: PC Binary Installation1042892 -Node: PC Compiling1044740 -Node: PC Testing1047684 -Node: PC Using1048860 -Node: Cygwin1053045 -Node: MSYS1054045 -Node: VMS Installation1054559 -Node: VMS Compilation1055162 -Ref: VMS Compilation-Footnote-11056169 -Node: VMS Installation Details1056227 -Node: VMS Running1057862 -Node: VMS Old Gawk1059469 -Node: Bugs1059943 -Node: Other Versions1063863 -Node: Notes1069947 -Node: Compatibility Mode1070747 -Node: Additions1071530 -Node: Accessing The Source1072457 -Node: Adding Code1073897 -Node: New Ports1079942 -Node: Derived Files1084077 -Ref: Derived Files-Footnote-11089398 -Ref: Derived Files-Footnote-21089432 -Ref: Derived Files-Footnote-31090032 -Node: Future Extensions1090130 -Node: Implementation Limitations1090713 -Node: Extension Design1091965 -Node: Old Extension Problems1093119 -Ref: Old Extension Problems-Footnote-11094627 -Node: Extension New Mechanism Goals1094684 -Ref: Extension New Mechanism Goals-Footnote-11098049 -Node: Extension Other Design Decisions1098235 -Node: Extension Future Growth1100341 -Node: Old Extension Mechanism1101177 -Node: Basic Concepts1102917 -Node: Basic High Level1103598 -Ref: figure-general-flow1103869 -Ref: figure-process-flow1104468 -Ref: Basic High Level-Footnote-11107697 -Node: Basic Data Typing1107882 -Node: Glossary1111237 -Node: Copying1136699 -Node: GNU Free Documentation License1174256 -Node: Index1199393 +Node: Top1366 +Node: Foreword40552 +Node: Preface44897 +Ref: Preface-Footnote-147950 +Ref: Preface-Footnote-248046 +Node: History48278 +Node: Names50652 +Ref: Names-Footnote-152129 +Node: This Manual52201 +Ref: This Manual-Footnote-157975 +Node: Conventions58075 +Node: Manual History60231 +Ref: Manual History-Footnote-163679 +Ref: Manual History-Footnote-263720 +Node: How To Contribute63794 +Node: Acknowledgments64938 +Node: Getting Started69147 +Node: Running gawk71526 +Node: One-shot72712 +Node: Read Terminal73937 +Ref: Read Terminal-Footnote-175587 +Ref: Read Terminal-Footnote-275863 +Node: Long76034 +Node: Executable Scripts77410 +Ref: Executable Scripts-Footnote-179243 +Ref: Executable Scripts-Footnote-279345 +Node: Comments79892 +Node: Quoting82359 +Node: DOS Quoting86982 +Node: Sample Data Files87657 +Node: Very Simple90701 +Node: Two Rules95300 +Node: More Complex97447 +Ref: More Complex-Footnote-1100377 +Node: Statements/Lines100462 +Ref: Statements/Lines-Footnote-1104924 +Node: Other Features105189 +Node: When106117 +Node: Invoking Gawk108264 +Node: Command Line109725 +Node: Options110508 +Ref: Options-Footnote-1125900 +Node: Other Arguments125925 +Node: Naming Standard Input128583 +Node: Environment Variables129677 +Node: AWKPATH Variable130235 +Ref: AWKPATH Variable-Footnote-1132993 +Node: AWKLIBPATH Variable133253 +Node: Other Environment Variables133971 +Node: Exit Status136934 +Node: Include Files137609 +Node: Loading Shared Libraries141178 +Node: Obsolete142542 +Node: Undocumented143239 +Node: Regexp143481 +Node: Regexp Usage144870 +Node: Escape Sequences146896 +Node: Regexp Operators152565 +Ref: Regexp Operators-Footnote-1159945 +Ref: Regexp Operators-Footnote-2160092 +Node: Bracket Expressions160190 +Ref: table-char-classes162080 +Node: GNU Regexp Operators164603 +Node: Case-sensitivity168326 +Ref: Case-sensitivity-Footnote-1171294 +Ref: Case-sensitivity-Footnote-2171529 +Node: Leftmost Longest171637 +Node: Computed Regexps172838 +Node: Reading Files176175 +Node: Records178177 +Ref: Records-Footnote-1187066 +Node: Fields187103 +Ref: Fields-Footnote-1190136 +Node: Nonconstant Fields190222 +Node: Changing Fields192424 +Node: Field Separators198383 +Node: Default Field Splitting201085 +Node: Regexp Field Splitting202202 +Node: Single Character Fields205544 +Node: Command Line Field Separator206603 +Node: Full Line Fields210037 +Ref: Full Line Fields-Footnote-1210545 +Node: Field Splitting Summary210591 +Ref: Field Splitting Summary-Footnote-1213690 +Node: Constant Size213791 +Node: Splitting By Content218375 +Ref: Splitting By Content-Footnote-1222101 +Node: Multiple Line222141 +Ref: Multiple Line-Footnote-1227988 +Node: Getline228167 +Node: Plain Getline230383 +Node: Getline/Variable232478 +Node: Getline/File233625 +Node: Getline/Variable/File234966 +Ref: Getline/Variable/File-Footnote-1236565 +Node: Getline/Pipe236652 +Node: Getline/Variable/Pipe239351 +Node: Getline/Coprocess240458 +Node: Getline/Variable/Coprocess241710 +Node: Getline Notes242447 +Node: Getline Summary245234 +Ref: table-getline-variants245642 +Node: Read Timeout246554 +Ref: Read Timeout-Footnote-1250295 +Node: Command line directories250352 +Node: Printing250982 +Node: Print252613 +Node: Print Examples253950 +Node: Output Separators256734 +Node: OFMT258494 +Node: Printf259852 +Node: Basic Printf260758 +Node: Control Letters262297 +Node: Format Modifiers266109 +Node: Printf Examples272118 +Node: Redirection274833 +Node: Special Files281798 +Node: Special FD282331 +Ref: Special FD-Footnote-1285956 +Node: Special Network286030 +Node: Special Caveats286880 +Node: Close Files And Pipes287676 +Ref: Close Files And Pipes-Footnote-1294659 +Ref: Close Files And Pipes-Footnote-2294807 +Node: Expressions294957 +Node: Values296089 +Node: Constants296765 +Node: Scalar Constants297445 +Ref: Scalar Constants-Footnote-1298304 +Node: Nondecimal-numbers298486 +Node: Regexp Constants301486 +Node: Using Constant Regexps301961 +Node: Variables305016 +Node: Using Variables305671 +Node: Assignment Options307395 +Node: Conversion309267 +Ref: table-locale-affects314768 +Ref: Conversion-Footnote-1315392 +Node: All Operators315501 +Node: Arithmetic Ops316131 +Node: Concatenation318636 +Ref: Concatenation-Footnote-1321428 +Node: Assignment Ops321548 +Ref: table-assign-ops326536 +Node: Increment Ops327867 +Node: Truth Values and Conditions331301 +Node: Truth Values332384 +Node: Typing and Comparison333433 +Node: Variable Typing334226 +Ref: Variable Typing-Footnote-1338123 +Node: Comparison Operators338245 +Ref: table-relational-ops338655 +Node: POSIX String Comparison342204 +Ref: POSIX String Comparison-Footnote-1343160 +Node: Boolean Ops343298 +Ref: Boolean Ops-Footnote-1347376 +Node: Conditional Exp347467 +Node: Function Calls349199 +Node: Precedence352793 +Node: Locales356462 +Node: Patterns and Actions357551 +Node: Pattern Overview358605 +Node: Regexp Patterns360274 +Node: Expression Patterns360817 +Node: Ranges364502 +Node: BEGIN/END367468 +Node: Using BEGIN/END368230 +Ref: Using BEGIN/END-Footnote-1370961 +Node: I/O And BEGIN/END371067 +Node: BEGINFILE/ENDFILE373349 +Node: Empty376263 +Node: Using Shell Variables376579 +Node: Action Overview378864 +Node: Statements381221 +Node: If Statement383075 +Node: While Statement384574 +Node: Do Statement386618 +Node: For Statement387774 +Node: Switch Statement390926 +Node: Break Statement393023 +Node: Continue Statement395013 +Node: Next Statement396806 +Node: Nextfile Statement399196 +Node: Exit Statement401839 +Node: Built-in Variables404255 +Node: User-modified405350 +Ref: User-modified-Footnote-1413708 +Node: Auto-set413770 +Ref: Auto-set-Footnote-1427240 +Ref: Auto-set-Footnote-2427445 +Node: ARGC and ARGV427501 +Node: Arrays431352 +Node: Array Basics432857 +Node: Array Intro433683 +Node: Reference to Elements438000 +Node: Assigning Elements440270 +Node: Array Example440761 +Node: Scanning an Array442493 +Node: Controlling Scanning444807 +Ref: Controlling Scanning-Footnote-1449894 +Node: Delete450210 +Ref: Delete-Footnote-1452975 +Node: Numeric Array Subscripts453032 +Node: Uninitialized Subscripts455215 +Node: Multidimensional456842 +Node: Multiscanning459934 +Node: Arrays of Arrays461523 +Node: Functions466163 +Node: Built-in466982 +Node: Calling Built-in468060 +Node: Numeric Functions470048 +Ref: Numeric Functions-Footnote-1473880 +Ref: Numeric Functions-Footnote-2474237 +Ref: Numeric Functions-Footnote-3474285 +Node: String Functions474554 +Ref: String Functions-Footnote-1497474 +Ref: String Functions-Footnote-2497603 +Ref: String Functions-Footnote-3497851 +Node: Gory Details497938 +Ref: table-sub-escapes499617 +Ref: table-sub-posix-92500971 +Ref: table-sub-proposed502322 +Ref: table-posix-sub503676 +Ref: table-gensub-escapes505221 +Ref: Gory Details-Footnote-1506397 +Ref: Gory Details-Footnote-2506448 +Node: I/O Functions506599 +Ref: I/O Functions-Footnote-1513584 +Node: Time Functions513731 +Ref: Time Functions-Footnote-1524664 +Ref: Time Functions-Footnote-2524732 +Ref: Time Functions-Footnote-3524890 +Ref: Time Functions-Footnote-4525001 +Ref: Time Functions-Footnote-5525113 +Ref: Time Functions-Footnote-6525340 +Node: Bitwise Functions525606 +Ref: table-bitwise-ops526168 +Ref: Bitwise Functions-Footnote-1530389 +Node: Type Functions530573 +Node: I18N Functions531724 +Node: User-defined533351 +Node: Definition Syntax534155 +Ref: Definition Syntax-Footnote-1539065 +Node: Function Example539134 +Node: Function Caveats541728 +Node: Calling A Function542149 +Node: Variable Scope543264 +Node: Pass By Value/Reference546227 +Node: Return Statement549735 +Node: Dynamic Typing552716 +Node: Indirect Calls553647 +Node: Library Functions563332 +Ref: Library Functions-Footnote-1566845 +Ref: Library Functions-Footnote-2566988 +Node: Library Names567159 +Ref: Library Names-Footnote-1570630 +Ref: Library Names-Footnote-2570850 +Node: General Functions570936 +Node: Strtonum Function571964 +Node: Assert Function574894 +Node: Round Function578220 +Node: Cliff Random Function579763 +Node: Ordinal Functions580779 +Ref: Ordinal Functions-Footnote-1583849 +Ref: Ordinal Functions-Footnote-2584101 +Node: Join Function584310 +Ref: Join Function-Footnote-1586081 +Node: Getlocaltime Function586281 +Node: Readfile Function590022 +Node: Data File Management591861 +Node: Filetrans Function592493 +Node: Rewind Function596562 +Node: File Checking597949 +Node: Empty Files599043 +Node: Ignoring Assigns601273 +Node: Getopt Function602826 +Ref: Getopt Function-Footnote-1614129 +Node: Passwd Functions614332 +Ref: Passwd Functions-Footnote-1623307 +Node: Group Functions623395 +Node: Walking Arrays631479 +Node: Sample Programs633616 +Node: Running Examples634290 +Node: Clones635018 +Node: Cut Program636242 +Node: Egrep Program646087 +Ref: Egrep Program-Footnote-1653860 +Node: Id Program653970 +Node: Split Program657586 +Ref: Split Program-Footnote-1661105 +Node: Tee Program661233 +Node: Uniq Program664036 +Node: Wc Program671465 +Ref: Wc Program-Footnote-1675731 +Ref: Wc Program-Footnote-2675931 +Node: Miscellaneous Programs676023 +Node: Dupword Program677211 +Node: Alarm Program679242 +Node: Translate Program683995 +Ref: Translate Program-Footnote-1688382 +Ref: Translate Program-Footnote-2688630 +Node: Labels Program688764 +Ref: Labels Program-Footnote-1692135 +Node: Word Sorting692219 +Node: History Sorting696103 +Node: Extract Program697942 +Ref: Extract Program-Footnote-1705445 +Node: Simple Sed705573 +Node: Igawk Program708635 +Ref: Igawk Program-Footnote-1723792 +Ref: Igawk Program-Footnote-2723993 +Node: Anagram Program724131 +Node: Signature Program727199 +Node: Advanced Features728299 +Node: Nondecimal Data730185 +Node: Array Sorting731768 +Node: Controlling Array Traversal732465 +Node: Array Sorting Functions740749 +Ref: Array Sorting Functions-Footnote-1744618 +Node: Two-way I/O744812 +Ref: Two-way I/O-Footnote-1750244 +Node: TCP/IP Networking750314 +Node: Profiling753158 +Node: Internationalization760655 +Node: I18N and L10N762080 +Node: Explaining gettext762766 +Ref: Explaining gettext-Footnote-1767834 +Ref: Explaining gettext-Footnote-2768018 +Node: Programmer i18n768183 +Node: Translator i18n772385 +Node: String Extraction773178 +Ref: String Extraction-Footnote-1774139 +Node: Printf Ordering774225 +Ref: Printf Ordering-Footnote-1777009 +Node: I18N Portability777073 +Ref: I18N Portability-Footnote-1779522 +Node: I18N Example779585 +Ref: I18N Example-Footnote-1782223 +Node: Gawk I18N782295 +Node: Debugger782916 +Node: Debugging783887 +Node: Debugging Concepts784320 +Node: Debugging Terms786176 +Node: Awk Debugging788773 +Node: Sample Debugging Session789665 +Node: Debugger Invocation790185 +Node: Finding The Bug791517 +Node: List of Debugger Commands798005 +Node: Breakpoint Control799339 +Node: Debugger Execution Control803003 +Node: Viewing And Changing Data806363 +Node: Execution Stack809719 +Node: Debugger Info811186 +Node: Miscellaneous Debugger Commands815168 +Node: Readline Support820344 +Node: Limitations821175 +Node: Arbitrary Precision Arithmetic823427 +Ref: Arbitrary Precision Arithmetic-Footnote-1825076 +Node: General Arithmetic825224 +Node: Floating Point Issues826944 +Node: String Conversion Precision827825 +Ref: String Conversion Precision-Footnote-1829530 +Node: Unexpected Results829639 +Node: POSIX Floating Point Problems831792 +Ref: POSIX Floating Point Problems-Footnote-1835617 +Node: Integer Programming835655 +Node: Floating-point Programming837394 +Ref: Floating-point Programming-Footnote-1843725 +Ref: Floating-point Programming-Footnote-2843995 +Node: Floating-point Representation844259 +Node: Floating-point Context845424 +Ref: table-ieee-formats846263 +Node: Rounding Mode847647 +Ref: table-rounding-modes848126 +Ref: Rounding Mode-Footnote-1851141 +Node: Gawk and MPFR851320 +Node: Arbitrary Precision Floats852575 +Ref: Arbitrary Precision Floats-Footnote-1855018 +Node: Setting Precision855334 +Ref: table-predefined-precision-strings856020 +Node: Setting Rounding Mode858165 +Ref: table-gawk-rounding-modes858569 +Node: Floating-point Constants859756 +Node: Changing Precision861185 +Ref: Changing Precision-Footnote-1862582 +Node: Exact Arithmetic862756 +Node: Arbitrary Precision Integers865894 +Ref: Arbitrary Precision Integers-Footnote-1868912 +Node: Dynamic Extensions869059 +Node: Extension Intro870517 +Node: Plugin License871782 +Node: Extension Mechanism Outline872467 +Ref: load-extension872884 +Ref: load-new-function874362 +Ref: call-new-function875357 +Node: Extension API Description877372 +Node: Extension API Functions Introduction878585 +Node: General Data Types883451 +Ref: General Data Types-Footnote-1889056 +Node: Requesting Values889355 +Ref: table-value-types-returned890086 +Node: Constructor Functions891040 +Node: Registration Functions894060 +Node: Extension Functions894745 +Node: Exit Callback Functions896970 +Node: Extension Version String898219 +Node: Input Parsers898869 +Node: Output Wrappers908626 +Node: Two-way processors913136 +Node: Printing Messages915344 +Ref: Printing Messages-Footnote-1916421 +Node: Updating `ERRNO'916573 +Node: Accessing Parameters917312 +Node: Symbol Table Access918542 +Node: Symbol table by name919054 +Node: Symbol table by cookie920801 +Ref: Symbol table by cookie-Footnote-1924931 +Node: Cached values924994 +Ref: Cached values-Footnote-1928443 +Node: Array Manipulation928534 +Ref: Array Manipulation-Footnote-1929632 +Node: Array Data Types929671 +Ref: Array Data Types-Footnote-1932374 +Node: Array Functions932466 +Node: Flattening Arrays936232 +Node: Creating Arrays943084 +Node: Extension API Variables947809 +Node: Extension Versioning948445 +Node: Extension API Informational Variables950346 +Node: Extension API Boilerplate951432 +Node: Finding Extensions955236 +Node: Extension Example955796 +Node: Internal File Description956526 +Node: Internal File Ops960617 +Ref: Internal File Ops-Footnote-1972125 +Node: Using Internal File Ops972265 +Ref: Using Internal File Ops-Footnote-1974618 +Node: Extension Samples974884 +Node: Extension Sample File Functions976408 +Node: Extension Sample Fnmatch984893 +Node: Extension Sample Fork986619 +Node: Extension Sample Inplace987837 +Node: Extension Sample Ord989615 +Node: Extension Sample Readdir990451 +Node: Extension Sample Revout991983 +Node: Extension Sample Rev2way992576 +Node: Extension Sample Read write array993266 +Node: Extension Sample Readfile995149 +Node: Extension Sample API Tests995967 +Node: Extension Sample Time996492 +Node: gawkextlib997856 +Node: Language History1000637 +Node: V7/SVR3.11002159 +Node: SVR41004479 +Node: POSIX1005921 +Node: BTL1007307 +Node: POSIX/GNU1008041 +Node: Common Extensions1013576 +Node: Ranges and Locales1014882 +Ref: Ranges and Locales-Footnote-11019500 +Ref: Ranges and Locales-Footnote-21019527 +Ref: Ranges and Locales-Footnote-31019787 +Node: Contributors1020008 +Node: Installation1025083 +Node: Gawk Distribution1025977 +Node: Getting1026461 +Node: Extracting1027287 +Node: Distribution contents1028979 +Node: Unix Installation1034684 +Node: Quick Installation1035301 +Node: Additional Configuration Options1037745 +Node: Configuration Philosophy1039481 +Node: Non-Unix Installation1041835 +Node: PC Installation1042293 +Node: PC Binary Installation1043592 +Node: PC Compiling1045440 +Node: PC Testing1048384 +Node: PC Using1049560 +Node: Cygwin1053745 +Node: MSYS1054745 +Node: VMS Installation1055259 +Node: VMS Compilation1055862 +Ref: VMS Compilation-Footnote-11056869 +Node: VMS Installation Details1056927 +Node: VMS Running1058562 +Node: VMS Old Gawk1060169 +Node: Bugs1060643 +Node: Other Versions1064563 +Node: Notes1070647 +Node: Compatibility Mode1071447 +Node: Additions1072230 +Node: Accessing The Source1073157 +Node: Adding Code1074597 +Node: New Ports1080642 +Node: Derived Files1084777 +Ref: Derived Files-Footnote-11090098 +Ref: Derived Files-Footnote-21090132 +Ref: Derived Files-Footnote-31090732 +Node: Future Extensions1090830 +Node: Implementation Limitations1091413 +Node: Extension Design1092665 +Node: Old Extension Problems1093819 +Ref: Old Extension Problems-Footnote-11095327 +Node: Extension New Mechanism Goals1095384 +Ref: Extension New Mechanism Goals-Footnote-11098749 +Node: Extension Other Design Decisions1098935 +Node: Extension Future Growth1101041 +Node: Old Extension Mechanism1101877 +Node: Basic Concepts1103617 +Node: Basic High Level1104298 +Ref: figure-general-flow1104569 +Ref: figure-process-flow1105168 +Ref: Basic High Level-Footnote-11108397 +Node: Basic Data Typing1108582 +Node: Glossary1111937 +Node: Copying1137399 +Node: GNU Free Documentation License1174956 +Node: Index1200093 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index a0a2af6b..90fa06bd 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 @@ -6303,6 +6305,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 @@ -6671,6 +6674,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 6c1b0e8d..8fe83dae 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 @@ -6024,6 +6026,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 @@ -6392,6 +6395,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" |