gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] gawk branch, gawk-5.1-stable, updated. gawk-4.1.0-4203-gd8c6a45


From: Arnold Robbins
Subject: [SCM] gawk branch, gawk-5.1-stable, updated. gawk-4.1.0-4203-gd8c6a45
Date: Sat, 23 Jan 2021 13:23:24 -0500 (EST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, gawk-5.1-stable has been updated
       via  d8c6a45489bcc9d0125ce0e2c76e3f1a42e5ef46 (commit)
       via  30f33344588322c1dd875a779906cb8fbfa4813e (commit)
      from  09464314120c03b6870678108c10d99c58d4aa39 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=d8c6a45489bcc9d0125ce0e2c76e3f1a42e5ef46

commit d8c6a45489bcc9d0125ce0e2c76e3f1a42e5ef46
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Sat Jan 23 20:23:06 2021 +0200

    Update texinfo.tex.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 71d7b75..f595e24 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -3,6 +3,10 @@
        * gawktexi.in: A number of small fixes, thanks to
        Antonio Columbo.
 
+       Unrelated:
+
+       * texinfo.tex: Updated via GNULIB.
+
 2021-01-21         Arnold D. Robbins     <arnold@skeeve.com>
 
        * gawktexi.in (Other Versions): Add information on more
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 3c7051d..dac7ae3 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2020-10-24.12}
+\def\texinfoversion{2020-11-25.18}
 %
 % Copyright 1985, 1986, 1988, 1990-2020 Free Software Foundation, Inc.
 %
@@ -572,10 +572,9 @@
   \fi
 }
 
