OSDN Git Service

GNU_gawk: Update original to gawk-4.0.1.
authorAkihiro MOTOKI <amotoki@gmail.com>
Sat, 2 Jun 2012 21:45:28 +0000 (06:45 +0900)
committerAkihiro MOTOKI <amotoki@gmail.com>
Sat, 2 Jun 2012 21:45:28 +0000 (06:45 +0900)
manual/GNU_gawk/original/man1/gawk.1
manual/GNU_gawk/po4a/gawk.pot
manual/GNU_gawk/po4a/ja.po
manual/GNU_gawk/translation_list

index 6f07cfa..e26f9a2 100644 (file)
@@ -3,6 +3,7 @@
 .ds AN \s-1ANSI\s+1
 .ds GN \s-1GNU\s+1
 .ds AK \s-1AWK\s+1
+.ds EP \fIGAWK: Effective AWK Programming\fP
 .if !\n(.g \{\
 .      if !\w|\*(lq| \{\
 .              ds lq ``
@@ -13,7 +14,7 @@
 .              if \w'\(rq' .ds rq "\(rq
 .      \}
 .\}
-.TH GAWK 1 "May 17 2000" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Nov 10 2011" "Free Software Foundation" "Utility Commands"
 .SH NAME
 gawk \- pattern scanning and processing language
 .SH SYNOPSIS
@@ -32,21 +33,43 @@ gawk \- pattern scanning and processing language
 ]
 .I program-text
 file .\|.\|.
+.sp
+.B pgawk
+[ \*(PX or \*(GN style options ]
+.B \-f
+.I program-file
+[
+.B \-\^\-
+] file .\|.\|.
+.br
+.B pgawk
+[ \*(PX or \*(GN style options ]
+[
+.B \-\^\-
+]
+.I program-text
+file .\|.\|.
+.sp
+.B dgawk
+[ \*(PX or \*(GN style options ]
+.B \-f
+.I program-file
+[
+.B \-\^\-
+] file .\|.\|.
 .SH DESCRIPTION
 .I Gawk
 is the \*(GN Project's implementation of the \*(AK programming language.
 It conforms to the definition of the language in
-the \*(PX 1003.2 Command Language And Utilities Standard.
+the \*(PX 1003.1 Standard.
 This version in turn is based on the description in
 .IR "The AWK Programming Language" ,
-by Aho, Kernighan, and Weinberger,
-with the additional features found in the System V Release 4 version
-of \*(UX
-.IR awk .
+by Aho, Kernighan, and Weinberger.
 .I Gawk
-also provides more recent Bell Labs
+provides the additional features found in the current version
+of \*(UX
 .I awk
-extensions, and some \*(GN-specific extensions.
+and a number of \*(GN-specific extensions.
 .PP
 The command line consists of options to
 .I gawk
@@ -60,25 +83,42 @@ available in the
 and
 .B ARGV
 pre-defined \*(AK variables.
+.PP
+.I Pgawk
+is the profiling version of
+.IR gawk .
+It is identical in every way to
+.IR gawk ,
+except that programs run more slowly,
+and it automatically produces an execution profile in the file
+.B awkprof.out
+when done.
+See the
+.B \-\^\-profile
+option, below.
+.PP
+.I Dgawk
+is an
+.I awk
+debugger. Instead of running the program directly, it loads the
+AWK source code and then prompts for debugging commands.
+Unlike
+.IR gawk " and " pgawk ", " dgawk
+only processes AWK program source provided with the
+.B \-f
+option.
+The debugger is documented in \*(EP.
 .SH OPTION FORMAT
 .PP
 .I Gawk
-options may be either the traditional \*(PX one letter options,
-or the \*(GN style long options.  \*(PX options start with a single \*(lq\-\*(rq,
+options may be either traditional \*(PX-style one letter options,
+or \*(GN-style long options.  \*(PX options start with a single \*(lq\-\*(rq,
 while long options start with \*(lq\-\^\-\*(rq.
 Long options are provided for both \*(GN-specific features and
-for \*(PX mandated features.
-.PP
-Following the \*(PX standard,
-.IR gawk -specific
-options are supplied via arguments to the
-.B \-W
-option.  Multiple
-.B \-W
-options may be supplied
-Each
-.B \-W
-option has a corresponding long option, as detailed below.
+for \*(PX-mandated features.
+.PP
+.IR Gawk -
+specific options are typically used in long-option form.
 Arguments to long options are either joined with the option
 by an
 .B =
@@ -86,10 +126,33 @@ sign, with no intervening spaces, or they may be provided in the
 next command line argument.
 Long options may be abbreviated, as long as the abbreviation
 remains unique.
+.PP
+Additionally, each long option has a corresponding short
+option, so that the option's functionality may be used from
+within
+.B #!
+executable scripts.
 .SH OPTIONS
 .PP
 .I Gawk
 accepts the following options.
+Standard options are listed first, followed by options for
+.I gawk
+extensions, listed alphabetically by short option.
+.TP
+.PD 0
+.BI \-f " program-file"
+.TP
+.PD
+.BI \-\^\-file " program-file"
+Read the \*(AK program source from the file
+.IR program-file ,
+instead of from the first command line argument.
+Multiple
+.B \-f
+(or
+.BR \-\^\-file )
+options may be used.
 .TP
 .PD 0
 .BI \-F " fs"
@@ -109,27 +172,14 @@ variable).
 .PD
 \fB\-\^\-assign \fIvar\fB\^=\^\fIval\fR
 Assign the value
-.IR val ,
+.I val
 to the variable
 .IR var ,
 before execution of the program begins.
 Such variable values are available to the
 .B BEGIN
 block of an \*(AK program.
-.TP
-.PD 0
-.BI \-f " program-file"
-.TP
-.PD
-.BI \-\^\-file " program-file"
-Read the \*(AK program source from the file
-.IR program-file ,
-instead of from the first command line argument.
-Multiple
-.B \-f
-(or
-.BR \-\^\-file )
-options may be used.
+.ig
 .TP
 .PD 0
 .BI \-mf " NNN"
@@ -144,25 +194,36 @@ flag sets the maximum number of fields, and the
 .B r
 flag sets the maximum record size.  These two flags and the
 .B \-m
-option are from the Bell Labs research version of \*(UX
+option are from an earlier version of the Bell Laboratories
+research version of \*(UX
 .IR awk .
 They are ignored by
 .IR gawk ,
 since
 .I gawk
 has no pre-defined limits.
+(Current versions of the Bell Laboratories
+.I awk
+no longer accept them.)
+..
 .TP
 .PD 0
-.B "\-W traditional"
+.B \-b
 .TP
-.PD 0
-.B "\-W compat"
+.PD
+.B \-\^\-characters\-as\-bytes
+Treat all input data as single-byte characters. In other words,
+don't pay any attention to the locale information when attempting to
+process strings as multibyte characters.
+The
+.B "\-\^\-posix"
+option overrides this one.
 .TP
 .PD 0
-.B \-\^\-traditional
+.B \-c
 .TP
 .PD
-.B \-\^\-compat
+.B \-\^\-traditional
 Run in
 .I compatibility
 mode.  In compatibility mode,
@@ -170,38 +231,99 @@ mode.  In compatibility mode,
 behaves identically to \*(UX
 .IR awk ;
 none of the \*(GN-specific extensions are recognized.
-The use of
-.B \-\^\-traditional
-is preferred over the other forms of this option.
+.\" The use of
+.\" .B \-\^\-traditional
+.\" is preferred over the other forms of this option.
 See
 .BR "GNU EXTENSIONS" ,
 below, for more information.
 .TP
 .PD 0
-.B "\-W copyleft"
+.B \-C
+.TP
+.PD
+.B \-\^\-copyright
+Print the short version of the \*(GN copyright information message on
+the standard output and exit successfully.
 .TP
 .PD 0
-.B "\-W copyright"
+\fB\-d\fR[\fIfile\fR]
+.TP
+.PD
+\fB\-\^\-dump-variables\fR[\fB=\fIfile\fR]
+Print a sorted list of global variables, their types and final values to
+.IR file .
+If no
+.I file
+is provided,
+.I gawk
+uses a file named
+.B awkvars.out
+in the current directory.
+.sp .5
+Having a list of all the global variables is a good way to look for
+typographical errors in your programs.
+You would also use this option if you have a large program with a lot of
+functions, and you want to be sure that your functions don't
+inadvertently use global variables that you meant to be local.
+(This is a particularly easy mistake to make with simple variable
+names like
+.BR i ,
+.BR j ,
+and so on.)
 .TP
 .PD 0
-.B \-\^\-copyleft
+.BI "\-e " program-text
 .TP
 .PD
-.B \-\^\-copyright
-Print the short version of the \*(GN copyright information message on
-the standard output, and exits successfully.
+.BI \-\^\-source " program-text"
+Use
+.I program-text
+as \*(AK program source code.
+This option allows the easy intermixing of library functions (used via the
+.B \-f
+and
+.B \-\^\-file
+options) with source code entered on the command line.
+It is intended primarily for medium to large \*(AK programs used
+in shell scripts.
 .TP
 .PD 0
-.B "\-W help"
+.BI "\-E " file
+.TP
+.PD
+.BI \-\^\-exec " file"
+Similar to
+.BR \-f ,
+however, this is option is the last one processed.
+This should be used with
+.B #!
+scripts, particularly for CGI applications, to avoid
+passing in options or source code (!) on the command line
+from a URL.
+This option disables command-line variable assignments.
 .TP
 .PD 0
-.B "\-W usage"
+.B \-g
+.TP
+.PD
+.B \-\^\-gen\-pot
+Scan and parse the \*(AK program, and generate a \*(GN
+.B \&.pot
+(Portable Object Template)
+format file on standard output with entries for all localizable
+strings in the program.  The program itself is not executed.
+See the \*(GN
+.I gettext
+distribution for more information on
+.B \&.pot
+files.
 .TP
 .PD 0
-.B \-\^\-help
+.B \-h
 .TP
 .PD
-.B \-\^\-usage
+.B \-\^\-help
 Print a relatively short summary of the available options on
 the standard output.
 (Per the
@@ -209,21 +331,48 @@ the standard output.
 these options cause an immediate, successful exit.)
 .TP
 .PD 0
-.B "\-W lint"
+.BR "\-L " [ \fIvalue\fR ]
 .TP
 .PD
-.B \-\^\-lint
+.BR \-\^\-lint [ =\fIvalue\fR ]
 Provide warnings about constructs that are
 dubious or non-portable to other \*(AK implementations.
+With an optional argument of
+.BR fatal ,
+lint warnings become fatal errors.
+This may be drastic, but its use will certainly encourage the
+development of cleaner \*(AK programs.
+With an optional argument of
+.BR invalid ,
+only warnings about things that are
+actually invalid are issued. (This is not fully implemented yet.)
 .TP
 .PD 0
-.B "\-W lint\-old"
+.B \-n
 .TP
 .PD
-.B \-\^\-lint\-old
-Provide warnings about constructs that are
-not portable to the original version of Unix
-.IR awk .
+.B "\-\^\-non\-decimal\-data"
+Recognize octal and hexadecimal values in input data.
+.I "Use this option with great caution!"
+.TP
+.PD 0
+.B \-N
+.TP
+.PD
+.B \-\^\-use\-lc\-numeric
+This forces
+.I gawk
+to use the locale's decimal point character when parsing input data.
+Although the POSIX standard requires this behavior, and
+.I gawk
+does so when
+.B \-\^\-posix
+is in effect, the default is to follow traditional behavior and use a
+period as the decimal point, even in locales where the period is not the
+decimal point character.  This option overrides the default behavior,
+without the full draconian strictness of the
+.B \-\^\-posix
+option.
 .ig
 .\" This option is left undocumented, on purpose.
 .TP
@@ -238,7 +387,34 @@ users.
 ..
 .TP
 .PD 0
-.B "\-W posix"
+.B \-O
+.TP
+.PD
+.B \-\^\-optimize
+Enable optimizations upon the internal representation of the program.
+Currently, this includes just simple constant-folding. The
+.I gawk
+maintainer hopes to add additional optimizations over time.
+.TP
+.PD 0
+\fB\-p\fR[\fIprof_file\fR]
+.TP
+.PD
+\fB\-\^\-profile\fR[\fB=\fIprof_file\fR]
+Send profiling data to
+.IR prof_file .
+The default is
+.BR awkprof.out .
+When run with
+.IR gawk ,
+the profile is just a \*(lqpretty printed\*(rq version of the program.
+When run with
+.IR pgawk ,
+the profile contains execution counts of each statement in the program
+in the left margin and function call counts for each user-defined function.
+.TP
+.PD 0
+.B \-P
 .TP
 .PD
 .B \-\^\-posix
@@ -246,7 +422,7 @@ This turns on
 .I compatibility
 mode, with the following additional restrictions:
 .RS
-.TP \w'\(bu'u+1n
+.TP "\w'\(bu'u+1n"
 \(bu
 .B \ex
 escape sequences are not recognized.
@@ -257,6 +433,12 @@ Only space and tab act as field separators when
 is set to a single space, newline does not.
 .TP
 \(bu
+You cannot continue lines after
+.B ?
+and
+.BR : .
+.TP
+\(bu
 The synonym
 .B func
 for the keyword
@@ -280,7 +462,7 @@ function is not available.
 .RE
 .TP
 .PD 0
-.B "\-W re\-interval"
+.B \-r
 .TP
 .PD
 .B \-\^\-re\-interval
@@ -296,31 +478,47 @@ Interval expressions were not traditionally available in the
 and
 .I egrep
 consistent with each other.
-However, their use is likely
-to break old \*(AK programs, so
+They are enabled by default, but this option remains for use with
+.BR \-\^-traditional .
+.TP
+.PD 0
+.B \-R
+.TP
+.PD
+.BI \-\^\-command " file"
+.I Dgawk
+only.  Read stored debugger commands from
+.IR file .
+.TP
+.PD 0
+.BI \-S
+.TP
+.PD
+.BI \-\^\-sandbox
+Runs
 .I gawk
-only provides them if they are requested with this option, or when
-.B \-\^\-posix
-is specified.
+in sandbox mode, disabling the
+.B system()
+function, input redirection with
+.BR getline ,
+output redirection with 
+.BR print " and " printf ,
+and loading dynamic extensions.
+Command execution (through pipelines) is also disabled.
+This effectively blocks a script from accessing local resources
+(except for the files specified on the command line).
 .TP
 .PD 0
-.BI "\-W source " program-text
+.B \-t
 .TP
 .PD
-.BI \-\^\-source " program-text"
-Use
-.I program-text
-as \*(AK program source code.
-This option allows the easy intermixing of library functions (used via the
-.B \-f
-and
-.B \-\^\-file
-options) with source code entered on the command line.
-It is intended primarily for medium to large \*(AK programs used
-in shell scripts.
+.B \-\^\-lint\-old
+Provide warnings about constructs that are
+not portable to the original version of Unix
+.IR awk .
 .TP
 .PD 0
-.B "\-W version"
+.B \-V
 .TP
 .PD
 .B \-\^\-version
@@ -338,13 +536,13 @@ This is also useful when reporting bugs.
 these options cause an immediate, successful exit.)
 .TP
 .B \-\^\-
-Signal the end of options.  This is useful to allow further arguments to the
+Signal the end of options. This is useful to allow further arguments to the
 \*(AK program itself to start with a \*(lq\-\*(rq.
-This is mainly for consistency with the argument parsing convention used
+This provides consistency with the argument parsing convention used
 by most other \*(PX programs.
 .PP
 In compatibility mode,
-any other options are flagged as illegal, but are otherwise ignored.
+any other options are flagged as invalid, but are otherwise ignored.
 In normal operation, as long as program text has been supplied, unknown
 options are passed on to the \*(AK program in the
 .B ARGV
@@ -356,6 +554,7 @@ An \*(AK program consists of a sequence of pattern-action statements
 and optional function definitions.
 .RS
 .PP
+\fB@include "\fIfilename\fB"
 \fIpattern\fB  { \fIaction statements\fB }\fR
 .br
 \fBfunction \fIname\fB(\fIparameter list\fB) { \fIstatements\fB }\fR
@@ -374,7 +573,7 @@ and
 .B \-\^\-source
 options may be used multiple times on the command line.
 .I Gawk
-will read the program text as if all the
+reads the program text as if all the
 .IR program-file s
 and command line source texts
 had been concatenated together.  This is useful for building libraries
@@ -382,6 +581,11 @@ of \*(AK functions, without having to include them in each new \*(AK
 program that uses them.  It also provides the ability to mix library
 functions with command line programs.
 .PP
+In addition, lines beginning with
+.B @include
+may be used to include other source files into your program,
+making library use even easier.
+.PP
 The environment variable
 .B AWKPATH
 specifies a search path to use when finding source files named with
@@ -413,7 +617,8 @@ block(s) (if any),
 and then proceeds to read
 each file named in the
 .B ARGV
-array.
+array (up to
+.BR ARGV[ARGC] ).
 If there are no files named on the command line,
 .I gawk
 reads the standard input.
@@ -439,6 +644,19 @@ is empty (\fB""\fR),
 .I gawk
 skips over it.
 .PP
+For each input file,
+if a
+.B BEGINFILE
+rule exists,
+.I gawk
+executes the associated code
+before processing the contents of the file. Similarly,
+.I gawk
+executes
+the code associated with
+.B ENDFILE
+after processing the file.
+.PP
 For each record in the input,
 .I gawk
 tests to see if it matches any
@@ -454,6 +672,27 @@ Finally, after all the input is exhausted,
 executes the code in the
 .B END
 block(s) (if any).
+.SS Command Line Directories
+.PP
+According to POSIX, files named on the
+.I awk
+command line must be
+text files.  The behavior is ``undefined'' if they are not.  Most versions
+of
+.I awk
+treat a directory on the command line as a fatal error.
+.PP
+Starting with version 4.0 of
+.IR gawk ,
+a directory on the command line
+produces a warning, but is otherwise skipped.  If either of the
+.B \-\^\-posix
+or
+.B \-\^\-traditional
+options is given, then
+.I gawk
+reverts to
+treating directories on the command line as a fatal error.
 .SH VARIABLES, RECORDS AND FIELDS
 \*(AK variables are dynamic; they come into existence when they are
 first used.  Their values are either floating-point numbers or strings,
@@ -461,7 +700,7 @@ or both,
 depending upon how they are used.  \*(AK also has one dimensional
 arrays; arrays with multiple dimensions may be simulated.
 Several pre-defined variables are set as a program
-runs; these will be described as needed and summarized below.
+runs; these are described as needed and summarized below.
 .SS Records
 Normally, records are separated by newline characters.  You can control how
 records are separated by assigning values to the built-in variable
@@ -472,7 +711,7 @@ is any single character, that character separates records.
 Otherwise,
 .B RS
 is a regular expression.  Text in the input that matches this
-regular expression will separate the record.
+regular expression separates the record.
 However, in compatibility mode,
 only the first character of its string
 value is used for separating records.
@@ -509,12 +748,13 @@ In the special case that
 .B FS
 is a single space, fields are separated
 by runs of spaces and/or tabs and/or newlines.
-(But see the discussion of
-.BR \-\^\-posix ,
+(But see the section
+.BR "POSIX COMPATIBILITY" ,
 below).
-Note that the value of
+.BR NOTE :
+The value of
 .B IGNORECASE
-(see below) will also affect how fields are split when
+(see below) also affects how fields are split when
 .B FS
 is a regular expression, and how records are separated when
 .B RS
@@ -525,21 +765,35 @@ If the
 variable is set to a space separated list of numbers, each field is
 expected to have fixed width, and
 .I gawk
-will split up the record using the specified widths.  The value of
+splits up the record using the specified widths.  The value of
 .B FS
 is ignored.
 Assigning a new value to
 .B FS
+or
+.B FPAT
+overrides the use of
+.BR FIELDWIDTHS .
+.PP
+Similarly, if the
+.B FPAT
+variable is set to a string representing a regular expression,
+each field is made up of text that matches that regular expression. In
+this case, the regular expression describes the fields themselves,
+instead of the text that separates the fields.
+Assigning a new value to
+.B FS
+or
+.B FIELDWIDTHS
 overrides the use of
-.BR FIELDWIDTHS ,
-and restores the default behavior.
+.BR FPAT .
 .PP
 Each field in the input record may be referenced by its position,
 .BR $1 ,
 .BR $2 ,
 and so on.
 .B $0
-is the whole record.  The value of a field may be assigned to as well.
+is the whole record.
 Fields need not be referenced by constants:
 .RS
 .PP
@@ -551,6 +805,7 @@ print $n
 .RE
 .PP
 prints the fifth field in the input record.
+.PP
 The variable
 .B NF
 is set to the total number of fields in the input record.
@@ -560,10 +815,10 @@ References to non-existent fields (i.e. fields after
 produce the null-string.  However, assigning to a non-existent field
 (e.g.,
 .BR "$(NF+2) = 5" )
-will increase the value of
+increases the value of
 .BR NF ,
-create any intervening fields with the null string as their value, and
-cause the value of
+creates any intervening fields with the null string as their value, and
+causes the value of
 .B $0
 to be recomputed, with the fields being separated by the value of
 .BR OFS .
@@ -574,12 +829,21 @@ causes the values of fields past the new value to be lost, and the value of
 .B $0
 to be recomputed, with the fields being separated by the value of
 .BR OFS .
+.PP
+Assigning a value to an existing field
+causes the whole record to be rebuilt when
+.B $0
+is referenced.
+Similarly, assigning a value to
+.B $0
+causes the record to be resplit, creating new
+values for the fields.
 .SS Built-in Variables
 .PP
-.IR Gawk 's
+.IR Gawk\^ "'s"
 built-in variables are:
 .PP
-.TP \w'\fBFIELDWIDTHS\fR'u+1n
+.TP "\w'\fBFIELDWIDTHS\fR'u+1n"
 .B ARGC
 The number of command line arguments (does not include options to
 .IR gawk ,
@@ -599,6 +863,16 @@ Dynamically changing the contents of
 .B ARGV
 can control the files used for data.
 .TP
+.B BINMODE
+On non-POSIX systems, specifies use of \*(lqbinary\*(rq mode for all file I/O.
+Numeric values of 1, 2, or 3, specify that input files, output files, or
+all files, respectively, should use binary I/O.
+String values of \fB"r"\fR, or \fB"w"\fR specify that input files, or output files,
+respectively, should use binary I/O.
+String values of \fB"rw"\fR or \fB"wr"\fR specify that all files
+should use binary I/O.
+Any other string value is treated as \fB"rw"\fR, but generates a warning message.
+.TP
 .B CONVFMT
 The conversion format for numbers, \fB"%.6g"\fR, by default.
 .TP
@@ -612,9 +886,6 @@ Changing this array does not affect the environment seen by programs which
 spawns via redirection or the
 .B system()
 function.
-(This may change in a future version of
-.IR gawk .)
-.\" but don't hold your breath...
 .TP
 .B ERRNO
 If a system error occurs either doing a redirection for
@@ -627,18 +898,18 @@ then
 .B ERRNO
 will contain
 a string describing the error.
+The value is subject to translation in non-English locales.
 .TP
 .B FIELDWIDTHS
-A white-space separated list of fieldwidths.  When set,
+A whitespace separated list of field widths.  When set,
 .I gawk
 parses the input into fields of fixed width, instead of using the
 value of the
 .B FS
 variable as the field separator.
-The fixed field width facility is still experimental; the
-semantics may change as
-.I gawk
-evolves over time.
+See
+.BR Fields ,
+above.
 .TP
 .B FILENAME
 The name of the current input file.
@@ -649,11 +920,27 @@ However,
 .B FILENAME
 is undefined inside the
 .B BEGIN
-block.
+block
+(unless set by
+.BR getline ).
 .TP
 .B FNR
 The input record number in the current input file.
 .TP
+.B FPAT
+A regular expression describing the contents of the
+fields in a record.
+When set,
+.I gawk
+parses the input into fields, where the fields match the
+regular expression, instead of using the
+value of the
+.B FS
+variable as the field separator.
+See
+.BR Fields ,
+above.
+.TP
 .B FS
 The input field separator, a space by default.  See
 .BR Fields ,
@@ -666,7 +953,9 @@ and string operations.  If
 has a non-zero value, then string comparisons and
 pattern matching in rules,
 field splitting with
-.BR FS ,
+.B FS
+and
+.BR FPAT ,
 record separating with
 .BR RS ,
 regular expression
@@ -679,11 +968,23 @@ and the
 .BR gsub() ,
 .BR index() ,
 .BR match() ,
+.BR patsplit() ,
 .BR split() ,
 and
 .B sub()
-pre-defined functions will all ignore case when doing regular expression
-operations.  Thus, if
+built-in functions all ignore case when doing regular expression
+operations.
+.BR NOTE :
+Array subscripting is
+.I not
+affected.
+However, the
+.B asort()
+and
+.B asorti()
+functions are affected.
+.sp .5
+Thus, if
 .B IGNORECASE
 is not equal to zero,
 .B /aB/
@@ -693,15 +994,18 @@ As with all \*(AK variables, the initial value of
 .B IGNORECASE
 is zero, so all regular expression and string
 operations are normally case-sensitive.
-Under Unix, the full ISO 8859-1 Latin-1 character set is used
-when ignoring case.
-.B NOTE:
-In versions of
+.TP
+.B LINT
+Provides dynamic control of the
+.B \-\^\-lint
+option from within an \*(AK program.
+When true,
 .I gawk
-prior to 3.0,
-.B IGNORECASE
-only affected regular expression operations.  It now affects string
-comparisons as well.
+prints lint warnings. When false, it does not.
+When assigned the string value \fB"fatal"\fP,
+lint warnings become fatal errors, exactly like
+.BR \-\^\-lint=fatal .
+Any other true value just prints warnings.
 .TP
 .B NF
 The number of fields in the current input record.
@@ -718,6 +1022,109 @@ The output field separator, a space by default.
 .B ORS
 The output record separator, by default a newline.
 .TP
+.B PROCINFO
+The elements of this array provide access to information about the
+running \*(AK program.
+On some systems,
+there may be elements in the array, \fB"group1"\fP through
+\fB"group\fIn\fB"\fR for some
+.IR n ,
+which is the number of supplementary groups that the process has.
+Use the
+.B in
+operator to test for these elements.
+The following elements are guaranteed to be available:
+.RS
+.TP \w'\fBPROCINFO["version"]\fR'u+1n
+\fBPROCINFO["egid"]\fP
+the value of the
+.IR getegid (2)
+system call.
+.TP
+\fBPROCINFO["strftime"]\fP
+The default time format string for
+.BR strftime() .
+.TP
+\fBPROCINFO["euid"]\fP
+the value of the
+.IR geteuid (2)
+system call.
+.TP
+\fBPROCINFO["FS"]\fP
+\fB"FS"\fP if field splitting with
+.B FS
+is in effect,
+\fB"FPAT"\fP if field splitting with
+.B FPAT
+is in effect,
+or \fB"FIELDWIDTHS"\fP if field splitting with
+.B FIELDWIDTHS
+is in effect.
+.TP
+\fBPROCINFO["gid"]\fP
+the value of the
+.IR getgid (2)
+system call.
+.TP
+\fBPROCINFO["pgrpid"]\fP
+the process group ID of the current process.
+.TP
+\fBPROCINFO["pid"]\fP
+the process ID of the current process.
+.TP
+\fBPROCINFO["ppid"]\fP
+the parent process ID of the current process.
+.TP
+\fBPROCINFO["uid"]\fP
+the value of the
+.IR getuid (2)
+system call.
+.TP
+\fBPROCINFO["sorted_in"]\fP
+If this element exists in
+.BR PROCINFO ,
+then its value controls the order in which array elements
+are traversed in
+.B for
+loops.
+Supported values are
+\fB"@ind_str_asc"\fR,
+\fB"@ind_num_asc"\fR,
+\fB"@val_type_asc"\fR,
+\fB"@val_str_asc"\fR,
+\fB"@val_num_asc"\fR,
+\fB"@ind_str_desc"\fR,
+\fB"@ind_num_desc"\fR,
+\fB"@val_type_desc"\fR,
+\fB"@val_str_desc"\fR,
+\fB"@val_num_desc"\fR,
+and
+\fB"@unsorted"\fR.
+The value can also be the name of any comparison function defined
+as follows:
+.PP
+.RS
+\fBfunction cmp_func(i1, v1, i2, v2)\fR
+.RE
+.PP
+where
+.I i1
+and
+.I i2
+are the indices, and
+.I v1
+and
+.I v2
+are the
+corresponding values of the two elements being compared.
+It should return a number less than, equal to, or greater than 0,
+depending on how the elements of the array are to be ordered.
+.TP
+\fBPROCINFO["version"]\fP
+the version of
+.IR gawk .
+.RE
+.TP
 .B RS
 The input record separator, by default a newline.
 .TP
@@ -734,6 +1141,7 @@ specified by
 The index of the first character matched by
 .BR match() ;
 0 if no match.
+(This implies that character indices start at one.)
 .TP
 .B RLENGTH
 The length of the string matched by
@@ -743,6 +1151,10 @@ The length of the string matched by
 .B SUBSEP
 The character used to separate multiple subscripts in array
 elements, by default \fB"\e034"\fR.
+.TP
+.B TEXTDOMAIN
+The text domain of the \*(AK program; used to find the localized
+translations for the program's strings.
 .SS Arrays
 .PP
 Arrays are subscripted with an expression between square brackets
@@ -772,12 +1184,8 @@ are associative, i.e. indexed by string values.
 .PP
 The special operator
 .B in
-may be used in an
-.B if
-or
-.B while
-statement to see if an array has an index consisting of a particular
-value.
+may be used to test if an array has an index consisting of a particular
+value:
 .PP
 .RS
 .ft B
@@ -804,12 +1212,26 @@ The
 .B delete
 statement may also be used to delete the entire contents of an array,
 just by specifying the array name without a subscript.
+.PP
+.I gawk
+supports true multidimensional arrays. It does not require that
+such arrays be ``rectangular'' as in C or C++.
+For example:
+.RS
+.ft B
+.nf
+a[1] = 5
+a[2][1] = 6
+a[2][2] = 7
+.fi
+.ft
+.RE
 .SS Variable Typing And Conversion
 .PP
 Variables and fields
 may be (floating point) numbers, or strings, or both.  How the
 value of a variable is interpreted depends upon its context.  If used in
-a numeric expression, it will be treated as a number, if used as a string
+a numeric expression, it will be treated as a number; if used as a string
 it will be treated as a string.
 .PP
 To force a variable to be treated as a number, add 0 to it; to force it
@@ -817,7 +1239,7 @@ to be treated as a string, concatenate it with the null string.
 .PP
 When a string must be converted to a number, the conversion is accomplished
 using
-.IR atof (3).
+.IR strtod (3).
 A number is converted to a string by using the value of
 .B CONVFMT
 as a format string for
@@ -842,6 +1264,17 @@ the variable
 .B b
 has a string value of \fB"12"\fR and not \fB"12.00"\fR.
 .PP
+.BR NOTE :
+When operating in POSIX mode (such as with the
+.B \-\^\-posix
+command line option),
+beware that locale settings may interfere with the way
+decimal numbers are treated: the decimal separator of the numbers you
+are feeding to
+.I gawk
+must conform to what your locale would expect, be it
+a comma (,) or a period (.).
+.PP
 .I Gawk
 performs comparisons as follows:
 If two variables are numeric, they are compared numerically.
@@ -850,11 +1283,6 @@ If one value is numeric and the other has a string value that is a
 Otherwise, the numeric value is converted to a string and a string
 comparison is performed.
 Two strings are compared, of course, as strings.
-According to the \*(PX standard, even if two strings are
-numeric strings, a numeric comparison is performed.  However, this is
-clearly incorrect, and
-.I gawk
-does not do this.
 .PP
 Note that string constants, such as \fB"57"\fP, are
 .I not
@@ -869,6 +1297,8 @@ elements,
 .B ENVIRON
 elements and the elements of an array created by
 .B split()
+or
+.B patsplit()
 that are numeric strings.
 The basic idea is that
 .IR "user input" ,
@@ -877,14 +1307,85 @@ should be treated that way.
 .PP
 Uninitialized variables have the numeric value 0 and the string value ""
 (the null, or empty, string).
-.SH PATTERNS AND ACTIONS
-\*(AK is a line-oriented language.  The pattern comes first, and then the
-action.  Action statements are enclosed in
-.B {
-and
-.BR } .
-Either the pattern may be missing, or the action may be missing, but,
-of course, not both.  If the pattern is missing, the action will be
+.SS Octal and Hexadecimal Constants
+You may use C-style octal and hexadecimal constants in your AWK
+program source code.
+For example, the octal value
+.B 011
+is equal to decimal
+.BR 9 ,
+and the hexadecimal value
+.B 0x11
+is equal to decimal 17.
+.SS String Constants
+.PP
+String constants in \*(AK are sequences of characters enclosed
+between double quotes (like \fB"value"\fR).  Within strings, certain
+.I "escape sequences"
+are recognized, as in C.  These are:
+.PP
+.TP "\w'\fB\e\^\fIddd\fR'u+1n"
+.B \e\e
+A literal backslash.
+.TP
+.B \ea
+The \*(lqalert\*(rq character; usually the \s-1ASCII\s+1 \s-1BEL\s+1 character.
+.TP
+.B \eb
+backspace.
+.TP
+.B \ef
+form-feed.
+.TP
+.B \en
+newline.
+.TP
+.B \er
+carriage return.
+.TP
+.B \et
+horizontal tab.
+.TP
+.B \ev
+vertical tab.
+.TP
+.BI \ex "\^hex digits"
+The character represented by the string of hexadecimal digits following
+the
+.BR \ex .
+As in \*(AN C, all following hexadecimal digits are considered part of
+the escape sequence.
+(This feature should tell us something about language design by committee.)
+E.g., \fB"\ex1B"\fR is the \s-1ASCII\s+1 \s-1ESC\s+1 (escape) character.
+.TP
+.BI \e ddd
+The character represented by the 1-, 2-, or 3-digit sequence of octal
+digits.
+E.g., \fB"\e033"\fR is the \s-1ASCII\s+1 \s-1ESC\s+1 (escape) character.
+.TP
+.BI \e c
+The literal character
+.IR c\^ .
+.PP
+The escape sequences may also be used inside constant regular expressions
+(e.g.,
+.B "/[\ \et\ef\en\er\ev]/"
+matches whitespace characters).
+.PP
+In compatibility mode, the characters represented by octal and
+hexadecimal escape sequences are treated literally when used in
+regular expression constants.  Thus,
+.B /a\e52b/
+is equivalent to
+.BR /a\e*b/ .
+.SH PATTERNS AND ACTIONS
+\*(AK is a line-oriented language.  The pattern comes first, and then the
+action.  Action statements are enclosed in
+.B {
+and
+.BR } .
+Either the pattern may be missing, or the action may be missing, but,
+of course, not both.  If the pattern is missing, the action is
 executed for every single record of input.
 A missing action is equivalent to
 .RS
@@ -894,12 +1395,14 @@ A missing action is equivalent to
 .PP
 which prints the entire record.
 .PP
-Comments begin with the \*(lq#\*(rq character, and continue until the
+Comments begin with the
+.B #
+character, and continue until the
 end of the line.
 Blank lines may be used to separate statements.
 Normally, a statement ends with a newline, however, this is not the
 case for lines ending in
-a \*(lq,\*(rq,
+a comma,
 .BR { ,
 .BR ? ,
 .BR : ,
@@ -912,7 +1415,7 @@ or
 .B else
 also have their statements automatically continued on the following line.
 In other cases, a line can be continued by ending it with a \*(lq\e\*(rq,
-in which case the newline will be ignored.
+in which case the newline is ignored.
 .PP
 Multiple statements may
 be put on one line by separating them with a \*(lq;\*(rq.
@@ -926,6 +1429,8 @@ and to the pattern-action statements themselves.
 .nf
 .B BEGIN
 .B END
+.B BEGINFILE
+.B ENDFILE
 .BI / "regular expression" /
 .I "relational expression"
 .IB pattern " && " pattern
@@ -963,6 +1468,24 @@ and
 .B END
 patterns cannot have missing action parts.
 .PP
+.B BEGINFILE
+and
+.B ENDFILE
+are additional special patterns whose bodies are executed
+before reading the first record of each command line input file
+and after reading the last record of each file.
+Inside the
+.B BEGINFILE
+rule, the value of
+.B ERRNO
+will be the empty string if the file could be opened successfully.
+Otherwise, there is some problem with the file and the code should
+use
+.B nextfile
+to skip it. If that is not done,
+.I gawk
+produces its usual fatal error for files that cannot be opened.
+.PP
 For
 .BI / "regular expression" /
 patterns, the associated statement is executed for each input record that matches
@@ -1005,7 +1528,7 @@ inclusive.  It does not combine with any other sort of pattern expression.
 Regular expressions are the extended kind found in
 .IR egrep .
 They are composed of characters as follows:
-.TP \w'\fB[^\fIabc.\|.\|.\fB]\fR'u+2n
+.TP "\w'\fB[^\fIabc.\|.\|.\fB]\fR'u+2n"
 .I c
 matches the non-metacharacter
 .IR c .
@@ -1029,7 +1552,7 @@ matches the end of a string.
 character list, matches any of the characters
 .IR abc.\|.\|. .
 .TP
-.BI [^ abc.\|.\|. ]
+\fB[^\fIabc.\|.\|.\fB]\fR
 negated character list, matches any character except
 .IR abc.\|.\|. .
 .TP
@@ -1045,17 +1568,17 @@ concatenation: matches
 and then
 .IR r2 .
 .TP
-.IB r +
+.IB r\^ +
 matches one or more
-.IR r 's.
+.IR r\^ "'s."
 .TP
 .IB r *
 matches zero or more
-.IR r 's.
+.IR r\^ "'s."
 .TP
-.IB r ?
+.IB r\^ ?
 matches zero or one
-.IR r 's.
+.IR r\^ "'s."
 .TP
 .BI ( r )
 grouping: matches
@@ -1071,7 +1594,7 @@ grouping: matches
 .IB r { n , m }
 One or two numbers inside braces denote an
 .IR "interval expression" .
-If there is one number in the braces, the preceding regexp
+If there is one number in the braces, the preceding regular expression
 .I r
 is repeated
 .I n
@@ -1087,12 +1610,6 @@ If there is one number followed by a comma, then
 is repeated at least
 .I n
 times.
-.sp .5
-Interval expressions are only available if either
-.B \-\^\-posix
-or
-.B \-\^\-re\-interval
-is specified on the command line.
 .TP
 .B \ey
 matches the empty string at either the beginning or the
@@ -1107,6 +1624,12 @@ matches the empty string at the beginning of a word.
 .B \e>
 matches the empty string at the end of a word.
 .TP
+.B \es
+matches any whitespace character.
+.TP
+.B \eS
+matches any nonwhitespace character.
+.TP
 .B \ew
 matches any word-constituent character (letter, digit, or underscore).
 .TP
@@ -1120,25 +1643,25 @@ matches the empty string at the beginning of a buffer (string).
 matches the empty string at the end of a buffer.
 .PP
 The escape sequences that are valid in string constants (see below)
-are also legal in regular expressions.
+are also valid in regular expressions.
 .PP
 .I "Character classes"
-are a new feature introduced in the \*(PX standard.
+are a feature introduced in the \*(PX standard.
 A character class is a special notation for describing
 lists of characters that have a specific attribute, but where the
 actual characters themselves can vary from country to country and/or
 from character set to character set.  For example, the notion of what
 is an alphabetic character differs in the USA and in France.
 .PP
-A character class is only valid in a regexp
+A character class is only valid in a regular expression
 .I inside
 the brackets of a character list.  Character classes consist of
 .BR [: ,
 a keyword denoting the class, and
 .BR :] .
-Here are the character
-classes defined by the \*(PX standard.
-.TP
+The character
+classes defined by the \*(PX standard are:
+.TP "\w'\fB[:alnum:]\fR'u+2n"
 .B [:alnum:]
 Alphanumeric characters.
 .TP
@@ -1161,7 +1684,7 @@ Characters that are both printable and visible.
 is both.)
 .TP
 .B [:lower:]
-Lower-case alphabetic characters.
+Lowercase alphabetic characters.
 .TP
 .B [:print:]
 Printable characters (characters that are not control characters.)
@@ -1174,7 +1697,7 @@ control characters, or space characters).
 Space characters (such as space, tab, and formfeed, to name a few).
 .TP
 .B [:upper:]
-Upper-case alphabetic characters.
+Uppercase alphabetic characters.
 .TP
 .B [:xdigit:]
 Characters that are hexadecimal digits.
@@ -1183,24 +1706,27 @@ For example, before the \*(PX standard, to match alphanumeric
 characters, you would have had to write
 .BR /[A\-Za\-z0\-9]/ .
 If your character set had other alphabetic characters in it, this would not
-match them.  With the \*(PX character classes, you can write
+match them, and if your character set collated differently from
+\s-1ASCII\s+1, this might not even match the
+\s-1ASCII\s+1 alphanumeric characters.
+With the \*(PX character classes, you can write
 .BR /[[:alnum:]]/ ,
-and this will match
-.I all
-the alphabetic and numeric characters in your character set.
+and this matches
+the alphabetic and numeric characters in your character set,
+no matter what it is.
 .PP
 Two additional special sequences can appear in character lists.
-These apply to non-ASCII character sets, which can have single symbols
+These apply to non-\s-1ASCII\s+1 character sets, which can have single symbols
 (called
 .IR "collating elements" )
 that are represented with more than one
 character, as well as several characters that are equivalent for
 .IR collating ,
 or sorting, purposes.  (E.g., in French, a plain \*(lqe\*(rq
-and a grave-accented e\` are equivalent.)
+and a grave-accented \*(lqe\h'-\w:e:u'\`\*(rq are equivalent.)
 .TP
 Collating Symbols
-A collating symbols is a multi-character collating element enclosed in
+A collating symbol is a multi-character collating element enclosed in
 .B [.
 and
 .BR .] .
@@ -1208,9 +1734,9 @@ For example, if
 .B ch
 is a collating element, then
 .B [[.ch.]]
-is a regexp that matches this collating element, while
+is a regular expression that matches this collating element, while
 .B [ch]
-is a regexp that matches either
+is a regular expression that matches either
 .B c
 or
 .BR h .
@@ -1224,15 +1750,15 @@ and
 For example, the name
 .B e
 might be used to represent all of
-\*(lqe,\*(rq \*(lqe\`,\*(rq and \*(lqe\`.\*(rq
+\*(lqe,\*(rq \*(lqe\h'-\w:e:u'\',\*(rq and \*(lqe\h'-\w:e:u'\`.\*(rq
 In this case,
-.B [[=e]]
-is a regexp
+.B [[=e=]]
+is a regular expression
 that matches any of
- .BR e ,
- .BR e\' ,
+.BR e ,
+.BR "e\h'-\w:e:u'\'" ,
 or
- .BR e\` .
+.BR "e\h'-\w:e:u'\`" .
 .PP
 These features are very valuable in non-English speaking locales.
 The library functions that
@@ -1246,6 +1772,8 @@ The
 .BR \eB ,
 .BR \e< ,
 .BR \e> ,
+.BR \es ,
+.BR \eS ,
 .BR \ew ,
 .BR \eW ,
 .BR \e` ,
@@ -1253,41 +1781,36 @@ and
 .B \e'
 operators are specific to
 .IR gawk ;
-they are extensions based on facilities in the \*(GN regexp libraries.
+they are extensions based on facilities in the \*(GN regular expression libraries.
 .PP
 The various command line options
 control how
 .I gawk
-interprets characters in regexps.
+interprets characters in regular expressions.
 .TP
 No options
 In the default case,
 .I gawk
 provide all the facilities of
-\*(PX regexps and the \*(GN regexp operators described above.
-However, interval expressions are not supported.
+\*(PX regular expressions and the \*(GN regular expression operators described above.
 .TP
 .B \-\^\-posix
-Only \*(PX regexps are supported, the \*(GN operators are not special.
+Only \*(PX regular expressions are supported, the \*(GN operators are not special.
 (E.g.,
 .B \ew
 matches a literal
 .BR w ).
-Interval expressions are allowed.
 .TP
 .B \-\^\-traditional
 Traditional Unix
 .I awk
-regexps are matched.  The \*(GN operators
-are not special, interval expressions are not available, and neither
-are the \*(PX character classes
-.RB ( [[:alnum:]]
-and so on).
+regular expressions are matched.  The \*(GN operators
+are not special, and interval expressions are not available.
 Characters described by octal and hexadecimal escape sequences are
-treated literally, even if they represent regexp metacharacters.
+treated literally, even if they represent regular expression metacharacters.
 .TP
 .B \-\^\-re\-interval
-Allow interval expressions in regexps, even if
+Allow interval expressions in regular expressions, even if
 .B \-\^\-traditional
 has been provided.
 .SS Actions
@@ -1329,19 +1852,19 @@ Addition and subtraction.
 .I space
 String concatenation.
 .TP
-.PD 0
-.B "< >"
-.TP
-.PD 0
-.B "<= >="
+.B "|   |&"
+Piped I/O for
+.BR getline ,
+.BR print ,
+and
+.BR printf .
 .TP
-.PD
-.B "!= =="
+.B "< > <= >= != =="
 The regular relational operators.
 .TP
 .B "~ !~"
 Regular expression match, negated match.
-.B NOTE:
+.BR NOTE :
 Do not use a constant regular expression
 .RB ( /foo/ )
 on the left-hand side of a
@@ -1380,11 +1903,7 @@ and
 .I expr3
 is evaluated.
 .TP
-.PD 0
-.B "= += \-="
-.TP
-.PD
-.B "*= /= %= ^="
+.B "= += \-= *= /= %= ^="
 Assignment.  Both absolute assignment
 .BI ( var " = " value )
 and operator-assignment (the other forms) are supported.
@@ -1405,7 +1924,12 @@ as follows:
 \fBdelete \fIarray\^\fB[\^\fIindex\^\fB]\fR
 \fBdelete \fIarray\^\fR
 \fBexit\fR [ \fIexpression\fR ]
-\fB{ \fIstatements \fB}
+\fB{ \fIstatements \fB}\fR
+\fBswitch (\fIexpression\fB) {
+\fBcase \fIvalue\fB|\fIregex\fB : \fIstatement
+\&.\^.\^.
+\fR[ \fBdefault: \fIstatement \fR]
+\fB}\fR
 .fi
 .RE
 .SS "I/O Statements"
@@ -1413,8 +1937,14 @@ as follows:
 The input/output statements are as follows:
 .PP
 .TP "\w'\fBprintf \fIfmt, expr-list\fR'u+1n"
-.BI close( file )
-Close file (or pipe, see below).
+\fBclose(\fIfile \fR[\fB, \fIhow\fR]\fB)\fR
+Close file, pipe or co-process.
+The optional
+.I how
+should only be used when closing one end of a
+two-way pipe to a co-process.
+It must be a string value, either
+\fB"to"\fR or \fB"from"\fR.
 .TP
 .B getline
 Set
@@ -1445,6 +1975,32 @@ Set
 from next record of
 .IR file .
 .TP
+\fIcommand\fB | getline \fR[\fIvar\fR]
+Run
+.I command
+piping the output either into
+.B $0
+or
+.IR var ,
+as above.
+.TP
+\fIcommand\fB |& getline \fR[\fIvar\fR]
+Run
+.I command
+as a co-process
+piping the output either into
+.B $0
+or
+.IR var ,
+as above.
+Co-processes are a
+.I gawk
+extension.
+.RI ( command
+can also be a socket.  See the subsection
+.BR "Special File Names" ,
+below.)
+.TP
 .B next
 Stop processing the current input record.  The next input record
 is read and processing starts over with the first pattern in the
@@ -1461,23 +2017,18 @@ and
 are updated,
 .B FNR
 is reset to 1, and processing starts over with the first pattern in the
-\*(AK program.  If the end of the input data is reached, the
+\*(AK program. If the end of the input data is reached, the
 .B END
 block(s), if any, are executed.
-.B NOTE:
-Earlier versions of gawk used
-.BR "next file" ,
-as two words.  While this usage is still recognized, it generates a
-warning message and will eventually be removed.
 .TP
 .B print
-Prints the current record.
+Print the current record.
 The output record is terminated with the value of the
 .B ORS
 variable.
 .TP
 .BI print " expr-list"
-Prints expressions.
+Print expressions.
 Each expression is separated by the value of the
 .B OFS
 variable.
@@ -1486,7 +2037,7 @@ The output record is terminated with the value of the
 variable.
 .TP
 .BI print " expr-list" " >" file
-Prints expressions on
+Print expressions on
 .IR file .
 Each expression is separated by the value of the
 .B OFS
@@ -1496,6 +2047,7 @@ variable.
 .TP
 .BI printf " fmt, expr-list"
 Format and print.
+See \fBThe \fIprintf \fBStatement\fR, below.
 .TP
 .BI printf " fmt, expr-list" " >" file
 Format and print on
@@ -1512,43 +2064,51 @@ Flush any buffers associated with the open output file or pipe
 .IR file .
 If
 .I file
-is missing, then standard output is flushed.
+is missing, then flush standard output.
 If
 .I file
 is the null string,
-then all open output files and pipes
-have their buffers flushed.
+then flush all open output files and pipes.
 .PP
-Other input/output redirections are also allowed.  For
+Additional output redirections are allowed for
 .B print
 and
-.BR printf ,
-.BI >> " file"
-appends output to the
-.IR file ,
-while
-.BI | " command"
-writes on a pipe.
-In a similar fashion,
-.IB command " | getline"
-pipes into
-.BR getline .
+.BR printf .
+.TP
+.BI "print .\|.\|. >>" " file"
+Appends output to the
+.IR file .
+.TP
+.BI "print .\|.\|. |" " command"
+Writes on a pipe.
+.TP
+.BI "print .\|.\|. |&" " command"
+Sends data to a co-process or socket.
+(See also the subsection
+.BR "Special File Names" ,
+below.)
+.PP
 The
-.BR getline
-command will return 0 on end of file, and \-1 on an error.
+.B getline
+command returns 1 on success, 0 on end of file, and \-1 on an error.
+Upon an error,
+.B ERRNO
+contains a string describing the problem.
 .PP
-NOTE: If using a pipe to
+.BR NOTE :
+Failure in opening a two-way socket will result in a non-fatal error being
+returned to the calling function. If using a pipe, co-process, or socket to
 .BR getline ,
 or from
 .B print
 or
-.BR printf
+.B printf
 within a loop, you
 .I must
 use
 .B close()
-to create new instances of the command.
-AWK does not automatically close pipes when
+to create new instances of the command or socket.
+\*(AK does not automatically close pipes, sockets, or co-processes when
 they return EOF.
 .SS The \fIprintf\fP\^ Statement
 .PP
@@ -1559,27 +2119,19 @@ statement and
 function
 (see below)
 accept the following conversion specification formats:
-.TP
+.TP "\w'\fB%g\fR, \fB%G\fR'u+2n"
 .B %c
-An \s-1ASCII\s+1 character.
+A single character.
 If the argument used for
 .B %c
 is numeric, it is treated as a character and printed.
 Otherwise, the argument is assumed to be a string, and the only first
 character of that string is printed.
 .TP
-.PD 0
-.B %d
-.TP
-.PD
-.B %i
+.BR "%d" "," " %i"
 A decimal number (the integer part).
 .TP
-.PD 0
-.B %e
-.TP
-.PD
-.B %E
+.BR %e , " %E"
 A floating point number of the form
 .BR [\-]d.dddddde[+\^\-]dd .
 The
@@ -1589,15 +2141,22 @@ format uses
 instead of
 .BR e .
 .TP
-.B %f
+.BR %f , " %F"
 A floating point number of the form
 .BR [\-]ddd.dddddd .
+If the system library supports it,
+.B %F
+is available as well. This is like
+.BR %f ,
+but uses capital letters for special \*(lqnot a number\*(rq
+and \*(lqinfinity\*(rq values. If
+.B %F
+is not available,
+.I gawk
+uses
+.BR %f .
 .TP
-.PD 0
-.B %g
-.TP
-.PD
-.B %G
+.BR %g , " %G"
 Use
 .B %e
 or
@@ -1620,11 +2179,7 @@ An unsigned decimal number (again, an integer).
 .B %s
 A character string.
 .TP
-.PD 0
-.B %x
-.TP
-.PD
-.B %X
+.BR %x , " %X"
 An unsigned hexadecimal number (an integer).
 The
 .B %X
@@ -1638,10 +2193,23 @@ A single
 .B %
 character; no argument is converted.
 .PP
-There are optional, additional parameters that may lie between the
+Optional, additional parameters may lie between the
 .B %
 and the control letter:
 .TP
+.IB count $
+Use the
+.IR count "'th"
+argument at this point in the formatting.
+This is called a
+.I "positional specifier"
+and
+is intended primarily for use in translated versions of
+format strings, not in the original text of an AWK program.
+It is a
+.I gawk
+extension.
+.TP
 .B \-
 The expression should be left-justified within its field.
 .TP
@@ -1666,17 +2234,18 @@ For
 and
 .BR %X ,
 supply a leading
-.BR 0x
+.B 0x
 or
-.BR 0X
+.B 0X
 for
 a nonzero result.
 For
 .BR %e ,
 .BR %E ,
+.B %f
 and
-.BR %f ,
-the result will always contain a
+.BR %F ,
+the result always contains a
 decimal point.
 For
 .BR %g ,
@@ -1689,7 +2258,7 @@ A leading
 .B 0
 (zero) acts as a flag, that indicates output should be
 padded with zeroes instead of spaces.
-This applies even to non-numeric output formats.
+This applies only to the numeric output formats.
 This flag only has an effect when the field width is wider than the
 value to be printed.
 .TP
@@ -1704,8 +2273,9 @@ A number that specifies the precision to use when printing.
 For the
 .BR %e ,
 .BR %E ,
+.B %f
 and
-.BR %f
+.BR %F ,
 formats, this specifies the
 number of digits you want printed to the right of the decimal point.
 For the
@@ -1715,14 +2285,16 @@ and
 formats, it specifies the maximum number
 of significant digits.  For the
 .BR %d ,
-.BR %o ,
 .BR %i ,
+.BR %o ,
 .BR %u ,
 .BR %x ,
 and
 .B %X
 formats, it specifies the minimum number of
-digits to print.  For a string, it specifies the maximum number of
+digits to print.  For
+.BR %s ,
+it specifies the maximum number of
 characters from the string that should be printed.
 .PP
 The dynamic
@@ -1738,11 +2310,18 @@ in place of either the
 .B width
 or
 .B prec
-specifications will cause their values to be taken from
+specifications causes their values to be taken from
 the argument list to
 .B printf
 or
 .BR sprintf() .
+To use a positional specifier with a dynamic width or precision,
+supply the
+.IB count $
+after the
+.B *
+in the format string.
+For example, \fB"%3$*2$.*1$s"\fP.
 .SS Special File Names
 .PP
 When doing I/O redirection from either
@@ -1756,48 +2335,11 @@ from a file,
 .I gawk
 recognizes certain special filenames internally.  These filenames
 allow access to open file descriptors inherited from
-.IR gawk 's
+.IR gawk\^ "'s"
 parent process (usually the shell).
-Other special filenames provide access to information about the running
-.B gawk
-process.
+These file names may also be used on the command line to name data files.
 The filenames are:
-.TP \w'\fB/dev/stdout\fR'u+1n
-.B /dev/pid
-Reading this file returns the process ID of the current process,
-in decimal, terminated with a newline.
-.TP
-.B /dev/ppid
-Reading this file returns the parent process ID of the current process,
-in decimal, terminated with a newline.
-.TP
-.B /dev/pgrpid
-Reading this file returns the process group ID of the current process,
-in decimal, terminated with a newline.
-.TP
-.B /dev/user
-Reading this file returns a single record terminated with a newline.
-The fields are separated with spaces.
-.B $1
-is the value of the
-.IR getuid (2)
-system call,
-.B $2
-is the value of the
-.IR geteuid (2)
-system call,
-.B $3
-is the value of the
-.IR getgid (2)
-system call, and
-.B $4
-is the value of the
-.IR getegid (2)
-system call.
-If there are any additional fields, they are the group IDs returned by
-.IR getgroups (2).
-Multiple groups may not be supported on all systems.
-.TP
+.TP "\w'\fB/dev/stdout\fR'u+1n"
 .B /dev/stdin
 The standard input.
 .TP
@@ -1827,58 +2369,159 @@ print "You blew it!" | "cat 1>&2"
 .ft R
 .RE
 .PP
-These file names may also be used on the command line to name data files.
+The following special filenames may be used with the
+.B |&
+co-process operator for creating TCP/IP network connections:
+.TP
+.PD 0
+.BI /inet/tcp/ lport / rhost / rport
+.TP
+.PD 0
+.BI /inet4/tcp/ lport / rhost / rport
+.TP
+.PD
+.BI /inet6/tcp/ lport / rhost / rport
+Files for a TCP/IP connection on local port
+.I lport
+to
+remote host
+.I rhost
+on remote port
+.IR rport .
+Use a port of
+.B 0
+to have the system pick a port.
+Use
+.B /inet4
+to force an IPv4 connection,
+and
+.B /inet6
+to force an IPv6 connection.
+Plain
+.B /inet
+uses the system default (most likely IPv4).
+.TP
+.PD 0
+.BI /inet/udp/ lport / rhost / rport
+.TP
+.PD 0
+.BI /inet4/udp/ lport / rhost / rport
+.TP
+.PD
+.BI /inet6/udp/ lport / rhost / rport
+Similar, but use UDP/IP instead of TCP/IP.
 .SS Numeric Functions
 .PP
-\*(AK has the following pre-defined arithmetic functions:
+\*(AK has the following built-in arithmetic functions:
 .PP
-.TP \w'\fBsrand(\fR[\fIexpr\^\fR]\fB)\fR'u+1n
+.TP "\w'\fBsrand(\fR[\fIexpr\^\fR]\fB)\fR'u+1n"
 .BI atan2( y , " x" )
-returns the arctangent of
+Return the arctangent of
 .I y/x
 in radians.
 .TP
 .BI cos( expr )
-returns the cosine of
+Return the cosine of
 .IR expr ,
 which is in radians.
 .TP
 .BI exp( expr )
-the exponential function.
+The exponential function.
 .TP
 .BI int( expr )
-truncates to integer.
+Truncate to integer.
 .TP
 .BI log( expr )
-the natural logarithm function.
+The natural logarithm function.
 .TP
 .B rand()
-returns a random number between 0 and 1.
+Return a random number
+.IR N ,
+between 0 and 1,
+such that 0 \(<= \fIN\fP < 1.
 .TP
 .BI sin( expr )
-returns the sine of
+Return the sine of
 .IR expr ,
 which is in radians.
 .TP
 .BI sqrt( expr )
-the square root function.
+The square root function.
 .TP
 \&\fBsrand(\fR[\fIexpr\^\fR]\fB)\fR
-uses
+Use
 .I expr
-as a new seed for the random number generator.  If no
+as the new seed for the random number generator.  If no
 .I expr
-is provided, the time of day will be used.
+is provided, use the time of day.
 The return value is the previous seed for the random
 number generator.
 .SS String Functions
 .PP
 .I Gawk
-has the following pre-defined string functions:
+has the following built-in string functions:
 .PP
 .TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
+\fBasort(\fIs \fR[\fB, \fId\fR [\fB, \fIhow\fR] ]\fB)\fR
+Return the number of elements in the source
+array
+.IR s .
+Sort
+the contents of
+.I s
+using
+.IR gawk\^ "'s"
+normal rules for
+comparing values, and replace the indices of the
+sorted values
+.I s
+with sequential
+integers starting with 1. If the optional
+destination array
+.I d
+is specified, then
+first duplicate
+.I s
+into
+.IR d ,
+and then sort
+.IR d ,
+leaving the indices of the
+source array
+.I s
+unchanged. The optional string
+.I how
+controls the direction and the comparison mode.
+Valid values for
+.I how
+are
+any of the strings valid for
+\fBPROCINFO["sorted_in"]\fR.
+It can also be the name of a user-defined
+comparison function as described in
+\fBPROCINFO["sorted_in"]\fR.
+.TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
+\fBasorti(\fIs \fR[\fB, \fId\fR [\fB, \fIhow\fR] ]\fB)\fR
+Return the number of elements in the source
+array
+.IR s .
+The behavior is the same as that of
+.BR asort() ,
+except that the array
+.I indices
+are used for sorting, not the array values.
+When done, the array is indexed numerically, and
+the values are those of the original indices.
+The original values are lost; thus provide
+a second array if you wish to preserve the original.
+The purpose of the optional string
+.I how
+is the same as described in
+.B asort()
+above.
+.TP
 \fBgensub(\fIr\fB, \fIs\fB, \fIh \fR[\fB, \fIt\fR]\fB)\fR
-search the target string
+Search the target string
 .I t
 for matches of the regular expression
 .IR r .
@@ -1897,11 +2540,11 @@ Otherwise,
 is a number indicating which match of
 .I r
 to replace.
-If no
+If
 .I t
-is supplied,
+is not supplied, use
 .B $0
-is used instead.
+instead.
 Within the replacement text
 .IR s ,
 the sequence
@@ -1925,7 +2568,7 @@ and the original target string is
 changed.
 .TP "\w'\fBsprintf(\^\fIfmt\fB\^, \fIexpr-list\^\fB)\fR'u+1n"
 \fBgsub(\fIr\fB, \fIs \fR[\fB, \fIt\fR]\fB)\fR
-for each substring matching the regular expression
+For each substring matching the regular expression
 .I r
 in the string
 .IR t ,
@@ -1943,77 +2586,193 @@ Use
 .B \e&
 to get a literal
 .BR & .
-See
-.I "Effective AWK Programming"
+(This must be typed as \fB"\e\e&"\fP;
+see \*(EP
 for a fuller discussion of the rules for
-.BR &'s
+.BR & 's
 and backslashes in the replacement text of
 .BR sub() ,
 .BR gsub() ,
 and
-.BR gensub() .
+.BR gensub() .)
 .TP
 .BI index( s , " t" )
-returns the index of the string
+Return the index of the string
 .I t
 in the string
 .IR s ,
 or 0 if
 .I t
 is not present.
+(This implies that character indices start at one.)
 .TP
 \fBlength(\fR[\fIs\fR]\fB)
-returns the length of the string
+Return the length of the string
 .IR s ,
 or the length of
 .B $0
 if
 .I s
 is not supplied.
+As a non-standard extension, with an array argument,
+.B length()
+returns the number of elements in the array.
 .TP
-.BI match( s , " r" )
-returns the position in
+\fBmatch(\fIs\fB, \fIr \fR[\fB, \fIa\fR]\fB)\fR
+Return the position in
 .I s
 where the regular expression
 .I r
 occurs, or 0 if
 .I r
-is not present, and sets the values of
+is not present, and set the values of
 .B RSTART
 and
 .BR RLENGTH .
+Note that the argument order is the same as for the
+.B ~
+operator:
+.IB str " ~"
+.IR re .
+.ft R
+If array
+.I a
+is provided,
+.I a
+is cleared and then elements 1 through
+.I n
+are filled with the portions of
+.I s
+that match the corresponding parenthesized
+subexpression in
+.IR r .
+The 0'th element of
+.I a
+contains the portion
+of
+.I s
+matched by the entire regular expression
+.IR r .
+Subscripts
+\fBa[\fIn\^\fB, "start"]\fR,
+and
+\fBa[\fIn\^\fB, "length"]\fR
+provide the starting index in the string and length
+respectively, of each matching substring.
 .TP
-\fBsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR]\fB)\fR
-splits the string
+\fBpatsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR [\fB, \fIseps\fR] ]\fB)\fR
+Split the string
+.I s
+into the array
+.I a
+and the separators array
+.I seps
+on the regular expression
+.IR r ,
+and return the number of fields.
+Element values are the portions of
+.I s
+that matched
+.IR r .
+The value of
+.I seps[i]
+is the separator that appeared in
+front of
+.IR a[i+1] .
+If
+.I r
+is omitted,
+.B FPAT
+is used instead.
+The arrays
+.I a
+and
+.I seps
+are cleared first.
+Splitting behaves identically to field splitting with
+.BR FPAT ,
+described above.
+.TP
+\fBsplit(\fIs\fB, \fIa \fR[\fB, \fIr\fR [\fB, \fIseps\fR] ]\fB)\fR
+Split the string
 .I s
 into the array
 .I a
+and the separators array
+.I seps
 on the regular expression
 .IR r ,
-and returns the number of fields.  If
+and return the number of fields.  If
 .I r
 is omitted,
 .B FS
 is used instead.
-The array
+The arrays
 .I a
-is cleared first.
+and
+.I seps
+are cleared first.
+.I seps[i]
+is the field separator matched by
+.I r
+between
+.I a[i]
+and
+.IR a[i+1] .
+If
+.I r
+is a single space, then leading whitespace in
+.I s
+goes into the extra array element
+.I seps[0]
+and trailing whitespace goes into the extra array element
+.IR seps[n] ,
+where
+.I n
+is the return value of 
+.IR "split(s, a, r, seps)" .
 Splitting behaves identically to field splitting, described above.
 .TP
 .BI sprintf( fmt , " expr-list" )
-prints
+Prints
 .I expr-list
 according to
 .IR fmt ,
 and returns the resulting string.
 .TP
+.BI strtonum( str )
+Examine
+.IR str ,
+and return its numeric value.
+If
+.I str
+begins
+with a leading
+.BR 0 ,
+.B strtonum()
+assumes that
+.I str
+is an octal number.
+If
+.I str
+begins
+with a leading
+.B 0x
+or
+.BR 0X ,
+.B strtonum()
+assumes that
+.I str
+is a hexadecimal number.
+Otherwise, decimal is assumed.
+.TP
 \fBsub(\fIr\fB, \fIs \fR[\fB, \fIt\fR]\fB)\fR
-just like
+Just like
 .BR gsub() ,
-but only the first matching substring is replaced.
+but replace only the first matching substring.
 .TP
 \fBsubstr(\fIs\fB, \fIi \fR[\fB, \fIn\fR]\fB)\fR
-returns the at most
+Return the at most
 .IR n -character
 substring of
 .I s
@@ -2021,43 +2780,87 @@ starting at
 .IR i .
 If
 .I n
-is omitted, the rest of
-.I s
-is used.
+is omitted, use the rest of
+.IR s .
 .TP
 .BI tolower( str )
-returns a copy of the string
+Return a copy of the string
 .IR str ,
-with all the upper-case characters in
+with all the uppercase characters in
 .I str
-translated to their corresponding lower-case counterparts.
+translated to their corresponding lowercase counterparts.
 Non-alphabetic characters are left unchanged.
 .TP
 .BI toupper( str )
-returns a copy of the string
+Return a copy of the string
 .IR str ,
-with all the lower-case characters in
+with all the lowercase characters in
 .I str
-translated to their corresponding upper-case counterparts.
+translated to their corresponding uppercase counterparts.
 Non-alphabetic characters are left unchanged.
-.SS Time Functions
 .PP
+.I Gawk
+is multibyte aware.  This means that
+.BR index() ,
+.BR length() ,
+.B substr()
+and
+.B match()
+all work in terms of characters, not bytes.
+.SS Time Functions
 Since one of the primary uses of \*(AK programs is processing log files
 that contain time stamp information,
 .I gawk
-provides the following two functions for obtaining time stamps and
+provides the following functions for obtaining time stamps and
 formatting them.
 .PP
 .TP "\w'\fBsystime()\fR'u+1n"
-.B systime()
-returns the current time of day as the number of seconds since the Epoch
-(Midnight UTC, January 1, 1970 on \*(PX systems).
-.TP
-\fBstrftime(\fR[\fIformat \fR[\fB, \fItimestamp\fR]]\fB)\fR
-formats
+\fBmktime(\fIdatespec\fB)\fR
+Turn
+.I datespec
+into a time stamp of the same form as returned by
+.BR systime() ,
+and return the result.
+The
+.I datespec
+is a string of the form
+.IR "YYYY MM DD HH MM SS[ DST]" .
+The contents of the string are six or seven numbers representing respectively
+the full year including century,
+the month from 1 to 12,
+the day of the month from 1 to 31,
+the hour of the day from 0 to 23,
+the minute from 0 to 59,
+the second from 0 to 60,
+and an optional daylight saving flag.
+The values of these numbers need not be within the ranges specified;
+for example, an hour of \-1 means 1 hour before midnight.
+The origin-zero Gregorian calendar is assumed,
+with year 0 preceding year 1 and year \-1 preceding year 0.
+The time is assumed to be in the local timezone.
+If the daylight saving flag is positive,
+the time is assumed to be daylight saving time;
+if zero, the time is assumed to be standard time;
+and if negative (the default),
+.B mktime()
+attempts to determine whether daylight saving time is in effect
+for the specified time.
+If
+.I datespec
+does not contain enough elements or if the resulting time
+is out of range,
+.B mktime()
+returns \-1.
+.TP
+\fBstrftime(\fR[\fIformat \fR[\fB, \fItimestamp\fR[\fB, \fIutc-flag\fR]]]\fB)\fR
+Format
 .I timestamp
 according to the specification in
-.IR format.
+.IR format .
+If
+.I utc-flag
+is present and is non-zero or non-null, the result
+is in UTC, otherwise the result is in local time.
 The
 .I timestamp
 should be of the same form as returned by
 .I format
 is missing, a default format equivalent to the output of
 .IR date (1)
-will be used.
+is used.
+The default format is available in
+.BR PROCINFO["strftime"] .
 See the specification for the
 .B strftime()
 function in \*(AN C for the format conversions that are
 guaranteed to be available.
-A public-domain version of
-.IR strftime (3)
-and a man page for it come with
-.IR gawk ;
-if that version was used to build
-.IR gawk ,
-then all of the conversions described in that man page are available to
-.IR gawk.
-.SS String Constants
-.PP
-String constants in \*(AK are sequences of characters enclosed
-between double quotes (\fB"\fR).  Within strings, certain
-.I "escape sequences"
-are recognized, as in C.  These are:
-.PP
-.TP \w'\fB\e\^\fIddd\fR'u+1n
-.B \e\e
-A literal backslash.
 .TP
-.B \ea
-The \*(lqalert\*(rq character; usually the \s-1ASCII\s+1 \s-1BEL\s+1 character.
+.B systime()
+Return the current time of day as the number of seconds since the Epoch
+(1970-01-01 00:00:00 UTC on \*(PX systems).
+.SS Bit Manipulations Functions
+.I Gawk
+supplies the following bit manipulation functions.
+They work by converting double-precision floating point
+values to
+.B uintmax_t
+integers, doing the operation, and then converting the
+result back to floating point.
+The functions are:
+.TP "\w'\fBrshift(\fIval\fB, \fIcount\fB)\fR'u+2n"
+\fBand(\fIv1\fB, \fIv2\fB)\fR
+Return the bitwise AND of the values provided by
+.I v1
+and
+.IR v2 .
 .TP
-.B \eb
-backspace.
+\fBcompl(\fIval\fB)\fR
+Return the bitwise complement of
+.IR val .
 .TP
-.B \ef
-form-feed.
+\fBlshift(\fIval\fB, \fIcount\fB)\fR
+Return the value of
+.IR val ,
+shifted left by
+.I count
+bits.
 .TP
-.B \en
-newline.
-.TP
-.B \er
-carriage return.
-.TP
-.B \et
-horizontal tab.
-.TP
-.B \ev
-vertical tab.
-.TP
-.BI \ex "\^hex digits"
-The character represented by the string of hexadecimal digits following
-the
-.BR \ex .
-As in \*(AN C, all following hexadecimal digits are considered part of
-the escape sequence.
-(This feature should tell us something about language design by committee.)
-E.g., \fB"\ex1B"\fR is the \s-1ASCII\s+1 \s-1ESC\s+1 (escape) character.
+\fBor(\fIv1\fB, \fIv2\fB)\fR
+Return the bitwise OR of the values provided by
+.I v1
+and
+.IR v2 .
 .TP
-.BI \e ddd
-The character represented by the 1-, 2-, or 3-digit sequence of octal
-digits.
-E.g., \fB"\e033"\fR is the \s-1ASCII\s+1 \s-1ESC\s+1 (escape) character.
+\fBrshift(\fIval\fB, \fIcount\fB)\fR
+Return the value of
+.IR val ,
+shifted right by
+.I count
+bits.
 .TP
-.BI \e c
-The literal character
-.IR c\^ .
-.PP
-The escape sequences may also be used inside constant regular expressions
-(e.g.,
-.B "/[\ \et\ef\en\er\ev]/"
-matches whitespace characters).
-.PP
-In compatibility mode, the characters represented by octal and
-hexadecimal escape sequences are treated literally when used in
-regexp constants.  Thus,
-.B /a\e52b/
-is equivalent to
-.BR /a\e*b/ .
-.SH FUNCTIONS
+\fBxor(\fIv1\fB, \fIv2\fB)\fR
+Return the bitwise XOR of the values provided by
+.I v1
+and
+.IR v2 .
+.PP
+.SS Type Function
+The following function is for use with multidimensional arrays.
+.TP
+\fBisarray(\fIx\fB)\fR
+Return true if
+.I x
+is an array, false otherwise.
+.SS Internationalization Functions
+The following functions may be used from within your AWK program for
+translating strings at run-time.
+For full details, see \*(EP.
+.TP
+\fBbindtextdomain(\fIdirectory \fR[\fB, \fIdomain\fR]\fB)\fR
+Specify the directory where
+.I gawk
+looks for the
+.B \&.mo
+files, in case they
+will not or cannot be placed in the ``standard'' locations
+(e.g., during testing).
+It returns the directory where
+.I domain
+is ``bound.''
+.sp .5
+The default
+.I domain
+is the value of
+.BR TEXTDOMAIN .
+If
+.I directory
+is the null string (\fB""\fR), then
+.B bindtextdomain()
+returns the current binding for the
+given
+.IR domain .
+.TP
+\fBdcgettext(\fIstring \fR[\fB, \fIdomain \fR[\fB, \fIcategory\fR]]\fB)\fR
+Return the translation of
+.I string
+in text domain
+.I domain
+for locale category
+.IR category .
+The default value for
+.I domain
+is the current value of
+.BR TEXTDOMAIN .
+The default value for
+.I category
+is \fB"LC_MESSAGES"\fR.
+.sp .5
+If you supply a value for
+.IR category ,
+it must be a string equal to
+one of the known locale categories described
+in \*(EP.
+You must also supply a text domain.  Use
+.B TEXTDOMAIN
+if you want to use the current domain.
+.TP
+\fBdcngettext(\fIstring1 \fR, \fIstring2 \fR, \fInumber \fR[\fB, \fIdomain \fR[\fB, \fIcategory\fR]]\fB)\fR
+Return the plural form used for
+.I number
+of the translation of
+.I string1
+and
+.I string2
+in
+text domain
+.I domain
+for locale category
+.IR category .
+The default value for
+.I domain
+is the current value of
+.BR TEXTDOMAIN .
+The default value for
+.I category
+is \fB"LC_MESSAGES"\fR.
+.sp .5
+If you supply a value for
+.IR category ,
+it must be a string equal to
+one of the known locale categories described
+in \*(EP.
+You must also supply a text domain.  Use
+.B TEXTDOMAIN
+if you want to use the current domain.
+.SH USER-DEFINED FUNCTIONS
 Functions in \*(AK are defined as follows:
 .PP
 .RS
@@ -2163,7 +3037,7 @@ real parameters by extra spaces in the parameter list.  For example:
 .RS
 .ft B
 .nf
-function  f(p, q,     a, b)    # a & b are local
+function  f(p, q,     a, b)    # a and b are local
 {
        \&.\|.\|.
 }
@@ -2175,8 +3049,8 @@ function  f(p, q,     a, b)       # a & b are local
 .PP
 The left parenthesis in a function call is required
 to immediately follow the function name,
-without any intervening white space.
-This is to avoid a syntactic ambiguity with the concatenation operator.
+without any intervening whitespace.
+This avoids a syntactic ambiguity with the concatenation operator.
 This restriction does not apply to the built-in functions listed above.
 .PP
 Functions may call each other and may be recursive.
@@ -2189,11 +3063,36 @@ to return a value from a function.  The return value is undefined if no
 value is provided, or if the function returns by \*(lqfalling off\*(rq the
 end.
 .PP
+As a
+.I gawk
+extension, functions may be called indirectly. To do this, assign
+the name of the function to be called, as a string, to a variable.
+Then use the variable as if it were the name of a function, prefixed with an
+.B @
+sign, like so:
+.RS
+.ft B
+.nf
+function  myfunc()
+{
+       print "myfunc called"
+       \&.\|.\|.
+}
+
+{      .\|.\|.
+       the_func = "myfunc"
+       @the_func()     # call through the_func to myfunc
+       .\|.\|.
+}
+.fi
+.ft R
+.RE
+.PP
 If
 .B \-\^\-lint
 has been provided,
 .I gawk
-will warn about calls to undefined functions at parse time,
+warns about calls to undefined functions at parse time,
 instead of at run time.
 Calling an undefined function at run time is a fatal error.
 .PP
@@ -2201,51 +3100,120 @@ The word
 .B func
 may be used in place of
 .BR function .
-.SH EXAMPLES
-.nf
-Print and sort the login names of all users:
-
-.ft B
-       BEGIN   { FS = ":" }
-               { print $1 | "sort" }
-
-.ft R
-Count lines in a file:
-
+.SH DYNAMICALLY LOADING NEW FUNCTIONS
+You can dynamically add new built-in functions to the running
+.I gawk
+interpreter.
+The full details are beyond the scope of this manual page;
+see \*(EP for the details.
+.PP
+.TP 8
+\fBextension(\fIobject\fB, \fIfunction\fB)\fR
+Dynamically link the shared object file named by
+.IR object ,
+and invoke
+.I function
+in that object, to perform initialization.
+These should both be provided as strings.
+Return the value returned by
+.IR function .
+.PP
+Using this feature at the C level is not pretty, but
+it is unlikely to go away. Additional mechanisms may
+be added at some point.
+.SH SIGNALS
+.I pgawk
+accepts two signals.
+.B SIGUSR1
+causes it to dump a profile and function call stack to the
+profile file, which is either
+.BR awkprof.out ,
+or whatever file was named with the
+.B \-\^\-profile
+option.  It then continues to run.
+.B SIGHUP
+causes
+.I pgawk
+to dump the profile and function call stack and then exit.
+.SH INTERNATIONALIZATION
+.PP
+String constants are sequences of characters enclosed in double
+quotes.  In non-English speaking environments, it is possible to mark
+strings in the \*(AK program as requiring translation to the local
+natural language. Such strings are marked in the \*(AK program with
+a leading underscore (\*(lq_\*(rq).  For example,
+.sp
+.RS
 .ft B
-               { nlines++ }
-       END     { print nlines }
-
+gawk 'BEGIN { print "hello, world" }'
+.RE
+.sp
 .ft R
-Precede each line by its number in the file:
-
+always prints
+.BR "hello, world" .
+But,
+.sp
+.RS
 .ft B
-       { print FNR, $0 }
-
+gawk 'BEGIN { print _"hello, world" }'
+.RE
+.sp
 .ft R
-Concatenate and line number (a variation on a theme):
-
+might print
+.B "bonjour, monde"
+in France.
+.PP
+There are several steps involved in producing and running a localizable
+\*(AK program.
+.TP "\w'4.'u+2n"
+1.
+Add a
+.B BEGIN
+action to assign a value to the
+.B TEXTDOMAIN
+variable to set the text domain to a name associated with your program:
+.sp
+.RS
 .ft B
-       { print NR, $0 }
+BEGIN { TEXTDOMAIN = "myprog" }
 .ft R
-.fi
-.SH SEE ALSO
-.IR egrep (1),
-.IR getpid (2),
-.IR getppid (2),
-.IR getpgrp (2),
-.IR getuid (2),
-.IR geteuid (2),
-.IR getgid (2),
-.IR getegid (2),
-.IR getgroups (2)
-.PP
-.IR "The AWK Programming Language" ,
-Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger,
-Addison-Wesley, 1988.  ISBN 0-201-07981-X.
-.PP
-.IR "Effective AWK Programming" ,
-Edition 1.0, published by the Free Software Foundation, 1995.
+.RE
+.sp
+This allows
+.I gawk
+to find the
+.B \&.mo
+file associated with your program.
+Without this step,
+.I gawk
+uses the
+.B messages
+text domain,
+which likely does not contain translations for your program.
+.TP
+2.
+Mark all strings that should be translated with leading underscores.
+.TP
+3.
+If necessary, use the
+.B dcgettext()
+and/or
+.B bindtextdomain()
+functions in your program, as appropriate.
+.TP
+4.
+Run
+.B "gawk \-\^\-gen\-pot \-f myprog.awk > myprog.pot"
+to generate a
+.B \&.po
+file for your program.
+.TP
+5.
+Provide appropriate translations, and build and install the corresponding
+.B \&.mo
+files.
+.PP
+The internationalization features are described in full detail in \*(EP.
 .SH POSIX COMPATIBILITY
 A primary goal for
 .I gawk
@@ -2256,13 +3224,10 @@ To this end,
 .I gawk
 incorporates the following user visible
 features which are not described in the \*(AK book,
-but are part of the Bell Labs version of
+but are part of the Bell Laboratories version of
 .IR awk ,
 and are in the \*(PX standard.
 .PP
-The
-.B \-v
-option for assigning variables before program execution starts is new.
 The book indicates that command line variable assignment happens when
 .I awk
 would otherwise open the argument as a file, which is after the
@@ -2275,19 +3240,17 @@ the
 block was run.  Applications came to depend on this \*(lqfeature.\*(rq
 When
 .I awk
-was changed to match its documentation, this option was added to
+was changed to match its documentation, the
+.B \-v
+option for assigning variables before program execution was added to
 accommodate applications that depended upon the old behavior.
-(This feature was agreed upon by both the AT&T and \*(GN developers.)
-.PP
-The
-.B \-W
-option for implementation specific features is from the \*(PX standard.
+(This feature was agreed upon by both the Bell Laboratories and the \*(GN developers.)
 .PP
 When processing arguments,
 .I gawk
 uses the special option \*(lq\-\^\-\*(rq to signal the end of
 arguments.
-In compatibility mode, it will warn about, but otherwise ignore,
+In compatibility mode, it warns about but otherwise ignores
 undefined options.
 In normal operation, such arguments are passed on to the \*(AK program for
 it to process.
@@ -2312,16 +3275,46 @@ the
 array; the
 .BR \ea ,
 and
-.BR \ev
+.B \ev
 escape sequences (done originally in
 .I gawk
-and fed back into AT&T's); the
+and fed back into the Bell Laboratories version); the
 .B tolower()
 and
 .B toupper()
-built-in functions (from AT&T); and the \*(AN C conversion specifications in
+built-in functions (from the Bell Laboratories version); and the \*(AN C conversion specifications in
 .B printf
-(done first in AT&T's version).
+(done first in the Bell Laboratories version).
+.SH HISTORICAL FEATURES
+There is one feature of historical \*(AK implementations that
+.I gawk
+supports:
+It is possible to call the
+.B length()
+built-in function not only with no argument, but even without parentheses!
+Thus,
+.RS
+.PP
+.ft B
+a = length     # Holy Algol 60, Batman!
+.ft R
+.RE
+.PP
+is the same as either of
+.RS
+.PP
+.ft B
+a = length()
+.br
+a = length($0)
+.ft R
+.RE
+.PP
+Using this feature is poor practice, and
+.I gawk
+issues a warning about its use if
+.B \-\^\-lint
+is specified on the command line.
 .SH GNU EXTENSIONS
 .I Gawk
 has a number of extensions to \*(PX
@@ -2332,22 +3325,38 @@ invoking
 .I gawk
 with the
 .B \-\^\-traditional
-option.
+or
+.B \-\^\-posix
+options.
 .PP
 The following features of
 .I gawk
 are not available in
 \*(PX
 .IR awk .
-.RS
-.TP \w'\(bu'u+1n
+.\" Environment vars and startup stuff
+.TP "\w'\(bu'u+1n"
+\(bu
+No path search is performed for files named via the
+.B \-f
+option.  Therefore the
+.B AWKPATH
+environment variable is not special.
+.\" POSIX and language recognition issues
+.TP
+\(bu
+There is no facility for doing file inclusion 
+.RI ( gawk 's
+.B @include
+mechanism).
+.TP
 \(bu
 The
 .B \ex
 escape sequence.
 (Disabled with
 .BR \-\^\-posix .)
-.TP \w'\(bu'u+1n
+.TP
 \(bu
 The
 .B fflush()
@@ -2356,22 +3365,26 @@ function.
 .BR \-\^\-posix .)
 .TP
 \(bu
-The
-.BR systime(),
-.BR strftime(),
+The ability to continue lines after
+.B ?
 and
-.B gensub()
-functions.
+.BR : .
+(Disabled with
+.BR \-\^\-posix .)
 .TP
 \(bu
-The special file names available for I/O redirection are not recognized.
+Octal and hexadecimal constants in AWK programs.
+.\" Special variables
 .TP
 \(bu
 The
 .BR ARGIND ,
+.BR BINMODE ,
 .BR ERRNO ,
+.BR LINT ,
+.B  RT
 and
-.B RT
+.B  TEXTDOMAIN
 variables are not special.
 .TP
 \(bu
@@ -2385,11 +3398,38 @@ The
 variable and fixed-width field splitting.
 .TP
 \(bu
+The
+.B FPAT
+variable and field splitting based on field values.
+.TP
+\(bu
+The
+.B PROCINFO
+array is not available.
+.\" I/O stuff
+.TP
+\(bu
 The use of
 .B RS
 as a regular expression.
 .TP
 \(bu
+The special file names available for I/O redirection are not recognized.
+.TP
+\(bu
+The
+.B |&
+operator for creating co-processes.
+.TP
+\(bu
+The
+.B BEGINFILE
+and
+.B ENDFILE
+special patterns are not available.
+.\" Changes to standard awk functions
+.TP
+\(bu
 The ability to split out individual characters using the null string
 as the value of
 .BR FS ,
@@ -2397,33 +3437,87 @@ and as the third argument to
 .BR split() .
 .TP
 \(bu
-No path search is performed for files named via the
-.B \-f
-option.  Therefore the
-.B AWKPATH
-environment variable is not special.
+An optional fourth argument to
+.B split()
+to receive the separator texts.
 .TP
 \(bu
-The use of
-.B "nextfile"
-to abandon processing of the current input file.
+The optional second argument to the
+.B close()
+function.
+.TP
+\(bu
+The optional third argument to the
+.B match()
+function.
+.TP
+\(bu
+The ability to use positional specifiers with
+.B printf
+and
+.BR sprintf() .
+.TP
+\(bu
+The ability to pass an array to
+.BR length() .
+.\" New keywords or changes to keywords
 .TP
 \(bu
 The use of
 .BI delete " array"
 to delete the entire contents of an array.
-.RE
+.TP
+\(bu
+The use of
+.B "nextfile"
+to abandon processing of the current input file.
+.\" New functions
+.TP
+\(bu
+The
+.BR and() ,
+.BR asort() ,
+.BR asorti() ,
+.BR bindtextdomain() ,
+.BR compl() ,
+.BR dcgettext() ,
+.BR dcngettext() ,
+.BR gensub() ,
+.BR lshift() ,
+.BR mktime() ,
+.BR or() ,
+.BR patsplit() ,
+.BR rshift() ,
+.BR strftime() ,
+.BR strtonum() ,
+.B systime()
+and
+.B xor()
+functions.
+.\" I18N stuff
+.TP
+\(bu
+Localizable strings.
+.\" Extending gawk
+.TP
+\(bu
+Adding new built-in functions dynamically with the
+.B extension()
+function.
 .PP
-The AWK book does not define the return value of the
+The \*(AK book does not define the return value of the
 .B close()
 function.
-.IR Gawk\^ 's
+.IR Gawk\^ "'s"
 .B close()
 returns the value from
 .IR fclose (3),
 or
 .IR pclose (3),
-when closing a file or pipe, respectively.
+when closing an output file or pipe, respectively.
+It returns the process's exit status when closing an input pipe.
+The return value is \-1 if the named file, pipe
+or co-process was not opened with a redirection.
 .PP
 When
 .I gawk
@@ -2436,10 +3530,10 @@ argument to the
 .B \-F
 option is \*(lqt\*(rq, then
 .B FS
-will be set to the tab character.
+is set to the tab character.
 Note that typing
 .B "gawk \-F\et \&.\|.\|."
-simply causes the shell to quote the \*(lqt,\*(rq, and does not pass
+simply causes the shell to quote the \*(lqt,\*(rq and does not pass
 \*(lq\et\*(rq to the
 .B \-F
 option.
@@ -2448,17 +3542,17 @@ This behavior also does not occur if
 .B \-\^\-posix
 has been specified.
 To really get a tab character as the field separator, it is best to use
-quotes:
+single quotes:
 .BR "gawk \-F'\et' \&.\|.\|." .
 .ig
 .PP
 If
 .I gawk
-was compiled for debugging, it will
-accept the following additional options:
+was compiled for debugging, it
+accepts the following additional options:
 .TP
 .PD 0
-.B \-Wparsedebug
+.B \-Y
 .TP
 .PD
 .B \-\^\-parsedebug
@@ -2472,55 +3566,25 @@ This option should only be of interest to the
 maintainers, and may not even be compiled into
 .IR gawk .
 ..
-.SH HISTORICAL FEATURES
-There are two features of historical \*(AK implementations that
+.SH ENVIRONMENT VARIABLES
+The
+.B AWKPATH
+environment variable can be used to provide a list of directories that
 .I gawk
-supports.
-First, it is possible to call the
-.B length()
-built-in function not only with no argument, but even without parentheses!
-Thus,
-.RS
-.PP
-.ft B
-a = length     # Holy Algol 60, Batman!
-.ft R
-.RE
-.PP
-is the same as either of
-.RS
-.PP
-.ft B
-a = length()
-.br
-a = length($0)
-.ft R
-.RE
+searches when looking for files named via the
+.B \-f
+and
+.B \-\^\-file
+options.
 .PP
-This feature is marked as \*(lqdeprecated\*(rq in the \*(PX standard, and
-.I gawk
-will issue a warning about its use if
-.B \-\^\-lint
-is specified on the command line.
+For socket communication, two special environment variables can be used to control the number of retries
+.RB ( GAWK_SOCK_RETRIES ),
+and the interval between retries
+.RB ( GAWK_MSEC_SLEEP ).
+The interval is in milliseconds. On systems that do not support
+.IR usleep (3),
+the value is rounded up to an integral number of seconds.
 .PP
-The other feature is the use of either the
-.B continue
-or the
-.B break
-statements outside the body of a
-.BR while ,
-.BR for ,
-or
-.B do
-loop.  Traditional \*(AK implementations have treated such usage as
-equivalent to the
-.B next
-statement.
-.I Gawk
-will support this usage if
-.B \-\^\-traditional
-has been specified.
-.SH ENVIRONMENT VARIABLES
 If
 .B POSIXLY_CORRECT
 exists in the environment, then
@@ -2532,54 +3596,43 @@ If
 .B \-\^\-lint
 has been specified,
 .I gawk
-will issue a warning message to this effect.
-.PP
-The
-.B AWKPATH
-environment variable can be used to provide a list of directories that
+issues a warning message to this effect.
+.SH EXIT STATUS
+If the
+.B exit
+statement is used with a value,
+then
 .I gawk
-will search when looking for files named via the
-.B \-f
-and
-.B \-\^\-file
-options.
-.SH BUGS
-The
-.B \-F
-option is not necessary given the command line variable assignment feature;
-it remains only for backwards compatibility.
+exits with
+the numeric value given to it.
 .PP
-If your system actually has support for
-.B /dev/fd
-and the associated
-.BR /dev/stdin ,
-.BR /dev/stdout ,
-and
-.B /dev/stderr
-files, you may get different output from
+Otherwise, if there were no problems during execution,
 .I gawk
-than you would get on a system without those files.  When
+exits with the value of the C constant
+.BR EXIT_SUCCESS .
+This is usually zero.
+.PP
+If an error occurs,
 .I gawk
-interprets these files internally, it synchronizes output to the standard
-output with output to
-.BR /dev/stdout ,
-while on a system with those files, the output is actually to different
-open files.
-Caveat Emptor.
+exits with the value of
+the C constant
+.BR EXIT_FAILURE .
+This is usually one.
 .PP
-Syntactically invalid single character programs tend to overflow
-the parse stack, generating a rather unhelpful message.  Such programs
-are surprisingly difficult to diagnose in the completely general case,
-and the effort to do so really is not worth it.
+If
+.I gawk
+exits because of a fatal error, the exit
+status is 2.  On non-POSIX systems, this value may be mapped to
+.BR EXIT_FAILURE .
 .SH VERSION INFORMATION
 This man page documents
 .IR gawk ,
-version 3.0.6.
+version 4.0.
 .SH AUTHORS
 The original version of \*(UX
 .I awk
 was designed and implemented by Alfred Aho,
-Peter Weinberger, and Brian Kernighan of AT&T Bell Labs.  Brian Kernighan
+Peter Weinberger, and Brian Kernighan of Bell Laboratories.  Brian Kernighan
 continues to maintain and enhance it.
 .PP
 Paul Rubin and Jay Fenlason,
@@ -2597,26 +3650,49 @@ compatible with the new version of \*(UX
 Arnold Robbins is the current maintainer.
 .PP
 The initial DOS port was done by Conrad Kwok and Scott Garfinkle.
-Scott Deifik is the current DOS maintainer.  Pat Rankin did the
+Scott Deifik maintains the port to MS-DOS using DJGPP.
+Eli Zaretskii maintains the port to MS-Windows using MinGW.
+Pat Rankin did the
 port to VMS, and Michal Jaegermann did the port to the Atari ST.
 The port to OS/2 was done by Kai Uwe Rommel, with contributions and
-help from Darrel Hankerson.  Fred Fish supplied support for the Amiga.
+help from Darrel Hankerson.
+Andreas Buening now maintains the OS/2 port.
+The late Fred Fish supplied support for the Amiga,
+and Martin Brown provided the BeOS port.
+Stephen Davies provided the original Tandem port, and
+Matthew Woehlke provided changes for Tandem's POSIX-compliant systems.
+Dave Pitts provided the port to z/OS.
+.PP
+See the
+.I README
+file in the
+.I gawk
+distribution for up-to-date information about maintainers
+and which ports are currently supported.
 .SH BUG REPORTS
 If you find a bug in
 .IR gawk ,
 please send electronic mail to
 .BR bug-gawk@gnu.org .
 Please include your operating system and its revision, the version of
-.IR gawk ,
-what C compiler you used to compile it, and a test program
+.I gawk
+(from
+.BR "gawk \-\^\-version" ),
+which C compiler you used to compile it, and a test program
 and data that are as small as possible for reproducing the problem.
 .PP
-Before sending a bug report, please do two things.  First, verify that
+Before sending a bug report, please do the following things.  First, verify that
 you have the latest version of
 .IR gawk .
 Many bugs (usually subtle ones) are fixed at each release, and if
 yours is out of date, the problem may already have been solved.
-Second, please read this man page and the reference manual carefully to
+Second, please see if setting the environment variable
+.B LC_ALL
+to
+.B LC_ALL=C
+causes things to behave as you expect. If so, it's a locale issue,
+and may or may not really be a bug.
+Finally, please read this man page and the reference manual carefully to
 be sure that what you think is a bug really is, instead of just a quirk
 in the language.
 .PP
@@ -2629,12 +3705,89 @@ While the
 developers occasionally read this newsgroup, posting bug reports there
 is an unreliable way to report bugs.  Instead, please use the electronic mail
 addresses given above.
+.PP
+If you're using a GNU/Linux or BSD-based system,
+you may wish to submit a bug report to the vendor of your distribution.
+That's fine, but please send a copy to the official email address as well,
+since there's no guarantee that the bug report will be forwarded to the
+.I gawk
+maintainer.
+.SH BUGS
+The
+.B \-F
+option is not necessary given the command line variable assignment feature;
+it remains only for backwards compatibility.
+.PP
+Syntactically invalid single character programs tend to overflow
+the parse stack, generating a rather unhelpful message.  Such programs
+are surprisingly difficult to diagnose in the completely general case,
+and the effort to do so really is not worth it.
+.SH SEE ALSO
+.IR egrep (1),
+.IR getpid (2),
+.IR getppid (2),
+.IR getpgrp (2),
+.IR getuid (2),
+.IR geteuid (2),
+.IR getgid (2),
+.IR getegid (2),
+.IR getgroups (2),
+.IR usleep (3)
+.PP
+.IR "The AWK Programming Language" ,
+Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger,
+Addison-Wesley, 1988.  ISBN 0-201-07981-X.
+.PP
+\*(EP,
+Edition 4.0, shipped with the
+.I gawk
+source.
+The current version of this document is available online at
+.BR http://www.gnu.org/software/gawk/manual .
+.SH EXAMPLES
+.nf
+Print and sort the login names of all users:
+
+.ft B
+       BEGIN   { FS = ":" }
+               { print $1 | "sort" }
+
+.ft R
+Count lines in a file:
+
+.ft B
+               { nlines++ }
+       END     { print nlines }
+
+.ft R
+Precede each line by its number in the file:
+
+.ft B
+       { print FNR, $0 }
+
+.ft R
+Concatenate and line number (a variation on a theme):
+
+.ft B
+       { print NR, $0 }
+
+.ft R
+Run an external command for particular lines of data:
+
+.ft B
+       tail \-f access_log |
+       awk '/myhome.html/ { system("nmap " $1 ">> logdir/myhome.html") }'
+.ft R
+.fi
 .SH ACKNOWLEDGEMENTS
-Brian Kernighan of Bell Labs
+Brian Kernighan of Bell Laboratories
 provided valuable assistance during testing and debugging.
 We thank him.
 .SH COPYING PERMISSIONS
-Copyright \(co 1996\-2000 Free Software Foundation, Inc.
+Copyright \(co 1989, 1991, 1992, 1993, 1994, 1995, 1996,
+1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2009,
+2010, 2011
+Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of
 this manual page provided the copyright notice and this permission
index 9ba7ff0..5b31703 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-06-03 06:04+0900\n"
+"POT-Creation-Date: 2012-06-03 06:22+0900\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -46,296 +46,407 @@ msgstr ""
 msgid "\\s-1AWK\\s+1"
 msgstr ""
 
+#. type: ds EP
+#: original/man1/gawk.1:6
+#, no-wrap
+msgid "I<GAWK: Effective AWK Programming>"
+msgstr ""
+
 #. type: TH
-#: original/man1/gawk.1:16
+#: original/man1/gawk.1:17
 #, no-wrap
 msgid "GAWK"
 msgstr ""
 
 #. type: TH
-#: original/man1/gawk.1:16
+#: original/man1/gawk.1:17
 #, no-wrap
-msgid "May 17 2000"
+msgid "Nov 10 2011"
 msgstr ""
 
 #. type: TH
-#: original/man1/gawk.1:16 original/man1/igawk.1:1
+#: original/man1/gawk.1:17 original/man1/igawk.1:1
 #, no-wrap
 msgid "Free Software Foundation"
 msgstr ""
 
 #. type: TH
-#: original/man1/gawk.1:16 original/man1/igawk.1:1
+#: original/man1/gawk.1:17 original/man1/igawk.1:1
 #, no-wrap
 msgid "Utility Commands"
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:17 original/man1/igawk.1:2
+#: original/man1/gawk.1:18 original/man1/igawk.1:2
 #, no-wrap
 msgid "NAME"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:19
+#: original/man1/gawk.1:20
 msgid "gawk - pattern scanning and processing language"
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:19 original/man1/igawk.1:4
+#: original/man1/gawk.1:20 original/man1/igawk.1:4
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:27
+#: original/man1/gawk.1:28
 msgid ""
 "B<gawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-> "
 "] file .\\|.\\|."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:35
+#: original/man1/gawk.1:36
 msgid ""
 "B<gawk> [ \\*(PX or \\*(GN style options ] [ B<-\\^-> ] I<program-text> file "
 ".\\|.\\|."
 msgstr ""
 
+#. type: Plain text
+#: original/man1/gawk.1:44
+msgid ""
+"B<pgawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-> "
+"] file .\\|.\\|."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:52
+msgid ""
+"B<pgawk> [ \\*(PX or \\*(GN style options ] [ B<-\\^-> ] I<program-text> "
+"file .\\|.\\|."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:60
+msgid ""
+"B<dgawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-> "
+"] file .\\|.\\|."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:35 original/man1/igawk.1:24
+#: original/man1/gawk.1:60 original/man1/igawk.1:24
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:50
+#: original/man1/gawk.1:73
 msgid ""
 "I<Gawk> is the \\*(GN Project's implementation of the \\*(AK programming "
 "language.  It conforms to the definition of the language in the \\*(PX "
-"1003.2 Command Language And Utilities Standard.  This version in turn is "
-"based on the description in I<The AWK Programming Language>, by Aho, "
-"Kernighan, and Weinberger, with the additional features found in the System "
-"V Release 4 version of \\*(UX I<awk>.  I<Gawk> also provides more recent "
-"Bell Labs I<awk> extensions, and some \\*(GN-specific extensions."
+"1003.1 Standard.  This version in turn is based on the description in I<The "
+"AWK Programming Language>, by Aho, Kernighan, and Weinberger.  I<Gawk> "
+"provides the additional features found in the current version of \\*(UX "
+"I<awk> and a number of \\*(GN-specific extensions."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:63
+#: original/man1/gawk.1:86
 msgid ""
 "The command line consists of options to I<gawk> itself, the \\*(AK program "
 "text (if not supplied via the B<-f> or B<-\\^-file> options), and values to "
 "be made available in the B<ARGC> and B<ARGV> pre-defined \\*(AK variables."
 msgstr ""
 
+#. type: Plain text
+#: original/man1/gawk.1:99
+msgid ""
+"I<Pgawk> is the profiling version of I<gawk>.  It is identical in every way "
+"to I<gawk>, except that programs run more slowly, and it automatically "
+"produces an execution profile in the file B<awkprof.out> when done.  See the "
+"B<-\\^-profile> option, below."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:111
+msgid ""
+"I<Dgawk> is an I<awk> debugger. Instead of running the program directly, it "
+"loads the AWK source code and then prompts for debugging commands.  Unlike "
+"I<gawk> and I<pgawk>, I<dgawk> only processes AWK program source provided "
+"with the B<-f> option.  The debugger is documented in \\*(EP."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:63
+#: original/man1/gawk.1:111
 #, no-wrap
 msgid "OPTION FORMAT"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:71
+#: original/man1/gawk.1:119
 msgid ""
-"I<Gawk> options may be either the traditional \\*(PX one letter options, or "
-"the \\*(GN style long options.  \\*(PX options start with a single ``-'', "
+"I<Gawk> options may be either traditional \\*(PX-style one letter options, "
+"or \\*(GN-style long options.  \\*(PX options start with a single ``-'', "
 "while long options start with ``-\\^-''.  Long options are provided for both "
-"\\*(GN-specific features and for \\*(PX mandated features."
+"\\*(GN-specific features and for \\*(PX-mandated features."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:89
+#: original/man1/gawk.1:129
 msgid ""
-"Following the \\*(PX standard, I<gawk>-specific options are supplied via "
-"arguments to the B<-W> option.  Multiple B<-W> options may be supplied Each "
-"B<-W> option has a corresponding long option, as detailed below.  Arguments "
+"I<Gawk>- specific options are typically used in long-option form.  Arguments "
 "to long options are either joined with the option by an B<=> sign, with no "
 "intervening spaces, or they may be provided in the next command line "
 "argument.  Long options may be abbreviated, as long as the abbreviation "
 "remains unique."
 msgstr ""
 
+#. type: Plain text
+#: original/man1/gawk.1:135
+msgid ""
+"Additionally, each long option has a corresponding short option, so that the "
+"option's functionality may be used from within B<#!> executable scripts."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:89 original/man1/igawk.1:45
+#: original/man1/gawk.1:135 original/man1/igawk.1:45
 #, no-wrap
 msgid "OPTIONS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:93
-msgid "I<Gawk> accepts the following options."
+#: original/man1/gawk.1:142
+msgid ""
+"I<Gawk> accepts the following options.  Standard options are listed first, "
+"followed by options for I<gawk> extensions, listed alphabetically by short "
+"option."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:142
+#, no-wrap
+msgid "B<-f>I< program-file>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:145
+#, no-wrap
+msgid "B<-\\^-file>I< program-file>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:156
+msgid ""
+"Read the \\*(AK program source from the file I<program-file>, instead of "
+"from the first command line argument.  Multiple B<-f> (or B<-\\^-file>)  "
+"options may be used."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:93
+#: original/man1/gawk.1:156
 #, no-wrap
 msgid "B<-F>I< fs>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:96
+#: original/man1/gawk.1:159
 #, no-wrap
 msgid "B<-\\^-field-separator>I< fs>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:105
+#: original/man1/gawk.1:168
 msgid ""
 "Use I<fs> for the input field separator (the value of the B<FS> predefined "
 "variable)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:105
+#: original/man1/gawk.1:168
 #, no-wrap
 msgid "B<-v>I< var>B<\\^=\\^>I<val>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:108
+#: original/man1/gawk.1:171
 #, no-wrap
 msgid "B<-\\^-assign >I<var>B<\\^=\\^>I<val>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:119
+#: original/man1/gawk.1:182
 msgid ""
-"Assign the value I<val>, to the variable I<var>, before execution of the "
+"Assign the value I<val> to the variable I<var>, before execution of the "
 "program begins.  Such variable values are available to the B<BEGIN> block of "
 "an \\*(AK program."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:119
+#: original/man1/gawk.1:209
 #, no-wrap
-msgid "B<-f>I< program-file>"
+msgid "B<-b>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:122
+#: original/man1/gawk.1:212
 #, no-wrap
-msgid "B<-\\^-file>I< program-file>"
+msgid "B<-\\^-characters-as-bytes>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:133
+#: original/man1/gawk.1:221
 msgid ""
-"Read the \\*(AK program source from the file I<program-file>, instead of "
-"from the first command line argument.  Multiple B<-f> (or B<-\\^-file>)  "
-"options may be used."
+"Treat all input data as single-byte characters. In other words, don't pay "
+"any attention to the locale information when attempting to process strings "
+"as multibyte characters.  The B<-\\^-posix> option overrides this one."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:133
+#: original/man1/gawk.1:221
 #, no-wrap
-msgid "B<-mf>I< NNN>"
+msgid "B<-c>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:136
+#: original/man1/gawk.1:224 original/man1/gawk.1:1803
 #, no-wrap
-msgid "B<-mr>I< NNN>"
+msgid "B<-\\^-traditional>"
 msgstr ""
 
+#.  The use of
+#.  .B \-\^\-traditional
+#.  is preferred over the other forms of this option.
 #. type: Plain text
-#: original/man1/gawk.1:154
+#: original/man1/gawk.1:240
 msgid ""
-"Set various memory limits to the value I<NNN>.  The B<f> flag sets the "
-"maximum number of fields, and the B<r> flag sets the maximum record size.  "
-"These two flags and the B<-m> option are from the Bell Labs research version "
-"of \\*(UX I<awk>.  They are ignored by I<gawk>, since I<gawk> has no "
-"pre-defined limits."
+"Run in I<compatibility> mode.  In compatibility mode, I<gawk> behaves "
+"identically to \\*(UX I<awk>; none of the \\*(GN-specific extensions are "
+"recognized.  See B<GNU EXTENSIONS>, below, for more information."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:154
+#: original/man1/gawk.1:240
 #, no-wrap
-msgid "B<-W traditional>"
+msgid "B<-C>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:157
+#: original/man1/gawk.1:243
 #, no-wrap
-msgid "B<-W compat>"
+msgid "B<-\\^-copyright>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:248
+msgid ""
+"Print the short version of the \\*(GN copyright information message on the "
+"standard output and exit successfully."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:160 original/man1/gawk.1:1277
+#: original/man1/gawk.1:248
 #, no-wrap
-msgid "B<-\\^-traditional>"
+msgid "B<-d>[I<file>]"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:163
+#: original/man1/gawk.1:251
 #, no-wrap
-msgid "B<-\\^-compat>"
+msgid "B<-\\^-dump-variables>[B<=>I<file>]"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:179
+#: original/man1/gawk.1:263
 msgid ""
-"Run in I<compatibility> mode.  In compatibility mode, I<gawk> behaves "
-"identically to \\*(UX I<awk>; none of the \\*(GN-specific extensions are "
-"recognized.  The use of B<-\\^-traditional> is preferred over the other "
-"forms of this option.  See B<GNU EXTENSIONS>, below, for more information."
+"Print a sorted list of global variables, their types and final values to "
+"I<file>.  If no I<file> is provided, I<gawk> uses a file named "
+"B<awkvars.out> in the current directory."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:274
+msgid ""
+"Having a list of all the global variables is a good way to look for "
+"typographical errors in your programs.  You would also use this option if "
+"you have a large program with a lot of functions, and you want to be sure "
+"that your functions don't inadvertently use global variables that you meant "
+"to be local.  (This is a particularly easy mistake to make with simple "
+"variable names like B<i>, B<j>, and so on.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:179
+#: original/man1/gawk.1:274
 #, no-wrap
-msgid "B<-W copyleft>"
+msgid "B<-e >I<program-text>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:182
+#: original/man1/gawk.1:277
 #, no-wrap
-msgid "B<-W copyright>"
+msgid "B<-\\^-source>I< program-text>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:290
+msgid ""
+"Use I<program-text> as \\*(AK program source code.  This option allows the "
+"easy intermixing of library functions (used via the B<-f> and B<-\\^-file> "
+"options) with source code entered on the command line.  It is intended "
+"primarily for medium to large \\*(AK programs used in shell scripts."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:185
+#: original/man1/gawk.1:290
 #, no-wrap
-msgid "B<-\\^-copyleft>"
+msgid "B<-E >I<file>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:188
+#: original/man1/gawk.1:293
 #, no-wrap
-msgid "B<-\\^-copyright>"
+msgid "B<-\\^-exec>I< file>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:193
+#: original/man1/gawk.1:305
 msgid ""
-"Print the short version of the \\*(GN copyright information message on the "
-"standard output, and exits successfully."
+"Similar to B<-f>, however, this is option is the last one processed.  This "
+"should be used with B<#!> scripts, particularly for CGI applications, to "
+"avoid passing in options or source code (!) on the command line from a URL.  "
+"This option disables command-line variable assignments."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:193
+#: original/man1/gawk.1:305
 #, no-wrap
-msgid "B<-W help>"
+msgid "B<-g>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:196
+#: original/man1/gawk.1:308
 #, no-wrap
-msgid "B<-W usage>"
+msgid "B<-\\^-gen-pot>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:321
+msgid ""
+"Scan and parse the \\*(AK program, and generate a \\*(GN B<\\&.pot> "
+"(Portable Object Template)  format file on standard output with entries for "
+"all localizable strings in the program.  The program itself is not "
+"executed.  See the \\*(GN I<gettext> distribution for more information on "
+"B<\\&.pot> files."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:199
+#: original/man1/gawk.1:321
 #, no-wrap
-msgid "B<-\\^-help>"
+msgid "B<-h>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:202
+#: original/man1/gawk.1:324
 #, no-wrap
-msgid "B<-\\^-usage>"
+msgid "B<-\\^-help>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:210
+#: original/man1/gawk.1:332
 msgid ""
 "Print a relatively short summary of the available options on the standard "
 "output.  (Per the I<GNU Coding Standards>, these options cause an immediate, "
@@ -343,154 +454,265 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:210
+#: original/man1/gawk.1:332
 #, no-wrap
-msgid "B<-W lint>"
+msgid "B<-L >[I<value>]"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:213
+#: original/man1/gawk.1:335
 #, no-wrap
-msgid "B<-\\^-lint>"
+msgid "B<-\\^-lint>[B<=>I<value>]"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:218
+#: original/man1/gawk.1:349
 msgid ""
 "Provide warnings about constructs that are dubious or non-portable to other "
-"\\*(AK implementations."
+"\\*(AK implementations.  With an optional argument of B<fatal>, lint "
+"warnings become fatal errors.  This may be drastic, but its use will "
+"certainly encourage the development of cleaner \\*(AK programs.  With an "
+"optional argument of B<invalid>, only warnings about things that are "
+"actually invalid are issued. (This is not fully implemented yet.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:218
+#: original/man1/gawk.1:349
 #, no-wrap
-msgid "B<-W lint-old>"
+msgid "B<-n>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:221
+#: original/man1/gawk.1:352
 #, no-wrap
-msgid "B<-\\^-lint-old>"
+msgid "B<-\\^-non-decimal-data>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:227
+#: original/man1/gawk.1:357
 msgid ""
-"Provide warnings about constructs that are not portable to the original "
-"version of Unix I<awk>."
+"Recognize octal and hexadecimal values in input data.  I<Use this option "
+"with great caution!>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:357
+#, no-wrap
+msgid "B<-N>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:360
+#, no-wrap
+msgid "B<-\\^-use-lc-numeric>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:376
+msgid ""
+"This forces I<gawk> to use the locale's decimal point character when parsing "
+"input data.  Although the POSIX standard requires this behavior, and I<gawk> "
+"does so when B<-\\^-posix> is in effect, the default is to follow "
+"traditional behavior and use a period as the decimal point, even in locales "
+"where the period is not the decimal point character.  This option overrides "
+"the default behavior, without the full draconian strictness of the "
+"B<-\\^-posix> option."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:388
+#, no-wrap
+msgid "B<-O>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:391
+#, no-wrap
+msgid "B<-\\^-optimize>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:398
+msgid ""
+"Enable optimizations upon the internal representation of the program.  "
+"Currently, this includes just simple constant-folding. The I<gawk> "
+"maintainer hopes to add additional optimizations over time."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:398
+#, no-wrap
+msgid "B<-p>[I<prof_file>]"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:401
+#, no-wrap
+msgid "B<-\\^-profile>[B<=>I<prof_file>]"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:415
+msgid ""
+"Send profiling data to I<prof_file>.  The default is B<awkprof.out>.  When "
+"run with I<gawk>, the profile is just a ``pretty printed'' version of the "
+"program.  When run with I<pgawk>, the profile contains execution counts of "
+"each statement in the program in the left margin and function call counts "
+"for each user-defined function."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:239
+#: original/man1/gawk.1:415
 #, no-wrap
-msgid "B<-W posix>"
+msgid "B<-P>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:242 original/man1/gawk.1:1269
+#: original/man1/gawk.1:418 original/man1/gawk.1:1796
 #, no-wrap
 msgid "B<-\\^-posix>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:248
+#: original/man1/gawk.1:424
 msgid ""
 "This turns on I<compatibility> mode, with the following additional "
 "restrictions:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:249 original/man1/gawk.1:253 original/man1/gawk.1:258 original/man1/gawk.1:265 original/man1/gawk.1:275 original/man1/gawk.1:2343 original/man1/gawk.1:2350 original/man1/gawk.1:2357 original/man1/gawk.1:2365 original/man1/gawk.1:2368 original/man1/gawk.1:2376 original/man1/gawk.1:2381 original/man1/gawk.1:2386 original/man1/gawk.1:2391 original/man1/gawk.1:2398 original/man1/gawk.1:2405 original/man1/gawk.1:2410
+#: original/man1/gawk.1:425 original/man1/gawk.1:429 original/man1/gawk.1:434 original/man1/gawk.1:440 original/man1/gawk.1:447 original/man1/gawk.1:457 original/man1/gawk.1:3338 original/man1/gawk.1:3346 original/man1/gawk.1:3352 original/man1/gawk.1:3359 original/man1/gawk.1:3366 original/man1/gawk.1:3374 original/man1/gawk.1:3378 original/man1/gawk.1:3389 original/man1/gawk.1:3394 original/man1/gawk.1:3399 original/man1/gawk.1:3404 original/man1/gawk.1:3410 original/man1/gawk.1:3415 original/man1/gawk.1:3418 original/man1/gawk.1:3423 original/man1/gawk.1:3431 original/man1/gawk.1:3438 original/man1/gawk.1:3443 original/man1/gawk.1:3448 original/man1/gawk.1:3453 original/man1/gawk.1:3459 original/man1/gawk.1:3464 original/man1/gawk.1:3469 original/man1/gawk.1:3475 original/man1/gawk.1:3498 original/man1/gawk.1:3502
 #, no-wrap
 msgid "\\(bu"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:253
+#: original/man1/gawk.1:429
 msgid "B<\\ex> escape sequences are not recognized."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:258
+#: original/man1/gawk.1:434
 msgid ""
 "Only space and tab act as field separators when B<FS> is set to a single "
 "space, newline does not."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:265
+#: original/man1/gawk.1:440
+msgid "You cannot continue lines after B<?> and B<:>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:447
 msgid "The synonym B<func> for the keyword B<function> is not recognized."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:275
+#: original/man1/gawk.1:457
 msgid "The operators B<**> and B<**=> cannot be used in place of B<^> and B<^=>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:280
+#: original/man1/gawk.1:462
 msgid "The B<fflush()> function is not available."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:281
+#: original/man1/gawk.1:463
 #, no-wrap
-msgid "B<-W re-interval>"
+msgid "B<-r>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:284 original/man1/gawk.1:1288
+#: original/man1/gawk.1:466 original/man1/gawk.1:1811
 #, no-wrap
 msgid "B<-\\^-re-interval>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:305
+#: original/man1/gawk.1:483
 msgid ""
 "Enable the use of I<interval expressions> in regular expression matching "
 "(see B<Regular Expressions>, below).  Interval expressions were not "
 "traditionally available in the \\*(AK language.  The \\*(PX standard added "
-"them, to make I<awk> and I<egrep> consistent with each other.  However, "
-"their use is likely to break old \\*(AK programs, so I<gawk> only provides "
-"them if they are requested with this option, or when B<-\\^-posix> is "
-"specified."
+"them, to make I<awk> and I<egrep> consistent with each other.  They are "
+"enabled by default, but this option remains for use with "
+"B<-\\^-traditional>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:305
+#: original/man1/gawk.1:483
 #, no-wrap
-msgid "B<-W source >I<program-text>"
+msgid "B<-R>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:308
+#: original/man1/gawk.1:486
 #, no-wrap
-msgid "B<-\\^-source>I< program-text>"
+msgid "B<-\\^-command>I< file>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:321
+#: original/man1/gawk.1:492
+msgid "I<Dgawk> only.  Read stored debugger commands from I<file>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:492
+#, no-wrap
+msgid "B<-S>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:495
+#, no-wrap
+msgid "B<-\\^-sandbox>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:510
 msgid ""
-"Use I<program-text> as \\*(AK program source code.  This option allows the "
-"easy intermixing of library functions (used via the B<-f> and B<-\\^-file> "
-"options) with source code entered on the command line.  It is intended "
-"primarily for medium to large \\*(AK programs used in shell scripts."
+"Runs I<gawk> in sandbox mode, disabling the B<system()> function, input "
+"redirection with B<getline>, output redirection with B<print> and B<printf>, "
+"and loading dynamic extensions.  Command execution (through pipelines) is "
+"also disabled.  This effectively blocks a script from accessing local "
+"resources (except for the files specified on the command line)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:321
+#: original/man1/gawk.1:510
 #, no-wrap
-msgid "B<-W version>"
+msgid "B<-t>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:324
+#: original/man1/gawk.1:513
+#, no-wrap
+msgid "B<-\\^-lint-old>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:519
+msgid ""
+"Provide warnings about constructs that are not portable to the original "
+"version of Unix I<awk>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:519
+#, no-wrap
+msgid "B<-V>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:522
 #, no-wrap
 msgid "B<-\\^-version>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:339
+#: original/man1/gawk.1:537
 msgid ""
 "Print version information for this particular copy of I<gawk> on the "
 "standard output.  This is useful mainly for knowing if the current copy of "
@@ -501,23 +723,23 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:339
+#: original/man1/gawk.1:537
 #, no-wrap
 msgid "B<-\\^->"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:345
+#: original/man1/gawk.1:543
 msgid ""
-"Signal the end of options.  This is useful to allow further arguments to the "
-"\\*(AK program itself to start with a ``-''.  This is mainly for consistency "
-"with the argument parsing convention used by most other \\*(PX programs."
+"Signal the end of options. This is useful to allow further arguments to the "
+"\\*(AK program itself to start with a ``-''.  This provides consistency with "
+"the argument parsing convention used by most other \\*(PX programs."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:353
+#: original/man1/gawk.1:551
 msgid ""
-"In compatibility mode, any other options are flagged as illegal, but are "
+"In compatibility mode, any other options are flagged as invalid, but are "
 "otherwise ignored.  In normal operation, as long as program text has been "
 "supplied, unknown options are passed on to the \\*(AK program in the B<ARGV> "
 "array for processing.  This is particularly useful for running \\*(AK "
@@ -525,36 +747,36 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:353
+#: original/man1/gawk.1:551
 #, no-wrap
 msgid "AWK PROGRAM EXECUTION"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:357
+#: original/man1/gawk.1:555
 msgid ""
 "An \\*(AK program consists of a sequence of pattern-action statements and "
 "optional function definitions."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:360
-msgid "I<pattern>B<\t{ >I<action statements>B< }>"
+#: original/man1/gawk.1:559
+msgid "B<@include \">I<filename>B<\" >I<pattern>B<\t{ >I<action statements>B< }>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:362
+#: original/man1/gawk.1:561
 msgid "B<function >I<name>B<(>I<parameter list>B<) { >I<statements>B< }>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:384
+#: original/man1/gawk.1:583
 msgid ""
 "I<Gawk> first reads the program source from the I<program-file>(s)  if "
 "specified, from arguments to B<-\\^-source>, or from the first non-option "
 "argument on the command line.  The B<-f> and B<-\\^-source> options may be "
-"used multiple times on the command line.  I<Gawk> will read the program text "
-"as if all the I<program-file>s and command line source texts had been "
+"used multiple times on the command line.  I<Gawk> reads the program text as "
+"if all the I<program-file>s and command line source texts had been "
 "concatenated together.  This is useful for building libraries of \\*(AK "
 "functions, without having to include them in each new \\*(AK program that "
 "uses them.  It also provides the ability to mix library functions with "
@@ -562,7 +784,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:398
+#: original/man1/gawk.1:588
+msgid ""
+"In addition, lines beginning with B<@include> may be used to include other "
+"source files into your program, making library use even easier."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:602
 msgid ""
 "The environment variable B<AWKPATH> specifies a search path to use when "
 "finding source files named with the B<-f> option.  If this variable does not "
@@ -573,18 +802,18 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:420
+#: original/man1/gawk.1:625
 msgid ""
 "I<Gawk> executes \\*(AK programs in the following order.  First, all "
 "variable assignments specified via the B<-v> option are performed.  Next, "
 "I<gawk> compiles the program into an internal form.  Then, I<gawk> executes "
 "the code in the B<BEGIN> block(s) (if any), and then proceeds to read each "
-"file named in the B<ARGV> array.  If there are no files named on the command "
-"line, I<gawk> reads the standard input."
+"file named in the B<ARGV> array (up to B<ARGV[ARGC]>).  If there are no "
+"files named on the command line, I<gawk> reads the standard input."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:435
+#: original/man1/gawk.1:640
 msgid ""
 "If a filename on the command line has the form I<var>B<=>I<val> it is "
 "treated as a variable assignment.  The variable I<var> will be assigned the "
@@ -596,14 +825,23 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:441
+#: original/man1/gawk.1:646
 msgid ""
 "If the value of a particular element of B<ARGV> is empty (B<\"\">), I<gawk> "
 "skips over it."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:451
+#: original/man1/gawk.1:659
+msgid ""
+"For each input file, if a B<BEGINFILE> rule exists, I<gawk> executes the "
+"associated code before processing the contents of the file. Similarly, "
+"I<gawk> executes the code associated with B<ENDFILE> after processing the "
+"file."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:669
 msgid ""
 "For each record in the input, I<gawk> tests to see if it matches any "
 "I<pattern> in the \\*(AK program.  For each pattern that the record matches, "
@@ -612,43 +850,66 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:457
+#: original/man1/gawk.1:675
 msgid ""
 "Finally, after all the input is exhausted, I<gawk> executes the code in the "
 "B<END> block(s) (if any)."
 msgstr ""
 
+#. type: SS
+#: original/man1/gawk.1:675
+#, no-wrap
+msgid "Command Line Directories"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:684
+msgid ""
+"According to POSIX, files named on the I<awk> command line must be text "
+"files.  The behavior is ``undefined'' if they are not.  Most versions of "
+"I<awk> treat a directory on the command line as a fatal error."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:696
+msgid ""
+"Starting with version 4.0 of I<gawk>, a directory on the command line "
+"produces a warning, but is otherwise skipped.  If either of the "
+"B<-\\^-posix> or B<-\\^-traditional> options is given, then I<gawk> reverts "
+"to treating directories on the command line as a fatal error."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:457
+#: original/man1/gawk.1:696
 #, no-wrap
 msgid "VARIABLES, RECORDS AND FIELDS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:465
+#: original/man1/gawk.1:704
 msgid ""
 "\\*(AK variables are dynamic; they come into existence when they are first "
 "used.  Their values are either floating-point numbers or strings, or both, "
 "depending upon how they are used.  \\*(AK also has one dimensional arrays; "
 "arrays with multiple dimensions may be simulated.  Several pre-defined "
-"variables are set as a program runs; these will be described as needed and "
+"variables are set as a program runs; these are described as needed and "
 "summarized below."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:465
+#: original/man1/gawk.1:704
 #, no-wrap
 msgid "Records"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:489
+#: original/man1/gawk.1:728
 msgid ""
 "Normally, records are separated by newline characters.  You can control how "
 "records are separated by assigning values to the built-in variable B<RS>.  "
 "If B<RS> is any single character, that character separates records.  "
 "Otherwise, B<RS> is a regular expression.  Text in the input that matches "
-"this regular expression will separate the record.  However, in compatibility "
+"this regular expression separates the record.  However, in compatibility "
 "mode, only the first character of its string value is used for separating "
 "records.  If B<RS> is set to the null string, then records are separated by "
 "blank lines.  When B<RS> is set to the null string, the newline character "
@@ -657,13 +918,13 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:489
+#: original/man1/gawk.1:728
 #, no-wrap
 msgid "Fields"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:522
+#: original/man1/gawk.1:762
 msgid ""
 "As each input record is read, I<gawk> splits the record into I<fields>, "
 "using the value of the B<FS> variable as the field separator.  If B<FS> is a "
@@ -671,104 +932,123 @@ msgid ""
 "null string, then each individual character becomes a separate field.  "
 "Otherwise, B<FS> is expected to be a full regular expression.  In the "
 "special case that B<FS> is a single space, fields are separated by runs of "
-"spaces and/or tabs and/or newlines.  (But see the discussion of "
-"B<-\\^-posix>, below).  Note that the value of B<IGNORECASE> (see below) "
-"will also affect how fields are split when B<FS> is a regular expression, "
-"and how records are separated when B<RS> is a regular expression."
+"spaces and/or tabs and/or newlines.  (But see the section B<POSIX "
+"COMPATIBILITY>, below).  B<NOTE>: The value of B<IGNORECASE> (see below) "
+"also affects how fields are split when B<FS> is a regular expression, and "
+"how records are separated when B<RS> is a regular expression."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:536
+#: original/man1/gawk.1:777
 msgid ""
 "If the B<FIELDWIDTHS> variable is set to a space separated list of numbers, "
-"each field is expected to have fixed width, and I<gawk> will split up the "
-"record using the specified widths.  The value of B<FS> is ignored.  "
-"Assigning a new value to B<FS> overrides the use of B<FIELDWIDTHS>, and "
-"restores the default behavior."
+"each field is expected to have fixed width, and I<gawk> splits up the record "
+"using the specified widths.  The value of B<FS> is ignored.  Assigning a new "
+"value to B<FS> or B<FPAT> overrides the use of B<FIELDWIDTHS>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:790
+msgid ""
+"Similarly, if the B<FPAT> variable is set to a string representing a regular "
+"expression, each field is made up of text that matches that regular "
+"expression. In this case, the regular expression describes the fields "
+"themselves, instead of the text that separates the fields.  Assigning a new "
+"value to B<FS> or B<FIELDWIDTHS> overrides the use of B<FPAT>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:544
+#: original/man1/gawk.1:798
 msgid ""
 "Each field in the input record may be referenced by its position, B<$1>, "
-"B<$2>, and so on.  B<$0> is the whole record.  The value of a field may be "
-"assigned to as well.  Fields need not be referenced by constants:"
+"B<$2>, and so on.  B<$0> is the whole record.  Fields need not be referenced "
+"by constants:"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:548
+#: original/man1/gawk.1:802
 msgid "B<n = 5>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:550
+#: original/man1/gawk.1:804
 msgid "B<print $n>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:557
-msgid ""
-"prints the fifth field in the input record.  The variable B<NF> is set to "
-"the total number of fields in the input record."
+#: original/man1/gawk.1:808
+msgid "prints the fifth field in the input record."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:812
+msgid "The variable B<NF> is set to the total number of fields in the input record."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:577
+#: original/man1/gawk.1:832
 msgid ""
 "References to non-existent fields (i.e. fields after B<$NF>)  produce the "
 "null-string.  However, assigning to a non-existent field (e.g., B<$(NF+2) = "
-"5>)  will increase the value of B<NF>, create any intervening fields with "
-"the null string as their value, and cause the value of B<$0> to be "
-"recomputed, with the fields being separated by the value of B<OFS>.  "
-"References to negative numbered fields cause a fatal error.  Decrementing "
-"B<NF> causes the values of fields past the new value to be lost, and the "
-"value of B<$0> to be recomputed, with the fields being separated by the "
-"value of B<OFS>."
+"5>)  increases the value of B<NF>, creates any intervening fields with the "
+"null string as their value, and causes the value of B<$0> to be recomputed, "
+"with the fields being separated by the value of B<OFS>.  References to "
+"negative numbered fields cause a fatal error.  Decrementing B<NF> causes the "
+"values of fields past the new value to be lost, and the value of B<$0> to be "
+"recomputed, with the fields being separated by the value of B<OFS>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:841
+msgid ""
+"Assigning a value to an existing field causes the whole record to be rebuilt "
+"when B<$0> is referenced.  Similarly, assigning a value to B<$0> causes the "
+"record to be resplit, creating new values for the fields."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:577
+#: original/man1/gawk.1:841
 #, no-wrap
 msgid "Built-in Variables"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:581
-msgid "I<Gawk>'s built-in variables are:"
+#: original/man1/gawk.1:845
+msgid "I<Gawk\\^>'s built-in variables are:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:582
+#: original/man1/gawk.1:846
 #, no-wrap
 msgid "B<ARGC>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:587
+#: original/man1/gawk.1:851
 msgid ""
 "The number of command line arguments (does not include options to I<gawk>, "
 "or the program source)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:587
+#: original/man1/gawk.1:851
 #, no-wrap
 msgid "B<ARGIND>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:592
+#: original/man1/gawk.1:856
 msgid "The index in B<ARGV> of the current file being processed."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:592
+#: original/man1/gawk.1:856
 #, no-wrap
 msgid "B<ARGV>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:601
+#: original/man1/gawk.1:865
 msgid ""
 "Array of command line arguments.  The array is indexed from 0 to B<ARGC> - "
 "1.  Dynamically changing the contents of B<ARGV> can control the files used "
@@ -776,245 +1056,474 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:601
+#: original/man1/gawk.1:865
+#, no-wrap
+msgid "B<BINMODE>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:875
+msgid ""
+"On non-POSIX systems, specifies use of ``binary'' mode for all file I/O.  "
+"Numeric values of 1, 2, or 3, specify that input files, output files, or all "
+"files, respectively, should use binary I/O.  String values of B<\"r\">, or "
+"B<\"w\"> specify that input files, or output files, respectively, should use "
+"binary I/O.  String values of B<\"rw\"> or B<\"wr\"> specify that all files "
+"should use binary I/O.  Any other string value is treated as B<\"rw\">, but "
+"generates a warning message."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:875
 #, no-wrap
 msgid "B<CONVFMT>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:604
+#: original/man1/gawk.1:878
 msgid "The conversion format for numbers, B<\"%.6g\">, by default."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:604
+#: original/man1/gawk.1:878
 #, no-wrap
 msgid "B<ENVIRON>"
 msgstr ""
 
-#.  but don't hold your breath...
 #. type: Plain text
-#: original/man1/gawk.1:618
+#: original/man1/gawk.1:889
 msgid ""
 "An array containing the values of the current environment.  The array is "
 "indexed by the environment variables, each element being the value of that "
 "variable (e.g., B<ENVIRON[\"HOME\"]> might be B</home/arnold>).  Changing "
 "this array does not affect the environment seen by programs which I<gawk> "
-"spawns via redirection or the B<system()> function.  (This may change in a "
-"future version of I<gawk>.)"
+"spawns via redirection or the B<system()> function."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:618
+#: original/man1/gawk.1:889
 #, no-wrap
 msgid "B<ERRNO>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:630
+#: original/man1/gawk.1:902
 msgid ""
 "If a system error occurs either doing a redirection for B<getline>, during a "
 "read for B<getline>, or during a B<close()>, then B<ERRNO> will contain a "
-"string describing the error."
+"string describing the error.  The value is subject to translation in "
+"non-English locales."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:630
+#: original/man1/gawk.1:902
 #, no-wrap
 msgid "B<FIELDWIDTHS>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:642
+#: original/man1/gawk.1:913
 msgid ""
-"A white-space separated list of fieldwidths.  When set, I<gawk> parses the "
+"A whitespace separated list of field widths.  When set, I<gawk> parses the "
 "input into fields of fixed width, instead of using the value of the B<FS> "
-"variable as the field separator.  The fixed field width facility is still "
-"experimental; the semantics may change as I<gawk> evolves over time."
+"variable as the field separator.  See B<Fields>, above."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:642
+#: original/man1/gawk.1:913
 #, no-wrap
 msgid "B<FILENAME>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:653
+#: original/man1/gawk.1:926
 msgid ""
 "The name of the current input file.  If no files are specified on the "
 "command line, the value of B<FILENAME> is ``-''.  However, B<FILENAME> is "
-"undefined inside the B<BEGIN> block."
+"undefined inside the B<BEGIN> block (unless set by B<getline>)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:653
+#: original/man1/gawk.1:926
 #, no-wrap
 msgid "B<FNR>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:656
+#: original/man1/gawk.1:929
 msgid "The input record number in the current input file."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:656
+#: original/man1/gawk.1:929
+#, no-wrap
+msgid "B<FPAT>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:943
+msgid ""
+"A regular expression describing the contents of the fields in a record.  "
+"When set, I<gawk> parses the input into fields, where the fields match the "
+"regular expression, instead of using the value of the B<FS> variable as the "
+"field separator.  See B<Fields>, above."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:943
 #, no-wrap
 msgid "B<FS>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:661
+#: original/man1/gawk.1:948
 msgid "The input field separator, a space by default.  See B<Fields>, above."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:661
+#: original/man1/gawk.1:948
 #, no-wrap
 msgid "B<IGNORECASE>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:705
+#: original/man1/gawk.1:986
 msgid ""
 "Controls the case-sensitivity of all regular expression and string "
 "operations.  If B<IGNORECASE> has a non-zero value, then string comparisons "
-"and pattern matching in rules, field splitting with B<FS>, record separating "
-"with B<RS>, regular expression matching with B<~> and B<!~>, and the "
-"B<gensub()>, B<gsub()>, B<index()>, B<match()>, B<split()>, and B<sub()> "
-"pre-defined functions will all ignore case when doing regular expression "
-"operations.  Thus, if B<IGNORECASE> is not equal to zero, B</aB/> matches "
-"all of the strings B<\"ab\">, B<\"aB\">, B<\"Ab\">, and B<\"AB\">.  As with "
-"all \\*(AK variables, the initial value of B<IGNORECASE> is zero, so all "
-"regular expression and string operations are normally case-sensitive.  Under "
-"Unix, the full ISO 8859-1 Latin-1 character set is used when ignoring case.  "
-"B<NOTE:> In versions of I<gawk> prior to 3.0, B<IGNORECASE> only affected "
-"regular expression operations.  It now affects string comparisons as well."
+"and pattern matching in rules, field splitting with B<FS> and B<FPAT>, "
+"record separating with B<RS>, regular expression matching with B<~> and "
+"B<!~>, and the B<gensub()>, B<gsub()>, B<index()>, B<match()>, "
+"B<patsplit()>, B<split()>, and B<sub()> built-in functions all ignore case "
+"when doing regular expression operations.  B<NOTE>: Array subscripting is "
+"I<not> affected.  However, the B<asort()> and B<asorti()> functions are "
+"affected."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:997
+msgid ""
+"Thus, if B<IGNORECASE> is not equal to zero, B</aB/> matches all of the "
+"strings B<\"ab\">, B<\"aB\">, B<\"Ab\">, and B<\"AB\">.  As with all \\*(AK "
+"variables, the initial value of B<IGNORECASE> is zero, so all regular "
+"expression and string operations are normally case-sensitive."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:997
+#, no-wrap
+msgid "B<LINT>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1009
+msgid ""
+"Provides dynamic control of the B<-\\^-lint> option from within an \\*(AK "
+"program.  When true, I<gawk> prints lint warnings. When false, it does not.  "
+"When assigned the string value B<\"fatal\">, lint warnings become fatal "
+"errors, exactly like B<-\\^-lint=fatal>.  Any other true value just prints "
+"warnings."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:705
+#: original/man1/gawk.1:1009
 #, no-wrap
 msgid "B<NF>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:708
+#: original/man1/gawk.1:1012
 msgid "The number of fields in the current input record."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:708
+#: original/man1/gawk.1:1012
 #, no-wrap
 msgid "B<NR>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:711
+#: original/man1/gawk.1:1015
 msgid "The total number of input records seen so far."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:711
+#: original/man1/gawk.1:1015
 #, no-wrap
 msgid "B<OFMT>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:714
+#: original/man1/gawk.1:1018
 msgid "The output format for numbers, B<\"%.6g\">, by default."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:714
+#: original/man1/gawk.1:1018
 #, no-wrap
 msgid "B<OFS>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:717
+#: original/man1/gawk.1:1021
 msgid "The output field separator, a space by default."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:717
+#: original/man1/gawk.1:1021
 #, no-wrap
 msgid "B<ORS>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:720
+#: original/man1/gawk.1:1024
 msgid "The output record separator, by default a newline."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:720
+#: original/man1/gawk.1:1024
+#, no-wrap
+msgid "B<PROCINFO>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1037
+msgid ""
+"The elements of this array provide access to information about the running "
+"\\*(AK program.  On some systems, there may be elements in the array, "
+"B<\"group1\"> through B<\"group>I<n>B<\"> for some I<n>, which is the number "
+"of supplementary groups that the process has.  Use the B<in> operator to "
+"test for these elements.  The following elements are guaranteed to be "
+"available:"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1038
+#, no-wrap
+msgid "B<PROCINFO[\"egid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1043
+msgid "the value of the I<getegid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1043
+#, no-wrap
+msgid "B<PROCINFO[\"strftime\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1047
+msgid "The default time format string for B<strftime()>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1047
+#, no-wrap
+msgid "B<PROCINFO[\"euid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1052
+msgid "the value of the I<geteuid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1052
+#, no-wrap
+msgid "B<PROCINFO[\"FS\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1063
+msgid ""
+"B<\"FS\"> if field splitting with B<FS> is in effect, B<\"FPAT\"> if field "
+"splitting with B<FPAT> is in effect, or B<\"FIELDWIDTHS\"> if field "
+"splitting with B<FIELDWIDTHS> is in effect."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1063
+#, no-wrap
+msgid "B<PROCINFO[\"gid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1068
+msgid "the value of the I<getgid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1068
+#, no-wrap
+msgid "B<PROCINFO[\"pgrpid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1071
+msgid "the process group ID of the current process."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1071
+#, no-wrap
+msgid "B<PROCINFO[\"pid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1074
+msgid "the process ID of the current process."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1074
+#, no-wrap
+msgid "B<PROCINFO[\"ppid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1077
+msgid "the parent process ID of the current process."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1077
+#, no-wrap
+msgid "B<PROCINFO[\"uid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1082
+msgid "the value of the I<getuid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1082
+#, no-wrap
+msgid "B<PROCINFO[\"sorted_in\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1105
+msgid ""
+"If this element exists in B<PROCINFO>, then its value controls the order in "
+"which array elements are traversed in B<for> loops.  Supported values are "
+"B<\"@ind_str_asc\">, B<\"@ind_num_asc\">, B<\"@val_type_asc\">, "
+"B<\"@val_str_asc\">, B<\"@val_num_asc\">, B<\"@ind_str_desc\">, "
+"B<\"@ind_num_desc\">, B<\"@val_type_desc\">, B<\"@val_str_desc\">, "
+"B<\"@val_num_desc\">, and B<\"@unsorted\">.  The value can also be the name "
+"of any comparison function defined as follows:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1108
+msgid "B<function cmp_func(i1, v1, i2, v2)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1122
+msgid ""
+"where I<i1> and I<i2> are the indices, and I<v1> and I<v2> are the "
+"corresponding values of the two elements being compared.  It should return a "
+"number less than, equal to, or greater than 0, depending on how the elements "
+"of the array are to be ordered."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1122
+#, no-wrap
+msgid "B<PROCINFO[\"version\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1126
+msgid "the version of I<gawk>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1127
 #, no-wrap
 msgid "B<RS>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:723
+#: original/man1/gawk.1:1130
 msgid "The input record separator, by default a newline."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:723
+#: original/man1/gawk.1:1130
 #, no-wrap
 msgid "B<RT>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:732
+#: original/man1/gawk.1:1139
 msgid ""
 "The record terminator.  I<Gawk> sets B<RT> to the input text that matched "
 "the character or regular expression specified by B<RS>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:732
+#: original/man1/gawk.1:1139
 #, no-wrap
 msgid "B<RSTART>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:737
-msgid "The index of the first character matched by B<match()>; 0 if no match."
+#: original/man1/gawk.1:1145
+msgid ""
+"The index of the first character matched by B<match()>; 0 if no match.  "
+"(This implies that character indices start at one.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:737
+#: original/man1/gawk.1:1145
 #, no-wrap
 msgid "B<RLENGTH>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:742
+#: original/man1/gawk.1:1150
 msgid "The length of the string matched by B<match()>; -1 if no match."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:742
+#: original/man1/gawk.1:1150
 #, no-wrap
 msgid "B<SUBSEP>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:746
+#: original/man1/gawk.1:1154
 msgid ""
 "The character used to separate multiple subscripts in array elements, by "
 "default B<\"\\e034\">."
 msgstr ""
 
+#. type: TP
+#: original/man1/gawk.1:1154
+#, no-wrap
+msgid "B<TEXTDOMAIN>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1158
+msgid ""
+"The text domain of the \\*(AK program; used to find the localized "
+"translations for the program's strings."
+msgstr ""
+
 #. type: SS
-#: original/man1/gawk.1:746
+#: original/man1/gawk.1:1158
 #, no-wrap
 msgid "Arrays"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:759
+#: original/man1/gawk.1:1171
 msgid ""
 "Arrays are subscripted with an expression between square brackets (B<[> and "
 "B<]>).  If the expression is an expression list (I<expr>, I<expr> .\\|.\\|.)  "
@@ -1025,17 +1534,17 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:763
+#: original/man1/gawk.1:1175
 msgid "B<i = \"A\";\\^ j = \"B\";\\^ k = \"C\">"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:765
+#: original/man1/gawk.1:1177
 msgid "B<x[i, j, k] = \"hello, world\\en\">"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:772
+#: original/man1/gawk.1:1184
 msgid ""
 "assigns the string B<\"hello, world\\en\"> to the element of the array B<x> "
 "which is indexed by the string B<\"A\\e034B\\e034C\">.  All arrays in \\*(AK "
@@ -1043,14 +1552,14 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:781
+#: original/man1/gawk.1:1189
 msgid ""
-"The special operator B<in> may be used in an B<if> or B<while> statement to "
-"see if an array has an index consisting of a particular value."
+"The special operator B<in> may be used to test if an array has an index "
+"consisting of a particular value:"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:787
+#: original/man1/gawk.1:1195
 #, no-wrap
 msgid ""
 "B<if (val in array)\n"
@@ -1058,52 +1567,68 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:793
+#: original/man1/gawk.1:1201
 msgid "If the array has multiple subscripts, use B<(i, j) in array>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:799
+#: original/man1/gawk.1:1207
 msgid ""
 "The B<in> construct may also be used in a B<for> loop to iterate over all "
 "the elements of an array."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:807
+#: original/man1/gawk.1:1215
 msgid ""
 "An element may be deleted from an array using the B<delete> statement.  The "
 "B<delete> statement may also be used to delete the entire contents of an "
 "array, just by specifying the array name without a subscript."
 msgstr ""
 
+#. type: Plain text
+#: original/man1/gawk.1:1220
+msgid ""
+"I<gawk> supports true multidimensional arrays. It does not require that such "
+"arrays be ``rectangular'' as in C or C++.  For example:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1226
+#, no-wrap
+msgid ""
+"B<a[1] = 5\n"
+"a[2][1] = 6\n"
+"a[2][2] = 7>\n"
+msgstr ""
+
 #. type: SS
-#: original/man1/gawk.1:807
+#: original/man1/gawk.1:1229
 #, no-wrap
 msgid "Variable Typing And Conversion"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:814
+#: original/man1/gawk.1:1236
 msgid ""
 "Variables and fields may be (floating point) numbers, or strings, or both.  "
 "How the value of a variable is interpreted depends upon its context.  If "
-"used in a numeric expression, it will be treated as a number, if used as a "
+"used in a numeric expression, it will be treated as a number; if used as a "
 "string it will be treated as a string."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:817
+#: original/man1/gawk.1:1239
 msgid ""
 "To force a variable to be treated as a number, add 0 to it; to force it to "
 "be treated as a string, concatenate it with the null string."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:830
+#: original/man1/gawk.1:1252
 msgid ""
 "When a string must be converted to a number, the conversion is accomplished "
-"using I<atof>(3).  A number is converted to a string by using the value of "
+"using I<strtod>(3).  A number is converted to a string by using the value of "
 "B<CONVFMT> as a format string for I<sprintf>(3), with the numeric value of "
 "the variable as the argument.  However, even though all numbers in \\*(AK "
 "are floating-point, integral values are I<always> converted as integers.  "
@@ -1111,7 +1636,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:837
+#: original/man1/gawk.1:1259
 #, no-wrap
 msgid ""
 "B<CONVFMT = \"%2.2f\"\n"
@@ -1120,81 +1645,263 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:844
+#: original/man1/gawk.1:1266
 msgid "the variable B<b> has a string value of B<\"12\"> and not B<\"12.00\">."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:858
+#: original/man1/gawk.1:1277
+msgid ""
+"B<NOTE>: When operating in POSIX mode (such as with the B<-\\^-posix> "
+"command line option), beware that locale settings may interfere with the way "
+"decimal numbers are treated: the decimal separator of the numbers you are "
+"feeding to I<gawk> must conform to what your locale would expect, be it a "
+"comma (,) or a period (.)."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1286
 msgid ""
 "I<Gawk> performs comparisons as follows: If two variables are numeric, they "
 "are compared numerically.  If one value is numeric and the other has a "
 "string value that is a ``numeric string,'' then comparisons are also done "
 "numerically.  Otherwise, the numeric value is converted to a string and a "
 "string comparison is performed.  Two strings are compared, of course, as "
-"strings.  According to the \\*(PX standard, even if two strings are numeric "
-"strings, a numeric comparison is performed.  However, this is clearly "
-"incorrect, and I<gawk> does not do this."
+"strings."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:877
+#: original/man1/gawk.1:1307
 msgid ""
 "Note that string constants, such as B<\"57\">, are I<not> numeric strings, "
 "they are string constants.  The idea of ``numeric string'' only applies to "
 "fields, B<getline> input, B<FILENAME>, B<ARGV> elements, B<ENVIRON> elements "
-"and the elements of an array created by B<split()> that are numeric "
-"strings.  The basic idea is that I<user input>, and only user input, that "
-"looks numeric, should be treated that way."
+"and the elements of an array created by B<split()> or B<patsplit()> that are "
+"numeric strings.  The basic idea is that I<user input>, and only user input, "
+"that looks numeric, should be treated that way."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:880
+#: original/man1/gawk.1:1310
 msgid ""
 "Uninitialized variables have the numeric value 0 and the string value \"\" "
 "(the null, or empty, string)."
 msgstr ""
 
+#. type: SS
+#: original/man1/gawk.1:1310
+#, no-wrap
+msgid "Octal and Hexadecimal Constants"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1320
+msgid ""
+"You may use C-style octal and hexadecimal constants in your AWK program "
+"source code.  For example, the octal value B<011> is equal to decimal B<9>, "
+"and the hexadecimal value B<0x11> is equal to decimal 17."
+msgstr ""
+
+#. type: SS
+#: original/man1/gawk.1:1320
+#, no-wrap
+msgid "String Constants"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1326
+msgid ""
+"String constants in \\*(AK are sequences of characters enclosed between "
+"double quotes (like B<\"value\">).  Within strings, certain I<escape "
+"sequences> are recognized, as in C.  These are:"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1327
+#, no-wrap
+msgid "B<\\e\\e>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1330
+msgid "A literal backslash."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1330
+#, no-wrap
+msgid "B<\\ea>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1333
+msgid ""
+"The ``alert'' character; usually the \\s-1ASCII\\s+1 \\s-1BEL\\s+1 "
+"character."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1333
+#, no-wrap
+msgid "B<\\eb>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1336
+msgid "backspace."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1336
+#, no-wrap
+msgid "B<\\ef>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1339
+msgid "form-feed."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1339
+#, no-wrap
+msgid "B<\\en>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1342
+msgid "newline."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1342
+#, no-wrap
+msgid "B<\\er>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1345
+msgid "carriage return."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1345
+#, no-wrap
+msgid "B<\\et>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1348
+msgid "horizontal tab."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1348
+#, no-wrap
+msgid "B<\\ev>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1351
+msgid "vertical tab."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1351
+#, no-wrap
+msgid "B<\\ex>I<\\^hex digits>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1360
+msgid ""
+"The character represented by the string of hexadecimal digits following the "
+"B<\\ex>.  As in \\*(AN C, all following hexadecimal digits are considered "
+"part of the escape sequence.  (This feature should tell us something about "
+"language design by committee.)  E.g., B<\"\\ex1B\"> is the \\s-1ASCII\\s+1 "
+"\\s-1ESC\\s+1 (escape) character."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1360
+#, no-wrap
+msgid "B<\\e>I<ddd>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1365
+msgid ""
+"The character represented by the 1-, 2-, or 3-digit sequence of octal "
+"digits.  E.g., B<\"\\e033\"> is the \\s-1ASCII\\s+1 \\s-1ESC\\s+1 (escape) "
+"character."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1365
+#, no-wrap
+msgid "B<\\e>I<c>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1369
+msgid "The literal character I<c\\^>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1374
+msgid ""
+"The escape sequences may also be used inside constant regular expressions "
+"(e.g., B</[\\ \\et\\ef\\en\\er\\ev]/> matches whitespace characters)."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1381
+msgid ""
+"In compatibility mode, the characters represented by octal and hexadecimal "
+"escape sequences are treated literally when used in regular expression "
+"constants.  Thus, B</a\\e52b/> is equivalent to B</a\\e*b/>."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:880
+#: original/man1/gawk.1:1381
 #, no-wrap
 msgid "PATTERNS AND ACTIONS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:890
+#: original/man1/gawk.1:1391
 msgid ""
 "\\*(AK is a line-oriented language.  The pattern comes first, and then the "
 "action.  Action statements are enclosed in B<{> and B<}>.  Either the "
 "pattern may be missing, or the action may be missing, but, of course, not "
-"both.  If the pattern is missing, the action will be executed for every "
-"single record of input.  A missing action is equivalent to"
+"both.  If the pattern is missing, the action is executed for every single "
+"record of input.  A missing action is equivalent to"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:893
+#: original/man1/gawk.1:1394
 msgid "B<{ print }>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:896
+#: original/man1/gawk.1:1397
 msgid "which prints the entire record."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:916
+#: original/man1/gawk.1:1419
 msgid ""
-"Comments begin with the ``#'' character, and continue until the end of the "
+"Comments begin with the B<#> character, and continue until the end of the "
 "line.  Blank lines may be used to separate statements.  Normally, a "
 "statement ends with a newline, however, this is not the case for lines "
-"ending in a ``,'', B<{>, B<?>, B<:>, B<&&>, or B<||>.  Lines ending in B<do> "
+"ending in a comma, B<{>, B<?>, B<:>, B<&&>, or B<||>.  Lines ending in B<do> "
 "or B<else> also have their statements automatically continued on the "
 "following line.  In other cases, a line can be continued by ending it with a "
-"``\\e'', in which case the newline will be ignored."
+"``\\e'', in which case the newline is ignored."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:922
+#: original/man1/gawk.1:1425
 msgid ""
 "Multiple statements may be put on one line by separating them with a ``;''.  "
 "This applies to both the statements within the action part of a "
@@ -1203,22 +1910,24 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:922
+#: original/man1/gawk.1:1425
 #, no-wrap
 msgid "Patterns"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:924
+#: original/man1/gawk.1:1427
 msgid "\\*(AK patterns may be one of the following:"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:937
+#: original/man1/gawk.1:1442
 #, no-wrap
 msgid ""
 "B<BEGIN>\n"
 "B<END>\n"
+"B<BEGINFILE>\n"
+"B<ENDFILE>\n"
 "B</>I<regular expression>B</>\n"
 "I<relational expression>\n"
 "I<pattern>B< && >I<pattern>\n"
@@ -1230,7 +1939,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:965
+#: original/man1/gawk.1:1470
 msgid ""
 "B<BEGIN> and B<END> are two special kinds of patterns which are not tested "
 "against the input.  The action parts of all B<BEGIN> patterns are merged as "
@@ -1243,7 +1952,19 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:973
+#: original/man1/gawk.1:1488
+msgid ""
+"B<BEGINFILE> and B<ENDFILE> are additional special patterns whose bodies are "
+"executed before reading the first record of each command line input file and "
+"after reading the last record of each file.  Inside the B<BEGINFILE> rule, "
+"the value of B<ERRNO> will be the empty string if the file could be opened "
+"successfully.  Otherwise, there is some problem with the file and the code "
+"should use B<nextfile> to skip it. If that is not done, I<gawk> produces its "
+"usual fatal error for files that cannot be opened."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1496
 msgid ""
 "For B</>I<regular expression>B</> patterns, the associated statement is "
 "executed for each input record that matches the regular expression.  Regular "
@@ -1251,7 +1972,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:978
+#: original/man1/gawk.1:1501
 msgid ""
 "A I<relational expression> may use any of the operators defined below in the "
 "section on actions.  These generally test whether certain fields match "
@@ -1259,7 +1980,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:988
+#: original/man1/gawk.1:1511
 msgid ""
 "The B<&&>, B<||>, and B<!> operators are logical AND, logical OR, and "
 "logical NOT, respectively, as in C.  They do short-circuit evaluation, also "
@@ -1269,7 +1990,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:994
+#: original/man1/gawk.1:1517
 msgid ""
 "The B<?\\^:> operator is like the same operator in C.  If the first pattern "
 "is true then the pattern used for testing is the second pattern, otherwise "
@@ -1277,7 +1998,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1004
+#: original/man1/gawk.1:1527
 msgid ""
 "The I<pattern1>B<, >I<pattern2> form of an expression is called a I<range "
 "pattern>.  It matches all input records starting with a record that matches "
@@ -1286,295 +2007,310 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1004
+#: original/man1/gawk.1:1527
 #, no-wrap
 msgid "Regular Expressions"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1008
+#: original/man1/gawk.1:1531
 msgid ""
 "Regular expressions are the extended kind found in I<egrep>.  They are "
 "composed of characters as follows:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1008
+#: original/man1/gawk.1:1531
 #, no-wrap
 msgid "I<c>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1012
+#: original/man1/gawk.1:1535
 msgid "matches the non-metacharacter I<c>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1012
+#: original/man1/gawk.1:1535
 #, no-wrap
 msgid "I<\\ec>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1016
+#: original/man1/gawk.1:1539
 msgid "matches the literal character I<c>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1016
+#: original/man1/gawk.1:1539
 #, no-wrap
 msgid "B<.>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1021
+#: original/man1/gawk.1:1544
 msgid "matches any character I<including> newline."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1021 original/man1/gawk.1:1315
+#: original/man1/gawk.1:1544 original/man1/gawk.1:1838
 #, no-wrap
 msgid "B<^>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1024
+#: original/man1/gawk.1:1547
 msgid "matches the beginning of a string."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1024 original/man1/gawk.1:1309
+#: original/man1/gawk.1:1547 original/man1/gawk.1:1832
 #, no-wrap
 msgid "B<$>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1027
+#: original/man1/gawk.1:1550
 msgid "matches the end of a string."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1027
+#: original/man1/gawk.1:1550
 #, no-wrap
 msgid "B<[>I<abc.\\|.\\|.>B<]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1031
+#: original/man1/gawk.1:1554
 msgid "character list, matches any of the characters I<abc.\\|.\\|.>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1031
+#: original/man1/gawk.1:1554
 #, no-wrap
 msgid "B<[^>I<abc.\\|.\\|.>B<]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1035
+#: original/man1/gawk.1:1558
 msgid "negated character list, matches any character except I<abc.\\|.\\|.>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1035
+#: original/man1/gawk.1:1558
 #, no-wrap
 msgid "I<r1>B<|>I<r2>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1041
+#: original/man1/gawk.1:1564
 msgid "alternation: matches either I<r1> or I<r2>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1041
+#: original/man1/gawk.1:1564
 #, no-wrap
 msgid "I<r1r2>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1047
+#: original/man1/gawk.1:1570
 msgid "concatenation: matches I<r1>, and then I<r2>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1047
+#: original/man1/gawk.1:1570
 #, no-wrap
-msgid "I<r>B<+>"
+msgid "I<r\\^>B<+>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1051
-msgid "matches one or more I<r>'s."
+#: original/man1/gawk.1:1574
+msgid "matches one or more I<r\\^>'s."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1051
+#: original/man1/gawk.1:1574
 #, no-wrap
 msgid "I<r>B<*>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1055
-msgid "matches zero or more I<r>'s."
+#: original/man1/gawk.1:1578
+msgid "matches zero or more I<r\\^>'s."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1055
+#: original/man1/gawk.1:1578
 #, no-wrap
-msgid "I<r>B<?>"
+msgid "I<r\\^>B<?>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1059
-msgid "matches zero or one I<r>'s."
+#: original/man1/gawk.1:1582
+msgid "matches zero or one I<r\\^>'s."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1059
+#: original/man1/gawk.1:1582
 #, no-wrap
 msgid "B<(>I<r>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1063
+#: original/man1/gawk.1:1586
 msgid "grouping: matches I<r>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1063
+#: original/man1/gawk.1:1586
 #, no-wrap
 msgid "I<r>B<{>I<n>B<}>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1066
+#: original/man1/gawk.1:1589
 #, no-wrap
 msgid "I<r>B<{>I<n>B<,}>"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1069
+#: original/man1/gawk.1:1592
 #, no-wrap
 msgid "I<r>B<{>I<n>B<,>I<m>B<}>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1090
+#: original/man1/gawk.1:1613
 msgid ""
 "One or two numbers inside braces denote an I<interval expression>.  If there "
-"is one number in the braces, the preceding regexp I<r> is repeated I<n> "
-"times.  If there are two numbers separated by a comma, I<r> is repeated I<n> "
-"to I<m> times.  If there is one number followed by a comma, then I<r> is "
-"repeated at least I<n> times."
-msgstr ""
-
-#. type: Plain text
-#: original/man1/gawk.1:1096
-msgid ""
-"Interval expressions are only available if either B<-\\^-posix> or "
-"B<-\\^-re-interval> is specified on the command line."
+"is one number in the braces, the preceding regular expression I<r> is "
+"repeated I<n> times.  If there are two numbers separated by a comma, I<r> is "
+"repeated I<n> to I<m> times.  If there is one number followed by a comma, "
+"then I<r> is repeated at least I<n> times."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1096
+#: original/man1/gawk.1:1613
 #, no-wrap
 msgid "B<\\ey>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1100
+#: original/man1/gawk.1:1617
 msgid "matches the empty string at either the beginning or the end of a word."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1100
+#: original/man1/gawk.1:1617
 #, no-wrap
 msgid "B<\\eB>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1103
+#: original/man1/gawk.1:1620
 msgid "matches the empty string within a word."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1103
+#: original/man1/gawk.1:1620
 #, no-wrap
 msgid "B<\\eE<lt>>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1106
+#: original/man1/gawk.1:1623
 msgid "matches the empty string at the beginning of a word."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1106
+#: original/man1/gawk.1:1623
 #, no-wrap
 msgid "B<\\eE<gt>>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1109
+#: original/man1/gawk.1:1626
 msgid "matches the empty string at the end of a word."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1109
+#: original/man1/gawk.1:1626
+#, no-wrap
+msgid "B<\\es>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1629
+msgid "matches any whitespace character."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1629
+#, no-wrap
+msgid "B<\\eS>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1632
+msgid "matches any nonwhitespace character."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1632
 #, no-wrap
 msgid "B<\\ew>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1112
+#: original/man1/gawk.1:1635
 msgid "matches any word-constituent character (letter, digit, or underscore)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1112
+#: original/man1/gawk.1:1635
 #, no-wrap
 msgid "B<\\eW>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1115
+#: original/man1/gawk.1:1638
 msgid "matches any character that is not word-constituent."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1115
+#: original/man1/gawk.1:1638
 #, no-wrap
 msgid "B<\\e`>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1118
+#: original/man1/gawk.1:1641
 msgid "matches the empty string at the beginning of a buffer (string)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1118
+#: original/man1/gawk.1:1641
 #, no-wrap
 msgid "B<\\e'>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1121
+#: original/man1/gawk.1:1644
 msgid "matches the empty string at the end of a buffer."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1124
+#: original/man1/gawk.1:1647
 msgid ""
 "The escape sequences that are valid in string constants (see below)  are "
-"also legal in regular expressions."
+"also valid in regular expressions."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1132
+#: original/man1/gawk.1:1655
 msgid ""
-"I<Character classes> are a new feature introduced in the \\*(PX standard.  A "
+"I<Character classes> are a feature introduced in the \\*(PX standard.  A "
 "character class is a special notation for describing lists of characters "
 "that have a specific attribute, but where the actual characters themselves "
 "can vary from country to country and/or from character set to character "
@@ -1583,204 +2319,207 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1141
+#: original/man1/gawk.1:1664
 msgid ""
-"A character class is only valid in a regexp I<inside> the brackets of a "
-"character list.  Character classes consist of B<[:>, a keyword denoting the "
-"class, and B<:]>.  Here are the character classes defined by the \\*(PX "
-"standard."
+"A character class is only valid in a regular expression I<inside> the "
+"brackets of a character list.  Character classes consist of B<[:>, a keyword "
+"denoting the class, and B<:]>.  The character classes defined by the \\*(PX "
+"standard are:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1141
+#: original/man1/gawk.1:1664
 #, no-wrap
 msgid "B<[:alnum:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1144
+#: original/man1/gawk.1:1667
 msgid "Alphanumeric characters."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1144
+#: original/man1/gawk.1:1667
 #, no-wrap
 msgid "B<[:alpha:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1147
+#: original/man1/gawk.1:1670
 msgid "Alphabetic characters."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1147
+#: original/man1/gawk.1:1670
 #, no-wrap
 msgid "B<[:blank:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1150
+#: original/man1/gawk.1:1673
 msgid "Space or tab characters."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1150
+#: original/man1/gawk.1:1673
 #, no-wrap
 msgid "B<[:cntrl:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1153
+#: original/man1/gawk.1:1676
 msgid "Control characters."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1153
+#: original/man1/gawk.1:1676
 #, no-wrap
 msgid "B<[:digit:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1156
+#: original/man1/gawk.1:1679
 msgid "Numeric characters."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1156
+#: original/man1/gawk.1:1679
 #, no-wrap
 msgid "B<[:graph:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1162
+#: original/man1/gawk.1:1685
 msgid ""
 "Characters that are both printable and visible.  (A space is printable, but "
 "not visible, while an B<a> is both.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1162
+#: original/man1/gawk.1:1685
 #, no-wrap
 msgid "B<[:lower:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1165
-msgid "Lower-case alphabetic characters."
+#: original/man1/gawk.1:1688
+msgid "Lowercase alphabetic characters."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1165
+#: original/man1/gawk.1:1688
 #, no-wrap
 msgid "B<[:print:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1168
+#: original/man1/gawk.1:1691
 msgid "Printable characters (characters that are not control characters.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1168
+#: original/man1/gawk.1:1691
 #, no-wrap
 msgid "B<[:punct:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1172
+#: original/man1/gawk.1:1695
 msgid ""
 "Punctuation characters (characters that are not letter, digits, control "
 "characters, or space characters)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1172
+#: original/man1/gawk.1:1695
 #, no-wrap
 msgid "B<[:space:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1175
+#: original/man1/gawk.1:1698
 msgid "Space characters (such as space, tab, and formfeed, to name a few)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1175
+#: original/man1/gawk.1:1698
 #, no-wrap
 msgid "B<[:upper:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1178
-msgid "Upper-case alphabetic characters."
+#: original/man1/gawk.1:1701
+msgid "Uppercase alphabetic characters."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1178
+#: original/man1/gawk.1:1701
 #, no-wrap
 msgid "B<[:xdigit:]>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1181
+#: original/man1/gawk.1:1704
 msgid "Characters that are hexadecimal digits."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1191
+#: original/man1/gawk.1:1717
 msgid ""
 "For example, before the \\*(PX standard, to match alphanumeric characters, "
 "you would have had to write B</[A-Za-z0-9]/>.  If your character set had "
-"other alphabetic characters in it, this would not match them.  With the "
-"\\*(PX character classes, you can write B</[[:alnum:]]/>, and this will "
-"match I<all> the alphabetic and numeric characters in your character set."
+"other alphabetic characters in it, this would not match them, and if your "
+"character set collated differently from \\s-1ASCII\\s+1, this might not even "
+"match the \\s-1ASCII\\s+1 alphanumeric characters.  With the \\*(PX "
+"character classes, you can write B</[[:alnum:]]/>, and this matches the "
+"alphabetic and numeric characters in your character set, no matter what it "
+"is."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1201
+#: original/man1/gawk.1:1727
 msgid ""
 "Two additional special sequences can appear in character lists.  These apply "
-"to non-ASCII character sets, which can have single symbols (called "
+"to non-\\s-1ASCII\\s+1 character sets, which can have single symbols (called "
 "I<collating elements>)  that are represented with more than one character, "
 "as well as several characters that are equivalent for I<collating>, or "
 "sorting, purposes.  (E.g., in French, a plain ``e'' and a grave-accented "
-"e\\` are equivalent.)"
+"``e\\h'-\\w:e:u'\\`'' are equivalent.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1201
+#: original/man1/gawk.1:1727
 #, no-wrap
 msgid "Collating Symbols"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1217
+#: original/man1/gawk.1:1743
 msgid ""
-"A collating symbols is a multi-character collating element enclosed in B<[.> "
+"A collating symbol is a multi-character collating element enclosed in B<[.> "
 "and B<.]>.  For example, if B<ch> is a collating element, then B<[[.ch.]]> "
-"is a regexp that matches this collating element, while B<[ch]> is a regexp "
-"that matches either B<c> or B<h>."
+"is a regular expression that matches this collating element, while B<[ch]> "
+"is a regular expression that matches either B<c> or B<h>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1217
+#: original/man1/gawk.1:1743
 #, no-wrap
 msgid "Equivalence Classes"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1236
+#: original/man1/gawk.1:1762
 msgid ""
 "An equivalence class is a locale-specific name for a list of characters that "
 "are equivalent.  The name is enclosed in B<[=> and B<=]>.  For example, the "
-"name B<e> might be used to represent all of ``e,'' ``e\\`,'' and ``e\\`.'' "
-"In this case, B<[[=e]]> is a regexp that matches any of .BR e , .BR e\\' , "
-"or .BR e\\` ."
+"name B<e> might be used to represent all of ``e,'' ``e\\h'-\\w:e:u'\\','' "
+"and ``e\\h'-\\w:e:u'\\`.'' In this case, B<[[=e=]]> is a regular expression "
+"that matches any of B<e>, B<e\\h'-\\w:e:u'\\'>, or B<e\\h'-\\w:e:u'\\`>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1243
+#: original/man1/gawk.1:1769
 msgid ""
 "These features are very valuable in non-English speaking locales.  The "
 "library functions that I<gawk> uses for regular expression matching "
@@ -1789,66 +2528,64 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1257
+#: original/man1/gawk.1:1785
 msgid ""
-"The B<\\ey>, B<\\eB>, B<\\eE<lt>>, B<\\eE<gt>>, B<\\ew>, B<\\eW>, B<\\e`>, "
-"and B<\\e'> operators are specific to I<gawk>; they are extensions based on "
-"facilities in the \\*(GN regexp libraries."
+"The B<\\ey>, B<\\eB>, B<\\eE<lt>>, B<\\eE<gt>>, B<\\es>, B<\\eS>, B<\\ew>, "
+"B<\\eW>, B<\\e`>, and B<\\e'> operators are specific to I<gawk>; they are "
+"extensions based on facilities in the \\*(GN regular expression libraries."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1262
+#: original/man1/gawk.1:1790
 msgid ""
 "The various command line options control how I<gawk> interprets characters "
-"in regexps."
+"in regular expressions."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1262
+#: original/man1/gawk.1:1790
 #, no-wrap
 msgid "No options"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1269
+#: original/man1/gawk.1:1796
 msgid ""
-"In the default case, I<gawk> provide all the facilities of \\*(PX regexps "
-"and the \\*(GN regexp operators described above.  However, interval "
-"expressions are not supported."
+"In the default case, I<gawk> provide all the facilities of \\*(PX regular "
+"expressions and the \\*(GN regular expression operators described above."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1277
+#: original/man1/gawk.1:1803
 msgid ""
-"Only \\*(PX regexps are supported, the \\*(GN operators are not special.  "
-"(E.g., B<\\ew> matches a literal B<w>).  Interval expressions are allowed."
+"Only \\*(PX regular expressions are supported, the \\*(GN operators are not "
+"special.  (E.g., B<\\ew> matches a literal B<w>)."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1288
+#: original/man1/gawk.1:1811
 msgid ""
-"Traditional Unix I<awk> regexps are matched.  The \\*(GN operators are not "
-"special, interval expressions are not available, and neither are the \\*(PX "
-"character classes (B<[[:alnum:]]> and so on).  Characters described by octal "
-"and hexadecimal escape sequences are treated literally, even if they "
-"represent regexp metacharacters."
+"Traditional Unix I<awk> regular expressions are matched.  The \\*(GN "
+"operators are not special, and interval expressions are not available.  "
+"Characters described by octal and hexadecimal escape sequences are treated "
+"literally, even if they represent regular expression metacharacters."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1293
+#: original/man1/gawk.1:1816
 msgid ""
-"Allow interval expressions in regexps, even if B<-\\^-traditional> has been "
-"provided."
+"Allow interval expressions in regular expressions, even if "
+"B<-\\^-traditional> has been provided."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1293
+#: original/man1/gawk.1:1816
 #, no-wrap
 msgid "Actions"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1302
+#: original/man1/gawk.1:1825
 msgid ""
 "Action statements are enclosed in braces, B<{> and B<}>.  Action statements "
 "consist of the usual assignment, conditional, and looping statements found "
@@ -1857,127 +2594,126 @@ msgid ""
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1302
+#: original/man1/gawk.1:1825
 #, no-wrap
 msgid "Operators"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1305
+#: original/man1/gawk.1:1828
 msgid "The operators in \\*(AK, in order of decreasing precedence, are"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1306
+#: original/man1/gawk.1:1829
 #, no-wrap
 msgid "B<(>\\&.\\|.\\|.B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1309
+#: original/man1/gawk.1:1832
 msgid "Grouping"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1312
+#: original/man1/gawk.1:1835
 msgid "Field reference."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1312
+#: original/man1/gawk.1:1835
 #, no-wrap
 msgid "B<++ -\\^->"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1315
+#: original/man1/gawk.1:1838
 msgid "Increment and decrement, both prefix and postfix."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1319
+#: original/man1/gawk.1:1842
 msgid ""
 "Exponentiation (B<**> may also be used, and B<**=> for the assignment "
 "operator)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1319
+#: original/man1/gawk.1:1842
 #, no-wrap
 msgid "B<+ - !>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1322
+#: original/man1/gawk.1:1845
 msgid "Unary plus, unary minus, and logical negation."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1322
+#: original/man1/gawk.1:1845
 #, no-wrap
 msgid "B<* / %>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1325
+#: original/man1/gawk.1:1848
 msgid "Multiplication, division, and modulus."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1325
+#: original/man1/gawk.1:1848
 #, no-wrap
 msgid "B<+ ->"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1328
+#: original/man1/gawk.1:1851
 msgid "Addition and subtraction."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1328 original/man1/gawk.1:1647
+#: original/man1/gawk.1:1851 original/man1/gawk.1:2215
 #, no-wrap
 msgid "I<space>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1331
+#: original/man1/gawk.1:1854
 msgid "String concatenation."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1331
+#: original/man1/gawk.1:1854
 #, no-wrap
-msgid "B<E<lt> E<gt>>"
+msgid "B<|   |&>"
 msgstr ""
 
-#. type: TP
-#: original/man1/gawk.1:1334
-#, no-wrap
-msgid "B<E<lt>= E<gt>=>"
+#. type: Plain text
+#: original/man1/gawk.1:1861
+msgid "Piped I/O for B<getline>, B<print>, and B<printf>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1337
+#: original/man1/gawk.1:1861
 #, no-wrap
-msgid "B<!= ==>"
+msgid "B<E<lt> E<gt> E<lt>= E<gt>= != ==>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1341
+#: original/man1/gawk.1:1864
 msgid "The regular relational operators."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1341
+#: original/man1/gawk.1:1864
 #, no-wrap
 msgid "B<~ !~>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1357
+#: original/man1/gawk.1:1880
 msgid ""
-"Regular expression match, negated match.  B<NOTE:> Do not use a constant "
+"Regular expression match, negated match.  B<NOTE>: Do not use a constant "
 "regular expression (B</foo/>)  on the left-hand side of a B<~> or B<!~>.  "
 "Only use one on the right-hand side.  The expression B</foo/ ~ >I<exp> has "
 "the same meaning as B<(($0 ~ /foo/) ~ >I<exp>B<)>.  This is usually I<not> "
@@ -1985,46 +2721,46 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1357
+#: original/man1/gawk.1:1880
 #, no-wrap
 msgid "B<in>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1360
+#: original/man1/gawk.1:1883
 msgid "Array membership."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1360
+#: original/man1/gawk.1:1883
 #, no-wrap
 msgid "B<&&>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1363
+#: original/man1/gawk.1:1886
 msgid "Logical AND."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1363
+#: original/man1/gawk.1:1886
 #, no-wrap
 msgid "B<||>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1366
+#: original/man1/gawk.1:1889
 msgid "Logical OR."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1366
+#: original/man1/gawk.1:1889
 #, no-wrap
 msgid "B<?:>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1382
+#: original/man1/gawk.1:1905
 msgid ""
 "The C conditional expression.  This has the form I<expr1>B< ? >I<expr2>B< : "
 ">I<expr3>\\&.  If I<expr1> is true, the value of the expression is I<expr2>, "
@@ -2032,37 +2768,31 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1382
-#, no-wrap
-msgid "B<= += -=>"
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1385
+#: original/man1/gawk.1:1905
 #, no-wrap
-msgid "B<*= /= %= ^=>"
+msgid "B<= += -= *= /= %= ^=>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1391
+#: original/man1/gawk.1:1910
 msgid ""
 "Assignment.  Both absolute assignment B<(>I<var>B< = >I<value>B<)> and "
 "operator-assignment (the other forms) are supported."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1391
+#: original/man1/gawk.1:1910
 #, no-wrap
 msgid "Control Statements"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1395
+#: original/man1/gawk.1:1914
 msgid "The control statements are as follows:"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1409
+#: original/man1/gawk.1:1933
 #, no-wrap
 msgid ""
 "B<if (>I<condition>B<) >I<statement> [ B<else>I< statement >]\n"
@@ -2076,82 +2806,115 @@ msgid ""
 "B<delete >I<array\\^>\n"
 "B<exit> [ I<expression> ]\n"
 "B<{ >I<statements >B<}>\n"
+"B<switch (>I<expression>B<) {\n"
+"case >I<value>B<|>I<regex>B< : >I<statement\n"
+"\\&.\\^.\\^.\n"
+">[ B<default: >I<statement >]\n"
+"B<}>\n"
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1411
+#: original/man1/gawk.1:1935
 #, no-wrap
 msgid "I/O Statements"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1414
+#: original/man1/gawk.1:1938
 msgid "The input/output statements are as follows:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1415
+#: original/man1/gawk.1:1939
 #, no-wrap
-msgid "B<close(>I<file>B<)>"
+msgid "B<close(>I<file >[B<, >I<how>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1418
-msgid "Close file (or pipe, see below)."
+#: original/man1/gawk.1:1948
+msgid ""
+"Close file, pipe or co-process.  The optional I<how> should only be used "
+"when closing one end of a two-way pipe to a co-process.  It must be a string "
+"value, either B<\"to\"> or B<\"from\">."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1418
+#: original/man1/gawk.1:1948
 #, no-wrap
 msgid "B<getline>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1426
+#: original/man1/gawk.1:1956
 msgid "Set B<$0> from next input record; set B<NF>, B<NR>, B<FNR>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1426
+#: original/man1/gawk.1:1956
 #, no-wrap
 msgid "B<getline E<lt>>I<file>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1434
+#: original/man1/gawk.1:1964
 msgid "Set B<$0> from next record of I<file>; set B<NF>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1434
+#: original/man1/gawk.1:1964
 #, no-wrap
 msgid "B<getline>I< var>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1441
+#: original/man1/gawk.1:1971
 msgid "Set I<var> from next input record; set B<NR>, B<FNR>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1441
+#: original/man1/gawk.1:1971
 #, no-wrap
 msgid "B<getline>I< var>B< E<lt>>I<file>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1447
+#: original/man1/gawk.1:1977
 msgid "Set I<var> from next record of I<file>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1447
+#: original/man1/gawk.1:1977
+#, no-wrap
+msgid "I<command>B< | getline >[I<var>]"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1986
+msgid "Run I<command> piping the output either into B<$0> or I<var>, as above."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1986
+#, no-wrap
+msgid "I<command>B< |& getline >[I<var>]"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2003
+msgid ""
+"Run I<command> as a co-process piping the output either into B<$0> or "
+"I<var>, as above.  Co-processes are a I<gawk> extension.  (I<command> can "
+"also be a socket.  See the subsection B<Special File Names>, below.)"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2003
 #, no-wrap
 msgid "B<next>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1454
+#: original/man1/gawk.1:2010
 msgid ""
 "Stop processing the current input record.  The next input record is read and "
 "processing starts over with the first pattern in the \\*(AK program.  If the "
@@ -2159,320 +2922,353 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1454
+#: original/man1/gawk.1:2010
 #, no-wrap
 msgid "B<nextfile>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1472
+#: original/man1/gawk.1:2023
 msgid ""
 "Stop processing the current input file.  The next input record read comes "
 "from the next input file.  B<FILENAME> and B<ARGIND> are updated, B<FNR> is "
 "reset to 1, and processing starts over with the first pattern in the \\*(AK "
-"program.  If the end of the input data is reached, the B<END> block(s), if "
-"any, are executed.  B<NOTE:> Earlier versions of gawk used B<next file>, as "
-"two words.  While this usage is still recognized, it generates a warning "
-"message and will eventually be removed."
+"program. If the end of the input data is reached, the B<END> block(s), if "
+"any, are executed."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1472
+#: original/man1/gawk.1:2023
 #, no-wrap
 msgid "B<print>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1478
+#: original/man1/gawk.1:2029
 msgid ""
-"Prints the current record.  The output record is terminated with the value "
-"of the B<ORS> variable."
+"Print the current record.  The output record is terminated with the value of "
+"the B<ORS> variable."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1478
+#: original/man1/gawk.1:2029
 #, no-wrap
 msgid "B<print>I< expr-list>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1487
+#: original/man1/gawk.1:2038
 msgid ""
-"Prints expressions.  Each expression is separated by the value of the B<OFS> "
+"Print expressions.  Each expression is separated by the value of the B<OFS> "
 "variable.  The output record is terminated with the value of the B<ORS> "
 "variable."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1487
+#: original/man1/gawk.1:2038
 #, no-wrap
 msgid "B<print>I< expr-list>B< E<gt>>I<file>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1496
+#: original/man1/gawk.1:2047
 msgid ""
-"Prints expressions on I<file>.  Each expression is separated by the value of "
+"Print expressions on I<file>.  Each expression is separated by the value of "
 "the B<OFS> variable.  The output record is terminated with the value of the "
 "B<ORS> variable."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1496
+#: original/man1/gawk.1:2047
 #, no-wrap
 msgid "B<printf>I< fmt, expr-list>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1499
-msgid "Format and print."
+#: original/man1/gawk.1:2051
+msgid "Format and print.  See B<The >I<printf >B<Statement>, below."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1499
+#: original/man1/gawk.1:2051
 #, no-wrap
 msgid "B<printf>I< fmt, expr-list>B< E<gt>>I<file>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1503
+#: original/man1/gawk.1:2055
 msgid "Format and print on I<file>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1503
+#: original/man1/gawk.1:2055
 #, no-wrap
 msgid "B<system(>I<cmd-line>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1509
+#: original/man1/gawk.1:2061
 msgid ""
 "Execute the command I<cmd-line>, and return the exit status.  (This may not "
 "be available on non-\\*(PX systems.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1509
+#: original/man1/gawk.1:2061
 #, no-wrap
 msgid "\\&B<fflush(>[I<file\\^>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1521
+#: original/man1/gawk.1:2072
 msgid ""
 "Flush any buffers associated with the open output file or pipe I<file>.  If "
-"I<file> is missing, then standard output is flushed.  If I<file> is the null "
-"string, then all open output files and pipes have their buffers flushed."
+"I<file> is missing, then flush standard output.  If I<file> is the null "
+"string, then flush all open output files and pipes."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1539
+#: original/man1/gawk.1:2077
+msgid "Additional output redirections are allowed for B<print> and B<printf>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2077
+#, no-wrap
+msgid "B<print .\\|.\\|. E<gt>E<gt>>I< file>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2081
+msgid "Appends output to the I<file>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2081
+#, no-wrap
+msgid "B<print .\\|.\\|. |>I< command>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2084
+msgid "Writes on a pipe."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2084
+#, no-wrap
+msgid "B<print .\\|.\\|. |&>I< command>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2090
 msgid ""
-"Other input/output redirections are also allowed.  For B<print> and "
-"B<printf>, B<E<gt>E<gt>>I< file> appends output to the I<file>, while B<|>I< "
-"command> writes on a pipe.  In a similar fashion, I<command>B< | getline> "
-"pipes into B<getline>.  The B<getline> command will return 0 on end of file, "
-"and -1 on an error."
+"Sends data to a co-process or socket.  (See also the subsection B<Special "
+"File Names>, below.)"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1553
+#: original/man1/gawk.1:2097
 msgid ""
-"NOTE: If using a pipe to B<getline>, or from B<print> or B<printf> within a "
-"loop, you I<must> use B<close()> to create new instances of the command.  "
-"AWK does not automatically close pipes when they return EOF."
+"The B<getline> command returns 1 on success, 0 on end of file, and -1 on an "
+"error.  Upon an error, B<ERRNO> contains a string describing the problem."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2113
+msgid ""
+"B<NOTE>: Failure in opening a two-way socket will result in a non-fatal "
+"error being returned to the calling function. If using a pipe, co-process, "
+"or socket to B<getline>, or from B<print> or B<printf> within a loop, you "
+"I<must> use B<close()> to create new instances of the command or socket.  "
+"\\*(AK does not automatically close pipes, sockets, or co-processes when "
+"they return EOF."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1553
+#: original/man1/gawk.1:2113
 #, no-wrap
 msgid "The I<printf>\\^ Statement"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1562
+#: original/man1/gawk.1:2122
 msgid ""
 "The \\*(AK versions of the B<printf> statement and B<sprintf()> function "
 "(see below)  accept the following conversion specification formats:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1562
+#: original/man1/gawk.1:2122
 #, no-wrap
 msgid "B<%c>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1570
+#: original/man1/gawk.1:2130
 msgid ""
-"An \\s-1ASCII\\s+1 character.  If the argument used for B<%c> is numeric, it "
-"is treated as a character and printed.  Otherwise, the argument is assumed "
-"to be a string, and the only first character of that string is printed."
+"A single character.  If the argument used for B<%c> is numeric, it is "
+"treated as a character and printed.  Otherwise, the argument is assumed to "
+"be a string, and the only first character of that string is printed."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1570
-#, no-wrap
-msgid "B<%d>"
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1573
+#: original/man1/gawk.1:2130
 #, no-wrap
-msgid "B<%i>"
+msgid "B<%d>,B< %i>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1577
+#: original/man1/gawk.1:2133
 msgid "A decimal number (the integer part)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1577
+#: original/man1/gawk.1:2133
 #, no-wrap
-msgid "B<%e>"
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1580
-#, no-wrap
-msgid "B<%E>"
+msgid "B<%e>,B< %E>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1591
+#: original/man1/gawk.1:2143
 msgid ""
 "A floating point number of the form B<[-]d.dddddde[+\\^-]dd>.  The B<%E> "
 "format uses B<E> instead of B<e>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1591
+#: original/man1/gawk.1:2143
 #, no-wrap
-msgid "B<%f>"
+msgid "B<%f>,B< %F>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1595
-msgid "A floating point number of the form B<[-]ddd.dddddd>."
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1595
-#, no-wrap
-msgid "B<%g>"
+#: original/man1/gawk.1:2158
+msgid ""
+"A floating point number of the form B<[-]ddd.dddddd>.  If the system library "
+"supports it, B<%F> is available as well. This is like B<%f>, but uses "
+"capital letters for special ``not a number'' and ``infinity'' values. If "
+"B<%F> is not available, I<gawk> uses B<%f>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1598
+#: original/man1/gawk.1:2158
 #, no-wrap
-msgid "B<%G>"
+msgid "B<%g>,B< %G>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1612
+#: original/man1/gawk.1:2171
 msgid ""
 "Use B<%e> or B<%f> conversion, whichever is shorter, with nonsignificant "
 "zeros suppressed.  The B<%G> format uses B<%E> instead of B<%e>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1612
+#: original/man1/gawk.1:2171
 #, no-wrap
 msgid "B<%o>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1615
+#: original/man1/gawk.1:2174
 msgid "An unsigned octal number (also an integer)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1615
+#: original/man1/gawk.1:2174
 #, no-wrap
 msgid "B<%u>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1619
+#: original/man1/gawk.1:2178
 msgid "An unsigned decimal number (again, an integer)."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1619
+#: original/man1/gawk.1:2178
 #, no-wrap
 msgid "B<%s>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1622
+#: original/man1/gawk.1:2181
 msgid "A character string."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1622
-#, no-wrap
-msgid "B<%x>"
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1625
+#: original/man1/gawk.1:2181
 #, no-wrap
-msgid "B<%X>"
+msgid "B<%x>,B< %X>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1635
+#: original/man1/gawk.1:2190
 msgid ""
 "An unsigned hexadecimal number (an integer).  The B<%X> format uses "
 "B<ABCDEF> instead of B<abcdef>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1635
+#: original/man1/gawk.1:2190
 #, no-wrap
 msgid "B<%%>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1640
+#: original/man1/gawk.1:2195
 msgid "A single B<%> character; no argument is converted."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1644
+#: original/man1/gawk.1:2199
 msgid ""
-"There are optional, additional parameters that may lie between the B<%> and "
-"the control letter:"
+"Optional, additional parameters may lie between the B<%> and the control "
+"letter:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1644
+#: original/man1/gawk.1:2199
+#, no-wrap
+msgid "I<count>B<$>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2212
+msgid ""
+"Use the I<count>'th argument at this point in the formatting.  This is "
+"called a I<positional specifier> and is intended primarily for use in "
+"translated versions of format strings, not in the original text of an AWK "
+"program.  It is a I<gawk> extension."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2212
 #, no-wrap
 msgid "B<->"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1647
+#: original/man1/gawk.1:2215
 msgid "The expression should be left-justified within its field."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1651
+#: original/man1/gawk.1:2219
 msgid ""
 "For numeric conversions, prefix positive values with a space, and negative "
 "values with a minus sign."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1651
+#: original/man1/gawk.1:2219
 #, no-wrap
 msgid "B<+>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1658
+#: original/man1/gawk.1:2226
 msgid ""
 "The plus sign, used before the width modifier (see below), says to always "
 "supply a sign for numeric conversions, even if the data to be formatted is "
@@ -2480,356 +3276,392 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1658
+#: original/man1/gawk.1:2226
 #, no-wrap
 msgid "B<#>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1686
+#: original/man1/gawk.1:2255
 msgid ""
 "Use an ``alternate form'' for certain control letters.  For B<%o>, supply a "
 "leading zero.  For B<%x>, and B<%X>, supply a leading B<0x> or B<0X> for a "
-"nonzero result.  For B<%e>, B<%E>, and B<%f>, the result will always contain "
-"a decimal point.  For B<%g>, and B<%G>, trailing zeros are not removed from "
-"the result."
+"nonzero result.  For B<%e>, B<%E>, B<%f> and B<%F>, the result always "
+"contains a decimal point.  For B<%g>, and B<%G>, trailing zeros are not "
+"removed from the result."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1686
+#: original/man1/gawk.1:2255
 #, no-wrap
 msgid "B<0>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1695
+#: original/man1/gawk.1:2264
 msgid ""
 "A leading B<0> (zero) acts as a flag, that indicates output should be padded "
-"with zeroes instead of spaces.  This applies even to non-numeric output "
+"with zeroes instead of spaces.  This applies only to the numeric output "
 "formats.  This flag only has an effect when the field width is wider than "
 "the value to be printed."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1695
-#, no-wrap
-msgid "I<width>"
-msgstr ""
-
-#. type: Plain text
-#: original/man1/gawk.1:1701
-msgid ""
-"The field should be padded to this width.  The field is normally padded with "
-"spaces.  If the B<0> flag has been used, it is padded with zeroes."
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1701
-#, no-wrap
-msgid "B<\\&.>I<prec>"
-msgstr ""
-
-#. type: Plain text
-#: original/man1/gawk.1:1727
-msgid ""
-"A number that specifies the precision to use when printing.  For the B<%e>, "
-"B<%E>, and B<%f> formats, this specifies the number of digits you want "
-"printed to the right of the decimal point.  For the B<%g>, and B<%G> "
-"formats, it specifies the maximum number of significant digits.  For the "
-"B<%d>, B<%o>, B<%i>, B<%u>, B<%x>, and B<%X> formats, it specifies the "
-"minimum number of digits to print.  For a string, it specifies the maximum "
-"number of characters from the string that should be printed."
-msgstr ""
-
-#. type: Plain text
-#: original/man1/gawk.1:1746
-msgid ""
-"The dynamic I<width> and I<prec> capabilities of the \\*(AN C B<printf()> "
-"routines are supported.  A B<*> in place of either the B<width> or B<prec> "
-"specifications will cause their values to be taken from the argument list to "
-"B<printf> or B<sprintf()>."
-msgstr ""
-
-#. type: SS
-#: original/man1/gawk.1:1746
-#, no-wrap
-msgid "Special File Names"
-msgstr ""
-
-#. type: Plain text
-#: original/man1/gawk.1:1765
-msgid ""
-"When doing I/O redirection from either B<print> or B<printf> into a file, or "
-"via B<getline> from a file, I<gawk> recognizes certain special filenames "
-"internally.  These filenames allow access to open file descriptors inherited "
-"from I<gawk>'s parent process (usually the shell).  Other special filenames "
-"provide access to information about the running B<gawk> process.  The "
-"filenames are:"
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1765
-#, no-wrap
-msgid "B</dev/pid>"
-msgstr ""
-
-#. type: Plain text
-#: original/man1/gawk.1:1769
-msgid ""
-"Reading this file returns the process ID of the current process, in decimal, "
-"terminated with a newline."
-msgstr ""
-
-#. type: TP
-#: original/man1/gawk.1:1769
+#: original/man1/gawk.1:2264
 #, no-wrap
-msgid "B</dev/ppid>"
+msgid "I<width>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1773
+#: original/man1/gawk.1:2270
 msgid ""
-"Reading this file returns the parent process ID of the current process, in "
-"decimal, terminated with a newline."
+"The field should be padded to this width.  The field is normally padded with "
+"spaces.  If the B<0> flag has been used, it is padded with zeroes."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1773
+#: original/man1/gawk.1:2270
 #, no-wrap
-msgid "B</dev/pgrpid>"
+msgid "B<\\&.>I<prec>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2299
+msgid ""
+"A number that specifies the precision to use when printing.  For the B<%e>, "
+"B<%E>, B<%f> and B<%F>, formats, this specifies the number of digits you "
+"want printed to the right of the decimal point.  For the B<%g>, and B<%G> "
+"formats, it specifies the maximum number of significant digits.  For the "
+"B<%d>, B<%i>, B<%o>, B<%u>, B<%x>, and B<%X> formats, it specifies the "
+"minimum number of digits to print.  For B<%s>, it specifies the maximum "
+"number of characters from the string that should be printed."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1777
+#: original/man1/gawk.1:2325
 msgid ""
-"Reading this file returns the process group ID of the current process, in "
-"decimal, terminated with a newline."
+"The dynamic I<width> and I<prec> capabilities of the \\*(AN C B<printf()> "
+"routines are supported.  A B<*> in place of either the B<width> or B<prec> "
+"specifications causes their values to be taken from the argument list to "
+"B<printf> or B<sprintf()>.  To use a positional specifier with a dynamic "
+"width or precision, supply the I<count>B<$> after the B<*> in the format "
+"string.  For example, B<\"%3$*2$.*1$s\">."
 msgstr ""
 
-#. type: TP
-#: original/man1/gawk.1:1777
+#. type: SS
+#: original/man1/gawk.1:2325
 #, no-wrap
-msgid "B</dev/user>"
+msgid "Special File Names"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1800
+#: original/man1/gawk.1:2342
 msgid ""
-"Reading this file returns a single record terminated with a newline.  The "
-"fields are separated with spaces.  B<$1> is the value of the I<getuid>(2)  "
-"system call, B<$2> is the value of the I<geteuid>(2)  system call, B<$3> is "
-"the value of the I<getgid>(2)  system call, and B<$4> is the value of the "
-"I<getegid>(2)  system call.  If there are any additional fields, they are "
-"the group IDs returned by I<getgroups>(2).  Multiple groups may not be "
-"supported on all systems."
+"When doing I/O redirection from either B<print> or B<printf> into a file, or "
+"via B<getline> from a file, I<gawk> recognizes certain special filenames "
+"internally.  These filenames allow access to open file descriptors inherited "
+"from I<gawk\\^>'s parent process (usually the shell).  These file names may "
+"also be used on the command line to name data files.  The filenames are:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1800
+#: original/man1/gawk.1:2342
 #, no-wrap
 msgid "B</dev/stdin>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1803
+#: original/man1/gawk.1:2345
 msgid "The standard input."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1803
+#: original/man1/gawk.1:2345
 #, no-wrap
 msgid "B</dev/stdout>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1806
+#: original/man1/gawk.1:2348
 msgid "The standard output."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1806
+#: original/man1/gawk.1:2348
 #, no-wrap
 msgid "B</dev/stderr>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1809
+#: original/man1/gawk.1:2351
 msgid "The standard error output."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1809
+#: original/man1/gawk.1:2351
 #, no-wrap
 msgid "B</dev/fd/\\^>I<n>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1813
+#: original/man1/gawk.1:2355
 msgid "The file associated with the open file descriptor I<n>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1815
+#: original/man1/gawk.1:2357
 msgid "These are particularly useful for error messages.  For example:"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1819
+#: original/man1/gawk.1:2361
 msgid "B<print \"You blew it!\" E<gt> \"/dev/stderr\">"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1823
+#: original/man1/gawk.1:2365
 msgid "whereas you would otherwise have to use"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1827
+#: original/man1/gawk.1:2369
 msgid "B<print \"You blew it!\" | \"cat 1E<gt>&2\">"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1831
-msgid "These file names may also be used on the command line to name data files."
+#: original/man1/gawk.1:2375
+msgid ""
+"The following special filenames may be used with the B<|&> co-process "
+"operator for creating TCP/IP network connections:"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2375
+#, no-wrap
+msgid "B</inet/tcp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2378
+#, no-wrap
+msgid "B</inet4/tcp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2381
+#, no-wrap
+msgid "B</inet6/tcp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2403
+msgid ""
+"Files for a TCP/IP connection on local port I<lport> to remote host I<rhost> "
+"on remote port I<rport>.  Use a port of B<0> to have the system pick a "
+"port.  Use B</inet4> to force an IPv4 connection, and B</inet6> to force an "
+"IPv6 connection.  Plain B</inet> uses the system default (most likely IPv4)."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2403
+#, no-wrap
+msgid "B</inet/udp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2406
+#, no-wrap
+msgid "B</inet4/udp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2409
+#, no-wrap
+msgid "B</inet6/udp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2413
+msgid "Similar, but use UDP/IP instead of TCP/IP."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1831
+#: original/man1/gawk.1:2413
 #, no-wrap
 msgid "Numeric Functions"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1834
-msgid "\\*(AK has the following pre-defined arithmetic functions:"
+#: original/man1/gawk.1:2416
+msgid "\\*(AK has the following built-in arithmetic functions:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1835
+#: original/man1/gawk.1:2417
 #, no-wrap
 msgid "B<atan2(>I<y>B<,>I< x>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1840
-msgid "returns the arctangent of I<y/x> in radians."
+#: original/man1/gawk.1:2422
+msgid "Return the arctangent of I<y/x> in radians."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1840
+#: original/man1/gawk.1:2422
 #, no-wrap
 msgid "B<cos(>I<expr>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1845
-msgid "returns the cosine of I<expr>, which is in radians."
+#: original/man1/gawk.1:2427
+msgid "Return the cosine of I<expr>, which is in radians."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1845
+#: original/man1/gawk.1:2427
 #, no-wrap
 msgid "B<exp(>I<expr>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1848
-msgid "the exponential function."
+#: original/man1/gawk.1:2430
+msgid "The exponential function."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1848
+#: original/man1/gawk.1:2430
 #, no-wrap
 msgid "B<int(>I<expr>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1851
-msgid "truncates to integer."
+#: original/man1/gawk.1:2433
+msgid "Truncate to integer."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1851
+#: original/man1/gawk.1:2433
 #, no-wrap
 msgid "B<log(>I<expr>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1854
-msgid "the natural logarithm function."
+#: original/man1/gawk.1:2436
+msgid "The natural logarithm function."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1854
+#: original/man1/gawk.1:2436
 #, no-wrap
 msgid "B<rand()>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1857
-msgid "returns a random number between 0 and 1."
+#: original/man1/gawk.1:2442
+msgid ""
+"Return a random number I<N>, between 0 and 1, such that 0 \\(E<lt>= I<N> "
+"E<lt> 1."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1857
+#: original/man1/gawk.1:2442
 #, no-wrap
 msgid "B<sin(>I<expr>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1862
-msgid "returns the sine of I<expr>, which is in radians."
+#: original/man1/gawk.1:2447
+msgid "Return the sine of I<expr>, which is in radians."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1862
+#: original/man1/gawk.1:2447
 #, no-wrap
 msgid "B<sqrt(>I<expr>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1865
-msgid "the square root function."
+#: original/man1/gawk.1:2450
+msgid "The square root function."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1865
+#: original/man1/gawk.1:2450
 #, no-wrap
 msgid "\\&B<srand(>[I<expr\\^>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1874
+#: original/man1/gawk.1:2459
 msgid ""
-"uses I<expr> as a new seed for the random number generator.  If no I<expr> "
-"is provided, the time of day will be used.  The return value is the previous "
-"seed for the random number generator."
+"Use I<expr> as the new seed for the random number generator.  If no I<expr> "
+"is provided, use the time of day.  The return value is the previous seed for "
+"the random number generator."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:1874
+#: original/man1/gawk.1:2459
 #, no-wrap
 msgid "String Functions"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1878
-msgid "I<Gawk> has the following pre-defined string functions:"
+#: original/man1/gawk.1:2463
+msgid "I<Gawk> has the following built-in string functions:"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2464
+#, no-wrap
+msgid "B<asort(>I<s >[B<, >I<d> [B<, >I<how>] ]B<)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2503
+msgid ""
+"Return the number of elements in the source array I<s>.  Sort the contents "
+"of I<s> using I<gawk\\^>'s normal rules for comparing values, and replace "
+"the indices of the sorted values I<s> with sequential integers starting with "
+"1. If the optional destination array I<d> is specified, then first duplicate "
+"I<s> into I<d>, and then sort I<d>, leaving the indices of the source array "
+"I<s> unchanged. The optional string I<how> controls the direction and the "
+"comparison mode.  Valid values for I<how> are any of the strings valid for "
+"B<PROCINFO[\"sorted_in\"]>.  It can also be the name of a user-defined "
+"comparison function as described in B<PROCINFO[\"sorted_in\"]>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2503
+#, no-wrap
+msgid "B<asorti(>I<s >[B<, >I<d> [B<, >I<how>] ]B<)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2522
+msgid ""
+"Return the number of elements in the source array I<s>.  The behavior is the "
+"same as that of B<asort()>, except that the array I<indices> are used for "
+"sorting, not the array values.  When done, the array is indexed numerically, "
+"and the values are those of the original indices.  The original values are "
+"lost; thus provide a second array if you wish to preserve the original.  The "
+"purpose of the optional string I<how> is the same as described in B<asort()> "
+"above."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1879
+#: original/man1/gawk.1:2522
 #, no-wrap
 msgid "B<gensub(>I<r>B<, >I<s>B<, >I<h >[B<, >I<t>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1926
+#: original/man1/gawk.1:2569
 msgid ""
-"search the target string I<t> for matches of the regular expression I<r>.  "
+"Search the target string I<t> for matches of the regular expression I<r>.  "
 "If I<h> is a string beginning with B<g> or B<G>, then replace all matches of "
 "I<r> with I<s>.  Otherwise, I<h> is a number indicating which match of I<r> "
-"to replace.  If no I<t> is supplied, B<$0> is used instead.  Within the "
+"to replace.  If I<t> is not supplied, use B<$0> instead.  Within the "
 "replacement text I<s>, the sequence B<\\e>I<n>, where I<n> is a digit from 1 "
 "to 9, may be used to indicate just the text that matched the I<n>'th "
 "parenthesized subexpression.  The sequence B<\\e0> represents the entire "
@@ -2839,365 +3671,469 @@ msgid ""
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1926
+#: original/man1/gawk.1:2569
 #, no-wrap
 msgid "B<gsub(>I<r>B<, >I<s >[B<, >I<t>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1955
+#: original/man1/gawk.1:2598
 msgid ""
-"for each substring matching the regular expression I<r> in the string I<t>, "
+"For each substring matching the regular expression I<r> in the string I<t>, "
 "substitute the string I<s>, and return the number of substitutions.  If I<t> "
 "is not supplied, use B<$0>.  An B<&> in the replacement text is replaced "
 "with the text that was actually matched.  Use B<\\e&> to get a literal "
-"B<&>.  See I<Effective AWK Programming> for a fuller discussion of the rules "
-"for B<&'s> and backslashes in the replacement text of B<sub()>, B<gsub()>, "
-"and B<gensub()>."
+"B<&>.  (This must be typed as B<\"\\e\\e&\">; see \\*(EP for a fuller "
+"discussion of the rules for B<&>'s and backslashes in the replacement text "
+"of B<sub()>, B<gsub()>, and B<gensub()>.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1955
+#: original/man1/gawk.1:2598
 #, no-wrap
 msgid "B<index(>I<s>B<,>I< t>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1964
+#: original/man1/gawk.1:2608
 msgid ""
-"returns the index of the string I<t> in the string I<s>, or 0 if I<t> is not "
-"present."
+"Return the index of the string I<t> in the string I<s>, or 0 if I<t> is not "
+"present.  (This implies that character indices start at one.)"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1964
+#: original/man1/gawk.1:2608
 #, no-wrap
 msgid "B<length(>[I<s>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1973
+#: original/man1/gawk.1:2620
+msgid ""
+"Return the length of the string I<s>, or the length of B<$0> if I<s> is not "
+"supplied.  As a non-standard extension, with an array argument, B<length()> "
+"returns the number of elements in the array."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2620
+#, no-wrap
+msgid "B<match(>I<s>B<, >I<r >[B<, >I<a>]B<)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2637
+msgid ""
+"Return the position in I<s> where the regular expression I<r> occurs, or 0 "
+"if I<r> is not present, and set the values of B<RSTART> and B<RLENGTH>.  "
+"Note that the argument order is the same as for the B<~> operator: I<str>B< "
+"~> I<re>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2662
 msgid ""
-"returns the length of the string I<s>, or the length of B<$0> if I<s> is not "
-"supplied."
+"If array I<a> is provided, I<a> is cleared and then elements 1 through I<n> "
+"are filled with the portions of I<s> that match the corresponding "
+"parenthesized subexpression in I<r>.  The 0'th element of I<a> contains the "
+"portion of I<s> matched by the entire regular expression I<r>.  Subscripts "
+"B<a[>I<n\\^>B<, \"start\"]>, and B<a[>I<n\\^>B<, \"length\"]> provide the "
+"starting index in the string and length respectively, of each matching "
+"substring."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1973
+#: original/man1/gawk.1:2662
 #, no-wrap
-msgid "B<match(>I<s>B<,>I< r>B<)>"
+msgid "B<patsplit(>I<s>B<, >I<a >[B<, >I<r> [B<, >I<seps>] ]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1985
+#: original/man1/gawk.1:2695
 msgid ""
-"returns the position in I<s> where the regular expression I<r> occurs, or 0 "
-"if I<r> is not present, and sets the values of B<RSTART> and B<RLENGTH>."
+"Split the string I<s> into the array I<a> and the separators array I<seps> "
+"on the regular expression I<r>, and return the number of fields.  Element "
+"values are the portions of I<s> that matched I<r>.  The value of I<seps[i]> "
+"is the separator that appeared in front of I<a[i+1]>.  If I<r> is omitted, "
+"B<FPAT> is used instead.  The arrays I<a> and I<seps> are cleared first.  "
+"Splitting behaves identically to field splitting with B<FPAT>, described "
+"above."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1985
+#: original/man1/gawk.1:2695
 #, no-wrap
-msgid "B<split(>I<s>B<, >I<a >[B<, >I<r>]B<)>"
+msgid "B<split(>I<s>B<, >I<a >[B<, >I<r> [B<, >I<seps>] ]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2002
+#: original/man1/gawk.1:2735
 msgid ""
-"splits the string I<s> into the array I<a> on the regular expression I<r>, "
-"and returns the number of fields.  If I<r> is omitted, B<FS> is used "
-"instead.  The array I<a> is cleared first.  Splitting behaves identically to "
-"field splitting, described above."
+"Split the string I<s> into the array I<a> and the separators array I<seps> "
+"on the regular expression I<r>, and return the number of fields.  If I<r> is "
+"omitted, B<FS> is used instead.  The arrays I<a> and I<seps> are cleared "
+"first.  I<seps[i]> is the field separator matched by I<r> between I<a[i]> "
+"and I<a[i+1]>.  If I<r> is a single space, then leading whitespace in I<s> "
+"goes into the extra array element I<seps[0]> and trailing whitespace goes "
+"into the extra array element I<seps[n]>, where I<n> is the return value of "
+"I<split(s, a, r, seps)>.  Splitting behaves identically to field splitting, "
+"described above."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2002
+#: original/man1/gawk.1:2735
 #, no-wrap
 msgid "B<sprintf(>I<fmt>B<,>I< expr-list>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2009
-msgid "prints I<expr-list> according to I<fmt>, and returns the resulting string."
+#: original/man1/gawk.1:2742
+msgid "Prints I<expr-list> according to I<fmt>, and returns the resulting string."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2742
+#, no-wrap
+msgid "B<strtonum(>I<str>B<)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2768
+msgid ""
+"Examine I<str>, and return its numeric value.  If I<str> begins with a "
+"leading B<0>, B<strtonum()> assumes that I<str> is an octal number.  If "
+"I<str> begins with a leading B<0x> or B<0X>, B<strtonum()> assumes that "
+"I<str> is a hexadecimal number.  Otherwise, decimal is assumed."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2009
+#: original/man1/gawk.1:2768
 #, no-wrap
 msgid "B<sub(>I<r>B<, >I<s >[B<, >I<t>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2014
-msgid "just like B<gsub()>, but only the first matching substring is replaced."
+#: original/man1/gawk.1:2773
+msgid "Just like B<gsub()>, but replace only the first matching substring."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2014
+#: original/man1/gawk.1:2773
 #, no-wrap
 msgid "B<substr(>I<s>B<, >I<i >[B<, >I<n>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2027
+#: original/man1/gawk.1:2785
 msgid ""
-"returns the at most I<n>-character substring of I<s> starting at I<i>.  If "
-"I<n> is omitted, the rest of I<s> is used."
+"Return the at most I<n>-character substring of I<s> starting at I<i>.  If "
+"I<n> is omitted, use the rest of I<s>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2027
+#: original/man1/gawk.1:2785
 #, no-wrap
 msgid "B<tolower(>I<str>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2035
+#: original/man1/gawk.1:2793
 msgid ""
-"returns a copy of the string I<str>, with all the upper-case characters in "
-"I<str> translated to their corresponding lower-case counterparts.  "
+"Return a copy of the string I<str>, with all the uppercase characters in "
+"I<str> translated to their corresponding lowercase counterparts.  "
 "Non-alphabetic characters are left unchanged."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2035
+#: original/man1/gawk.1:2793
 #, no-wrap
 msgid "B<toupper(>I<str>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2043
+#: original/man1/gawk.1:2801
 msgid ""
-"returns a copy of the string I<str>, with all the lower-case characters in "
-"I<str> translated to their corresponding upper-case counterparts.  "
+"Return a copy of the string I<str>, with all the lowercase characters in "
+"I<str> translated to their corresponding uppercase counterparts.  "
 "Non-alphabetic characters are left unchanged."
 msgstr ""
 
+#. type: Plain text
+#: original/man1/gawk.1:2810
+msgid ""
+"I<Gawk> is multibyte aware.  This means that B<index()>, B<length()>, "
+"B<substr()> and B<match()> all work in terms of characters, not bytes."
+msgstr ""
+
 #. type: SS
-#: original/man1/gawk.1:2043
+#: original/man1/gawk.1:2810
 #, no-wrap
 msgid "Time Functions"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2050
+#: original/man1/gawk.1:2816
 msgid ""
 "Since one of the primary uses of \\*(AK programs is processing log files "
-"that contain time stamp information, I<gawk> provides the following two "
+"that contain time stamp information, I<gawk> provides the following "
 "functions for obtaining time stamps and formatting them."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2051
+#: original/man1/gawk.1:2817
 #, no-wrap
-msgid "B<systime()>"
+msgid "B<mktime(>I<datespec>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2055
+#: original/man1/gawk.1:2854
 msgid ""
-"returns the current time of day as the number of seconds since the Epoch "
-"(Midnight UTC, January 1, 1970 on \\*(PX systems)."
+"Turn I<datespec> into a time stamp of the same form as returned by "
+"B<systime()>, and return the result.  The I<datespec> is a string of the "
+"form I<YYYY MM DD HH MM SS[ DST]>.  The contents of the string are six or "
+"seven numbers representing respectively the full year including century, the "
+"month from 1 to 12, the day of the month from 1 to 31, the hour of the day "
+"from 0 to 23, the minute from 0 to 59, the second from 0 to 60, and an "
+"optional daylight saving flag.  The values of these numbers need not be "
+"within the ranges specified; for example, an hour of -1 means 1 hour before "
+"midnight.  The origin-zero Gregorian calendar is assumed, with year 0 "
+"preceding year 1 and year -1 preceding year 0.  The time is assumed to be in "
+"the local timezone.  If the daylight saving flag is positive, the time is "
+"assumed to be daylight saving time; if zero, the time is assumed to be "
+"standard time; and if negative (the default), B<mktime()> attempts to "
+"determine whether daylight saving time is in effect for the specified time.  "
+"If I<datespec> does not contain enough elements or if the resulting time is "
+"out of range, B<mktime()> returns -1."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2055
+#: original/man1/gawk.1:2854
+#, no-wrap
+msgid "B<strftime(>[I<format >[B<, >I<timestamp>[B<, >I<utc-flag>]]]B<)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2882
+msgid ""
+"Format I<timestamp> according to the specification in I<format>.  If "
+"I<utc-flag> is present and is non-zero or non-null, the result is in UTC, "
+"otherwise the result is in local time.  The I<timestamp> should be of the "
+"same form as returned by B<systime()>.  If I<timestamp> is missing, the "
+"current time of day is used.  If I<format> is missing, a default format "
+"equivalent to the output of I<date>(1)  is used.  The default format is "
+"available in B<PROCINFO[\"strftime\"]>.  See the specification for the "
+"B<strftime()> function in \\*(AN C for the format conversions that are "
+"guaranteed to be available."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2882
 #, no-wrap
-msgid "B<strftime(>[I<format >[B<, >I<timestamp>]]B<)>"
+msgid "B<systime()>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2085
+#: original/man1/gawk.1:2886
 msgid ""
-"formats I<timestamp> according to the specification in I<format.> The "
-"I<timestamp> should be of the same form as returned by B<systime()>.  If "
-"I<timestamp> is missing, the current time of day is used.  If I<format> is "
-"missing, a default format equivalent to the output of I<date>(1)  will be "
-"used.  See the specification for the B<strftime()> function in \\*(AN C for "
-"the format conversions that are guaranteed to be available.  A public-domain "
-"version of I<strftime>(3)  and a man page for it come with I<gawk>; if that "
-"version was used to build I<gawk>, then all of the conversions described in "
-"that man page are available to I<gawk.>"
+"Return the current time of day as the number of seconds since the Epoch "
+"(1970-01-01 00:00:00 UTC on \\*(PX systems)."
 msgstr ""
 
 #. type: SS
-#: original/man1/gawk.1:2085
+#: original/man1/gawk.1:2886
 #, no-wrap
-msgid "String Constants"
+msgid "Bit Manipulations Functions"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2091
+#: original/man1/gawk.1:2895
 msgid ""
-"String constants in \\*(AK are sequences of characters enclosed between "
-"double quotes (B<\">).  Within strings, certain I<escape sequences> are "
-"recognized, as in C.  These are:"
+"I<Gawk> supplies the following bit manipulation functions.  They work by "
+"converting double-precision floating point values to B<uintmax_t> integers, "
+"doing the operation, and then converting the result back to floating point.  "
+"The functions are:"
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2092
+#: original/man1/gawk.1:2895
 #, no-wrap
-msgid "B<\\e\\e>"
+msgid "B<and(>I<v1>B<, >I<v2>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2095
-msgid "A literal backslash."
+#: original/man1/gawk.1:2901
+msgid "Return the bitwise AND of the values provided by I<v1> and I<v2>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2095
+#: original/man1/gawk.1:2901
 #, no-wrap
-msgid "B<\\ea>"
+msgid "B<compl(>I<val>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2098
-msgid ""
-"The ``alert'' character; usually the \\s-1ASCII\\s+1 \\s-1BEL\\s+1 "
-"character."
+#: original/man1/gawk.1:2905
+msgid "Return the bitwise complement of I<val>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2098
+#: original/man1/gawk.1:2905
 #, no-wrap
-msgid "B<\\eb>"
+msgid "B<lshift(>I<val>B<, >I<count>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2101
-msgid "backspace."
+#: original/man1/gawk.1:2912
+msgid "Return the value of I<val>, shifted left by I<count> bits."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2101
+#: original/man1/gawk.1:2912
 #, no-wrap
-msgid "B<\\ef>"
+msgid "B<or(>I<v1>B<, >I<v2>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2104
-msgid "form-feed."
+#: original/man1/gawk.1:2918
+msgid "Return the bitwise OR of the values provided by I<v1> and I<v2>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2104
+#: original/man1/gawk.1:2918
 #, no-wrap
-msgid "B<\\en>"
+msgid "B<rshift(>I<val>B<, >I<count>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2107
-msgid "newline."
+#: original/man1/gawk.1:2925
+msgid "Return the value of I<val>, shifted right by I<count> bits."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2107
+#: original/man1/gawk.1:2925
 #, no-wrap
-msgid "B<\\er>"
+msgid "B<xor(>I<v1>B<, >I<v2>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2110
-msgid "carriage return."
+#: original/man1/gawk.1:2931
+msgid "Return the bitwise XOR of the values provided by I<v1> and I<v2>."
 msgstr ""
 
-#. type: TP
-#: original/man1/gawk.1:2110
+#. type: SS
+#: original/man1/gawk.1:2932
 #, no-wrap
-msgid "B<\\et>"
+msgid "Type Function"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2113
-msgid "horizontal tab."
+#: original/man1/gawk.1:2934
+msgid "The following function is for use with multidimensional arrays."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2113
+#: original/man1/gawk.1:2934
 #, no-wrap
-msgid "B<\\ev>"
+msgid "B<isarray(>I<x>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2116
-msgid "vertical tab."
+#: original/man1/gawk.1:2939
+msgid "Return true if I<x> is an array, false otherwise."
 msgstr ""
 
-#. type: TP
-#: original/man1/gawk.1:2116
+#. type: SS
+#: original/man1/gawk.1:2939
 #, no-wrap
-msgid "B<\\ex>I<\\^hex digits>"
+msgid "Internationalization Functions"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2125
+#: original/man1/gawk.1:2943
 msgid ""
-"The character represented by the string of hexadecimal digits following the "
-"B<\\ex>.  As in \\*(AN C, all following hexadecimal digits are considered "
-"part of the escape sequence.  (This feature should tell us something about "
-"language design by committee.)  E.g., B<\"\\ex1B\"> is the \\s-1ASCII\\s+1 "
-"\\s-1ESC\\s+1 (escape) character."
+"The following functions may be used from within your AWK program for "
+"translating strings at run-time.  For full details, see \\*(EP."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2125
+#: original/man1/gawk.1:2943
 #, no-wrap
-msgid "B<\\e>I<ddd>"
+msgid "B<bindtextdomain(>I<directory >[B<, >I<domain>]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2130
+#: original/man1/gawk.1:2955
 msgid ""
-"The character represented by the 1-, 2-, or 3-digit sequence of octal "
-"digits.  E.g., B<\"\\e033\"> is the \\s-1ASCII\\s+1 \\s-1ESC\\s+1 (escape) "
-"character."
+"Specify the directory where I<gawk> looks for the B<\\&.mo> files, in case "
+"they will not or cannot be placed in the ``standard'' locations (e.g., "
+"during testing).  It returns the directory where I<domain> is ``bound.''"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2967
+msgid ""
+"The default I<domain> is the value of B<TEXTDOMAIN>.  If I<directory> is the "
+"null string (B<\"\">), then B<bindtextdomain()> returns the current binding "
+"for the given I<domain>."
 msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2130
+#: original/man1/gawk.1:2967
 #, no-wrap
-msgid "B<\\e>I<c>"
+msgid "B<dcgettext(>I<string >[B<, >I<domain >[B<, >I<category>]]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2134
-msgid "The literal character I<c\\^>."
+#: original/man1/gawk.1:2982
+msgid ""
+"Return the translation of I<string> in text domain I<domain> for locale "
+"category I<category>.  The default value for I<domain> is the current value "
+"of B<TEXTDOMAIN>.  The default value for I<category> is B<\"LC_MESSAGES\">."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2139
+#: original/man1/gawk.1:2991 original/man1/gawk.1:3020
 msgid ""
-"The escape sequences may also be used inside constant regular expressions "
-"(e.g., B</[\\ \\et\\ef\\en\\er\\ev]/> matches whitespace characters)."
+"If you supply a value for I<category>, it must be a string equal to one of "
+"the known locale categories described in \\*(EP.  You must also supply a "
+"text domain.  Use B<TEXTDOMAIN> if you want to use the current domain."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2991
+#, no-wrap
+msgid ""
+"B<dcngettext(>I<string1 >, I<string2 >, I<number >[B<, >I<domain >[B<, "
+">I<category>]]B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2146
+#: original/man1/gawk.1:3011
 msgid ""
-"In compatibility mode, the characters represented by octal and hexadecimal "
-"escape sequences are treated literally when used in regexp constants.  Thus, "
-"B</a\\e52b/> is equivalent to B</a\\e*b/>."
+"Return the plural form used for I<number> of the translation of I<string1> "
+"and I<string2> in text domain I<domain> for locale category I<category>.  "
+"The default value for I<domain> is the current value of B<TEXTDOMAIN>.  The "
+"default value for I<category> is B<\"LC_MESSAGES\">."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2146
+#: original/man1/gawk.1:3020
 #, no-wrap
-msgid "FUNCTIONS"
+msgid "USER-DEFINED FUNCTIONS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2148
+#: original/man1/gawk.1:3022
 msgid "Functions in \\*(AK are defined as follows:"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2151
+#: original/man1/gawk.1:3025
 msgid "B<function >I<name>B<(>I<parameter list>B<) { >I<statements >B<}>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2157
+#: original/man1/gawk.1:3031
 msgid ""
 "Functions are executed when they are called from within expressions in "
 "either patterns or actions.  Actual parameters supplied in the function call "
@@ -3206,7 +4142,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2162
+#: original/man1/gawk.1:3036
 msgid ""
 "Since functions were not originally part of the \\*(AK language, the "
 "provision for local variables is rather clumsy: They are declared as extra "
@@ -3216,32 +4152,32 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2170
+#: original/man1/gawk.1:3044
 #, no-wrap
 msgid ""
-"B<function  f(p, q,     a, b)\t# a & b are local\n"
+"B<function  f(p, q,     a, b)\t# a and b are local\n"
 "{\n"
 "\t\\&.\\|.\\|.\n"
 "}>\n"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2172
+#: original/man1/gawk.1:3046
 #, no-wrap
 msgid "B</abc/\t{ .\\|.\\|. ; f(1, 2) ; .\\|.\\|. }>\n"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2181
+#: original/man1/gawk.1:3055
 msgid ""
 "The left parenthesis in a function call is required to immediately follow "
-"the function name, without any intervening white space.  This is to avoid a "
+"the function name, without any intervening whitespace.  This avoids a "
 "syntactic ambiguity with the concatenation operator.  This restriction does "
 "not apply to the built-in functions listed above."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2185
+#: original/man1/gawk.1:3059
 msgid ""
 "Functions may call each other and may be recursive.  Function parameters "
 "used as local variables are initialized to the null string and the number "
@@ -3249,7 +4185,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2191
+#: original/man1/gawk.1:3065
 msgid ""
 "Use B<return>I< expr> to return a value from a function.  The return value "
 "is undefined if no value is provided, or if the function returns by "
@@ -3257,151 +4193,265 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2199
+#: original/man1/gawk.1:3073
+msgid ""
+"As a I<gawk> extension, functions may be called indirectly. To do this, "
+"assign the name of the function to be called, as a string, to a variable.  "
+"Then use the variable as if it were the name of a function, prefixed with an "
+"B<@> sign, like so:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3081
+#, no-wrap
 msgid ""
-"If B<-\\^-lint> has been provided, I<gawk> will warn about calls to "
-"undefined functions at parse time, instead of at run time.  Calling an "
-"undefined function at run time is a fatal error."
+"B<function  myfunc()\n"
+"{\n"
+"\tprint \"myfunc called\"\n"
+"\t\\&.\\|.\\|.\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3087
+#, no-wrap
+msgid ""
+"B<{\t.\\|.\\|.\n"
+"\tthe_func = \"myfunc\"\n"
+"\t@the_func()\t# call through the_func to myfunc\n"
+"\t.\\|.\\|.\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3098
+msgid ""
+"If B<-\\^-lint> has been provided, I<gawk> warns about calls to undefined "
+"functions at parse time, instead of at run time.  Calling an undefined "
+"function at run time is a fatal error."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2204
+#: original/man1/gawk.1:3103
 msgid "The word B<func> may be used in place of B<function>."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2204 original/man1/igawk.1:51
+#: original/man1/gawk.1:3103
 #, no-wrap
-msgid "EXAMPLES"
+msgid "DYNAMICALLY LOADING NEW FUNCTIONS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2207
+#: original/man1/gawk.1:3109
+msgid ""
+"You can dynamically add new built-in functions to the running I<gawk> "
+"interpreter.  The full details are beyond the scope of this manual page; see "
+"\\*(EP for the details."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3110
 #, no-wrap
-msgid "Print and sort the login names of all users:\n"
+msgid "B<extension(>I<object>B<, >I<function>B<)>"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2211
-#, no-wrap
+#: original/man1/gawk.1:3120
 msgid ""
-"B<\tBEGIN\t{ FS = \":\" }\n"
-"\t\t{ print $1 | \"sort\" }>\n"
+"Dynamically link the shared object file named by I<object>, and invoke "
+"I<function> in that object, to perform initialization.  These should both be "
+"provided as strings.  Return the value returned by I<function>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2214
+#: original/man1/gawk.1:3124
+msgid ""
+"Using this feature at the C level is not pretty, but it is unlikely to go "
+"away. Additional mechanisms may be added at some point."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3124
 #, no-wrap
-msgid "Count lines in a file:\n"
+msgid "SIGNALS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2218
+#: original/man1/gawk.1:3138
+msgid ""
+"I<pgawk> accepts two signals.  B<SIGUSR1> causes it to dump a profile and "
+"function call stack to the profile file, which is either B<awkprof.out>, or "
+"whatever file was named with the B<-\\^-profile> option.  It then continues "
+"to run.  B<SIGHUP> causes I<pgawk> to dump the profile and function call "
+"stack and then exit."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3138
 #, no-wrap
+msgid "INTERNATIONALIZATION"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3145
 msgid ""
-"B<\t\t{ nlines++ }\n"
-"\tEND\t{ print nlines }>\n"
+"String constants are sequences of characters enclosed in double quotes.  In "
+"non-English speaking environments, it is possible to mark strings in the "
+"\\*(AK program as requiring translation to the local natural language. Such "
+"strings are marked in the \\*(AK program with a leading underscore (``_'').  "
+"For example,"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3149
+msgid "B<gawk 'BEGIN { print \"hello, world\" }'>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3155
+msgid "always prints B<hello, world>.  But,"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3159
+msgid "B<gawk 'BEGIN { print _\"hello, world\" }'>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3165
+msgid "might print B<bonjour, monde> in France."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2221
+#: original/man1/gawk.1:3168
+msgid ""
+"There are several steps involved in producing and running a localizable "
+"\\*(AK program."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3168
 #, no-wrap
-msgid "Precede each line by its number in the file:\n"
+msgid "1."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3175
+msgid ""
+"Add a B<BEGIN> action to assign a value to the B<TEXTDOMAIN> variable to set "
+"the text domain to a name associated with your program:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3179
+msgid "B<BEGIN { TEXTDOMAIN = \"myprog\" }>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3193
+msgid ""
+"This allows I<gawk> to find the B<\\&.mo> file associated with your "
+"program.  Without this step, I<gawk> uses the B<messages> text domain, which "
+"likely does not contain translations for your program."
 msgstr ""
 
-#. type: Plain text
-#: original/man1/gawk.1:2224
+#. type: TP
+#: original/man1/gawk.1:3193
 #, no-wrap
-msgid "B<\t{ print FNR, $0 }>\n"
+msgid "2."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2227
+#: original/man1/gawk.1:3196
+msgid "Mark all strings that should be translated with leading underscores."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3196
 #, no-wrap
-msgid "Concatenate and line number (a variation on a theme):\n"
+msgid "3."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2230
-#, no-wrap
-msgid "B<\t{ print NR, $0 }>\n"
+#: original/man1/gawk.1:3203
+msgid ""
+"If necessary, use the B<dcgettext()> and/or B<bindtextdomain()> functions in "
+"your program, as appropriate."
 msgstr ""
 
-#. type: SH
-#: original/man1/gawk.1:2232 original/man1/igawk.1:66
+#. type: TP
+#: original/man1/gawk.1:3203
 #, no-wrap
-msgid "SEE ALSO"
+msgid "4."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2242
+#: original/man1/gawk.1:3210
 msgid ""
-"I<egrep>(1), I<getpid>(2), I<getppid>(2), I<getpgrp>(2), I<getuid>(2), "
-"I<geteuid>(2), I<getgid>(2), I<getegid>(2), I<getgroups>(2)"
+"Run B<gawk -\\^-gen-pot -f myprog.awk E<gt> myprog.pot> to generate a "
+"B<\\&.po> file for your program."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3210
+#, no-wrap
+msgid "5."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2246
+#: original/man1/gawk.1:3215
 msgid ""
-"I<The AWK Programming Language>, Alfred V. Aho, Brian W. Kernighan, Peter "
-"J. Weinberger, Addison-Wesley, 1988.  ISBN 0-201-07981-X."
+"Provide appropriate translations, and build and install the corresponding "
+"B<\\&.mo> files."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2249 original/man1/igawk.1:71
-msgid ""
-"I<Effective AWK Programming>, Edition 1.0, published by the Free Software "
-"Foundation, 1995."
+#: original/man1/gawk.1:3217
+msgid "The internationalization features are described in full detail in \\*(EP."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2249
+#: original/man1/gawk.1:3217
 #, no-wrap
 msgid "POSIX COMPATIBILITY"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2262
+#: original/man1/gawk.1:3230
 msgid ""
 "A primary goal for I<gawk> is compatibility with the \\*(PX standard, as "
 "well as with the latest version of \\*(UX I<awk>.  To this end, I<gawk> "
 "incorporates the following user visible features which are not described in "
-"the \\*(AK book, but are part of the Bell Labs version of I<awk>, and are in "
-"the \\*(PX standard."
+"the \\*(AK book, but are part of the Bell Laboratories version of I<awk>, "
+"and are in the \\*(PX standard."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2281
+#: original/man1/gawk.1:3248
 msgid ""
-"The B<-v> option for assigning variables before program execution starts is "
-"new.  The book indicates that command line variable assignment happens when "
-"I<awk> would otherwise open the argument as a file, which is after the "
-"B<BEGIN> block is executed.  However, in earlier implementations, when such "
-"an assignment appeared before any file names, the assignment would happen "
+"The book indicates that command line variable assignment happens when I<awk> "
+"would otherwise open the argument as a file, which is after the B<BEGIN> "
+"block is executed.  However, in earlier implementations, when such an "
+"assignment appeared before any file names, the assignment would happen "
 "I<before> the B<BEGIN> block was run.  Applications came to depend on this "
-"``feature.'' When I<awk> was changed to match its documentation, this option "
-"was added to accommodate applications that depended upon the old behavior.  "
-"(This feature was agreed upon by both the AT&T and \\*(GN developers.)"
-msgstr ""
-
-#. type: Plain text
-#: original/man1/gawk.1:2285
-msgid ""
-"The B<-W> option for implementation specific features is from the \\*(PX "
-"standard."
+"``feature.'' When I<awk> was changed to match its documentation, the B<-v> "
+"option for assigning variables before program execution was added to "
+"accommodate applications that depended upon the old behavior.  (This feature "
+"was agreed upon by both the Bell Laboratories and the \\*(GN developers.)"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2294
+#: original/man1/gawk.1:3257
 msgid ""
 "When processing arguments, I<gawk> uses the special option ``-\\^-'' to "
-"signal the end of arguments.  In compatibility mode, it will warn about, but "
-"otherwise ignore, undefined options.  In normal operation, such arguments "
+"signal the end of arguments.  In compatibility mode, it warns about but "
+"otherwise ignores undefined options.  In normal operation, such arguments "
 "are passed on to the \\*(AK program for it to process."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2304
+#: original/man1/gawk.1:3267
 msgid ""
 "The \\*(AK book does not define the return value of B<srand()>.  The \\*(PX "
 "standard has it return the seed it was using, to allow keeping track of "
@@ -3410,255 +4460,346 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2325
+#: original/man1/gawk.1:3288
 msgid ""
 "Other new features are: The use of multiple B<-f> options (from MKS I<awk>); "
 "the B<ENVIRON> array; the B<\\ea>, and B<\\ev> escape sequences (done "
-"originally in I<gawk> and fed back into AT&T's); the B<tolower()> and "
-"B<toupper()> built-in functions (from AT&T); and the \\*(AN C conversion "
-"specifications in B<printf> (done first in AT&T's version)."
+"originally in I<gawk> and fed back into the Bell Laboratories version); the "
+"B<tolower()> and B<toupper()> built-in functions (from the Bell Laboratories "
+"version); and the \\*(AN C conversion specifications in B<printf> (done "
+"first in the Bell Laboratories version)."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2325
+#: original/man1/gawk.1:3288
+#, no-wrap
+msgid "HISTORICAL FEATURES"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3296
+msgid ""
+"There is one feature of historical \\*(AK implementations that I<gawk> "
+"supports: It is possible to call the B<length()> built-in function not only "
+"with no argument, but even without parentheses! Thus,"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3300
+msgid "B<a = length\t# Holy Algol 60, Batman!>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3304
+msgid "is the same as either of"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3308
+msgid "B<a = length()>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3310
+msgid "B<a = length($0)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3318
+msgid ""
+"Using this feature is poor practice, and I<gawk> issues a warning about its "
+"use if B<-\\^-lint> is specified on the command line."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3318
 #, no-wrap
 msgid "GNU EXTENSIONS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2336
+#: original/man1/gawk.1:3331
 msgid ""
 "I<Gawk> has a number of extensions to \\*(PX I<awk>.  They are described in "
 "this section.  All the extensions described here can be disabled by invoking "
-"I<gawk> with the B<-\\^-traditional> option."
+"I<gawk> with the B<-\\^-traditional> or B<-\\^-posix> options."
 msgstr ""
 
+#.  Environment vars and startup stuff
 #. type: Plain text
-#: original/man1/gawk.1:2342
+#: original/man1/gawk.1:3338
 msgid "The following features of I<gawk> are not available in \\*(PX I<awk>."
 msgstr ""
 
+#.  POSIX and language recognition issues
+#. type: Plain text
+#: original/man1/gawk.1:3346
+msgid ""
+"No path search is performed for files named via the B<-f> option.  Therefore "
+"the B<AWKPATH> environment variable is not special."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3352
+msgid ""
+"There is no facility for doing file inclusion (I<gawk>'s B<@include> "
+"mechanism)."
+msgstr ""
+
 #. type: Plain text
-#: original/man1/gawk.1:2350
+#: original/man1/gawk.1:3359
 msgid "The B<\\ex> escape sequence.  (Disabled with B<-\\^-posix>.)"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2357
+#: original/man1/gawk.1:3366
 msgid "The B<fflush()> function.  (Disabled with B<-\\^-posix>.)"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2365
-msgid "The B<systime(),> B<strftime(),> and B<gensub()> functions."
+#: original/man1/gawk.1:3374
+msgid ""
+"The ability to continue lines after B<?> and B<:>.  (Disabled with "
+"B<-\\^-posix>.)"
 msgstr ""
 
+#.  Special variables
 #. type: Plain text
-#: original/man1/gawk.1:2368
-msgid "The special file names available for I/O redirection are not recognized."
+#: original/man1/gawk.1:3378
+msgid "Octal and hexadecimal constants in AWK programs."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2376
-msgid "The B<ARGIND>, B<ERRNO>, and B<RT> variables are not special."
+#: original/man1/gawk.1:3389
+msgid ""
+"The B<ARGIND>, B<BINMODE>, B<ERRNO>, B<LINT>, B<RT> and B<TEXTDOMAIN> "
+"variables are not special."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2381
+#: original/man1/gawk.1:3394
 msgid "The B<IGNORECASE> variable and its side-effects are not available."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2386
+#: original/man1/gawk.1:3399
 msgid "The B<FIELDWIDTHS> variable and fixed-width field splitting."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2391
+#: original/man1/gawk.1:3404
+msgid "The B<FPAT> variable and field splitting based on field values."
+msgstr ""
+
+#.  I/O stuff
+#. type: Plain text
+#: original/man1/gawk.1:3410
+msgid "The B<PROCINFO> array is not available."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3415
 msgid "The use of B<RS> as a regular expression."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2398
-msgid ""
-"The ability to split out individual characters using the null string as the "
-"value of B<FS>, and as the third argument to B<split()>."
+#: original/man1/gawk.1:3418
+msgid "The special file names available for I/O redirection are not recognized."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3423
+msgid "The B<|&> operator for creating co-processes."
 msgstr ""
 
+#.  Changes to standard awk functions
 #. type: Plain text
-#: original/man1/gawk.1:2405
+#: original/man1/gawk.1:3431
+msgid "The B<BEGINFILE> and B<ENDFILE> special patterns are not available."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3438
 msgid ""
-"No path search is performed for files named via the B<-f> option.  Therefore "
-"the B<AWKPATH> environment variable is not special."
+"The ability to split out individual characters using the null string as the "
+"value of B<FS>, and as the third argument to B<split()>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2410
-msgid "The use of B<nextfile> to abandon processing of the current input file."
+#: original/man1/gawk.1:3443
+msgid "An optional fourth argument to B<split()> to receive the separator texts."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2415
-msgid "The use of B<delete>I< array> to delete the entire contents of an array."
+#: original/man1/gawk.1:3448
+msgid "The optional second argument to the B<close()> function."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2427
-msgid ""
-"The AWK book does not define the return value of the B<close()> function.  "
-"I<Gawk\\^>'s B<close()> returns the value from I<fclose>(3), or "
-"I<pclose>(3), when closing a file or pipe, respectively."
+#: original/man1/gawk.1:3453
+msgid "The optional third argument to the B<match()> function."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2453
-msgid ""
-"When I<gawk> is invoked with the B<-\\^-traditional> option, if the I<fs> "
-"argument to the B<-F> option is ``t'', then B<FS> will be set to the tab "
-"character.  Note that typing B<gawk -F\\et \\&.\\|.\\|.> simply causes the "
-"shell to quote the ``t,'', and does not pass ``\\et'' to the B<-F> option.  "
-"Since this is a rather ugly special case, it is not the default behavior.  "
-"This behavior also does not occur if B<-\\^-posix> has been specified.  To "
-"really get a tab character as the field separator, it is best to use quotes: "
-"B<gawk -F'\\et' \\&.\\|.\\|.>."
+#: original/man1/gawk.1:3459
+msgid "The ability to use positional specifiers with B<printf> and B<sprintf()>."
 msgstr ""
 
-#. type: SH
-#: original/man1/gawk.1:2475
-#, no-wrap
-msgid "HISTORICAL FEATURES"
+#.  New keywords or changes to keywords
+#. type: Plain text
+#: original/man1/gawk.1:3464
+msgid "The ability to pass an array to B<length()>."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2483
-msgid ""
-"There are two features of historical \\*(AK implementations that I<gawk> "
-"supports.  First, it is possible to call the B<length()> built-in function "
-"not only with no argument, but even without parentheses! Thus,"
+#: original/man1/gawk.1:3469
+msgid "The use of B<delete>I< array> to delete the entire contents of an array."
 msgstr ""
 
+#.  New functions
 #. type: Plain text
-#: original/man1/gawk.1:2487
-msgid "B<a = length\t# Holy Algol 60, Batman!>"
+#: original/man1/gawk.1:3475
+msgid "The use of B<nextfile> to abandon processing of the current input file."
 msgstr ""
 
+#.  I18N stuff
 #. type: Plain text
-#: original/man1/gawk.1:2491
-msgid "is the same as either of"
+#: original/man1/gawk.1:3498
+msgid ""
+"The B<and()>, B<asort()>, B<asorti()>, B<bindtextdomain()>, B<compl()>, "
+"B<dcgettext()>, B<dcngettext()>, B<gensub()>, B<lshift()>, B<mktime()>, "
+"B<or()>, B<patsplit()>, B<rshift()>, B<strftime()>, B<strtonum()>, "
+"B<systime()> and B<xor()> functions."
 msgstr ""
 
+#.  Extending gawk
 #. type: Plain text
-#: original/man1/gawk.1:2495
-msgid "B<a = length()>"
+#: original/man1/gawk.1:3502
+msgid "Localizable strings."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2497
-msgid "B<a = length($0)>"
+#: original/man1/gawk.1:3507
+msgid "Adding new built-in functions dynamically with the B<extension()> function."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2505
+#: original/man1/gawk.1:3521
 msgid ""
-"This feature is marked as ``deprecated'' in the \\*(PX standard, and I<gawk> "
-"will issue a warning about its use if B<-\\^-lint> is specified on the "
-"command line."
+"The \\*(AK book does not define the return value of the B<close()> "
+"function.  I<Gawk\\^>'s B<close()> returns the value from I<fclose>(3), or "
+"I<pclose>(3), when closing an output file or pipe, respectively.  It returns "
+"the process's exit status when closing an input pipe.  The return value is "
+"-1 if the named file, pipe or co-process was not opened with a redirection."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2523
+#: original/man1/gawk.1:3547
 msgid ""
-"The other feature is the use of either the B<continue> or the B<break> "
-"statements outside the body of a B<while>, B<for>, or B<do> loop.  "
-"Traditional \\*(AK implementations have treated such usage as equivalent to "
-"the B<next> statement.  I<Gawk> will support this usage if "
-"B<-\\^-traditional> has been specified."
+"When I<gawk> is invoked with the B<-\\^-traditional> option, if the I<fs> "
+"argument to the B<-F> option is ``t'', then B<FS> is set to the tab "
+"character.  Note that typing B<gawk -F\\et \\&.\\|.\\|.> simply causes the "
+"shell to quote the ``t,'' and does not pass ``\\et'' to the B<-F> option.  "
+"Since this is a rather ugly special case, it is not the default behavior.  "
+"This behavior also does not occur if B<-\\^-posix> has been specified.  To "
+"really get a tab character as the field separator, it is best to use single "
+"quotes: B<gawk -F'\\et' \\&.\\|.\\|.>."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2523
+#: original/man1/gawk.1:3569
 #, no-wrap
 msgid "ENVIRONMENT VARIABLES"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2536
+#: original/man1/gawk.1:3579
 msgid ""
-"If B<POSIXLY_CORRECT> exists in the environment, then I<gawk> behaves "
-"exactly as if B<-\\^-posix> had been specified on the command line.  If "
-"B<-\\^-lint> has been specified, I<gawk> will issue a warning message to "
-"this effect."
+"The B<AWKPATH> environment variable can be used to provide a list of "
+"directories that I<gawk> searches when looking for files named via the B<-f> "
+"and B<-\\^-file> options."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2546
+#: original/man1/gawk.1:3587
 msgid ""
-"The B<AWKPATH> environment variable can be used to provide a list of "
-"directories that I<gawk> will search when looking for files named via the "
-"B<-f> and B<-\\^-file> options."
+"For socket communication, two special environment variables can be used to "
+"control the number of retries (B<GAWK_SOCK_RETRIES>), and the interval "
+"between retries (B<GAWK_MSEC_SLEEP>).  The interval is in milliseconds. On "
+"systems that do not support I<usleep>(3), the value is rounded up to an "
+"integral number of seconds."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3600
+msgid ""
+"If B<POSIXLY_CORRECT> exists in the environment, then I<gawk> behaves "
+"exactly as if B<-\\^-posix> had been specified on the command line.  If "
+"B<-\\^-lint> has been specified, I<gawk> issues a warning message to this "
+"effect."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2546
+#: original/man1/gawk.1:3600
 #, no-wrap
-msgid "BUGS"
+msgid "EXIT STATUS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2551
+#: original/man1/gawk.1:3608
 msgid ""
-"The B<-F> option is not necessary given the command line variable assignment "
-"feature; it remains only for backwards compatibility."
+"If the B<exit> statement is used with a value, then I<gawk> exits with the "
+"numeric value given to it."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2569
+#: original/man1/gawk.1:3614
 msgid ""
-"If your system actually has support for B</dev/fd> and the associated "
-"B</dev/stdin>, B</dev/stdout>, and B</dev/stderr> files, you may get "
-"different output from I<gawk> than you would get on a system without those "
-"files.  When I<gawk> interprets these files internally, it synchronizes "
-"output to the standard output with output to B</dev/stdout>, while on a "
-"system with those files, the output is actually to different open files.  "
-"Caveat Emptor."
+"Otherwise, if there were no problems during execution, I<gawk> exits with "
+"the value of the C constant B<EXIT_SUCCESS>.  This is usually zero."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2574
+#: original/man1/gawk.1:3621
 msgid ""
-"Syntactically invalid single character programs tend to overflow the parse "
-"stack, generating a rather unhelpful message.  Such programs are "
-"surprisingly difficult to diagnose in the completely general case, and the "
-"effort to do so really is not worth it."
+"If an error occurs, I<gawk> exits with the value of the C constant "
+"B<EXIT_FAILURE>.  This is usually one."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3627
+msgid ""
+"If I<gawk> exits because of a fatal error, the exit status is 2.  On "
+"non-POSIX systems, this value may be mapped to B<EXIT_FAILURE>."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2574
+#: original/man1/gawk.1:3627
 #, no-wrap
 msgid "VERSION INFORMATION"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2578
-msgid "This man page documents I<gawk>, version 3.0.6."
+#: original/man1/gawk.1:3631
+msgid "This man page documents I<gawk>, version 4.0."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2578
+#: original/man1/gawk.1:3631
 #, no-wrap
 msgid "AUTHORS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2584
+#: original/man1/gawk.1:3637
 msgid ""
 "The original version of \\*(UX I<awk> was designed and implemented by Alfred "
-"Aho, Peter Weinberger, and Brian Kernighan of AT&T Bell Labs.  Brian "
+"Aho, Peter Weinberger, and Brian Kernighan of Bell Laboratories.  Brian "
 "Kernighan continues to maintain and enhance it."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2598
+#: original/man1/gawk.1:3651
 msgid ""
 "Paul Rubin and Jay Fenlason, of the Free Software Foundation, wrote I<gawk>, "
 "to be compatible with the original version of I<awk> distributed in Seventh "
@@ -3669,43 +4810,58 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2604
+#: original/man1/gawk.1:3665
 msgid ""
 "The initial DOS port was done by Conrad Kwok and Scott Garfinkle.  Scott "
-"Deifik is the current DOS maintainer.  Pat Rankin did the port to VMS, and "
+"Deifik maintains the port to MS-DOS using DJGPP.  Eli Zaretskii maintains "
+"the port to MS-Windows using MinGW.  Pat Rankin did the port to VMS, and "
 "Michal Jaegermann did the port to the Atari ST.  The port to OS/2 was done "
-"by Kai Uwe Rommel, with contributions and help from Darrel Hankerson.  Fred "
-"Fish supplied support for the Amiga."
+"by Kai Uwe Rommel, with contributions and help from Darrel Hankerson.  "
+"Andreas Buening now maintains the OS/2 port.  The late Fred Fish supplied "
+"support for the Amiga, and Martin Brown provided the BeOS port.  Stephen "
+"Davies provided the original Tandem port, and Matthew Woehlke provided "
+"changes for Tandem's POSIX-compliant systems.  Dave Pitts provided the port "
+"to z/OS."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3672
+msgid ""
+"See the I<README> file in the I<gawk> distribution for up-to-date "
+"information about maintainers and which ports are currently supported."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2604
+#: original/man1/gawk.1:3672
 #, no-wrap
 msgid "BUG REPORTS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2613
+#: original/man1/gawk.1:3683
 msgid ""
 "If you find a bug in I<gawk>, please send electronic mail to "
 "B<bug-gawk@gnu.org>.  Please include your operating system and its revision, "
-"the version of I<gawk>, what C compiler you used to compile it, and a test "
-"program and data that are as small as possible for reproducing the problem."
+"the version of I<gawk> (from B<gawk -\\^-version>), which C compiler you "
+"used to compile it, and a test program and data that are as small as "
+"possible for reproducing the problem."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2622
+#: original/man1/gawk.1:3698
 msgid ""
-"Before sending a bug report, please do two things.  First, verify that you "
-"have the latest version of I<gawk>.  Many bugs (usually subtle ones) are "
-"fixed at each release, and if yours is out of date, the problem may already "
-"have been solved.  Second, please read this man page and the reference "
-"manual carefully to be sure that what you think is a bug really is, instead "
-"of just a quirk in the language."
+"Before sending a bug report, please do the following things.  First, verify "
+"that you have the latest version of I<gawk>.  Many bugs (usually subtle "
+"ones) are fixed at each release, and if yours is out of date, the problem "
+"may already have been solved.  Second, please see if setting the environment "
+"variable B<LC_ALL> to B<LC_ALL=C> causes things to behave as you expect. If "
+"so, it's a locale issue, and may or may not really be a bug.  Finally, "
+"please read this man page and the reference manual carefully to be sure that "
+"what you think is a bug really is, instead of just a quirk in the language."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2632
+#: original/man1/gawk.1:3708
 msgid ""
 "Whatever you do, do B<NOT> post a bug report in B<comp.lang.awk>.  While the "
 "I<gawk> developers occasionally read this newsgroup, posting bug reports "
@@ -3713,32 +4869,167 @@ msgid ""
 "electronic mail addresses given above."
 msgstr ""
 
+#. type: Plain text
+#: original/man1/gawk.1:3715
+msgid ""
+"If you're using a GNU/Linux or BSD-based system, you may wish to submit a "
+"bug report to the vendor of your distribution.  That's fine, but please send "
+"a copy to the official email address as well, since there's no guarantee "
+"that the bug report will be forwarded to the I<gawk> maintainer."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3715
+#, no-wrap
+msgid "BUGS"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3720
+msgid ""
+"The B<-F> option is not necessary given the command line variable assignment "
+"feature; it remains only for backwards compatibility."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3725
+msgid ""
+"Syntactically invalid single character programs tend to overflow the parse "
+"stack, generating a rather unhelpful message.  Such programs are "
+"surprisingly difficult to diagnose in the completely general case, and the "
+"effort to do so really is not worth it."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3725 original/man1/igawk.1:66
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3736
+msgid ""
+"I<egrep>(1), I<getpid>(2), I<getppid>(2), I<getpgrp>(2), I<getuid>(2), "
+"I<geteuid>(2), I<getgid>(2), I<getegid>(2), I<getgroups>(2), I<usleep>(3)"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3740
+msgid ""
+"I<The AWK Programming Language>, Alfred V. Aho, Brian W. Kernighan, Peter "
+"J. Weinberger, Addison-Wesley, 1988.  ISBN 0-201-07981-X."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3747
+msgid ""
+"\\*(EP, Edition 4.0, shipped with the I<gawk> source.  The current version "
+"of this document is available online at "
+"B<http://www.gnu.org/software/gawk/manual>."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3747 original/man1/igawk.1:51
+#, no-wrap
+msgid "EXAMPLES"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3750
+#, no-wrap
+msgid "Print and sort the login names of all users:\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3754
+#, no-wrap
+msgid ""
+"B<\tBEGIN\t{ FS = \":\" }\n"
+"\t\t{ print $1 | \"sort\" }>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3757
+#, no-wrap
+msgid "Count lines in a file:\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3761
+#, no-wrap
+msgid ""
+"B<\t\t{ nlines++ }\n"
+"\tEND\t{ print nlines }>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3764
+#, no-wrap
+msgid "Precede each line by its number in the file:\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3767
+#, no-wrap
+msgid "B<\t{ print FNR, $0 }>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3770
+#, no-wrap
+msgid "Concatenate and line number (a variation on a theme):\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3773
+#, no-wrap
+msgid "B<\t{ print NR, $0 }>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3776
+#, no-wrap
+msgid "Run an external command for particular lines of data:\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3780
+#, no-wrap
+msgid ""
+"B<\ttail -f access_log |\n"
+"\tawk '/myhome.html/ { system(\"nmap \" $1 \"E<gt>E<gt> "
+"logdir/myhome.html\") }'>\n"
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:2632
+#: original/man1/gawk.1:3782
 #, no-wrap
 msgid "ACKNOWLEDGEMENTS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2636
+#: original/man1/gawk.1:3786
 msgid ""
-"Brian Kernighan of Bell Labs provided valuable assistance during testing and "
-"debugging.  We thank him."
+"Brian Kernighan of Bell Laboratories provided valuable assistance during "
+"testing and debugging.  We thank him."
 msgstr ""
 
 #. type: SH
-#: original/man1/gawk.1:2636
+#: original/man1/gawk.1:3786
 #, no-wrap
 msgid "COPYING PERMISSIONS"
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2638
-msgid "Copyright \\(co 1996-2000 Free Software Foundation, Inc."
+#: original/man1/gawk.1:3791
+msgid ""
+"Copyright \\(co 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, "
+"2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011 Free Software "
+"Foundation, Inc."
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2642
+#: original/man1/gawk.1:3795
 msgid ""
 "Permission is granted to make and distribute verbatim copies of this manual "
 "page provided the copyright notice and this permission notice are preserved "
@@ -3746,7 +5037,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2653
+#: original/man1/gawk.1:3806
 msgid ""
 "Permission is granted to copy and distribute modified versions of this "
 "manual page under the conditions for verbatim copying, provided that the "
@@ -3755,7 +5046,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2657
+#: original/man1/gawk.1:3810
 msgid ""
 "Permission is granted to copy and distribute translations of this manual "
 "page into another language, under the above conditions for modified "
@@ -3855,6 +5146,13 @@ msgstr ""
 msgid "I<gawk>(1)"
 msgstr ""
 
+#. type: Plain text
+#: original/man1/igawk.1:71
+msgid ""
+"I<Effective AWK Programming>, Edition 1.0, published by the Free Software "
+"Foundation, 1995."
+msgstr ""
+
 #. type: SH
 #: original/man1/igawk.1:71
 #, no-wrap
index f9fb1e4..187f84e 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-06-03 06:04+0900\n"
-"PO-Revision-Date: 2012-06-03 06:13+0900\n"
+"POT-Creation-Date: 2012-06-03 06:22+0900\n"
+"PO-Revision-Date: 2012-06-03 06:41+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -45,49 +45,55 @@ msgstr "\\s-1GNU\\s+1"
 msgid "\\s-1AWK\\s+1"
 msgstr "\\s-1AWK\\s+1"
 
+#. type: ds EP
+#: original/man1/gawk.1:6
+#, no-wrap
+msgid "I<GAWK: Effective AWK Programming>"
+msgstr ""
+
 #. type: TH
-#: original/man1/gawk.1:16
+#: original/man1/gawk.1:17
 #, no-wrap
 msgid "GAWK"
 msgstr "GAWK"
 
 #. type: TH
-#: original/man1/gawk.1:16
+#: original/man1/gawk.1:17
 #, no-wrap
-msgid "May 17 2000"
-msgstr "May 17 2000"
+msgid "Nov 10 2011"
+msgstr ""
 
 #. type: TH
-#: original/man1/gawk.1:16 original/man1/igawk.1:1
+#: original/man1/gawk.1:17 original/man1/igawk.1:1
 #, no-wrap
 msgid "Free Software Foundation"
 msgstr "Free Software Foundation"
 
 #. type: TH
-#: original/man1/gawk.1:16 original/man1/igawk.1:1
+#: original/man1/gawk.1:17 original/man1/igawk.1:1
 #, no-wrap
 msgid "Utility Commands"
 msgstr "Utility Commands"
 
 #. type: SH
-#: original/man1/gawk.1:17 original/man1/igawk.1:2
+#: original/man1/gawk.1:18 original/man1/igawk.1:2
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
 
 #. type: Plain text
-#: original/man1/gawk.1:19
+#: original/man1/gawk.1:20
 msgid "gawk - pattern scanning and processing language"
 msgstr "gawk - パターン検索・処理言語"
 
 #. type: SH
-#: original/man1/gawk.1:19 original/man1/igawk.1:4
+#: original/man1/gawk.1:20 original/man1/igawk.1:4
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "書式"
 
 #. type: Plain text
-#: original/man1/gawk.1:27
+#: original/man1/gawk.1:28
 msgid ""
 "B<gawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-"
 "> ] file .\\|.\\|."
@@ -96,7 +102,7 @@ msgstr ""
 "> ] file .\\|.\\|."
 
 #. type: Plain text
-#: original/man1/gawk.1:35
+#: original/man1/gawk.1:36
 msgid ""
 "B<gawk> [ \\*(PX or \\*(GN style options ] [ B<-\\^-> ] I<program-text> "
 "file .\\|.\\|."
@@ -104,32 +110,46 @@ msgstr ""
 "B<gawk> [ \\*(PX or \\*(GN style options ] [ B<-\\^-> ] I<program-text> "
 "file .\\|.\\|."
 
+#. type: Plain text
+#: original/man1/gawk.1:44
+msgid ""
+"B<pgawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-"
+"> ] file .\\|.\\|."
+msgstr "B<pgawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-> ] file .\\|.\\|."
+
+#. type: Plain text
+#: original/man1/gawk.1:52
+msgid ""
+"B<pgawk> [ \\*(PX or \\*(GN style options ] [ B<-\\^-> ] I<program-text> "
+"file .\\|.\\|."
+msgstr "B<pgawk> [ \\*(PX or \\*(GN style options ] [ B<-\\^-> ] I<program-text> file .\\|.\\|."
+
+#. type: Plain text
+#: original/man1/gawk.1:60
+msgid ""
+"B<dgawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-"
+"> ] file .\\|.\\|."
+msgstr "B<dgawk> [ \\*(PX or \\*(GN style options ] B<-f> I<program-file> [ B<-\\^-> ] file .\\|.\\|."
+
 #. type: SH
-#: original/man1/gawk.1:35 original/man1/igawk.1:24
+#: original/man1/gawk.1:60 original/man1/igawk.1:24
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
 
 #. type: Plain text
-#: original/man1/gawk.1:50
+#: original/man1/gawk.1:73
 msgid ""
 "I<Gawk> is the \\*(GN Project's implementation of the \\*(AK programming "
 "language.  It conforms to the definition of the language in the \\*(PX "
-"1003.2 Command Language And Utilities Standard.  This version in turn is "
-"based on the description in I<The AWK Programming Language>, by Aho, "
-"Kernighan, and Weinberger, with the additional features found in the System "
-"V Release 4 version of \\*(UX I<awk>.  I<Gawk> also provides more recent "
-"Bell Labs I<awk> extensions, and some \\*(GN-specific extensions."
-msgstr ""
-"I<gawk> は \\*(GN プロジェクトが実装した プログラミング言語 \\*(AK の処理系で"
-"す。 本処理系は \\*(PX 1003.2 コマンド言語とユーティリティ規約に定められた 言"
-"語の定義に適合しています。 本バージョンはまた、Aho, Kernighan, Weinberger の"
-"著書 I<The AWK Programming Language> の記述にもとづいており、 System V "
-"Release 4 \\*(UX の I<awk> の付加機能も含んでいます。 I<gawk> はまた、Bell "
-"Labs の新機能および \\*(GN 独自の拡張も提供します。"
+"1003.1 Standard.  This version in turn is based on the description in I<The "
+"AWK Programming Language>, by Aho, Kernighan, and Weinberger.  I<Gawk> "
+"provides the additional features found in the current version of \\*(UX "
+"I<awk> and a number of \\*(GN-specific extensions."
+msgstr "I<gawk> は \\*(GN プロジェクトが実装したプログラミング言語 \\*(AK の処理系です。 本処理系は \\*(PX 1003.1 標準に定められた言語の定義に適合しています。本バージョンはまた、Aho, Kernighan, Weinberger の著書 I<The AWK Programming Language> の記述に基づいています。 I<gawk> は \\*(UX の I<awk> の追加機能や多くの \\*(GN 独自の拡張機能も提供しています。"
 
 #. type: Plain text
-#: original/man1/gawk.1:63
+#: original/man1/gawk.1:86
 msgid ""
 "The command line consists of options to I<gawk> itself, the \\*(AK program "
 "text (if not supplied via the B<-f> or B<-\\^-file> options), and values to "
@@ -140,19 +160,44 @@ msgstr ""
 "引数列からなります。 この残りの引数列は、定義済み \\*(AK 変数 B<ARGC>, "
 "B<ARGV> を用いることで参照できます。"
 
+#. type: Plain text
+#: original/man1/gawk.1:99
+msgid ""
+"I<Pgawk> is the profiling version of I<gawk>.  It is identical in every way "
+"to I<gawk>, except that programs run more slowly, and it automatically "
+"produces an execution profile in the file B<awkprof.out> when done.  See the "
+"B<-\\^-profile> option, below."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:111
+msgid ""
+"I<Dgawk> is an I<awk> debugger. Instead of running the program directly, it "
+"loads the AWK source code and then prompts for debugging commands.  Unlike "
+"I<gawk> and I<pgawk>, I<dgawk> only processes AWK program source provided "
+"with the B<-f> option.  The debugger is documented in \\*(EP."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:63
+#: original/man1/gawk.1:111
 #, no-wrap
 msgid "OPTION FORMAT"
 msgstr "オプションフォーマット"
 
 #. type: Plain text
-#: original/man1/gawk.1:71
-msgid ""
-"I<Gawk> options may be either the traditional \\*(PX one letter options, or "
-"the \\*(GN style long options.  \\*(PX options start with a single ``-'', "
+#: original/man1/gawk.1:119
+#, fuzzy
+#| msgid ""
+#| "I<Gawk> options may be either the traditional \\*(PX one letter options, "
+#| "or the \\*(GN style long options.  \\*(PX options start with a single "
+#| "``-'', while long options start with ``-\\^-''.  Long options are "
+#| "provided for both \\*(GN-specific features and for \\*(PX mandated "
+#| "features."
+msgid ""
+"I<Gawk> options may be either traditional \\*(PX-style one letter options, "
+"or \\*(GN-style long options.  \\*(PX options start with a single ``-'', "
 "while long options start with ``-\\^-''.  Long options are provided for both "
-"\\*(GN-specific features and for \\*(PX mandated features."
+"\\*(GN-specific features and for \\*(PX-mandated features."
 msgstr ""
 "I<gawk> へのオプションは、伝統的な \\*(PX 形式の 1 文字オプションと、\\*(GN "
 "形式の ロングオプションがあります。 \\*(PX 形式のオプションは単一の ``-'' で"
@@ -160,11 +205,18 @@ msgstr ""
 "\\*(GN の独自仕様と \\*(PX の必須仕様の両方について用意されています。"
 
 #. type: Plain text
-#: original/man1/gawk.1:89
+#: original/man1/gawk.1:129
+#, fuzzy
+#| msgid ""
+#| "Following the \\*(PX standard, I<gawk>-specific options are supplied via "
+#| "arguments to the B<-W> option.  Multiple B<-W> options may be supplied "
+#| "Each B<-W> option has a corresponding long option, as detailed below.  "
+#| "Arguments to long options are either joined with the option by an B<=> "
+#| "sign, with no intervening spaces, or they may be provided in the next "
+#| "command line argument.  Long options may be abbreviated, as long as the "
+#| "abbreviation remains unique."
 msgid ""
-"Following the \\*(PX standard, I<gawk>-specific options are supplied via "
-"arguments to the B<-W> option.  Multiple B<-W> options may be supplied Each "
-"B<-W> option has a corresponding long option, as detailed below.  Arguments "
+"I<Gawk>- specific options are typically used in long-option form.  Arguments "
 "to long options are either joined with the option by an B<=> sign, with no "
 "intervening spaces, or they may be provided in the next command line "
 "argument.  Long options may be abbreviated, as long as the abbreviation "
@@ -177,52 +229,85 @@ msgstr ""
 "ンドライン引数として渡すことができます。 ロングオプションは、短縮形が一意であ"
 "る限り、短縮することができます。"
 
+#. type: Plain text
+#: original/man1/gawk.1:135
+msgid ""
+"Additionally, each long option has a corresponding short option, so that the "
+"option's functionality may be used from within B<#!> executable scripts."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:89 original/man1/igawk.1:45
+#: original/man1/gawk.1:135 original/man1/igawk.1:45
 #, no-wrap
 msgid "OPTIONS"
 msgstr "オプション"
 
 #. type: Plain text
-#: original/man1/gawk.1:93
-msgid "I<Gawk> accepts the following options."
-msgstr "I<gawk> は以下のオプションを受け付けます。"
+#: original/man1/gawk.1:142
+msgid ""
+"I<Gawk> accepts the following options.  Standard options are listed first, "
+"followed by options for I<gawk> extensions, listed alphabetically by short "
+"option."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:142
+#, no-wrap
+msgid "B<-f>I< program-file>"
+msgstr "B<-f>I< program-file>"
+
+#. type: TP
+#: original/man1/gawk.1:145
+#, no-wrap
+msgid "B<-\\^-file>I< program-file>"
+msgstr "B<-\\^-file>I< program-file>"
+
+#. type: Plain text
+#: original/man1/gawk.1:156
+msgid ""
+"Read the \\*(AK program source from the file I<program-file>, instead of "
+"from the first command line argument.  Multiple B<-f> (or B<-\\^-file>)  "
+"options may be used."
+msgstr ""
+"B<awk> への第 1 引数を用いるかわりに、\\*(AK プログラムをファイル I<program-"
+"file> から読み込みます。 B<-f> (または B<-\\^-file> ) オプションは複数回使 用"
+"することができます。"
 
 #. type: TP
-#: original/man1/gawk.1:93
+#: original/man1/gawk.1:156
 #, no-wrap
 msgid "B<-F>I< fs>"
 msgstr "B<-F>I< fs>"
 
 #. type: TP
-#: original/man1/gawk.1:96
+#: original/man1/gawk.1:159
 #, no-wrap
 msgid "B<-\\^-field-separator>I< fs>"
 msgstr "B<-\\^-field-separator>I< fs>"
 
 #. type: Plain text
-#: original/man1/gawk.1:105
+#: original/man1/gawk.1:168
 msgid ""
 "Use I<fs> for the input field separator (the value of the B<FS> predefined "
 "variable)."
 msgstr "入力フィールドセパレータ (変数 B<FS> の値)を I<fs> とします。"
 
 #. type: TP
-#: original/man1/gawk.1:105
+#: original/man1/gawk.1:168
 #, no-wrap
 msgid "B<-v>I< var>B<\\^=\\^>I<val>"
 msgstr "B<-v>I< var>B<\\^=\\^>I<val>"
 
 #. type: TP
-#: original/man1/gawk.1:108
+#: original/man1/gawk.1:171
 #, no-wrap
 msgid "B<-\\^-assign >I<var>B<\\^=\\^>I<val>"
 msgstr "B<-\\^-assign >I<var>B<\\^=\\^>I<val>"
 
 #. type: Plain text
-#: original/man1/gawk.1:119
+#: original/man1/gawk.1:182
 msgid ""
-"Assign the value I<val>, to the variable I<var>, before execution of the "
+"Assign the value I<val> to the variable I<var>, before execution of the "
 "program begins.  Such variable values are available to the B<BEGIN> block of "
 "an \\*(AK program."
 msgstr ""
@@ -230,151 +315,193 @@ msgstr ""
 "て設定 した変数は、 \\*(AK プログラムの B<BEGIN> ブロック内でも参照できます。"
 
 #. type: TP
-#: original/man1/gawk.1:119
+#: original/man1/gawk.1:209
 #, no-wrap
-msgid "B<-f>I< program-file>"
-msgstr "B<-f>I< program-file>"
+msgid "B<-b>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:122
+#: original/man1/gawk.1:212
 #, no-wrap
-msgid "B<-\\^-file>I< program-file>"
-msgstr "B<-\\^-file>I< program-file>"
+msgid "B<-\\^-characters-as-bytes>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:133
+#: original/man1/gawk.1:221
 msgid ""
-"Read the \\*(AK program source from the file I<program-file>, instead of "
-"from the first command line argument.  Multiple B<-f> (or B<-\\^-file>)  "
-"options may be used."
+"Treat all input data as single-byte characters. In other words, don't pay "
+"any attention to the locale information when attempting to process strings "
+"as multibyte characters.  The B<-\\^-posix> option overrides this one."
 msgstr ""
-"B<awk> への第 1 引数を用いるかわりに、\\*(AK プログラムをファイル I<program-"
-"file> から読み込みます。 B<-f> (または B<-\\^-file> ) オプションは複数回使 用"
-"することができます。"
 
 #. type: TP
-#: original/man1/gawk.1:133
+#: original/man1/gawk.1:221
 #, no-wrap
-msgid "B<-mf>I< NNN>"
-msgstr "B<-mf>I< NNN>"
+msgid "B<-c>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:136
+#: original/man1/gawk.1:224 original/man1/gawk.1:1803
 #, no-wrap
-msgid "B<-mr>I< NNN>"
-msgstr "B<-mr>I< NNN>"
+msgid "B<-\\^-traditional>"
+msgstr "B<-\\^-traditional>"
 
+#.  The use of
+#.  .B \-\^\-traditional
+#.  is preferred over the other forms of this option.
 #. type: Plain text
-#: original/man1/gawk.1:154
+#: original/man1/gawk.1:240
+#, fuzzy
+#| msgid ""
+#| "Run in I<compatibility> mode.  In compatibility mode, I<gawk> behaves "
+#| "identically to \\*(UX I<awk>; none of the \\*(GN-specific extensions are "
+#| "recognized.  The use of B<-\\^-traditional> is preferred over the other "
+#| "forms of this option.  See B<GNU EXTENSIONS>, below, for more information."
 msgid ""
-"Set various memory limits to the value I<NNN>.  The B<f> flag sets the "
-"maximum number of fields, and the B<r> flag sets the maximum record size.  "
-"These two flags and the B<-m> option are from the Bell Labs research version "
-"of \\*(UX I<awk>.  They are ignored by I<gawk>, since I<gawk> has no pre-"
-"defined limits."
+"Run in I<compatibility> mode.  In compatibility mode, I<gawk> behaves "
+"identically to \\*(UX I<awk>; none of the \\*(GN-specific extensions are "
+"recognized.  See B<GNU EXTENSIONS>, below, for more information."
 msgstr ""
-"さまざまなメモリの制限値を I<NNN> に設定します。フラグ B<f> は最大フィールド"
-"数、フラグ B<r> は最大レコードサイズを設定します。この 2 つのフラグと B<-m> "
-"オプションは、Bell Labs バージョンの \\*(UX I<awk> に由来しています。しか"
-"し、 I<gawk> にはこのような制限はありませんので、 I<gawk> では本オプションは"
-"無視されます。"
+"I<互換> モードで動作します。互換モードでは、 I<gawk> は \\*(UX I<awk> と等価"
+"な動作を行い、\\*(GN 独自拡張は解釈できません。 このオプションの他の形式より"
+"も、 B<-\\^-traditional> を使用することが好まれます。 詳しくは後述の B<GNU 拡"
+"張> を参照してください。"
 
 #. type: TP
-#: original/man1/gawk.1:154
+#: original/man1/gawk.1:240
 #, no-wrap
-msgid "B<-W traditional>"
-msgstr "B<-W traditional>"
+msgid "B<-C>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:157
+#: original/man1/gawk.1:243
 #, no-wrap
-msgid "B<-W compat>"
-msgstr "B<-W compat>"
+msgid "B<-\\^-copyright>"
+msgstr "B<-\\^-copyright>"
+
+#. type: Plain text
+#: original/man1/gawk.1:248
+msgid ""
+"Print the short version of the \\*(GN copyright information message on the "
+"standard output and exit successfully."
+msgstr ""
+"\\*(GN の著作権表示の短いバージョンを標準出力へ書き出し、 成功状態で終了しま"
+"す。"
 
 #. type: TP
-#: original/man1/gawk.1:160 original/man1/gawk.1:1277
+#: original/man1/gawk.1:248
 #, no-wrap
-msgid "B<-\\^-traditional>"
-msgstr "B<-\\^-traditional>"
+msgid "B<-d>[I<file>]"
+msgstr "B<-d>[I<file>]"
 
 #. type: TP
-#: original/man1/gawk.1:163
+#: original/man1/gawk.1:251
 #, no-wrap
-msgid "B<-\\^-compat>"
-msgstr "B<-\\^-compat>"
+msgid "B<-\\^-dump-variables>[B<=>I<file>]"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:179
+#: original/man1/gawk.1:263
 msgid ""
-"Run in I<compatibility> mode.  In compatibility mode, I<gawk> behaves "
-"identically to \\*(UX I<awk>; none of the \\*(GN-specific extensions are "
-"recognized.  The use of B<-\\^-traditional> is preferred over the other "
-"forms of this option.  See B<GNU EXTENSIONS>, below, for more information."
+"Print a sorted list of global variables, their types and final values to "
+"I<file>.  If no I<file> is provided, I<gawk> uses a file named B<awkvars."
+"out> in the current directory."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:274
+msgid ""
+"Having a list of all the global variables is a good way to look for "
+"typographical errors in your programs.  You would also use this option if "
+"you have a large program with a lot of functions, and you want to be sure "
+"that your functions don't inadvertently use global variables that you meant "
+"to be local.  (This is a particularly easy mistake to make with simple "
+"variable names like B<i>, B<j>, and so on.)"
 msgstr ""
-"I<互換> モードで動作します。互換モードでは、 I<gawk> は \\*(UX I<awk> と等価"
-"な動作を行い、\\*(GN 独自拡張は解釈できません。 このオプションの他の形式より"
-"も、 B<-\\^-traditional> を使用することが好まれます。 詳しくは後述の B<GNU 拡"
-"張> を参照してください。"
 
 #. type: TP
-#: original/man1/gawk.1:179
+#: original/man1/gawk.1:274
 #, no-wrap
-msgid "B<-W copyleft>"
-msgstr "B<-W copyleft>"
+msgid "B<-e >I<program-text>"
+msgstr "B<-e >I<program-text>"
 
 #. type: TP
-#: original/man1/gawk.1:182
+#: original/man1/gawk.1:277
 #, no-wrap
-msgid "B<-W copyright>"
-msgstr "B<-W copyright>"
+msgid "B<-\\^-source>I< program-text>"
+msgstr "B<-\\^-source>I< program-text>"
+
+#. type: Plain text
+#: original/man1/gawk.1:290
+msgid ""
+"Use I<program-text> as \\*(AK program source code.  This option allows the "
+"easy intermixing of library functions (used via the B<-f> and B<-\\^-file> "
+"options) with source code entered on the command line.  It is intended "
+"primarily for medium to large \\*(AK programs used in shell scripts."
+msgstr ""
+"I<program-text> を \\*(AK プログラムとして用います。本オプションにより、ライ"
+"ブラリ化された関数 ( B<-f> または B<-\\^-file> オプションを用いて読み込む) と"
+"コマンドラインから入力されたプログラムを 簡単に合成することができます。 これ"
+"は、主にシェルスクリプトで用いられる中規模から大規模な \\*(AK プログラム のた"
+"めに用意されました。"
 
 #. type: TP
-#: original/man1/gawk.1:185
+#: original/man1/gawk.1:290
 #, no-wrap
-msgid "B<-\\^-copyleft>"
-msgstr "B<-\\^-copyleft>"
+msgid "B<-E >I<file>"
+msgstr "B<-E >I<file>"
 
 #. type: TP
-#: original/man1/gawk.1:188
+#: original/man1/gawk.1:293
 #, no-wrap
-msgid "B<-\\^-copyright>"
-msgstr "B<-\\^-copyright>"
+msgid "B<-\\^-exec>I< file>"
+msgstr "B<-\\^-exec>I< file>"
 
 #. type: Plain text
-#: original/man1/gawk.1:193
+#: original/man1/gawk.1:305
 msgid ""
-"Print the short version of the \\*(GN copyright information message on the "
-"standard output, and exits successfully."
+"Similar to B<-f>, however, this is option is the last one processed.  This "
+"should be used with B<#!> scripts, particularly for CGI applications, to "
+"avoid passing in options or source code (!) on the command line from a URL.  "
+"This option disables command-line variable assignments."
 msgstr ""
-"\\*(GN の著作権表示の短いバージョンを標準出力へ書き出し、 成功状態で終了しま"
-"す。"
 
 #. type: TP
-#: original/man1/gawk.1:193
+#: original/man1/gawk.1:305
 #, no-wrap
-msgid "B<-W help>"
-msgstr "B<-W help>"
+msgid "B<-g>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:196
+#: original/man1/gawk.1:308
 #, no-wrap
-msgid "B<-W usage>"
-msgstr "B<-W usage>"
+msgid "B<-\\^-gen-pot>"
+msgstr "B<-\\^-gen-pot>"
+
+#. type: Plain text
+#: original/man1/gawk.1:321
+msgid ""
+"Scan and parse the \\*(AK program, and generate a \\*(GN B<\\&.pot> "
+"(Portable Object Template)  format file on standard output with entries for "
+"all localizable strings in the program.  The program itself is not "
+"executed.  See the \\*(GN I<gettext> distribution for more information on B<"
+"\\&.pot> files."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:199
+#: original/man1/gawk.1:321
 #, no-wrap
-msgid "B<-\\^-help>"
-msgstr "B<-\\^-help>"
+msgid "B<-h>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:202
+#: original/man1/gawk.1:324
 #, no-wrap
-msgid "B<-\\^-usage>"
-msgstr "B<-\\^-usage>"
+msgid "B<-\\^-help>"
+msgstr "B<-\\^-help>"
 
 #. type: Plain text
-#: original/man1/gawk.1:210
+#: original/man1/gawk.1:332
 msgid ""
 "Print a relatively short summary of the available options on the standard "
 "output.  (Per the I<GNU Coding Standards>, these options cause an immediate, "
@@ -385,84 +512,159 @@ msgstr ""
 "テータスを返します。)"
 
 #. type: TP
-#: original/man1/gawk.1:210
+#: original/man1/gawk.1:332
 #, no-wrap
-msgid "B<-W lint>"
-msgstr "B<-W lint>"
+msgid "B<-L >[I<value>]"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:213
+#: original/man1/gawk.1:335
 #, no-wrap
-msgid "B<-\\^-lint>"
-msgstr "B<-\\^-lint>"
+msgid "B<-\\^-lint>[B<=>I<value>]"
+msgstr "B<-\\^-lint>[B<=>I<value>]"
 
 #. type: Plain text
-#: original/man1/gawk.1:218
+#: original/man1/gawk.1:349
 msgid ""
 "Provide warnings about constructs that are dubious or non-portable to other "
-"\\*(AK implementations."
+"\\*(AK implementations.  With an optional argument of B<fatal>, lint "
+"warnings become fatal errors.  This may be drastic, but its use will "
+"certainly encourage the development of cleaner \\*(AK programs.  With an "
+"optional argument of B<invalid>, only warnings about things that are "
+"actually invalid are issued. (This is not fully implemented yet.)"
 msgstr ""
-"他の \\*(AK での処理が疑わしい、あるいは他の \\*(AK との互換性がない構造が あ"
-"る場合に警告を行います。"
 
 #. type: TP
-#: original/man1/gawk.1:218
+#: original/man1/gawk.1:349
 #, no-wrap
-msgid "B<-W lint-old>"
-msgstr "B<-W lint-old>"
+msgid "B<-n>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:221
+#: original/man1/gawk.1:352
 #, no-wrap
-msgid "B<-\\^-lint-old>"
-msgstr "B<-\\^-lint-old>"
+msgid "B<-\\^-non-decimal-data>"
+msgstr "B<-\\^-non-decimal-data>"
 
 #. type: Plain text
-#: original/man1/gawk.1:227
+#: original/man1/gawk.1:357
 msgid ""
-"Provide warnings about constructs that are not portable to the original "
-"version of Unix I<awk>."
-msgstr "オリジナルの Unix I<awk> へ移植できない構造に関して警告を行います。"
+"Recognize octal and hexadecimal values in input data.  I<Use this option "
+"with great caution!>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:357
+#, no-wrap
+msgid "B<-N>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:360
+#, no-wrap
+msgid "B<-\\^-use-lc-numeric>"
+msgstr "B<-\\^-use-lc-numeric>"
+
+#. type: Plain text
+#: original/man1/gawk.1:376
+msgid ""
+"This forces I<gawk> to use the locale's decimal point character when parsing "
+"input data.  Although the POSIX standard requires this behavior, and I<gawk> "
+"does so when B<-\\^-posix> is in effect, the default is to follow "
+"traditional behavior and use a period as the decimal point, even in locales "
+"where the period is not the decimal point character.  This option overrides "
+"the default behavior, without the full draconian strictness of the B<-\\^-"
+"posix> option."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:388
+#, no-wrap
+msgid "B<-O>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:391
+#, no-wrap
+msgid "B<-\\^-optimize>"
+msgstr "B<-\\^-optimize>"
+
+#. type: Plain text
+#: original/man1/gawk.1:398
+msgid ""
+"Enable optimizations upon the internal representation of the program.  "
+"Currently, this includes just simple constant-folding. The I<gawk> "
+"maintainer hopes to add additional optimizations over time."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:239
+#: original/man1/gawk.1:398
+#, no-wrap
+msgid "B<-p>[I<prof_file>]"
+msgstr "B<-p>[I<prof_file>]"
+
+#. type: TP
+#: original/man1/gawk.1:401
+#, no-wrap
+msgid "B<-\\^-profile>[B<=>I<prof_file>]"
+msgstr "B<-\\^-profile>[B<=>I<prof_file>]"
+
+#. type: Plain text
+#: original/man1/gawk.1:415
+msgid ""
+"Send profiling data to I<prof_file>.  The default is B<awkprof.out>.  When "
+"run with I<gawk>, the profile is just a ``pretty printed'' version of the "
+"program.  When run with I<pgawk>, the profile contains execution counts of "
+"each statement in the program in the left margin and function call counts "
+"for each user-defined function."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:415
 #, no-wrap
-msgid "B<-W posix>"
-msgstr "B<-W posix>"
+msgid "B<-P>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:242 original/man1/gawk.1:1269
+#: original/man1/gawk.1:418 original/man1/gawk.1:1796
 #, no-wrap
 msgid "B<-\\^-posix>"
 msgstr "B<-\\^-posix>"
 
 #. type: Plain text
-#: original/man1/gawk.1:248
+#: original/man1/gawk.1:424
 msgid ""
 "This turns on I<compatibility> mode, with the following additional "
 "restrictions:"
 msgstr "I<互換> モードをオンにし、更に以下の制約が課せられます。"
 
 #. type: TP
-#: original/man1/gawk.1:249 original/man1/gawk.1:253 original/man1/gawk.1:258
-#: original/man1/gawk.1:265 original/man1/gawk.1:275 original/man1/gawk.1:2343
-#: original/man1/gawk.1:2350 original/man1/gawk.1:2357
-#: original/man1/gawk.1:2365 original/man1/gawk.1:2368
-#: original/man1/gawk.1:2376 original/man1/gawk.1:2381
-#: original/man1/gawk.1:2386 original/man1/gawk.1:2391
-#: original/man1/gawk.1:2398 original/man1/gawk.1:2405
-#: original/man1/gawk.1:2410
+#: original/man1/gawk.1:425 original/man1/gawk.1:429 original/man1/gawk.1:434
+#: original/man1/gawk.1:440 original/man1/gawk.1:447 original/man1/gawk.1:457
+#: original/man1/gawk.1:3338 original/man1/gawk.1:3346
+#: original/man1/gawk.1:3352 original/man1/gawk.1:3359
+#: original/man1/gawk.1:3366 original/man1/gawk.1:3374
+#: original/man1/gawk.1:3378 original/man1/gawk.1:3389
+#: original/man1/gawk.1:3394 original/man1/gawk.1:3399
+#: original/man1/gawk.1:3404 original/man1/gawk.1:3410
+#: original/man1/gawk.1:3415 original/man1/gawk.1:3418
+#: original/man1/gawk.1:3423 original/man1/gawk.1:3431
+#: original/man1/gawk.1:3438 original/man1/gawk.1:3443
+#: original/man1/gawk.1:3448 original/man1/gawk.1:3453
+#: original/man1/gawk.1:3459 original/man1/gawk.1:3464
+#: original/man1/gawk.1:3469 original/man1/gawk.1:3475
+#: original/man1/gawk.1:3498 original/man1/gawk.1:3502
 #, no-wrap
 msgid "\\(bu"
 msgstr "\\(bu"
 
 #. type: Plain text
-#: original/man1/gawk.1:253
+#: original/man1/gawk.1:429
 msgid "B<\\ex> escape sequences are not recognized."
 msgstr "B<\\ex> エスケープシーケンスを解釈しません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:258
+#: original/man1/gawk.1:434
 msgid ""
 "Only space and tab act as field separators when B<FS> is set to a single "
 "space, newline does not."
@@ -471,44 +673,56 @@ msgstr ""
 "はフィールドを区切りません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:265
+#: original/man1/gawk.1:440
+msgid "You cannot continue lines after B<?> and B<:>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:447
 msgid "The synonym B<func> for the keyword B<function> is not recognized."
 msgstr "キーワード B<function> に対応する別名 B<func> を解釈しません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:275
+#: original/man1/gawk.1:457
 msgid ""
 "The operators B<**> and B<**=> cannot be used in place of B<^> and B<^=>."
 msgstr ""
 "演算子 B<^> や B<^=> のかわりに B<**> や B<**=> を用いることができません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:280
+#: original/man1/gawk.1:462
 msgid "The B<fflush()> function is not available."
 msgstr "B<fflush()> 関数は利用できません。"
 
 #. type: TP
-#: original/man1/gawk.1:281
+#: original/man1/gawk.1:463
 #, no-wrap
-msgid "B<-W re-interval>"
-msgstr "B<-W re-interval>"
+msgid "B<-r>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:284 original/man1/gawk.1:1288
+#: original/man1/gawk.1:466 original/man1/gawk.1:1811
 #, no-wrap
 msgid "B<-\\^-re-interval>"
 msgstr "B<-\\^-re-interval>"
 
 #. type: Plain text
-#: original/man1/gawk.1:305
+#: original/man1/gawk.1:483
+#, fuzzy
+#| msgid ""
+#| "Enable the use of I<interval expressions> in regular expression matching "
+#| "(see B<Regular Expressions>, below).  Interval expressions were not "
+#| "traditionally available in the \\*(AK language.  The \\*(PX standard "
+#| "added them, to make I<awk> and I<egrep> consistent with each other.  "
+#| "However, their use is likely to break old \\*(AK programs, so I<gawk> "
+#| "only provides them if they are requested with this option, or when B<-\\^-"
+#| "posix> is specified."
 msgid ""
 "Enable the use of I<interval expressions> in regular expression matching "
 "(see B<Regular Expressions>, below).  Interval expressions were not "
 "traditionally available in the \\*(AK language.  The \\*(PX standard added "
-"them, to make I<awk> and I<egrep> consistent with each other.  However, "
-"their use is likely to break old \\*(AK programs, so I<gawk> only provides "
-"them if they are requested with this option, or when B<-\\^-posix> is "
-"specified."
+"them, to make I<awk> and I<egrep> consistent with each other.  They are "
+"enabled by default, but this option remains for use with B<-\\^-traditional>."
 msgstr ""
 "正規表現のマッチングで I<インターバル表現 (interval expressions)> を有効にし"
 "ます (後述の B<正規表現> を参照してください)。 インターバル表現は伝統的な \\*"
@@ -519,45 +733,77 @@ msgstr ""
 "します。"
 
 #. type: TP
-#: original/man1/gawk.1:305
+#: original/man1/gawk.1:483
 #, no-wrap
-msgid "B<-W source >I<program-text>"
-msgstr "B<-W source >I<program-text>"
+msgid "B<-R>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:308
+#: original/man1/gawk.1:486
 #, no-wrap
-msgid "B<-\\^-source>I< program-text>"
-msgstr "B<-\\^-source>I< program-text>"
+msgid "B<-\\^-command>I< file>"
+msgstr "B<-\\^-command>I< file>"
 
 #. type: Plain text
-#: original/man1/gawk.1:321
+#: original/man1/gawk.1:492
+msgid "I<Dgawk> only.  Read stored debugger commands from I<file>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:492
+#, no-wrap
+msgid "B<-S>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:495
+#, no-wrap
+msgid "B<-\\^-sandbox>"
+msgstr "B<-\\^-sandbox>"
+
+#. type: Plain text
+#: original/man1/gawk.1:510
 msgid ""
-"Use I<program-text> as \\*(AK program source code.  This option allows the "
-"easy intermixing of library functions (used via the B<-f> and B<-\\^-file> "
-"options) with source code entered on the command line.  It is intended "
-"primarily for medium to large \\*(AK programs used in shell scripts."
+"Runs I<gawk> in sandbox mode, disabling the B<system()> function, input "
+"redirection with B<getline>, output redirection with B<print> and B<printf>, "
+"and loading dynamic extensions.  Command execution (through pipelines) is "
+"also disabled.  This effectively blocks a script from accessing local "
+"resources (except for the files specified on the command line)."
 msgstr ""
-"I<program-text> を \\*(AK プログラムとして用います。本オプションにより、ライ"
-"ブラリ化された関数 ( B<-f> または B<-\\^-file> オプションを用いて読み込む) と"
-"コマンドラインから入力されたプログラムを 簡単に合成することができます。 これ"
-"は、主にシェルスクリプトで用いられる中規模から大規模な \\*(AK プログラム のた"
-"めに用意されました。"
 
 #. type: TP
-#: original/man1/gawk.1:321
+#: original/man1/gawk.1:510
 #, no-wrap
-msgid "B<-W version>"
-msgstr "B<-W version>"
+msgid "B<-t>"
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:324
+#: original/man1/gawk.1:513
+#, no-wrap
+msgid "B<-\\^-lint-old>"
+msgstr "B<-\\^-lint-old>"
+
+#. type: Plain text
+#: original/man1/gawk.1:519
+msgid ""
+"Provide warnings about constructs that are not portable to the original "
+"version of Unix I<awk>."
+msgstr "オリジナルの Unix I<awk> へ移植できない構造に関して警告を行います。"
+
+#. type: TP
+#: original/man1/gawk.1:519
+#, no-wrap
+msgid "B<-V>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:522
 #, no-wrap
 msgid "B<-\\^-version>"
 msgstr "B<-\\^-version>"
 
 #. type: Plain text
-#: original/man1/gawk.1:339
+#: original/man1/gawk.1:537
 msgid ""
 "Print version information for this particular copy of I<gawk> on the "
 "standard output.  This is useful mainly for knowing if the current copy of "
@@ -574,26 +820,39 @@ msgstr ""
 "タスを返します。)"
 
 #. type: TP
-#: original/man1/gawk.1:339
+#: original/man1/gawk.1:537
 #, no-wrap
 msgid "B<-\\^->"
 msgstr "B<-\\^->"
 
 #. type: Plain text
-#: original/man1/gawk.1:345
+#: original/man1/gawk.1:543
+#, fuzzy
+#| msgid ""
+#| "Signal the end of options.  This is useful to allow further arguments to "
+#| "the \\*(AK program itself to start with a ``-''.  This is mainly for "
+#| "consistency with the argument parsing convention used by most other \\*"
+#| "(PX programs."
 msgid ""
-"Signal the end of options.  This is useful to allow further arguments to the "
-"\\*(AK program itself to start with a ``-''.  This is mainly for consistency "
-"with the argument parsing convention used by most other \\*(PX programs."
+"Signal the end of options. This is useful to allow further arguments to the "
+"\\*(AK program itself to start with a ``-''.  This provides consistency with "
+"the argument parsing convention used by most other \\*(PX programs."
 msgstr ""
 "オプションの終了を意味します。\\*(AK プログラムに ``-'' から始まるオプション"
 "ではない 引数を与える場合に便利です。 これは、主に他の \\*(PX プログラムの多"
 "くが引数に対して行う解釈と 一貫性を保つためにあります。"
 
 #. type: Plain text
-#: original/man1/gawk.1:353
+#: original/man1/gawk.1:551
+#, fuzzy
+#| msgid ""
+#| "In compatibility mode, any other options are flagged as illegal, but are "
+#| "otherwise ignored.  In normal operation, as long as program text has been "
+#| "supplied, unknown options are passed on to the \\*(AK program in the "
+#| "B<ARGV> array for processing.  This is particularly useful for running \\*"
+#| "(AK programs via the ``#!'' executable interpreter mechanism."
 msgid ""
-"In compatibility mode, any other options are flagged as illegal, but are "
+"In compatibility mode, any other options are flagged as invalid, but are "
 "otherwise ignored.  In normal operation, as long as program text has been "
 "supplied, unknown options are passed on to the \\*(AK program in the B<ARGV> "
 "array for processing.  This is particularly useful for running \\*(AK "
@@ -605,13 +864,13 @@ msgstr ""
 "(AK プログラムを ``#!'' 機構を用いて実行する場合に特に便利です。"
 
 #. type: SH
-#: original/man1/gawk.1:353
+#: original/man1/gawk.1:551
 #, no-wrap
 msgid "AWK PROGRAM EXECUTION"
 msgstr "AWK プログラムの実行"
 
 #. type: Plain text
-#: original/man1/gawk.1:357
+#: original/man1/gawk.1:555
 msgid ""
 "An \\*(AK program consists of a sequence of pattern-action statements and "
 "optional function definitions."
@@ -620,23 +879,35 @@ msgstr ""
 "か らなります。"
 
 #. type: Plain text
-#: original/man1/gawk.1:360
-msgid "I<pattern>B<\t{ >I<action statements>B< }>"
-msgstr "I<pattern>B<\t{ >I<action statements>B< }>"
+#: original/man1/gawk.1:559
+msgid ""
+"B<@include \">I<filename>B<\" >I<pattern>B<\t{ >I<action statements>B< }>"
+msgstr "B<@include \">I<filename>B<\" >I<pattern>B<\t{ >I<action statements>B< }>"
 
 #. type: Plain text
-#: original/man1/gawk.1:362
+#: original/man1/gawk.1:561
 msgid "B<function >I<name>B<(>I<parameter list>B<) { >I<statements>B< }>"
 msgstr "B<function >I<name>B<(>I<parameter list>B<) { >I<statements>B< }>"
 
 #. type: Plain text
-#: original/man1/gawk.1:384
+#: original/man1/gawk.1:583
+#, fuzzy
+#| msgid ""
+#| "I<Gawk> first reads the program source from the I<program-file>(s)  if "
+#| "specified, from arguments to B<-\\^-source>, or from the first non-option "
+#| "argument on the command line.  The B<-f> and B<-\\^-source> options may "
+#| "be used multiple times on the command line.  I<Gawk> will read the "
+#| "program text as if all the I<program-file>s and command line source texts "
+#| "had been concatenated together.  This is useful for building libraries of "
+#| "\\*(AK functions, without having to include them in each new \\*(AK "
+#| "program that uses them.  It also provides the ability to mix library "
+#| "functions with command line programs."
 msgid ""
 "I<Gawk> first reads the program source from the I<program-file>(s)  if "
 "specified, from arguments to B<-\\^-source>, or from the first non-option "
 "argument on the command line.  The B<-f> and B<-\\^-source> options may be "
-"used multiple times on the command line.  I<Gawk> will read the program text "
-"as if all the I<program-file>s and command line source texts had been "
+"used multiple times on the command line.  I<Gawk> reads the program text as "
+"if all the I<program-file>s and command line source texts had been "
 "concatenated together.  This is useful for building libraries of \\*(AK "
 "functions, without having to include them in each new \\*(AK program that "
 "uses them.  It also provides the ability to mix library functions with "
@@ -652,7 +923,14 @@ msgstr ""
 "混合して使 うことも可能にしています。"
 
 #. type: Plain text
-#: original/man1/gawk.1:398
+#: original/man1/gawk.1:588
+msgid ""
+"In addition, lines beginning with B<@include> may be used to include other "
+"source files into your program, making library use even easier."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:602
 msgid ""
 "The environment variable B<AWKPATH> specifies a search path to use when "
 "finding source files named with the B<-f> option.  If this variable does not "
@@ -669,14 +947,22 @@ msgstr ""
 "ん。"
 
 #. type: Plain text
-#: original/man1/gawk.1:420
+#: original/man1/gawk.1:625
+#, fuzzy
+#| msgid ""
+#| "I<Gawk> executes \\*(AK programs in the following order.  First, all "
+#| "variable assignments specified via the B<-v> option are performed.  Next, "
+#| "I<gawk> compiles the program into an internal form.  Then, I<gawk> "
+#| "executes the code in the B<BEGIN> block(s) (if any), and then proceeds to "
+#| "read each file named in the B<ARGV> array.  If there are no files named "
+#| "on the command line, I<gawk> reads the standard input."
 msgid ""
 "I<Gawk> executes \\*(AK programs in the following order.  First, all "
 "variable assignments specified via the B<-v> option are performed.  Next, "
 "I<gawk> compiles the program into an internal form.  Then, I<gawk> executes "
 "the code in the B<BEGIN> block(s) (if any), and then proceeds to read each "
-"file named in the B<ARGV> array.  If there are no files named on the command "
-"line, I<gawk> reads the standard input."
+"file named in the B<ARGV> array (up to B<ARGV[ARGC]>).  If there are no "
+"files named on the command line, I<gawk> reads the standard input."
 msgstr ""
 "I<gawk> は、 \\*(AK プログラムを次の順序で実行します。 まず、 B<-v> オプショ"
 "ンで指定された変数への代入をすべて行います。 次に、プログラムを内部形式にコン"
@@ -686,7 +972,7 @@ msgstr ""
 "す)。"
 
 #. type: Plain text
-#: original/man1/gawk.1:435
+#: original/man1/gawk.1:640
 msgid ""
 "If a filename on the command line has the form I<var>B<=>I<val> it is "
 "treated as a variable assignment.  The variable I<var> will be assigned the "
@@ -704,7 +990,7 @@ msgstr ""
 "回処理を行う必要がある場合、状態をコントロールするのにも便利です。"
 
 #. type: Plain text
-#: original/man1/gawk.1:441
+#: original/man1/gawk.1:646
 msgid ""
 "If the value of a particular element of B<ARGV> is empty (B<\"\">), I<gawk> "
 "skips over it."
@@ -713,7 +999,16 @@ msgstr ""
 "す。"
 
 #. type: Plain text
-#: original/man1/gawk.1:451
+#: original/man1/gawk.1:659
+msgid ""
+"For each input file, if a B<BEGINFILE> rule exists, I<gawk> executes the "
+"associated code before processing the contents of the file. Similarly, "
+"I<gawk> executes the code associated with B<ENDFILE> after processing the "
+"file."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:669
 msgid ""
 "For each record in the input, I<gawk> tests to see if it matches any "
 "I<pattern> in the \\*(AK program.  For each pattern that the record matches, "
@@ -726,7 +1021,7 @@ msgstr ""
 "ムテキストに出現した順序で検索されます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:457
+#: original/man1/gawk.1:675
 msgid ""
 "Finally, after all the input is exhausted, I<gawk> executes the code in the "
 "B<END> block(s) (if any)."
@@ -734,20 +1029,51 @@ msgstr ""
 "入力が尽きると、 I<gawk> は (もしあれば)  B<END> ブロック (複数存在可) を実行"
 "します。"
 
-#. type: SH
-#: original/man1/gawk.1:457
+#. type: SS
+#: original/man1/gawk.1:675
 #, no-wrap
-msgid "VARIABLES, RECORDS AND FIELDS"
+msgid "Command Line Directories"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:684
+msgid ""
+"According to POSIX, files named on the I<awk> command line must be text "
+"files.  The behavior is ``undefined'' if they are not.  Most versions of "
+"I<awk> treat a directory on the command line as a fatal error."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:696
+msgid ""
+"Starting with version 4.0 of I<gawk>, a directory on the command line "
+"produces a warning, but is otherwise skipped.  If either of the B<-\\^-"
+"posix> or B<-\\^-traditional> options is given, then I<gawk> reverts to "
+"treating directories on the command line as a fatal error."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:696
+#, no-wrap
+msgid "VARIABLES, RECORDS AND FIELDS"
 msgstr "変数、レコード、フィールド"
 
 #. type: Plain text
-#: original/man1/gawk.1:465
+#: original/man1/gawk.1:704
+#, fuzzy
+#| msgid ""
+#| "\\*(AK variables are dynamic; they come into existence when they are "
+#| "first used.  Their values are either floating-point numbers or strings, "
+#| "or both, depending upon how they are used.  \\*(AK also has one "
+#| "dimensional arrays; arrays with multiple dimensions may be simulated.  "
+#| "Several pre-defined variables are set as a program runs; these will be "
+#| "described as needed and summarized below."
 msgid ""
 "\\*(AK variables are dynamic; they come into existence when they are first "
 "used.  Their values are either floating-point numbers or strings, or both, "
 "depending upon how they are used.  \\*(AK also has one dimensional arrays; "
 "arrays with multiple dimensions may be simulated.  Several pre-defined "
-"variables are set as a program runs; these will be described as needed and "
+"variables are set as a program runs; these are described as needed and "
 "summarized below."
 msgstr ""
 "\\*(AK における変数は動的、すなわち、最初に使用されたときに生成されます。 変"
@@ -757,19 +1083,31 @@ msgstr ""
 "定義済み変数が設定されます。 これらを必要に応じて説明し、以下でまとめます。"
 
 #. type: SS
-#: original/man1/gawk.1:465
+#: original/man1/gawk.1:704
 #, no-wrap
 msgid "Records"
 msgstr "レコード"
 
 #. type: Plain text
-#: original/man1/gawk.1:489
+#: original/man1/gawk.1:728
+#, fuzzy
+#| msgid ""
+#| "Normally, records are separated by newline characters.  You can control "
+#| "how records are separated by assigning values to the built-in variable "
+#| "B<RS>.  If B<RS> is any single character, that character separates "
+#| "records.  Otherwise, B<RS> is a regular expression.  Text in the input "
+#| "that matches this regular expression will separate the record.  However, "
+#| "in compatibility mode, only the first character of its string value is "
+#| "used for separating records.  If B<RS> is set to the null string, then "
+#| "records are separated by blank lines.  When B<RS> is set to the null "
+#| "string, the newline character always acts as a field separator, in "
+#| "addition to whatever value B<FS> may have."
 msgid ""
 "Normally, records are separated by newline characters.  You can control how "
 "records are separated by assigning values to the built-in variable B<RS>.  "
 "If B<RS> is any single character, that character separates records.  "
 "Otherwise, B<RS> is a regular expression.  Text in the input that matches "
-"this regular expression will separate the record.  However, in compatibility "
+"this regular expression separates the record.  However, in compatibility "
 "mode, only the first character of its string value is used for separating "
 "records.  If B<RS> is set to the null string, then records are separated by "
 "blank lines.  When B<RS> is set to the null string, the newline character "
@@ -786,13 +1124,25 @@ msgstr ""
 "行文字は常にフィールドセパレータとなります。"
 
 #. type: SS
-#: original/man1/gawk.1:489
+#: original/man1/gawk.1:728
 #, no-wrap
 msgid "Fields"
 msgstr "フィールド"
 
 #. type: Plain text
-#: original/man1/gawk.1:522
+#: original/man1/gawk.1:762
+#, fuzzy
+#| msgid ""
+#| "As each input record is read, I<gawk> splits the record into I<fields>, "
+#| "using the value of the B<FS> variable as the field separator.  If B<FS> "
+#| "is a single character, fields are separated by that character.  If B<FS> "
+#| "is the null string, then each individual character becomes a separate "
+#| "field.  Otherwise, B<FS> is expected to be a full regular expression.  In "
+#| "the special case that B<FS> is a single space, fields are separated by "
+#| "runs of spaces and/or tabs and/or newlines.  (But see the discussion of "
+#| "B<-\\^-posix>, below).  Note that the value of B<IGNORECASE> (see below) "
+#| "will also affect how fields are split when B<FS> is a regular expression, "
+#| "and how records are separated when B<RS> is a regular expression."
 msgid ""
 "As each input record is read, I<gawk> splits the record into I<fields>, "
 "using the value of the B<FS> variable as the field separator.  If B<FS> is a "
@@ -800,10 +1150,10 @@ msgid ""
 "null string, then each individual character becomes a separate field.  "
 "Otherwise, B<FS> is expected to be a full regular expression.  In the "
 "special case that B<FS> is a single space, fields are separated by runs of "
-"spaces and/or tabs and/or newlines.  (But see the discussion of B<-\\^-"
-"posix>, below).  Note that the value of B<IGNORECASE> (see below) will also "
-"affect how fields are split when B<FS> is a regular expression, and how "
-"records are separated when B<RS> is a regular expression."
+"spaces and/or tabs and/or newlines.  (But see the section B<POSIX "
+"COMPATIBILITY>, below).  B<NOTE>: The value of B<IGNORECASE> (see below) "
+"also affects how fields are split when B<FS> is a regular expression, and "
+"how records are separated when B<RS> is a regular expression."
 msgstr ""
 "入力レコードを読み込むごとに、 I<gawk> はそのレコードを I<フィールド> に分割"
 "しま す。分割する際には、変数 B<FS> の値がフィールドセパレータとして参照され"
@@ -817,13 +1167,19 @@ msgstr ""
 "意してください。"
 
 #. type: Plain text
-#: original/man1/gawk.1:536
+#: original/man1/gawk.1:777
+#, fuzzy
+#| msgid ""
+#| "If the B<FIELDWIDTHS> variable is set to a space separated list of "
+#| "numbers, each field is expected to have fixed width, and I<gawk> will "
+#| "split up the record using the specified widths.  The value of B<FS> is "
+#| "ignored.  Assigning a new value to B<FS> overrides the use of "
+#| "B<FIELDWIDTHS>, and restores the default behavior."
 msgid ""
 "If the B<FIELDWIDTHS> variable is set to a space separated list of numbers, "
-"each field is expected to have fixed width, and I<gawk> will split up the "
-"record using the specified widths.  The value of B<FS> is ignored.  "
-"Assigning a new value to B<FS> overrides the use of B<FIELDWIDTHS>, and "
-"restores the default behavior."
+"each field is expected to have fixed width, and I<gawk> splits up the record "
+"using the specified widths.  The value of B<FS> is ignored.  Assigning a new "
+"value to B<FS> or B<FPAT> overrides the use of B<FIELDWIDTHS>."
 msgstr ""
 "変数 B<FIELDWIDTHS> の値が空白で区切られた数字の列である場合、各フィールドは "
 "固定長であると解釈され、 I<gawk> は指定された幅ごとにフィールドの 分割を行い"
@@ -831,11 +1187,26 @@ msgstr ""
 "より、この B<FIELDWIDTHS> の効果を打ち消し、標準の動作に戻すことができます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:544
+#: original/man1/gawk.1:790
+msgid ""
+"Similarly, if the B<FPAT> variable is set to a string representing a regular "
+"expression, each field is made up of text that matches that regular "
+"expression. In this case, the regular expression describes the fields "
+"themselves, instead of the text that separates the fields.  Assigning a new "
+"value to B<FS> or B<FIELDWIDTHS> overrides the use of B<FPAT>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:798
+#, fuzzy
+#| msgid ""
+#| "Each field in the input record may be referenced by its position, B<$1>, "
+#| "B<$2>, and so on.  B<$0> is the whole record.  The value of a field may "
+#| "be assigned to as well.  Fields need not be referenced by constants:"
 msgid ""
 "Each field in the input record may be referenced by its position, B<$1>, B<"
-"$2>, and so on.  B<$0> is the whole record.  The value of a field may be "
-"assigned to as well.  Fields need not be referenced by constants:"
+"$2>, and so on.  B<$0> is the whole record.  Fields need not be referenced "
+"by constants:"
 msgstr ""
 "入力レコード中の各フィールドの値は、左から B<$1>, B<$2> 等という名前で参照で"
 "きます。 B<$0> は レコード全体です。フィールドに値を代入することもできます。"
@@ -843,34 +1214,54 @@ msgstr ""
 "は、入力レコードの 5 番目のフィールドの値を出力します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:548
+#: original/man1/gawk.1:802
 msgid "B<n = 5>"
 msgstr "B<n = 5>"
 
 #. type: Plain text
-#: original/man1/gawk.1:550
+#: original/man1/gawk.1:804
 msgid "B<print $n>"
 msgstr "B<print $n>"
 
 #. type: Plain text
-#: original/man1/gawk.1:557
+#: original/man1/gawk.1:808
+#, fuzzy
+#| msgid "The number of fields in the current input record."
+msgid "prints the fifth field in the input record."
+msgstr "現在の入力レコードのフィールド数。"
+
+#. type: Plain text
+#: original/man1/gawk.1:812
+#, fuzzy
+#| msgid ""
+#| "prints the fifth field in the input record.  The variable B<NF> is set to "
+#| "the total number of fields in the input record."
 msgid ""
-"prints the fifth field in the input record.  The variable B<NF> is set to "
-"the total number of fields in the input record."
+"The variable B<NF> is set to the total number of fields in the input record."
 msgstr "変数 NF は、自動的に入力レコードのフィールドの数に設定されます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:577
+#: original/man1/gawk.1:832
+#, fuzzy
+#| msgid ""
+#| "References to non-existent fields (i.e. fields after B<$NF>)  produce the "
+#| "null-string.  However, assigning to a non-existent field (e.g., B<$(NF+2) "
+#| "= 5>)  will increase the value of B<NF>, create any intervening fields "
+#| "with the null string as their value, and cause the value of B<$0> to be "
+#| "recomputed, with the fields being separated by the value of B<OFS>.  "
+#| "References to negative numbered fields cause a fatal error.  Decrementing "
+#| "B<NF> causes the values of fields past the new value to be lost, and the "
+#| "value of B<$0> to be recomputed, with the fields being separated by the "
+#| "value of B<OFS>."
 msgid ""
 "References to non-existent fields (i.e. fields after B<$NF>)  produce the "
 "null-string.  However, assigning to a non-existent field (e.g., B<$(NF+2) = "
-"5>)  will increase the value of B<NF>, create any intervening fields with "
-"the null string as their value, and cause the value of B<$0> to be "
-"recomputed, with the fields being separated by the value of B<OFS>.  "
-"References to negative numbered fields cause a fatal error.  Decrementing "
-"B<NF> causes the values of fields past the new value to be lost, and the "
-"value of B<$0> to be recomputed, with the fields being separated by the "
-"value of B<OFS>."
+"5>)  increases the value of B<NF>, creates any intervening fields with the "
+"null string as their value, and causes the value of B<$0> to be recomputed, "
+"with the fields being separated by the value of B<OFS>.  References to "
+"negative numbered fields cause a fatal error.  Decrementing B<NF> causes the "
+"values of fields past the new value to be lost, and the value of B<$0> to be "
+"recomputed, with the fields being separated by the value of B<OFS>."
 msgstr ""
 "存在しないフィールド (すなわち、 B<$NF> より右のフィールド) を参照した結果は "
 "空文字列になります。しかしながら、存在しないフィールドへの代入(たとえ ば、 B<"
@@ -881,25 +1272,33 @@ msgstr ""
 "B<$0> の値は、フィールドの値を変数 B<OFS> の値でフィールドを区切ったものとし"
 "て再計算されます。"
 
+#. type: Plain text
+#: original/man1/gawk.1:841
+msgid ""
+"Assigning a value to an existing field causes the whole record to be rebuilt "
+"when B<$0> is referenced.  Similarly, assigning a value to B<$0> causes the "
+"record to be resplit, creating new values for the fields."
+msgstr ""
+
 #. type: SS
-#: original/man1/gawk.1:577
+#: original/man1/gawk.1:841
 #, no-wrap
 msgid "Built-in Variables"
 msgstr "組み込み変数"
 
 #. type: Plain text
-#: original/man1/gawk.1:581
-msgid "I<Gawk>'s built-in variables are:"
-msgstr "I<gawk> の組み込み変数は以下のとおりです。"
+#: original/man1/gawk.1:845
+msgid "I<Gawk\\^>'s built-in variables are:"
+msgstr "I<gawk\\^> の組み込み変数は以下のとおりです。"
 
 #. type: TP
-#: original/man1/gawk.1:582
+#: original/man1/gawk.1:846
 #, no-wrap
 msgid "B<ARGC>"
 msgstr "B<ARGC>"
 
 #. type: Plain text
-#: original/man1/gawk.1:587
+#: original/man1/gawk.1:851
 msgid ""
 "The number of command line arguments (does not include options to I<gawk>, "
 "or the program source)."
@@ -908,24 +1307,24 @@ msgstr ""
 "せん)。"
 
 #. type: TP
-#: original/man1/gawk.1:587
+#: original/man1/gawk.1:851
 #, no-wrap
 msgid "B<ARGIND>"
 msgstr "B<ARGIND>"
 
 #. type: Plain text
-#: original/man1/gawk.1:592
+#: original/man1/gawk.1:856
 msgid "The index in B<ARGV> of the current file being processed."
 msgstr "現在処理中のファイル名が格納されている配列 B<ARGV> のインデックス。"
 
 #. type: TP
-#: original/man1/gawk.1:592
+#: original/man1/gawk.1:856
 #, no-wrap
 msgid "B<ARGV>"
 msgstr "B<ARGV>"
 
 #. type: Plain text
-#: original/man1/gawk.1:601
+#: original/man1/gawk.1:865
 msgid ""
 "Array of command line arguments.  The array is indexed from 0 to B<ARGC> - "
 "1.  Dynamically changing the contents of B<ARGV> can control the files used "
@@ -936,32 +1335,56 @@ msgstr ""
 "とができます。"
 
 #. type: TP
-#: original/man1/gawk.1:601
+#: original/man1/gawk.1:865
+#, no-wrap
+msgid "B<BINMODE>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:875
+msgid ""
+"On non-POSIX systems, specifies use of ``binary'' mode for all file I/O.  "
+"Numeric values of 1, 2, or 3, specify that input files, output files, or all "
+"files, respectively, should use binary I/O.  String values of B<\"r\">, or B<"
+"\"w\"> specify that input files, or output files, respectively, should use "
+"binary I/O.  String values of B<\"rw\"> or B<\"wr\"> specify that all files "
+"should use binary I/O.  Any other string value is treated as B<\"rw\">, but "
+"generates a warning message."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:875
 #, no-wrap
 msgid "B<CONVFMT>"
 msgstr "B<CONVFMT>"
 
 #. type: Plain text
-#: original/man1/gawk.1:604
+#: original/man1/gawk.1:878
 msgid "The conversion format for numbers, B<\"%.6g\">, by default."
 msgstr "数値の変換フォーマット。デフォルト値は B<\"%.6g\"> です。"
 
 #. type: TP
-#: original/man1/gawk.1:604
+#: original/man1/gawk.1:878
 #, no-wrap
 msgid "B<ENVIRON>"
 msgstr "B<ENVIRON>"
 
-#.  but don't hold your breath...
 #. type: Plain text
-#: original/man1/gawk.1:618
+#: original/man1/gawk.1:889
+#, fuzzy
+#| msgid ""
+#| "An array containing the values of the current environment.  The array is "
+#| "indexed by the environment variables, each element being the value of "
+#| "that variable (e.g., B<ENVIRON[\"HOME\"]> might be B</home/arnold>).  "
+#| "Changing this array does not affect the environment seen by programs "
+#| "which I<gawk> spawns via redirection or the B<system()> function.  (This "
+#| "may change in a future version of I<gawk>.)"
 msgid ""
 "An array containing the values of the current environment.  The array is "
 "indexed by the environment variables, each element being the value of that "
 "variable (e.g., B<ENVIRON[\"HOME\"]> might be B</home/arnold>).  Changing "
 "this array does not affect the environment seen by programs which I<gawk> "
-"spawns via redirection or the B<system()> function.  (This may change in a "
-"future version of I<gawk>.)"
+"spawns via redirection or the B<system()> function."
 msgstr ""
 "現在の環境変数の値からなる配列。配列は、環境変数名によりインデックスされ 、各"
 "要素の値はその環境変数の値です (例えば B<ENVIRON[\"HOME\"]> は B</home/"
@@ -970,35 +1393,46 @@ msgstr ""
 "は、将来の I<gawk> では変更される可能性があります)。"
 
 #. type: TP
-#: original/man1/gawk.1:618
+#: original/man1/gawk.1:889
 #, no-wrap
 msgid "B<ERRNO>"
 msgstr "B<ERRNO>"
 
 #. type: Plain text
-#: original/man1/gawk.1:630
+#: original/man1/gawk.1:902
+#, fuzzy
+#| msgid ""
+#| "If a system error occurs either doing a redirection for B<getline>, "
+#| "during a read for B<getline>, or during a B<close()>, then B<ERRNO> will "
+#| "contain a string describing the error."
 msgid ""
 "If a system error occurs either doing a redirection for B<getline>, during a "
 "read for B<getline>, or during a B<close()>, then B<ERRNO> will contain a "
-"string describing the error."
+"string describing the error.  The value is subject to translation in non-"
+"English locales."
 msgstr ""
 "B<getline> のリダイレクト、 B<getline> による読み込み、 B<close()> 関数の実行"
 "時のいずれかにシステムエラーが発生した場合、変数 B<ERRNO> にはエラーの内容を"
 "示した文字列が設定されます。"
 
 #. type: TP
-#: original/man1/gawk.1:630
+#: original/man1/gawk.1:902
 #, no-wrap
 msgid "B<FIELDWIDTHS>"
 msgstr "B<FIELDWIDTHS>"
 
 #. type: Plain text
-#: original/man1/gawk.1:642
+#: original/man1/gawk.1:913
+#, fuzzy
+#| msgid ""
+#| "A white-space separated list of fieldwidths.  When set, I<gawk> parses "
+#| "the input into fields of fixed width, instead of using the value of the "
+#| "B<FS> variable as the field separator.  The fixed field width facility is "
+#| "still experimental; the semantics may change as I<gawk> evolves over time."
 msgid ""
-"A white-space separated list of fieldwidths.  When set, I<gawk> parses the "
+"A whitespace separated list of field widths.  When set, I<gawk> parses the "
 "input into fields of fixed width, instead of using the value of the B<FS> "
-"variable as the field separator.  The fixed field width facility is still "
-"experimental; the semantics may change as I<gawk> evolves over time."
+"variable as the field separator.  See B<Fields>, above."
 msgstr ""
 "空白で区切られたフィールド長のリスト。もしこの値が設定されていれば、 I<gawk> "
 "は B<FS> の値を用いてフィールド分割するかわりに、固定長のフィールド分割を行 "
@@ -1006,68 +1440,109 @@ msgstr ""
 "に従って意味が変化する可能性があります。"
 
 #. type: TP
-#: original/man1/gawk.1:642
+#: original/man1/gawk.1:913
 #, no-wrap
 msgid "B<FILENAME>"
 msgstr "B<FILENAME>"
 
 #. type: Plain text
-#: original/man1/gawk.1:653
+#: original/man1/gawk.1:926
+#, fuzzy
+#| msgid ""
+#| "The name of the current input file.  If no files are specified on the "
+#| "command line, the value of B<FILENAME> is ``-''.  However, B<FILENAME> is "
+#| "undefined inside the B<BEGIN> block."
 msgid ""
 "The name of the current input file.  If no files are specified on the "
 "command line, the value of B<FILENAME> is ``-''.  However, B<FILENAME> is "
-"undefined inside the B<BEGIN> block."
+"undefined inside the B<BEGIN> block (unless set by B<getline>)."
 msgstr ""
 "現在の入力ファイル名。もし、コマンドラインで入力ファイルが指定されてい なけれ"
 "ば、 B<FILENAME> の値は ``-'' です。しかしながら、 B<BEGIN> ブロック内では "
 "B<FILENAME> は未定義です。"
 
 #. type: TP
-#: original/man1/gawk.1:653
+#: original/man1/gawk.1:926
 #, no-wrap
 msgid "B<FNR>"
 msgstr "B<FNR>"
 
 #. type: Plain text
-#: original/man1/gawk.1:656
+#: original/man1/gawk.1:929
 msgid "The input record number in the current input file."
 msgstr "現在の入力ファイルにおける入力レコード番号。"
 
 #. type: TP
-#: original/man1/gawk.1:656
+#: original/man1/gawk.1:929
+#, no-wrap
+msgid "B<FPAT>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:943
+#, fuzzy
+#| msgid ""
+#| "A white-space separated list of fieldwidths.  When set, I<gawk> parses "
+#| "the input into fields of fixed width, instead of using the value of the "
+#| "B<FS> variable as the field separator.  The fixed field width facility is "
+#| "still experimental; the semantics may change as I<gawk> evolves over time."
+msgid ""
+"A regular expression describing the contents of the fields in a record.  "
+"When set, I<gawk> parses the input into fields, where the fields match the "
+"regular expression, instead of using the value of the B<FS> variable as the "
+"field separator.  See B<Fields>, above."
+msgstr ""
+"空白で区切られたフィールド長のリスト。もしこの値が設定されていれば、 I<gawk> "
+"は B<FS> の値を用いてフィールド分割するかわりに、固定長のフィールド分割を行 "
+"います。固定長のフィールド分割機能はまだ実験的なもので、 I<gawk> が改良される"
+"に従って意味が変化する可能性があります。"
+
+#. type: TP
+#: original/man1/gawk.1:943
 #, no-wrap
 msgid "B<FS>"
 msgstr "B<FS>"
 
 #. type: Plain text
-#: original/man1/gawk.1:661
+#: original/man1/gawk.1:948
 msgid "The input field separator, a space by default.  See B<Fields>, above."
 msgstr ""
 "入力フィールドセパレータ。デフォルトでは単一の空白です。 上述の B<フィールド"
 "> を参照してください。"
 
 #. type: TP
-#: original/man1/gawk.1:661
+#: original/man1/gawk.1:948
 #, no-wrap
 msgid "B<IGNORECASE>"
 msgstr "B<IGNORECASE>"
 
 #. type: Plain text
-#: original/man1/gawk.1:705
+#: original/man1/gawk.1:986
+#, fuzzy
+#| msgid ""
+#| "Controls the case-sensitivity of all regular expression and string "
+#| "operations.  If B<IGNORECASE> has a non-zero value, then string "
+#| "comparisons and pattern matching in rules, field splitting with B<FS>, "
+#| "record separating with B<RS>, regular expression matching with B<~> and "
+#| "B<!~>, and the B<gensub()>, B<gsub()>, B<index()>, B<match()>, B<split()"
+#| ">, and B<sub()> pre-defined functions will all ignore case when doing "
+#| "regular expression operations.  Thus, if B<IGNORECASE> is not equal to "
+#| "zero, B</aB/> matches all of the strings B<\"ab\">, B<\"aB\">, B<\"Ab\">, "
+#| "and B<\"AB\">.  As with all \\*(AK variables, the initial value of "
+#| "B<IGNORECASE> is zero, so all regular expression and string operations "
+#| "are normally case-sensitive.  Under Unix, the full ISO 8859-1 Latin-1 "
+#| "character set is used when ignoring case.  B<NOTE:> In versions of "
+#| "I<gawk> prior to 3.0, B<IGNORECASE> only affected regular expression "
+#| "operations.  It now affects string comparisons as well."
 msgid ""
 "Controls the case-sensitivity of all regular expression and string "
 "operations.  If B<IGNORECASE> has a non-zero value, then string comparisons "
-"and pattern matching in rules, field splitting with B<FS>, record separating "
-"with B<RS>, regular expression matching with B<~> and B<!~>, and the B<gensub"
-"()>, B<gsub()>, B<index()>, B<match()>, B<split()>, and B<sub()> pre-defined "
-"functions will all ignore case when doing regular expression operations.  "
-"Thus, if B<IGNORECASE> is not equal to zero, B</aB/> matches all of the "
-"strings B<\"ab\">, B<\"aB\">, B<\"Ab\">, and B<\"AB\">.  As with all \\*(AK "
-"variables, the initial value of B<IGNORECASE> is zero, so all regular "
-"expression and string operations are normally case-sensitive.  Under Unix, "
-"the full ISO 8859-1 Latin-1 character set is used when ignoring case.  "
-"B<NOTE:> In versions of I<gawk> prior to 3.0, B<IGNORECASE> only affected "
-"regular expression operations.  It now affects string comparisons as well."
+"and pattern matching in rules, field splitting with B<FS> and B<FPAT>, "
+"record separating with B<RS>, regular expression matching with B<~> and B<!"
+"~>, and the B<gensub()>, B<gsub()>, B<index()>, B<match()>, B<patsplit()>, "
+"B<split()>, and B<sub()> built-in functions all ignore case when doing "
+"regular expression operations.  B<NOTE>: Array subscripting is I<not> "
+"affected.  However, the B<asort()> and B<asorti()> functions are affected."
 msgstr ""
 "すべての正規表現と文字列操作において大文字小文字の区別を制御します。もし、 "
 "B<IGNORECASE> が 0 でない値に設定されていれば、文字列比較、ルールのパターン"
@@ -1082,80 +1557,269 @@ msgstr ""
 "は B<IGNORECASE> は正規表現操作のみに影響しました。現在は文字列比較にも影響し"
 "ます。"
 
+#. type: Plain text
+#: original/man1/gawk.1:997
+msgid ""
+"Thus, if B<IGNORECASE> is not equal to zero, B</aB/> matches all of the "
+"strings B<\"ab\">, B<\"aB\">, B<\"Ab\">, and B<\"AB\">.  As with all \\*(AK "
+"variables, the initial value of B<IGNORECASE> is zero, so all regular "
+"expression and string operations are normally case-sensitive."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:997
+#, no-wrap
+msgid "B<LINT>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1009
+msgid ""
+"Provides dynamic control of the B<-\\^-lint> option from within an \\*(AK "
+"program.  When true, I<gawk> prints lint warnings. When false, it does not.  "
+"When assigned the string value B<\"fatal\">, lint warnings become fatal "
+"errors, exactly like B<-\\^-lint=fatal>.  Any other true value just prints "
+"warnings."
+msgstr ""
+
 #. type: TP
-#: original/man1/gawk.1:705
+#: original/man1/gawk.1:1009
 #, no-wrap
 msgid "B<NF>"
 msgstr "B<NF>"
 
 #. type: Plain text
-#: original/man1/gawk.1:708
+#: original/man1/gawk.1:1012
 msgid "The number of fields in the current input record."
 msgstr "現在の入力レコードのフィールド数。"
 
 #. type: TP
-#: original/man1/gawk.1:708
+#: original/man1/gawk.1:1012
 #, no-wrap
 msgid "B<NR>"
 msgstr "B<NR>"
 
 #. type: Plain text
-#: original/man1/gawk.1:711
+#: original/man1/gawk.1:1015
 msgid "The total number of input records seen so far."
 msgstr "現在までに読み込んだ入力レコード数の合計。"
 
 #. type: TP
-#: original/man1/gawk.1:711
+#: original/man1/gawk.1:1015
 #, no-wrap
 msgid "B<OFMT>"
 msgstr "B<OFMT>"
 
 #. type: Plain text
-#: original/man1/gawk.1:714
+#: original/man1/gawk.1:1018
 msgid "The output format for numbers, B<\"%.6g\">, by default."
 msgstr "数字の出力フォーマット。デフォルト値は B<\"%.6g\"> です。"
 
 #. type: TP
-#: original/man1/gawk.1:714
+#: original/man1/gawk.1:1018
 #, no-wrap
 msgid "B<OFS>"
 msgstr "B<OFS>"
 
 #. type: Plain text
-#: original/man1/gawk.1:717
+#: original/man1/gawk.1:1021
 msgid "The output field separator, a space by default."
 msgstr "出力フィールドセパレータ。デフォルトは空白です。"
 
 #. type: TP
-#: original/man1/gawk.1:717
+#: original/man1/gawk.1:1021
 #, no-wrap
 msgid "B<ORS>"
 msgstr "B<ORS>"
 
 #. type: Plain text
-#: original/man1/gawk.1:720
+#: original/man1/gawk.1:1024
 msgid "The output record separator, by default a newline."
 msgstr "出力レコードセパレータ。デフォルトは改行です。"
 
 #. type: TP
-#: original/man1/gawk.1:720
+#: original/man1/gawk.1:1024
+#, no-wrap
+msgid "B<PROCINFO>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1037
+msgid ""
+"The elements of this array provide access to information about the running "
+"\\*(AK program.  On some systems, there may be elements in the array, B<"
+"\"group1\"> through B<\"group>I<n>B<\"> for some I<n>, which is the number "
+"of supplementary groups that the process has.  Use the B<in> operator to "
+"test for these elements.  The following elements are guaranteed to be "
+"available:"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1038
+#, no-wrap
+msgid "B<PROCINFO[\"egid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1043
+msgid "the value of the I<getegid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1043
+#, no-wrap
+msgid "B<PROCINFO[\"strftime\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1047
+msgid "The default time format string for B<strftime()>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1047
+#, no-wrap
+msgid "B<PROCINFO[\"euid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1052
+msgid "the value of the I<geteuid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1052
+#, no-wrap
+msgid "B<PROCINFO[\"FS\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1063
+msgid ""
+"B<\"FS\"> if field splitting with B<FS> is in effect, B<\"FPAT\"> if field "
+"splitting with B<FPAT> is in effect, or B<\"FIELDWIDTHS\"> if field "
+"splitting with B<FIELDWIDTHS> is in effect."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1063
+#, no-wrap
+msgid "B<PROCINFO[\"gid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1068
+msgid "the value of the I<getgid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1068
+#, no-wrap
+msgid "B<PROCINFO[\"pgrpid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1071
+msgid "the process group ID of the current process."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1071
+#, no-wrap
+msgid "B<PROCINFO[\"pid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1074
+#, fuzzy
+#| msgid "The index in B<ARGV> of the current file being processed."
+msgid "the process ID of the current process."
+msgstr "現在処理中のファイル名が格納されている配列 B<ARGV> のインデックス。"
+
+#. type: TP
+#: original/man1/gawk.1:1074
+#, no-wrap
+msgid "B<PROCINFO[\"ppid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1077
+msgid "the parent process ID of the current process."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1077
+#, no-wrap
+msgid "B<PROCINFO[\"uid\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1082
+msgid "the value of the I<getuid>(2)  system call."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1082
+#, no-wrap
+msgid "B<PROCINFO[\"sorted_in\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1105
+msgid ""
+"If this element exists in B<PROCINFO>, then its value controls the order in "
+"which array elements are traversed in B<for> loops.  Supported values are B<"
+"\"@ind_str_asc\">, B<\"@ind_num_asc\">, B<\"@val_type_asc\">, B<"
+"\"@val_str_asc\">, B<\"@val_num_asc\">, B<\"@ind_str_desc\">, B<"
+"\"@ind_num_desc\">, B<\"@val_type_desc\">, B<\"@val_str_desc\">, B<"
+"\"@val_num_desc\">, and B<\"@unsorted\">.  The value can also be the name of "
+"any comparison function defined as follows:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1108
+msgid "B<function cmp_func(i1, v1, i2, v2)>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1122
+msgid ""
+"where I<i1> and I<i2> are the indices, and I<v1> and I<v2> are the "
+"corresponding values of the two elements being compared.  It should return a "
+"number less than, equal to, or greater than 0, depending on how the elements "
+"of the array are to be ordered."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1122
+#, no-wrap
+msgid "B<PROCINFO[\"version\"]>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1126
+msgid "the version of I<gawk>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1127
 #, no-wrap
 msgid "B<RS>"
 msgstr "B<RS>"
 
 #. type: Plain text
-#: original/man1/gawk.1:723
+#: original/man1/gawk.1:1130
 msgid "The input record separator, by default a newline."
 msgstr "入力レコードセパレータ。デフォルトは改行です。"
 
 #. type: TP
-#: original/man1/gawk.1:723
+#: original/man1/gawk.1:1130
 #, no-wrap
 msgid "B<RT>"
 msgstr "B<RT>"
 
 #. type: Plain text
-#: original/man1/gawk.1:732
+#: original/man1/gawk.1:1139
 msgid ""
 "The record terminator.  I<Gawk> sets B<RT> to the input text that matched "
 "the character or regular expression specified by B<RS>."
@@ -1164,39 +1828,44 @@ msgstr ""
 "マッチする入力テキストを、 B<RT> に設定します。"
 
 #. type: TP
-#: original/man1/gawk.1:732
+#: original/man1/gawk.1:1139
 #, no-wrap
 msgid "B<RSTART>"
 msgstr "B<RSTART>"
 
 #. type: Plain text
-#: original/man1/gawk.1:737
-msgid "The index of the first character matched by B<match()>; 0 if no match."
+#: original/man1/gawk.1:1145
+#, fuzzy
+#| msgid ""
+#| "The index of the first character matched by B<match()>; 0 if no match."
+msgid ""
+"The index of the first character matched by B<match()>; 0 if no match.  "
+"(This implies that character indices start at one.)"
 msgstr ""
 "B<match()> によりマッチした最初の文字の位置。0 はマッチしなかったことを示しま"
 "す。"
 
 #. type: TP
-#: original/man1/gawk.1:737
+#: original/man1/gawk.1:1145
 #, no-wrap
 msgid "B<RLENGTH>"
 msgstr "B<RLENGTH>"
 
 #. type: Plain text
-#: original/man1/gawk.1:742
+#: original/man1/gawk.1:1150
 msgid "The length of the string matched by B<match()>; -1 if no match."
 msgstr ""
 "B<match()> によりマッチした文字列の長さ。-1 はマッチしなかったことを示しま"
 "す。"
 
 #. type: TP
-#: original/man1/gawk.1:742
+#: original/man1/gawk.1:1150
 #, no-wrap
 msgid "B<SUBSEP>"
 msgstr "B<SUBSEP>"
 
 #. type: Plain text
-#: original/man1/gawk.1:746
+#: original/man1/gawk.1:1154
 msgid ""
 "The character used to separate multiple subscripts in array elements, by "
 "default B<\"\\e034\">."
@@ -1204,14 +1873,27 @@ msgstr ""
 "多次元配列を実現する際に用いられる、配列のインデックスを結合する文字。 デフォ"
 "ルト値は B<\"\\e034\"> です。"
 
+#. type: TP
+#: original/man1/gawk.1:1154
+#, no-wrap
+msgid "B<TEXTDOMAIN>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1158
+msgid ""
+"The text domain of the \\*(AK program; used to find the localized "
+"translations for the program's strings."
+msgstr ""
+
 #. type: SS
-#: original/man1/gawk.1:746
+#: original/man1/gawk.1:1158
 #, no-wrap
 msgid "Arrays"
 msgstr "配列"
 
 #. type: Plain text
-#: original/man1/gawk.1:759
+#: original/man1/gawk.1:1171
 msgid ""
 "Arrays are subscripted with an expression between square brackets (B<[> and "
 "B<]>).  If the expression is an expression list (I<expr>, I<expr> .\\|."
@@ -1226,17 +1908,17 @@ msgstr ""
 "を シミュレートしています。例えば、"
 
 #. type: Plain text
-#: original/man1/gawk.1:763
+#: original/man1/gawk.1:1175
 msgid "B<i = \"A\";\\^ j = \"B\";\\^ k = \"C\">"
 msgstr "B<i = \"A\";\\^ j = \"B\";\\^ k = \"C\">"
 
 #. type: Plain text
-#: original/man1/gawk.1:765
+#: original/man1/gawk.1:1177
 msgid "B<x[i, j, k] = \"hello, world\\en\">"
 msgstr "B<x[i, j, k] = \"hello, world\\en\">"
 
 #. type: Plain text
-#: original/man1/gawk.1:772
+#: original/man1/gawk.1:1184
 msgid ""
 "assigns the string B<\"hello, world\\en\"> to the element of the array B<x> "
 "which is indexed by the string B<\"A\\e034B\\e034C\">.  All arrays in \\*(AK "
@@ -1247,17 +1929,21 @@ msgstr ""
 "りインデックスを行う連想配列です。"
 
 #. type: Plain text
-#: original/man1/gawk.1:781
+#: original/man1/gawk.1:1189
+#, fuzzy
+#| msgid ""
+#| "The special operator B<in> may be used in an B<if> or B<while> statement "
+#| "to see if an array has an index consisting of a particular value."
 msgid ""
-"The special operator B<in> may be used in an B<if> or B<while> statement to "
-"see if an array has an index consisting of a particular value."
+"The special operator B<in> may be used to test if an array has an index "
+"consisting of a particular value:"
 msgstr ""
 "特殊な演算子 B<in> を B<if> または B<while> ステートメントで用いることによっ"
 "て、あるインデックス値に おける配列の値が定義されているかを調べることができま"
 "す。"
 
 #. type: Plain text
-#: original/man1/gawk.1:787
+#: original/man1/gawk.1:1195
 #, no-wrap
 msgid ""
 "B<if (val in array)\n"
@@ -1267,13 +1953,13 @@ msgstr ""
 "\tprint array[val]>\n"
 
 #. type: Plain text
-#: original/man1/gawk.1:793
+#: original/man1/gawk.1:1201
 msgid "If the array has multiple subscripts, use B<(i, j) in array>."
 msgstr ""
 "もし、配列が多次元インデックスを持つなら、 B<(i, j) in array> を用います。"
 
 #. type: Plain text
-#: original/man1/gawk.1:799
+#: original/man1/gawk.1:1207
 msgid ""
 "The B<in> construct may also be used in a B<for> loop to iterate over all "
 "the elements of an array."
@@ -1282,7 +1968,7 @@ msgstr ""
 "すために 用いることができます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:807
+#: original/man1/gawk.1:1215
 msgid ""
 "An element may be deleted from an array using the B<delete> statement.  The "
 "B<delete> statement may also be used to delete the entire contents of an "
@@ -1292,18 +1978,40 @@ msgstr ""
 "B<delete> ステートメントはまた、 添字を指定せずに配列名のみを指定することによ"
 "り、 配列全体を削除するためにも使えます。"
 
+#. type: Plain text
+#: original/man1/gawk.1:1220
+msgid ""
+"I<gawk> supports true multidimensional arrays. It does not require that such "
+"arrays be ``rectangular'' as in C or C++.  For example:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1226
+#, no-wrap
+msgid ""
+"B<a[1] = 5\n"
+"a[2][1] = 6\n"
+"a[2][2] = 7>\n"
+msgstr ""
+
 #. type: SS
-#: original/man1/gawk.1:807
+#: original/man1/gawk.1:1229
 #, no-wrap
 msgid "Variable Typing And Conversion"
 msgstr "変数の型と変換"
 
 #. type: Plain text
-#: original/man1/gawk.1:814
+#: original/man1/gawk.1:1236
+#, fuzzy
+#| msgid ""
+#| "Variables and fields may be (floating point) numbers, or strings, or "
+#| "both.  How the value of a variable is interpreted depends upon its "
+#| "context.  If used in a numeric expression, it will be treated as a "
+#| "number, if used as a string it will be treated as a string."
 msgid ""
 "Variables and fields may be (floating point) numbers, or strings, or both.  "
 "How the value of a variable is interpreted depends upon its context.  If "
-"used in a numeric expression, it will be treated as a number, if used as a "
+"used in a numeric expression, it will be treated as a number; if used as a "
 "string it will be treated as a string."
 msgstr ""
 "変数とフィールドは、(浮動小数点数の) 数値または文字列、あるいは両方として 扱"
@@ -1312,7 +2020,7 @@ msgstr ""
 "文字列として解釈されます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:817
+#: original/man1/gawk.1:1239
 msgid ""
 "To force a variable to be treated as a number, add 0 to it; to force it to "
 "be treated as a string, concatenate it with the null string."
@@ -1321,10 +2029,18 @@ msgstr ""
 "列と解釈させたい場合は空文字列を結合します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:830
+#: original/man1/gawk.1:1252
+#, fuzzy
+#| msgid ""
+#| "When a string must be converted to a number, the conversion is "
+#| "accomplished using I<atof>(3).  A number is converted to a string by "
+#| "using the value of B<CONVFMT> as a format string for I<sprintf>(3), with "
+#| "the numeric value of the variable as the argument.  However, even though "
+#| "all numbers in \\*(AK are floating-point, integral values are I<always> "
+#| "converted as integers.  Thus, given"
 msgid ""
 "When a string must be converted to a number, the conversion is accomplished "
-"using I<atof>(3).  A number is converted to a string by using the value of "
+"using I<strtod>(3).  A number is converted to a string by using the value of "
 "B<CONVFMT> as a format string for I<sprintf>(3), with the numeric value of "
 "the variable as the argument.  However, even though all numbers in \\*(AK "
 "are floating-point, integral values are I<always> converted as integers.  "
@@ -1336,7 +2052,7 @@ msgstr ""
 "数点数ですが、整数値は常に整数 として変換が行われます。 よって、以下の場合、"
 
 #. type: Plain text
-#: original/man1/gawk.1:837
+#: original/man1/gawk.1:1259
 #, no-wrap
 msgid ""
 "B<CONVFMT = \"%2.2f\"\n"
@@ -1348,21 +2064,39 @@ msgstr ""
 "b = a \"\">\n"
 
 #. type: Plain text
-#: original/man1/gawk.1:844
+#: original/man1/gawk.1:1266
 msgid "the variable B<b> has a string value of B<\"12\"> and not B<\"12.00\">."
 msgstr "変数 B<b> は文字列値 B<\"12\"> となり、B<\"12.00\"> とはなりません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:858
+#: original/man1/gawk.1:1277
+msgid ""
+"B<NOTE>: When operating in POSIX mode (such as with the B<-\\^-posix> "
+"command line option), beware that locale settings may interfere with the way "
+"decimal numbers are treated: the decimal separator of the numbers you are "
+"feeding to I<gawk> must conform to what your locale would expect, be it a "
+"comma (,) or a period (.)."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1286
+#, fuzzy
+#| msgid ""
+#| "I<Gawk> performs comparisons as follows: If two variables are numeric, "
+#| "they are compared numerically.  If one value is numeric and the other has "
+#| "a string value that is a ``numeric string,'' then comparisons are also "
+#| "done numerically.  Otherwise, the numeric value is converted to a string "
+#| "and a string comparison is performed.  Two strings are compared, of "
+#| "course, as strings.  According to the \\*(PX standard, even if two "
+#| "strings are numeric strings, a numeric comparison is performed.  However, "
+#| "this is clearly incorrect, and I<gawk> does not do this."
 msgid ""
 "I<Gawk> performs comparisons as follows: If two variables are numeric, they "
 "are compared numerically.  If one value is numeric and the other has a "
 "string value that is a ``numeric string,'' then comparisons are also done "
 "numerically.  Otherwise, the numeric value is converted to a string and a "
 "string comparison is performed.  Two strings are compared, of course, as "
-"strings.  According to the \\*(PX standard, even if two strings are numeric "
-"strings, a numeric comparison is performed.  However, this is clearly "
-"incorrect, and I<gawk> does not do this."
+"strings."
 msgstr ""
 "I<gawk> は、以下のようにして比較を行います: 2 つの変数が数値なら数値として比 "
 "較します。もし片方が数値で片方が`数値'文字列なら、数値として比較されます。 片"
@@ -1372,14 +2106,22 @@ msgstr ""
 "す。 I<gawk> はそのような動作をしません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:877
+#: original/man1/gawk.1:1307
+#, fuzzy
+#| msgid ""
+#| "Note that string constants, such as B<\"57\">, are I<not> numeric "
+#| "strings, they are string constants.  The idea of ``numeric string'' only "
+#| "applies to fields, B<getline> input, B<FILENAME>, B<ARGV> elements, "
+#| "B<ENVIRON> elements and the elements of an array created by B<split()> "
+#| "that are numeric strings.  The basic idea is that I<user input>, and only "
+#| "user input, that looks numeric, should be treated that way."
 msgid ""
 "Note that string constants, such as B<\"57\">, are I<not> numeric strings, "
 "they are string constants.  The idea of ``numeric string'' only applies to "
 "fields, B<getline> input, B<FILENAME>, B<ARGV> elements, B<ENVIRON> elements "
-"and the elements of an array created by B<split()> that are numeric "
-"strings.  The basic idea is that I<user input>, and only user input, that "
-"looks numeric, should be treated that way."
+"and the elements of an array created by B<split()> or B<patsplit()> that are "
+"numeric strings.  The basic idea is that I<user input>, and only user input, "
+"that looks numeric, should be treated that way."
 msgstr ""
 "B<\"57\"> のような文字列定数は数値文字列では I<なく> 、文字列定数です。「数値"
 "文字列」の概念は、フィールド、 B<getline> の入力、 B<FILENAME> 、 B<ARGV> の"
@@ -1388,7 +2130,7 @@ msgstr ""
 "値に見えるユーザ入力のみが数値として扱われます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:880
+#: original/man1/gawk.1:1310
 msgid ""
 "Uninitialized variables have the numeric value 0 and the string value "
 "\"\" (the null, or empty, string)."
@@ -1396,85 +2138,299 @@ msgstr ""
 "初期化されていない変数は、数値としては 0 を、文字列としては \"\" (空文字列) "
 "を 持ちます。"
 
-#. type: SH
-#: original/man1/gawk.1:880
+#. type: SS
+#: original/man1/gawk.1:1310
 #, no-wrap
-msgid "PATTERNS AND ACTIONS"
-msgstr "パターンとアクション"
-
-#. type: Plain text
-#: original/man1/gawk.1:890
-msgid ""
-"\\*(AK is a line-oriented language.  The pattern comes first, and then the "
-"action.  Action statements are enclosed in B<{> and B<}>.  Either the "
-"pattern may be missing, or the action may be missing, but, of course, not "
-"both.  If the pattern is missing, the action will be executed for every "
-"single record of input.  A missing action is equivalent to"
+msgid "Octal and Hexadecimal Constants"
 msgstr ""
-"awk は行指向の言語です。まずパターン、次にアクションが続きます。 アクション"
-"は B<{> と B<}> で囲みます。パターンまたはアクションは省略することもできま"
-"す。 もちろん、両方とも 省略してしまっては意味がありません。 パターンがない場"
-"合、アクションはすべての入力レコードに 対して適用されます。省略されたアクショ"
-"ンは以下と等価です。"
-
-#. type: Plain text
-#: original/man1/gawk.1:893
-msgid "B<{ print }>"
-msgstr "B<{ print }>"
-
-#. type: Plain text
-#: original/man1/gawk.1:896
-msgid "which prints the entire record."
-msgstr "これはレコード全体を出力します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:916
+#: original/man1/gawk.1:1320
 msgid ""
-"Comments begin with the ``#'' character, and continue until the end of the "
-"line.  Blank lines may be used to separate statements.  Normally, a "
-"statement ends with a newline, however, this is not the case for lines "
-"ending in a ``,'', B<{>, B<?>, B<:>, B<&&>, or B<||>.  Lines ending in B<do> "
-"or B<else> also have their statements automatically continued on the "
-"following line.  In other cases, a line can be continued by ending it with a "
-"``\\e'', in which case the newline will be ignored."
+"You may use C-style octal and hexadecimal constants in your AWK program "
+"source code.  For example, the octal value B<011> is equal to decimal B<9>, "
+"and the hexadecimal value B<0x11> is equal to decimal 17."
 msgstr ""
-"コメントは文字 ``#'' で始まり、行末まで続きます。空行は、複数ステートメント"
-"の 間をあけるのに使うことができます。 通常、ステートメントは改行で終わりま"
-"す。ただし、 次の記号で行が終わる場合にはこの限りではありません: ``,'', B<"
-"{>, B<?>, B<:>, B<&&>, B<||> 。 B<do> または B<else> で終わる行は、ステートメ"
-"ントが自動的に以降 の行へ継続されます。また、改行の直前に ``\\e'' を置くこと"
-"で、 行を継続することができます。この場合、その改行は無視されます。"
+
+#. type: SS
+#: original/man1/gawk.1:1320
+#, no-wrap
+msgid "String Constants"
+msgstr "文字列定数"
 
 #. type: Plain text
-#: original/man1/gawk.1:922
+#: original/man1/gawk.1:1326
+#, fuzzy
+#| msgid ""
+#| "String constants in \\*(AK are sequences of characters enclosed between "
+#| "double quotes (B<\">).  Within strings, certain I<escape sequences> are "
+#| "recognized, as in C.  These are:"
 msgid ""
-"Multiple statements may be put on one line by separating them with a ``;''.  "
-"This applies to both the statements within the action part of a pattern-"
-"action pair (the usual case), and to the pattern-action statements "
-"themselves."
+"String constants in \\*(AK are sequences of characters enclosed between "
+"double quotes (like B<\"value\">).  Within strings, certain I<escape "
+"sequences> are recognized, as in C.  These are:"
 msgstr ""
-"``;'' で区切ることにより、1行に複数のステートメントを記述することができま"
-"す。 (通常のように) パターン-アクション対中のアクション部におけるステートメン"
-"トだけではなく、パターン-アクション対ステートメント自身も、 ``;'' で区切って"
-"複数置くことができます。"
+"\\*(AK での文字列定数は、ダブルクォート (B<\">) に狭まれた文字の列です。 文字"
+"列内では、C 言語のようにいくつかの I<エスケープシーケンス> が使えます。"
 
-#. type: SS
-#: original/man1/gawk.1:922
+#. type: TP
+#: original/man1/gawk.1:1327
 #, no-wrap
-msgid "Patterns"
-msgstr "パターン"
+msgid "B<\\e\\e>"
+msgstr "B<\\e\\e>"
 
 #. type: Plain text
-#: original/man1/gawk.1:924
-msgid "\\*(AK patterns may be one of the following:"
-msgstr "\\*(AK のパターンは、以下のうちのいずれかです。"
+#: original/man1/gawk.1:1330
+msgid "A literal backslash."
+msgstr "バックスラッシュそのもの。"
 
-#. type: Plain text
-#: original/man1/gawk.1:937
+#. type: TP
+#: original/man1/gawk.1:1330
+#, no-wrap
+msgid "B<\\ea>"
+msgstr "B<\\ea>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1333
+msgid ""
+"The ``alert'' character; usually the \\s-1ASCII\\s+1 \\s-1BEL\\s+1 character."
+msgstr "「警告」文字。通常は \\s-1ASCII\\s+1 \\s-1BEL\\s+1 文字です。"
+
+#. type: TP
+#: original/man1/gawk.1:1333
+#, no-wrap
+msgid "B<\\eb>"
+msgstr "B<\\eb>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1336
+msgid "backspace."
+msgstr "バックスペース。"
+
+#. type: TP
+#: original/man1/gawk.1:1336
+#, no-wrap
+msgid "B<\\ef>"
+msgstr "B<\\ef>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1339
+msgid "form-feed."
+msgstr "改ページ (フォームフィード)。"
+
+#. type: TP
+#: original/man1/gawk.1:1339
+#, no-wrap
+msgid "B<\\en>"
+msgstr "B<\\en>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1342
+msgid "newline."
+msgstr "改行。"
+
+#. type: TP
+#: original/man1/gawk.1:1342
+#, no-wrap
+msgid "B<\\er>"
+msgstr "B<\\er>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1345
+msgid "carriage return."
+msgstr "復帰 (キャリッジリターン)。"
+
+#. type: TP
+#: original/man1/gawk.1:1345
+#, no-wrap
+msgid "B<\\et>"
+msgstr "B<\\et>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1348
+msgid "horizontal tab."
+msgstr "水平タブ。"
+
+#. type: TP
+#: original/man1/gawk.1:1348
+#, no-wrap
+msgid "B<\\ev>"
+msgstr "B<\\ev>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1351
+msgid "vertical tab."
+msgstr "垂直タブ。"
+
+#. type: TP
+#: original/man1/gawk.1:1351
+#, no-wrap
+msgid "B<\\ex>I<\\^hex digits>"
+msgstr "B<\\ex>I<\\|hex digits>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1360
+msgid ""
+"The character represented by the string of hexadecimal digits following the "
+"B<\\ex>.  As in \\*(AN C, all following hexadecimal digits are considered "
+"part of the escape sequence.  (This feature should tell us something about "
+"language design by committee.)  E.g., B<\"\\ex1B\"> is the \\s-1ASCII\\s+1 "
+"\\s-1ESC\\s+1 (escape) character."
+msgstr ""
+"B<\\ex> に続く 16 進数で表現された文字。\\*(AN C と同様に、 B<\\ex> に続くす"
+"べての 16 進数字 はエスケープシーケンスの一部であるとみなされます。 (この機能"
+"によりコミッティによる言語デザインが分かります。)  例えば、B<\"\\ex1B\"> は "
+"\\s-1ASCII\\s+1 \\s-1ESC\\s+1 (エスケープ) 文字です。"
+
+#. type: TP
+#: original/man1/gawk.1:1360
+#, no-wrap
+msgid "B<\\e>I<ddd>"
+msgstr "B<\\e>I<ddd>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1365
+msgid ""
+"The character represented by the 1-, 2-, or 3-digit sequence of octal "
+"digits.  E.g., B<\"\\e033\"> is the \\s-1ASCII\\s+1 \\s-1ESC\\s+1 (escape) "
+"character."
+msgstr ""
+"1 桁か 2 桁か 3 桁の 8 進数で表現された文字。例えば、 B<\"\\e033\"> は "
+"\\s-1ASCII\\s+1 \\s-1ESC\\s+1 (エスケープ) 文字です。"
+
+#. type: TP
+#: original/man1/gawk.1:1365
+#, no-wrap
+msgid "B<\\e>I<c>"
+msgstr "B<\\e>I<c>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1369
+msgid "The literal character I<c\\^>."
+msgstr "文字 c そのもの。"
+
+#. type: Plain text
+#: original/man1/gawk.1:1374
+msgid ""
+"The escape sequences may also be used inside constant regular expressions (e."
+"g., B</[\\ \\et\\ef\\en\\er\\ev]/> matches whitespace characters)."
+msgstr ""
+"エスケープシーケンスは正規表現定数内でも用いることができます (例えば、 B</"
+"[\\ \\et\\ef\\en\\er\\ev]/> は空白文字にマッチします)。"
+
+#. type: Plain text
+#: original/man1/gawk.1:1381
+#, fuzzy
+#| msgid ""
+#| "In compatibility mode, the characters represented by octal and "
+#| "hexadecimal escape sequences are treated literally when used in regexp "
+#| "constants.  Thus, B</a\\e52b/> is equivalent to B</a\\e*b/>."
+msgid ""
+"In compatibility mode, the characters represented by octal and hexadecimal "
+"escape sequences are treated literally when used in regular expression "
+"constants.  Thus, B</a\\e52b/> is equivalent to B</a\\e*b/>."
+msgstr ""
+"互換モードでは、8 進および 16 進のエスケープシーケンスで表現される文字は、 正"
+"規表現定数として使用された場合、リテラルとして扱われます。 それゆえ、 B</a"
+"\\e52b/> は B</a\\e*b/> と等価です。"
+
+#. type: SH
+#: original/man1/gawk.1:1381
+#, no-wrap
+msgid "PATTERNS AND ACTIONS"
+msgstr "パターンとアクション"
+
+#. type: Plain text
+#: original/man1/gawk.1:1391
+#, fuzzy
+#| msgid ""
+#| "\\*(AK is a line-oriented language.  The pattern comes first, and then "
+#| "the action.  Action statements are enclosed in B<{> and B<}>.  Either the "
+#| "pattern may be missing, or the action may be missing, but, of course, not "
+#| "both.  If the pattern is missing, the action will be executed for every "
+#| "single record of input.  A missing action is equivalent to"
+msgid ""
+"\\*(AK is a line-oriented language.  The pattern comes first, and then the "
+"action.  Action statements are enclosed in B<{> and B<}>.  Either the "
+"pattern may be missing, or the action may be missing, but, of course, not "
+"both.  If the pattern is missing, the action is executed for every single "
+"record of input.  A missing action is equivalent to"
+msgstr ""
+"awk は行指向の言語です。まずパターン、次にアクションが続きます。 アクション"
+"は B<{> と B<}> で囲みます。パターンまたはアクションは省略することもできま"
+"す。 もちろん、両方とも 省略してしまっては意味がありません。 パターンがない場"
+"合、アクションはすべての入力レコードに 対して適用されます。省略されたアクショ"
+"ンは以下と等価です。"
+
+#. type: Plain text
+#: original/man1/gawk.1:1394
+msgid "B<{ print }>"
+msgstr "B<{ print }>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1397
+msgid "which prints the entire record."
+msgstr "これはレコード全体を出力します。"
+
+#. type: Plain text
+#: original/man1/gawk.1:1419
+#, fuzzy
+#| msgid ""
+#| "Comments begin with the ``#'' character, and continue until the end of "
+#| "the line.  Blank lines may be used to separate statements.  Normally, a "
+#| "statement ends with a newline, however, this is not the case for lines "
+#| "ending in a ``,'', B<{>, B<?>, B<:>, B<&&>, or B<||>.  Lines ending in "
+#| "B<do> or B<else> also have their statements automatically continued on "
+#| "the following line.  In other cases, a line can be continued by ending it "
+#| "with a ``\\e'', in which case the newline will be ignored."
+msgid ""
+"Comments begin with the B<#> character, and continue until the end of the "
+"line.  Blank lines may be used to separate statements.  Normally, a "
+"statement ends with a newline, however, this is not the case for lines "
+"ending in a comma, B<{>, B<?>, B<:>, B<&&>, or B<||>.  Lines ending in B<do> "
+"or B<else> also have their statements automatically continued on the "
+"following line.  In other cases, a line can be continued by ending it with a "
+"``\\e'', in which case the newline is ignored."
+msgstr ""
+"コメントは文字 ``#'' で始まり、行末まで続きます。空行は、複数ステートメント"
+"の 間をあけるのに使うことができます。 通常、ステートメントは改行で終わりま"
+"す。ただし、 次の記号で行が終わる場合にはこの限りではありません: ``,'', B<"
+"{>, B<?>, B<:>, B<&&>, B<||> 。 B<do> または B<else> で終わる行は、ステートメ"
+"ントが自動的に以降 の行へ継続されます。また、改行の直前に ``\\e'' を置くこと"
+"で、 行を継続することができます。この場合、その改行は無視されます。"
+
+#. type: Plain text
+#: original/man1/gawk.1:1425
+msgid ""
+"Multiple statements may be put on one line by separating them with a ``;''.  "
+"This applies to both the statements within the action part of a pattern-"
+"action pair (the usual case), and to the pattern-action statements "
+"themselves."
+msgstr ""
+"``;'' で区切ることにより、1行に複数のステートメントを記述することができま"
+"す。 (通常のように) パターン-アクション対中のアクション部におけるステートメン"
+"トだけではなく、パターン-アクション対ステートメント自身も、 ``;'' で区切って"
+"複数置くことができます。"
+
+#. type: SS
+#: original/man1/gawk.1:1425
+#, no-wrap
+msgid "Patterns"
+msgstr "パターン"
+
+#. type: Plain text
+#: original/man1/gawk.1:1427
+msgid "\\*(AK patterns may be one of the following:"
+msgstr "\\*(AK のパターンは、以下のうちのいずれかです。"
+
+#. type: Plain text
+#: original/man1/gawk.1:1442
 #, no-wrap
 msgid ""
 "B<BEGIN>\n"
 "B<END>\n"
+"B<BEGINFILE>\n"
+"B<ENDFILE>\n"
 "B</>I<regular expression>B</>\n"
 "I<relational expression>\n"
 "I<pattern>B< && >I<pattern>\n"
@@ -1486,6 +2442,8 @@ msgid ""
 msgstr ""
 "B<BEGIN>\n"
 "B<END>\n"
+"B<BEGINFILE>\n"
+"B<ENDFILE>\n"
 "B</>I<regular expression>B</>\n"
 "I<relational expression>\n"
 "I<pattern>B< && >I<pattern>\n"
@@ -1496,7 +2454,7 @@ msgstr ""
 "I<pattern1>B<, >I<pattern2>\n"
 
 #. type: Plain text
-#: original/man1/gawk.1:965
+#: original/man1/gawk.1:1470
 msgid ""
 "B<BEGIN> and B<END> are two special kinds of patterns which are not tested "
 "against the input.  The action parts of all B<BEGIN> patterns are merged as "
@@ -1517,7 +2475,19 @@ msgstr ""
 "B<BEGIN> と B<END> パターンはアクション部を省略することができません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:973
+#: original/man1/gawk.1:1488
+msgid ""
+"B<BEGINFILE> and B<ENDFILE> are additional special patterns whose bodies are "
+"executed before reading the first record of each command line input file and "
+"after reading the last record of each file.  Inside the B<BEGINFILE> rule, "
+"the value of B<ERRNO> will be the empty string if the file could be opened "
+"successfully.  Otherwise, there is some problem with the file and the code "
+"should use B<nextfile> to skip it. If that is not done, I<gawk> produces its "
+"usual fatal error for files that cannot be opened."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:1496
 msgid ""
 "For B</>I<regular expression>B</> patterns, the associated statement is "
 "executed for each input record that matches the regular expression.  Regular "
@@ -1528,7 +2498,7 @@ msgstr ""
 "(1)  と同じものが使えます。あとに要約を示します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:978
+#: original/man1/gawk.1:1501
 msgid ""
 "A I<relational expression> may use any of the operators defined below in the "
 "section on actions.  These generally test whether certain fields match "
@@ -1539,7 +2509,7 @@ msgstr ""
 "チするかどうかを 調べるために用いられます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:988
+#: original/man1/gawk.1:1511
 msgid ""
 "The B<&&>, B<||>, and B<!> operators are logical AND, logical OR, and "
 "logical NOT, respectively, as in C.  They do short-circuit evaluation, also "
@@ -1552,7 +2522,7 @@ msgstr ""
 "と同様、括弧によって評価順序を変更することができます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:994
+#: original/man1/gawk.1:1517
 msgid ""
 "The B<?\\^:> operator is like the same operator in C.  If the first pattern "
 "is true then the pattern used for testing is the second pattern, otherwise "
@@ -1563,7 +2533,7 @@ msgstr ""
 "られます。2 番目と 3 番目のパターンのどちらかだけが評価されます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1004
+#: original/man1/gawk.1:1527
 msgid ""
 "The I<pattern1>B<, >I<pattern2> form of an expression is called a I<range "
 "pattern>.  It matches all input records starting with a record that matches "
@@ -1576,13 +2546,13 @@ msgstr ""
 "できません。"
 
 #. type: SS
-#: original/man1/gawk.1:1004
+#: original/man1/gawk.1:1527
 #, no-wrap
 msgid "Regular Expressions"
 msgstr "正規表現"
 
 #. type: Plain text
-#: original/man1/gawk.1:1008
+#: original/man1/gawk.1:1531
 msgid ""
 "Regular expressions are the extended kind found in I<egrep>.  They are "
 "composed of characters as follows:"
@@ -1591,174 +2561,181 @@ msgstr ""
 "要素から成り立っています。"
 
 #. type: TP
-#: original/man1/gawk.1:1008
+#: original/man1/gawk.1:1531
 #, no-wrap
 msgid "I<c>"
 msgstr "I<c>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1012
+#: original/man1/gawk.1:1535
 msgid "matches the non-metacharacter I<c>."
 msgstr "メタ文字ではない I<c> にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1012
+#: original/man1/gawk.1:1535
 #, no-wrap
 msgid "I<\\ec>"
 msgstr "I<\\ec>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1016
+#: original/man1/gawk.1:1539
 msgid "matches the literal character I<c>."
 msgstr "リテラル文字 I<c> にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1016
+#: original/man1/gawk.1:1539
 #, no-wrap
 msgid "B<.>"
 msgstr "B<.>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1021
+#: original/man1/gawk.1:1544
 msgid "matches any character I<including> newline."
 msgstr "改行を I<含む> 任意の 1 文字にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1021 original/man1/gawk.1:1315
+#: original/man1/gawk.1:1544 original/man1/gawk.1:1838
 #, no-wrap
 msgid "B<^>"
 msgstr "B<^>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1024
+#: original/man1/gawk.1:1547
 msgid "matches the beginning of a string."
 msgstr "文字列の先頭にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1024 original/man1/gawk.1:1309
+#: original/man1/gawk.1:1547 original/man1/gawk.1:1832
 #, no-wrap
 msgid "B<$>"
 msgstr "B<$>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1027
+#: original/man1/gawk.1:1550
 msgid "matches the end of a string."
 msgstr "文字列の終端にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1027
+#: original/man1/gawk.1:1550
 #, no-wrap
 msgid "B<[>I<abc.\\|.\\|.>B<]>"
 msgstr "B<[>I<abc.\\|.\\|.>B<]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1031
+#: original/man1/gawk.1:1554
 msgid "character list, matches any of the characters I<abc.\\|.\\|.>."
 msgstr "文字リストであり、 I<abc.\\|.\\|.> のいずれか 1 文字にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1031
+#: original/man1/gawk.1:1554
 #, no-wrap
 msgid "B<[^>I<abc.\\|.\\|.>B<]>"
 msgstr "B<[^>I<abc.\\|.\\|.>B<]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1035
+#: original/man1/gawk.1:1558
 msgid "negated character list, matches any character except I<abc.\\|.\\|.>."
 msgstr "文字リストの逆であり、 I<abc.\\|.\\|.> 以外の 1 文字にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1035
+#: original/man1/gawk.1:1558
 #, no-wrap
 msgid "I<r1>B<|>I<r2>"
 msgstr "I<r1>B<|>I<r2>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1041
+#: original/man1/gawk.1:1564
 msgid "alternation: matches either I<r1> or I<r2>."
 msgstr "選言: I<r1> または I<r2> にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1041
+#: original/man1/gawk.1:1564
 #, no-wrap
 msgid "I<r1r2>"
 msgstr "I<r1r2>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1047
+#: original/man1/gawk.1:1570
 msgid "concatenation: matches I<r1>, and then I<r2>."
 msgstr "結合: I<r1> の直後に I<r2> が続くものにマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1047
+#: original/man1/gawk.1:1570
 #, no-wrap
-msgid "I<r>B<+>"
-msgstr "I<r>B<+>"
+msgid "I<r\\^>B<+>"
+msgstr "I<r\\^>B<+>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1051
-msgid "matches one or more I<r>'s."
-msgstr "I<r> の 1 回以上の繰り返しにマッチします。"
+#: original/man1/gawk.1:1574
+msgid "matches one or more I<r\\^>'s."
+msgstr "I<r\\^> の 1 回以上の繰り返しにマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1051
+#: original/man1/gawk.1:1574
 #, no-wrap
 msgid "I<r>B<*>"
 msgstr "I<r>B<*>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1055
-msgid "matches zero or more I<r>'s."
-msgstr "I<r> の 0 回以上の繰り返しにマッチします。"
+#: original/man1/gawk.1:1578
+msgid "matches zero or more I<r\\^>'s."
+msgstr "I<r\\^> の 0 回以上の繰り返しにマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1055
+#: original/man1/gawk.1:1578
 #, no-wrap
-msgid "I<r>B<?>"
-msgstr "I<r>B<?>"
+msgid "I<r\\^>B<?>"
+msgstr "I<r\\^>B<?>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1059
-msgid "matches zero or one I<r>'s."
-msgstr "I<r> の 0 回または 1 回の繰り返しにマッチします。"
+#: original/man1/gawk.1:1582
+msgid "matches zero or one I<r\\^>'s."
+msgstr "I<r\\^> の 0 回または 1 回の繰り返しにマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1059
+#: original/man1/gawk.1:1582
 #, no-wrap
 msgid "B<(>I<r>B<)>"
 msgstr "B<(>I<r>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1063
+#: original/man1/gawk.1:1586
 msgid "grouping: matches I<r>."
 msgstr "グループ化: I<r> にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1063
+#: original/man1/gawk.1:1586
 #, no-wrap
 msgid "I<r>B<{>I<n>B<}>"
 msgstr "I<r>B<{>I<n>B<}>"
 
 #. type: TP
-#: original/man1/gawk.1:1066
+#: original/man1/gawk.1:1589
 #, no-wrap
 msgid "I<r>B<{>I<n>B<,}>"
 msgstr "I<r>B<{>I<n>B<,}>"
 
 #. type: TP
-#: original/man1/gawk.1:1069
+#: original/man1/gawk.1:1592
 #, no-wrap
 msgid "I<r>B<{>I<n>B<,>I<m>B<}>"
 msgstr "I<r>B<{>I<n>B<,>I<m>B<}>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1090
+#: original/man1/gawk.1:1613
+#, fuzzy
+#| msgid ""
+#| "One or two numbers inside braces denote an I<interval expression>.  If "
+#| "there is one number in the braces, the preceding regexp I<r> is repeated "
+#| "I<n> times.  If there are two numbers separated by a comma, I<r> is "
+#| "repeated I<n> to I<m> times.  If there is one number followed by a comma, "
+#| "then I<r> is repeated at least I<n> times."
 msgid ""
 "One or two numbers inside braces denote an I<interval expression>.  If there "
-"is one number in the braces, the preceding regexp I<r> is repeated I<n> "
-"times.  If there are two numbers separated by a comma, I<r> is repeated I<n> "
-"to I<m> times.  If there is one number followed by a comma, then I<r> is "
-"repeated at least I<n> times."
+"is one number in the braces, the preceding regular expression I<r> is "
+"repeated I<n> times.  If there are two numbers separated by a comma, I<r> is "
+"repeated I<n> to I<m> times.  If there is one number followed by a comma, "
+"then I<r> is repeated at least I<n> times."
 msgstr ""
 "ブレース中に 1 つか 2 つの数値を記述することにより、 I<インターバル表現> を表"
 "します。ブレース中に数値が 1 つある場合、直前の正規表現 I<r> が I<n> 回繰り返"
@@ -1766,116 +2743,145 @@ msgstr ""
 "回繰り返されます。1 つの数値に続いてコンマがある場合、 I<r> は少なくとも "
 "I<n> 回繰り返されます。"
 
-#. type: Plain text
-#: original/man1/gawk.1:1096
-msgid ""
-"Interval expressions are only available if either B<-\\^-posix> or B<-\\^-re-"
-"interval> is specified on the command line."
-msgstr ""
-"インターバル表現は B<-\\^-posix> または B<-\\^-re-interval> がコマンドライン"
-"にて指定されているときのみ利用可能です。"
-
 #. type: TP
-#: original/man1/gawk.1:1096
+#: original/man1/gawk.1:1613
 #, no-wrap
 msgid "B<\\ey>"
 msgstr "B<\\ey>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1100
+#: original/man1/gawk.1:1617
 msgid "matches the empty string at either the beginning or the end of a word."
 msgstr "語の先頭または末尾の空文字列にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1100
+#: original/man1/gawk.1:1617
 #, no-wrap
 msgid "B<\\eB>"
 msgstr "B<\\eB>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1103
+#: original/man1/gawk.1:1620
 msgid "matches the empty string within a word."
 msgstr "語の中の空文字列にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1103
+#: original/man1/gawk.1:1620
 #, no-wrap
 msgid "B<\\eE<lt>>"
 msgstr "B<\\eE<lt>>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1106
+#: original/man1/gawk.1:1623
 msgid "matches the empty string at the beginning of a word."
 msgstr "語の先頭の空文字列にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1106
+#: original/man1/gawk.1:1623
 #, no-wrap
 msgid "B<\\eE<gt>>"
 msgstr "B<\\eE<gt>>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1109
+#: original/man1/gawk.1:1626
 msgid "matches the empty string at the end of a word."
 msgstr "語の末尾の空文字列にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1109
+#: original/man1/gawk.1:1626
+#, no-wrap
+msgid "B<\\es>"
+msgstr "B<\\es>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1629
+#, fuzzy
+#| msgid "matches the literal character I<c>."
+msgid "matches any whitespace character."
+msgstr "リテラル文字 I<c> にマッチします。"
+
+#. type: TP
+#: original/man1/gawk.1:1629
+#, no-wrap
+msgid "B<\\eS>"
+msgstr "B<\\eS>"
+
+#. type: Plain text
+#: original/man1/gawk.1:1632
+#, fuzzy
+#| msgid "matches the non-metacharacter I<c>."
+msgid "matches any nonwhitespace character."
+msgstr "メタ文字ではない I<c> にマッチします。"
+
+#. type: TP
+#: original/man1/gawk.1:1632
 #, no-wrap
 msgid "B<\\ew>"
 msgstr "B<\\ew>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1112
+#: original/man1/gawk.1:1635
 msgid "matches any word-constituent character (letter, digit, or underscore)."
 msgstr "語を構成する文字 (レター、数値、アンダスコア) にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1112
+#: original/man1/gawk.1:1635
 #, no-wrap
 msgid "B<\\eW>"
 msgstr "B<\\eW>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1115
+#: original/man1/gawk.1:1638
 msgid "matches any character that is not word-constituent."
 msgstr "語を構成する文字以外の文字にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1115
+#: original/man1/gawk.1:1638
 #, no-wrap
 msgid "B<\\e`>"
 msgstr "B<\\e`>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1118
+#: original/man1/gawk.1:1641
 msgid "matches the empty string at the beginning of a buffer (string)."
 msgstr "バッファ (文字列) の先頭の空文字列にマッチします。"
 
 #. type: TP
-#: original/man1/gawk.1:1118
+#: original/man1/gawk.1:1641
 #, no-wrap
 msgid "B<\\e'>"
 msgstr "B<\\e'>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1121
+#: original/man1/gawk.1:1644
 msgid "matches the empty string at the end of a buffer."
 msgstr "バッファの末尾の空文字列にマッチします。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1124
+#: original/man1/gawk.1:1647
+#, fuzzy
+#| msgid ""
+#| "The escape sequences that are valid in string constants (see below)  are "
+#| "also legal in regular expressions."
 msgid ""
 "The escape sequences that are valid in string constants (see below)  are "
-"also legal in regular expressions."
+"also valid in regular expressions."
 msgstr ""
 "文字列定数中で用いることができるエスケープシーケンス (後述参照) は、 正規表現"
 "中でも使用することができます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1132
+#: original/man1/gawk.1:1655
+#, fuzzy
+#| msgid ""
+#| "I<Character classes> are a new feature introduced in the \\*(PX "
+#| "standard.  A character class is a special notation for describing lists "
+#| "of characters that have a specific attribute, but where the actual "
+#| "characters themselves can vary from country to country and/or from "
+#| "character set to character set.  For example, the notion of what is an "
+#| "alphabetic character differs in the USA and in France."
 msgid ""
-"I<Character classes> are a new feature introduced in the \\*(PX standard.  A "
+"I<Character classes> are a feature introduced in the \\*(PX standard.  A "
 "character class is a special notation for describing lists of characters "
 "that have a specific attribute, but where the actual characters themselves "
 "can vary from country to country and/or from character set to character "
@@ -1888,80 +2894,86 @@ msgstr ""
 "では異なります。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1141
+#: original/man1/gawk.1:1664
+#, fuzzy
+#| msgid ""
+#| "A character class is only valid in a regexp I<inside> the brackets of a "
+#| "character list.  Character classes consist of B<[:>, a keyword denoting "
+#| "the class, and B<:]>.  Here are the character classes defined by the \\*"
+#| "(PX standard."
 msgid ""
-"A character class is only valid in a regexp I<inside> the brackets of a "
-"character list.  Character classes consist of B<[:>, a keyword denoting the "
-"class, and B<:]>.  Here are the character classes defined by the \\*(PX "
-"standard."
+"A character class is only valid in a regular expression I<inside> the "
+"brackets of a character list.  Character classes consist of B<[:>, a keyword "
+"denoting the class, and B<:]>.  The character classes defined by the \\*(PX "
+"standard are:"
 msgstr ""
 "文字クラスが有効なのは、 文字リストのブラケットの中の正規表現だけです。 文字"
 "クラスは、 B<[:> と、クラスを表現するキーワードと、 B<:]> で構成されます。 以"
 "下に \\*(PX 表現で定義される文字クラスを示します。"
 
 #. type: TP
-#: original/man1/gawk.1:1141
+#: original/man1/gawk.1:1664
 #, no-wrap
 msgid "B<[:alnum:]>"
 msgstr "B<[:alnum:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1144
+#: original/man1/gawk.1:1667
 msgid "Alphanumeric characters."
 msgstr "アルファベットと数値文字。"
 
 #. type: TP
-#: original/man1/gawk.1:1144
+#: original/man1/gawk.1:1667
 #, no-wrap
 msgid "B<[:alpha:]>"
 msgstr "B<[:alpha:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1147
+#: original/man1/gawk.1:1670
 msgid "Alphabetic characters."
 msgstr "アルファベット文字。"
 
 #. type: TP
-#: original/man1/gawk.1:1147
+#: original/man1/gawk.1:1670
 #, no-wrap
 msgid "B<[:blank:]>"
 msgstr "B<[:blank:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1150
+#: original/man1/gawk.1:1673
 msgid "Space or tab characters."
 msgstr "空白とタブ文字。"
 
 #. type: TP
-#: original/man1/gawk.1:1150
+#: original/man1/gawk.1:1673
 #, no-wrap
 msgid "B<[:cntrl:]>"
 msgstr "B<[:cntrl:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1153
+#: original/man1/gawk.1:1676
 msgid "Control characters."
 msgstr "制御文字。"
 
 #. type: TP
-#: original/man1/gawk.1:1153
+#: original/man1/gawk.1:1676
 #, no-wrap
 msgid "B<[:digit:]>"
 msgstr "B<[:digit:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1156
+#: original/man1/gawk.1:1679
 msgid "Numeric characters."
 msgstr "数値文字。"
 
 #. type: TP
-#: original/man1/gawk.1:1156
+#: original/man1/gawk.1:1679
 #, no-wrap
 msgid "B<[:graph:]>"
 msgstr "B<[:graph:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1162
+#: original/man1/gawk.1:1685
 msgid ""
 "Characters that are both printable and visible.  (A space is printable, but "
 "not visible, while an B<a> is both.)"
@@ -1970,81 +2982,96 @@ msgstr ""
 "かつ可視です。)"
 
 #. type: TP
-#: original/man1/gawk.1:1162
+#: original/man1/gawk.1:1685
 #, no-wrap
 msgid "B<[:lower:]>"
 msgstr "B<[:lower:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1165
-msgid "Lower-case alphabetic characters."
+#: original/man1/gawk.1:1688
+#, fuzzy
+#| msgid "Lower-case alphabetic characters."
+msgid "Lowercase alphabetic characters."
 msgstr "アルファベット文字の小文字。"
 
 #. type: TP
-#: original/man1/gawk.1:1165
+#: original/man1/gawk.1:1688
 #, no-wrap
 msgid "B<[:print:]>"
 msgstr "B<[:print:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1168
+#: original/man1/gawk.1:1691
 msgid "Printable characters (characters that are not control characters.)"
 msgstr "印字可能な文字 (制御文字以外)。"
 
 #. type: TP
-#: original/man1/gawk.1:1168
+#: original/man1/gawk.1:1691
 #, no-wrap
 msgid "B<[:punct:]>"
 msgstr "B<[:punct:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1172
+#: original/man1/gawk.1:1695
 msgid ""
 "Punctuation characters (characters that are not letter, digits, control "
 "characters, or space characters)."
 msgstr "句読点文字 (レター、数値、制御文字、空白文字のいずれでもない文字)。"
 
 #. type: TP
-#: original/man1/gawk.1:1172
+#: original/man1/gawk.1:1695
 #, no-wrap
 msgid "B<[:space:]>"
 msgstr "B<[:space:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1175
+#: original/man1/gawk.1:1698
 msgid "Space characters (such as space, tab, and formfeed, to name a few)."
 msgstr "空白文字 (空白、タブ、フォームフィード等の少数の文字を指す)。"
 
 #. type: TP
-#: original/man1/gawk.1:1175
+#: original/man1/gawk.1:1698
 #, no-wrap
 msgid "B<[:upper:]>"
 msgstr "B<[:upper:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1178
-msgid "Upper-case alphabetic characters."
+#: original/man1/gawk.1:1701
+#, fuzzy
+#| msgid "Upper-case alphabetic characters."
+msgid "Uppercase alphabetic characters."
 msgstr "アルファベット文字の大文字。"
 
 #. type: TP
-#: original/man1/gawk.1:1178
+#: original/man1/gawk.1:1701
 #, no-wrap
 msgid "B<[:xdigit:]>"
 msgstr "B<[:xdigit:]>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1181
+#: original/man1/gawk.1:1704
 msgid "Characters that are hexadecimal digits."
 msgstr "16 進数の数値。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1191
+#: original/man1/gawk.1:1717
+#, fuzzy
+#| msgid ""
+#| "For example, before the \\*(PX standard, to match alphanumeric "
+#| "characters, you would have had to write B</[A-Za-z0-9]/>.  If your "
+#| "character set had other alphabetic characters in it, this would not match "
+#| "them.  With the \\*(PX character classes, you can write B</[[:alnum:]]/>, "
+#| "and this will match I<all> the alphabetic and numeric characters in your "
+#| "character set."
 msgid ""
 "For example, before the \\*(PX standard, to match alphanumeric characters, "
 "you would have had to write B</[A-Za-z0-9]/>.  If your character set had "
-"other alphabetic characters in it, this would not match them.  With the \\*"
-"(PX character classes, you can write B</[[:alnum:]]/>, and this will match "
-"I<all> the alphabetic and numeric characters in your character set."
+"other alphabetic characters in it, this would not match them, and if your "
+"character set collated differently from \\s-1ASCII\\s+1, this might not even "
+"match the \\s-1ASCII\\s+1 alphanumeric characters.  With the \\*(PX "
+"character classes, you can write B</[[:alnum:]]/>, and this matches the "
+"alphabetic and numeric characters in your character set, no matter what it "
+"is."
 msgstr ""
 "例えば、\\*(PX 標準以前では、アルファベットと数値の文字にマッチするために"
 "は、 B</[A-Za-z0-9]/> と書きました。しかし、別のアルファベット文字が文字集合"
@@ -2053,14 +3080,22 @@ msgstr ""
 "にマッチします。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1201
+#: original/man1/gawk.1:1727
+#, fuzzy
+#| msgid ""
+#| "Two additional special sequences can appear in character lists.  These "
+#| "apply to non-ASCII character sets, which can have single symbols (called "
+#| "I<collating elements>)  that are represented with more than one "
+#| "character, as well as several characters that are equivalent for "
+#| "I<collating>, or sorting, purposes.  (E.g., in French, a plain ``e'' and "
+#| "a grave-accented e\\` are equivalent.)"
 msgid ""
 "Two additional special sequences can appear in character lists.  These apply "
-"to non-ASCII character sets, which can have single symbols (called "
+"to non-\\s-1ASCII\\s+1 character sets, which can have single symbols (called "
 "I<collating elements>)  that are represented with more than one character, "
 "as well as several characters that are equivalent for I<collating>, or "
-"sorting, purposes.  (E.g., in French, a plain ``e'' and a grave-accented e"
-"\\` are equivalent.)"
+"sorting, purposes.  (E.g., in French, a plain ``e'' and a grave-accented ``e"
+"\\h'-\\w:e:u'\\`'' are equivalent.)"
 msgstr ""
 "文字リスト中には、更に 2 つの特殊シーケンスを使用できます。 これらは、 複数の"
 "文字によって表現される単一シンボル ( I<照合文字> と呼ばれます) を持ち、 複数"
@@ -2069,37 +3104,50 @@ msgstr ""
 "\\` とでは 等価です。)"
 
 #. type: TP
-#: original/man1/gawk.1:1201
+#: original/man1/gawk.1:1727
 #, no-wrap
 msgid "Collating Symbols"
 msgstr "照合シンボル"
 
 #. type: Plain text
-#: original/man1/gawk.1:1217
+#: original/man1/gawk.1:1743
+#, fuzzy
+#| msgid ""
+#| "A collating symbols is a multi-character collating element enclosed in B<"
+#| "[.> and B<.]>.  For example, if B<ch> is a collating element, then B<[[."
+#| "ch.]]> is a regexp that matches this collating element, while B<[ch]> is "
+#| "a regexp that matches either B<c> or B<h>."
 msgid ""
-"A collating symbols is a multi-character collating element enclosed in B<[.> "
+"A collating symbol is a multi-character collating element enclosed in B<[.> "
 "and B<.]>.  For example, if B<ch> is a collating element, then B<[[.ch.]]> "
-"is a regexp that matches this collating element, while B<[ch]> is a regexp "
-"that matches either B<c> or B<h>."
+"is a regular expression that matches this collating element, while B<[ch]> "
+"is a regular expression that matches either B<c> or B<h>."
 msgstr ""
 "参照シンボルは複数文字の参照要素であり、 B<[.> と B<.]> で括ります。 例え"
 "ば、 B<ch> が参照要素の場合、 B<[[.ch.]]> は正規表現となり、この参照要素に"
 "マッチします。 一方、 B<[ch]> は B<c> か B<h> にマッチする正規表現です。"
 
 #. type: TP
-#: original/man1/gawk.1:1217
+#: original/man1/gawk.1:1743
 #, no-wrap
 msgid "Equivalence Classes"
 msgstr "等価クラス"
 
 #. type: Plain text
-#: original/man1/gawk.1:1236
+#: original/man1/gawk.1:1762
+#, fuzzy
+#| msgid ""
+#| "An equivalence class is a locale-specific name for a list of characters "
+#| "that are equivalent.  The name is enclosed in B<[=> and B<=]>.  For "
+#| "example, the name B<e> might be used to represent all of ``e,'' ``e\\`,'' "
+#| "and ``e\\`.'' In this case, B<[[=e]]> is a regexp that matches any of .BR "
+#| "e , .BR e\\' , or .BR e\\` ."
 msgid ""
 "An equivalence class is a locale-specific name for a list of characters that "
 "are equivalent.  The name is enclosed in B<[=> and B<=]>.  For example, the "
-"name B<e> might be used to represent all of ``e,'' ``e\\`,'' and ``e\\`.'' "
-"In this case, B<[[=e]]> is a regexp that matches any of .BR e , .BR e\\' , "
-"or .BR e\\` ."
+"name B<e> might be used to represent all of ``e,'' ``e\\h'-\\w:e:u'\\','' "
+"and ``e\\h'-\\w:e:u'\\`.'' In this case, B<[[=e=]]> is a regular expression "
+"that matches any of B<e>, B<e\\h'-\\w:e:u'\\'>, or B<e\\h'-\\w:e:u'\\`>."
 msgstr ""
 "等価クラスは 等価な文字リストを指すロケール固有の名前です。名前は B<[=> と "
 "B<=]> で括ります。 例えば、名前 B<e> は ``e,'' ``e\\`,'', ``e\\`.'' のすべて"
@@ -2107,7 +3155,7 @@ msgstr ""
 "\\'>, B<e\\`> のいずれかにマッチする正規表現となります。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1243
+#: original/man1/gawk.1:1769
 msgid ""
 "These features are very valuable in non-English speaking locales.  The "
 "library functions that I<gawk> uses for regular expression matching "
@@ -2119,58 +3167,81 @@ msgstr ""
 "シンボルと等価クラスは理解しません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1257
+#: original/man1/gawk.1:1785
+#, fuzzy
+#| msgid ""
+#| "The B<\\ey>, B<\\eB>, B<\\eE<lt>>, B<\\eE<gt>>, B<\\ew>, B<\\eW>, B<"
+#| "\\e`>, and B<\\e'> operators are specific to I<gawk>; they are extensions "
+#| "based on facilities in the \\*(GN regexp libraries."
 msgid ""
-"The B<\\ey>, B<\\eB>, B<\\eE<lt>>, B<\\eE<gt>>, B<\\ew>, B<\\eW>, B<\\e`>, "
-"and B<\\e'> operators are specific to I<gawk>; they are extensions based on "
-"facilities in the \\*(GN regexp libraries."
+"The B<\\ey>, B<\\eB>, B<\\eE<lt>>, B<\\eE<gt>>, B<\\es>, B<\\eS>, B<\\ew>, B<"
+"\\eW>, B<\\e`>, and B<\\e'> operators are specific to I<gawk>; they are "
+"extensions based on facilities in the \\*(GN regular expression libraries."
 msgstr ""
 "B<\\ey>, B<\\eB>, B<\\eE<lt>>, B<\\eE<gt>>, B<\\ew>, B<\\eW>, B<\\e`>, B<"
 "\\e'> の演算子は I<gawk> 固有であり、\\*(GN 正規表現ライブラリの機能を元にし"
 "た拡張です。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1262
+#: original/man1/gawk.1:1790
+#, fuzzy
+#| msgid ""
+#| "The various command line options control how I<gawk> interprets "
+#| "characters in regexps."
 msgid ""
 "The various command line options control how I<gawk> interprets characters "
-"in regexps."
+"in regular expressions."
 msgstr ""
 "様々なコマンドラインオプションによって、正規表現中の文字を I<gawk> がどのよう"
 "に解釈するのかを制御できます。"
 
 #. type: TP
-#: original/man1/gawk.1:1262
+#: original/man1/gawk.1:1790
 #, no-wrap
 msgid "No options"
 msgstr "オプション無し"
 
 #. type: Plain text
-#: original/man1/gawk.1:1269
+#: original/man1/gawk.1:1796
+#, fuzzy
+#| msgid ""
+#| "In the default case, I<gawk> provide all the facilities of \\*(PX regexps "
+#| "and the \\*(GN regexp operators described above.  However, interval "
+#| "expressions are not supported."
 msgid ""
-"In the default case, I<gawk> provide all the facilities of \\*(PX regexps "
-"and the \\*(GN regexp operators described above.  However, interval "
-"expressions are not supported."
+"In the default case, I<gawk> provide all the facilities of \\*(PX regular "
+"expressions and the \\*(GN regular expression operators described above."
 msgstr ""
 "デフォルトでは、 I<gawk> は上述の \\*(PX 正規表現および \\*(GN 正規表現のすべ"
 "ての機能を提供します。 しかしながら、インターバル表現はサポートされません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1277
+#: original/man1/gawk.1:1803
+#, fuzzy
+#| msgid ""
+#| "Only \\*(PX regexps are supported, the \\*(GN operators are not special.  "
+#| "(E.g., B<\\ew> matches a literal B<w>).  Interval expressions are allowed."
 msgid ""
-"Only \\*(PX regexps are supported, the \\*(GN operators are not special.  (E."
-"g., B<\\ew> matches a literal B<w>).  Interval expressions are allowed."
+"Only \\*(PX regular expressions are supported, the \\*(GN operators are not "
+"special.  (E.g., B<\\ew> matches a literal B<w>)."
 msgstr ""
 "\\*(PX 正規表現のみがサポートされ、\\*(GN 演算子はサポートされません (例え"
 "ば、 B<\\ew> はリテラル B<w> にマッチします)。 インターバル表現は許されます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1288
+#: original/man1/gawk.1:1811
+#, fuzzy
+#| msgid ""
+#| "Traditional Unix I<awk> regexps are matched.  The \\*(GN operators are "
+#| "not special, interval expressions are not available, and neither are the "
+#| "\\*(PX character classes (B<[[:alnum:]]> and so on).  Characters "
+#| "described by octal and hexadecimal escape sequences are treated "
+#| "literally, even if they represent regexp metacharacters."
 msgid ""
-"Traditional Unix I<awk> regexps are matched.  The \\*(GN operators are not "
-"special, interval expressions are not available, and neither are the \\*(PX "
-"character classes (B<[[:alnum:]]> and so on).  Characters described by octal "
-"and hexadecimal escape sequences are treated literally, even if they "
-"represent regexp metacharacters."
+"Traditional Unix I<awk> regular expressions are matched.  The \\*(GN "
+"operators are not special, and interval expressions are not available.  "
+"Characters described by octal and hexadecimal escape sequences are treated "
+"literally, even if they represent regular expression metacharacters."
 msgstr ""
 "伝統的な Unix I<awk> の正規表現がサポートされます。\\*(GN 演算子、インターバ"
 "ル表現、 \\*(PX 文字クラス ( B<[[:alnum:]]> など) はサポートされません。 8 進"
@@ -2178,22 +3249,26 @@ msgstr ""
 "現するとしても、 リテラルとして扱われます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1293
+#: original/man1/gawk.1:1816
+#, fuzzy
+#| msgid ""
+#| "Allow interval expressions in regexps, even if B<-\\^-traditional> has "
+#| "been provided."
 msgid ""
-"Allow interval expressions in regexps, even if B<-\\^-traditional> has been "
-"provided."
+"Allow interval expressions in regular expressions, even if B<-\\^-"
+"traditional> has been provided."
 msgstr ""
 "B<-\\^-traditional> が指定されていたとしても、正規表現中でインターバル表現を"
 "サポートします。"
 
 #. type: SS
-#: original/man1/gawk.1:1293
+#: original/man1/gawk.1:1816
 #, no-wrap
 msgid "Actions"
 msgstr "アクション"
 
 #. type: Plain text
-#: original/man1/gawk.1:1302
+#: original/man1/gawk.1:1825
 msgid ""
 "Action statements are enclosed in braces, B<{> and B<}>.  Action statements "
 "consist of the usual assignment, conditional, and looping statements found "
@@ -2205,45 +3280,45 @@ msgstr ""
 "す。"
 
 #. type: SS
-#: original/man1/gawk.1:1302
+#: original/man1/gawk.1:1825
 #, no-wrap
 msgid "Operators"
 msgstr "演算子"
 
 #. type: Plain text
-#: original/man1/gawk.1:1305
+#: original/man1/gawk.1:1828
 msgid "The operators in \\*(AK, in order of decreasing precedence, are"
 msgstr "\\*(AK での演算子を、優先順位の高いものから順に示します。"
 
 #. type: TP
-#: original/man1/gawk.1:1306
+#: original/man1/gawk.1:1829
 #, no-wrap
 msgid "B<(>\\&.\\|.\\|.B<)>"
 msgstr "B<(>\\&.\\|.\\|.B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1309
+#: original/man1/gawk.1:1832
 msgid "Grouping"
 msgstr "グループ化。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1312
+#: original/man1/gawk.1:1835
 msgid "Field reference."
 msgstr "フィールド参照。"
 
 #. type: TP
-#: original/man1/gawk.1:1312
+#: original/man1/gawk.1:1835
 #, no-wrap
 msgid "B<++ -\\^->"
 msgstr "B<++ -\\^->"
 
 #. type: Plain text
-#: original/man1/gawk.1:1315
+#: original/man1/gawk.1:1838
 msgid "Increment and decrement, both prefix and postfix."
 msgstr "インクリメント、デクリメント。前置も後置も可能。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1319
+#: original/man1/gawk.1:1842
 msgid ""
 "Exponentiation (B<**> may also be used, and B<**=> for the assignment "
 "operator)."
@@ -2251,82 +3326,88 @@ msgstr ""
 "べき乗 (B<**> も同様の意味で使用できる。また B<**=> 代入演算子も存在する)。"
 
 #. type: TP
-#: original/man1/gawk.1:1319
+#: original/man1/gawk.1:1842
 #, no-wrap
 msgid "B<+ - !>"
 msgstr "B<+ - !>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1322
+#: original/man1/gawk.1:1845
 msgid "Unary plus, unary minus, and logical negation."
 msgstr "単項のプラス、マイナス、論理否定。"
 
 #. type: TP
-#: original/man1/gawk.1:1322
+#: original/man1/gawk.1:1845
 #, no-wrap
 msgid "B<* / %>"
 msgstr "B<* / %>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1325
+#: original/man1/gawk.1:1848
 msgid "Multiplication, division, and modulus."
 msgstr "乗算、除算、剰余。"
 
 #. type: TP
-#: original/man1/gawk.1:1325
+#: original/man1/gawk.1:1848
 #, no-wrap
 msgid "B<+ ->"
 msgstr "B<+ ->"
 
 #. type: Plain text
-#: original/man1/gawk.1:1328
+#: original/man1/gawk.1:1851
 msgid "Addition and subtraction."
 msgstr "加算と減算。"
 
 #. type: TP
-#: original/man1/gawk.1:1328 original/man1/gawk.1:1647
+#: original/man1/gawk.1:1851 original/man1/gawk.1:2215
 #, no-wrap
 msgid "I<space>"
 msgstr "I<空白>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1331
+#: original/man1/gawk.1:1854
 msgid "String concatenation."
 msgstr "文字列結合。"
 
 #. type: TP
-#: original/man1/gawk.1:1331
+#: original/man1/gawk.1:1854
 #, no-wrap
-msgid "B<E<lt> E<gt>>"
-msgstr "B<E<lt> E<gt>>"
+msgid "B<|   |&>"
+msgstr ""
 
-#. type: TP
-#: original/man1/gawk.1:1334
-#, no-wrap
-msgid "B<E<lt>= E<gt>=>"
-msgstr "B<E<lt>= E<gt>=>"
+#. type: Plain text
+#: original/man1/gawk.1:1861
+msgid "Piped I/O for B<getline>, B<print>, and B<printf>."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1337
+#: original/man1/gawk.1:1861
 #, no-wrap
-msgid "B<!= ==>"
-msgstr "B<!= ==>"
+msgid "B<E<lt> E<gt> E<lt>= E<gt>= != ==>"
+msgstr "B<E<lt> E<gt> E<lt>= E<gt>= != ==>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1341
+#: original/man1/gawk.1:1864
 msgid "The regular relational operators."
 msgstr "通常の関係演算子。"
 
 #. type: TP
-#: original/man1/gawk.1:1341
+#: original/man1/gawk.1:1864
 #, no-wrap
 msgid "B<~ !~>"
 msgstr "B<~ !~>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1357
+#: original/man1/gawk.1:1880
+#, fuzzy
+#| msgid ""
+#| "Regular expression match, negated match.  B<NOTE:> Do not use a constant "
+#| "regular expression (B</foo/>)  on the left-hand side of a B<~> or B<!~>.  "
+#| "Only use one on the right-hand side.  The expression B</foo/ ~ >I<exp> "
+#| "has the same meaning as B<(($0 ~ /foo/) ~ >I<exp>B<)>.  This is usually "
+#| "I<not> what was intended."
 msgid ""
-"Regular expression match, negated match.  B<NOTE:> Do not use a constant "
+"Regular expression match, negated match.  B<NOTE>: Do not use a constant "
 "regular expression (B</foo/>)  on the left-hand side of a B<~> or B<!~>.  "
 "Only use one on the right-hand side.  The expression B</foo/ ~ >I<exp> has "
 "the same meaning as B<(($0 ~ /foo/) ~ >I<exp>B<)>.  This is usually I<not> "
@@ -2338,46 +3419,46 @@ msgstr ""
 "は通常意図するものとは異なります。"
 
 #. type: TP
-#: original/man1/gawk.1:1357
+#: original/man1/gawk.1:1880
 #, no-wrap
 msgid "B<in>"
 msgstr "B<in>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1360
+#: original/man1/gawk.1:1883
 msgid "Array membership."
 msgstr "配列のメンバ。"
 
 #. type: TP
-#: original/man1/gawk.1:1360
+#: original/man1/gawk.1:1883
 #, no-wrap
 msgid "B<&&>"
 msgstr "B<&&>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1363
+#: original/man1/gawk.1:1886
 msgid "Logical AND."
 msgstr "論理 AND。"
 
 #. type: TP
-#: original/man1/gawk.1:1363
+#: original/man1/gawk.1:1886
 #, no-wrap
 msgid "B<||>"
 msgstr "B<||>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1366
+#: original/man1/gawk.1:1889
 msgid "Logical OR."
 msgstr "論理 OR。"
 
 #. type: TP
-#: original/man1/gawk.1:1366
+#: original/man1/gawk.1:1889
 #, no-wrap
 msgid "B<?:>"
 msgstr "B<?:>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1382
+#: original/man1/gawk.1:1905
 msgid ""
 "The C conditional expression.  This has the form I<expr1>B< ? >I<expr2>B< : "
 ">I<expr3>\\&.  If I<expr1> is true, the value of the expression is I<expr2>, "
@@ -2388,19 +3469,13 @@ msgstr ""
 "になります。 I<expr2> か I<expr3> のうち片方のみが評価されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1382
-#, no-wrap
-msgid "B<= += -=>"
-msgstr "B<= += -=>"
-
-#. type: TP
-#: original/man1/gawk.1:1385
+#: original/man1/gawk.1:1905
 #, no-wrap
-msgid "B<*= /= %= ^=>"
-msgstr "B<*= /= %= ^=>"
+msgid "B<= += -= *= /= %= ^=>"
+msgstr "B<= += -= *= /= %= ^=>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1391
+#: original/man1/gawk.1:1910
 msgid ""
 "Assignment.  Both absolute assignment B<(>I<var>B< = >I<value>B<)> and "
 "operator-assignment (the other forms) are supported."
@@ -2409,18 +3484,18 @@ msgstr ""
 "トされています。"
 
 #. type: SS
-#: original/man1/gawk.1:1391
+#: original/man1/gawk.1:1910
 #, no-wrap
 msgid "Control Statements"
 msgstr "制御ステートメント"
 
 #. type: Plain text
-#: original/man1/gawk.1:1395
+#: original/man1/gawk.1:1914
 msgid "The control statements are as follows:"
 msgstr "制御ステートメントは以下のとおりです。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1409
+#: original/man1/gawk.1:1933
 #, no-wrap
 msgid ""
 "B<if (>I<condition>B<) >I<statement> [ B<else>I< statement >]\n"
@@ -2434,6 +3509,11 @@ msgid ""
 "B<delete >I<array\\^>\n"
 "B<exit> [ I<expression> ]\n"
 "B<{ >I<statements >B<}>\n"
+"B<switch (>I<expression>B<) {\n"
+"case >I<value>B<|>I<regex>B< : >I<statement\n"
+"\\&.\\^.\\^.\n"
+">[ B<default: >I<statement >]\n"
+"B<}>\n"
 msgstr ""
 "B<if (>I<condition>B<) >I<statement> [ B<else>I< statement >]\n"
 "B<while (>I<condition>B<) >I<statement >\n"
@@ -2442,89 +3522,122 @@ msgstr ""
 "B<for (>I<var >B<in>I< array>B<) >I<statement>\n"
 "B<break>\n"
 "B<continue>\n"
-"B<delete >I<array\\|>B<[\\|>I<index\\|>B<]>\n"
-"B<delete >I<array\\|>\n"
+"B<delete >I<array\\^>B<[\\^>I<index\\^>B<]>\n"
+"B<delete >I<array\\^>\n"
 "B<exit> [ I<expression> ]\n"
 "B<{ >I<statements >B<}>\n"
+"B<switch (>I<expression>B<) {\n"
+"case >I<value>B<|>I<regex>B< : >I<statement\n"
+"\\&.\\^.\\^.\n"
+">[ B<default: >I<statement >]\n"
+"B<}>\n"
 
 #. type: SS
-#: original/man1/gawk.1:1411
+#: original/man1/gawk.1:1935
 #, no-wrap
 msgid "I/O Statements"
 msgstr "入出力ステートメント"
 
 #. type: Plain text
-#: original/man1/gawk.1:1414
+#: original/man1/gawk.1:1938
 msgid "The input/output statements are as follows:"
 msgstr "入出力ステートメントは以下のとおりです。"
 
 #. type: TP
-#: original/man1/gawk.1:1415
+#: original/man1/gawk.1:1939
 #, no-wrap
-msgid "B<close(>I<file>B<)>"
-msgstr "B<close(>I<file>B<)>"
+msgid "B<close(>I<file >[B<, >I<how>]B<)>"
+msgstr "B<close(>I<file >[B<, >I<how>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1418
-msgid "Close file (or pipe, see below)."
-msgstr "ファイル (またはパイプ、下記参照) をクローズします。"
+#: original/man1/gawk.1:1948
+msgid ""
+"Close file, pipe or co-process.  The optional I<how> should only be used "
+"when closing one end of a two-way pipe to a co-process.  It must be a string "
+"value, either B<\"to\"> or B<\"from\">."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1418
+#: original/man1/gawk.1:1948
 #, no-wrap
 msgid "B<getline>"
 msgstr "B<getline>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1426
+#: original/man1/gawk.1:1956
 msgid "Set B<$0> from next input record; set B<NF>, B<NR>, B<FNR>."
 msgstr ""
 "次のレコードを B<$0> に読み込みます。 B<NF>, B<NR>, B<FNR> が設定されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1426
+#: original/man1/gawk.1:1956
 #, no-wrap
 msgid "B<getline E<lt>>I<file>"
 msgstr "B<getline E<lt>>I<file>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1434
+#: original/man1/gawk.1:1964
 msgid "Set B<$0> from next record of I<file>; set B<NF>."
 msgstr ""
 "ファイル I<file> から次のレコードを B<$0> に読み込みます。 B<NF> が設定されま"
 "す。"
 
 #. type: TP
-#: original/man1/gawk.1:1434
+#: original/man1/gawk.1:1964
 #, no-wrap
 msgid "B<getline>I< var>"
 msgstr "B<getline>I< var>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1441
+#: original/man1/gawk.1:1971
 msgid "Set I<var> from next input record; set B<NR>, B<FNR>."
 msgstr ""
 "次のレコードを変数 I<var> に読み込みます。 B<NR>, B<FNR> が設定されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1441
+#: original/man1/gawk.1:1971
 #, no-wrap
 msgid "B<getline>I< var>B< E<lt>>I<file>"
 msgstr "B<getline>I< var>B< E<lt>>I<file>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1447
+#: original/man1/gawk.1:1977
 msgid "Set I<var> from next record of I<file>."
 msgstr "ファイル I<file> から次のレコードを変数 I<var> に読み込みます。"
 
 #. type: TP
-#: original/man1/gawk.1:1447
+#: original/man1/gawk.1:1977
+#, no-wrap
+msgid "I<command>B< | getline >[I<var>]"
+msgstr "I<command>B< | getline >[I<var>]"
+
+#. type: Plain text
+#: original/man1/gawk.1:1986
+msgid "Run I<command> piping the output either into B<$0> or I<var>, as above."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:1986
+#, no-wrap
+msgid "I<command>B< |& getline >[I<var>]"
+msgstr "I<command>B< |& getline >[I<var>]"
+
+#. type: Plain text
+#: original/man1/gawk.1:2003
+msgid ""
+"Run I<command> as a co-process piping the output either into B<$0> or "
+"I<var>, as above.  Co-processes are a I<gawk> extension.  (I<command> can "
+"also be a socket.  See the subsection B<Special File Names>, below.)"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2003
 #, no-wrap
 msgid "B<next>"
 msgstr "B<next>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1454
+#: original/man1/gawk.1:2010
 msgid ""
 "Stop processing the current input record.  The next input record is read and "
 "processing starts over with the first pattern in the \\*(AK program.  If the "
@@ -2536,54 +3649,64 @@ msgstr ""
 "されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1454
+#: original/man1/gawk.1:2010
 #, no-wrap
 msgid "B<nextfile>"
 msgstr "B<nextfile>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1472
+#: original/man1/gawk.1:2023
+#, fuzzy
+#| msgid ""
+#| "Stop processing the current input record.  The next input record is read "
+#| "and processing starts over with the first pattern in the \\*(AK program.  "
+#| "If the end of the input data is reached, the B<END> block(s), if any, are "
+#| "executed."
 msgid ""
 "Stop processing the current input file.  The next input record read comes "
 "from the next input file.  B<FILENAME> and B<ARGIND> are updated, B<FNR> is "
 "reset to 1, and processing starts over with the first pattern in the \\*(AK "
-"program.  If the end of the input data is reached, the B<END> block(s), if "
-"any, are executed.  B<NOTE:> Earlier versions of gawk used B<next file>, as "
-"two words.  While this usage is still recognized, it generates a warning "
-"message and will eventually be removed."
+"program. If the end of the input data is reached, the B<END> block(s), if "
+"any, are executed."
 msgstr ""
-"現在の入力ファイルに対する処理を終了し、次の入力ファイルからレコードを 読み込"
-"みます。 B<FILENAME> と B<ARGIND> が更新され、 B<FNR> が 1 にリセットさ"
-"れ、\\*(AK プログラムの 最初のパターンから処理が開始されます。入力データの終"
-"端に達したときは、 もし存在すれば、 B<END> ブロックが実行されます。 B<注:> 以"
-"前のバージョンの gawk では B<next file> と 2 語で使用されていました。この用法"
-"はまだ認識されますが、 警告メッセージを生じさせますし、最終的には無くなる表現"
-"です。"
+"現在のレコードに対する処理を終了し、次のレコードを読み込み、\\*(AK プログ ラ"
+"ムの最初のパターンから処理を開始します。 C 言語の continue と類似した意味を持"
+"ちます。 もし、入力データの終端に達した場合、 B<END> ブロックが存在すれば実行"
+"されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1472
+#: original/man1/gawk.1:2023
 #, no-wrap
 msgid "B<print>"
 msgstr "B<print>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1478
+#: original/man1/gawk.1:2029
+#, fuzzy
+#| msgid ""
+#| "Prints the current record.  The output record is terminated with the "
+#| "value of the B<ORS> variable."
 msgid ""
-"Prints the current record.  The output record is terminated with the value "
-"of the B<ORS> variable."
+"Print the current record.  The output record is terminated with the value of "
+"the B<ORS> variable."
 msgstr ""
 "現在のレコードを出力します。 出力レコードは B<ORS> 変数の値にて終端されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1478
+#: original/man1/gawk.1:2029
 #, no-wrap
 msgid "B<print>I< expr-list>"
 msgstr "B<print>I< expr-list>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1487
+#: original/man1/gawk.1:2038
+#, fuzzy
+#| msgid ""
+#| "Prints expressions.  Each expression is separated by the value of the "
+#| "B<OFS> variable.  The output record is terminated with the value of the "
+#| "B<ORS> variable."
 msgid ""
-"Prints expressions.  Each expression is separated by the value of the B<OFS> "
+"Print expressions.  Each expression is separated by the value of the B<OFS> "
 "variable.  The output record is terminated with the value of the B<ORS> "
 "variable."
 msgstr ""
@@ -2591,15 +3714,20 @@ msgstr ""
 "は B<ORS> の値が付加されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1487
+#: original/man1/gawk.1:2038
 #, no-wrap
 msgid "B<print>I< expr-list>B< E<gt>>I<file>"
 msgstr "B<print>I< expr-list>B< E<gt>>I<file>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1496
+#: original/man1/gawk.1:2047
+#, fuzzy
+#| msgid ""
+#| "Prints expressions on I<file>.  Each expression is separated by the value "
+#| "of the B<OFS> variable.  The output record is terminated with the value "
+#| "of the B<ORS> variable."
 msgid ""
-"Prints expressions on I<file>.  Each expression is separated by the value of "
+"Print expressions on I<file>.  Each expression is separated by the value of "
 "the B<OFS> variable.  The output record is terminated with the value of the "
 "B<ORS> variable."
 msgstr ""
@@ -2607,35 +3735,35 @@ msgstr ""
 "るレコードの 最後には B<ORS> の値が付加されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1496
+#: original/man1/gawk.1:2047
 #, no-wrap
 msgid "B<printf>I< fmt, expr-list>"
 msgstr "B<printf>I< fmt, expr-list>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1499
-msgid "Format and print."
-msgstr "書式付き出力です。"
+#: original/man1/gawk.1:2051
+msgid "Format and print.  See B<The >I<printf >B<Statement>, below."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1499
+#: original/man1/gawk.1:2051
 #, no-wrap
 msgid "B<printf>I< fmt, expr-list>B< E<gt>>I<file>"
 msgstr "B<printf>I< fmt, expr-list>B< E<gt>>I<file>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1503
+#: original/man1/gawk.1:2055
 msgid "Format and print on I<file>."
 msgstr "ファイル I<file> への書式付き出力です。"
 
 #. type: TP
-#: original/man1/gawk.1:1503
+#: original/man1/gawk.1:2055
 #, no-wrap
 msgid "B<system(>I<cmd-line>B<)>"
 msgstr "B<system(>I<cmd-line>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1509
+#: original/man1/gawk.1:2061
 msgid ""
 "Execute the command I<cmd-line>, and return the exit status.  (This may not "
 "be available on non-\\*(PX systems.)"
@@ -2644,17 +3772,23 @@ msgstr ""
 "システムでは使用できない場合があります)。"
 
 #. type: TP
-#: original/man1/gawk.1:1509
+#: original/man1/gawk.1:2061
 #, no-wrap
 msgid "\\&B<fflush(>[I<file\\^>]B<)>"
 msgstr "\\&B<fflush(>[I<file\\|>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1521
+#: original/man1/gawk.1:2072
+#, fuzzy
+#| msgid ""
+#| "Flush any buffers associated with the open output file or pipe I<file>.  "
+#| "If I<file> is missing, then standard output is flushed.  If I<file> is "
+#| "the null string, then all open output files and pipes have their buffers "
+#| "flushed."
 msgid ""
 "Flush any buffers associated with the open output file or pipe I<file>.  If "
-"I<file> is missing, then standard output is flushed.  If I<file> is the null "
-"string, then all open output files and pipes have their buffers flushed."
+"I<file> is missing, then flush standard output.  If I<file> is the null "
+"string, then flush all open output files and pipes."
 msgstr ""
 "オープンされている出力ファイルまたはパイプ I<file> に関連づけられているバッ"
 "ファをフラッシュします。 I<file> を指定しないと、標準出力がフラッシュされま"
@@ -2662,26 +3796,66 @@ msgstr ""
 "バッファを フラッシュします。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1539
+#: original/man1/gawk.1:2077
+msgid "Additional output redirections are allowed for B<print> and B<printf>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2077
+#, no-wrap
+msgid "B<print .\\|.\\|. E<gt>E<gt>>I< file>"
+msgstr "B<print .\\|.\\|. E<gt>E<gt>>I< file>"
+
+#. type: Plain text
+#: original/man1/gawk.1:2081
+msgid "Appends output to the I<file>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2081
+#, no-wrap
+msgid "B<print .\\|.\\|. |>I< command>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2084
+msgid "Writes on a pipe."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2084
+#, no-wrap
+msgid "B<print .\\|.\\|. |&>I< command>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2090
 msgid ""
-"Other input/output redirections are also allowed.  For B<print> and "
-"B<printf>, B<E<gt>E<gt>>I< file> appends output to the I<file>, while B<|>I< "
-"command> writes on a pipe.  In a similar fashion, I<command>B< | getline> "
-"pipes into B<getline>.  The B<getline> command will return 0 on end of file, "
-"and -1 on an error."
+"Sends data to a co-process or socket.  (See also the subsection B<Special "
+"File Names>, below.)"
 msgstr ""
-"その他の形式のリダイレクトとして以下のものが利用可能です。 B<print> と "
-"B<printf> に対して、 B<E<gt>E<gt>>I< file> を指定すると出力はファイル "
-"I<file> に追加され、 B<|>I< command> は出力をパイプに対して行います。同様"
-"に、 I<command>B<| getline> はコマンドの出力から B<getline> を行ないます。 "
-"B<getline> はファイル終端では 0 を、エラー時には -1 を返します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1553
+#: original/man1/gawk.1:2097
 msgid ""
-"NOTE: If using a pipe to B<getline>, or from B<print> or B<printf> within a "
-"loop, you I<must> use B<close()> to create new instances of the command.  "
-"AWK does not automatically close pipes when they return EOF."
+"The B<getline> command returns 1 on success, 0 on end of file, and -1 on an "
+"error.  Upon an error, B<ERRNO> contains a string describing the problem."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2113
+#, fuzzy
+#| msgid ""
+#| "NOTE: If using a pipe to B<getline>, or from B<print> or B<printf> within "
+#| "a loop, you I<must> use B<close()> to create new instances of the "
+#| "command.  AWK does not automatically close pipes when they return EOF."
+msgid ""
+"B<NOTE>: Failure in opening a two-way socket will result in a non-fatal "
+"error being returned to the calling function. If using a pipe, co-process, "
+"or socket to B<getline>, or from B<print> or B<printf> within a loop, you "
+"I<must> use B<close()> to create new instances of the command or socket.  \\*"
+"(AK does not automatically close pipes, sockets, or co-processes when they "
+"return EOF."
 msgstr ""
 "注: ループ中で B<getline> へパイプ書き込みする場合または B<print> か "
 "B<printf> からパイプ読み取りする場合、 コマンドの新インスタンスを作成するため"
@@ -2689,13 +3863,13 @@ msgstr ""
 "自動的にはパイプを閉じません。"
 
 #. type: SS
-#: original/man1/gawk.1:1553
+#: original/man1/gawk.1:2113
 #, no-wrap
 msgid "The I<printf>\\^ Statement"
 msgstr "I<printf>\\| ステートメント"
 
 #. type: Plain text
-#: original/man1/gawk.1:1562
+#: original/man1/gawk.1:2122
 msgid ""
 "The \\*(AK versions of the B<printf> statement and B<sprintf()> function "
 "(see below)  accept the following conversion specification formats:"
@@ -2704,53 +3878,47 @@ msgstr ""
 "の変換指定書式を受け付けます。"
 
 #. type: TP
-#: original/man1/gawk.1:1562
+#: original/man1/gawk.1:2122
 #, no-wrap
 msgid "B<%c>"
 msgstr "B<%c>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1570
+#: original/man1/gawk.1:2130
+#, fuzzy
+#| msgid ""
+#| "An \\s-1ASCII\\s+1 character.  If the argument used for B<%c> is numeric, "
+#| "it is treated as a character and printed.  Otherwise, the argument is "
+#| "assumed to be a string, and the only first character of that string is "
+#| "printed."
 msgid ""
-"An \\s-1ASCII\\s+1 character.  If the argument used for B<%c> is numeric, it "
-"is treated as a character and printed.  Otherwise, the argument is assumed "
-"to be a string, and the only first character of that string is printed."
+"A single character.  If the argument used for B<%c> is numeric, it is "
+"treated as a character and printed.  Otherwise, the argument is assumed to "
+"be a string, and the only first character of that string is printed."
 msgstr ""
 "1 つの \\s-1ASCII\\s+1 文字。 B<%c> に対応する引数が数値なら、その値を "
 "\\s-1ASCII\\s+1 コードとみなし て文字に変換します。そうでなければ、引数は文字"
 "列であると解釈され、その 1 文字目が出力されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1570
-#, no-wrap
-msgid "B<%d>"
-msgstr "B<%d>"
-
-#. type: TP
-#: original/man1/gawk.1:1573
+#: original/man1/gawk.1:2130
 #, no-wrap
-msgid "B<%i>"
-msgstr "B<%i>"
+msgid "B<%d>,B< %i>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1577
+#: original/man1/gawk.1:2133
 msgid "A decimal number (the integer part)."
 msgstr "10 進数 (整数部分)。"
 
 #. type: TP
-#: original/man1/gawk.1:1577
-#, no-wrap
-msgid "B<%e>"
-msgstr "B<%e>"
-
-#. type: TP
-#: original/man1/gawk.1:1580
+#: original/man1/gawk.1:2133
 #, no-wrap
-msgid "B<%E>"
-msgstr "B<%E>"
+msgid "B<%e>,B< %E>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1591
+#: original/man1/gawk.1:2143
 msgid ""
 "A floating point number of the form B<[-]d.dddddde[+\\^-]dd>.  The B<%E> "
 "format uses B<E> instead of B<e>."
@@ -2759,30 +3927,28 @@ msgstr ""
 "に B<E> が使用されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1591
+#: original/man1/gawk.1:2143
 #, no-wrap
-msgid "B<%f>"
-msgstr "B<%f>"
+msgid "B<%f>,B< %F>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1595
-msgid "A floating point number of the form B<[-]ddd.dddddd>."
-msgstr "B<[-]ddd.dddddd> という形式の浮動小数点数。"
-
-#. type: TP
-#: original/man1/gawk.1:1595
-#, no-wrap
-msgid "B<%g>"
-msgstr "B<%g>"
+#: original/man1/gawk.1:2158
+msgid ""
+"A floating point number of the form B<[-]ddd.dddddd>.  If the system library "
+"supports it, B<%F> is available as well. This is like B<%f>, but uses "
+"capital letters for special ``not a number'' and ``infinity'' values. If B<"
+"%F> is not available, I<gawk> uses B<%f>."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1598
+#: original/man1/gawk.1:2158
 #, no-wrap
-msgid "B<%G>"
-msgstr "B<%G>"
+msgid "B<%g>,B< %G>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1612
+#: original/man1/gawk.1:2171
 msgid ""
 "Use B<%e> or B<%f> conversion, whichever is shorter, with nonsignificant "
 "zeros suppressed.  The B<%G> format uses B<%E> instead of B<%e>."
@@ -2791,52 +3957,46 @@ msgstr ""
 "形式では B<%e> の代りに B<%E> を使用します。"
 
 #. type: TP
-#: original/man1/gawk.1:1612
+#: original/man1/gawk.1:2171
 #, no-wrap
 msgid "B<%o>"
 msgstr "B<%o>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1615
+#: original/man1/gawk.1:2174
 msgid "An unsigned octal number (also an integer)."
 msgstr "符号なしの 8 進数 (整数)。"
 
 #. type: TP
-#: original/man1/gawk.1:1615
+#: original/man1/gawk.1:2174
 #, no-wrap
 msgid "B<%u>"
 msgstr "B<%u>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1619
+#: original/man1/gawk.1:2178
 msgid "An unsigned decimal number (again, an integer)."
 msgstr "符号なしの 10 進数 (整数)。"
 
 #. type: TP
-#: original/man1/gawk.1:1619
+#: original/man1/gawk.1:2178
 #, no-wrap
 msgid "B<%s>"
 msgstr "B<%s>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1622
+#: original/man1/gawk.1:2181
 msgid "A character string."
 msgstr "文字列。"
 
 #. type: TP
-#: original/man1/gawk.1:1622
-#, no-wrap
-msgid "B<%x>"
-msgstr "B<%x>"
-
-#. type: TP
-#: original/man1/gawk.1:1625
+#: original/man1/gawk.1:2181
 #, no-wrap
-msgid "B<%X>"
-msgstr "B<%X>"
+msgid "B<%x>,B< %X>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:1635
+#: original/man1/gawk.1:2190
 msgid ""
 "An unsigned hexadecimal number (an integer).  The B<%X> format uses "
 "B<ABCDEF> instead of B<abcdef>."
@@ -2845,38 +4005,57 @@ msgstr ""
 "用います。"
 
 #. type: TP
-#: original/man1/gawk.1:1635
+#: original/man1/gawk.1:2190
 #, no-wrap
 msgid "B<%%>"
 msgstr "B<%%>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1640
+#: original/man1/gawk.1:2195
 msgid "A single B<%> character; no argument is converted."
 msgstr "単一の文字 B<%> 。引数は使用しません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1644
+#: original/man1/gawk.1:2199
+#, fuzzy
+#| msgid ""
+#| "There are optional, additional parameters that may lie between the B<%> "
+#| "and the control letter:"
 msgid ""
-"There are optional, additional parameters that may lie between the B<%> and "
-"the control letter:"
+"Optional, additional parameters may lie between the B<%> and the control "
+"letter:"
 msgstr ""
 "B<%> と上記の制御文字との間にオプショナルな追加のパラメータを置く ことができ"
 "ます。以下にそれらを示します。"
 
 #. type: TP
-#: original/man1/gawk.1:1644
+#: original/man1/gawk.1:2199
+#, no-wrap
+msgid "I<count>B<$>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2212
+msgid ""
+"Use the I<count>'th argument at this point in the formatting.  This is "
+"called a I<positional specifier> and is intended primarily for use in "
+"translated versions of format strings, not in the original text of an AWK "
+"program.  It is a I<gawk> extension."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2212
 #, no-wrap
 msgid "B<->"
 msgstr "B<->"
 
 #. type: Plain text
-#: original/man1/gawk.1:1647
+#: original/man1/gawk.1:2215
 msgid "The expression should be left-justified within its field."
 msgstr "左寄せ。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1651
+#: original/man1/gawk.1:2219
 msgid ""
 "For numeric conversions, prefix positive values with a space, and negative "
 "values with a minus sign."
@@ -2885,13 +4064,13 @@ msgstr ""
 "はマイナス記号となります。"
 
 #. type: TP
-#: original/man1/gawk.1:1651
+#: original/man1/gawk.1:2219
 #, no-wrap
 msgid "B<+>"
 msgstr "B<+>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1658
+#: original/man1/gawk.1:2226
 msgid ""
 "The plus sign, used before the width modifier (see below), says to always "
 "supply a sign for numeric conversions, even if the data to be formatted is "
@@ -2902,19 +4081,26 @@ msgstr ""
 "先します。"
 
 #. type: TP
-#: original/man1/gawk.1:1658
+#: original/man1/gawk.1:2226
 #, no-wrap
 msgid "B<#>"
 msgstr "B<#>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1686
+#: original/man1/gawk.1:2255
+#, fuzzy
+#| msgid ""
+#| "Use an ``alternate form'' for certain control letters.  For B<%o>, supply "
+#| "a leading zero.  For B<%x>, and B<%X>, supply a leading B<0x> or B<0X> "
+#| "for a nonzero result.  For B<%e>, B<%E>, and B<%f>, the result will "
+#| "always contain a decimal point.  For B<%g>, and B<%G>, trailing zeros are "
+#| "not removed from the result."
 msgid ""
 "Use an ``alternate form'' for certain control letters.  For B<%o>, supply a "
 "leading zero.  For B<%x>, and B<%X>, supply a leading B<0x> or B<0X> for a "
-"nonzero result.  For B<%e>, B<%E>, and B<%f>, the result will always contain "
-"a decimal point.  For B<%g>, and B<%G>, trailing zeros are not removed from "
-"the result."
+"nonzero result.  For B<%e>, B<%E>, B<%f> and B<%F>, the result always "
+"contains a decimal point.  For B<%g>, and B<%G>, trailing zeros are not "
+"removed from the result."
 msgstr ""
 "ある制御レターに対して「別の形式」を使用します。 B<%o> に対しては先行する 0 "
 "を与え、 B<%x> と B<%X> に対しては非 0 の結果に対して先行する B<0x> と B<0X> "
@@ -2922,16 +4108,22 @@ msgstr ""
 "%g>, B<%G> に対しては結果の末尾から 0 を取り除きません。"
 
 #. type: TP
-#: original/man1/gawk.1:1686
+#: original/man1/gawk.1:2255
 #, no-wrap
 msgid "B<0>"
 msgstr "B<0>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1695
+#: original/man1/gawk.1:2264
+#, fuzzy
+#| msgid ""
+#| "A leading B<0> (zero) acts as a flag, that indicates output should be "
+#| "padded with zeroes instead of spaces.  This applies even to non-numeric "
+#| "output formats.  This flag only has an effect when the field width is "
+#| "wider than the value to be printed."
 msgid ""
 "A leading B<0> (zero) acts as a flag, that indicates output should be padded "
-"with zeroes instead of spaces.  This applies even to non-numeric output "
+"with zeroes instead of spaces.  This applies only to the numeric output "
 "formats.  This flag only has an effect when the field width is wider than "
 "the value to be printed."
 msgstr ""
@@ -2940,13 +4132,13 @@ msgstr ""
 "が有効なのは、フィールド幅が印字される値の幅より広いときだけです。"
 
 #. type: TP
-#: original/man1/gawk.1:1695
+#: original/man1/gawk.1:2264
 #, no-wrap
 msgid "I<width>"
 msgstr "I<width>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1701
+#: original/man1/gawk.1:2270
 msgid ""
 "The field should be padded to this width.  The field is normally padded with "
 "spaces.  If the B<0> flag has been used, it is padded with zeroes."
@@ -2956,20 +4148,29 @@ msgstr ""
 "されます。"
 
 #. type: TP
-#: original/man1/gawk.1:1701
+#: original/man1/gawk.1:2270
 #, no-wrap
 msgid "B<\\&.>I<prec>"
 msgstr "B<.>I<prec>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1727
+#: original/man1/gawk.1:2299
+#, fuzzy
+#| msgid ""
+#| "A number that specifies the precision to use when printing.  For the B<"
+#| "%e>, B<%E>, and B<%f> formats, this specifies the number of digits you "
+#| "want printed to the right of the decimal point.  For the B<%g>, and B<%G> "
+#| "formats, it specifies the maximum number of significant digits.  For the "
+#| "B<%d>, B<%o>, B<%i>, B<%u>, B<%x>, and B<%X> formats, it specifies the "
+#| "minimum number of digits to print.  For a string, it specifies the "
+#| "maximum number of characters from the string that should be printed."
 msgid ""
 "A number that specifies the precision to use when printing.  For the B<%e>, "
-"B<%E>, and B<%f> formats, this specifies the number of digits you want "
-"printed to the right of the decimal point.  For the B<%g>, and B<%G> "
+"B<%E>, B<%f> and B<%F>, formats, this specifies the number of digits you "
+"want printed to the right of the decimal point.  For the B<%g>, and B<%G> "
 "formats, it specifies the maximum number of significant digits.  For the B<"
-"%d>, B<%o>, B<%i>, B<%u>, B<%x>, and B<%X> formats, it specifies the minimum "
-"number of digits to print.  For a string, it specifies the maximum number of "
+"%d>, B<%i>, B<%o>, B<%u>, B<%x>, and B<%X> formats, it specifies the minimum "
+"number of digits to print.  For B<%s>, it specifies the maximum number of "
 "characters from the string that should be printed."
 msgstr ""
 "印字において使用する精度を数値で指定します。 B<%e>, B<%E>, B<%f> の書式に対し"
@@ -2979,32 +4180,47 @@ msgstr ""
 "印字される文字列からとりだされる最大の文字数を指定します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1746
+#: original/man1/gawk.1:2325
+#, fuzzy
+#| msgid ""
+#| "The dynamic I<width> and I<prec> capabilities of the \\*(AN C B<printf()> "
+#| "routines are supported.  A B<*> in place of either the B<width> or "
+#| "B<prec> specifications will cause their values to be taken from the "
+#| "argument list to B<printf> or B<sprintf()>."
 msgid ""
 "The dynamic I<width> and I<prec> capabilities of the \\*(AN C B<printf()> "
 "routines are supported.  A B<*> in place of either the B<width> or B<prec> "
-"specifications will cause their values to be taken from the argument list to "
-"B<printf> or B<sprintf()>."
+"specifications causes their values to be taken from the argument list to "
+"B<printf> or B<sprintf()>.  To use a positional specifier with a dynamic "
+"width or precision, supply the I<count>B<$> after the B<*> in the format "
+"string.  For example, B<\"%3$*2$.*1$s\">."
 msgstr ""
 "\\*(AN C の B<printf()> の動的な幅 I<width> と精度 I<prec> の指定機能が使用で"
 "きます。 B<幅> または B<精度> の指定部分に B<*> を指定することで、その値を "
 "B<printf> または B<sprintf()> への引数で指定できます。"
 
 #. type: SS
-#: original/man1/gawk.1:1746
+#: original/man1/gawk.1:2325
 #, no-wrap
 msgid "Special File Names"
 msgstr "特殊ファイル名"
 
 #. type: Plain text
-#: original/man1/gawk.1:1765
+#: original/man1/gawk.1:2342
+#, fuzzy
+#| msgid ""
+#| "When doing I/O redirection from either B<print> or B<printf> into a file, "
+#| "or via B<getline> from a file, I<gawk> recognizes certain special "
+#| "filenames internally.  These filenames allow access to open file "
+#| "descriptors inherited from I<gawk>'s parent process (usually the shell).  "
+#| "Other special filenames provide access to information about the running "
+#| "B<gawk> process.  The filenames are:"
 msgid ""
 "When doing I/O redirection from either B<print> or B<printf> into a file, or "
 "via B<getline> from a file, I<gawk> recognizes certain special filenames "
 "internally.  These filenames allow access to open file descriptors inherited "
-"from I<gawk>'s parent process (usually the shell).  Other special filenames "
-"provide access to information about the running B<gawk> process.  The "
-"filenames are:"
+"from I<gawk\\^>'s parent process (usually the shell).  These file names may "
+"also be used on the command line to name data files.  The filenames are:"
 msgstr ""
 "B<print> や B<printf> で書き込みときでも、 B<getline> でファイルから読み取る"
 "ときでも、 入出力リダイレクトを行う場合、 I<gawk> は内部的な特殊なファイル名"
@@ -3014,286 +4230,325 @@ msgstr ""
 "とおりです。"
 
 #. type: TP
-#: original/man1/gawk.1:1765
-#, no-wrap
-msgid "B</dev/pid>"
-msgstr "B</dev/pid>"
-
-#. type: Plain text
-#: original/man1/gawk.1:1769
-msgid ""
-"Reading this file returns the process ID of the current process, in decimal, "
-"terminated with a newline."
-msgstr ""
-"現在のプロセスのプロセスID (10 進数で、最後に改行が付きます) を 読み込むこと"
-"ができます。"
-
-#. type: TP
-#: original/man1/gawk.1:1769
-#, no-wrap
-msgid "B</dev/ppid>"
-msgstr "B</dev/ppid>"
-
-#. type: Plain text
-#: original/man1/gawk.1:1773
-msgid ""
-"Reading this file returns the parent process ID of the current process, in "
-"decimal, terminated with a newline."
-msgstr ""
-"現在のプロセスの親のプロセスのプロセスID (10 進数で、最後に改行が付きます) "
-"を 読み込むことができます。"
-
-#. type: TP
-#: original/man1/gawk.1:1773
-#, no-wrap
-msgid "B</dev/pgrpid>"
-msgstr "B</dev/pgrpid>"
-
-#. type: Plain text
-#: original/man1/gawk.1:1777
-msgid ""
-"Reading this file returns the process group ID of the current process, in "
-"decimal, terminated with a newline."
-msgstr ""
-"現在のプロセスのプロセスグループ ID (10 進数で、最後に改行が付きます)  を読み"
-"込むことができます。"
-
-#. type: TP
-#: original/man1/gawk.1:1777
-#, no-wrap
-msgid "B</dev/user>"
-msgstr "B</dev/user>"
-
-#. type: Plain text
-#: original/man1/gawk.1:1800
-msgid ""
-"Reading this file returns a single record terminated with a newline.  The "
-"fields are separated with spaces.  B<$1> is the value of the I<getuid>(2)  "
-"system call, B<$2> is the value of the I<geteuid>(2)  system call, B<$3> is "
-"the value of the I<getgid>(2)  system call, and B<$4> is the value of the "
-"I<getegid>(2)  system call.  If there are any additional fields, they are "
-"the group IDs returned by I<getgroups>(2).  Multiple groups may not be "
-"supported on all systems."
-msgstr ""
-"このファイルを読むことで、改行で終わる単一のレコードが得られます。 各フィール"
-"ドは空白で区切られています。 B<$1> は I<getuid>(2)  システムコールの値、 B<"
-"$2> は I<geteuid>(2)  システムコールの値、 B<$3> は I<getgid>(2)  システム"
-"コールの値、 B<$4> は I<getegid>(2)  システムコールの値です。もし、さらに"
-"フィールドがあれば、 それは I<getgroups>(2)  システムコールが返すグループ ID "
-"のリストです。 全てのシステムで複数のグループがサポートされているわけではあり"
-"ません。"
-
-#. type: TP
-#: original/man1/gawk.1:1800
+#: original/man1/gawk.1:2342
 #, no-wrap
 msgid "B</dev/stdin>"
 msgstr "B</dev/stdin>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1803
+#: original/man1/gawk.1:2345
 msgid "The standard input."
 msgstr "標準入力。"
 
 #. type: TP
-#: original/man1/gawk.1:1803
+#: original/man1/gawk.1:2345
 #, no-wrap
 msgid "B</dev/stdout>"
 msgstr "B</dev/stdout>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1806
+#: original/man1/gawk.1:2348
 msgid "The standard output."
 msgstr "標準出力。"
 
 #. type: TP
-#: original/man1/gawk.1:1806
+#: original/man1/gawk.1:2348
 #, no-wrap
 msgid "B</dev/stderr>"
 msgstr "B</dev/stderr>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1809
+#: original/man1/gawk.1:2351
 msgid "The standard error output."
 msgstr "標準エラー出力。"
 
 #. type: TP
-#: original/man1/gawk.1:1809
+#: original/man1/gawk.1:2351
 #, no-wrap
 msgid "B</dev/fd/\\^>I<n>"
 msgstr "B</dev/fd/\\|>I<n>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1813
+#: original/man1/gawk.1:2355
 msgid "The file associated with the open file descriptor I<n>."
 msgstr "オープンされたファイルディスクリプタ I<n> に対応しているファイル。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1815
+#: original/man1/gawk.1:2357
 msgid "These are particularly useful for error messages.  For example:"
 msgstr "エラーメッセージを出力するには、以下の方法が便利です。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1819
+#: original/man1/gawk.1:2361
 msgid "B<print \"You blew it!\" E<gt> \"/dev/stderr\">"
 msgstr "B<print \"You blew it!\" E<gt> \"/dev/stderr\">"
 
 #. type: Plain text
-#: original/man1/gawk.1:1823
+#: original/man1/gawk.1:2365
 msgid "whereas you would otherwise have to use"
 msgstr "もしこの機能が無かったら、次のようにするしかないところです。"
 
 #. type: Plain text
-#: original/man1/gawk.1:1827
+#: original/man1/gawk.1:2369
 msgid "B<print \"You blew it!\" | \"cat 1E<gt>&2\">"
 msgstr "B<print \"You blew it!\" | \"cat 1E<gt>&2\">"
 
 #. type: Plain text
-#: original/man1/gawk.1:1831
+#: original/man1/gawk.1:2375
 msgid ""
-"These file names may also be used on the command line to name data files."
+"The following special filenames may be used with the B<|&> co-process "
+"operator for creating TCP/IP network connections:"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2375
+#, no-wrap
+msgid "B</inet/tcp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2378
+#, no-wrap
+msgid "B</inet4/tcp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2381
+#, no-wrap
+msgid "B</inet6/tcp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2403
+msgid ""
+"Files for a TCP/IP connection on local port I<lport> to remote host I<rhost> "
+"on remote port I<rport>.  Use a port of B<0> to have the system pick a "
+"port.  Use B</inet4> to force an IPv4 connection, and B</inet6> to force an "
+"IPv6 connection.  Plain B</inet> uses the system default (most likely IPv4)."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2403
+#, no-wrap
+msgid "B</inet/udp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2406
+#, no-wrap
+msgid "B</inet4/udp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2409
+#, no-wrap
+msgid "B</inet6/udp/>I<lport>B</>I<rhost>B</>I<rport>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2413
+msgid "Similar, but use UDP/IP instead of TCP/IP."
 msgstr ""
-"これらのファイル名は、コマンドラインのデータファイル指定で使うこともできま"
-"す。"
 
 #. type: SS
-#: original/man1/gawk.1:1831
+#: original/man1/gawk.1:2413
 #, no-wrap
 msgid "Numeric Functions"
 msgstr "数値関数"
 
 #. type: Plain text
-#: original/man1/gawk.1:1834
-msgid "\\*(AK has the following pre-defined arithmetic functions:"
+#: original/man1/gawk.1:2416
+#, fuzzy
+#| msgid "\\*(AK has the following pre-defined arithmetic functions:"
+msgid "\\*(AK has the following built-in arithmetic functions:"
 msgstr "\\*(AK は以下の定義済み数値関数を持っています。"
 
 #. type: TP
-#: original/man1/gawk.1:1835
+#: original/man1/gawk.1:2417
 #, no-wrap
 msgid "B<atan2(>I<y>B<,>I< x>B<)>"
 msgstr "B<atan2(>I<y>B<,>I< x>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1840
-msgid "returns the arctangent of I<y/x> in radians."
+#: original/man1/gawk.1:2422
+#, fuzzy
+#| msgid "returns the arctangent of I<y/x> in radians."
+msgid "Return the arctangent of I<y/x> in radians."
 msgstr "I<y/x> の逆正接をラジアンで与えます。"
 
 #. type: TP
-#: original/man1/gawk.1:1840
+#: original/man1/gawk.1:2422
 #, no-wrap
 msgid "B<cos(>I<expr>B<)>"
 msgstr "B<cos(>I<expr>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1845
-msgid "returns the cosine of I<expr>, which is in radians."
+#: original/man1/gawk.1:2427
+#, fuzzy
+#| msgid "returns the cosine of I<expr>, which is in radians."
+msgid "Return the cosine of I<expr>, which is in radians."
 msgstr "I<expr> の余弦をラジアンで与えます。"
 
 #. type: TP
-#: original/man1/gawk.1:1845
+#: original/man1/gawk.1:2427
 #, no-wrap
 msgid "B<exp(>I<expr>B<)>"
 msgstr "B<exp(>I<expr>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1848
-msgid "the exponential function."
+#: original/man1/gawk.1:2430
+msgid "The exponential function."
 msgstr "指数関数。"
 
 #. type: TP
-#: original/man1/gawk.1:1848
+#: original/man1/gawk.1:2430
 #, no-wrap
 msgid "B<int(>I<expr>B<)>"
 msgstr "B<int(>I<expr>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1851
-msgid "truncates to integer."
+#: original/man1/gawk.1:2433
+msgid "Truncate to integer."
 msgstr "整数への切捨て。"
 
 #. type: TP
-#: original/man1/gawk.1:1851
+#: original/man1/gawk.1:2433
 #, no-wrap
 msgid "B<log(>I<expr>B<)>"
 msgstr "B<log(>I<expr>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1854
-msgid "the natural logarithm function."
+#: original/man1/gawk.1:2436
+msgid "The natural logarithm function."
 msgstr "自然対数。"
 
 #. type: TP
-#: original/man1/gawk.1:1854
+#: original/man1/gawk.1:2436
 #, no-wrap
 msgid "B<rand()>"
 msgstr "B<rand()>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1857
-msgid "returns a random number between 0 and 1."
+#: original/man1/gawk.1:2442
+#, fuzzy
+#| msgid "returns a random number between 0 and 1."
+msgid ""
+"Return a random number I<N>, between 0 and 1, such that 0 \\(E<lt>= I<N> "
+"E<lt> 1."
 msgstr "0 から 1 の間の乱数を与えます。"
 
 #. type: TP
-#: original/man1/gawk.1:1857
+#: original/man1/gawk.1:2442
 #, no-wrap
 msgid "B<sin(>I<expr>B<)>"
 msgstr "B<sin(>I<expr>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1862
-msgid "returns the sine of I<expr>, which is in radians."
+#: original/man1/gawk.1:2447
+msgid "Return the sine of I<expr>, which is in radians."
 msgstr "I<expr> の正弦をラジアンで与えます。"
 
 #. type: TP
-#: original/man1/gawk.1:1862
+#: original/man1/gawk.1:2447
 #, no-wrap
 msgid "B<sqrt(>I<expr>B<)>"
 msgstr "B<sqrt(>I<expr>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1865
-msgid "the square root function."
+#: original/man1/gawk.1:2450
+msgid "The square root function."
 msgstr "平方根。"
 
 #. type: TP
-#: original/man1/gawk.1:1865
+#: original/man1/gawk.1:2450
 #, no-wrap
 msgid "\\&B<srand(>[I<expr\\^>]B<)>"
 msgstr "\\&B<srand(>[I<expr\\|>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1874
+#: original/man1/gawk.1:2459
 msgid ""
-"uses I<expr> as a new seed for the random number generator.  If no I<expr> "
-"is provided, the time of day will be used.  The return value is the previous "
-"seed for the random number generator."
+"Use I<expr> as the new seed for the random number generator.  If no I<expr> "
+"is provided, use the time of day.  The return value is the previous seed for "
+"the random number generator."
 msgstr ""
 "I<expr> の値を乱数生成関数の種として用います。式が指定されなかった場合は、 時"
 "刻が用いられます。直前の種の値を返します。"
 
 #. type: SS
-#: original/man1/gawk.1:1874
+#: original/man1/gawk.1:2459
 #, no-wrap
 msgid "String Functions"
 msgstr "文字列関数"
 
 #. type: Plain text
-#: original/man1/gawk.1:1878
-msgid "I<Gawk> has the following pre-defined string functions:"
-msgstr "I<gawk> は以下の定義済み文字列関数を持っています。"
+#: original/man1/gawk.1:2463
+msgid "I<Gawk> has the following built-in string functions:"
+msgstr "I<gawk> は以下の組み込みの文字列関数を持っています。"
+
+#. type: TP
+#: original/man1/gawk.1:2464
+#, no-wrap
+msgid "B<asort(>I<s >[B<, >I<d> [B<, >I<how>] ]B<)>"
+msgstr "B<asort(>I<s >[B<, >I<d> [B<, >I<how>] ]B<)>"
+
+#. type: Plain text
+#: original/man1/gawk.1:2503
+msgid ""
+"Return the number of elements in the source array I<s>.  Sort the contents "
+"of I<s> using I<gawk\\^>'s normal rules for comparing values, and replace "
+"the indices of the sorted values I<s> with sequential integers starting with "
+"1. If the optional destination array I<d> is specified, then first duplicate "
+"I<s> into I<d>, and then sort I<d>, leaving the indices of the source array "
+"I<s> unchanged. The optional string I<how> controls the direction and the "
+"comparison mode.  Valid values for I<how> are any of the strings valid for "
+"B<PROCINFO[\"sorted_in\"]>.  It can also be the name of a user-defined "
+"comparison function as described in B<PROCINFO[\"sorted_in\"]>."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2503
+#, no-wrap
+msgid "B<asorti(>I<s >[B<, >I<d> [B<, >I<how>] ]B<)>"
+msgstr "B<asorti(>I<s >[B<, >I<d> [B<, >I<how>] ]B<)>"
+
+#. type: Plain text
+#: original/man1/gawk.1:2522
+msgid ""
+"Return the number of elements in the source array I<s>.  The behavior is the "
+"same as that of B<asort()>, except that the array I<indices> are used for "
+"sorting, not the array values.  When done, the array is indexed numerically, "
+"and the values are those of the original indices.  The original values are "
+"lost; thus provide a second array if you wish to preserve the original.  The "
+"purpose of the optional string I<how> is the same as described in B<asort()> "
+"above."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:1879
+#: original/man1/gawk.1:2522
 #, no-wrap
 msgid "B<gensub(>I<r>B<, >I<s>B<, >I<h >[B<, >I<t>]B<)>"
 msgstr "B<gensub(>I<r>B<, >I<s>B<, >I<h >[B<, >I<t>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1926
-msgid ""
-"search the target string I<t> for matches of the regular expression I<r>.  "
+#: original/man1/gawk.1:2569
+#, fuzzy
+#| msgid ""
+#| "search the target string I<t> for matches of the regular expression "
+#| "I<r>.  If I<h> is a string beginning with B<g> or B<G>, then replace all "
+#| "matches of I<r> with I<s>.  Otherwise, I<h> is a number indicating which "
+#| "match of I<r> to replace.  If no I<t> is supplied, B<$0> is used "
+#| "instead.  Within the replacement text I<s>, the sequence B<\\e>I<n>, "
+#| "where I<n> is a digit from 1 to 9, may be used to indicate just the text "
+#| "that matched the I<n>'th parenthesized subexpression.  The sequence B<"
+#| "\\e0> represents the entire matched text, as does the character B<&>.  "
+#| "Unlike B<sub()> and B<gsub()>, the modified string is returned as the "
+#| "result of the function, and the original target string is I<not> changed."
+msgid ""
+"Search the target string I<t> for matches of the regular expression I<r>.  "
 "If I<h> is a string beginning with B<g> or B<G>, then replace all matches of "
 "I<r> with I<s>.  Otherwise, I<h> is a number indicating which match of I<r> "
-"to replace.  If no I<t> is supplied, B<$0> is used instead.  Within the "
+"to replace.  If I<t> is not supplied, use B<$0> instead.  Within the "
 "replacement text I<s>, the sequence B<\\e>I<n>, where I<n> is a digit from 1 "
 "to 9, may be used to indicate just the text that matched the I<n>'th "
 "parenthesized subexpression.  The sequence B<\\e0> represents the entire "
@@ -3312,21 +4567,30 @@ msgstr ""
 "され I<ません> 。"
 
 #. type: TP
-#: original/man1/gawk.1:1926
+#: original/man1/gawk.1:2569
 #, no-wrap
 msgid "B<gsub(>I<r>B<, >I<s >[B<, >I<t>]B<)>"
 msgstr "B<gsub(>I<r>B<, >I<s >[B<, >I<t>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1955
-msgid ""
-"for each substring matching the regular expression I<r> in the string I<t>, "
+#: original/man1/gawk.1:2598
+#, fuzzy
+#| msgid ""
+#| "for each substring matching the regular expression I<r> in the string "
+#| "I<t>, substitute the string I<s>, and return the number of "
+#| "substitutions.  If I<t> is not supplied, use B<$0>.  An B<&> in the "
+#| "replacement text is replaced with the text that was actually matched.  "
+#| "Use B<\\e&> to get a literal B<&>.  See I<Effective AWK Programming> for "
+#| "a fuller discussion of the rules for B<&'s> and backslashes in the "
+#| "replacement text of B<sub()>, B<gsub()>, and B<gensub()>."
+msgid ""
+"For each substring matching the regular expression I<r> in the string I<t>, "
 "substitute the string I<s>, and return the number of substitutions.  If I<t> "
 "is not supplied, use B<$0>.  An B<&> in the replacement text is replaced "
 "with the text that was actually matched.  Use B<\\e&> to get a literal "
-"B<&>.  See I<Effective AWK Programming> for a fuller discussion of the rules "
-"for B<&'s> and backslashes in the replacement text of B<sub()>, B<gsub()>, "
-"and B<gensub()>."
+"B<&>.  (This must be typed as B<\"\\e\\e&\">; see \\*(EP for a fuller "
+"discussion of the rules for B<&>'s and backslashes in the replacement text "
+"of B<sub()>, B<gsub()>, and B<gensub()>.)"
 msgstr ""
 "文字列 I<t> 中で正規表現 I<r> にマッチした部分をすべて I<s> に置換します。置"
 "換の個数を返します。 I<t> を指定しなかった場合は B<$0> が用いられます。 置換"
@@ -3336,63 +4600,93 @@ msgstr ""
 "AWK Language Programming> を参照してください。"
 
 #. type: TP
-#: original/man1/gawk.1:1955
+#: original/man1/gawk.1:2598
 #, no-wrap
 msgid "B<index(>I<s>B<,>I< t>B<)>"
 msgstr "B<index(>I<s>B<,>I< t>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1964
+#: original/man1/gawk.1:2608
+#, fuzzy
+#| msgid ""
+#| "returns the index of the string I<t> in the string I<s>, or 0 if I<t> is "
+#| "not present."
 msgid ""
-"returns the index of the string I<t> in the string I<s>, or 0 if I<t> is not "
-"present."
+"Return the index of the string I<t> in the string I<s>, or 0 if I<t> is not "
+"present.  (This implies that character indices start at one.)"
 msgstr ""
 "文字列 I<s> 中に含まれる文字列 I<t> の位置を返します。 I<t> が含まれていない"
 "場合は 0 を返します。"
 
 #. type: TP
-#: original/man1/gawk.1:1964
+#: original/man1/gawk.1:2608
 #, no-wrap
 msgid "B<length(>[I<s>]B<)>"
 msgstr "B<length(>[I<s>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1973
+#: original/man1/gawk.1:2620
 msgid ""
-"returns the length of the string I<s>, or the length of B<$0> if I<s> is not "
-"supplied."
+"Return the length of the string I<s>, or the length of B<$0> if I<s> is not "
+"supplied.  As a non-standard extension, with an array argument, B<length()> "
+"returns the number of elements in the array."
 msgstr ""
-"文字列 I<s> の長さを返します。 I<s を指定しなかった場合には> B<$0> の長さを返"
-"します。"
 
 #. type: TP
-#: original/man1/gawk.1:1973
+#: original/man1/gawk.1:2620
 #, no-wrap
-msgid "B<match(>I<s>B<,>I< r>B<)>"
-msgstr "B<match(>I<s>B<,>I< r>B<)>"
+msgid "B<match(>I<s>B<, >I<r >[B<, >I<a>]B<)>"
+msgstr "B<match(>I<s>B<, >I<r >[B<, >I<a>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:1985
+#: original/man1/gawk.1:2637
+#, fuzzy
+#| msgid ""
+#| "returns the position in I<s> where the regular expression I<r> occurs, or "
+#| "0 if I<r> is not present, and sets the values of B<RSTART> and B<RLENGTH>."
 msgid ""
-"returns the position in I<s> where the regular expression I<r> occurs, or 0 "
-"if I<r> is not present, and sets the values of B<RSTART> and B<RLENGTH>."
+"Return the position in I<s> where the regular expression I<r> occurs, or 0 "
+"if I<r> is not present, and set the values of B<RSTART> and B<RLENGTH>.  "
+"Note that the argument order is the same as for the B<~> operator: I<str>B< "
+"~> I<re>."
 msgstr ""
 "文字列 I<s> 中で正規表現 I<r> にマッチする位置を返します。マッチしない場合は "
 "0 を 返します。 B<RSTART> と B<RLENGTH> の値が設定されます。"
 
+#. type: Plain text
+#: original/man1/gawk.1:2662
+msgid ""
+"If array I<a> is provided, I<a> is cleared and then elements 1 through I<n> "
+"are filled with the portions of I<s> that match the corresponding "
+"parenthesized subexpression in I<r>.  The 0'th element of I<a> contains the "
+"portion of I<s> matched by the entire regular expression I<r>.  Subscripts "
+"B<a[>I<n\\^>B<, \"start\"]>, and B<a[>I<n\\^>B<, \"length\"]> provide the "
+"starting index in the string and length respectively, of each matching "
+"substring."
+msgstr ""
+
 #. type: TP
-#: original/man1/gawk.1:1985
+#: original/man1/gawk.1:2662
 #, no-wrap
-msgid "B<split(>I<s>B<, >I<a >[B<, >I<r>]B<)>"
-msgstr "B<split(>I<s>B<, >I<a >[B<, >I<r>]B<)>"
+msgid "B<patsplit(>I<s>B<, >I<a >[B<, >I<r> [B<, >I<seps>] ]B<)>"
+msgstr "B<patsplit(>I<s>B<, >I<a >[B<, >I<r> [B<, >I<seps>] ]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2002
+#: original/man1/gawk.1:2695
+#, fuzzy
+#| msgid ""
+#| "splits the string I<s> into the array I<a> on the regular expression "
+#| "I<r>, and returns the number of fields.  If I<r> is omitted, B<FS> is "
+#| "used instead.  The array I<a> is cleared first.  Splitting behaves "
+#| "identically to field splitting, described above."
 msgid ""
-"splits the string I<s> into the array I<a> on the regular expression I<r>, "
-"and returns the number of fields.  If I<r> is omitted, B<FS> is used "
-"instead.  The array I<a> is cleared first.  Splitting behaves identically to "
-"field splitting, described above."
+"Split the string I<s> into the array I<a> and the separators array I<seps> "
+"on the regular expression I<r>, and return the number of fields.  Element "
+"values are the portions of I<s> that matched I<r>.  The value of I<seps[i]> "
+"is the separator that appeared in front of I<a[i+1]>.  If I<r> is omitted, "
+"B<FPAT> is used instead.  The arrays I<a> and I<seps> are cleared first.  "
+"Splitting behaves identically to field splitting with B<FPAT>, described "
+"above."
 msgstr ""
 "文字列 I<s> を正規表現 I<r> を用いて分割し、配列 I<a> に格納します。 フィール"
 "ド数を返します。 I<r> が省略され た場合は B<FS> が用いられます。配列 I<a> の"
@@ -3400,87 +4694,154 @@ msgstr ""
 "ます。"
 
 #. type: TP
-#: original/man1/gawk.1:2002
+#: original/man1/gawk.1:2695
+#, no-wrap
+msgid "B<split(>I<s>B<, >I<a >[B<, >I<r> [B<, >I<seps>] ]B<)>"
+msgstr "B<split(>I<s>B<, >I<a >[B<, >I<r> [B<, >I<seps>] ]B<)>"
+
+#. type: Plain text
+#: original/man1/gawk.1:2735
+msgid ""
+"Split the string I<s> into the array I<a> and the separators array I<seps> "
+"on the regular expression I<r>, and return the number of fields.  If I<r> is "
+"omitted, B<FS> is used instead.  The arrays I<a> and I<seps> are cleared "
+"first.  I<seps[i]> is the field separator matched by I<r> between I<a[i]> "
+"and I<a[i+1]>.  If I<r> is a single space, then leading whitespace in I<s> "
+"goes into the extra array element I<seps[0]> and trailing whitespace goes "
+"into the extra array element I<seps[n]>, where I<n> is the return value of "
+"I<split(s, a, r, seps)>.  Splitting behaves identically to field splitting, "
+"described above."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2735
 #, no-wrap
 msgid "B<sprintf(>I<fmt>B<,>I< expr-list>B<)>"
 msgstr "B<sprintf(>I<fmt>B<,>I< expr-list>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2009
+#: original/man1/gawk.1:2742
+#, fuzzy
+#| msgid ""
+#| "prints I<expr-list> according to I<fmt>, and returns the resulting string."
 msgid ""
-"prints I<expr-list> according to I<fmt>, and returns the resulting string."
+"Prints I<expr-list> according to I<fmt>, and returns the resulting string."
 msgstr ""
 "書式 I<fmt> に従って I<exp-list> を整形表示し、結果の文字列を返します。"
 
 #. type: TP
-#: original/man1/gawk.1:2009
+#: original/man1/gawk.1:2742
+#, no-wrap
+msgid "B<strtonum(>I<str>B<)>"
+msgstr "B<strtonum(>I<str>B<)>"
+
+#. type: Plain text
+#: original/man1/gawk.1:2768
+msgid ""
+"Examine I<str>, and return its numeric value.  If I<str> begins with a "
+"leading B<0>, B<strtonum()> assumes that I<str> is an octal number.  If "
+"I<str> begins with a leading B<0x> or B<0X>, B<strtonum()> assumes that "
+"I<str> is a hexadecimal number.  Otherwise, decimal is assumed."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2768
 #, no-wrap
 msgid "B<sub(>I<r>B<, >I<s >[B<, >I<t>]B<)>"
 msgstr "B<sub(>I<r>B<, >I<s >[B<, >I<t>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2014
-msgid "just like B<gsub()>, but only the first matching substring is replaced."
+#: original/man1/gawk.1:2773
+#, fuzzy
+#| msgid ""
+#| "just like B<gsub()>, but only the first matching substring is replaced."
+msgid "Just like B<gsub()>, but replace only the first matching substring."
 msgstr "B<gsub()> と似ていますが、最初にマッチした文字列のみが置換されます。"
 
 #. type: TP
-#: original/man1/gawk.1:2014
+#: original/man1/gawk.1:2773
 #, no-wrap
 msgid "B<substr(>I<s>B<, >I<i >[B<, >I<n>]B<)>"
 msgstr "B<substr(>I<s>B<, >I<i >[B<, >I<n>]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2027
+#: original/man1/gawk.1:2785
+#, fuzzy
+#| msgid ""
+#| "returns the at most I<n>-character substring of I<s> starting at I<i>.  "
+#| "If I<n> is omitted, the rest of I<s> is used."
 msgid ""
-"returns the at most I<n>-character substring of I<s> starting at I<i>.  If "
-"I<n> is omitted, the rest of I<s> is used."
+"Return the at most I<n>-character substring of I<s> starting at I<i>.  If "
+"I<n> is omitted, use the rest of I<s>."
 msgstr ""
 "文字列 I<s> の I<i> 文字目から始まる最大 I<n> 文字の部分文字列を返します。 "
 "I<n> が省略された場合、 I<i> 文字目以降の部分文字列が返されます。"
 
 #. type: TP
-#: original/man1/gawk.1:2027
+#: original/man1/gawk.1:2785
 #, no-wrap
 msgid "B<tolower(>I<str>B<)>"
 msgstr "B<tolower(>I<str>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2035
+#: original/man1/gawk.1:2793
+#, fuzzy
+#| msgid ""
+#| "returns a copy of the string I<str>, with all the upper-case characters "
+#| "in I<str> translated to their corresponding lower-case counterparts.  Non-"
+#| "alphabetic characters are left unchanged."
 msgid ""
-"returns a copy of the string I<str>, with all the upper-case characters in "
-"I<str> translated to their corresponding lower-case counterparts.  Non-"
+"Return a copy of the string I<str>, with all the uppercase characters in "
+"I<str> translated to their corresponding lowercase counterparts.  Non-"
 "alphabetic characters are left unchanged."
 msgstr ""
 "文字列 I<str> をコピーし、大文字をすべて小文字に変換したものを返します。 アル"
 "ファベットでない文字は変化しません。"
 
 #. type: TP
-#: original/man1/gawk.1:2035
+#: original/man1/gawk.1:2793
 #, no-wrap
 msgid "B<toupper(>I<str>B<)>"
 msgstr "B<toupper(>I<str>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2043
+#: original/man1/gawk.1:2801
+#, fuzzy
+#| msgid ""
+#| "returns a copy of the string I<str>, with all the lower-case characters "
+#| "in I<str> translated to their corresponding upper-case counterparts.  Non-"
+#| "alphabetic characters are left unchanged."
 msgid ""
-"returns a copy of the string I<str>, with all the lower-case characters in "
-"I<str> translated to their corresponding upper-case counterparts.  Non-"
+"Return a copy of the string I<str>, with all the lowercase characters in "
+"I<str> translated to their corresponding uppercase counterparts.  Non-"
 "alphabetic characters are left unchanged."
 msgstr ""
 "文字列 I<str> をコピーし、小文字をすべて大文字に変換したものを返します。 アル"
 "ファベットでない文字は変化しません。"
 
+#. type: Plain text
+#: original/man1/gawk.1:2810
+msgid ""
+"I<Gawk> is multibyte aware.  This means that B<index()>, B<length()>, "
+"B<substr()> and B<match()> all work in terms of characters, not bytes."
+msgstr ""
+
 #. type: SS
-#: original/man1/gawk.1:2043
+#: original/man1/gawk.1:2810
 #, no-wrap
 msgid "Time Functions"
 msgstr "時間関数"
 
 #. type: Plain text
-#: original/man1/gawk.1:2050
+#: original/man1/gawk.1:2816
+#, fuzzy
+#| msgid ""
+#| "Since one of the primary uses of \\*(AK programs is processing log files "
+#| "that contain time stamp information, I<gawk> provides the following two "
+#| "functions for obtaining time stamps and formatting them."
 msgid ""
 "Since one of the primary uses of \\*(AK programs is processing log files "
-"that contain time stamp information, I<gawk> provides the following two "
+"that contain time stamp information, I<gawk> provides the following "
 "functions for obtaining time stamps and formatting them."
 msgstr ""
 "タイムスタンプを含んだログファイルの処理は \\*(AK プログラムの主な使い道の1つ"
@@ -3488,38 +4849,61 @@ msgstr ""
 "つの関数を提供します。"
 
 #. type: TP
-#: original/man1/gawk.1:2051
+#: original/man1/gawk.1:2817
 #, no-wrap
-msgid "B<systime()>"
-msgstr "B<systime()>"
+msgid "B<mktime(>I<datespec>B<)>"
+msgstr "B<mktime(>I<datespec>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2055
+#: original/man1/gawk.1:2854
 msgid ""
-"returns the current time of day as the number of seconds since the Epoch "
-"(Midnight UTC, January 1, 1970 on \\*(PX systems)."
+"Turn I<datespec> into a time stamp of the same form as returned by B<systime"
+"()>, and return the result.  The I<datespec> is a string of the form I<YYYY "
+"MM DD HH MM SS[ DST]>.  The contents of the string are six or seven numbers "
+"representing respectively the full year including century, the month from 1 "
+"to 12, the day of the month from 1 to 31, the hour of the day from 0 to 23, "
+"the minute from 0 to 59, the second from 0 to 60, and an optional daylight "
+"saving flag.  The values of these numbers need not be within the ranges "
+"specified; for example, an hour of -1 means 1 hour before midnight.  The "
+"origin-zero Gregorian calendar is assumed, with year 0 preceding year 1 and "
+"year -1 preceding year 0.  The time is assumed to be in the local timezone.  "
+"If the daylight saving flag is positive, the time is assumed to be daylight "
+"saving time; if zero, the time is assumed to be standard time; and if "
+"negative (the default), B<mktime()> attempts to determine whether daylight "
+"saving time is in effect for the specified time.  If I<datespec> does not "
+"contain enough elements or if the resulting time is out of range, B<mktime()"
+"> returns -1."
 msgstr ""
-"基準時点からの経過秒数を返します (\\*(PX システムでは、基準時点は UTC で "
-"1970 年 1 月 1 日 0:00 です)。"
 
 #. type: TP
-#: original/man1/gawk.1:2055
+#: original/man1/gawk.1:2854
 #, no-wrap
-msgid "B<strftime(>[I<format >[B<, >I<timestamp>]]B<)>"
-msgstr "B<strftime(>[I<format >[B<, >I<timestamp>]]B<)>"
+msgid "B<strftime(>[I<format >[B<, >I<timestamp>[B<, >I<utc-flag>]]]B<)>"
+msgstr "B<strftime(>[I<format >[B<, >I<timestamp>[B<, >I<utc-flag>]]]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2085
+#: original/man1/gawk.1:2882
+#, fuzzy
+#| msgid ""
+#| "formats I<timestamp> according to the specification in I<format.> The "
+#| "I<timestamp> should be of the same form as returned by B<systime()>.  If "
+#| "I<timestamp> is missing, the current time of day is used.  If I<format> "
+#| "is missing, a default format equivalent to the output of I<date>(1)  will "
+#| "be used.  See the specification for the B<strftime()> function in \\*(AN "
+#| "C for the format conversions that are guaranteed to be available.  A "
+#| "public-domain version of I<strftime>(3)  and a man page for it come with "
+#| "I<gawk>; if that version was used to build I<gawk>, then all of the "
+#| "conversions described in that man page are available to I<gawk.>"
 msgid ""
-"formats I<timestamp> according to the specification in I<format.> The "
-"I<timestamp> should be of the same form as returned by B<systime()>.  If "
-"I<timestamp> is missing, the current time of day is used.  If I<format> is "
-"missing, a default format equivalent to the output of I<date>(1)  will be "
-"used.  See the specification for the B<strftime()> function in \\*(AN C for "
-"the format conversions that are guaranteed to be available.  A public-domain "
-"version of I<strftime>(3)  and a man page for it come with I<gawk>; if that "
-"version was used to build I<gawk>, then all of the conversions described in "
-"that man page are available to I<gawk.>"
+"Format I<timestamp> according to the specification in I<format>.  If I<utc-"
+"flag> is present and is non-zero or non-null, the result is in UTC, "
+"otherwise the result is in local time.  The I<timestamp> should be of the "
+"same form as returned by B<systime()>.  If I<timestamp> is missing, the "
+"current time of day is used.  If I<format> is missing, a default format "
+"equivalent to the output of I<date>(1)  is used.  The default format is "
+"available in B<PROCINFO[\"strftime\"]>.  See the specification for the "
+"B<strftime()> function in \\*(AN C for the format conversions that are "
+"guaranteed to be available."
 msgstr ""
 "書式 I<format> に従って I<timestamp> をフォーマットします。 I<timestamp> は "
 "B<systime()> が返す値と同じ形式でなければなりません。 I<timestamp> が省略され"
@@ -3531,196 +4915,212 @@ msgstr ""
 "いた場合は、そのマニュアルに記述されている変換書式が I<gawk> でも利用可能で"
 "す。"
 
+#. type: TP
+#: original/man1/gawk.1:2882
+#, no-wrap
+msgid "B<systime()>"
+msgstr "B<systime()>"
+
+#. type: Plain text
+#: original/man1/gawk.1:2886
+msgid ""
+"Return the current time of day as the number of seconds since the Epoch "
+"(1970-01-01 00:00:00 UTC on \\*(PX systems)."
+msgstr "基準時点からの経過秒数を返します (\\*(PX システムでは、基準時点は 1970-01-01 00:00:00 UTC です)。"
+
 #. type: SS
-#: original/man1/gawk.1:2085
+#: original/man1/gawk.1:2886
 #, no-wrap
-msgid "String Constants"
-msgstr "文字列定数"
+msgid "Bit Manipulations Functions"
+msgstr "ビット操作関数"
 
 #. type: Plain text
-#: original/man1/gawk.1:2091
+#: original/man1/gawk.1:2895
 msgid ""
-"String constants in \\*(AK are sequences of characters enclosed between "
-"double quotes (B<\">).  Within strings, certain I<escape sequences> are "
-"recognized, as in C.  These are:"
+"I<Gawk> supplies the following bit manipulation functions.  They work by "
+"converting double-precision floating point values to B<uintmax_t> integers, "
+"doing the operation, and then converting the result back to floating point.  "
+"The functions are:"
 msgstr ""
-"\\*(AK での文字列定数は、ダブルクォート (B<\">) に狭まれた文字の列です。 文字"
-"列内では、C 言語のようにいくつかの I<エスケープシーケンス> が使えます。"
 
 #. type: TP
-#: original/man1/gawk.1:2092
+#: original/man1/gawk.1:2895
 #, no-wrap
-msgid "B<\\e\\e>"
-msgstr "B<\\e\\e>"
+msgid "B<and(>I<v1>B<, >I<v2>B<)>"
+msgstr "B<and(>I<v1>B<, >I<v2>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2095
-msgid "A literal backslash."
-msgstr "バックスラッシュそのもの。"
+#: original/man1/gawk.1:2901
+msgid "Return the bitwise AND of the values provided by I<v1> and I<v2>."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2095
+#: original/man1/gawk.1:2901
 #, no-wrap
-msgid "B<\\ea>"
-msgstr "B<\\ea>"
+msgid "B<compl(>I<val>B<)>"
+msgstr "B<compl(>I<val>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2098
-msgid ""
-"The ``alert'' character; usually the \\s-1ASCII\\s+1 \\s-1BEL\\s+1 character."
-msgstr "「警告」文字。通常は \\s-1ASCII\\s+1 \\s-1BEL\\s+1 文字です。"
+#: original/man1/gawk.1:2905
+msgid "Return the bitwise complement of I<val>."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2098
+#: original/man1/gawk.1:2905
 #, no-wrap
-msgid "B<\\eb>"
-msgstr "B<\\eb>"
+msgid "B<lshift(>I<val>B<, >I<count>B<)>"
+msgstr "B<lshift(>I<val>B<, >I<count>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2101
-msgid "backspace."
-msgstr "バックスペース。"
+#: original/man1/gawk.1:2912
+msgid "Return the value of I<val>, shifted left by I<count> bits."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2101
+#: original/man1/gawk.1:2912
 #, no-wrap
-msgid "B<\\ef>"
-msgstr "B<\\ef>"
+msgid "B<or(>I<v1>B<, >I<v2>B<)>"
+msgstr "B<or(>I<v1>B<, >I<v2>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2104
-msgid "form-feed."
-msgstr "改ページ (フォームフィード)。"
+#: original/man1/gawk.1:2918
+msgid "Return the bitwise OR of the values provided by I<v1> and I<v2>."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2104
+#: original/man1/gawk.1:2918
 #, no-wrap
-msgid "B<\\en>"
-msgstr "B<\\en>"
+msgid "B<rshift(>I<val>B<, >I<count>B<)>"
+msgstr "B<rshift(>I<val>B<, >I<count>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2107
-msgid "newline."
-msgstr "改行。"
+#: original/man1/gawk.1:2925
+msgid "Return the value of I<val>, shifted right by I<count> bits."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2107
+#: original/man1/gawk.1:2925
 #, no-wrap
-msgid "B<\\er>"
-msgstr "B<\\er>"
+msgid "B<xor(>I<v1>B<, >I<v2>B<)>"
+msgstr "B<xor(>I<v1>B<, >I<v2>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2110
-msgid "carriage return."
-msgstr "復帰 (キャリッジリターン)。"
+#: original/man1/gawk.1:2931
+msgid "Return the bitwise XOR of the values provided by I<v1> and I<v2>."
+msgstr ""
 
-#. type: TP
-#: original/man1/gawk.1:2110
+#. type: SS
+#: original/man1/gawk.1:2932
 #, no-wrap
-msgid "B<\\et>"
-msgstr "B<\\et>"
+msgid "Type Function"
+msgstr "型関数"
 
 #. type: Plain text
-#: original/man1/gawk.1:2113
-msgid "horizontal tab."
-msgstr "水平タブ。"
+#: original/man1/gawk.1:2934
+msgid "The following function is for use with multidimensional arrays."
+msgstr ""
 
 #. type: TP
-#: original/man1/gawk.1:2113
+#: original/man1/gawk.1:2934
 #, no-wrap
-msgid "B<\\ev>"
-msgstr "B<\\ev>"
+msgid "B<isarray(>I<x>B<)>"
+msgstr "B<isarray(>I<x>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2116
-msgid "vertical tab."
-msgstr "垂直タブ。"
+#: original/man1/gawk.1:2939
+msgid "Return true if I<x> is an array, false otherwise."
+msgstr ""
 
-#. type: TP
-#: original/man1/gawk.1:2116
+#. type: SS
+#: original/man1/gawk.1:2939
 #, no-wrap
-msgid "B<\\ex>I<\\^hex digits>"
-msgstr "B<\\ex>I<\\|hex digits>"
+msgid "Internationalization Functions"
+msgstr "国際化関数"
 
 #. type: Plain text
-#: original/man1/gawk.1:2125
+#: original/man1/gawk.1:2943
 msgid ""
-"The character represented by the string of hexadecimal digits following the "
-"B<\\ex>.  As in \\*(AN C, all following hexadecimal digits are considered "
-"part of the escape sequence.  (This feature should tell us something about "
-"language design by committee.)  E.g., B<\"\\ex1B\"> is the \\s-1ASCII\\s+1 "
-"\\s-1ESC\\s+1 (escape) character."
+"The following functions may be used from within your AWK program for "
+"translating strings at run-time.  For full details, see \\*(EP."
 msgstr ""
-"B<\\ex> に続く 16 進数で表現された文字。\\*(AN C と同様に、 B<\\ex> に続くす"
-"べての 16 進数字 はエスケープシーケンスの一部であるとみなされます。 (この機能"
-"によりコミッティによる言語デザインが分かります。)  例えば、B<\"\\ex1B\"> は "
-"\\s-1ASCII\\s+1 \\s-1ESC\\s+1 (エスケープ) 文字です。"
 
 #. type: TP
-#: original/man1/gawk.1:2125
+#: original/man1/gawk.1:2943
 #, no-wrap
-msgid "B<\\e>I<ddd>"
-msgstr "B<\\e>I<ddd>"
+msgid "B<bindtextdomain(>I<directory >[B<, >I<domain>]B<)>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2130
+#: original/man1/gawk.1:2955
 msgid ""
-"The character represented by the 1-, 2-, or 3-digit sequence of octal "
-"digits.  E.g., B<\"\\e033\"> is the \\s-1ASCII\\s+1 \\s-1ESC\\s+1 (escape) "
-"character."
+"Specify the directory where I<gawk> looks for the B<\\&.mo> files, in case "
+"they will not or cannot be placed in the ``standard'' locations (e.g., "
+"during testing).  It returns the directory where I<domain> is ``bound.''"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:2967
+msgid ""
+"The default I<domain> is the value of B<TEXTDOMAIN>.  If I<directory> is the "
+"null string (B<\"\">), then B<bindtextdomain()> returns the current binding "
+"for the given I<domain>."
 msgstr ""
-"1 桁か 2 桁か 3 桁の 8 進数で表現された文字。例えば、 B<\"\\e033\"> は "
-"\\s-1ASCII\\s+1 \\s-1ESC\\s+1 (エスケープ) 文字です。"
 
 #. type: TP
-#: original/man1/gawk.1:2130
+#: original/man1/gawk.1:2967
 #, no-wrap
-msgid "B<\\e>I<c>"
-msgstr "B<\\e>I<c>"
+msgid "B<dcgettext(>I<string >[B<, >I<domain >[B<, >I<category>]]B<)>"
+msgstr "B<dcgettext(>I<string >[B<, >I<domain >[B<, >I<category>]]B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2134
-msgid "The literal character I<c\\^>."
-msgstr "文字 c そのもの。"
+#: original/man1/gawk.1:2982
+msgid ""
+"Return the translation of I<string> in text domain I<domain> for locale "
+"category I<category>.  The default value for I<domain> is the current value "
+"of B<TEXTDOMAIN>.  The default value for I<category> is B<\"LC_MESSAGES\">."
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2139
+#: original/man1/gawk.1:2991 original/man1/gawk.1:3020
 msgid ""
-"The escape sequences may also be used inside constant regular expressions (e."
-"g., B</[\\ \\et\\ef\\en\\er\\ev]/> matches whitespace characters)."
+"If you supply a value for I<category>, it must be a string equal to one of "
+"the known locale categories described in \\*(EP.  You must also supply a "
+"text domain.  Use B<TEXTDOMAIN> if you want to use the current domain."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:2991
+#, no-wrap
+msgid "B<dcngettext(>I<string1 >, I<string2 >, I<number >[B<, >I<domain >[B<, >I<category>]]B<)>"
 msgstr ""
-"エスケープシーケンスは正規表現定数内でも用いることができます (例えば、 B</"
-"[\\ \\et\\ef\\en\\er\\ev]/> は空白文字にマッチします)。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2146
+#: original/man1/gawk.1:3011
 msgid ""
-"In compatibility mode, the characters represented by octal and hexadecimal "
-"escape sequences are treated literally when used in regexp constants.  Thus, "
-"B</a\\e52b/> is equivalent to B</a\\e*b/>."
+"Return the plural form used for I<number> of the translation of I<string1> "
+"and I<string2> in text domain I<domain> for locale category I<category>.  "
+"The default value for I<domain> is the current value of B<TEXTDOMAIN>.  The "
+"default value for I<category> is B<\"LC_MESSAGES\">."
 msgstr ""
-"互換モードでは、8 進および 16 進のエスケープシーケンスで表現される文字は、 正"
-"規表現定数として使用された場合、リテラルとして扱われます。 それゆえ、 B</a"
-"\\e52b/> は B</a\\e*b/> と等価です。"
 
 #. type: SH
-#: original/man1/gawk.1:2146
+#: original/man1/gawk.1:3020
 #, no-wrap
-msgid "FUNCTIONS"
-msgstr "関数"
+msgid "USER-DEFINED FUNCTIONS"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2148
+#: original/man1/gawk.1:3022
 msgid "Functions in \\*(AK are defined as follows:"
 msgstr "\\*(AK では関数を以下のようにして定義します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2151
+#: original/man1/gawk.1:3025
 msgid "B<function >I<name>B<(>I<parameter list>B<) { >I<statements >B<}>"
 msgstr "B<function >I<name>B<(>I<parameter list>B<) { >I<statements >B<}>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2157
+#: original/man1/gawk.1:3031
 msgid ""
 "Functions are executed when they are called from within expressions in "
 "either patterns or actions.  Actual parameters supplied in the function call "
@@ -3733,7 +5133,7 @@ msgstr ""
 "す。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2162
+#: original/man1/gawk.1:3036
 msgid ""
 "Since functions were not originally part of the \\*(AK language, the "
 "provision for local variables is rather clumsy: They are declared as extra "
@@ -3747,30 +5147,36 @@ msgstr ""
 "うにします。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2170
+#: original/man1/gawk.1:3044
 #, no-wrap
 msgid ""
-"B<function  f(p, q,     a, b)\t# a & b are local\n"
+"B<function  f(p, q,     a, b)\t# a and b are local\n"
 "{\n"
 "\t\\&.\\|.\\|.\n"
 "}>\n"
 msgstr ""
-"B<function  f(p, q,     a, b)\t# a & b は局所変数\n"
+"B<function  f(p, q,     a, b)\t# a  b は局所変数\n"
 "{\n"
 "\t\\&.\\|.\\|.\n"
 "}>\n"
 
 #. type: Plain text
-#: original/man1/gawk.1:2172
+#: original/man1/gawk.1:3046
 #, no-wrap
 msgid "B</abc/\t{ .\\|.\\|. ; f(1, 2) ; .\\|.\\|. }>\n"
 msgstr "B</abc/\t{ .\\|.\\|. ; f(1, 2) ; .\\|.\\|. }>\n"
 
 #. type: Plain text
-#: original/man1/gawk.1:2181
+#: original/man1/gawk.1:3055
+#, fuzzy
+#| msgid ""
+#| "The left parenthesis in a function call is required to immediately follow "
+#| "the function name, without any intervening white space.  This is to avoid "
+#| "a syntactic ambiguity with the concatenation operator.  This restriction "
+#| "does not apply to the built-in functions listed above."
 msgid ""
 "The left parenthesis in a function call is required to immediately follow "
-"the function name, without any intervening white space.  This is to avoid a "
+"the function name, without any intervening whitespace.  This avoids a "
 "syntactic ambiguity with the concatenation operator.  This restriction does "
 "not apply to the built-in functions listed above."
 msgstr ""
@@ -3779,7 +5185,7 @@ msgstr ""
 "制限は、上述の組み込み関数にはあてはまりません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2185
+#: original/man1/gawk.1:3059
 msgid ""
 "Functions may call each other and may be recursive.  Function parameters "
 "used as local variables are initialized to the null string and the number "
@@ -3790,7 +5196,7 @@ msgstr ""
 "す。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2191
+#: original/man1/gawk.1:3065
 msgid ""
 "Use B<return>I< expr> to return a value from a function.  The return value "
 "is undefined if no value is provided, or if the function returns by "
@@ -3801,130 +5207,254 @@ msgstr ""
 "とにより関数から戻る場合、 値は未定義です。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2199
+#: original/man1/gawk.1:3073
+msgid ""
+"As a I<gawk> extension, functions may be called indirectly. To do this, "
+"assign the name of the function to be called, as a string, to a variable.  "
+"Then use the variable as if it were the name of a function, prefixed with an "
+"B<@> sign, like so:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3081
+#, no-wrap
 msgid ""
-"If B<-\\^-lint> has been provided, I<gawk> will warn about calls to "
-"undefined functions at parse time, instead of at run time.  Calling an "
-"undefined function at run time is a fatal error."
+"B<function  myfunc()\n"
+"{\n"
+"\tprint \"myfunc called\"\n"
+"\t\\&.\\|.\\|.\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3087
+#, no-wrap
+msgid ""
+"B<{\t.\\|.\\|.\n"
+"\tthe_func = \"myfunc\"\n"
+"\t@the_func()\t# call through the_func to myfunc\n"
+"\t.\\|.\\|.\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3098
+#, fuzzy
+#| msgid ""
+#| "If B<-\\^-lint> has been provided, I<gawk> will warn about calls to "
+#| "undefined functions at parse time, instead of at run time.  Calling an "
+#| "undefined function at run time is a fatal error."
+msgid ""
+"If B<-\\^-lint> has been provided, I<gawk> warns about calls to undefined "
+"functions at parse time, instead of at run time.  Calling an undefined "
+"function at run time is a fatal error."
 msgstr ""
 "B<-\\^-lint> が指定されたとき、 I<gawk> は実行時ではなくパーズ時に未定義関数"
 "の呼び出しに関して警告します。 実行時の未定義関数の呼び出しは致命的なエラーと"
 "なります。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2204
+#: original/man1/gawk.1:3103
 msgid "The word B<func> may be used in place of B<function>."
 msgstr "B<function> のかわりに B<func> を用いることができます。"
 
 #. type: SH
-#: original/man1/gawk.1:2204 original/man1/igawk.1:51
+#: original/man1/gawk.1:3103
 #, no-wrap
-msgid "EXAMPLES"
-msgstr ""
+msgid "DYNAMICALLY LOADING NEW FUNCTIONS"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2207
+#: original/man1/gawk.1:3109
+msgid ""
+"You can dynamically add new built-in functions to the running I<gawk> "
+"interpreter.  The full details are beyond the scope of this manual page; see "
+"\\*(EP for the details."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3110
 #, no-wrap
-msgid "Print and sort the login names of all users:\n"
-msgstr "``/etc/passwd'' から全ユーザのログイン名を取り出し、ソートして出力します。\n"
+msgid "B<extension(>I<object>B<, >I<function>B<)>"
+msgstr "B<extension(>I<object>B<, >I<function>B<)>"
 
 #. type: Plain text
-#: original/man1/gawk.1:2211
-#, no-wrap
+#: original/man1/gawk.1:3120
 msgid ""
-"B<\tBEGIN\t{ FS = \":\" }\n"
-"\t\t{ print $1 | \"sort\" }>\n"
+"Dynamically link the shared object file named by I<object>, and invoke "
+"I<function> in that object, to perform initialization.  These should both be "
+"provided as strings.  Return the value returned by I<function>."
 msgstr ""
-"B<\tBEGIN\t{ FS = \":\" }\n"
-"\t\t{ print $1 | \"sort\" }>\n"
 
 #. type: Plain text
-#: original/man1/gawk.1:2214
+#: original/man1/gawk.1:3124
+msgid ""
+"Using this feature at the C level is not pretty, but it is unlikely to go "
+"away. Additional mechanisms may be added at some point."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3124
 #, no-wrap
-msgid "Count lines in a file:\n"
-msgstr "ファイルの行数を数える。\n"
+msgid "SIGNALS"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2218
+#: original/man1/gawk.1:3138
+msgid ""
+"I<pgawk> accepts two signals.  B<SIGUSR1> causes it to dump a profile and "
+"function call stack to the profile file, which is either B<awkprof.out>, or "
+"whatever file was named with the B<-\\^-profile> option.  It then continues "
+"to run.  B<SIGHUP> causes I<pgawk> to dump the profile and function call "
+"stack and then exit."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3138
 #, no-wrap
+msgid "INTERNATIONALIZATION"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3145
 msgid ""
-"B<\t\t{ nlines++ }\n"
-"\tEND\t{ print nlines }>\n"
+"String constants are sequences of characters enclosed in double quotes.  In "
+"non-English speaking environments, it is possible to mark strings in the \\*"
+"(AK program as requiring translation to the local natural language. Such "
+"strings are marked in the \\*(AK program with a leading underscore (``_'').  "
+"For example,"
 msgstr ""
-"B<\t\t{ nlines++ }\n"
-"\tEND\t{ print nlines }>\n"
 
 #. type: Plain text
-#: original/man1/gawk.1:2221
-#, no-wrap
-msgid "Precede each line by its number in the file:\n"
-msgstr "行番号をつける。\n"
+#: original/man1/gawk.1:3149
+msgid "B<gawk 'BEGIN { print \"hello, world\" }'>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3155
+msgid "always prints B<hello, world>.  But,"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2224
+#: original/man1/gawk.1:3159
+msgid "B<gawk 'BEGIN { print _\"hello, world\" }'>"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3165
+msgid "might print B<bonjour, monde> in France."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3168
+msgid ""
+"There are several steps involved in producing and running a localizable \\*"
+"(AK program."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3168
 #, no-wrap
-msgid "B<\t{ print FNR, $0 }>\n"
-msgstr "B<\t{ print FNR, $0 }>\n"
+msgid "1."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3175
+msgid ""
+"Add a B<BEGIN> action to assign a value to the B<TEXTDOMAIN> variable to set "
+"the text domain to a name associated with your program:"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3179
+msgid "B<BEGIN { TEXTDOMAIN = \"myprog\" }>"
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2227
+#: original/man1/gawk.1:3193
+msgid ""
+"This allows I<gawk> to find the B<\\&.mo> file associated with your "
+"program.  Without this step, I<gawk> uses the B<messages> text domain, which "
+"likely does not contain translations for your program."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3193
 #, no-wrap
-msgid "Concatenate and line number (a variation on a theme):\n"
-msgstr "全ファイルを通した行番号をつける。\n"
+msgid "2."
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2230
+#: original/man1/gawk.1:3196
+msgid "Mark all strings that should be translated with leading underscores."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3196
 #, no-wrap
-msgid "B<\t{ print NR, $0 }>\n"
-msgstr "B<\t{ print NR, $0 }>\n"
+msgid "3."
+msgstr ""
 
-#. type: SH
-#: original/man1/gawk.1:2232 original/man1/igawk.1:66
+#. type: Plain text
+#: original/man1/gawk.1:3203
+msgid ""
+"If necessary, use the B<dcgettext()> and/or B<bindtextdomain()> functions in "
+"your program, as appropriate."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3203
 #, no-wrap
-msgid "SEE ALSO"
-msgstr "関連項目"
+msgid "4."
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2242
+#: original/man1/gawk.1:3210
 msgid ""
-"I<egrep>(1), I<getpid>(2), I<getppid>(2), I<getpgrp>(2), I<getuid>(2), "
-"I<geteuid>(2), I<getgid>(2), I<getegid>(2), I<getgroups>(2)"
+"Run B<gawk -\\^-gen-pot -f myprog.awk E<gt> myprog.pot> to generate a B<\\&."
+"po> file for your program."
+msgstr ""
+
+#. type: TP
+#: original/man1/gawk.1:3210
+#, no-wrap
+msgid "5."
 msgstr ""
-"I<egrep>(1), I<getpid>(2), I<getppid>(2), I<getpgrp>(2), I<getuid>(2), "
-"I<geteuid>(2), I<getgid>(2), I<getegid>(2), I<getgroups>(2)"
 
 #. type: Plain text
-#: original/man1/gawk.1:2246
+#: original/man1/gawk.1:3215
 msgid ""
-"I<The AWK Programming Language>, Alfred V. Aho, Brian W. Kernighan, Peter J. "
-"Weinberger, Addison-Wesley, 1988.  ISBN 0-201-07981-X."
+"Provide appropriate translations, and build and install the corresponding B<"
+"\\&.mo> files."
 msgstr ""
-"I<The AWK Programming Language>, Alfred V. Aho, Brian W. Kernighan, Peter J. "
-"Weinberger, Addison-Wesley, 1988. ISBN 0-201-07981-X."
 
 #. type: Plain text
-#: original/man1/gawk.1:2249 original/man1/igawk.1:71
+#: original/man1/gawk.1:3217
 msgid ""
-"I<Effective AWK Programming>, Edition 1.0, published by the Free Software "
-"Foundation, 1995."
+"The internationalization features are described in full detail in \\*(EP."
 msgstr ""
-"I<Effective AWK Programming>, Edition 1.0, published by the Free Software "
-"Foundation, 1995."
 
 #. type: SH
-#: original/man1/gawk.1:2249
+#: original/man1/gawk.1:3217
 #, no-wrap
 msgid "POSIX COMPATIBILITY"
 msgstr "POSIX 互換"
 
 #. type: Plain text
-#: original/man1/gawk.1:2262
+#: original/man1/gawk.1:3230
+#, fuzzy
+#| msgid ""
+#| "A primary goal for I<gawk> is compatibility with the \\*(PX standard, as "
+#| "well as with the latest version of \\*(UX I<awk>.  To this end, I<gawk> "
+#| "incorporates the following user visible features which are not described "
+#| "in the \\*(AK book, but are part of the Bell Labs version of I<awk>, and "
+#| "are in the \\*(PX standard."
 msgid ""
 "A primary goal for I<gawk> is compatibility with the \\*(PX standard, as "
 "well as with the latest version of \\*(UX I<awk>.  To this end, I<gawk> "
 "incorporates the following user visible features which are not described in "
-"the \\*(AK book, but are part of the Bell Labs version of I<awk>, and are in "
-"the \\*(PX standard."
+"the \\*(AK book, but are part of the Bell Laboratories version of I<awk>, "
+"and are in the \\*(PX standard."
 msgstr ""
 "I<gawk> は最新版の \\*(UX I<awk> との互換性だけでなく、\\*(PX 標準との互換性"
 "も追求しています。 このため I<gawk> には以下のような機能が取り入れられていま"
@@ -3932,17 +5462,29 @@ msgstr ""
 "(PX 標準の I<awk> が有している機能です。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2281
-msgid ""
-"The B<-v> option for assigning variables before program execution starts is "
-"new.  The book indicates that command line variable assignment happens when "
-"I<awk> would otherwise open the argument as a file, which is after the "
-"B<BEGIN> block is executed.  However, in earlier implementations, when such "
-"an assignment appeared before any file names, the assignment would happen "
+#: original/man1/gawk.1:3248
+#, fuzzy
+#| msgid ""
+#| "The B<-v> option for assigning variables before program execution starts "
+#| "is new.  The book indicates that command line variable assignment happens "
+#| "when I<awk> would otherwise open the argument as a file, which is after "
+#| "the B<BEGIN> block is executed.  However, in earlier implementations, "
+#| "when such an assignment appeared before any file names, the assignment "
+#| "would happen I<before> the B<BEGIN> block was run.  Applications came to "
+#| "depend on this ``feature.'' When I<awk> was changed to match its "
+#| "documentation, this option was added to accommodate applications that "
+#| "depended upon the old behavior.  (This feature was agreed upon by both "
+#| "the AT&T and \\*(GN developers.)"
+msgid ""
+"The book indicates that command line variable assignment happens when I<awk> "
+"would otherwise open the argument as a file, which is after the B<BEGIN> "
+"block is executed.  However, in earlier implementations, when such an "
+"assignment appeared before any file names, the assignment would happen "
 "I<before> the B<BEGIN> block was run.  Applications came to depend on this "
-"``feature.'' When I<awk> was changed to match its documentation, this option "
-"was added to accommodate applications that depended upon the old behavior.  "
-"(This feature was agreed upon by both the AT&T and \\*(GN developers.)"
+"``feature.'' When I<awk> was changed to match its documentation, the B<-v> "
+"option for assigning variables before program execution was added to "
+"accommodate applications that depended upon the old behavior.  (This feature "
+"was agreed upon by both the Bell Laboratories and the \\*(GN developers.)"
 msgstr ""
 "プログラム実行前に変数代入を行なう B<-v> オプションは新しい物です。 \\*(AK 本"
 "によれば、コマンドラインで指定された変数代入は I<awk> が引数をファイル名とし"
@@ -3955,18 +5497,17 @@ msgstr ""
 "は AT&T および \\*(GN の開発者達によって合意されました。)"
 
 #. type: Plain text
-#: original/man1/gawk.1:2285
-msgid ""
-"The B<-W> option for implementation specific features is from the \\*(PX "
-"standard."
-msgstr "独自機能のための B<-W> オプションは \\*(PX 標準に従ったものです。"
-
-#. type: Plain text
-#: original/man1/gawk.1:2294
+#: original/man1/gawk.1:3257
+#, fuzzy
+#| msgid ""
+#| "When processing arguments, I<gawk> uses the special option ``-\\^-'' to "
+#| "signal the end of arguments.  In compatibility mode, it will warn about, "
+#| "but otherwise ignore, undefined options.  In normal operation, such "
+#| "arguments are passed on to the \\*(AK program for it to process."
 msgid ""
 "When processing arguments, I<gawk> uses the special option ``-\\^-'' to "
-"signal the end of arguments.  In compatibility mode, it will warn about, but "
-"otherwise ignore, undefined options.  In normal operation, such arguments "
+"signal the end of arguments.  In compatibility mode, it warns about but "
+"otherwise ignores undefined options.  In normal operation, such arguments "
 "are passed on to the \\*(AK program for it to process."
 msgstr ""
 "引数の列に特別なオプション ``-\\^-'' を指定すると、 I<gawk> はそこがオプショ"
@@ -3975,7 +5516,7 @@ msgstr ""
 "(AK プログラムに引き渡されます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2304
+#: original/man1/gawk.1:3267
 msgid ""
 "The \\*(AK book does not define the return value of B<srand()>.  The \\*(PX "
 "standard has it return the seed it was using, to allow keeping track of "
@@ -3987,13 +5528,21 @@ msgstr ""
 "がって I<gawk> における B<srand()> も現在の種を返すようにしてあります。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2325
+#: original/man1/gawk.1:3288
+#, fuzzy
+#| msgid ""
+#| "Other new features are: The use of multiple B<-f> options (from MKS "
+#| "I<awk>); the B<ENVIRON> array; the B<\\ea>, and B<\\ev> escape sequences "
+#| "(done originally in I<gawk> and fed back into AT&T's); the B<tolower()> "
+#| "and B<toupper()> built-in functions (from AT&T); and the \\*(AN C "
+#| "conversion specifications in B<printf> (done first in AT&T's version)."
 msgid ""
 "Other new features are: The use of multiple B<-f> options (from MKS I<awk>); "
 "the B<ENVIRON> array; the B<\\ea>, and B<\\ev> escape sequences (done "
-"originally in I<gawk> and fed back into AT&T's); the B<tolower()> and "
-"B<toupper()> built-in functions (from AT&T); and the \\*(AN C conversion "
-"specifications in B<printf> (done first in AT&T's version)."
+"originally in I<gawk> and fed back into the Bell Laboratories version); the "
+"B<tolower()> and B<toupper()> built-in functions (from the Bell Laboratories "
+"version); and the \\*(AN C conversion specifications in B<printf> (done "
+"first in the Bell Laboratories version)."
 msgstr ""
 "その他にも以下のような新機能があります。 B<-f> オプションの複数回使用 (MKS "
 "I<awk>に倣いました); B<ENVIRON> 配列; エスケープシーケンス B<\\ea> と B<"
@@ -4002,71 +5551,193 @@ msgstr ""
 "B<printf> における \\*(AN C 変換指定 (AT&T 版で最初に実装されました)。"
 
 #. type: SH
-#: original/man1/gawk.1:2325
+#: original/man1/gawk.1:3288
+#, no-wrap
+msgid "HISTORICAL FEATURES"
+msgstr "歴史的機能"
+
+#. type: Plain text
+#: original/man1/gawk.1:3296
+#, fuzzy
+#| msgid ""
+#| "There are two features of historical \\*(AK implementations that I<gawk> "
+#| "supports.  First, it is possible to call the B<length()> built-in "
+#| "function not only with no argument, but even without parentheses! Thus,"
+msgid ""
+"There is one feature of historical \\*(AK implementations that I<gawk> "
+"supports: It is possible to call the B<length()> built-in function not only "
+"with no argument, but even without parentheses! Thus,"
+msgstr ""
+"I<gawk> は歴代の \\*(AK の実装にあった 2 つの機能を備えています。 1 つめとし"
+"て、組み込み関数 B<length()> は引数無しで呼び出せるだけでなく、さらに括弧無し"
+"でも呼び出せます! したがって"
+
+#. type: Plain text
+#: original/man1/gawk.1:3300
+msgid "B<a = length\t# Holy Algol 60, Batman!>"
+msgstr "B<a = length\t# Holy Algol 60, Batman!>"
+
+#. type: Plain text
+#: original/man1/gawk.1:3304
+msgid "is the same as either of"
+msgstr "は以下の2例と同じです。"
+
+#. type: Plain text
+#: original/man1/gawk.1:3308
+msgid "B<a = length()>"
+msgstr "B<a = length()>"
+
+#. type: Plain text
+#: original/man1/gawk.1:3310
+msgid "B<a = length($0)>"
+msgstr "B<a = length($0)>"
+
+#. type: Plain text
+#: original/man1/gawk.1:3318
+#, fuzzy
+#| msgid ""
+#| "This feature is marked as ``deprecated'' in the \\*(PX standard, and "
+#| "I<gawk> will issue a warning about its use if B<-\\^-lint> is specified "
+#| "on the command line."
+msgid ""
+"Using this feature is poor practice, and I<gawk> issues a warning about its "
+"use if B<-\\^-lint> is specified on the command line."
+msgstr ""
+"\\*(PX 標準ではこの機能は ``deprecated'' と注意書きされており、 I<gawk> では"
+"コマンドラインで B<-\\^-lint> を指定した場合に、この機能の使用に対して警告を"
+"出力します。"
+
+#. type: SH
+#: original/man1/gawk.1:3318
 #, no-wrap
 msgid "GNU EXTENSIONS"
 msgstr "GNU 拡張"
 
 #. type: Plain text
-#: original/man1/gawk.1:2336
+#: original/man1/gawk.1:3331
+#, fuzzy
+#| msgid ""
+#| "I<Gawk> has a number of extensions to \\*(PX I<awk>.  They are described "
+#| "in this section.  All the extensions described here can be disabled by "
+#| "invoking I<gawk> with the B<-\\^-traditional> option."
 msgid ""
 "I<Gawk> has a number of extensions to \\*(PX I<awk>.  They are described in "
 "this section.  All the extensions described here can be disabled by invoking "
-"I<gawk> with the B<-\\^-traditional> option."
+"I<gawk> with the B<-\\^-traditional> or B<-\\^-posix> options."
 msgstr ""
 "I<gawk> は \\*(PX I<awk> に対して多くの拡張が行なわれています。 この節ではそ"
 "れらについて解説します。 B<-\\^-traditional> オプション付きで I<gawk> を起動"
 "することによって、 ここで述べられている拡張機能をすべて禁止することができま"
 "す。"
 
+#.  Environment vars and startup stuff
 #. type: Plain text
-#: original/man1/gawk.1:2342
+#: original/man1/gawk.1:3338
 msgid "The following features of I<gawk> are not available in \\*(PX I<awk>."
 msgstr "I<gawk> が持つ以下の機能は \\*(PX I<awk> では使用できません。"
 
+#.  POSIX and language recognition issues
 #. type: Plain text
-#: original/man1/gawk.1:2350
+#: original/man1/gawk.1:3346
+msgid ""
+"No path search is performed for files named via the B<-f> option.  Therefore "
+"the B<AWKPATH> environment variable is not special."
+msgstr ""
+"B<-f> オプションで指定されたファイル名についてパス検索を行わないこと。 よっ"
+"て、環境変数 B<AWKPATH> は特殊な変数ではありません。"
+
+#. type: Plain text
+#: original/man1/gawk.1:3352
+msgid ""
+"There is no facility for doing file inclusion (I<gawk>'s B<@include> "
+"mechanism)."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3359
 msgid "The B<\\ex> escape sequence.  (Disabled with B<-\\^-posix>.)"
 msgstr "エスケープシーケンス B<\\ex> 。( B<-\\^-posix> で抑止できます。)"
 
 #. type: Plain text
-#: original/man1/gawk.1:2357
+#: original/man1/gawk.1:3366
 msgid "The B<fflush()> function.  (Disabled with B<-\\^-posix>.)"
 msgstr "B<fflush()> 関数。( B<-\\^-posix> で抑止できます。)"
 
 #. type: Plain text
-#: original/man1/gawk.1:2365
-msgid "The B<systime(),> B<strftime(),> and B<gensub()> functions."
-msgstr "B<systime()>, B<strftime()>, B<gensub()> の各関数。"
+#: original/man1/gawk.1:3374
+#, fuzzy
+#| msgid "The B<\\ex> escape sequence.  (Disabled with B<-\\^-posix>.)"
+msgid ""
+"The ability to continue lines after B<?> and B<:>.  (Disabled with B<-\\^-"
+"posix>.)"
+msgstr "エスケープシーケンス B<\\ex> 。( B<-\\^-posix> で抑止できます。)"
 
+#.  Special variables
 #. type: Plain text
-#: original/man1/gawk.1:2368
-msgid ""
-"The special file names available for I/O redirection are not recognized."
-msgstr "入出力リダイレクトで利用可能な特殊ファイル名は理解されません。"
+#: original/man1/gawk.1:3378
+msgid "Octal and hexadecimal constants in AWK programs."
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2376
-msgid "The B<ARGIND>, B<ERRNO>, and B<RT> variables are not special."
+#: original/man1/gawk.1:3389
+#, fuzzy
+#| msgid "The B<ARGIND>, B<ERRNO>, and B<RT> variables are not special."
+msgid ""
+"The B<ARGIND>, B<BINMODE>, B<ERRNO>, B<LINT>, B<RT> and B<TEXTDOMAIN> "
+"variables are not special."
 msgstr "変数 B<ARGIND>, B<ERRNO>, B<RT> は特殊変数ではありません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2381
+#: original/man1/gawk.1:3394
 msgid "The B<IGNORECASE> variable and its side-effects are not available."
 msgstr "変数 B<IGNORECASE> とその副作用は利用できません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2386
+#: original/man1/gawk.1:3399
 msgid "The B<FIELDWIDTHS> variable and fixed-width field splitting."
 msgstr "変数 B<FIELDWIDTHS> と固定長フィールド分割。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2391
+#: original/man1/gawk.1:3404
+#, fuzzy
+#| msgid "The B<FIELDWIDTHS> variable and fixed-width field splitting."
+msgid "The B<FPAT> variable and field splitting based on field values."
+msgstr "変数 B<FIELDWIDTHS> と固定長フィールド分割。"
+
+#.  I/O stuff
+#. type: Plain text
+#: original/man1/gawk.1:3410
+#, fuzzy
+#| msgid "The B<fflush()> function is not available."
+msgid "The B<PROCINFO> array is not available."
+msgstr "B<fflush()> 関数は利用できません。"
+
+#. type: Plain text
+#: original/man1/gawk.1:3415
 msgid "The use of B<RS> as a regular expression."
 msgstr "B<RS> の正規表現としての使用。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2398
+#: original/man1/gawk.1:3418
+msgid ""
+"The special file names available for I/O redirection are not recognized."
+msgstr "入出力リダイレクトで利用可能な特殊ファイル名は理解されません。"
+
+#. type: Plain text
+#: original/man1/gawk.1:3423
+msgid "The B<|&> operator for creating co-processes."
+msgstr ""
+
+#.  Changes to standard awk functions
+#. type: Plain text
+#: original/man1/gawk.1:3431
+#, fuzzy
+#| msgid "The B<IGNORECASE> variable and its side-effects are not available."
+msgid "The B<BEGINFILE> and B<ENDFILE> special patterns are not available."
+msgstr "変数 B<IGNORECASE> とその副作用は利用できません。"
+
+#. type: Plain text
+#: original/man1/gawk.1:3438
 msgid ""
 "The ability to split out individual characters using the null string as the "
 "value of B<FS>, and as the third argument to B<split()>."
@@ -4075,48 +5746,109 @@ msgstr ""
 "番目の引数。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2405
+#: original/man1/gawk.1:3443
 msgid ""
-"No path search is performed for files named via the B<-f> option.  Therefore "
-"the B<AWKPATH> environment variable is not special."
+"An optional fourth argument to B<split()> to receive the separator texts."
 msgstr ""
-"B<-f> オプションで指定されたファイル名についてパス検索を行わないこと。 よっ"
-"て、環境変数 B<AWKPATH> は特殊な変数ではありません。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2410
-msgid "The use of B<nextfile> to abandon processing of the current input file."
+#: original/man1/gawk.1:3448
+msgid "The optional second argument to the B<close()> function."
 msgstr ""
-"現在の入力ファイルに対する処理を終わらせるために使用される B<nextfile> 。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2415
+#: original/man1/gawk.1:3453
+msgid "The optional third argument to the B<match()> function."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3459
+msgid ""
+"The ability to use positional specifiers with B<printf> and B<sprintf()>."
+msgstr ""
+
+#.  New keywords or changes to keywords
+#. type: Plain text
+#: original/man1/gawk.1:3464
+msgid "The ability to pass an array to B<length()>."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3469
 msgid ""
 "The use of B<delete>I< array> to delete the entire contents of an array."
 msgstr "配列全体を削除するために使用される B<delete>I< 配列> 。"
 
+#.  New functions
 #. type: Plain text
-#: original/man1/gawk.1:2427
+#: original/man1/gawk.1:3475
+msgid "The use of B<nextfile> to abandon processing of the current input file."
+msgstr ""
+"現在の入力ファイルに対する処理を終わらせるために使用される B<nextfile> 。"
+
+#.  I18N stuff
+#. type: Plain text
+#: original/man1/gawk.1:3498
 msgid ""
-"The AWK book does not define the return value of the B<close()> function.  "
-"I<Gawk\\^>'s B<close()> returns the value from I<fclose>(3), or I<pclose>"
-"(3), when closing a file or pipe, respectively."
+"The B<and()>, B<asort()>, B<asorti()>, B<bindtextdomain()>, B<compl()>, "
+"B<dcgettext()>, B<dcngettext()>, B<gensub()>, B<lshift()>, B<mktime()>, B<or"
+"()>, B<patsplit()>, B<rshift()>, B<strftime()>, B<strtonum()>, B<systime()> "
+"and B<xor()> functions."
+msgstr ""
+
+#.  Extending gawk
+#. type: Plain text
+#: original/man1/gawk.1:3502
+#, fuzzy
+#| msgid "A character string."
+msgid "Localizable strings."
+msgstr "文字列。"
+
+#. type: Plain text
+#: original/man1/gawk.1:3507
+msgid ""
+"Adding new built-in functions dynamically with the B<extension()> function."
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3521
+#, fuzzy
+#| msgid ""
+#| "The AWK book does not define the return value of the B<close()> "
+#| "function.  I<Gawk\\^>'s B<close()> returns the value from I<fclose>(3), "
+#| "or I<pclose>(3), when closing a file or pipe, respectively."
+msgid ""
+"The \\*(AK book does not define the return value of the B<close()> "
+"function.  I<Gawk\\^>'s B<close()> returns the value from I<fclose>(3), or "
+"I<pclose>(3), when closing an output file or pipe, respectively.  It returns "
+"the process's exit status when closing an input pipe.  The return value is "
+"-1 if the named file, pipe or co-process was not opened with a redirection."
 msgstr ""
 "\\*(AK 本は関数 B<close()> の返り値を定義していません。 I<gawk> の B<close()"
 "> は、ファイルやパイプをクローズする際に呼び出す I<fclose>(3)  や I<pclose>"
 "(3)、 からの返り値を返します。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2453
+#: original/man1/gawk.1:3547
+#, fuzzy
+#| msgid ""
+#| "When I<gawk> is invoked with the B<-\\^-traditional> option, if the I<fs> "
+#| "argument to the B<-F> option is ``t'', then B<FS> will be set to the tab "
+#| "character.  Note that typing B<gawk -F\\et \\&.\\|.\\|.> simply causes "
+#| "the shell to quote the ``t,'', and does not pass ``\\et'' to the B<-F> "
+#| "option.  Since this is a rather ugly special case, it is not the default "
+#| "behavior.  This behavior also does not occur if B<-\\^-posix> has been "
+#| "specified.  To really get a tab character as the field separator, it is "
+#| "best to use quotes: B<gawk -F'\\et' \\&.\\|.\\|.>."
 msgid ""
 "When I<gawk> is invoked with the B<-\\^-traditional> option, if the I<fs> "
-"argument to the B<-F> option is ``t'', then B<FS> will be set to the tab "
+"argument to the B<-F> option is ``t'', then B<FS> is set to the tab "
 "character.  Note that typing B<gawk -F\\et \\&.\\|.\\|.> simply causes the "
-"shell to quote the ``t,'', and does not pass ``\\et'' to the B<-F> option.  "
+"shell to quote the ``t,'' and does not pass ``\\et'' to the B<-F> option.  "
 "Since this is a rather ugly special case, it is not the default behavior.  "
 "This behavior also does not occur if B<-\\^-posix> has been specified.  To "
-"really get a tab character as the field separator, it is best to use quotes: "
-"B<gawk -F'\\et' \\&.\\|.\\|.>."
+"really get a tab character as the field separator, it is best to use single "
+"quotes: B<gawk -F'\\et' \\&.\\|.\\|.>."
 msgstr ""
 "オプション B<-\\^-traditional> 付きで I<gawk> を起動し B<-F> オプションへの引"
 "数 I<fs> として ``t'' を与えた場合に、 B<FS> の値はタブ文字に設定されます。 "
@@ -4128,171 +5860,115 @@ msgstr ""
 "\\|.>."
 
 #. type: SH
-#: original/man1/gawk.1:2475
+#: original/man1/gawk.1:3569
 #, no-wrap
-msgid "HISTORICAL FEATURES"
-msgstr "歴史的機能"
-
-#. type: Plain text
-#: original/man1/gawk.1:2483
-msgid ""
-"There are two features of historical \\*(AK implementations that I<gawk> "
-"supports.  First, it is possible to call the B<length()> built-in function "
-"not only with no argument, but even without parentheses! Thus,"
-msgstr ""
-"I<gawk> は歴代の \\*(AK の実装にあった 2 つの機能を備えています。 1 つめとし"
-"て、組み込み関数 B<length()> は引数無しで呼び出せるだけでなく、さらに括弧無し"
-"でも呼び出せます! したがって"
-
-#. type: Plain text
-#: original/man1/gawk.1:2487
-msgid "B<a = length\t# Holy Algol 60, Batman!>"
-msgstr "B<a = length\t# Holy Algol 60, Batman!>"
-
-#. type: Plain text
-#: original/man1/gawk.1:2491
-msgid "is the same as either of"
-msgstr "は以下の2例と同じです。"
-
-#. type: Plain text
-#: original/man1/gawk.1:2495
-msgid "B<a = length()>"
-msgstr "B<a = length()>"
-
-#. type: Plain text
-#: original/man1/gawk.1:2497
-msgid "B<a = length($0)>"
-msgstr "B<a = length($0)>"
+msgid "ENVIRONMENT VARIABLES"
+msgstr "環境変数"
 
 #. type: Plain text
-#: original/man1/gawk.1:2505
+#: original/man1/gawk.1:3579
+#, fuzzy
+#| msgid ""
+#| "The B<AWKPATH> environment variable can be used to provide a list of "
+#| "directories that I<gawk> will search when looking for files named via the "
+#| "B<-f> and B<-\\^-file> options."
 msgid ""
-"This feature is marked as ``deprecated'' in the \\*(PX standard, and I<gawk> "
-"will issue a warning about its use if B<-\\^-lint> is specified on the "
-"command line."
+"The B<AWKPATH> environment variable can be used to provide a list of "
+"directories that I<gawk> searches when looking for files named via the B<-f> "
+"and B<-\\^-file> options."
 msgstr ""
-"\\*(PX 標準ではこの機能は ``deprecated'' と注意書きされており、 I<gawk> では"
-"コマンドラインで B<-\\^-lint> を指定した場合に、この機能の使用に対して警告を"
-"出力します。"
+"B<AWKPATH> 環境変数を使用して、 I<gawk> が B<-f> および B<-\\^-file> オプショ"
+"ンで指定されたファイル名を検索するディレクトリを指定できます。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2523
+#: original/man1/gawk.1:3587
 msgid ""
-"The other feature is the use of either the B<continue> or the B<break> "
-"statements outside the body of a B<while>, B<for>, or B<do> loop.  "
-"Traditional \\*(AK implementations have treated such usage as equivalent to "
-"the B<next> statement.  I<Gawk> will support this usage if B<-\\^-"
-"traditional> has been specified."
+"For socket communication, two special environment variables can be used to "
+"control the number of retries (B<GAWK_SOCK_RETRIES>), and the interval "
+"between retries (B<GAWK_MSEC_SLEEP>).  The interval is in milliseconds. On "
+"systems that do not support I<usleep>(3), the value is rounded up to an "
+"integral number of seconds."
 msgstr ""
-"もう 1 つは、 B<while>, B<for>, B<do> ループ本体の外でも B<continue>, "
-"B<break> ステートメントを使用できるという機能です。 伝統的な \\*(AK の実装で"
-"は、このように使用した B<continue> ステートメントを B<next> ステートメントと"
-"等価なものとして扱ってきました。 I<gawk> では B<-\\^-traditional> が指定され"
-"た場合に、この機能を使うことができます。"
-
-#. type: SH
-#: original/man1/gawk.1:2523
-#, no-wrap
-msgid "ENVIRONMENT VARIABLES"
-msgstr "環境変数"
 
 #. type: Plain text
-#: original/man1/gawk.1:2536
+#: original/man1/gawk.1:3600
+#, fuzzy
+#| msgid ""
+#| "If B<POSIXLY_CORRECT> exists in the environment, then I<gawk> behaves "
+#| "exactly as if B<-\\^-posix> had been specified on the command line.  If "
+#| "B<-\\^-lint> has been specified, I<gawk> will issue a warning message to "
+#| "this effect."
 msgid ""
 "If B<POSIXLY_CORRECT> exists in the environment, then I<gawk> behaves "
 "exactly as if B<-\\^-posix> had been specified on the command line.  If B<-"
-"\\^-lint> has been specified, I<gawk> will issue a warning message to this "
+"\\^-lint> has been specified, I<gawk> issues a warning message to this "
 "effect."
 msgstr ""
 "環境に B<POSIXLY_CORRECT> が存在する場合には、 I<gawk> はコマンドラインで B<-"
 "\\^-posix> が指定されている時と全く同じ動作をします。 このとき B<-\\^-lint> "
 "が指定されていると I<gawk> はこの作用についての警告メッセージを出力します。"
 
+#. type: SH
+#: original/man1/gawk.1:3600
+#, no-wrap
+msgid "EXIT STATUS"
+msgstr ""
+
 #. type: Plain text
-#: original/man1/gawk.1:2546
+#: original/man1/gawk.1:3608
 msgid ""
-"The B<AWKPATH> environment variable can be used to provide a list of "
-"directories that I<gawk> will search when looking for files named via the B<-"
-"f> and B<-\\^-file> options."
+"If the B<exit> statement is used with a value, then I<gawk> exits with the "
+"numeric value given to it."
 msgstr ""
-"B<AWKPATH> 環境変数を使用して、 I<gawk> が B<-f> および B<-\\^-file> オプショ"
-"ンで指定されたファイル名を検索するディレクトリを指定できます。"
-
-#. type: SH
-#: original/man1/gawk.1:2546
-#, no-wrap
-msgid "BUGS"
-msgstr "バグ"
 
 #. type: Plain text
-#: original/man1/gawk.1:2551
+#: original/man1/gawk.1:3614
 msgid ""
-"The B<-F> option is not necessary given the command line variable assignment "
-"feature; it remains only for backwards compatibility."
+"Otherwise, if there were no problems during execution, I<gawk> exits with "
+"the value of the C constant B<EXIT_SUCCESS>.  This is usually zero."
 msgstr ""
-"コマンドラインでの変数代入機能を使用するには、変数への代入を直接 コマンドライ"
-"ンに書けばよく、 B<-F> オプションをつける必要はありません。 このオプションは"
-"昔の I<awk> との互換性のためだけに残されています。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2569
+#: original/man1/gawk.1:3621
 msgid ""
-"If your system actually has support for B</dev/fd> and the associated B</dev/"
-"stdin>, B</dev/stdout>, and B</dev/stderr> files, you may get different "
-"output from I<gawk> than you would get on a system without those files.  "
-"When I<gawk> interprets these files internally, it synchronizes output to "
-"the standard output with output to B</dev/stdout>, while on a system with "
-"those files, the output is actually to different open files.  Caveat Emptor."
+"If an error occurs, I<gawk> exits with the value of the C constant "
+"B<EXIT_FAILURE>.  This is usually one."
 msgstr ""
-"ファイル B</dev/fd> および B</dev/stdin>, B</dev/stdout>, B</dev/stderr> を実"
-"際にサポートしているシステムでの I<gawk> からは、それらがないシステムとは違っ"
-"た出力が得られるかもしれません。 I<gawk> はそれらのファイルを内部で解釈する際"
-"に標準出力への出力を B</dev/stdout> への出力と同期させますが、それらのファイ"
-"ルを持つシステムでは 出力はそれぞれ異なるファイルへ向けられます。 利用者の方"
-"で気を付けるようにしてください (Caveat Emptor)。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2574
+#: original/man1/gawk.1:3627
 msgid ""
-"Syntactically invalid single character programs tend to overflow the parse "
-"stack, generating a rather unhelpful message.  Such programs are "
-"surprisingly difficult to diagnose in the completely general case, and the "
-"effort to do so really is not worth it."
+"If I<gawk> exits because of a fatal error, the exit status is 2.  On non-"
+"POSIX systems, this value may be mapped to B<EXIT_FAILURE>."
 msgstr ""
-"文法的に誤った単一文字プログラムはパーズスタックを溢れさせる傾向があり、 まっ"
-"たく分からないメッセージを生成する傾向にあります。 このようなプログラムの診断"
-"は驚くべきことに一般に難しく、 診断の努力はまったく無意味になります。"
 
 #. type: SH
-#: original/man1/gawk.1:2574
+#: original/man1/gawk.1:3627
 #, no-wrap
 msgid "VERSION INFORMATION"
 msgstr "バージョン情報"
 
 #. type: Plain text
-#: original/man1/gawk.1:2578
-msgid "This man page documents I<gawk>, version 3.0.6."
-msgstr "このマニュアルは I<gawk> バージョン 3.0.6 について記載しています。"
+#: original/man1/gawk.1:3631
+msgid "This man page documents I<gawk>, version 4.0."
+msgstr "このマニュアルは I<gawk> バージョン 4.0 について記載しています。"
 
 #. type: SH
-#: original/man1/gawk.1:2578
+#: original/man1/gawk.1:3631
 #, no-wrap
 msgid "AUTHORS"
 msgstr "作者"
 
 #. type: Plain text
-#: original/man1/gawk.1:2584
+#: original/man1/gawk.1:3637
 msgid ""
 "The original version of \\*(UX I<awk> was designed and implemented by Alfred "
-"Aho, Peter Weinberger, and Brian Kernighan of AT&T Bell Labs.  Brian "
+"Aho, Peter Weinberger, and Brian Kernighan of Bell Laboratories.  Brian "
 "Kernighan continues to maintain and enhance it."
-msgstr ""
-"\\*(UX I<awk> の最初のバージョンは、AT&T Bell Labs の Alfred Aho と Peter "
-"Weinberger および Brian Kernighan によって設計、実装されました。 Brian "
-"Kernighan はその保守と改良を続けています。"
+msgstr "\\*(UX I<awk> の最初のバージョンは、Bell Laboratories の Alfred Aho と Peter Weinberger および Brian Kernighan によって設計、実装されました。 Brian Kernighan はその保守と改良を続けています。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2598
+#: original/man1/gawk.1:3651
 msgid ""
 "Paul Rubin and Jay Fenlason, of the Free Software Foundation, wrote I<gawk>, "
 "to be compatible with the original version of I<awk> distributed in Seventh "
@@ -4308,13 +5984,25 @@ msgstr ""
 "\\*(UX I<awk> 互換にしました。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2604
+#: original/man1/gawk.1:3665
+#, fuzzy
+#| msgid ""
+#| "The initial DOS port was done by Conrad Kwok and Scott Garfinkle.  Scott "
+#| "Deifik is the current DOS maintainer.  Pat Rankin did the port to VMS, "
+#| "and Michal Jaegermann did the port to the Atari ST.  The port to OS/2 was "
+#| "done by Kai Uwe Rommel, with contributions and help from Darrel "
+#| "Hankerson.  Fred Fish supplied support for the Amiga."
 msgid ""
 "The initial DOS port was done by Conrad Kwok and Scott Garfinkle.  Scott "
-"Deifik is the current DOS maintainer.  Pat Rankin did the port to VMS, and "
+"Deifik maintains the port to MS-DOS using DJGPP.  Eli Zaretskii maintains "
+"the port to MS-Windows using MinGW.  Pat Rankin did the port to VMS, and "
 "Michal Jaegermann did the port to the Atari ST.  The port to OS/2 was done "
-"by Kai Uwe Rommel, with contributions and help from Darrel Hankerson.  Fred "
-"Fish supplied support for the Amiga."
+"by Kai Uwe Rommel, with contributions and help from Darrel Hankerson.  "
+"Andreas Buening now maintains the OS/2 port.  The late Fred Fish supplied "
+"support for the Amiga, and Martin Brown provided the BeOS port.  Stephen "
+"Davies provided the original Tandem port, and Matthew Woehlke provided "
+"changes for Tandem's POSIX-compliant systems.  Dave Pitts provided the port "
+"to z/OS."
 msgstr ""
 "DOS への最初の移植は Conrad Kwok と Scott Garfinkle によって 行なわれまし"
 "た。 現在は Scott Deifik が DOS 版の保守をしています。 Pat Rankin は VMS への"
@@ -4322,19 +6010,34 @@ msgstr ""
 "の移植は Kai Uwe Rommel が Darrel Hankerson の助けを借りて 行ないました。 "
 "Fred Fish が Amiga サポートの提供を行いました。"
 
+#. type: Plain text
+#: original/man1/gawk.1:3672
+msgid ""
+"See the I<README> file in the I<gawk> distribution for up-to-date "
+"information about maintainers and which ports are currently supported."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:2604
+#: original/man1/gawk.1:3672
 #, no-wrap
 msgid "BUG REPORTS"
 msgstr "バグレポート"
 
 #. type: Plain text
-#: original/man1/gawk.1:2613
+#: original/man1/gawk.1:3683
+#, fuzzy
+#| msgid ""
+#| "If you find a bug in I<gawk>, please send electronic mail to B<bug-"
+#| "gawk@gnu.org>.  Please include your operating system and its revision, "
+#| "the version of I<gawk>, what C compiler you used to compile it, and a "
+#| "test program and data that are as small as possible for reproducing the "
+#| "problem."
 msgid ""
 "If you find a bug in I<gawk>, please send electronic mail to B<bug-gawk@gnu."
 "org>.  Please include your operating system and its revision, the version of "
-"I<gawk>, what C compiler you used to compile it, and a test program and data "
-"that are as small as possible for reproducing the problem."
+"I<gawk> (from B<gawk -\\^-version>), which C compiler you used to compile "
+"it, and a test program and data that are as small as possible for "
+"reproducing the problem."
 msgstr ""
 "I<gawk> のバグを見付けたら、電子メールを B<bug-gawk@gnu.org> 宛に送ってくださ"
 "い。 電子メールには、オペレーティングシステムとそのリビジョン、 I<gawk> のリ"
@@ -4342,14 +6045,24 @@ msgstr ""
 "テストプログラムとデータを記述してください。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2622
-msgid ""
-"Before sending a bug report, please do two things.  First, verify that you "
-"have the latest version of I<gawk>.  Many bugs (usually subtle ones) are "
-"fixed at each release, and if yours is out of date, the problem may already "
-"have been solved.  Second, please read this man page and the reference "
-"manual carefully to be sure that what you think is a bug really is, instead "
-"of just a quirk in the language."
+#: original/man1/gawk.1:3698
+#, fuzzy
+#| msgid ""
+#| "Before sending a bug report, please do two things.  First, verify that "
+#| "you have the latest version of I<gawk>.  Many bugs (usually subtle ones) "
+#| "are fixed at each release, and if yours is out of date, the problem may "
+#| "already have been solved.  Second, please read this man page and the "
+#| "reference manual carefully to be sure that what you think is a bug really "
+#| "is, instead of just a quirk in the language."
+msgid ""
+"Before sending a bug report, please do the following things.  First, verify "
+"that you have the latest version of I<gawk>.  Many bugs (usually subtle "
+"ones) are fixed at each release, and if yours is out of date, the problem "
+"may already have been solved.  Second, please see if setting the environment "
+"variable B<LC_ALL> to B<LC_ALL=C> causes things to behave as you expect. If "
+"so, it's a locale issue, and may or may not really be a bug.  Finally, "
+"please read this man page and the reference manual carefully to be sure that "
+"what you think is a bug really is, instead of just a quirk in the language."
 msgstr ""
 "バグレポートを送る前に 2 つのことを行ってください。 第 1 に、最新の I<gawk> "
 "を使用されていることを確認してください。 多くの (通常微妙な) バグが各々のリ"
@@ -4359,7 +6072,7 @@ msgstr ""
 "語仕様ではないことを確認してください。"
 
 #. type: Plain text
-#: original/man1/gawk.1:2632
+#: original/man1/gawk.1:3708
 msgid ""
 "Whatever you do, do B<NOT> post a bug report in B<comp.lang.awk>.  While the "
 "I<gawk> developers occasionally read this newsgroup, posting bug reports "
@@ -4371,34 +6084,178 @@ msgstr ""
 "ニュースグループに投稿しても バグレポートとして信頼性がありません。 上記のア"
 "ドレスへの電子メールでお願いします。"
 
+#. type: Plain text
+#: original/man1/gawk.1:3715
+msgid ""
+"If you're using a GNU/Linux or BSD-based system, you may wish to submit a "
+"bug report to the vendor of your distribution.  That's fine, but please send "
+"a copy to the official email address as well, since there's no guarantee "
+"that the bug report will be forwarded to the I<gawk> maintainer."
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3715
+#, no-wrap
+msgid "BUGS"
+msgstr "バグ"
+
+#. type: Plain text
+#: original/man1/gawk.1:3720
+msgid ""
+"The B<-F> option is not necessary given the command line variable assignment "
+"feature; it remains only for backwards compatibility."
+msgstr ""
+"コマンドラインでの変数代入機能を使用するには、変数への代入を直接 コマンドライ"
+"ンに書けばよく、 B<-F> オプションをつける必要はありません。 このオプションは"
+"昔の I<awk> との互換性のためだけに残されています。"
+
+#. type: Plain text
+#: original/man1/gawk.1:3725
+msgid ""
+"Syntactically invalid single character programs tend to overflow the parse "
+"stack, generating a rather unhelpful message.  Such programs are "
+"surprisingly difficult to diagnose in the completely general case, and the "
+"effort to do so really is not worth it."
+msgstr ""
+"文法的に誤った単一文字プログラムはパーズスタックを溢れさせる傾向があり、 まっ"
+"たく分からないメッセージを生成する傾向にあります。 このようなプログラムの診断"
+"は驚くべきことに一般に難しく、 診断の努力はまったく無意味になります。"
+
+#. type: SH
+#: original/man1/gawk.1:3725 original/man1/igawk.1:66
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "関連項目"
+
+#. type: Plain text
+#: original/man1/gawk.1:3736
+msgid ""
+"I<egrep>(1), I<getpid>(2), I<getppid>(2), I<getpgrp>(2), I<getuid>(2), "
+"I<geteuid>(2), I<getgid>(2), I<getegid>(2), I<getgroups>(2), I<usleep>(3)"
+msgstr "I<egrep>(1), I<getpid>(2), I<getppid>(2), I<getpgrp>(2), I<getuid>(2), I<geteuid>(2), I<getgid>(2), I<getegid>(2), I<getgroups>(2), I<usleep>(3)"
+
+#. type: Plain text
+#: original/man1/gawk.1:3740
+msgid ""
+"I<The AWK Programming Language>, Alfred V. Aho, Brian W. Kernighan, Peter J. "
+"Weinberger, Addison-Wesley, 1988.  ISBN 0-201-07981-X."
+msgstr ""
+"I<The AWK Programming Language>, Alfred V. Aho, Brian W. Kernighan, Peter J. "
+"Weinberger, Addison-Wesley, 1988. ISBN 0-201-07981-X."
+
+#. type: Plain text
+#: original/man1/gawk.1:3747
+msgid ""
+"\\*(EP, Edition 4.0, shipped with the I<gawk> source.  The current version "
+"of this document is available online at B<http://www.gnu.org/software/gawk/"
+"manual>."
+msgstr ""
+
 #. type: SH
-#: original/man1/gawk.1:2632
+#: original/man1/gawk.1:3747 original/man1/igawk.1:51
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "例"
+
+#. type: Plain text
+#: original/man1/gawk.1:3750
+#, no-wrap
+msgid "Print and sort the login names of all users:\n"
+msgstr "``/etc/passwd'' から全ユーザのログイン名を取り出し、ソートして出力します。\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3754
+#, no-wrap
+msgid ""
+"B<\tBEGIN\t{ FS = \":\" }\n"
+"\t\t{ print $1 | \"sort\" }>\n"
+msgstr ""
+"B<\tBEGIN\t{ FS = \":\" }\n"
+"\t\t{ print $1 | \"sort\" }>\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3757
+#, no-wrap
+msgid "Count lines in a file:\n"
+msgstr "ファイルの行数を数える。\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3761
+#, no-wrap
+msgid ""
+"B<\t\t{ nlines++ }\n"
+"\tEND\t{ print nlines }>\n"
+msgstr ""
+"B<\t\t{ nlines++ }\n"
+"\tEND\t{ print nlines }>\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3764
+#, no-wrap
+msgid "Precede each line by its number in the file:\n"
+msgstr "行番号をつける。\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3767
+#, no-wrap
+msgid "B<\t{ print FNR, $0 }>\n"
+msgstr "B<\t{ print FNR, $0 }>\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3770
+#, no-wrap
+msgid "Concatenate and line number (a variation on a theme):\n"
+msgstr "全ファイルを通した行番号をつける。\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3773
+#, no-wrap
+msgid "B<\t{ print NR, $0 }>\n"
+msgstr "B<\t{ print NR, $0 }>\n"
+
+#. type: Plain text
+#: original/man1/gawk.1:3776
+#, no-wrap
+msgid "Run an external command for particular lines of data:\n"
+msgstr ""
+
+#. type: Plain text
+#: original/man1/gawk.1:3780
+#, no-wrap
+msgid ""
+"B<\ttail -f access_log |\n"
+"\tawk '/myhome.html/ { system(\"nmap \" $1 \"E<gt>E<gt> logdir/myhome.html\") }'>\n"
+msgstr ""
+
+#. type: SH
+#: original/man1/gawk.1:3782
 #, no-wrap
 msgid "ACKNOWLEDGEMENTS"
 msgstr "謝辞"
 
 #. type: Plain text
-#: original/man1/gawk.1:2636
+#: original/man1/gawk.1:3786
 msgid ""
-"Brian Kernighan of Bell Labs provided valuable assistance during testing and "
-"debugging.  We thank him."
-msgstr ""
-"Bell Labs の Brian Kernighan はテストおよびデバッグの間、貴重な助力を 提供し"
-"て下さいました。 感謝致します。"
+"Brian Kernighan of Bell Laboratories provided valuable assistance during "
+"testing and debugging.  We thank him."
+msgstr "Bell Laboratories の Brian Kernighan はテストおよびデバッグの間、貴重な助力を 提供して下さいました。 感謝致します。"
 
 #. type: SH
-#: original/man1/gawk.1:2636
+#: original/man1/gawk.1:3786
 #, no-wrap
 msgid "COPYING PERMISSIONS"
 msgstr "COPYING PERMISSIONS"
 
 #. type: Plain text
-#: original/man1/gawk.1:2638
-msgid "Copyright \\(co 1996-2000 Free Software Foundation, Inc."
-msgstr "Copyright \\(co 1996-2000 Free Software Foundation, Inc."
+#: original/man1/gawk.1:3791
+msgid ""
+"Copyright \\(co 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, "
+"2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010, 2011 Free Software "
+"Foundation, Inc."
+msgstr ""
 
 #. type: Plain text
-#: original/man1/gawk.1:2642
+#: original/man1/gawk.1:3795
 msgid ""
 "Permission is granted to make and distribute verbatim copies of this manual "
 "page provided the copyright notice and this permission notice are preserved "
@@ -4409,7 +6266,7 @@ msgstr ""
 "on all copies."
 
 #. type: Plain text
-#: original/man1/gawk.1:2653
+#: original/man1/gawk.1:3806
 msgid ""
 "Permission is granted to copy and distribute modified versions of this "
 "manual page under the conditions for verbatim copying, provided that the "
@@ -4422,7 +6279,7 @@ msgstr ""
 "notice identical to this one."
 
 #. type: Plain text
-#: original/man1/gawk.1:2657
+#: original/man1/gawk.1:3810
 msgid ""
 "Permission is granted to copy and distribute translations of this manual "
 "page into another language, under the above conditions for modified "
@@ -4544,6 +6401,15 @@ msgstr "B<igawk -f test.awk>\n"
 msgid "I<gawk>(1)"
 msgstr "I<gawk>(1)"
 
+#. type: Plain text
+#: original/man1/igawk.1:71
+msgid ""
+"I<Effective AWK Programming>, Edition 1.0, published by the Free Software "
+"Foundation, 1995."
+msgstr ""
+"I<Effective AWK Programming>, Edition 1.0, published by the Free Software "
+"Foundation, 1995."
+
 #. type: SH
 #: original/man1/igawk.1:71
 #, no-wrap
@@ -4554,3 +6420,157 @@ msgstr "著者"
 #: original/man1/igawk.1:73
 msgid "Arnold Robbins (B<arnold@skeeve.com>)."
 msgstr "Arnold Robbins (B<arnold@skeeve.com>)."
+
+#~ msgid "I<Gawk> accepts the following options."
+#~ msgstr "I<gawk> は以下のオプションを受け付けます。"
+
+#~ msgid ""
+#~ "Set various memory limits to the value I<NNN>.  The B<f> flag sets the "
+#~ "maximum number of fields, and the B<r> flag sets the maximum record "
+#~ "size.  These two flags and the B<-m> option are from the Bell Labs "
+#~ "research version of \\*(UX I<awk>.  They are ignored by I<gawk>, since "
+#~ "I<gawk> has no pre-defined limits."
+#~ msgstr ""
+#~ "さまざまなメモリの制限値を I<NNN> に設定します。フラグ B<f> は最大フィール"
+#~ "ド数、フラグ B<r> は最大レコードサイズを設定します。この 2 つのフラグと "
+#~ "B<-m> オプションは、Bell Labs バージョンの \\*(UX I<awk> に由来していま"
+#~ "す。しかし、 I<gawk> にはこのような制限はありませんので、 I<gawk> では本オ"
+#~ "プションは無視されます。"
+
+#~ msgid ""
+#~ "Provide warnings about constructs that are dubious or non-portable to "
+#~ "other \\*(AK implementations."
+#~ msgstr ""
+#~ "他の \\*(AK での処理が疑わしい、あるいは他の \\*(AK との互換性がない構造"
+#~ "が ある場合に警告を行います。"
+
+#~ msgid ""
+#~ "Interval expressions are only available if either B<-\\^-posix> or B<-\\^-"
+#~ "re-interval> is specified on the command line."
+#~ msgstr ""
+#~ "インターバル表現は B<-\\^-posix> または B<-\\^-re-interval> がコマンドライ"
+#~ "ンにて指定されているときのみ利用可能です。"
+
+#~ msgid "Close file (or pipe, see below)."
+#~ msgstr "ファイル (またはパイプ、下記参照) をクローズします。"
+
+#~ msgid ""
+#~ "Stop processing the current input file.  The next input record read comes "
+#~ "from the next input file.  B<FILENAME> and B<ARGIND> are updated, B<FNR> "
+#~ "is reset to 1, and processing starts over with the first pattern in the "
+#~ "\\*(AK program.  If the end of the input data is reached, the B<END> block"
+#~ "(s), if any, are executed.  B<NOTE:> Earlier versions of gawk used B<next "
+#~ "file>, as two words.  While this usage is still recognized, it generates "
+#~ "a warning message and will eventually be removed."
+#~ msgstr ""
+#~ "現在の入力ファイルに対する処理を終了し、次の入力ファイルからレコードを 読"
+#~ "み込みます。 B<FILENAME> と B<ARGIND> が更新され、 B<FNR> が 1 にリセット"
+#~ "され、\\*(AK プログラムの 最初のパターンから処理が開始されます。入力データ"
+#~ "の終端に達したときは、 もし存在すれば、 B<END> ブロックが実行されます。 B<"
+#~ "注:> 以前のバージョンの gawk では B<next file> と 2 語で使用されていまし"
+#~ "た。この用法はまだ認識されますが、 警告メッセージを生じさせますし、最終的"
+#~ "には無くなる表現です。"
+
+#~ msgid "Format and print."
+#~ msgstr "書式付き出力です。"
+
+#~ msgid ""
+#~ "Other input/output redirections are also allowed.  For B<print> and "
+#~ "B<printf>, B<E<gt>E<gt>>I< file> appends output to the I<file>, while B<|"
+#~ ">I< command> writes on a pipe.  In a similar fashion, I<command>B< | "
+#~ "getline> pipes into B<getline>.  The B<getline> command will return 0 on "
+#~ "end of file, and -1 on an error."
+#~ msgstr ""
+#~ "その他の形式のリダイレクトとして以下のものが利用可能です。 B<print> と "
+#~ "B<printf> に対して、 B<E<gt>E<gt>>I< file> を指定すると出力はファイル "
+#~ "I<file> に追加され、 B<|>I< command> は出力をパイプに対して行います。同様"
+#~ "に、 I<command>B<| getline> はコマンドの出力から B<getline> を行ないま"
+#~ "す。 B<getline> はファイル終端では 0 を、エラー時には -1 を返します。"
+
+#~ msgid "A floating point number of the form B<[-]ddd.dddddd>."
+#~ msgstr "B<[-]ddd.dddddd> という形式の浮動小数点数。"
+
+#~ msgid ""
+#~ "Reading this file returns the process ID of the current process, in "
+#~ "decimal, terminated with a newline."
+#~ msgstr ""
+#~ "現在のプロセスのプロセスID (10 進数で、最後に改行が付きます) を 読み込むこ"
+#~ "とができます。"
+
+#~ msgid ""
+#~ "Reading this file returns the parent process ID of the current process, "
+#~ "in decimal, terminated with a newline."
+#~ msgstr ""
+#~ "現在のプロセスの親のプロセスのプロセスID (10 進数で、最後に改行が付きま"
+#~ "す) を 読み込むことができます。"
+
+#~ msgid ""
+#~ "Reading this file returns the process group ID of the current process, in "
+#~ "decimal, terminated with a newline."
+#~ msgstr ""
+#~ "現在のプロセスのプロセスグループ ID (10 進数で、最後に改行が付きます)  を"
+#~ "読み込むことができます。"
+
+#~ msgid ""
+#~ "Reading this file returns a single record terminated with a newline.  The "
+#~ "fields are separated with spaces.  B<$1> is the value of the I<getuid>"
+#~ "(2)  system call, B<$2> is the value of the I<geteuid>(2)  system call, B<"
+#~ "$3> is the value of the I<getgid>(2)  system call, and B<$4> is the value "
+#~ "of the I<getegid>(2)  system call.  If there are any additional fields, "
+#~ "they are the group IDs returned by I<getgroups>(2).  Multiple groups may "
+#~ "not be supported on all systems."
+#~ msgstr ""
+#~ "このファイルを読むことで、改行で終わる単一のレコードが得られます。 各"
+#~ "フィールドは空白で区切られています。 B<$1> は I<getuid>(2)  システムコール"
+#~ "の値、 B<$2> は I<geteuid>(2)  システムコールの値、 B<$3> は I<getgid>"
+#~ "(2)  システムコールの値、 B<$4> は I<getegid>(2)  システムコールの値です。"
+#~ "もし、さらにフィールドがあれば、 それは I<getgroups>(2)  システムコールが"
+#~ "返すグループ ID のリストです。 全てのシステムで複数のグループがサポートさ"
+#~ "れているわけではありません。"
+
+#~ msgid ""
+#~ "These file names may also be used on the command line to name data files."
+#~ msgstr ""
+#~ "これらのファイル名は、コマンドラインのデータファイル指定で使うこともできま"
+#~ "す。"
+
+#~ msgid ""
+#~ "returns the length of the string I<s>, or the length of B<$0> if I<s> is "
+#~ "not supplied."
+#~ msgstr ""
+#~ "文字列 I<s> の長さを返します。 I<s を指定しなかった場合には> B<$0> の長さ"
+#~ "を返します。"
+
+#~ msgid ""
+#~ "The B<-W> option for implementation specific features is from the \\*(PX "
+#~ "standard."
+#~ msgstr "独自機能のための B<-W> オプションは \\*(PX 標準に従ったものです。"
+
+#~ msgid ""
+#~ "The other feature is the use of either the B<continue> or the B<break> "
+#~ "statements outside the body of a B<while>, B<for>, or B<do> loop.  "
+#~ "Traditional \\*(AK implementations have treated such usage as equivalent "
+#~ "to the B<next> statement.  I<Gawk> will support this usage if B<-\\^-"
+#~ "traditional> has been specified."
+#~ msgstr ""
+#~ "もう 1 つは、 B<while>, B<for>, B<do> ループ本体の外でも B<continue>, "
+#~ "B<break> ステートメントを使用できるという機能です。 伝統的な \\*(AK の実装"
+#~ "では、このように使用した B<continue> ステートメントを B<next> ステートメン"
+#~ "トと等価なものとして扱ってきました。 I<gawk> では B<-\\^-traditional> が指"
+#~ "定された場合に、この機能を使うことができます。"
+
+#~ msgid ""
+#~ "If your system actually has support for B</dev/fd> and the associated B</"
+#~ "dev/stdin>, B</dev/stdout>, and B</dev/stderr> files, you may get "
+#~ "different output from I<gawk> than you would get on a system without "
+#~ "those files.  When I<gawk> interprets these files internally, it "
+#~ "synchronizes output to the standard output with output to B</dev/stdout>, "
+#~ "while on a system with those files, the output is actually to different "
+#~ "open files.  Caveat Emptor."
+#~ msgstr ""
+#~ "ファイル B</dev/fd> および B</dev/stdin>, B</dev/stdout>, B</dev/stderr> "
+#~ "を実際にサポートしているシステムでの I<gawk> からは、それらがないシステム"
+#~ "とは違った出力が得られるかもしれません。 I<gawk> はそれらのファイルを内部"
+#~ "で解釈する際に標準出力への出力を B</dev/stdout> への出力と同期させますが、"
+#~ "それらのファイルを持つシステムでは 出力はそれぞれ異なるファイルへ向けられ"
+#~ "ます。 利用者の方で気を付けるようにしてください (Caveat Emptor)。"
index be37c26..e2f44a8 100644 (file)
@@ -1,2 +1,2 @@
-☆:GNU gawk:3.0.6=>3.1.0:2001/05/29:gawk:1:2000/02/05::man-jp@jp.FreeBSD.org:FreeBSD jpman project:http://www.jp.freebsd.org/man-jp/
-○:GNU gawk:3.1.0:1999/11/03:igawk:1:2001/07/14::ysato@h4.dion.ne.jp:Yuichi SATO:
+☆:GNU gawk:3.0.6=>4.0.1:2011/11/10:gawk:1:2000/02/05::man-jp@jp.FreeBSD.org:FreeBSD jpman project:http://www.jp.freebsd.org/man-jp/
+○:GNU gawk:4.0.1:1999/11/03:igawk:1:2001/07/14::ysato@h4.dion.ne.jp:Yuichi SATO: