diff options
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/gawk.info | 584 | ||||
-rw-r--r-- | doc/gawk.texi | 137 |
3 files changed, 366 insertions, 361 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 1d4a9e32..c3be84ec 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,9 @@ +2012-12-03 Arnold D. Robbins <arnold@skeeve.com> + + * gawk.texi: Fix all @tex ... @end tex tables to use a different + control character than @ so that the new makeinfo won't + complain about them. Thanks to Karl Berry for the guidance. + 2012-12-01 Arnold D. Robbins <arnold@skeeve.com> * gawk.texi: API chapter. Sync with gawkapi.h diff --git a/doc/gawk.info b/doc/gawk.info index 724ae201..c339dcbb 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -11838,7 +11838,7 @@ Table 9.4: POSIX Rules For `sub()' And `gsub()' follow the 1996 proposed rules, since that had been its behavior for many years. - When version 4.0.0, was released, the `gawk' maintainer made the + When version 4.0.0 was released, the `gawk' maintainer made the POSIX rules the default, breaking well over a decade's worth of backwards compatibility.(2) Needless to say, this was a bad idea, and as of version 4.0.1, `gawk' resumed its historical behavior, and only @@ -31993,296 +31993,296 @@ Ref: table-sub-escapes497601 Ref: table-sub-posix-92498955 Ref: table-sub-proposed500306 Ref: table-posix-sub501660 -Ref: table-gensub-escapes503206 -Ref: Gory Details-Footnote-1504413 -Ref: Gory Details-Footnote-2504464 -Node: I/O Functions504615 -Ref: I/O Functions-Footnote-1511639 -Node: Time Functions511786 -Ref: Time Functions-Footnote-1522678 -Ref: Time Functions-Footnote-2522746 -Ref: Time Functions-Footnote-3522904 -Ref: Time Functions-Footnote-4523015 -Ref: Time Functions-Footnote-5523127 -Ref: Time Functions-Footnote-6523354 -Node: Bitwise Functions523620 -Ref: table-bitwise-ops524178 -Ref: Bitwise Functions-Footnote-1528399 -Node: Type Functions528583 -Node: I18N Functions529053 -Node: User-defined530680 -Node: Definition Syntax531484 -Ref: Definition Syntax-Footnote-1536394 -Node: Function Example536463 -Node: Function Caveats539057 -Node: Calling A Function539478 -Node: Variable Scope540593 -Node: Pass By Value/Reference543556 -Node: Return Statement546996 -Node: Dynamic Typing549977 -Node: Indirect Calls550712 -Node: Library Functions560397 -Ref: Library Functions-Footnote-1563396 -Node: Library Names563567 -Ref: Library Names-Footnote-1567038 -Ref: Library Names-Footnote-2567258 -Node: General Functions567344 -Node: Strtonum Function568297 -Node: Assert Function571227 -Node: Round Function574553 -Node: Cliff Random Function576096 -Node: Ordinal Functions577112 -Ref: Ordinal Functions-Footnote-1580182 -Ref: Ordinal Functions-Footnote-2580434 -Node: Join Function580643 -Ref: Join Function-Footnote-1582414 -Node: Getlocaltime Function582614 -Node: Data File Management586329 -Node: Filetrans Function586961 -Node: Rewind Function591100 -Node: File Checking592487 -Node: Empty Files593581 -Node: Ignoring Assigns595811 -Node: Getopt Function597364 -Ref: Getopt Function-Footnote-1608668 -Node: Passwd Functions608871 -Ref: Passwd Functions-Footnote-1617846 -Node: Group Functions617934 -Node: Walking Arrays626018 -Node: Sample Programs627587 -Node: Running Examples628264 -Node: Clones628992 -Node: Cut Program630216 -Node: Egrep Program640061 -Ref: Egrep Program-Footnote-1647834 -Node: Id Program647944 -Node: Split Program651560 -Ref: Split Program-Footnote-1655079 -Node: Tee Program655207 -Node: Uniq Program658010 -Node: Wc Program665439 -Ref: Wc Program-Footnote-1669705 -Ref: Wc Program-Footnote-2669905 -Node: Miscellaneous Programs669997 -Node: Dupword Program671185 -Node: Alarm Program673216 -Node: Translate Program677965 -Ref: Translate Program-Footnote-1682352 -Ref: Translate Program-Footnote-2682580 -Node: Labels Program682714 -Ref: Labels Program-Footnote-1686085 -Node: Word Sorting686169 -Node: History Sorting690053 -Node: Extract Program691892 -Ref: Extract Program-Footnote-1699375 -Node: Simple Sed699503 -Node: Igawk Program702565 -Ref: Igawk Program-Footnote-1717722 -Ref: Igawk Program-Footnote-2717923 -Node: Anagram Program718061 -Node: Signature Program721129 -Node: Internationalization722229 -Node: I18N and L10N723661 -Node: Explaining gettext724347 -Ref: Explaining gettext-Footnote-1729413 -Ref: Explaining gettext-Footnote-2729597 -Node: Programmer i18n729762 -Node: Translator i18n733962 -Node: String Extraction734755 -Ref: String Extraction-Footnote-1735716 -Node: Printf Ordering735802 -Ref: Printf Ordering-Footnote-1738586 -Node: I18N Portability738650 -Ref: I18N Portability-Footnote-1741099 -Node: I18N Example741162 -Ref: I18N Example-Footnote-1743797 -Node: Gawk I18N743869 -Node: Advanced Features744486 -Node: Nondecimal Data745990 -Node: Array Sorting747573 -Node: Controlling Array Traversal748270 -Node: Array Sorting Functions756508 -Ref: Array Sorting Functions-Footnote-1760182 -Ref: Array Sorting Functions-Footnote-2760275 -Node: Two-way I/O760469 -Ref: Two-way I/O-Footnote-1765901 -Node: TCP/IP Networking765971 -Node: Profiling768815 -Node: Debugger776269 -Node: Debugging777237 -Node: Debugging Concepts777670 -Node: Debugging Terms779526 -Node: Awk Debugging782123 -Node: Sample Debugging Session783015 -Node: Debugger Invocation783535 -Node: Finding The Bug784864 -Node: List of Debugger Commands791352 -Node: Breakpoint Control792686 -Node: Debugger Execution Control796350 -Node: Viewing And Changing Data799710 -Node: Execution Stack803066 -Node: Debugger Info804533 -Node: Miscellaneous Debugger Commands808514 -Node: Readline Support813959 -Node: Limitations814790 -Node: Arbitrary Precision Arithmetic817042 -Ref: Arbitrary Precision Arithmetic-Footnote-1818684 -Node: General Arithmetic818832 -Node: Floating Point Issues820552 -Node: String Conversion Precision821433 -Ref: String Conversion Precision-Footnote-1823139 -Node: Unexpected Results823248 -Node: POSIX Floating Point Problems825401 -Ref: POSIX Floating Point Problems-Footnote-1829226 -Node: Integer Programming829264 -Node: Floating-point Programming831017 -Ref: Floating-point Programming-Footnote-1837326 -Node: Floating-point Representation837590 -Node: Floating-point Context838755 -Ref: table-ieee-formats839597 -Node: Rounding Mode840981 -Ref: table-rounding-modes841460 -Ref: Rounding Mode-Footnote-1844464 -Node: Gawk and MPFR844645 -Node: Arbitrary Precision Floats845887 -Ref: Arbitrary Precision Floats-Footnote-1848316 -Node: Setting Precision848627 -Node: Setting Rounding Mode851360 -Ref: table-gawk-rounding-modes851764 -Node: Floating-point Constants852944 -Node: Changing Precision854368 -Ref: Changing Precision-Footnote-1855768 -Node: Exact Arithmetic855942 -Node: Arbitrary Precision Integers859050 -Ref: Arbitrary Precision Integers-Footnote-1862050 -Node: Dynamic Extensions862197 -Node: Extension Intro863583 -Node: Plugin License864791 -Node: Extension Design865465 -Node: Old Extension Problems866536 -Ref: Old Extension Problems-Footnote-1868046 -Node: Extension New Mechanism Goals868103 -Ref: Extension New Mechanism Goals-Footnote-1870815 -Node: Extension Other Design Decisions871001 -Node: Extension Mechanism Outline873113 -Ref: load-extension874138 -Ref: load-new-function875616 -Ref: call-new-function876597 -Node: Extension Future Growth878591 -Node: Extension API Description879409 -Node: Extension API Functions Introduction880737 -Node: General Data Types885437 -Ref: General Data Types-Footnote-1891039 -Node: Requesting Values891338 -Ref: table-value-types-returned892069 -Node: Constructor Functions893023 -Node: Registration Functions896019 -Node: Extension Functions896704 -Node: Exit Callback Functions898536 -Node: Extension Version String899779 -Node: Input Parsers900429 -Node: Output Wrappers909016 -Node: Two-way processors913432 -Node: Printing Messages915562 -Ref: Printing Messages-Footnote-1916639 -Node: Updating `ERRNO'916791 -Node: Accessing Parameters917530 -Node: Symbol Table Access918760 -Node: Symbol table by name919272 -Ref: Symbol table by name-Footnote-1921442 -Node: Symbol table by cookie921522 -Ref: Symbol table by cookie-Footnote-1925651 -Node: Cached values925714 -Ref: Cached values-Footnote-1929157 -Node: Array Manipulation929248 -Ref: Array Manipulation-Footnote-1930346 -Node: Array Data Types930385 -Ref: Array Data Types-Footnote-1933088 -Node: Array Functions933180 -Node: Flattening Arrays936946 -Node: Creating Arrays943779 -Node: Extension API Variables948574 -Node: Extension Versioning949210 -Node: Extension API Informational Variables951111 -Node: Extension API Boilerplate952197 -Node: Finding Extensions956028 -Node: Extension Example956575 -Node: Internal File Description957313 -Node: Internal File Ops961001 -Ref: Internal File Ops-Footnote-1972448 -Node: Using Internal File Ops972588 -Ref: Using Internal File Ops-Footnote-1974941 -Node: Extension Samples975207 -Node: Extension Sample File Functions976650 -Node: Extension Sample Fnmatch985123 -Node: Extension Sample Fork986849 -Node: Extension Sample Ord988063 -Node: Extension Sample Readdir988839 -Node: Extension Sample Revout990343 -Node: Extension Sample Rev2way990936 -Node: Extension Sample Read write array991626 -Node: Extension Sample Readfile993509 -Node: Extension Sample API Tests994264 -Node: Extension Sample Time994789 -Node: gawkextlib996096 -Node: Language History998477 -Node: V7/SVR3.1999999 -Node: SVR41002320 -Node: POSIX1003762 -Node: BTL1004770 -Node: POSIX/GNU1005504 -Node: Common Extensions1011039 -Node: Ranges and Locales1012146 -Ref: Ranges and Locales-Footnote-11016764 -Ref: Ranges and Locales-Footnote-21016791 -Ref: Ranges and Locales-Footnote-31017051 -Node: Contributors1017272 -Node: Installation1021568 -Node: Gawk Distribution1022462 -Node: Getting1022946 -Node: Extracting1023772 -Node: Distribution contents1025464 -Node: Unix Installation1030686 -Node: Quick Installation1031303 -Node: Additional Configuration Options1033265 -Node: Configuration Philosophy1034742 -Node: Non-Unix Installation1037084 -Node: PC Installation1037542 -Node: PC Binary Installation1038841 -Node: PC Compiling1040689 -Node: PC Testing1043633 -Node: PC Using1044809 -Node: Cygwin1048994 -Node: MSYS1049994 -Node: VMS Installation1050508 -Node: VMS Compilation1051111 -Ref: VMS Compilation-Footnote-11052118 -Node: VMS Installation Details1052176 -Node: VMS Running1053811 -Node: VMS Old Gawk1055418 -Node: Bugs1055892 -Node: Other Versions1059744 -Node: Notes1065059 -Node: Compatibility Mode1065718 -Node: Additions1066501 -Node: Accessing The Source1067428 -Node: Adding Code1069031 -Node: New Ports1075073 -Node: Derived Files1079208 -Ref: Derived Files-Footnote-11084516 -Ref: Derived Files-Footnote-21084550 -Ref: Derived Files-Footnote-31085150 -Node: Future Extensions1085248 -Node: Implementation Limitations1085829 -Node: Basic Concepts1087056 -Node: Basic High Level1087737 -Ref: figure-general-flow1088008 -Ref: figure-process-flow1088607 -Ref: Basic High Level-Footnote-11091836 -Node: Basic Data Typing1092021 -Node: Glossary1095376 -Node: Copying1120687 -Node: GNU Free Documentation License1158244 -Node: Index1183381 +Ref: table-gensub-escapes503205 +Ref: Gory Details-Footnote-1504412 +Ref: Gory Details-Footnote-2504463 +Node: I/O Functions504614 +Ref: I/O Functions-Footnote-1511638 +Node: Time Functions511785 +Ref: Time Functions-Footnote-1522677 +Ref: Time Functions-Footnote-2522745 +Ref: Time Functions-Footnote-3522903 +Ref: Time Functions-Footnote-4523014 +Ref: Time Functions-Footnote-5523126 +Ref: Time Functions-Footnote-6523353 +Node: Bitwise Functions523619 +Ref: table-bitwise-ops524177 +Ref: Bitwise Functions-Footnote-1528398 +Node: Type Functions528582 +Node: I18N Functions529052 +Node: User-defined530679 +Node: Definition Syntax531483 +Ref: Definition Syntax-Footnote-1536393 +Node: Function Example536462 +Node: Function Caveats539056 +Node: Calling A Function539477 +Node: Variable Scope540592 +Node: Pass By Value/Reference543555 +Node: Return Statement546995 +Node: Dynamic Typing549976 +Node: Indirect Calls550711 +Node: Library Functions560396 +Ref: Library Functions-Footnote-1563395 +Node: Library Names563566 +Ref: Library Names-Footnote-1567037 +Ref: Library Names-Footnote-2567257 +Node: General Functions567343 +Node: Strtonum Function568296 +Node: Assert Function571226 +Node: Round Function574552 +Node: Cliff Random Function576095 +Node: Ordinal Functions577111 +Ref: Ordinal Functions-Footnote-1580181 +Ref: Ordinal Functions-Footnote-2580433 +Node: Join Function580642 +Ref: Join Function-Footnote-1582413 +Node: Getlocaltime Function582613 +Node: Data File Management586328 +Node: Filetrans Function586960 +Node: Rewind Function591099 +Node: File Checking592486 +Node: Empty Files593580 +Node: Ignoring Assigns595810 +Node: Getopt Function597363 +Ref: Getopt Function-Footnote-1608667 +Node: Passwd Functions608870 +Ref: Passwd Functions-Footnote-1617845 +Node: Group Functions617933 +Node: Walking Arrays626017 +Node: Sample Programs627586 +Node: Running Examples628263 +Node: Clones628991 +Node: Cut Program630215 +Node: Egrep Program640060 +Ref: Egrep Program-Footnote-1647833 +Node: Id Program647943 +Node: Split Program651559 +Ref: Split Program-Footnote-1655078 +Node: Tee Program655206 +Node: Uniq Program658009 +Node: Wc Program665438 +Ref: Wc Program-Footnote-1669704 +Ref: Wc Program-Footnote-2669904 +Node: Miscellaneous Programs669996 +Node: Dupword Program671184 +Node: Alarm Program673215 +Node: Translate Program677964 +Ref: Translate Program-Footnote-1682351 +Ref: Translate Program-Footnote-2682579 +Node: Labels Program682713 +Ref: Labels Program-Footnote-1686084 +Node: Word Sorting686168 +Node: History Sorting690052 +Node: Extract Program691891 +Ref: Extract Program-Footnote-1699374 +Node: Simple Sed699502 +Node: Igawk Program702564 +Ref: Igawk Program-Footnote-1717721 +Ref: Igawk Program-Footnote-2717922 +Node: Anagram Program718060 +Node: Signature Program721128 +Node: Internationalization722228 +Node: I18N and L10N723660 +Node: Explaining gettext724346 +Ref: Explaining gettext-Footnote-1729412 +Ref: Explaining gettext-Footnote-2729596 +Node: Programmer i18n729761 +Node: Translator i18n733961 +Node: String Extraction734754 +Ref: String Extraction-Footnote-1735715 +Node: Printf Ordering735801 +Ref: Printf Ordering-Footnote-1738585 +Node: I18N Portability738649 +Ref: I18N Portability-Footnote-1741098 +Node: I18N Example741161 +Ref: I18N Example-Footnote-1743796 +Node: Gawk I18N743868 +Node: Advanced Features744485 +Node: Nondecimal Data745989 +Node: Array Sorting747572 +Node: Controlling Array Traversal748269 +Node: Array Sorting Functions756507 +Ref: Array Sorting Functions-Footnote-1760181 +Ref: Array Sorting Functions-Footnote-2760274 +Node: Two-way I/O760468 +Ref: Two-way I/O-Footnote-1765900 +Node: TCP/IP Networking765970 +Node: Profiling768814 +Node: Debugger776268 +Node: Debugging777236 +Node: Debugging Concepts777669 +Node: Debugging Terms779525 +Node: Awk Debugging782122 +Node: Sample Debugging Session783014 +Node: Debugger Invocation783534 +Node: Finding The Bug784863 +Node: List of Debugger Commands791351 +Node: Breakpoint Control792685 +Node: Debugger Execution Control796349 +Node: Viewing And Changing Data799709 +Node: Execution Stack803065 +Node: Debugger Info804532 +Node: Miscellaneous Debugger Commands808513 +Node: Readline Support813958 +Node: Limitations814789 +Node: Arbitrary Precision Arithmetic817041 +Ref: Arbitrary Precision Arithmetic-Footnote-1818683 +Node: General Arithmetic818831 +Node: Floating Point Issues820551 +Node: String Conversion Precision821432 +Ref: String Conversion Precision-Footnote-1823138 +Node: Unexpected Results823247 +Node: POSIX Floating Point Problems825400 +Ref: POSIX Floating Point Problems-Footnote-1829225 +Node: Integer Programming829263 +Node: Floating-point Programming831016 +Ref: Floating-point Programming-Footnote-1837325 +Node: Floating-point Representation837589 +Node: Floating-point Context838754 +Ref: table-ieee-formats839596 +Node: Rounding Mode840980 +Ref: table-rounding-modes841459 +Ref: Rounding Mode-Footnote-1844463 +Node: Gawk and MPFR844644 +Node: Arbitrary Precision Floats845886 +Ref: Arbitrary Precision Floats-Footnote-1848315 +Node: Setting Precision848626 +Node: Setting Rounding Mode851359 +Ref: table-gawk-rounding-modes851763 +Node: Floating-point Constants852943 +Node: Changing Precision854367 +Ref: Changing Precision-Footnote-1855767 +Node: Exact Arithmetic855941 +Node: Arbitrary Precision Integers859049 +Ref: Arbitrary Precision Integers-Footnote-1862049 +Node: Dynamic Extensions862196 +Node: Extension Intro863582 +Node: Plugin License864790 +Node: Extension Design865464 +Node: Old Extension Problems866535 +Ref: Old Extension Problems-Footnote-1868045 +Node: Extension New Mechanism Goals868102 +Ref: Extension New Mechanism Goals-Footnote-1870814 +Node: Extension Other Design Decisions871000 +Node: Extension Mechanism Outline873112 +Ref: load-extension874137 +Ref: load-new-function875615 +Ref: call-new-function876596 +Node: Extension Future Growth878590 +Node: Extension API Description879408 +Node: Extension API Functions Introduction880736 +Node: General Data Types885436 +Ref: General Data Types-Footnote-1891038 +Node: Requesting Values891337 +Ref: table-value-types-returned892068 +Node: Constructor Functions893022 +Node: Registration Functions896018 +Node: Extension Functions896703 +Node: Exit Callback Functions898535 +Node: Extension Version String899778 +Node: Input Parsers900428 +Node: Output Wrappers909015 +Node: Two-way processors913431 +Node: Printing Messages915561 +Ref: Printing Messages-Footnote-1916638 +Node: Updating `ERRNO'916790 +Node: Accessing Parameters917529 +Node: Symbol Table Access918759 +Node: Symbol table by name919271 +Ref: Symbol table by name-Footnote-1921441 +Node: Symbol table by cookie921521 +Ref: Symbol table by cookie-Footnote-1925650 +Node: Cached values925713 +Ref: Cached values-Footnote-1929156 +Node: Array Manipulation929247 +Ref: Array Manipulation-Footnote-1930345 +Node: Array Data Types930384 +Ref: Array Data Types-Footnote-1933087 +Node: Array Functions933179 +Node: Flattening Arrays936945 +Node: Creating Arrays943778 +Node: Extension API Variables948573 +Node: Extension Versioning949209 +Node: Extension API Informational Variables951110 +Node: Extension API Boilerplate952196 +Node: Finding Extensions956027 +Node: Extension Example956574 +Node: Internal File Description957312 +Node: Internal File Ops961000 +Ref: Internal File Ops-Footnote-1972447 +Node: Using Internal File Ops972587 +Ref: Using Internal File Ops-Footnote-1974940 +Node: Extension Samples975206 +Node: Extension Sample File Functions976649 +Node: Extension Sample Fnmatch985122 +Node: Extension Sample Fork986848 +Node: Extension Sample Ord988062 +Node: Extension Sample Readdir988838 +Node: Extension Sample Revout990342 +Node: Extension Sample Rev2way990935 +Node: Extension Sample Read write array991625 +Node: Extension Sample Readfile993508 +Node: Extension Sample API Tests994263 +Node: Extension Sample Time994788 +Node: gawkextlib996095 +Node: Language History998476 +Node: V7/SVR3.1999998 +Node: SVR41002319 +Node: POSIX1003761 +Node: BTL1004769 +Node: POSIX/GNU1005503 +Node: Common Extensions1011038 +Node: Ranges and Locales1012145 +Ref: Ranges and Locales-Footnote-11016763 +Ref: Ranges and Locales-Footnote-21016790 +Ref: Ranges and Locales-Footnote-31017050 +Node: Contributors1017271 +Node: Installation1021567 +Node: Gawk Distribution1022461 +Node: Getting1022945 +Node: Extracting1023771 +Node: Distribution contents1025463 +Node: Unix Installation1030685 +Node: Quick Installation1031302 +Node: Additional Configuration Options1033264 +Node: Configuration Philosophy1034741 +Node: Non-Unix Installation1037083 +Node: PC Installation1037541 +Node: PC Binary Installation1038840 +Node: PC Compiling1040688 +Node: PC Testing1043632 +Node: PC Using1044808 +Node: Cygwin1048993 +Node: MSYS1049993 +Node: VMS Installation1050507 +Node: VMS Compilation1051110 +Ref: VMS Compilation-Footnote-11052117 +Node: VMS Installation Details1052175 +Node: VMS Running1053810 +Node: VMS Old Gawk1055417 +Node: Bugs1055891 +Node: Other Versions1059743 +Node: Notes1065058 +Node: Compatibility Mode1065717 +Node: Additions1066500 +Node: Accessing The Source1067427 +Node: Adding Code1069030 +Node: New Ports1075072 +Node: Derived Files1079207 +Ref: Derived Files-Footnote-11084515 +Ref: Derived Files-Footnote-21084549 +Ref: Derived Files-Footnote-31085149 +Node: Future Extensions1085247 +Node: Implementation Limitations1085828 +Node: Basic Concepts1087055 +Node: Basic High Level1087736 +Ref: figure-general-flow1088007 +Ref: figure-process-flow1088606 +Ref: Basic High Level-Footnote-11091835 +Node: Basic Data Typing1092020 +Node: Glossary1095375 +Node: Copying1120686 +Node: GNU Free Documentation License1158243 +Node: Index1183380 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 02b7623b..835dbc00 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -14747,13 +14747,7 @@ Optional parameters are enclosed in square brackets@w{ ([ ]):} @item atan2(@var{y}, @var{x}) @cindex @code{atan2()} function Return the arctangent of @code{@var{y} / @var{x}} in radians. -You can use @samp{pi = atan2(0, -1)} to retrieve the value of -@tex -$\pi$. -@end tex -@ifnottex -pi. -@end ifnottex +You can use @samp{pi = atan2(0, -1)} to retrieve the value of @value{PI}. @item cos(@var{x}) @cindex @code{cos()} function @@ -15625,22 +15619,23 @@ through unchanged. This is illustrated in @ref{table-sub-escapes}. @caption{Historical Escape Sequence Processing for @code{sub()} and @code{gsub()}} @tex \vbox{\bigskip -% This table has lots of &'s and \'s, so unspecialize them. +% We need more characters for escape and tab ... +\catcode`_ = 0 +\catcode`! = 4 +% ... since this table has lots of &'s and \'s, so we unspecialize them. \catcode`\& = \other \catcode`\\ = \other -% But then we need character for escape and tab. -@catcode`! = 4 -@halign{@hfil#!@qquad@hfil#!@qquad#@hfil@cr - You type!@code{sub()} sees!@code{sub()} generates@cr -@hrulefill!@hrulefill!@hrulefill@cr - @code{\&}! @code{&}!the matched text@cr - @code{\\&}! @code{\&}!a literal @samp{&}@cr - @code{\\\&}! @code{\&}!a literal @samp{&}@cr -@code{\\\\&}! @code{\\&}!a literal @samp{\&}@cr -@code{\\\\\&}! @code{\\&}!a literal @samp{\&}@cr -@code{\\\\\\&}! @code{\\\&}!a literal @samp{\\&}@cr - @code{\\q}! @code{\q}!a literal @samp{\q}@cr +_halign{_hfil#!_qquad_hfil#!_qquad#_hfil_cr + You type!@code{sub()} sees!@code{sub()} generates_cr +_hrulefill!_hrulefill!_hrulefill_cr + @code{\&}! @code{&}!the matched text_cr + @code{\\&}! @code{\&}!a literal @samp{&}_cr + @code{\\\&}! @code{\&}!a literal @samp{&}_cr + @code{\\\\&}! @code{\\&}!a literal @samp{\&}_cr + @code{\\\\\&}! @code{\\&}!a literal @samp{\&}_cr +@code{\\\\\\&}! @code{\\\&}!a literal @samp{\\&}_cr + @code{\\q}! @code{\q}!a literal @samp{\q}_cr } -@bigskip} +_bigskip} @end tex @ifdocbook @multitable @columnfractions .20 .20 .60 @@ -15694,17 +15689,18 @@ as shown in @ref{table-sub-posix-92}. @c thanks to Karl Berry for formatting this table @tex \vbox{\bigskip -% This table has lots of &'s and \'s, so unspecialize them. +% We need more characters for escape and tab ... +\catcode`_ = 0 +\catcode`! = 4 +% ... since this table has lots of &'s and \'s, so we unspecialize them. \catcode`\& = \other \catcode`\\ = \other -% But then we need character for escape and tab. -@catcode`! = 4 -@halign{@hfil#!@qquad@hfil#!@qquad#@hfil@cr - You type!@code{sub()} sees!@code{sub()} generates@cr -@hrulefill!@hrulefill!@hrulefill@cr - @code{&}! @code{&}!the matched text@cr - @code{\\&}! @code{\&}!a literal @samp{&}@cr -@code{\\\\&}! @code{\\&}!a literal @samp{\}, then the matched text@cr -@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}@cr +_halign{_hfil#!_qquad_hfil#!_qquad#_hfil_cr + You type!@code{sub()} sees!@code{sub()} generates_cr +_hrulefill!_hrulefill!_hrulefill_cr + @code{&}! @code{&}!the matched text_cr + @code{\\&}! @code{\&}!a literal @samp{&}_cr +@code{\\\\&}! @code{\\&}!a literal @samp{\}, then the matched text_cr +@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}_cr } @bigskip} @end tex @@ -15762,20 +15758,21 @@ to produce a @samp{\} preceding the matched text. This is shown in @caption{Proposed Rules For @code{sub()} And Backslash} @tex \vbox{\bigskip -% This table has lots of &'s and \'s, so unspecialize them. +% We need more characters for escape and tab ... +\catcode`_ = 0 +\catcode`! = 4 +% ... since this table has lots of &'s and \'s, so we unspecialize them. \catcode`\& = \other \catcode`\\ = \other -% But then we need character for escape and tab. -@catcode`! = 4 -@halign{@hfil#!@qquad@hfil#!@qquad#@hfil@cr - You type!@code{sub()} sees!@code{sub()} generates@cr -@hrulefill!@hrulefill!@hrulefill@cr -@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}@cr -@code{\\\\&}! @code{\\&}!a literal @samp{\}, followed by the matched text@cr - @code{\\&}! @code{\&}!a literal @samp{&}@cr - @code{\\q}! @code{\q}!a literal @samp{\q}@cr - @code{\\\\}! @code{\\}!@code{\\}@cr +_halign{_hfil#!_qquad_hfil#!_qquad#_hfil_cr + You type!@code{sub()} sees!@code{sub()} generates_cr +_hrulefill!_hrulefill!_hrulefill_cr +@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}_cr +@code{\\\\&}! @code{\\&}!a literal @samp{\}, followed by the matched text_cr + @code{\\&}! @code{\&}!a literal @samp{&}_cr + @code{\\q}! @code{\q}!a literal @samp{\q}_cr + @code{\\\\}! @code{\\}!@code{\\}_cr } -@bigskip} +_bigskip} @end tex @ifdocbook @multitable @columnfractions .20 .20 .60 @@ -15824,20 +15821,21 @@ These rules are presented in @ref{table-posix-sub}. @caption{POSIX Rules For @code{sub()} And @code{gsub()}} @tex \vbox{\bigskip -% This table has lots of &'s and \'s, so unspecialize them. +% We need more characters for escape and tab ... +\catcode`_ = 0 +\catcode`! = 4 +% ... since this table has lots of &'s and \'s, so we unspecialize them. \catcode`\& = \other \catcode`\\ = \other -% But then we need character for escape and tab. -@catcode`! = 4 -@halign{@hfil#!@qquad@hfil#!@qquad#@hfil@cr - You type!@code{sub()} sees!@code{sub()} generates@cr -@hrulefill!@hrulefill!@hrulefill@cr -@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}@cr -@code{\\\\&}! @code{\\&}!a literal @samp{\}, followed by the matched text@cr - @code{\\&}! @code{\&}!a literal @samp{&}@cr - @code{\\q}! @code{\q}!a literal @samp{\q}@cr - @code{\\\\}! @code{\\}!@code{\}@cr +_halign{_hfil#!_qquad_hfil#!_qquad#_hfil_cr + You type!@code{sub()} sees!@code{sub()} generates_cr +_hrulefill!_hrulefill!_hrulefill_cr +@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}_cr +@code{\\\\&}! @code{\\&}!a literal @samp{\}, followed by the matched text_cr + @code{\\&}! @code{\&}!a literal @samp{&}_cr + @code{\\q}! @code{\q}!a literal @samp{\q}_cr + @code{\\\\}! @code{\\}!@code{\}_cr } -@bigskip} +_bigskip} @end tex @ifdocbook @multitable @columnfractions .20 .20 .60 @@ -15872,7 +15870,7 @@ when @option{--posix} is specified (@pxref{Options}). Otherwise, it continued to follow the 1996 proposed rules, since that had been its behavior for many years. -When @value{PVERSION} 4.0.0, was released, the @command{gawk} maintainer +When @value{PVERSION} 4.0.0 was released, the @command{gawk} maintainer made the POSIX rules the default, breaking well over a decade's worth of backwards compatibility.@footnote{This was rather naive of him, despite there being a note in this section indicating that the next major version @@ -15892,21 +15890,22 @@ as shown in @ref{table-gensub-escapes}. @caption{Escape Sequence Processing For @code{gensub()}} @tex \vbox{\bigskip -% This table has lots of &'s and \'s, so unspecialize them. +% We need more characters for escape and tab ... +\catcode`_ = 0 +\catcode`! = 4 +% ... since this table has lots of &'s and \'s, so we unspecialize them. \catcode`\& = \other \catcode`\\ = \other -% But then we need character for escape and tab. -@catcode`! = 4 -@halign{@hfil#!@qquad@hfil#!@qquad#@hfil@cr - You type!@code{gensub()} sees!@code{gensub()} generates@cr -@hrulefill!@hrulefill!@hrulefill@cr - @code{&}! @code{&}!the matched text@cr - @code{\\&}! @code{\&}!a literal @samp{&}@cr - @code{\\\\}! @code{\\}!a literal @samp{\}@cr - @code{\\\\&}! @code{\\&}!a literal @samp{\}, then the matched text@cr -@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}@cr - @code{\\q}! @code{\q}!a literal @samp{q}@cr +_halign{_hfil#!_qquad_hfil#!_qquad#_hfil_cr + You type!@code{gensub()} sees!@code{gensub()} generates_cr +_hrulefill!_hrulefill!_hrulefill_cr + @code{&}! @code{&}!the matched text_cr + @code{\\&}! @code{\&}!a literal @samp{&}_cr + @code{\\\\}! @code{\\}!a literal @samp{\}_cr + @code{\\\\&}! @code{\\&}!a literal @samp{\}, then the matched text_cr +@code{\\\\\\&}! @code{\\\&}!a literal @samp{\&}_cr + @code{\\q}! @code{\q}!a literal @samp{q}_cr } -@bigskip} +_bigskip} @end tex @ifdocbook @multitable @columnfractions .20 .20 .60 |