-% @end foo executes the definition of \Efoo.
-% But first, it executes a specialized version of \checkenv
-%
-\parseargdef\end{%
+
+% @end foo calls \checkenv and executes the definition of \Efoo.
+\parseargdef\end{
   \if 1\csname iscond.#1\endcsname
   \else
     % The general wording of \badenverr may not be ideal.
@@ -2673,8 +2672,6 @@ end
 \definetextfontsizexi
 
 
-\message{markup,}
-
 % Check if we are currently using a typewriter font.  Since all the
 % Computer Modern typewriter fonts have zero interword stretch (and
 % shrink), and it is reasonable to expect all typewriter fonts to have
@@ -2682,68 +2679,14 @@ end
 %
 \def\ifmonospace{\ifdim\fontdimen3\font=0pt }
 
-% Markup style infrastructure.  \defmarkupstylesetup\INITMACRO will
-% define and register \INITMACRO to be called on markup style changes.
-% \INITMACRO can check \currentmarkupstyle for the innermost
-% style.
-
-\let\currentmarkupstyle\empty
-
-\def\setupmarkupstyle#1{%
-  \def\currentmarkupstyle{#1}%
-  \markupstylesetup
-}
-
-\let\markupstylesetup\empty
-
-\def\defmarkupstylesetup#1{%
-  \expandafter\def\expandafter\markupstylesetup
-    \expandafter{\markupstylesetup #1}%
-  \def#1%
-}
-
-% Markup style setup for left and right quotes.
-\defmarkupstylesetup\markupsetuplq{%
-  \expandafter\let\expandafter \temp
-    \csname markupsetuplq\currentmarkupstyle\endcsname
-  \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
-}
-
-\defmarkupstylesetup\markupsetuprq{%
-  \expandafter\let\expandafter \temp
-    \csname markupsetuprq\currentmarkupstyle\endcsname
-  \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
-}
-
 {
 \catcode`\'=\active
 \catcode`\`=\active
 
-\gdef\markupsetuplqdefault{\let`\lq}
-\gdef\markupsetuprqdefault{\let'\rq}
-
-\gdef\markupsetcodequoteleft{\let`\codequoteleft}
-\gdef\markupsetcodequoteright{\let'\codequoteright}
+\gdef\setcodequotes{\let`\codequoteleft \let'\codequoteright}
+\gdef\setregularquotes{\let`\lq \let'\rq}
 }
 
-\let\markupsetuplqcode \markupsetcodequoteleft
-\let\markupsetuprqcode \markupsetcodequoteright
-%
-\let\markupsetuplqexample \markupsetcodequoteleft
-\let\markupsetuprqexample \markupsetcodequoteright
-%
-\let\markupsetuplqkbd     \markupsetcodequoteleft
-\let\markupsetuprqkbd     \markupsetcodequoteright
-%
-\let\markupsetuplqsamp \markupsetcodequoteleft
-\let\markupsetuprqsamp \markupsetcodequoteright
-%
-\let\markupsetuplqverb \markupsetcodequoteleft
-\let\markupsetuprqverb \markupsetcodequoteright
-%
-\let\markupsetuplqverbatim \markupsetcodequoteleft
-\let\markupsetuprqverbatim \markupsetcodequoteright
-
 % Allow an option to not use regular directed right quote/apostrophe
 % (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
 % The undirected quote is ugly, so don't make it the default, but it
@@ -2906,7 +2849,7 @@ end
 }
 
 % @samp.
-\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
+\def\samp#1{{\setcodequotes\lq\tclose{#1}\rq\null}}
 
 % @indicateurl is \samp, that is, with quotes.
 \let\indicateurl=\samp
@@ -2949,8 +2892,7 @@ end
   \global\let'=\rq \global\let`=\lq  % default definitions
   %
   \global\def\code{\begingroup
-    \setupmarkupstyle{code}%
-    % The following should really be moved into \setupmarkupstyle handlers.
+    \setcodequotes
     \catcode\dashChar=\active  \catcode\underChar=\active
     \ifallowcodebreaks
      \let-\codedash
@@ -3104,7 +3046,7 @@ end
   \urefcatcodes
   %
   \global\def\urefcode{\begingroup
-    \setupmarkupstyle{code}%
+    \setcodequotes
     \urefcatcodes
     \let&\urefcodeamp
     \let.\urefcodedot
@@ -3225,8 +3167,8 @@ end
 \def\kbdsub#1#2#3\par{%
   \def\one{#1}\def\three{#3}\def\threex{??}%
   \ifx\one\xkey\ifx\threex\three \key{#2}%
-  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-  \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+  \else{\tclose{\kbdfont\setcodequotes\look}}\fi
+  \else{\tclose{\kbdfont\setcodequotes\look}}\fi
 }
 
 % definition of @key that produces a lozenge.  Doesn't adjust to text size.
@@ -3243,7 +3185,7 @@ end
 % monospace, don't change it; that way, we respect @kbdinputstyle.  But
 % if it isn't monospace, then use \tt.
 %
-\def\key#1{{\setupmarkupstyle{key}%
+\def\key#1{{\setregularquotes
   \nohyphenation
   \ifmonospace\else\tt\fi
   #1}\null}
@@ -3373,16 +3315,20 @@ end
 {\obeylines
 \globaldefs=1
 \envdef\displaymath{%
-\tex
+\tex%
 \def\thisenv{\displaymath}%
+\begingroup\let\end\displaymathend%
 $$%
 }
 
-\def\Edisplaymath{$$
+\def\displaymathend{$$\endgroup\end}%
+
+\def\Edisplaymath{%
 \def\thisenv{\tex}%
 \end tex
 }}
 
+
 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
 % except specified as a normal braced arg, so no newlines to worry about.
@@ -7144,7 +7090,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
 % But \@ or @@ will get a plain @ character.
 
 \envdef\tex{%
-  \setupmarkupstyle{tex}%
+  \setregularquotes
   \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
   \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
   \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
@@ -7370,7 +7316,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
 % If you want all examples etc. small: @set dispenvsize small.
 % If you want even small examples the full size: @set dispenvsize nosmall.
 % This affects the following displayed environments:
-%    @example, @display, @format, @lisp
+%    @example, @display, @format, @lisp, @verbatim
 %
 \def\smallword{small}
 \def\nosmallword{nosmall}
@@ -7416,9 +7362,9 @@ might help (with 'rm \jobname.?? \jobname.??s')%
 %
 \maketwodispenvdef{lisp}{example}{%
   \nonfillstart
-  \tt\setupmarkupstyle{example}%
+  \tt\setcodequotes
   \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
-  \gobble % eat return
+  \parsearg\gobble
 }
 % @display/@smalldisplay: same as @lisp except keep current font.
 %
@@ -7576,7 +7522,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
 \def\setupverb{%
   \tt  % easiest (and conventionally used) font for verbatim
   \def\par{\leavevmode\endgraf}%
-  \setupmarkupstyle{verb}%
+  \setcodequotes
   \tabeightspaces
   % Respect line breaks,
   % print special symbols as themselves, and
@@ -7617,7 +7563,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
   \tt % easiest (and conventionally used) font for verbatim
   \def\par{\egroup\leavevmode\box\verbbox\endgraf\starttabbox}%
   \tabexpand
-  \setupmarkupstyle{verbatim}%
+  \setcodequotes
   % Respect line breaks,
   % print special symbols as themselves, and
   % make each space count.
@@ -8036,7 +7982,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
   % leave the code in, but it's strange for @var to lead to typewriter.
   % Nowadays we recommend @code, since the difference between a ttsl hyphen
   % and a tt hyphen is pretty tiny.  @code also disables ?` !`.
-  \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
+  \def\var##1{{\setregularquotes\ttslanted{##1}}}%
   #1%
   \sl\hyphenchar\font=45
 }
@@ -8145,11 +8091,18 @@ might help (with 'rm \jobname.?? \jobname.??s')%
   }
 \fi
 
+\let\E=\expandafter
+
 % Used at the time of macro expansion.
 % Argument is macro body with arguments substituted
 \def\scanmacro#1{%
   \newlinechar`\^^M
-  \def\xeatspaces{\eatspaces}%
+  % expand the expansion of \eatleadingcr twice to maybe remove a leading
+  % newline (and \else and \fi tokens), then call \eatspaces on the result.
+  \def\xeatspaces##1{%
+    \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1%
+  }}%
+  \def\xempty##1{}%
   %
   % Process the macro body under the current catcode regime.
   \scantokens{#1@comment}%
@@ -8202,6 +8155,11 @@ might help (with 'rm \jobname.?? \jobname.??s')%
 \unbrace{\gdef\trim@@@ #1 } #2@{#1}
 }
 
+{\catcode`\^^M=\other%
+\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}%
+% Warning: this won't work for a delimited argument
+% or for an empty argument
+
 % Trim a single trailing ^^M off a string.
 {\catcode`\^^M=\other \catcode`\Q=3%
 \gdef\eatcr #1{\eatcra #1Q^^MQ}%
@@ -8368,6 +8326,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
   \let\hash\relax
   % \hash is redefined to `#' later to get it into definitions
   \let\xeatspaces\relax
+  \let\xempty\relax
   \parsemargdefxxx#1,;,%
   \ifnum\paramno<10\relax\else
     \paramno0\relax
@@ -8379,9 +8338,11 @@ might help (with 'rm \jobname.?? \jobname.??s')%
   \else \let\next=\parsemargdefxxx
     \advance\paramno by 1
     \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
-        {\xeatspaces{\hash\the\paramno}}%
+        {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}%
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
+% the \xempty{} is to give \eatleadingcr an argument in the case of an
+% empty macro argument.
 
 % \parsemacbody, \parsermacbody
 %
@@ -9107,20 +9068,22 @@ might help (with 'rm \jobname.?? \jobname.??s')%
       % output the `[mynode]' via the macro below so it can be overridden.
       \xrefprintnodename\printedrefname
       %
-      % But we always want a comma and a space:
-      ,\space
-      %
-      % output the `page 3'.
-      \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
-      % Add a , if xref followed by a space
-      \if\space\noexpand\tokenafterxref ,%
-      \else\ifx\       \tokenafterxref ,% @TAB
-      \else\ifx\*\tokenafterxref ,%   @*
-      \else\ifx\ \tokenafterxref ,%   @SPACE
-      \else\ifx\
-                \tokenafterxref ,%    @NL
-      \else\ifx\tie\tokenafterxref ,% @tie
-      \fi\fi\fi\fi\fi\fi
+      \expandafter\ifx\csname SETtxiomitxrefpg\endcsname\relax
+        % But we always want a comma and a space:
+        ,\space
+        %
+        % output the `page 3'.
+        \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+        % Add a , if xref followed by a space
+        \if\space\noexpand\tokenafterxref ,%
+        \else\ifx\     \tokenafterxref ,% @TAB
+        \else\ifx\*\tokenafterxref ,%   @*
+        \else\ifx\ \tokenafterxref ,%   @SPACE
+        \else\ifx\
+                  \tokenafterxref ,%    @NL
+        \else\ifx\tie\tokenafterxref ,% @tie
+        \fi\fi\fi\fi\fi\fi
+      \fi
     \fi\fi
   \fi
   \endlink
@@ -9550,7 +9513,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
 \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
   \catcode`\^^M = 5     % in case we're inside an example
   \normalturnoffactive  % allow _ et al. in names
-  \def\xprocessmacroarg{\eatspaces}% in case we are being used via a macro
+  \makevalueexpandable
   % If the image is by itself, center it.
   \ifvmode
     \imagevmodetrue
@@ -11603,7 +11566,7 @@ directory should work if nowhere else does.}
   \let> = \activegtr
   \let~ = \activetilde
   \let^ = \activehat
-  \markupsetuplqdefault \markupsetuprqdefault
+  \setregularquotes
   \let\b = \strong
   \let\i = \smartitalic
   % in principle, all other definitions in \tex have to be undone too.
@@ -11662,8 +11625,7 @@ directory should work if nowhere else does.}
    @let|=@normalverticalbar
    @let~=@normaltilde
    @let\=@ttbackslash
-   @markupsetuplqdefault
-   @markupsetuprqdefault
+   @setregularquotes
    @unsepspaces
  }
 }
@@ -11756,8 +11718,7 @@ directory should work if nowhere else does.}
 @c Do this last of all since we use ` in the previous @catcode assignments.
 @catcode`@'=@active
 @catcode`@`=@active
-@markupsetuplqdefault
-@markupsetuprqdefault
+@setregularquotes
 
 @c Local variables:
 @c eval: (add-hook 'before-save-hook 'time-stamp)

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=30f33344588322c1dd875a779906cb8fbfa4813e

commit 30f33344588322c1dd875a779906cb8fbfa4813e
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Sat Jan 23 20:21:27 2021 +0200

    Several small fixes in the manual.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 226b702..71d7b75 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2021-01-23         Arnold D. Robbins     <arnold@skeeve.com>
+
+       * gawktexi.in: A number of small fixes, thanks to
+       Antonio Columbo.
+
 2021-01-21         Arnold D. Robbins     <arnold@skeeve.com>
 
        * gawktexi.in (Other Versions): Add information on more
diff --git a/doc/gawk.info b/doc/gawk.info
index 2f8470d..955c89c 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -18042,14 +18042,14 @@ overlap with 'gawk''s, a '--' is needed to tell 
'gawk' to stop looking
 for options.
 
    Next comes the code that handles the 'egrep'-specific behavior.
-'egrep' uses the first nonoption on the command line is used.  if no
-pattern is supplied with '-e'.  If the pattern is empty, that means no
-pattern was supplied, so it's necessary to print an error message and
-exit.  The 'awk' command-line arguments up to 'ARGV[Optind]' are
-cleared, so that 'awk' won't try to process them as files.  If no files
-are specified, the standard input is used, and if multiple files are
-specified, we make sure to note this so that the file names can precede
-the matched lines in the output:
+'egrep' uses the first nonoption on the command line if no pattern is
+supplied with '-e'.  If the pattern is empty, that means no pattern was
+supplied, so it's necessary to print an error message and exit.  The
+'awk' command-line arguments up to 'ARGV[Optind]' are cleared, so that
+'awk' won't try to process them as files.  If no files are specified,
+the standard input is used, and if multiple files are specified, we make
+sure to note this so that the file names can precede the matched lines
+in the output:
 
          if (pattern == "")
              pattern = ARGV[Optind++]
@@ -21822,16 +21822,16 @@ source code, it will appear that way in the output.
 
 File: gawk.info,  Node: Extension Philosophy,  Next: Advanced Features 
Summary,  Prev: Profiling,  Up: Advanced Features
 
-12.6 Builtin Features vs. Extensions
-====================================
+12.6 Builtin Features versus Extensions
+=======================================
 
 As this and subsequent major nodes show, 'gawk' has a large number of
 extensions over standard 'awk' built-in to the program.  These have
 developed over time.  More recently, the focus has moved to using the
 extension mechanism (*note Dynamic Extensions::) for adding features.
 This minor node discusses the "guiding philosophy" behind what should be
-added to the interpreter as a built-in feature vs. what should be done
-in extensions.
+added to the interpreter as a built-in feature versus what should be
+done in extensions.
 
    There are several goals:
 
@@ -21846,9 +21846,8 @@ in extensions.
   4. Extend the core interpreter only if some feature is:
 
        A. Truly desirable.
-       B. Cannot be done via (2) or (3) above.
+       B. Cannot be done via library files or loadable extensions.
        C. Can be implemented without too much pain in the core.
-
    Combining modules with 'awk' files is a powerful technique.  Some of
 the sample extensions demonstrate this.
 
@@ -21898,7 +21897,8 @@ File: gawk.info,  Node: Advanced Features Summary,  
Prev: Extension Philosophy,
    * You can also just "pretty-print" the program.
 
    * New features should be developed using the extension mechansim if
-     possible, and added to the core interpreter only as a last resort.
+     possible; they should be added to the core interpreter only as a
+     last resort.
 
 
 File: gawk.info,  Node: Internationalization,  Next: Debugger,  Prev: Advanced 
Features,  Up: Top
@@ -34715,7 +34715,7 @@ Index
 * .pot files:                            Explaining gettext.  (line  31)
 * / (forward slash), to enclose regular expressions: Regexp.  (line  10)
 * / (forward slash), /= operator:        Assignment Ops.      (line 129)
-* / (forward slash), /= operator, vs.  /=.../ regexp constant: Assignment Ops.
+* / (forward slash), /= operator, vs. /=.../ regexp constant: Assignment Ops.
                                                               (line 149)
 * / (forward slash), / operator:         Precedence.          (line  54)
 * / (forward slash), /= operator <1>:    Precedence.          (line  94)
@@ -35562,7 +35562,7 @@ Index
                                                               (line  17)
 * dark corner, regexp constants, /= operator and: Assignment Ops.
                                                               (line 149)
-* dark corner, /= operator vs.  /=.../ regexp constant: Assignment Ops.
+* dark corner, /= operator vs. /=.../ regexp constant: Assignment Ops.
                                                               (line 149)
 * dark corner, "0" is actually true:     Truth Values.        (line  24)
 * dark corner, range patterns, line continuation and: Ranges. (line  64)
@@ -36200,7 +36200,7 @@ Index
 * formatting, strings:                   String Functions.    (line 395)
 * forward slash (/), to enclose regular expressions: Regexp.  (line  10)
 * forward slash (/), /= operator:        Assignment Ops.      (line 129)
-* forward slash (/), /= operator, vs.  /=.../ regexp constant: Assignment Ops.
+* forward slash (/), /= operator, vs. /=.../ regexp constant: Assignment Ops.
                                                               (line 149)
 * forward slash (/), / operator:         Precedence.          (line  54)
 * forward slash (/), /= operator <1>:    Precedence.          (line  94)
@@ -38352,275 +38352,275 @@ Node: Running Examples728199
 Node: Clones728927
 Node: Cut Program730151
 Node: Egrep Program740291
-Node: Id Program749302
-Node: Split Program759249
-Ref: Split Program-Footnote-1769139
-Node: Tee Program769312
-Node: Uniq Program772102
-Node: Wc Program779690
-Node: Bytes vs. Characters780087
-Node: Using extensions781635
-Node: wc program782389
-Node: Miscellaneous Programs787254
-Node: Dupword Program788467
-Node: Alarm Program790497
-Node: Translate Program795352
-Ref: Translate Program-Footnote-1799917
-Node: Labels Program800187
-Ref: Labels Program-Footnote-1803538
-Node: Word Sorting803622
-Node: History Sorting807694
-Node: Extract Program809919
-Node: Simple Sed817973
-Node: Igawk Program821047
-Ref: Igawk Program-Footnote-1835378
-Ref: Igawk Program-Footnote-2835580
-Ref: Igawk Program-Footnote-3835702
-Node: Anagram Program835817
-Node: Signature Program838879
-Node: Programs Summary840126
-Node: Programs Exercises841340
-Ref: Programs Exercises-Footnote-1845470
-Node: Advanced Features845556
-Node: Nondecimal Data847623
-Node: Array Sorting849214
-Node: Controlling Array Traversal849914
-Ref: Controlling Array Traversal-Footnote-1858282
-Node: Array Sorting Functions858400
-Ref: Array Sorting Functions-Footnote-1863491
-Node: Two-way I/O863687
-Ref: Two-way I/O-Footnote-1871408
-Ref: Two-way I/O-Footnote-2871595
-Node: TCP/IP Networking871677
-Node: Profiling874795
-Node: Extension Philosophy884104
-Node: Advanced Features Summary885555
-Node: Internationalization887554
-Node: I18N and L10N889034
-Node: Explaining gettext889721
-Ref: Explaining gettext-Footnote-1895613
-Ref: Explaining gettext-Footnote-2895798
-Node: Programmer i18n895963
-Ref: Programmer i18n-Footnote-1900912
-Node: Translator i18n900961
-Node: String Extraction901755
-Ref: String Extraction-Footnote-1902887
-Node: Printf Ordering902973
-Ref: Printf Ordering-Footnote-1905759
-Node: I18N Portability905823
-Ref: I18N Portability-Footnote-1908279
-Node: I18N Example908342
-Ref: I18N Example-Footnote-1911617
-Ref: I18N Example-Footnote-2911690
-Node: Gawk I18N911799
-Node: I18N Summary912448
-Node: Debugger913789
-Node: Debugging914789
-Node: Debugging Concepts915230
-Node: Debugging Terms917039
-Node: Awk Debugging919614
-Ref: Awk Debugging-Footnote-1920559
-Node: Sample Debugging Session920691
-Node: Debugger Invocation921225
-Node: Finding The Bug922611
-Node: List of Debugger Commands929085
-Node: Breakpoint Control930418
-Node: Debugger Execution Control934112
-Node: Viewing And Changing Data937474
-Node: Execution Stack941015
-Node: Debugger Info942652
-Node: Miscellaneous Debugger Commands946723
-Node: Readline Support951785
-Node: Limitations952681
-Node: Debugging Summary955235
-Node: Namespaces956514
-Node: Global Namespace957625
-Node: Qualified Names959023
-Node: Default Namespace960022
-Node: Changing The Namespace960763
-Node: Naming Rules962377
-Node: Internal Name Management964225
-Node: Namespace Example965267
-Node: Namespace And Features967829
-Node: Namespace Summary969264
-Node: Arbitrary Precision Arithmetic970741
-Node: Computer Arithmetic972228
-Ref: table-numeric-ranges975994
-Ref: table-floating-point-ranges976487
-Ref: Computer Arithmetic-Footnote-1977145
-Node: Math Definitions977202
-Ref: table-ieee-formats980518
-Ref: Math Definitions-Footnote-1981121
-Node: MPFR features981226
-Node: FP Math Caution982944
-Ref: FP Math Caution-Footnote-1984016
-Node: Inexactness of computations984385
-Node: Inexact representation985345
-Node: Comparing FP Values986705
-Node: Errors accumulate987946
-Node: Getting Accuracy989379
-Node: Try To Round992089
-Node: Setting precision992988
-Ref: table-predefined-precision-strings993685
-Node: Setting the rounding mode995515
-Ref: table-gawk-rounding-modes995889
-Ref: Setting the rounding mode-Footnote-1999820
-Node: Arbitrary Precision Integers999999
-Ref: Arbitrary Precision Integers-Footnote-11003174
-Node: Checking for MPFR1003323
-Node: POSIX Floating Point Problems1004797
-Ref: POSIX Floating Point Problems-Footnote-11009082
-Node: Floating point summary1009120
-Node: Dynamic Extensions1011310
-Node: Extension Intro1012863
-Node: Plugin License1014129
-Node: Extension Mechanism Outline1014926
-Ref: figure-load-extension1015365
-Ref: figure-register-new-function1016930
-Ref: figure-call-new-function1018022
-Node: Extension API Description1020084
-Node: Extension API Functions Introduction1021797
-Ref: table-api-std-headers1023633
-Node: General Data Types1027882
-Ref: General Data Types-Footnote-11036512
-Node: Memory Allocation Functions1036811
-Ref: Memory Allocation Functions-Footnote-11041312
-Node: Constructor Functions1041411
-Node: API Ownership of MPFR and GMP Values1044877
-Node: Registration Functions1046190
-Node: Extension Functions1046890
-Node: Exit Callback Functions1052212
-Node: Extension Version String1053462
-Node: Input Parsers1054125
-Node: Output Wrappers1066846
-Node: Two-way processors1071358
-Node: Printing Messages1073623
-Ref: Printing Messages-Footnote-11074794
-Node: Updating ERRNO1074947
-Node: Requesting Values1075686
-Ref: table-value-types-returned1076423
-Node: Accessing Parameters1077359
-Node: Symbol Table Access1078596
-Node: Symbol table by name1079108
-Ref: Symbol table by name-Footnote-11082132
-Node: Symbol table by cookie1082260
-Ref: Symbol table by cookie-Footnote-11086445
-Node: Cached values1086509
-Ref: Cached values-Footnote-11090045
-Node: Array Manipulation1090198
-Ref: Array Manipulation-Footnote-11091289
-Node: Array Data Types1091326
-Ref: Array Data Types-Footnote-11093984
-Node: Array Functions1094076
-Node: Flattening Arrays1098574
-Node: Creating Arrays1105550
-Node: Redirection API1110317
-Node: Extension API Variables1113150
-Node: Extension Versioning1113861
-Ref: gawk-api-version1114290
-Node: Extension GMP/MPFR Versioning1116021
-Node: Extension API Informational Variables1117649
-Node: Extension API Boilerplate1118722
-Node: Changes from API V11122696
-Node: Finding Extensions1124268
-Node: Extension Example1124827
-Node: Internal File Description1125625
-Node: Internal File Ops1129705
-Ref: Internal File Ops-Footnote-11141055
-Node: Using Internal File Ops1141195
-Ref: Using Internal File Ops-Footnote-11143578
-Node: Extension Samples1143852
-Node: Extension Sample File Functions1145381
-Node: Extension Sample Fnmatch1153030
-Node: Extension Sample Fork1154517
-Node: Extension Sample Inplace1155735
-Node: Extension Sample Ord1159361
-Node: Extension Sample Readdir1160197
-Ref: table-readdir-file-types1161086
-Node: Extension Sample Revout1162153
-Node: Extension Sample Rev2way1162742
-Node: Extension Sample Read write array1163482
-Node: Extension Sample Readfile1165424
-Node: Extension Sample Time1166519
-Node: Extension Sample API Tests1168271
-Node: gawkextlib1168763
-Node: Extension summary1171681
-Node: Extension Exercises1175383
-Node: Language History1176625
-Node: V7/SVR3.11178281
-Node: SVR41180433
-Node: POSIX1181867
-Node: BTL1183248
-Node: POSIX/GNU1183977
-Node: Feature History1189755
-Node: Common Extensions1206074
-Node: Ranges and Locales1207357
-Ref: Ranges and Locales-Footnote-11211973
-Ref: Ranges and Locales-Footnote-21212000
-Ref: Ranges and Locales-Footnote-31212235
-Node: Contributors1212458
-Node: History summary1218455
-Node: Installation1219835
-Node: Gawk Distribution1220779
-Node: Getting1221263
-Node: Extracting1222226
-Node: Distribution contents1223864
-Node: Unix Installation1230344
-Node: Quick Installation1231026
-Node: Shell Startup Files1233440
-Node: Additional Configuration Options1234529
-Node: Configuration Philosophy1236844
-Node: Non-Unix Installation1239213
-Node: PC Installation1239673
-Node: PC Binary Installation1240511
-Node: PC Compiling1240946
-Node: PC Using1242063
-Node: Cygwin1245616
-Node: MSYS1246840
-Node: VMS Installation1247442
-Node: VMS Compilation1248233
-Ref: VMS Compilation-Footnote-11249462
-Node: VMS Dynamic Extensions1249520
-Node: VMS Installation Details1251205
-Node: VMS Running1253458
-Node: VMS GNV1257737
-Node: VMS Old Gawk1258472
-Node: Bugs1258943
-Node: Bug address1259606
-Node: Usenet1262588
-Node: Maintainers1263592
-Node: Other Versions1264777
-Node: Installation summary1272642
-Node: Notes1273851
-Node: Compatibility Mode1274645
-Node: Additions1275427
-Node: Accessing The Source1276352
-Node: Adding Code1277789
-Node: New Ports1284008
-Node: Derived Files1288383
-Ref: Derived Files-Footnote-11294043
-Ref: Derived Files-Footnote-21294078
-Ref: Derived Files-Footnote-31294676
-Node: Future Extensions1294790
-Node: Implementation Limitations1295448
-Node: Extension Design1296658
-Node: Old Extension Problems1297802
-Ref: Old Extension Problems-Footnote-11299320
-Node: Extension New Mechanism Goals1299377
-Ref: Extension New Mechanism Goals-Footnote-11302741
-Node: Extension Other Design Decisions1302930
-Node: Extension Future Growth1305043
-Node: Notes summary1305649
-Node: Basic Concepts1306807
-Node: Basic High Level1307488
-Ref: figure-general-flow1307770
-Ref: figure-process-flow1308455
-Ref: Basic High Level-Footnote-11311756
-Node: Basic Data Typing1311941
-Node: Glossary1315269
-Node: Copying1347154
-Node: GNU Free Documentation License1384697
-Node: Index1409817
+Node: Id Program749292
+Node: Split Program759239
+Ref: Split Program-Footnote-1769129
+Node: Tee Program769302
+Node: Uniq Program772092
+Node: Wc Program779680
+Node: Bytes vs. Characters780077
+Node: Using extensions781625
+Node: wc program782379
+Node: Miscellaneous Programs787244
+Node: Dupword Program788457
+Node: Alarm Program790487
+Node: Translate Program795342
+Ref: Translate Program-Footnote-1799907
+Node: Labels Program800177
+Ref: Labels Program-Footnote-1803528
+Node: Word Sorting803612
+Node: History Sorting807684
+Node: Extract Program809909
+Node: Simple Sed817963
+Node: Igawk Program821037
+Ref: Igawk Program-Footnote-1835368
+Ref: Igawk Program-Footnote-2835570
+Ref: Igawk Program-Footnote-3835692
+Node: Anagram Program835807
+Node: Signature Program838869
+Node: Programs Summary840116
+Node: Programs Exercises841330
+Ref: Programs Exercises-Footnote-1845460
+Node: Advanced Features845546
+Node: Nondecimal Data847613
+Node: Array Sorting849204
+Node: Controlling Array Traversal849904
+Ref: Controlling Array Traversal-Footnote-1858272
+Node: Array Sorting Functions858390
+Ref: Array Sorting Functions-Footnote-1863481
+Node: Two-way I/O863677
+Ref: Two-way I/O-Footnote-1871398
+Ref: Two-way I/O-Footnote-2871585
+Node: TCP/IP Networking871667
+Node: Profiling874785
+Node: Extension Philosophy884094
+Node: Advanced Features Summary885573
+Node: Internationalization887588
+Node: I18N and L10N889068
+Node: Explaining gettext889755
+Ref: Explaining gettext-Footnote-1895647
+Ref: Explaining gettext-Footnote-2895832
+Node: Programmer i18n895997
+Ref: Programmer i18n-Footnote-1900946
+Node: Translator i18n900995
+Node: String Extraction901789
+Ref: String Extraction-Footnote-1902921
+Node: Printf Ordering903007
+Ref: Printf Ordering-Footnote-1905793
+Node: I18N Portability905857
+Ref: I18N Portability-Footnote-1908313
+Node: I18N Example908376
+Ref: I18N Example-Footnote-1911651
+Ref: I18N Example-Footnote-2911724
+Node: Gawk I18N911833
+Node: I18N Summary912482
+Node: Debugger913823
+Node: Debugging914823
+Node: Debugging Concepts915264
+Node: Debugging Terms917073
+Node: Awk Debugging919648
+Ref: Awk Debugging-Footnote-1920593
+Node: Sample Debugging Session920725
+Node: Debugger Invocation921259
+Node: Finding The Bug922645
+Node: List of Debugger Commands929119
+Node: Breakpoint Control930452
+Node: Debugger Execution Control934146
+Node: Viewing And Changing Data937508
+Node: Execution Stack941049
+Node: Debugger Info942686
+Node: Miscellaneous Debugger Commands946757
+Node: Readline Support951819
+Node: Limitations952715
+Node: Debugging Summary955269
+Node: Namespaces956548
+Node: Global Namespace957659
+Node: Qualified Names959057
+Node: Default Namespace960056
+Node: Changing The Namespace960797
+Node: Naming Rules962411
+Node: Internal Name Management964259
+Node: Namespace Example965301
+Node: Namespace And Features967863
+Node: Namespace Summary969298
+Node: Arbitrary Precision Arithmetic970775
+Node: Computer Arithmetic972262
+Ref: table-numeric-ranges976028
+Ref: table-floating-point-ranges976521
+Ref: Computer Arithmetic-Footnote-1977179
+Node: Math Definitions977236
+Ref: table-ieee-formats980552
+Ref: Math Definitions-Footnote-1981155
+Node: MPFR features981260
+Node: FP Math Caution982978
+Ref: FP Math Caution-Footnote-1984050
+Node: Inexactness of computations984419
+Node: Inexact representation985379
+Node: Comparing FP Values986739
+Node: Errors accumulate987980
+Node: Getting Accuracy989413
+Node: Try To Round992123
+Node: Setting precision993022
+Ref: table-predefined-precision-strings993719
+Node: Setting the rounding mode995549
+Ref: table-gawk-rounding-modes995923
+Ref: Setting the rounding mode-Footnote-1999854
+Node: Arbitrary Precision Integers1000033
+Ref: Arbitrary Precision Integers-Footnote-11003208
+Node: Checking for MPFR1003357
+Node: POSIX Floating Point Problems1004831
+Ref: POSIX Floating Point Problems-Footnote-11009116
+Node: Floating point summary1009154
+Node: Dynamic Extensions1011344
+Node: Extension Intro1012897
+Node: Plugin License1014163
+Node: Extension Mechanism Outline1014960
+Ref: figure-load-extension1015399
+Ref: figure-register-new-function1016964
+Ref: figure-call-new-function1018056
+Node: Extension API Description1020118
+Node: Extension API Functions Introduction1021831
+Ref: table-api-std-headers1023667
+Node: General Data Types1027916
+Ref: General Data Types-Footnote-11036546
+Node: Memory Allocation Functions1036845
+Ref: Memory Allocation Functions-Footnote-11041346
+Node: Constructor Functions1041445
+Node: API Ownership of MPFR and GMP Values1044911
+Node: Registration Functions1046224
+Node: Extension Functions1046924
+Node: Exit Callback Functions1052246
+Node: Extension Version String1053496
+Node: Input Parsers1054159
+Node: Output Wrappers1066880
+Node: Two-way processors1071392
+Node: Printing Messages1073657
+Ref: Printing Messages-Footnote-11074828
+Node: Updating ERRNO1074981
+Node: Requesting Values1075720
+Ref: table-value-types-returned1076457
+Node: Accessing Parameters1077393
+Node: Symbol Table Access1078630
+Node: Symbol table by name1079142
+Ref: Symbol table by name-Footnote-11082166
+Node: Symbol table by cookie1082294
+Ref: Symbol table by cookie-Footnote-11086479
+Node: Cached values1086543
+Ref: Cached values-Footnote-11090079
+Node: Array Manipulation1090232
+Ref: Array Manipulation-Footnote-11091323
+Node: Array Data Types1091360
+Ref: Array Data Types-Footnote-11094018
+Node: Array Functions1094110
+Node: Flattening Arrays1098608
+Node: Creating Arrays1105584
+Node: Redirection API1110351
+Node: Extension API Variables1113184
+Node: Extension Versioning1113895
+Ref: gawk-api-version1114324
+Node: Extension GMP/MPFR Versioning1116055
+Node: Extension API Informational Variables1117683
+Node: Extension API Boilerplate1118756
+Node: Changes from API V11122730
+Node: Finding Extensions1124302
+Node: Extension Example1124861
+Node: Internal File Description1125659
+Node: Internal File Ops1129739
+Ref: Internal File Ops-Footnote-11141089
+Node: Using Internal File Ops1141229
+Ref: Using Internal File Ops-Footnote-11143612
+Node: Extension Samples1143886
+Node: Extension Sample File Functions1145415
+Node: Extension Sample Fnmatch1153064
+Node: Extension Sample Fork1154551
+Node: Extension Sample Inplace1155769
+Node: Extension Sample Ord1159395
+Node: Extension Sample Readdir1160231
+Ref: table-readdir-file-types1161120
+Node: Extension Sample Revout1162187
+Node: Extension Sample Rev2way1162776
+Node: Extension Sample Read write array1163516
+Node: Extension Sample Readfile1165458
+Node: Extension Sample Time1166553
+Node: Extension Sample API Tests1168305
+Node: gawkextlib1168797
+Node: Extension summary1171715
+Node: Extension Exercises1175417
+Node: Language History1176659
+Node: V7/SVR3.11178315
+Node: SVR41180467
+Node: POSIX1181901
+Node: BTL1183282
+Node: POSIX/GNU1184011
+Node: Feature History1189789
+Node: Common Extensions1206108
+Node: Ranges and Locales1207391
+Ref: Ranges and Locales-Footnote-11212007
+Ref: Ranges and Locales-Footnote-21212034
+Ref: Ranges and Locales-Footnote-31212269
+Node: Contributors1212492
+Node: History summary1218489
+Node: Installation1219869
+Node: Gawk Distribution1220813
+Node: Getting1221297
+Node: Extracting1222260
+Node: Distribution contents1223898
+Node: Unix Installation1230378
+Node: Quick Installation1231060
+Node: Shell Startup Files1233474
+Node: Additional Configuration Options1234563
+Node: Configuration Philosophy1236878
+Node: Non-Unix Installation1239247
+Node: PC Installation1239707
+Node: PC Binary Installation1240545
+Node: PC Compiling1240980
+Node: PC Using1242097
+Node: Cygwin1245650
+Node: MSYS1246874
+Node: VMS Installation1247476
+Node: VMS Compilation1248267
+Ref: VMS Compilation-Footnote-11249496
+Node: VMS Dynamic Extensions1249554
+Node: VMS Installation Details1251239
+Node: VMS Running1253492
+Node: VMS GNV1257771
+Node: VMS Old Gawk1258506
+Node: Bugs1258977
+Node: Bug address1259640
+Node: Usenet1262622
+Node: Maintainers1263626
+Node: Other Versions1264811
+Node: Installation summary1272676
+Node: Notes1273885
+Node: Compatibility Mode1274679
+Node: Additions1275461
+Node: Accessing The Source1276386
+Node: Adding Code1277823
+Node: New Ports1284042
+Node: Derived Files1288417
+Ref: Derived Files-Footnote-11294077
+Ref: Derived Files-Footnote-21294112
+Ref: Derived Files-Footnote-31294710
+Node: Future Extensions1294824
+Node: Implementation Limitations1295482
+Node: Extension Design1296692
+Node: Old Extension Problems1297836
+Ref: Old Extension Problems-Footnote-11299354
+Node: Extension New Mechanism Goals1299411
+Ref: Extension New Mechanism Goals-Footnote-11302775
+Node: Extension Other Design Decisions1302964
+Node: Extension Future Growth1305077
+Node: Notes summary1305683
+Node: Basic Concepts1306841
+Node: Basic High Level1307522
+Ref: figure-general-flow1307804
+Ref: figure-process-flow1308489
+Ref: Basic High Level-Footnote-11311790
+Node: Basic Data Typing1311975
+Node: Glossary1315303
+Node: Copying1347188
+Node: GNU Free Documentation License1384731
+Node: Index1409851
 
 End Tag Table
 
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 7f18649..f3d3b39 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -12738,17 +12738,17 @@ For maximum portability, do not use the @samp{**=} 
operator.
 @end docbook
 
 @cindex dark corner @subentry regexp constants @subentry @code{/=} operator and
-@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs. 
@code{/=@dots{}/} regexp constant
-@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs. 
@code{/=@dots{}/} regexp constant
+@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs.@: 
@code{/=@dots{}/} regexp constant
+@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs.@: 
@code{/=@dots{}/} regexp constant
 @cindex regexp constants @subentry @code{/=@dots{}/} @subentry @code{/=} 
operator and
 
 @c derived from email from  "Nelson H. F. Beebe" <beebe@math.utah.edu>
 @c Date: Mon, 1 Sep 1997 13:38:35 -0600 (MDT)
 
-@cindex dark corner @subentry @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex ambiguity, syntactic: @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex syntactic ambiguity: @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex @code{/=} operator vs. @code{/=@dots{}/} regexp constant
+@cindex dark corner @subentry @code{/=} operator vs.@: @code{/=@dots{}/} 
regexp constant
+@cindex ambiguity, syntactic: @code{/=} operator vs.@: @code{/=@dots{}/} 
regexp constant
+@cindex syntactic ambiguity: @code{/=} operator vs.@: @code{/=@dots{}/} regexp 
constant
+@cindex @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant
 There is a syntactic ambiguity between the @code{/=} assignment
 operator and regexp constants whose first character is an @samp{=}.
 @value{DARKCORNER}
@@ -12784,17 +12784,17 @@ and @command{mawk} also do not.
 
 
 @cindex dark corner @subentry regexp constants @subentry @code{/=} operator and
-@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs. 
@code{/=@dots{}/} regexp constant
-@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs. 
@code{/=@dots{}/} regexp constant
+@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs.@: 
@code{/=@dots{}/} regexp constant
+@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs.@: 
@code{/=@dots{}/} regexp constant
 @cindex regexp constants @subentry @code{/=@dots{}/} @subentry @code{/=} 
operator and
 
 @c derived from email from  "Nelson H. F. Beebe" <beebe@math.utah.edu>
 @c Date: Mon, 1 Sep 1997 13:38:35 -0600 (MDT)
 
-@cindex dark corner @subentry @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex ambiguity, syntactic: @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex syntactic ambiguity: @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex @code{/=} operator vs. @code{/=@dots{}/} regexp constant
+@cindex dark corner @subentry @code{/=} operator vs.@: @code{/=@dots{}/} 
regexp constant
+@cindex ambiguity, syntactic: @code{/=} operator vs.@: @code{/=@dots{}/} 
regexp constant
+@cindex syntactic ambiguity: @code{/=} operator vs.@: @code{/=@dots{}/} regexp 
constant
+@cindex @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant
 There is a syntactic ambiguity between the @code{/=} assignment
 operator and regexp constants whose first character is an @samp{=}.
 @value{DARKCORNER}
@@ -25596,7 +25596,7 @@ with @command{gawk}'s, a @option{--} is needed to tell 
@command{gawk}
 to stop looking for options.
 
 Next comes the code that handles the @command{egrep}-specific behavior.
-@command{egrep} uses the first nonoption on the command line is used.
+@command{egrep} uses the first nonoption on the command line
 if no pattern is supplied with @option{-e}.
 If the pattern is empty, that means no pattern was supplied, so it's
 necessary to print an error message and exit.
@@ -30563,7 +30563,7 @@ constants; if you used an octal or hexadecimal value in 
your source
 code, it will appear that way in the output.
 
 @node Extension Philosophy
-@section Builtin Features vs.@: Extensions
+@section Builtin Features versus Extensions
 
 As this and subsequent @value{CHAPTER}s show, @command{gawk} has a
 large number of extensions over standard @command{awk} built-in to
@@ -30571,7 +30571,7 @@ the program.  These have developed over time.  More 
recently, the
 focus has moved to using the extension mechanism (@pxref{Dynamic Extensions})
 for adding features.  This @value{SECTION} discusses the ``guiding philosophy''
 behind what should be added to the interpreter as a built-in
-feature vs.@: what should be done in extensions.
+feature versus what should be done in extensions.
 
 There are several goals:
 
@@ -30596,12 +30596,11 @@ Extend the core interpreter only if some feature is:
 @item
 Truly desirable.
 @item
-Cannot be done via (2) or (3) above.
+Cannot be done via library files or loadable extensions.
 @item
 Can be implemented without too much pain in the core.
 @end enumerate
 @end enumerate
-
 Combining modules with @command{awk} files is a powerful technique.
 Some of the sample extensions demonstrate this.
 
@@ -30651,8 +30650,8 @@ you tune them more easily.  Sending the @code{USR1} 
signal while profiling cause
 You can also just ``pretty-print'' the program.
 
 @item
-New features should be developed using the extension mechansim if possible, 
and added
-to the core interpreter only as a last resort.
+New features should be developed using the extension mechansim if possible;
+they should be added to the core interpreter only as a last resort.
 @end itemize
 
 
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index f376a4d..ab2c1b4 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -12084,17 +12084,17 @@ For maximum portability, do not use the @samp{**=} 
operator.
 
 @sidebar Syntactic Ambiguities Between @samp{/=} and Regular Expressions
 @cindex dark corner @subentry regexp constants @subentry @code{/=} operator and
-@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs. 
@code{/=@dots{}/} regexp constant
-@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs. 
@code{/=@dots{}/} regexp constant
+@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs.@: 
@code{/=@dots{}/} regexp constant
+@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs.@: 
@code{/=@dots{}/} regexp constant
 @cindex regexp constants @subentry @code{/=@dots{}/} @subentry @code{/=} 
operator and
 
 @c derived from email from  "Nelson H. F. Beebe" <beebe@math.utah.edu>
 @c Date: Mon, 1 Sep 1997 13:38:35 -0600 (MDT)
 
-@cindex dark corner @subentry @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex ambiguity, syntactic: @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex syntactic ambiguity: @code{/=} operator vs. @code{/=@dots{}/} regexp 
constant
-@cindex @code{/=} operator vs. @code{/=@dots{}/} regexp constant
+@cindex dark corner @subentry @code{/=} operator vs.@: @code{/=@dots{}/} 
regexp constant
+@cindex ambiguity, syntactic: @code{/=} operator vs.@: @code{/=@dots{}/} 
regexp constant
+@cindex syntactic ambiguity: @code{/=} operator vs.@: @code{/=@dots{}/} regexp 
constant
+@cindex @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant
 There is a syntactic ambiguity between the @code{/=} assignment
 operator and regexp constants whose first character is an @samp{=}.
 @value{DARKCORNER}
@@ -24532,7 +24532,7 @@ with @command{gawk}'s, a @option{--} is needed to tell 
@command{gawk}
 to stop looking for options.
 
 Next comes the code that handles the @command{egrep}-specific behavior.
-@command{egrep} uses the first nonoption on the command line is used.
+@command{egrep} uses the first nonoption on the command line
 if no pattern is supplied with @option{-e}.
 If the pattern is empty, that means no pattern was supplied, so it's
 necessary to print an error message and exit.
@@ -29499,7 +29499,7 @@ constants; if you used an octal or hexadecimal value in 
your source
 code, it will appear that way in the output.
 
 @node Extension Philosophy
-@section Builtin Features vs.@: Extensions
+@section Builtin Features versus Extensions
 
 As this and subsequent @value{CHAPTER}s show, @command{gawk} has a
 large number of extensions over standard @command{awk} built-in to
@@ -29507,7 +29507,7 @@ the program.  These have developed over time.  More 
recently, the
 focus has moved to using the extension mechanism (@pxref{Dynamic Extensions})
 for adding features.  This @value{SECTION} discusses the ``guiding philosophy''
 behind what should be added to the interpreter as a built-in
-feature vs.@: what should be done in extensions.
+feature versus what should be done in extensions.
 
 There are several goals:
 
@@ -29532,12 +29532,11 @@ Extend the core interpreter only if some feature is:
 @item
 Truly desirable.
 @item
-Cannot be done via (2) or (3) above.
+Cannot be done via library files or loadable extensions.
 @item
 Can be implemented without too much pain in the core.
 @end enumerate
 @end enumerate
-
 Combining modules with @command{awk} files is a powerful technique.
 Some of the sample extensions demonstrate this.
 
@@ -29587,8 +29586,8 @@ you tune them more easily.  Sending the @code{USR1} 
signal while profiling cause
 You can also just ``pretty-print'' the program.
 
 @item
-New features should be developed using the extension mechansim if possible, 
and added
-to the core interpreter only as a last resort.
+New features should be developed using the extension mechansim if possible;
+they should be added to the core interpreter only as a last resort.
 @end itemize
 
 

-----------------------------------------------------------------------

Summary of changes:
 doc/ChangeLog   |   9 +
 doc/gawk.info   | 574 ++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi   |  37 ++--
 doc/gawktexi.in |  25 ++-
 doc/texinfo.tex | 163 ++++++----------
 5 files changed, 388 insertions(+), 420 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]