aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-05-13 22:18:32 +0300
committerArnold D. Robbins <arnold@skeeve.com>2014-05-13 22:18:32 +0300
commit0fb3bc1f907fc707d3ffc662adf51021560a0ddc (patch)
treebda07b35b9ca20d3cb2f42c1764da8486b7438fc
parent49b06342a826719088367b8edd89e401c42b432a (diff)
parentcd78eac2bc3b182ddca47b97f7f460c3358c7b09 (diff)
downloadegawk-0fb3bc1f907fc707d3ffc662adf51021560a0ddc.tar.gz
egawk-0fb3bc1f907fc707d3ffc662adf51021560a0ddc.tar.bz2
egawk-0fb3bc1f907fc707d3ffc662adf51021560a0ddc.zip
Merge branch 'gawk-4.1-stable'
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info1091
-rw-r--r--doc/gawk.texi172
-rw-r--r--doc/gawktexi.in172
4 files changed, 812 insertions, 627 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index eecfbd04..b9909498 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Complete formatting for FOR_PRINT and not FOR_PRINT.
+
2014-05-07 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Docbook edits for preface and parts.
diff --git a/doc/gawk.info b/doc/gawk.info
index faaa1364..1824c649 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -806,9 +806,10 @@ different computing environments. This Info file, while describing the
of `awk' called `gawk' (which stands for "GNU `awk'"). `gawk' runs on
a broad range of Unix systems, ranging from Intel(R)-architecture
PC-based computers up through large-scale systems. `gawk' has also
-been ported to Mac OS X, Microsoft Windows (all versions), and OpenVMS.
-(Some other, obsolete systems to which `gawk' was once ported are no
-longer supported and the code for those systems has been removed.)
+been ported to Mac OS X, Microsoft Windows (all versions) and OS/2 PCs,
+and OpenVMS. (Some other, obsolete systems to which `gawk' was once
+ported are no longer supported and the code for those systems has been
+removed.)
* Menu:
@@ -1047,7 +1048,7 @@ material for those who are completely unfamiliar with computer
programming.
The *note Glossary::, defines most, if not all, the significant
-terms used throughout the book. If you find terms that you aren't
+terms used throughout the Info file. If you find terms that you aren't
familiar with, try looking them up here.
*note Copying::, and *note GNU Free Documentation License::, present
@@ -1125,7 +1126,7 @@ editor. GNU Emacs is the most widely used version of Emacs today.
Software Foundation to create a complete, freely distributable,
POSIX-compliant computing environment. The FSF uses the "GNU General
Public License" (GPL) to ensure that their software's source code is
-always available to the end user. A copy of the GPL is included for
+always available to the end user. A copy of the GPL is included for
your reference (*note Copying::). The GPL applies to the C language
source code for `gawk'. To find out more about the FSF and the GNU
Project online, see the GNU Project's home page (http://www.gnu.org).
@@ -26565,14 +26566,14 @@ B.3.1 Installation on PC Operating Systems
This minor node covers installation and usage of `gawk' on x86 machines
running MS-DOS, any version of MS-Windows, or OS/2. In this minor
node, the term "Windows32" refers to any of Microsoft
-Windows-95/98/ME/NT/2000/XP/Vista/7.
+Windows-95/98/ME/NT/2000/XP/Vista/7/8.
- The limitations of MS-DOS (and MS-DOS shells under Windows32 or
-OS/2) has meant that various "DOS extenders" are often used with
-programs such as `gawk'. The varying capabilities of Microsoft Windows
-3.1 and Windows32 can add to the confusion. For an overview of the
-considerations, please refer to `README_d/README.pc' in the
-distribution.
+ The limitations of MS-DOS (and MS-DOS shells under the other
+operating systems) has meant that various "DOS extenders" are often
+used with programs such as `gawk'. The varying capabilities of
+Microsoft Windows 3.1 and Windows32 can add to the confusion. For an
+overview of the considerations, please refer to `README_d/README.pc' in
+the distribution.
* Menu:
@@ -26631,13 +26632,13 @@ B.3.1.2 Compiling `gawk' for PC Operating Systems
.................................................
`gawk' can be compiled for MS-DOS, Windows32, and OS/2 using the GNU
-development tools from DJ Delorie (DJGPP: MS-DOS only) or Eberhard
-Mattes (EMX: MS-DOS, Windows32 and OS/2). The file
-`README_d/README.pc' in the `gawk' distribution contains additional
-notes, and `pc/Makefile' contains important information on compilation
-options.
+development tools from DJ Delorie (DJGPP: MS-DOS only), MinGW
+(Windows32) or Eberhard Mattes (EMX: MS-DOS, Windows32 and OS/2). The
+file `README_d/README.pc' in the `gawk' distribution contains
+additional notes, and `pc/Makefile' contains important information on
+compilation options.
- To build `gawk' for MS-DOS and Windows32, copy the files in the `pc'
+To build `gawk' for MS-DOS and Windows32, copy the files in the `pc'
directory (_except_ for `ChangeLog') to the directory with the rest of
the `gawk' sources, then invoke `make' with the appropriate target name
as an argument to build `gawk'. The `Makefile' copied from the `pc'
@@ -31705,7 +31706,7 @@ Index
* gawk, MS-Windows version of: PC Using. (line 10)
* gawk, newlines in: Statements/Lines. (line 12)
* gawk, octal numbers and: Nondecimal-numbers. (line 42)
-* gawk, OS/2 version of: PC Using. (line 10)
+* gawk, OS/2 version of: PC Using. (line 16)
* gawk, PROCINFO array in <1>: Two-way I/O. (line 116)
* gawk, PROCINFO array in <2>: Time Functions. (line 47)
* gawk, PROCINFO array in: Auto-set. (line 136)
@@ -33213,531 +33214,531 @@ Tag Table:
Node: Top1292
Node: Foreword40832
Node: Preface45177
-Ref: Preface-Footnote-148310
-Ref: Preface-Footnote-248417
-Node: History48649
-Node: Names51023
-Ref: Names-Footnote-152487
-Node: This Manual52560
-Ref: This Manual-Footnote-158334
-Node: Conventions58434
-Node: Manual History60590
-Ref: Manual History-Footnote-164020
-Ref: Manual History-Footnote-264061
-Node: How To Contribute64135
-Node: Acknowledgments65374
-Node: Getting Started69568
-Node: Running gawk71947
-Node: One-shot73137
-Node: Read Terminal74362
-Ref: Read Terminal-Footnote-176012
-Ref: Read Terminal-Footnote-276288
-Node: Long76459
-Node: Executable Scripts77835
-Ref: Executable Scripts-Footnote-179668
-Ref: Executable Scripts-Footnote-279770
-Node: Comments80317
-Node: Quoting82784
-Node: DOS Quoting88100
-Node: Sample Data Files88775
-Node: Very Simple91290
-Node: Two Rules95940
-Node: More Complex97835
-Ref: More Complex-Footnote-1100767
-Node: Statements/Lines100852
-Ref: Statements/Lines-Footnote-1105307
-Node: Other Features105572
-Node: When106500
-Node: Invoking Gawk108648
-Node: Command Line110111
-Node: Options110894
-Ref: Options-Footnote-1126706
-Node: Other Arguments126731
-Node: Naming Standard Input129393
-Node: Environment Variables130487
-Node: AWKPATH Variable131045
-Ref: AWKPATH Variable-Footnote-1133823
-Ref: AWKPATH Variable-Footnote-2133868
-Node: AWKLIBPATH Variable134128
-Node: Other Environment Variables134887
-Node: Exit Status138542
-Node: Include Files139217
-Node: Loading Shared Libraries142795
-Node: Obsolete144178
-Node: Undocumented144875
-Node: Regexp145117
-Node: Regexp Usage146506
-Node: Escape Sequences148539
-Node: Regexp Operators154206
-Ref: Regexp Operators-Footnote-1161686
-Ref: Regexp Operators-Footnote-2161833
-Node: Bracket Expressions161931
-Ref: table-char-classes163821
-Node: GNU Regexp Operators166344
-Node: Case-sensitivity170067
-Ref: Case-sensitivity-Footnote-1172959
-Ref: Case-sensitivity-Footnote-2173194
-Node: Leftmost Longest173302
-Node: Computed Regexps174503
-Node: Reading Files177852
-Node: Records179854
-Node: awk split records180589
-Node: gawk split records185447
-Ref: gawk split records-Footnote-1189968
-Node: Fields190005
-Ref: Fields-Footnote-1192969
-Node: Nonconstant Fields193055
-Ref: Nonconstant Fields-Footnote-1195285
-Node: Changing Fields195487
-Node: Field Separators201441
-Node: Default Field Splitting204143
-Node: Regexp Field Splitting205260
-Node: Single Character Fields208601
-Node: Command Line Field Separator209660
-Node: Full Line Fields213002
-Ref: Full Line Fields-Footnote-1213510
-Node: Field Splitting Summary213556
-Ref: Field Splitting Summary-Footnote-1216655
-Node: Constant Size216756
-Node: Splitting By Content221363
-Ref: Splitting By Content-Footnote-1225113
-Node: Multiple Line225153
-Ref: Multiple Line-Footnote-1231009
-Node: Getline231188
-Node: Plain Getline233404
-Node: Getline/Variable235499
-Node: Getline/File236646
-Node: Getline/Variable/File238030
-Ref: Getline/Variable/File-Footnote-1239629
-Node: Getline/Pipe239716
-Node: Getline/Variable/Pipe242415
-Node: Getline/Coprocess243522
-Node: Getline/Variable/Coprocess244774
-Node: Getline Notes245511
-Node: Getline Summary248315
-Ref: table-getline-variants248723
-Node: Read Timeout249635
-Ref: Read Timeout-Footnote-1253462
-Node: Command line directories253520
-Node: Printing254402
-Node: Print256033
-Node: Print Examples257374
-Node: Output Separators260153
-Node: OFMT262169
-Node: Printf263527
-Node: Basic Printf264433
-Node: Control Letters265972
-Node: Format Modifiers269826
-Node: Printf Examples275853
-Node: Redirection278560
-Node: Special Files285532
-Node: Special FD286065
-Ref: Special FD-Footnote-1289689
-Node: Special Network289763
-Node: Special Caveats290613
-Node: Close Files And Pipes291409
-Ref: Close Files And Pipes-Footnote-1298547
-Ref: Close Files And Pipes-Footnote-2298695
-Node: Expressions298845
-Node: Values299977
-Node: Constants300653
-Node: Scalar Constants301333
-Ref: Scalar Constants-Footnote-1302192
-Node: Nondecimal-numbers302442
-Node: Regexp Constants305442
-Node: Using Constant Regexps305917
-Node: Variables308987
-Node: Using Variables309642
-Node: Assignment Options311366
-Node: Conversion313241
-Ref: table-locale-affects318677
-Ref: Conversion-Footnote-1319301
-Node: All Operators319410
-Node: Arithmetic Ops320040
-Node: Concatenation322545
-Ref: Concatenation-Footnote-1325341
-Node: Assignment Ops325461
-Ref: table-assign-ops330444
-Node: Increment Ops331761
-Node: Truth Values and Conditions335199
-Node: Truth Values336282
-Node: Typing and Comparison337331
-Node: Variable Typing338124
-Ref: Variable Typing-Footnote-1342024
-Node: Comparison Operators342146
-Ref: table-relational-ops342556
-Node: POSIX String Comparison346104
-Ref: POSIX String Comparison-Footnote-1347188
-Node: Boolean Ops347326
-Ref: Boolean Ops-Footnote-1351396
-Node: Conditional Exp351487
-Node: Function Calls353214
-Node: Precedence356972
-Node: Locales360641
-Node: Patterns and Actions362244
-Node: Pattern Overview363298
-Node: Regexp Patterns364975
-Node: Expression Patterns365518
-Node: Ranges369299
-Node: BEGIN/END372405
-Node: Using BEGIN/END373167
-Ref: Using BEGIN/END-Footnote-1375903
-Node: I/O And BEGIN/END376009
-Node: BEGINFILE/ENDFILE378294
-Node: Empty381230
-Node: Using Shell Variables381547
-Node: Action Overview383830
-Node: Statements386175
-Node: If Statement388029
-Node: While Statement389528
-Node: Do Statement391572
-Node: For Statement392728
-Node: Switch Statement395880
-Node: Break Statement397983
-Node: Continue Statement400038
-Node: Next Statement401831
-Node: Nextfile Statement404221
-Node: Exit Statement406876
-Node: Built-in Variables409278
-Node: User-modified410374
-Ref: User-modified-Footnote-1418059
-Node: Auto-set418121
-Ref: Auto-set-Footnote-1431023
-Ref: Auto-set-Footnote-2431228
-Node: ARGC and ARGV431284
-Node: Arrays435138
-Node: Array Basics436636
-Node: Array Intro437462
-Ref: figure-array-elements439435
-Node: Reference to Elements441842
-Node: Assigning Elements444115
-Node: Array Example444606
-Node: Scanning an Array446338
-Node: Controlling Scanning449353
-Ref: Controlling Scanning-Footnote-1454526
-Node: Delete454842
-Ref: Delete-Footnote-1457607
-Node: Numeric Array Subscripts457664
-Node: Uninitialized Subscripts459847
-Node: Multidimensional461472
-Node: Multiscanning464565
-Node: Arrays of Arrays466154
-Node: Functions470794
-Node: Built-in471613
-Node: Calling Built-in472691
-Node: Numeric Functions474679
-Ref: Numeric Functions-Footnote-1478513
-Ref: Numeric Functions-Footnote-2478870
-Ref: Numeric Functions-Footnote-3478918
-Node: String Functions479187
-Ref: String Functions-Footnote-1502198
-Ref: String Functions-Footnote-2502327
-Ref: String Functions-Footnote-3502575
-Node: Gory Details502662
-Ref: table-sub-escapes504331
-Ref: table-sub-posix-92505685
-Ref: table-sub-proposed507036
-Ref: table-posix-sub508390
-Ref: table-gensub-escapes509935
-Ref: Gory Details-Footnote-1511111
-Ref: Gory Details-Footnote-2511162
-Node: I/O Functions511313
-Ref: I/O Functions-Footnote-1518436
-Node: Time Functions518583
-Ref: Time Functions-Footnote-1529047
-Ref: Time Functions-Footnote-2529115
-Ref: Time Functions-Footnote-3529273
-Ref: Time Functions-Footnote-4529384
-Ref: Time Functions-Footnote-5529496
-Ref: Time Functions-Footnote-6529723
-Node: Bitwise Functions529989
-Ref: table-bitwise-ops530551
-Ref: Bitwise Functions-Footnote-1534796
-Node: Type Functions534980
-Node: I18N Functions536122
-Node: User-defined537767
-Node: Definition Syntax538571
-Ref: Definition Syntax-Footnote-1543486
-Node: Function Example543555
-Ref: Function Example-Footnote-1546199
-Node: Function Caveats546221
-Node: Calling A Function546739
-Node: Variable Scope547694
-Node: Pass By Value/Reference550682
-Node: Return Statement554190
-Node: Dynamic Typing557172
-Node: Indirect Calls558101
-Node: Library Functions567788
-Ref: Library Functions-Footnote-1571301
-Ref: Library Functions-Footnote-2571444
-Node: Library Names571615
-Ref: Library Names-Footnote-1575088
-Ref: Library Names-Footnote-2575308
-Node: General Functions575394
-Node: Strtonum Function576422
-Node: Assert Function579352
-Node: Round Function582678
-Node: Cliff Random Function584219
-Node: Ordinal Functions585235
-Ref: Ordinal Functions-Footnote-1588312
-Ref: Ordinal Functions-Footnote-2588564
-Node: Join Function588775
-Ref: Join Function-Footnote-1590546
-Node: Getlocaltime Function590746
-Node: Readfile Function594487
-Node: Data File Management596326
-Node: Filetrans Function596958
-Node: Rewind Function601027
-Node: File Checking602414
-Node: Empty Files603508
-Node: Ignoring Assigns605738
-Node: Getopt Function607292
-Ref: Getopt Function-Footnote-1618595
-Node: Passwd Functions618798
-Ref: Passwd Functions-Footnote-1627776
-Node: Group Functions627864
-Node: Walking Arrays635948
-Node: Sample Programs638084
-Node: Running Examples638758
-Node: Clones639486
-Node: Cut Program640710
-Node: Egrep Program650561
-Ref: Egrep Program-Footnote-1658334
-Node: Id Program658444
-Node: Split Program662093
-Ref: Split Program-Footnote-1665612
-Node: Tee Program665740
-Node: Uniq Program668543
-Node: Wc Program675972
-Ref: Wc Program-Footnote-1680238
-Ref: Wc Program-Footnote-2680438
-Node: Miscellaneous Programs680530
-Node: Dupword Program681718
-Node: Alarm Program683749
-Node: Translate Program688556
-Ref: Translate Program-Footnote-1692943
-Ref: Translate Program-Footnote-2693191
-Node: Labels Program693325
-Ref: Labels Program-Footnote-1696696
-Node: Word Sorting696780
-Node: History Sorting700664
-Node: Extract Program702503
-Ref: Extract Program-Footnote-1710006
-Node: Simple Sed710134
-Node: Igawk Program713196
-Ref: Igawk Program-Footnote-1728367
-Ref: Igawk Program-Footnote-2728568
-Node: Anagram Program728706
-Node: Signature Program731774
-Node: Advanced Features732874
-Node: Nondecimal Data734760
-Node: Array Sorting736343
-Node: Controlling Array Traversal737040
-Node: Array Sorting Functions745324
-Ref: Array Sorting Functions-Footnote-1749193
-Node: Two-way I/O749387
-Ref: Two-way I/O-Footnote-1754819
-Node: TCP/IP Networking754901
-Node: Profiling757745
-Node: Internationalization765248
-Node: I18N and L10N766673
-Node: Explaining gettext767359
-Ref: Explaining gettext-Footnote-1772427
-Ref: Explaining gettext-Footnote-2772611
-Node: Programmer i18n772776
-Node: Translator i18n777003
-Node: String Extraction777797
-Ref: String Extraction-Footnote-1778758
-Node: Printf Ordering778844
-Ref: Printf Ordering-Footnote-1781626
-Node: I18N Portability781690
-Ref: I18N Portability-Footnote-1784139
-Node: I18N Example784202
-Ref: I18N Example-Footnote-1786840
-Node: Gawk I18N786912
-Node: Debugger787533
-Node: Debugging788504
-Node: Debugging Concepts788937
-Node: Debugging Terms790793
-Node: Awk Debugging793390
-Node: Sample Debugging Session794282
-Node: Debugger Invocation794802
-Node: Finding The Bug796135
-Node: List of Debugger Commands802622
-Node: Breakpoint Control803956
-Node: Debugger Execution Control807620
-Node: Viewing And Changing Data810980
-Node: Execution Stack814336
-Node: Debugger Info815803
-Node: Miscellaneous Debugger Commands819797
-Node: Readline Support824975
-Node: Limitations825806
-Node: Arbitrary Precision Arithmetic828058
-Ref: Arbitrary Precision Arithmetic-Footnote-1829707
-Node: General Arithmetic829855
-Node: Floating Point Issues831575
-Node: String Conversion Precision832456
-Ref: String Conversion Precision-Footnote-1834161
-Node: Unexpected Results834270
-Node: POSIX Floating Point Problems836423
-Ref: POSIX Floating Point Problems-Footnote-1840248
-Node: Integer Programming840286
-Node: Floating-point Programming842025
-Ref: Floating-point Programming-Footnote-1848356
-Ref: Floating-point Programming-Footnote-2848626
-Node: Floating-point Representation848890
-Node: Floating-point Context850055
-Ref: table-ieee-formats850894
-Node: Rounding Mode852278
-Ref: table-rounding-modes852757
-Ref: Rounding Mode-Footnote-1855772
-Node: Gawk and MPFR855951
-Node: Arbitrary Precision Floats857360
-Ref: Arbitrary Precision Floats-Footnote-1859803
-Node: Setting Precision860119
-Ref: table-predefined-precision-strings860805
-Node: Setting Rounding Mode862950
-Ref: table-gawk-rounding-modes863354
-Node: Floating-point Constants864541
-Node: Changing Precision865970
-Ref: Changing Precision-Footnote-1867367
-Node: Exact Arithmetic867541
-Node: Arbitrary Precision Integers870679
-Ref: Arbitrary Precision Integers-Footnote-1873694
-Node: Dynamic Extensions873841
-Node: Extension Intro875299
-Node: Plugin License876564
-Node: Extension Mechanism Outline877249
-Ref: load-extension877666
-Ref: load-new-function879144
-Ref: call-new-function880139
-Node: Extension API Description882154
-Node: Extension API Functions Introduction883441
-Node: General Data Types888368
-Ref: General Data Types-Footnote-1894063
-Node: Requesting Values894362
-Ref: table-value-types-returned895099
-Node: Memory Allocation Functions896053
-Ref: Memory Allocation Functions-Footnote-1898799
-Node: Constructor Functions898895
-Node: Registration Functions900653
-Node: Extension Functions901338
-Node: Exit Callback Functions903640
-Node: Extension Version String904889
-Node: Input Parsers905539
-Node: Output Wrappers915296
-Node: Two-way processors919806
-Node: Printing Messages922014
-Ref: Printing Messages-Footnote-1923091
-Node: Updating `ERRNO'923243
-Node: Accessing Parameters923982
-Node: Symbol Table Access925212
-Node: Symbol table by name925726
-Node: Symbol table by cookie927702
-Ref: Symbol table by cookie-Footnote-1931834
-Node: Cached values931897
-Ref: Cached values-Footnote-1935387
-Node: Array Manipulation935478
-Ref: Array Manipulation-Footnote-1936576
-Node: Array Data Types936615
-Ref: Array Data Types-Footnote-1939318
-Node: Array Functions939410
-Node: Flattening Arrays943246
-Node: Creating Arrays950098
-Node: Extension API Variables954823
-Node: Extension Versioning955459
-Node: Extension API Informational Variables957360
-Node: Extension API Boilerplate958446
-Node: Finding Extensions962250
-Node: Extension Example962810
-Node: Internal File Description963540
-Node: Internal File Ops967631
-Ref: Internal File Ops-Footnote-1979140
-Node: Using Internal File Ops979280
-Ref: Using Internal File Ops-Footnote-1981627
-Node: Extension Samples981893
-Node: Extension Sample File Functions983417
-Node: Extension Sample Fnmatch991904
-Node: Extension Sample Fork993673
-Node: Extension Sample Inplace994886
-Node: Extension Sample Ord996664
-Node: Extension Sample Readdir997500
-Node: Extension Sample Revout999032
-Node: Extension Sample Rev2way999625
-Node: Extension Sample Read write array1000315
-Node: Extension Sample Readfile1002198
-Node: Extension Sample API Tests1003298
-Node: Extension Sample Time1003823
-Node: gawkextlib1005187
-Node: Language History1007968
-Node: V7/SVR3.11009561
-Node: SVR41011881
-Node: POSIX1013323
-Node: BTL1014709
-Node: POSIX/GNU1015443
-Node: Feature History1021042
-Node: Common Extensions1034018
-Node: Ranges and Locales1035330
-Ref: Ranges and Locales-Footnote-11039947
-Ref: Ranges and Locales-Footnote-21039974
-Ref: Ranges and Locales-Footnote-31040208
-Node: Contributors1040429
-Node: Installation1045810
-Node: Gawk Distribution1046704
-Node: Getting1047188
-Node: Extracting1048014
-Node: Distribution contents1049706
-Node: Unix Installation1055427
-Node: Quick Installation1056044
-Node: Additional Configuration Options1058490
-Node: Configuration Philosophy1060226
-Node: Non-Unix Installation1062580
-Node: PC Installation1063038
-Node: PC Binary Installation1064337
-Node: PC Compiling1066185
-Node: PC Testing1069129
-Node: PC Using1070305
-Node: Cygwin1074473
-Node: MSYS1075282
-Node: VMS Installation1075796
-Node: VMS Compilation1076592
-Ref: VMS Compilation-Footnote-11077844
-Node: VMS Dynamic Extensions1077902
-Node: VMS Installation Details1079275
-Node: VMS Running1081526
-Node: VMS GNV1084360
-Node: VMS Old Gawk1085083
-Node: Bugs1085553
-Node: Other Versions1089471
-Node: Notes1095555
-Node: Compatibility Mode1096355
-Node: Additions1097138
-Node: Accessing The Source1098065
-Node: Adding Code1099505
-Node: New Ports1105550
-Node: Derived Files1109685
-Ref: Derived Files-Footnote-11115006
-Ref: Derived Files-Footnote-21115040
-Ref: Derived Files-Footnote-31115640
-Node: Future Extensions1115738
-Node: Implementation Limitations1116321
-Node: Extension Design1117569
-Node: Old Extension Problems1118723
-Ref: Old Extension Problems-Footnote-11120231
-Node: Extension New Mechanism Goals1120288
-Ref: Extension New Mechanism Goals-Footnote-11123653
-Node: Extension Other Design Decisions1123839
-Node: Extension Future Growth1125945
-Node: Old Extension Mechanism1126781
-Node: Basic Concepts1128521
-Node: Basic High Level1129202
-Ref: figure-general-flow1129474
-Ref: figure-process-flow1130073
-Ref: Basic High Level-Footnote-11133302
-Node: Basic Data Typing1133487
-Node: Glossary1136842
-Node: Copying1162073
-Node: GNU Free Documentation License1199629
-Node: Index1224765
+Ref: Preface-Footnote-148324
+Ref: Preface-Footnote-248431
+Node: History48663
+Node: Names51037
+Ref: Names-Footnote-152501
+Node: This Manual52574
+Ref: This Manual-Footnote-158353
+Node: Conventions58453
+Node: Manual History60609
+Ref: Manual History-Footnote-164040
+Ref: Manual History-Footnote-264081
+Node: How To Contribute64155
+Node: Acknowledgments65394
+Node: Getting Started69588
+Node: Running gawk71967
+Node: One-shot73157
+Node: Read Terminal74382
+Ref: Read Terminal-Footnote-176032
+Ref: Read Terminal-Footnote-276308
+Node: Long76479
+Node: Executable Scripts77855
+Ref: Executable Scripts-Footnote-179688
+Ref: Executable Scripts-Footnote-279790
+Node: Comments80337
+Node: Quoting82804
+Node: DOS Quoting88120
+Node: Sample Data Files88795
+Node: Very Simple91310
+Node: Two Rules95960
+Node: More Complex97855
+Ref: More Complex-Footnote-1100787
+Node: Statements/Lines100872
+Ref: Statements/Lines-Footnote-1105327
+Node: Other Features105592
+Node: When106520
+Node: Invoking Gawk108668
+Node: Command Line110131
+Node: Options110914
+Ref: Options-Footnote-1126726
+Node: Other Arguments126751
+Node: Naming Standard Input129413
+Node: Environment Variables130507
+Node: AWKPATH Variable131065
+Ref: AWKPATH Variable-Footnote-1133843
+Ref: AWKPATH Variable-Footnote-2133888
+Node: AWKLIBPATH Variable134148
+Node: Other Environment Variables134907
+Node: Exit Status138562
+Node: Include Files139237
+Node: Loading Shared Libraries142815
+Node: Obsolete144198
+Node: Undocumented144895
+Node: Regexp145137
+Node: Regexp Usage146526
+Node: Escape Sequences148559
+Node: Regexp Operators154226
+Ref: Regexp Operators-Footnote-1161706
+Ref: Regexp Operators-Footnote-2161853
+Node: Bracket Expressions161951
+Ref: table-char-classes163841
+Node: GNU Regexp Operators166364
+Node: Case-sensitivity170087
+Ref: Case-sensitivity-Footnote-1172979
+Ref: Case-sensitivity-Footnote-2173214
+Node: Leftmost Longest173322
+Node: Computed Regexps174523
+Node: Reading Files177872
+Node: Records179874
+Node: awk split records180609
+Node: gawk split records185467
+Ref: gawk split records-Footnote-1189988
+Node: Fields190025
+Ref: Fields-Footnote-1192989
+Node: Nonconstant Fields193075
+Ref: Nonconstant Fields-Footnote-1195305
+Node: Changing Fields195507
+Node: Field Separators201461
+Node: Default Field Splitting204163
+Node: Regexp Field Splitting205280
+Node: Single Character Fields208621
+Node: Command Line Field Separator209680
+Node: Full Line Fields213022
+Ref: Full Line Fields-Footnote-1213530
+Node: Field Splitting Summary213576
+Ref: Field Splitting Summary-Footnote-1216675
+Node: Constant Size216776
+Node: Splitting By Content221383
+Ref: Splitting By Content-Footnote-1225133
+Node: Multiple Line225173
+Ref: Multiple Line-Footnote-1231029
+Node: Getline231208
+Node: Plain Getline233424
+Node: Getline/Variable235519
+Node: Getline/File236666
+Node: Getline/Variable/File238050
+Ref: Getline/Variable/File-Footnote-1239649
+Node: Getline/Pipe239736
+Node: Getline/Variable/Pipe242435
+Node: Getline/Coprocess243542
+Node: Getline/Variable/Coprocess244794
+Node: Getline Notes245531
+Node: Getline Summary248335
+Ref: table-getline-variants248743
+Node: Read Timeout249655
+Ref: Read Timeout-Footnote-1253482
+Node: Command line directories253540
+Node: Printing254422
+Node: Print256053
+Node: Print Examples257394
+Node: Output Separators260173
+Node: OFMT262189
+Node: Printf263547
+Node: Basic Printf264453
+Node: Control Letters265992
+Node: Format Modifiers269846
+Node: Printf Examples275873
+Node: Redirection278580
+Node: Special Files285552
+Node: Special FD286085
+Ref: Special FD-Footnote-1289709
+Node: Special Network289783
+Node: Special Caveats290633
+Node: Close Files And Pipes291429
+Ref: Close Files And Pipes-Footnote-1298567
+Ref: Close Files And Pipes-Footnote-2298715
+Node: Expressions298865
+Node: Values299997
+Node: Constants300673
+Node: Scalar Constants301353
+Ref: Scalar Constants-Footnote-1302212
+Node: Nondecimal-numbers302462
+Node: Regexp Constants305462
+Node: Using Constant Regexps305937
+Node: Variables309007
+Node: Using Variables309662
+Node: Assignment Options311386
+Node: Conversion313261
+Ref: table-locale-affects318697
+Ref: Conversion-Footnote-1319321
+Node: All Operators319430
+Node: Arithmetic Ops320060
+Node: Concatenation322565
+Ref: Concatenation-Footnote-1325361
+Node: Assignment Ops325481
+Ref: table-assign-ops330464
+Node: Increment Ops331781
+Node: Truth Values and Conditions335219
+Node: Truth Values336302
+Node: Typing and Comparison337351
+Node: Variable Typing338144
+Ref: Variable Typing-Footnote-1342044
+Node: Comparison Operators342166
+Ref: table-relational-ops342576
+Node: POSIX String Comparison346124
+Ref: POSIX String Comparison-Footnote-1347208
+Node: Boolean Ops347346
+Ref: Boolean Ops-Footnote-1351416
+Node: Conditional Exp351507
+Node: Function Calls353234
+Node: Precedence356992
+Node: Locales360661
+Node: Patterns and Actions362264
+Node: Pattern Overview363318
+Node: Regexp Patterns364995
+Node: Expression Patterns365538
+Node: Ranges369319
+Node: BEGIN/END372425
+Node: Using BEGIN/END373187
+Ref: Using BEGIN/END-Footnote-1375923
+Node: I/O And BEGIN/END376029
+Node: BEGINFILE/ENDFILE378314
+Node: Empty381250
+Node: Using Shell Variables381567
+Node: Action Overview383850
+Node: Statements386195
+Node: If Statement388049
+Node: While Statement389548
+Node: Do Statement391592
+Node: For Statement392748
+Node: Switch Statement395900
+Node: Break Statement398003
+Node: Continue Statement400058
+Node: Next Statement401851
+Node: Nextfile Statement404241
+Node: Exit Statement406896
+Node: Built-in Variables409298
+Node: User-modified410394
+Ref: User-modified-Footnote-1418079
+Node: Auto-set418141
+Ref: Auto-set-Footnote-1431043
+Ref: Auto-set-Footnote-2431248
+Node: ARGC and ARGV431304
+Node: Arrays435158
+Node: Array Basics436656
+Node: Array Intro437482
+Ref: figure-array-elements439455
+Node: Reference to Elements441862
+Node: Assigning Elements444135
+Node: Array Example444626
+Node: Scanning an Array446358
+Node: Controlling Scanning449373
+Ref: Controlling Scanning-Footnote-1454546
+Node: Delete454862
+Ref: Delete-Footnote-1457627
+Node: Numeric Array Subscripts457684
+Node: Uninitialized Subscripts459867
+Node: Multidimensional461492
+Node: Multiscanning464585
+Node: Arrays of Arrays466174
+Node: Functions470814
+Node: Built-in471633
+Node: Calling Built-in472711
+Node: Numeric Functions474699
+Ref: Numeric Functions-Footnote-1478533
+Ref: Numeric Functions-Footnote-2478890
+Ref: Numeric Functions-Footnote-3478938
+Node: String Functions479207
+Ref: String Functions-Footnote-1502218
+Ref: String Functions-Footnote-2502347
+Ref: String Functions-Footnote-3502595
+Node: Gory Details502682
+Ref: table-sub-escapes504351
+Ref: table-sub-posix-92505705
+Ref: table-sub-proposed507056
+Ref: table-posix-sub508410
+Ref: table-gensub-escapes509955
+Ref: Gory Details-Footnote-1511131
+Ref: Gory Details-Footnote-2511182
+Node: I/O Functions511333
+Ref: I/O Functions-Footnote-1518456
+Node: Time Functions518603
+Ref: Time Functions-Footnote-1529067
+Ref: Time Functions-Footnote-2529135
+Ref: Time Functions-Footnote-3529293
+Ref: Time Functions-Footnote-4529404
+Ref: Time Functions-Footnote-5529516
+Ref: Time Functions-Footnote-6529743
+Node: Bitwise Functions530009
+Ref: table-bitwise-ops530571
+Ref: Bitwise Functions-Footnote-1534816
+Node: Type Functions535000
+Node: I18N Functions536142
+Node: User-defined537787
+Node: Definition Syntax538591
+Ref: Definition Syntax-Footnote-1543506
+Node: Function Example543575
+Ref: Function Example-Footnote-1546219
+Node: Function Caveats546241
+Node: Calling A Function546759
+Node: Variable Scope547714
+Node: Pass By Value/Reference550702
+Node: Return Statement554210
+Node: Dynamic Typing557192
+Node: Indirect Calls558121
+Node: Library Functions567808
+Ref: Library Functions-Footnote-1571321
+Ref: Library Functions-Footnote-2571464
+Node: Library Names571635
+Ref: Library Names-Footnote-1575108
+Ref: Library Names-Footnote-2575328
+Node: General Functions575414
+Node: Strtonum Function576442
+Node: Assert Function579372
+Node: Round Function582698
+Node: Cliff Random Function584239
+Node: Ordinal Functions585255
+Ref: Ordinal Functions-Footnote-1588332
+Ref: Ordinal Functions-Footnote-2588584
+Node: Join Function588795
+Ref: Join Function-Footnote-1590566
+Node: Getlocaltime Function590766
+Node: Readfile Function594507
+Node: Data File Management596346
+Node: Filetrans Function596978
+Node: Rewind Function601047
+Node: File Checking602434
+Node: Empty Files603528
+Node: Ignoring Assigns605758
+Node: Getopt Function607312
+Ref: Getopt Function-Footnote-1618615
+Node: Passwd Functions618818
+Ref: Passwd Functions-Footnote-1627796
+Node: Group Functions627884
+Node: Walking Arrays635968
+Node: Sample Programs638104
+Node: Running Examples638778
+Node: Clones639506
+Node: Cut Program640730
+Node: Egrep Program650581
+Ref: Egrep Program-Footnote-1658354
+Node: Id Program658464
+Node: Split Program662113
+Ref: Split Program-Footnote-1665632
+Node: Tee Program665760
+Node: Uniq Program668563
+Node: Wc Program675992
+Ref: Wc Program-Footnote-1680258
+Ref: Wc Program-Footnote-2680458
+Node: Miscellaneous Programs680550
+Node: Dupword Program681738
+Node: Alarm Program683769
+Node: Translate Program688576
+Ref: Translate Program-Footnote-1692963
+Ref: Translate Program-Footnote-2693211
+Node: Labels Program693345
+Ref: Labels Program-Footnote-1696716
+Node: Word Sorting696800
+Node: History Sorting700684
+Node: Extract Program702523
+Ref: Extract Program-Footnote-1710026
+Node: Simple Sed710154
+Node: Igawk Program713216
+Ref: Igawk Program-Footnote-1728387
+Ref: Igawk Program-Footnote-2728588
+Node: Anagram Program728726
+Node: Signature Program731794
+Node: Advanced Features732894
+Node: Nondecimal Data734780
+Node: Array Sorting736363
+Node: Controlling Array Traversal737060
+Node: Array Sorting Functions745344
+Ref: Array Sorting Functions-Footnote-1749213
+Node: Two-way I/O749407
+Ref: Two-way I/O-Footnote-1754839
+Node: TCP/IP Networking754921
+Node: Profiling757765
+Node: Internationalization765268
+Node: I18N and L10N766693
+Node: Explaining gettext767379
+Ref: Explaining gettext-Footnote-1772447
+Ref: Explaining gettext-Footnote-2772631
+Node: Programmer i18n772796
+Node: Translator i18n777023
+Node: String Extraction777817
+Ref: String Extraction-Footnote-1778778
+Node: Printf Ordering778864
+Ref: Printf Ordering-Footnote-1781646
+Node: I18N Portability781710
+Ref: I18N Portability-Footnote-1784159
+Node: I18N Example784222
+Ref: I18N Example-Footnote-1786860
+Node: Gawk I18N786932
+Node: Debugger787553
+Node: Debugging788524
+Node: Debugging Concepts788957
+Node: Debugging Terms790813
+Node: Awk Debugging793410
+Node: Sample Debugging Session794302
+Node: Debugger Invocation794822
+Node: Finding The Bug796155
+Node: List of Debugger Commands802642
+Node: Breakpoint Control803976
+Node: Debugger Execution Control807640
+Node: Viewing And Changing Data811000
+Node: Execution Stack814356
+Node: Debugger Info815823
+Node: Miscellaneous Debugger Commands819817
+Node: Readline Support824995
+Node: Limitations825826
+Node: Arbitrary Precision Arithmetic828078
+Ref: Arbitrary Precision Arithmetic-Footnote-1829727
+Node: General Arithmetic829875
+Node: Floating Point Issues831595
+Node: String Conversion Precision832476
+Ref: String Conversion Precision-Footnote-1834181
+Node: Unexpected Results834290
+Node: POSIX Floating Point Problems836443
+Ref: POSIX Floating Point Problems-Footnote-1840268
+Node: Integer Programming840306
+Node: Floating-point Programming842045
+Ref: Floating-point Programming-Footnote-1848376
+Ref: Floating-point Programming-Footnote-2848646
+Node: Floating-point Representation848910
+Node: Floating-point Context850075
+Ref: table-ieee-formats850914
+Node: Rounding Mode852298
+Ref: table-rounding-modes852777
+Ref: Rounding Mode-Footnote-1855792
+Node: Gawk and MPFR855971
+Node: Arbitrary Precision Floats857380
+Ref: Arbitrary Precision Floats-Footnote-1859823
+Node: Setting Precision860139
+Ref: table-predefined-precision-strings860825
+Node: Setting Rounding Mode862970
+Ref: table-gawk-rounding-modes863374
+Node: Floating-point Constants864561
+Node: Changing Precision865990
+Ref: Changing Precision-Footnote-1867387
+Node: Exact Arithmetic867561
+Node: Arbitrary Precision Integers870699
+Ref: Arbitrary Precision Integers-Footnote-1873714
+Node: Dynamic Extensions873861
+Node: Extension Intro875319
+Node: Plugin License876584
+Node: Extension Mechanism Outline877269
+Ref: load-extension877686
+Ref: load-new-function879164
+Ref: call-new-function880159
+Node: Extension API Description882174
+Node: Extension API Functions Introduction883461
+Node: General Data Types888388
+Ref: General Data Types-Footnote-1894083
+Node: Requesting Values894382
+Ref: table-value-types-returned895119
+Node: Memory Allocation Functions896073
+Ref: Memory Allocation Functions-Footnote-1898819
+Node: Constructor Functions898915
+Node: Registration Functions900673
+Node: Extension Functions901358
+Node: Exit Callback Functions903660
+Node: Extension Version String904909
+Node: Input Parsers905559
+Node: Output Wrappers915316
+Node: Two-way processors919826
+Node: Printing Messages922034
+Ref: Printing Messages-Footnote-1923111
+Node: Updating `ERRNO'923263
+Node: Accessing Parameters924002
+Node: Symbol Table Access925232
+Node: Symbol table by name925746
+Node: Symbol table by cookie927722
+Ref: Symbol table by cookie-Footnote-1931854
+Node: Cached values931917
+Ref: Cached values-Footnote-1935407
+Node: Array Manipulation935498
+Ref: Array Manipulation-Footnote-1936596
+Node: Array Data Types936635
+Ref: Array Data Types-Footnote-1939338
+Node: Array Functions939430
+Node: Flattening Arrays943266
+Node: Creating Arrays950118
+Node: Extension API Variables954843
+Node: Extension Versioning955479
+Node: Extension API Informational Variables957380
+Node: Extension API Boilerplate958466
+Node: Finding Extensions962270
+Node: Extension Example962830
+Node: Internal File Description963560
+Node: Internal File Ops967651
+Ref: Internal File Ops-Footnote-1979160
+Node: Using Internal File Ops979300
+Ref: Using Internal File Ops-Footnote-1981647
+Node: Extension Samples981913
+Node: Extension Sample File Functions983437
+Node: Extension Sample Fnmatch991924
+Node: Extension Sample Fork993693
+Node: Extension Sample Inplace994906
+Node: Extension Sample Ord996684
+Node: Extension Sample Readdir997520
+Node: Extension Sample Revout999052
+Node: Extension Sample Rev2way999645
+Node: Extension Sample Read write array1000335
+Node: Extension Sample Readfile1002218
+Node: Extension Sample API Tests1003318
+Node: Extension Sample Time1003843
+Node: gawkextlib1005207
+Node: Language History1007988
+Node: V7/SVR3.11009581
+Node: SVR41011901
+Node: POSIX1013343
+Node: BTL1014729
+Node: POSIX/GNU1015463
+Node: Feature History1021062
+Node: Common Extensions1034038
+Node: Ranges and Locales1035350
+Ref: Ranges and Locales-Footnote-11039967
+Ref: Ranges and Locales-Footnote-21039994
+Ref: Ranges and Locales-Footnote-31040228
+Node: Contributors1040449
+Node: Installation1045830
+Node: Gawk Distribution1046724
+Node: Getting1047208
+Node: Extracting1048034
+Node: Distribution contents1049726
+Node: Unix Installation1055447
+Node: Quick Installation1056064
+Node: Additional Configuration Options1058510
+Node: Configuration Philosophy1060246
+Node: Non-Unix Installation1062600
+Node: PC Installation1063058
+Node: PC Binary Installation1064369
+Node: PC Compiling1066217
+Node: PC Testing1069177
+Node: PC Using1070353
+Node: Cygwin1074521
+Node: MSYS1075330
+Node: VMS Installation1075844
+Node: VMS Compilation1076640
+Ref: VMS Compilation-Footnote-11077892
+Node: VMS Dynamic Extensions1077950
+Node: VMS Installation Details1079323
+Node: VMS Running1081574
+Node: VMS GNV1084408
+Node: VMS Old Gawk1085131
+Node: Bugs1085601
+Node: Other Versions1089519
+Node: Notes1095603
+Node: Compatibility Mode1096403
+Node: Additions1097186
+Node: Accessing The Source1098113
+Node: Adding Code1099553
+Node: New Ports1105598
+Node: Derived Files1109733
+Ref: Derived Files-Footnote-11115054
+Ref: Derived Files-Footnote-21115088
+Ref: Derived Files-Footnote-31115688
+Node: Future Extensions1115786
+Node: Implementation Limitations1116369
+Node: Extension Design1117617
+Node: Old Extension Problems1118771
+Ref: Old Extension Problems-Footnote-11120279
+Node: Extension New Mechanism Goals1120336
+Ref: Extension New Mechanism Goals-Footnote-11123701
+Node: Extension Other Design Decisions1123887
+Node: Extension Future Growth1125993
+Node: Old Extension Mechanism1126829
+Node: Basic Concepts1128569
+Node: Basic High Level1129250
+Ref: figure-general-flow1129522
+Ref: figure-process-flow1130121
+Ref: Basic High Level-Footnote-11133350
+Node: Basic Data Typing1133535
+Node: Glossary1136890
+Node: Copying1162121
+Node: GNU Free Documentation License1199677
+Node: Index1224813

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 708c3a3b..10ddd235 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -318,14 +318,12 @@ ISBN 1-882114-28-0 @*
@page
@w{ }
@sp 9
-@center @i{To my parents, for their love, and for the wonderful
-example they set for me.}
+@center @i{To my parents, for their love, and for the wonderful example they set for me.}
@sp 1
@center @i{To my wife Miriam, for making me complete.
Thank you for building your life together with me.}
@sp 1
-@center @i{To our children Chana, Rivka, Nachum and Malka,
-for enrichening our lives in innumerable ways.}
+@center @i{To our children Chana, Rivka, Nachum and Malka, for enrichening our lives in innumerable ways.}
@sp 1
@w{ }
@page
@@ -986,7 +984,8 @@ for enrichening our lives in innumerable ways.
<author>
<firstname>Michael</firstname>
<surname>Brennan</surname>
- <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation>
+ <!-- can't put mawk into command tags. sigh. -->
+ <affiliation><jobtitle>Author of mawk</jobtitle></affiliation>
</author>
<date>March, 2001</date>
</prefaceinfo>
@@ -1149,7 +1148,7 @@ invoke it with the proper options or environment variables
(@pxref{Options}), it is fully
compatible with
the POSIX@footnote{The 2008 POSIX standard is accessable online at
-@url{http://www.opengroup.org/onlinepubs/9699919799/}.}
+@w{@url{http://www.opengroup.org/onlinepubs/9699919799/}.}}
specification of the @command{awk} language
and with the Unix version of @command{awk} maintained
by Brian Kernighan.
@@ -1227,10 +1226,10 @@ up through large-scale systems.
@command{gawk} has also been ported to Mac OS X,
Microsoft Windows
@ifset FOR_PRINT
-(all versions) and OS/2 PCs,
+(all versions),
@end ifset
@ifclear FOR_PRINT
-(all versions),
+(all versions) and OS/2 PCs,
@end ifclear
and OpenVMS.
(Some other, obsolete systems to which @command{gawk} was once ported
@@ -1517,9 +1516,14 @@ describes advanced arithmetic facilities provided by
@ref{Dynamic Extensions}, describes how to add new variables and
functions to @command{gawk} by writing extensions in C or C++.
+@ifclear FOR_PRINT
Part IV provides the appendices, the Glossary, and two licenses that cover
the @command{gawk} source code and this @value{DOCUMENT}, respectively.
It contains the following appendices:
+@end ifclear
+@ifset FOR_PRINT
+Part IV provides the following appendices:
+@end ifset
@ref{Language History},
describes how the @command{awk} language has evolved since
@@ -1535,7 +1539,9 @@ in @command{gawk} and where to get other freely
available @command{awk} implementations.
@ifset FOR_PRINT
-To save space, we have omitted some of the appendices from this
+The version of this @value{DOCUMENT} distributed with @command{gawk}
+contains additional appendices and other end material.
+To save space, we have omitted them from the
printed edition. You may find them online, as follows:
@uref{http://www.gnu.org/software/gawk/manual/html_node/Notes.html}
@@ -1550,12 +1556,12 @@ are completely unfamiliar with computer programming.
@uref{http://www.gnu.org/software/gawk/manual/html_node/Glossary.html,
The Glossary}
defines most, if not all, the significant terms used
-throughout the book. If you find terms that you aren't familiar with,
+throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with,
try looking them up here.
-@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html} and
-@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html}
-present the licenses that cover the @command{gawk} source code
+@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html, The GNU GPL} and
+@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html, the GNU FDL}
+are the licenses that cover the @command{gawk} source code
and this @value{DOCUMENT}, respectively.
@end ifset
@@ -1570,7 +1576,7 @@ provides some very cursory background material for those who
are completely unfamiliar with computer programming.
The @ref{Glossary}, defines most, if not all, the significant terms used
-throughout the book. If you find terms that you aren't familiar with,
+throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with,
try looking them up here.
@ref{Copying}, and
@@ -1682,13 +1688,15 @@ Foundation to create a complete, freely distributable, POSIX-compliant
computing environment.
The FSF uses the ``GNU General Public License'' (GPL) to ensure that
their software's
-source code is always available to the end user. A
-copy of the GPL is included
+source code is always available to the end user.
+@ifclear FOR_PRINT
+A copy of the GPL is included
@ifnotinfo
in this @value{DOCUMENT}
@end ifnotinfo
for your reference
(@pxref{Copying}).
+@end ifclear
The GPL applies to the C language source code for @command{gawk}.
To find out more about the FSF and the GNU Project online,
see @uref{http://www.gnu.org, the GNU Project's home page}.
@@ -1711,8 +1719,13 @@ consider using GNU/Linux, a freely distributable, Unix-like operating
system for Intel@registeredsymbol{},
Power Architecture,
Sun SPARC, IBM S/390, and other
+@ifclear FOR_PRINT
systems.@footnote{The terminology ``GNU/Linux'' is explained
in the @ref{Glossary}.}
+@end ifclear
+@ifset FOR_PRINT
+systems.
+@end ifset
Many GNU/Linux distributions are
available for download from the Internet.
@@ -1732,8 +1745,11 @@ The @value{DOCUMENT} you are reading is actually free---at least, the
information in it is free to anyone. The machine-readable
source code for the @value{DOCUMENT} comes with @command{gawk}; anyone
may take this @value{DOCUMENT} to a copying machine and make as many
-copies as they like. (Take a moment to check the Free Documentation
+copies as they like.
+@ifclear FOR_PRINT
+(Take a moment to check the Free Documentation
License in @ref{GNU Free Documentation License}.)
+@end ifclear
@end ifnotinfo
@ignore
@@ -3285,8 +3301,14 @@ edit-compile-test-debug cycle of software development.
@cindex Brian Kernighan's @command{awk}
Complex programs have been written in @command{awk}, including a complete
-retargetable assembler for eight-bit microprocessors (@pxref{Glossary}, for
-more information), and a microcode assembler for a special-purpose Prolog
+retargetable assembler for
+@ifclear FOR_PRINT
+eight-bit microprocessors (@pxref{Glossary}, for more information),
+@end ifclear
+@ifset FOR_PRINT
+eight-bit microprocessors,
+@end ifset
+and a microcode assembler for a special-purpose Prolog
computer.
While the original @command{awk}'s capabilities were strained by tasks
of such complexity, modern versions are more capable. Even Brian Kernighan's
@@ -3514,8 +3536,11 @@ Specify @dfn{compatibility mode}, in which the GNU extensions to
the @command{awk} language are disabled, so that @command{gawk} behaves just
like Brian Kernighan's version @command{awk}.
@xref{POSIX/GNU},
-which summarizes the extensions. Also see
+which summarizes the extensions.
+@ifclear FOR_PRINT
+Also see
@ref{Compatibility Mode}.
+@end ifclear
@item @option{-C}
@itemx @option{--copyright}
@@ -17678,8 +17703,13 @@ particular log record was written. Many programs log their timestamp
in the form returned by the @code{time()} system call, which is the
number of seconds since a particular epoch. On POSIX-compliant systems,
it is the number of seconds since
-1970-01-01 00:00:00 UTC, not counting leap seconds.@footnote{@xref{Glossary},
-especially the entries ``Epoch'' and ``UTC.''}
+1970-01-01 00:00:00 UTC, not counting leap
+@ifclear FOR_PRINT
+seconds.@footnote{@xref{Glossary}, especially the entries ``Epoch'' and ``UTC.''}
+@end ifclear
+@ifset FOR_PRINT
+seconds.
+@end ifset
All known POSIX-compliant systems support timestamps from 0 through
@iftex
@math{2^{31} - 1},
@@ -19551,9 +19581,11 @@ these example library functions and programs from the Texinfo source
for this @value{DOCUMENT}.
(This has already been done as part of the @command{gawk} distribution.)
+@ifclear FOR_PRINT
If you have written one or more useful, general-purpose @command{awk} functions
and would like to contribute them to the @command{awk} user community, see
@ref{How To Contribute}, for more information.
+@end ifclear
@cindex portability, example programs
The programs in this @value{CHAPTER} and in
@@ -30164,8 +30196,15 @@ the facilities that the API provides and how to use
them, and presents a small sample extension. In addition, it documents
the sample extensions included in the @command{gawk} distribution,
and describes the @code{gawkextlib} project.
+@ifclear FOR_PRINT
@xref{Extension Design}, for a discussion of the extension mechanism
goals and design.
+@end ifclear
+@ifset FOR_PRINT
+See @uref{http://www.gnu.org/software/gawk/manual/html_node/Extension-Design.html}
+for a discussion of the extension mechanism
+goals and design.
+@end ifset
@node Plugin License
@section Extension Licensing
@@ -30621,8 +30660,11 @@ reading and/or changing the value of one or more scalar variables, you
can obtain a @dfn{scalar cookie}@footnote{See
@uref{http://catb.org/jargon/html/C/cookie.html, the ``cookie'' entry in the Jargon file} for a
definition of @dfn{cookie}, and @uref{http://catb.org/jargon/html/M/magic-cookie.html,
-the ``magic cookie'' entry in the Jargon file} for a nice example. See
-also the entry for ``Cookie'' in the @ref{Glossary}.}
+the ``magic cookie'' entry in the Jargon file} for a nice example.
+@ifclear FOR_PRINT
+See also the entry for ``Cookie'' in the @ref{Glossary}.
+@end ifclear
+}
object for that variable, and then use
the cookie for getting the variable's value or for changing the variable's
value.
@@ -32500,8 +32542,14 @@ These variables and functions are as follows:
@table @code
@item int plugin_is_GPL_compatible;
-This asserts that the extension is compatible with the GNU GPL
-(@pxref{Copying}). If your extension does not have this, @command{gawk}
+This asserts that the extension is compatible with
+@ifclear FOR_PRINT
+the GNU GPL (@pxref{Copying}).
+@end ifclear
+@ifset FOR_PRINT
+the GNU GPL.
+@end ifset
+If your extension does not have this, @command{gawk}
will not load it (@pxref{Plugin License}).
@item static gawk_api_t *const api;
@@ -35923,7 +35971,10 @@ the sample extensions included with @command{gawk}.
Files needed for building @command{gawk} on POSIX-compliant systems.
@item pc/*
-Files needed for building @command{gawk} under MS-Windows and OS/2
+Files needed for building @command{gawk} under MS-Windows
+@ifclear FOR_PRINT
+and OS/2
+@end ifclear
(@pxref{PC Installation}, for details).
@item vms/*
@@ -36154,16 +36205,21 @@ various non-Unix systems.
@cindex PC operating systems@comma{} @command{gawk} on, installing
@cindex operating systems, PC@comma{} @command{gawk} on, installing
This @value{SECTION} covers installation and usage of @command{gawk} on x86 machines
+@ifclear FOR_PRINT
running MS-DOS, any version of MS-Windows, or OS/2.
+@end ifclear
+@ifset FOR_PRINT
+running MS-DOS and any version of MS-Windows.
+@end ifset
In this @value{SECTION}, the term ``Windows32''
-refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7.
+refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7/8.
-The limitations of MS-DOS (and MS-DOS shells under Windows32 or OS/2) has meant
-that various ``DOS extenders'' are often used with programs such as
-@command{gawk}. The varying capabilities of Microsoft Windows 3.1
-and Windows32 can add to the confusion. For an overview of the
-considerations, please refer to @file{README_d/README.pc} in the
-distribution.
+The limitations of MS-DOS (and MS-DOS shells under the other operating
+systems) has meant that various ``DOS extenders'' are often used with
+programs such as @command{gawk}. The varying capabilities of Microsoft
+Windows 3.1 and Windows32 can add to the confusion. For an overview
+of the considerations, please refer to @file{README_d/README.pc} in
+the distribution.
@menu
* PC Binary Installation:: Installing a prepared distribution.
@@ -36177,6 +36233,7 @@ distribution.
* MSYS:: Using @command{gawk} In The MSYS Environment.
@end menu
+@ifclear FOR_PRINT
@node PC Binary Installation
@appendixsubsubsec Installing a Prepared Distribution for PC Systems
@@ -36215,13 +36272,21 @@ install-info --info-dir=x:/usr/info x:/usr/info/gawkinet.info
The binary distribution may contain a separate file containing additional
or more detailed installation instructions.
+@end ifclear
@node PC Compiling
@appendixsubsubsec Compiling @command{gawk} for PC Operating Systems
+@ifclear FOR_PRINT
@command{gawk} can be compiled for MS-DOS, Windows32, and OS/2 using the GNU
-development tools from DJ Delorie (DJGPP: MS-DOS only) or Eberhard
-Mattes (EMX: MS-DOS, Windows32 and OS/2). The file
+development tools from DJ Delorie (DJGPP: MS-DOS only), MinGW (Windows32) or Eberhard
+Mattes (EMX: MS-DOS, Windows32 and OS/2).
+@end ifclear
+@ifset FOR_PRINT
+@command{gawk} can be compiled for MS-DOS and Windows32 using the GNU
+development tools from DJ Delorie (DJGPP: MS-DOS only) or MinGW (Windows32).
+@end ifset
+The file
@file{README_d/README.pc} in the @command{gawk} distribution contains
additional notes, and @file{pc/Makefile} contains important information on
compilation options.
@@ -36243,6 +36308,7 @@ build @command{gawk} using the DJGPP tools, enter @samp{make djgpp}.
@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.) To build a
native MS-Windows binary of @command{gawk}, type @samp{make mingw32}.
+@ifclear FOR_PRINT
@cindex compiling @command{gawk} with EMX for OS/2
The 32 bit EMX version of @command{gawk} works ``out of the box'' under OS/2.
However, it is highly recommended to use GCC 2.95.3 for the compilation.
@@ -36316,6 +36382,7 @@ the Makefiles of this package. If you encounter any problems with
find the latest version on
@uref{ftp://hobbes.nmsu.edu/pub/os2/}.
@end quotation
+@end ifclear
@node PC Testing
@appendixsubsubsec Testing @command{gawk} on PC Operating Systems
@@ -36327,6 +36394,7 @@ be converted so that they have the usual MS-DOS-style end-of-line markers.
Alternatively, run @command{make check CMP="diff -a"} to use GNU @command{diff}
in text mode instead of @command{cmp} to compare the resulting files.
+@ifclear FOR_PRINT
Most
of the tests work properly with Stewartson's shell along with the
companion utilities or appropriate GNU utilities. However, some editing of
@@ -36339,7 +36407,7 @@ On OS/2 the @code{pid} test fails because @code{spawnl()} is used instead of
@code{fork()}/@code{execl()} to start child processes.
Also the @code{mbfw1} and @code{mbprintf1} tests fail because the needed
multibyte functionality is not available.
-
+@end ifclear
@node PC Using
@appendixsubsubsec Using @command{gawk} on PC Operating Systems
@@ -36351,11 +36419,12 @@ multibyte functionality is not available.
Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support
both the @samp{|&} operator and TCP/IP networking
(@pxref{TCP/IP Networking}).
+@ifclear FOR_PRINT
EMX (OS/2 only) supports at least the @samp{|&} operator.
+@end ifclear
@cindex search paths
@cindex search paths, for source files
-@cindex @command{gawk}, OS/2 version of
@cindex @command{gawk}, MS-DOS version of
@cindex @command{gawk}, MS-Windows version of
@cindex @code{;} (semicolon), @code{AWKPATH} variable and
@@ -36368,6 +36437,8 @@ variable. If @env{AWKPATH} is not set or is empty, then the default
search path for MS-Windows and MS-DOS versions is
@code{@w{".;c:/lib/awk;c:/gnu/lib/awk"}}.
+@ifclear FOR_PRINT
+@cindex @command{gawk}, OS/2 version of
@cindex @code{UNIXROOT} variable, on OS/2 systems
The search path for OS/2 (32 bit, EMX) is determined by the prefix directory
(most likely @file{/usr} or @file{c:/usr}) that has been specified as an option of
@@ -36385,12 +36456,24 @@ An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS
or @command{cmd.exe} under MS-Windows or OS/2) may be useful for @command{awk} programming.
The DJGPP collection of tools includes an MS-DOS port of Bash,
and several shells are available for OS/2, including @command{ksh}.
+@end ifclear
+@ifset FOR_PRINT
+An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS
+or @command{cmd.exe} under MS-Windows) may be useful for @command{awk} programming.
+The DJGPP collection of tools includes an MS-DOS port of Bash.
+@end ifset
@cindex common extensions, @code{BINMODE} variable
@cindex extensions, common@comma{} @code{BINMODE} variable
@cindex differences in @command{awk} and @command{gawk}, @code{BINMODE} variable
@cindex @code{BINMODE} variable
-Under MS-Windows, OS/2 and MS-DOS, @command{gawk} (and many other text programs) silently
+@ifclear FOR_PRINT
+Under MS-Windows, OS/2 and MS-DOS,
+@end ifclear
+@ifset FOR_PRINT
+Under MS-Windows and MS-DOS,
+@end ifset
+@command{gawk} (and many other text programs) silently
translate end-of-line @code{"\r\n"} to @code{"\n"} on input and @code{"\n"}
to @code{"\r\n"} on output. A special @code{BINMODE} variable @value{COMMONEXT}
allows control over these translations and is interpreted as follows:
@@ -36935,6 +37018,8 @@ as follows:
@item MS-Windows with MINGW @tab Eli Zaretskii, @EMAIL{eliz@@gnu.org,eliz at gnu dot org}.
+@c Leave this in the print version on purpose. OS/2 not mentioned anywhere else
+@c in the print version though.
@item OS/2 @tab Andreas Buening, @EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}.
@item VMS @tab Pat Rankin, @EMAIL{r.pat.rankin@@gmail.com,r.pat.rankin at gmail.com}, and
@@ -37018,8 +37103,13 @@ for a list of extensions in this @command{awk} that are not in POSIX @command{aw
@cindex source code, @command{mawk}
@item @command{mawk}
Michael Brennan wrote an independent implementation of @command{awk},
-called @command{mawk}. It is available under the GPL
-(@pxref{Copying}),
+called @command{mawk}. It is available under the
+@ifclear FOR_PRINT
+GPL (@pxref{Copying}),
+@end ifclear
+@ifset FOR_PRINT
+GPL,
+@end ifset
just as @command{gawk} is.
The original distribution site for the @command{mawk} source code
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 32a7543d..d45cae06 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -313,14 +313,12 @@ ISBN 1-882114-28-0 @*
@page
@w{ }
@sp 9
-@center @i{To my parents, for their love, and for the wonderful
-example they set for me.}
+@center @i{To my parents, for their love, and for the wonderful example they set for me.}
@sp 1
@center @i{To my wife Miriam, for making me complete.
Thank you for building your life together with me.}
@sp 1
-@center @i{To our children Chana, Rivka, Nachum and Malka,
-for enrichening our lives in innumerable ways.}
+@center @i{To our children Chana, Rivka, Nachum and Malka, for enrichening our lives in innumerable ways.}
@sp 1
@w{ }
@page
@@ -981,7 +979,8 @@ for enrichening our lives in innumerable ways.
<author>
<firstname>Michael</firstname>
<surname>Brennan</surname>
- <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation>
+ <!-- can't put mawk into command tags. sigh. -->
+ <affiliation><jobtitle>Author of mawk</jobtitle></affiliation>
</author>
<date>March, 2001</date>
</prefaceinfo>
@@ -1144,7 +1143,7 @@ invoke it with the proper options or environment variables
(@pxref{Options}), it is fully
compatible with
the POSIX@footnote{The 2008 POSIX standard is accessable online at
-@url{http://www.opengroup.org/onlinepubs/9699919799/}.}
+@w{@url{http://www.opengroup.org/onlinepubs/9699919799/}.}}
specification of the @command{awk} language
and with the Unix version of @command{awk} maintained
by Brian Kernighan.
@@ -1222,10 +1221,10 @@ up through large-scale systems.
@command{gawk} has also been ported to Mac OS X,
Microsoft Windows
@ifset FOR_PRINT
-(all versions) and OS/2 PCs,
+(all versions),
@end ifset
@ifclear FOR_PRINT
-(all versions),
+(all versions) and OS/2 PCs,
@end ifclear
and OpenVMS.
(Some other, obsolete systems to which @command{gawk} was once ported
@@ -1484,9 +1483,14 @@ describes advanced arithmetic facilities provided by
@ref{Dynamic Extensions}, describes how to add new variables and
functions to @command{gawk} by writing extensions in C or C++.
+@ifclear FOR_PRINT
Part IV provides the appendices, the Glossary, and two licenses that cover
the @command{gawk} source code and this @value{DOCUMENT}, respectively.
It contains the following appendices:
+@end ifclear
+@ifset FOR_PRINT
+Part IV provides the following appendices:
+@end ifset
@ref{Language History},
describes how the @command{awk} language has evolved since
@@ -1502,7 +1506,9 @@ in @command{gawk} and where to get other freely
available @command{awk} implementations.
@ifset FOR_PRINT
-To save space, we have omitted some of the appendices from this
+The version of this @value{DOCUMENT} distributed with @command{gawk}
+contains additional appendices and other end material.
+To save space, we have omitted them from the
printed edition. You may find them online, as follows:
@uref{http://www.gnu.org/software/gawk/manual/html_node/Notes.html}
@@ -1517,12 +1523,12 @@ are completely unfamiliar with computer programming.
@uref{http://www.gnu.org/software/gawk/manual/html_node/Glossary.html,
The Glossary}
defines most, if not all, the significant terms used
-throughout the book. If you find terms that you aren't familiar with,
+throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with,
try looking them up here.
-@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html} and
-@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html}
-present the licenses that cover the @command{gawk} source code
+@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html, The GNU GPL} and
+@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html, the GNU FDL}
+are the licenses that cover the @command{gawk} source code
and this @value{DOCUMENT}, respectively.
@end ifset
@@ -1537,7 +1543,7 @@ provides some very cursory background material for those who
are completely unfamiliar with computer programming.
The @ref{Glossary}, defines most, if not all, the significant terms used
-throughout the book. If you find terms that you aren't familiar with,
+throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with,
try looking them up here.
@ref{Copying}, and
@@ -1649,13 +1655,15 @@ Foundation to create a complete, freely distributable, POSIX-compliant
computing environment.
The FSF uses the ``GNU General Public License'' (GPL) to ensure that
their software's
-source code is always available to the end user. A
-copy of the GPL is included
+source code is always available to the end user.
+@ifclear FOR_PRINT
+A copy of the GPL is included
@ifnotinfo
in this @value{DOCUMENT}
@end ifnotinfo
for your reference
(@pxref{Copying}).
+@end ifclear
The GPL applies to the C language source code for @command{gawk}.
To find out more about the FSF and the GNU Project online,
see @uref{http://www.gnu.org, the GNU Project's home page}.
@@ -1678,8 +1686,13 @@ consider using GNU/Linux, a freely distributable, Unix-like operating
system for Intel@registeredsymbol{},
Power Architecture,
Sun SPARC, IBM S/390, and other
+@ifclear FOR_PRINT
systems.@footnote{The terminology ``GNU/Linux'' is explained
in the @ref{Glossary}.}
+@end ifclear
+@ifset FOR_PRINT
+systems.
+@end ifset
Many GNU/Linux distributions are
available for download from the Internet.
@@ -1699,8 +1712,11 @@ The @value{DOCUMENT} you are reading is actually free---at least, the
information in it is free to anyone. The machine-readable
source code for the @value{DOCUMENT} comes with @command{gawk}; anyone
may take this @value{DOCUMENT} to a copying machine and make as many
-copies as they like. (Take a moment to check the Free Documentation
+copies as they like.
+@ifclear FOR_PRINT
+(Take a moment to check the Free Documentation
License in @ref{GNU Free Documentation License}.)
+@end ifclear
@end ifnotinfo
@ignore
@@ -3213,8 +3229,14 @@ edit-compile-test-debug cycle of software development.
@cindex Brian Kernighan's @command{awk}
Complex programs have been written in @command{awk}, including a complete
-retargetable assembler for eight-bit microprocessors (@pxref{Glossary}, for
-more information), and a microcode assembler for a special-purpose Prolog
+retargetable assembler for
+@ifclear FOR_PRINT
+eight-bit microprocessors (@pxref{Glossary}, for more information),
+@end ifclear
+@ifset FOR_PRINT
+eight-bit microprocessors,
+@end ifset
+and a microcode assembler for a special-purpose Prolog
computer.
While the original @command{awk}'s capabilities were strained by tasks
of such complexity, modern versions are more capable. Even Brian Kernighan's
@@ -3442,8 +3464,11 @@ Specify @dfn{compatibility mode}, in which the GNU extensions to
the @command{awk} language are disabled, so that @command{gawk} behaves just
like Brian Kernighan's version @command{awk}.
@xref{POSIX/GNU},
-which summarizes the extensions. Also see
+which summarizes the extensions.
+@ifclear FOR_PRINT
+Also see
@ref{Compatibility Mode}.
+@end ifclear
@item @option{-C}
@itemx @option{--copyright}
@@ -16851,8 +16876,13 @@ particular log record was written. Many programs log their timestamp
in the form returned by the @code{time()} system call, which is the
number of seconds since a particular epoch. On POSIX-compliant systems,
it is the number of seconds since
-1970-01-01 00:00:00 UTC, not counting leap seconds.@footnote{@xref{Glossary},
-especially the entries ``Epoch'' and ``UTC.''}
+1970-01-01 00:00:00 UTC, not counting leap
+@ifclear FOR_PRINT
+seconds.@footnote{@xref{Glossary}, especially the entries ``Epoch'' and ``UTC.''}
+@end ifclear
+@ifset FOR_PRINT
+seconds.
+@end ifset
All known POSIX-compliant systems support timestamps from 0 through
@iftex
@math{2^{31} - 1},
@@ -18724,9 +18754,11 @@ these example library functions and programs from the Texinfo source
for this @value{DOCUMENT}.
(This has already been done as part of the @command{gawk} distribution.)
+@ifclear FOR_PRINT
If you have written one or more useful, general-purpose @command{awk} functions
and would like to contribute them to the @command{awk} user community, see
@ref{How To Contribute}, for more information.
+@end ifclear
@cindex portability, example programs
The programs in this @value{CHAPTER} and in
@@ -29308,8 +29340,15 @@ the facilities that the API provides and how to use
them, and presents a small sample extension. In addition, it documents
the sample extensions included in the @command{gawk} distribution,
and describes the @code{gawkextlib} project.
+@ifclear FOR_PRINT
@xref{Extension Design}, for a discussion of the extension mechanism
goals and design.
+@end ifclear
+@ifset FOR_PRINT
+See @uref{http://www.gnu.org/software/gawk/manual/html_node/Extension-Design.html}
+for a discussion of the extension mechanism
+goals and design.
+@end ifset
@node Plugin License
@section Extension Licensing
@@ -29765,8 +29804,11 @@ reading and/or changing the value of one or more scalar variables, you
can obtain a @dfn{scalar cookie}@footnote{See
@uref{http://catb.org/jargon/html/C/cookie.html, the ``cookie'' entry in the Jargon file} for a
definition of @dfn{cookie}, and @uref{http://catb.org/jargon/html/M/magic-cookie.html,
-the ``magic cookie'' entry in the Jargon file} for a nice example. See
-also the entry for ``Cookie'' in the @ref{Glossary}.}
+the ``magic cookie'' entry in the Jargon file} for a nice example.
+@ifclear FOR_PRINT
+See also the entry for ``Cookie'' in the @ref{Glossary}.
+@end ifclear
+}
object for that variable, and then use
the cookie for getting the variable's value or for changing the variable's
value.
@@ -31644,8 +31686,14 @@ These variables and functions are as follows:
@table @code
@item int plugin_is_GPL_compatible;
-This asserts that the extension is compatible with the GNU GPL
-(@pxref{Copying}). If your extension does not have this, @command{gawk}
+This asserts that the extension is compatible with
+@ifclear FOR_PRINT
+the GNU GPL (@pxref{Copying}).
+@end ifclear
+@ifset FOR_PRINT
+the GNU GPL.
+@end ifset
+If your extension does not have this, @command{gawk}
will not load it (@pxref{Plugin License}).
@item static gawk_api_t *const api;
@@ -35067,7 +35115,10 @@ the sample extensions included with @command{gawk}.
Files needed for building @command{gawk} on POSIX-compliant systems.
@item pc/*
-Files needed for building @command{gawk} under MS-Windows and OS/2
+Files needed for building @command{gawk} under MS-Windows
+@ifclear FOR_PRINT
+and OS/2
+@end ifclear
(@pxref{PC Installation}, for details).
@item vms/*
@@ -35298,16 +35349,21 @@ various non-Unix systems.
@cindex PC operating systems@comma{} @command{gawk} on, installing
@cindex operating systems, PC@comma{} @command{gawk} on, installing
This @value{SECTION} covers installation and usage of @command{gawk} on x86 machines
+@ifclear FOR_PRINT
running MS-DOS, any version of MS-Windows, or OS/2.
+@end ifclear
+@ifset FOR_PRINT
+running MS-DOS and any version of MS-Windows.
+@end ifset
In this @value{SECTION}, the term ``Windows32''
-refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7.
+refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7/8.
-The limitations of MS-DOS (and MS-DOS shells under Windows32 or OS/2) has meant
-that various ``DOS extenders'' are often used with programs such as
-@command{gawk}. The varying capabilities of Microsoft Windows 3.1
-and Windows32 can add to the confusion. For an overview of the
-considerations, please refer to @file{README_d/README.pc} in the
-distribution.
+The limitations of MS-DOS (and MS-DOS shells under the other operating
+systems) has meant that various ``DOS extenders'' are often used with
+programs such as @command{gawk}. The varying capabilities of Microsoft
+Windows 3.1 and Windows32 can add to the confusion. For an overview
+of the considerations, please refer to @file{README_d/README.pc} in
+the distribution.
@menu
* PC Binary Installation:: Installing a prepared distribution.
@@ -35321,6 +35377,7 @@ distribution.
* MSYS:: Using @command{gawk} In The MSYS Environment.
@end menu
+@ifclear FOR_PRINT
@node PC Binary Installation
@appendixsubsubsec Installing a Prepared Distribution for PC Systems
@@ -35359,13 +35416,21 @@ install-info --info-dir=x:/usr/info x:/usr/info/gawkinet.info
The binary distribution may contain a separate file containing additional
or more detailed installation instructions.
+@end ifclear
@node PC Compiling
@appendixsubsubsec Compiling @command{gawk} for PC Operating Systems
+@ifclear FOR_PRINT
@command{gawk} can be compiled for MS-DOS, Windows32, and OS/2 using the GNU
-development tools from DJ Delorie (DJGPP: MS-DOS only) or Eberhard
-Mattes (EMX: MS-DOS, Windows32 and OS/2). The file
+development tools from DJ Delorie (DJGPP: MS-DOS only), MinGW (Windows32) or Eberhard
+Mattes (EMX: MS-DOS, Windows32 and OS/2).
+@end ifclear
+@ifset FOR_PRINT
+@command{gawk} can be compiled for MS-DOS and Windows32 using the GNU
+development tools from DJ Delorie (DJGPP: MS-DOS only) or MinGW (Windows32).
+@end ifset
+The file
@file{README_d/README.pc} in the @command{gawk} distribution contains
additional notes, and @file{pc/Makefile} contains important information on
compilation options.
@@ -35387,6 +35452,7 @@ build @command{gawk} using the DJGPP tools, enter @samp{make djgpp}.
@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.) To build a
native MS-Windows binary of @command{gawk}, type @samp{make mingw32}.
+@ifclear FOR_PRINT
@cindex compiling @command{gawk} with EMX for OS/2
The 32 bit EMX version of @command{gawk} works ``out of the box'' under OS/2.
However, it is highly recommended to use GCC 2.95.3 for the compilation.
@@ -35460,6 +35526,7 @@ the Makefiles of this package. If you encounter any problems with
find the latest version on
@uref{ftp://hobbes.nmsu.edu/pub/os2/}.
@end quotation
+@end ifclear
@node PC Testing
@appendixsubsubsec Testing @command{gawk} on PC Operating Systems
@@ -35471,6 +35538,7 @@ be converted so that they have the usual MS-DOS-style end-of-line markers.
Alternatively, run @command{make check CMP="diff -a"} to use GNU @command{diff}
in text mode instead of @command{cmp} to compare the resulting files.
+@ifclear FOR_PRINT
Most
of the tests work properly with Stewartson's shell along with the
companion utilities or appropriate GNU utilities. However, some editing of
@@ -35483,7 +35551,7 @@ On OS/2 the @code{pid} test fails because @code{spawnl()} is used instead of
@code{fork()}/@code{execl()} to start child processes.
Also the @code{mbfw1} and @code{mbprintf1} tests fail because the needed
multibyte functionality is not available.
-
+@end ifclear
@node PC Using
@appendixsubsubsec Using @command{gawk} on PC Operating Systems
@@ -35495,11 +35563,12 @@ multibyte functionality is not available.
Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support
both the @samp{|&} operator and TCP/IP networking
(@pxref{TCP/IP Networking}).
+@ifclear FOR_PRINT
EMX (OS/2 only) supports at least the @samp{|&} operator.
+@end ifclear
@cindex search paths
@cindex search paths, for source files
-@cindex @command{gawk}, OS/2 version of
@cindex @command{gawk}, MS-DOS version of
@cindex @command{gawk}, MS-Windows version of
@cindex @code{;} (semicolon), @code{AWKPATH} variable and
@@ -35512,6 +35581,8 @@ variable. If @env{AWKPATH} is not set or is empty, then the default
search path for MS-Windows and MS-DOS versions is
@code{@w{".;c:/lib/awk;c:/gnu/lib/awk"}}.
+@ifclear FOR_PRINT
+@cindex @command{gawk}, OS/2 version of
@cindex @code{UNIXROOT} variable, on OS/2 systems
The search path for OS/2 (32 bit, EMX) is determined by the prefix directory
(most likely @file{/usr} or @file{c:/usr}) that has been specified as an option of
@@ -35529,12 +35600,24 @@ An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS
or @command{cmd.exe} under MS-Windows or OS/2) may be useful for @command{awk} programming.
The DJGPP collection of tools includes an MS-DOS port of Bash,
and several shells are available for OS/2, including @command{ksh}.
+@end ifclear
+@ifset FOR_PRINT
+An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS
+or @command{cmd.exe} under MS-Windows) may be useful for @command{awk} programming.
+The DJGPP collection of tools includes an MS-DOS port of Bash.
+@end ifset
@cindex common extensions, @code{BINMODE} variable
@cindex extensions, common@comma{} @code{BINMODE} variable
@cindex differences in @command{awk} and @command{gawk}, @code{BINMODE} variable
@cindex @code{BINMODE} variable
-Under MS-Windows, OS/2 and MS-DOS, @command{gawk} (and many other text programs) silently
+@ifclear FOR_PRINT
+Under MS-Windows, OS/2 and MS-DOS,
+@end ifclear
+@ifset FOR_PRINT
+Under MS-Windows and MS-DOS,
+@end ifset
+@command{gawk} (and many other text programs) silently
translate end-of-line @code{"\r\n"} to @code{"\n"} on input and @code{"\n"}
to @code{"\r\n"} on output. A special @code{BINMODE} variable @value{COMMONEXT}
allows control over these translations and is interpreted as follows:
@@ -36079,6 +36162,8 @@ as follows:
@item MS-Windows with MINGW @tab Eli Zaretskii, @EMAIL{eliz@@gnu.org,eliz at gnu dot org}.
+@c Leave this in the print version on purpose. OS/2 not mentioned anywhere else
+@c in the print version though.
@item OS/2 @tab Andreas Buening, @EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}.
@item VMS @tab Pat Rankin, @EMAIL{r.pat.rankin@@gmail.com,r.pat.rankin at gmail.com}, and
@@ -36162,8 +36247,13 @@ for a list of extensions in this @command{awk} that are not in POSIX @command{aw
@cindex source code, @command{mawk}
@item @command{mawk}
Michael Brennan wrote an independent implementation of @command{awk},
-called @command{mawk}. It is available under the GPL
-(@pxref{Copying}),
+called @command{mawk}. It is available under the
+@ifclear FOR_PRINT
+GPL (@pxref{Copying}),
+@end ifclear
+@ifset FOR_PRINT
+GPL,
+@end ifset
just as @command{gawk} is.
The original distribution site for the @command{mawk} source code