aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-05-13 22:17:05 +0300
committerArnold D. Robbins <arnold@skeeve.com>2014-05-13 22:17:05 +0300
commitcd78eac2bc3b182ddca47b97f7f460c3358c7b09 (patch)
treece45b7cff871fc132e93525fc9b4c6aa4e97d9fd /doc
parent1f09ba8c86f73123383cd69d38414f8e922855e0 (diff)
downloadegawk-cd78eac2bc3b182ddca47b97f7f460c3358c7b09.tar.gz
egawk-cd78eac2bc3b182ddca47b97f7f460c3358c7b09.tar.bz2
egawk-cd78eac2bc3b182ddca47b97f7f460c3358c7b09.zip
Get print version set up to pass makeinfo.
Diffstat (limited to 'doc')
-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 beb0413c..41671458 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 9bcd7e0c..5587b9e8 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).
@@ -26557,14 +26558,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:
@@ -26623,13 +26624,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'
@@ -31697,7 +31698,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 128)
@@ -33205,531 +33206,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-1430686
-Ref: Auto-set-Footnote-2430891
-Node: ARGC and ARGV430947
-Node: Arrays434801
-Node: Array Basics436299
-Node: Array Intro437125
-Ref: figure-array-elements439098
-Node: Reference to Elements441505
-Node: Assigning Elements443778
-Node: Array Example444269
-Node: Scanning an Array446001
-Node: Controlling Scanning449016
-Ref: Controlling Scanning-Footnote-1454189
-Node: Delete454505
-Ref: Delete-Footnote-1457270
-Node: Numeric Array Subscripts457327
-Node: Uninitialized Subscripts459510
-Node: Multidimensional461135
-Node: Multiscanning464228
-Node: Arrays of Arrays465817
-Node: Functions470457
-Node: Built-in471276
-Node: Calling Built-in472354
-Node: Numeric Functions474342
-Ref: Numeric Functions-Footnote-1478176
-Ref: Numeric Functions-Footnote-2478533
-Ref: Numeric Functions-Footnote-3478581
-Node: String Functions478850
-Ref: String Functions-Footnote-1501861
-Ref: String Functions-Footnote-2501990
-Ref: String Functions-Footnote-3502238
-Node: Gory Details502325
-Ref: table-sub-escapes503994
-Ref: table-sub-posix-92505348
-Ref: table-sub-proposed506699
-Ref: table-posix-sub508053
-Ref: table-gensub-escapes509598
-Ref: Gory Details-Footnote-1510774
-Ref: Gory Details-Footnote-2510825
-Node: I/O Functions510976
-Ref: I/O Functions-Footnote-1518099
-Node: Time Functions518246
-Ref: Time Functions-Footnote-1528710
-Ref: Time Functions-Footnote-2528778
-Ref: Time Functions-Footnote-3528936
-Ref: Time Functions-Footnote-4529047
-Ref: Time Functions-Footnote-5529159
-Ref: Time Functions-Footnote-6529386
-Node: Bitwise Functions529652
-Ref: table-bitwise-ops530214
-Ref: Bitwise Functions-Footnote-1534459
-Node: Type Functions534643
-Node: I18N Functions535785
-Node: User-defined537430
-Node: Definition Syntax538234
-Ref: Definition Syntax-Footnote-1543149
-Node: Function Example543218
-Ref: Function Example-Footnote-1545862
-Node: Function Caveats545884
-Node: Calling A Function546402
-Node: Variable Scope547357
-Node: Pass By Value/Reference550345
-Node: Return Statement553853
-Node: Dynamic Typing556835
-Node: Indirect Calls557764
-Node: Library Functions567451
-Ref: Library Functions-Footnote-1570964
-Ref: Library Functions-Footnote-2571107
-Node: Library Names571278
-Ref: Library Names-Footnote-1574751
-Ref: Library Names-Footnote-2574971
-Node: General Functions575057
-Node: Strtonum Function576085
-Node: Assert Function579015
-Node: Round Function582341
-Node: Cliff Random Function583882
-Node: Ordinal Functions584898
-Ref: Ordinal Functions-Footnote-1587975
-Ref: Ordinal Functions-Footnote-2588227
-Node: Join Function588438
-Ref: Join Function-Footnote-1590209
-Node: Getlocaltime Function590409
-Node: Readfile Function594150
-Node: Data File Management595989
-Node: Filetrans Function596621
-Node: Rewind Function600690
-Node: File Checking602077
-Node: Empty Files603171
-Node: Ignoring Assigns605401
-Node: Getopt Function606955
-Ref: Getopt Function-Footnote-1618258
-Node: Passwd Functions618461
-Ref: Passwd Functions-Footnote-1627439
-Node: Group Functions627527
-Node: Walking Arrays635611
-Node: Sample Programs637747
-Node: Running Examples638421
-Node: Clones639149
-Node: Cut Program640373
-Node: Egrep Program650224
-Ref: Egrep Program-Footnote-1657997
-Node: Id Program658107
-Node: Split Program661756
-Ref: Split Program-Footnote-1665275
-Node: Tee Program665403
-Node: Uniq Program668206
-Node: Wc Program675635
-Ref: Wc Program-Footnote-1679901
-Ref: Wc Program-Footnote-2680101
-Node: Miscellaneous Programs680193
-Node: Dupword Program681381
-Node: Alarm Program683412
-Node: Translate Program688219
-Ref: Translate Program-Footnote-1692606
-Ref: Translate Program-Footnote-2692854
-Node: Labels Program692988
-Ref: Labels Program-Footnote-1696359
-Node: Word Sorting696443
-Node: History Sorting700327
-Node: Extract Program702166
-Ref: Extract Program-Footnote-1709669
-Node: Simple Sed709797
-Node: Igawk Program712859
-Ref: Igawk Program-Footnote-1728030
-Ref: Igawk Program-Footnote-2728231
-Node: Anagram Program728369
-Node: Signature Program731437
-Node: Advanced Features732537
-Node: Nondecimal Data734423
-Node: Array Sorting736006
-Node: Controlling Array Traversal736703
-Node: Array Sorting Functions744987
-Ref: Array Sorting Functions-Footnote-1748856
-Node: Two-way I/O749050
-Ref: Two-way I/O-Footnote-1754482
-Node: TCP/IP Networking754564
-Node: Profiling757408
-Node: Internationalization764911
-Node: I18N and L10N766336
-Node: Explaining gettext767022
-Ref: Explaining gettext-Footnote-1772090
-Ref: Explaining gettext-Footnote-2772274
-Node: Programmer i18n772439
-Node: Translator i18n776666
-Node: String Extraction777460
-Ref: String Extraction-Footnote-1778421
-Node: Printf Ordering778507
-Ref: Printf Ordering-Footnote-1781289
-Node: I18N Portability781353
-Ref: I18N Portability-Footnote-1783802
-Node: I18N Example783865
-Ref: I18N Example-Footnote-1786503
-Node: Gawk I18N786575
-Node: Debugger787196
-Node: Debugging788167
-Node: Debugging Concepts788600
-Node: Debugging Terms790456
-Node: Awk Debugging793053
-Node: Sample Debugging Session793945
-Node: Debugger Invocation794465
-Node: Finding The Bug795798
-Node: List of Debugger Commands802285
-Node: Breakpoint Control803619
-Node: Debugger Execution Control807283
-Node: Viewing And Changing Data810643
-Node: Execution Stack813999
-Node: Debugger Info815466
-Node: Miscellaneous Debugger Commands819460
-Node: Readline Support824638
-Node: Limitations825469
-Node: Arbitrary Precision Arithmetic827721
-Ref: Arbitrary Precision Arithmetic-Footnote-1829370
-Node: General Arithmetic829518
-Node: Floating Point Issues831238
-Node: String Conversion Precision832119
-Ref: String Conversion Precision-Footnote-1833824
-Node: Unexpected Results833933
-Node: POSIX Floating Point Problems836086
-Ref: POSIX Floating Point Problems-Footnote-1839911
-Node: Integer Programming839949
-Node: Floating-point Programming841688
-Ref: Floating-point Programming-Footnote-1848019
-Ref: Floating-point Programming-Footnote-2848289
-Node: Floating-point Representation848553
-Node: Floating-point Context849718
-Ref: table-ieee-formats850557
-Node: Rounding Mode851941
-Ref: table-rounding-modes852420
-Ref: Rounding Mode-Footnote-1855435
-Node: Gawk and MPFR855614
-Node: Arbitrary Precision Floats857023
-Ref: Arbitrary Precision Floats-Footnote-1859466
-Node: Setting Precision859782
-Ref: table-predefined-precision-strings860468
-Node: Setting Rounding Mode862613
-Ref: table-gawk-rounding-modes863017
-Node: Floating-point Constants864204
-Node: Changing Precision865633
-Ref: Changing Precision-Footnote-1867030
-Node: Exact Arithmetic867204
-Node: Arbitrary Precision Integers870342
-Ref: Arbitrary Precision Integers-Footnote-1873357
-Node: Dynamic Extensions873504
-Node: Extension Intro874962
-Node: Plugin License876227
-Node: Extension Mechanism Outline876912
-Ref: load-extension877329
-Ref: load-new-function878807
-Ref: call-new-function879802
-Node: Extension API Description881817
-Node: Extension API Functions Introduction883104
-Node: General Data Types888031
-Ref: General Data Types-Footnote-1893726
-Node: Requesting Values894025
-Ref: table-value-types-returned894762
-Node: Memory Allocation Functions895716
-Ref: Memory Allocation Functions-Footnote-1898462
-Node: Constructor Functions898558
-Node: Registration Functions900316
-Node: Extension Functions901001
-Node: Exit Callback Functions903303
-Node: Extension Version String904552
-Node: Input Parsers905202
-Node: Output Wrappers914959
-Node: Two-way processors919469
-Node: Printing Messages921677
-Ref: Printing Messages-Footnote-1922754
-Node: Updating `ERRNO'922906
-Node: Accessing Parameters923645
-Node: Symbol Table Access924875
-Node: Symbol table by name925389
-Node: Symbol table by cookie927365
-Ref: Symbol table by cookie-Footnote-1931497
-Node: Cached values931560
-Ref: Cached values-Footnote-1935050
-Node: Array Manipulation935141
-Ref: Array Manipulation-Footnote-1936239
-Node: Array Data Types936278
-Ref: Array Data Types-Footnote-1938981
-Node: Array Functions939073
-Node: Flattening Arrays942909
-Node: Creating Arrays949761
-Node: Extension API Variables954486
-Node: Extension Versioning955122
-Node: Extension API Informational Variables957023
-Node: Extension API Boilerplate958109
-Node: Finding Extensions961913
-Node: Extension Example962473
-Node: Internal File Description963203
-Node: Internal File Ops967294
-Ref: Internal File Ops-Footnote-1978803
-Node: Using Internal File Ops978943
-Ref: Using Internal File Ops-Footnote-1981290
-Node: Extension Samples981556
-Node: Extension Sample File Functions983080
-Node: Extension Sample Fnmatch991567
-Node: Extension Sample Fork993336
-Node: Extension Sample Inplace994549
-Node: Extension Sample Ord996327
-Node: Extension Sample Readdir997163
-Node: Extension Sample Revout998695
-Node: Extension Sample Rev2way999288
-Node: Extension Sample Read write array999978
-Node: Extension Sample Readfile1001861
-Node: Extension Sample API Tests1002961
-Node: Extension Sample Time1003486
-Node: gawkextlib1004850
-Node: Language History1007631
-Node: V7/SVR3.11009224
-Node: SVR41011544
-Node: POSIX1012986
-Node: BTL1014372
-Node: POSIX/GNU1015106
-Node: Feature History1020705
-Node: Common Extensions1033681
-Node: Ranges and Locales1034993
-Ref: Ranges and Locales-Footnote-11039610
-Ref: Ranges and Locales-Footnote-21039637
-Ref: Ranges and Locales-Footnote-31039871
-Node: Contributors1040092
-Node: Installation1045473
-Node: Gawk Distribution1046367
-Node: Getting1046851
-Node: Extracting1047677
-Node: Distribution contents1049369
-Node: Unix Installation1055090
-Node: Quick Installation1055707
-Node: Additional Configuration Options1058153
-Node: Configuration Philosophy1059889
-Node: Non-Unix Installation1062243
-Node: PC Installation1062701
-Node: PC Binary Installation1064000
-Node: PC Compiling1065848
-Node: PC Testing1068792
-Node: PC Using1069968
-Node: Cygwin1074136
-Node: MSYS1074945
-Node: VMS Installation1075459
-Node: VMS Compilation1076255
-Ref: VMS Compilation-Footnote-11077507
-Node: VMS Dynamic Extensions1077565
-Node: VMS Installation Details1078938
-Node: VMS Running1081189
-Node: VMS GNV1084023
-Node: VMS Old Gawk1084746
-Node: Bugs1085216
-Node: Other Versions1089134
-Node: Notes1095218
-Node: Compatibility Mode1096018
-Node: Additions1096801
-Node: Accessing The Source1097728
-Node: Adding Code1099168
-Node: New Ports1105213
-Node: Derived Files1109348
-Ref: Derived Files-Footnote-11114669
-Ref: Derived Files-Footnote-21114703
-Ref: Derived Files-Footnote-31115303
-Node: Future Extensions1115401
-Node: Implementation Limitations1115984
-Node: Extension Design1117232
-Node: Old Extension Problems1118386
-Ref: Old Extension Problems-Footnote-11119894
-Node: Extension New Mechanism Goals1119951
-Ref: Extension New Mechanism Goals-Footnote-11123316
-Node: Extension Other Design Decisions1123502
-Node: Extension Future Growth1125608
-Node: Old Extension Mechanism1126444
-Node: Basic Concepts1128184
-Node: Basic High Level1128865
-Ref: figure-general-flow1129137
-Ref: figure-process-flow1129736
-Ref: Basic High Level-Footnote-11132965
-Node: Basic Data Typing1133150
-Node: Glossary1136505
-Node: Copying1161736
-Node: GNU Free Documentation License1199292
-Node: Index1224428
+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-1430706
+Ref: Auto-set-Footnote-2430911
+Node: ARGC and ARGV430967
+Node: Arrays434821
+Node: Array Basics436319
+Node: Array Intro437145
+Ref: figure-array-elements439118
+Node: Reference to Elements441525
+Node: Assigning Elements443798
+Node: Array Example444289
+Node: Scanning an Array446021
+Node: Controlling Scanning449036
+Ref: Controlling Scanning-Footnote-1454209
+Node: Delete454525
+Ref: Delete-Footnote-1457290
+Node: Numeric Array Subscripts457347
+Node: Uninitialized Subscripts459530
+Node: Multidimensional461155
+Node: Multiscanning464248
+Node: Arrays of Arrays465837
+Node: Functions470477
+Node: Built-in471296
+Node: Calling Built-in472374
+Node: Numeric Functions474362
+Ref: Numeric Functions-Footnote-1478196
+Ref: Numeric Functions-Footnote-2478553
+Ref: Numeric Functions-Footnote-3478601
+Node: String Functions478870
+Ref: String Functions-Footnote-1501881
+Ref: String Functions-Footnote-2502010
+Ref: String Functions-Footnote-3502258
+Node: Gory Details502345
+Ref: table-sub-escapes504014
+Ref: table-sub-posix-92505368
+Ref: table-sub-proposed506719
+Ref: table-posix-sub508073
+Ref: table-gensub-escapes509618
+Ref: Gory Details-Footnote-1510794
+Ref: Gory Details-Footnote-2510845
+Node: I/O Functions510996
+Ref: I/O Functions-Footnote-1518119
+Node: Time Functions518266
+Ref: Time Functions-Footnote-1528730
+Ref: Time Functions-Footnote-2528798
+Ref: Time Functions-Footnote-3528956
+Ref: Time Functions-Footnote-4529067
+Ref: Time Functions-Footnote-5529179
+Ref: Time Functions-Footnote-6529406
+Node: Bitwise Functions529672
+Ref: table-bitwise-ops530234
+Ref: Bitwise Functions-Footnote-1534479
+Node: Type Functions534663
+Node: I18N Functions535805
+Node: User-defined537450
+Node: Definition Syntax538254
+Ref: Definition Syntax-Footnote-1543169
+Node: Function Example543238
+Ref: Function Example-Footnote-1545882
+Node: Function Caveats545904
+Node: Calling A Function546422
+Node: Variable Scope547377
+Node: Pass By Value/Reference550365
+Node: Return Statement553873
+Node: Dynamic Typing556855
+Node: Indirect Calls557784
+Node: Library Functions567471
+Ref: Library Functions-Footnote-1570984
+Ref: Library Functions-Footnote-2571127
+Node: Library Names571298
+Ref: Library Names-Footnote-1574771
+Ref: Library Names-Footnote-2574991
+Node: General Functions575077
+Node: Strtonum Function576105
+Node: Assert Function579035
+Node: Round Function582361
+Node: Cliff Random Function583902
+Node: Ordinal Functions584918
+Ref: Ordinal Functions-Footnote-1587995
+Ref: Ordinal Functions-Footnote-2588247
+Node: Join Function588458
+Ref: Join Function-Footnote-1590229
+Node: Getlocaltime Function590429
+Node: Readfile Function594170
+Node: Data File Management596009
+Node: Filetrans Function596641
+Node: Rewind Function600710
+Node: File Checking602097
+Node: Empty Files603191
+Node: Ignoring Assigns605421
+Node: Getopt Function606975
+Ref: Getopt Function-Footnote-1618278
+Node: Passwd Functions618481
+Ref: Passwd Functions-Footnote-1627459
+Node: Group Functions627547
+Node: Walking Arrays635631
+Node: Sample Programs637767
+Node: Running Examples638441
+Node: Clones639169
+Node: Cut Program640393
+Node: Egrep Program650244
+Ref: Egrep Program-Footnote-1658017
+Node: Id Program658127
+Node: Split Program661776
+Ref: Split Program-Footnote-1665295
+Node: Tee Program665423
+Node: Uniq Program668226
+Node: Wc Program675655
+Ref: Wc Program-Footnote-1679921
+Ref: Wc Program-Footnote-2680121
+Node: Miscellaneous Programs680213
+Node: Dupword Program681401
+Node: Alarm Program683432
+Node: Translate Program688239
+Ref: Translate Program-Footnote-1692626
+Ref: Translate Program-Footnote-2692874
+Node: Labels Program693008
+Ref: Labels Program-Footnote-1696379
+Node: Word Sorting696463
+Node: History Sorting700347
+Node: Extract Program702186
+Ref: Extract Program-Footnote-1709689
+Node: Simple Sed709817
+Node: Igawk Program712879
+Ref: Igawk Program-Footnote-1728050
+Ref: Igawk Program-Footnote-2728251
+Node: Anagram Program728389
+Node: Signature Program731457
+Node: Advanced Features732557
+Node: Nondecimal Data734443
+Node: Array Sorting736026
+Node: Controlling Array Traversal736723
+Node: Array Sorting Functions745007
+Ref: Array Sorting Functions-Footnote-1748876
+Node: Two-way I/O749070
+Ref: Two-way I/O-Footnote-1754502
+Node: TCP/IP Networking754584
+Node: Profiling757428
+Node: Internationalization764931
+Node: I18N and L10N766356
+Node: Explaining gettext767042
+Ref: Explaining gettext-Footnote-1772110
+Ref: Explaining gettext-Footnote-2772294
+Node: Programmer i18n772459
+Node: Translator i18n776686
+Node: String Extraction777480
+Ref: String Extraction-Footnote-1778441
+Node: Printf Ordering778527
+Ref: Printf Ordering-Footnote-1781309
+Node: I18N Portability781373
+Ref: I18N Portability-Footnote-1783822
+Node: I18N Example783885
+Ref: I18N Example-Footnote-1786523
+Node: Gawk I18N786595
+Node: Debugger787216
+Node: Debugging788187
+Node: Debugging Concepts788620
+Node: Debugging Terms790476
+Node: Awk Debugging793073
+Node: Sample Debugging Session793965
+Node: Debugger Invocation794485
+Node: Finding The Bug795818
+Node: List of Debugger Commands802305
+Node: Breakpoint Control803639
+Node: Debugger Execution Control807303
+Node: Viewing And Changing Data810663
+Node: Execution Stack814019
+Node: Debugger Info815486
+Node: Miscellaneous Debugger Commands819480
+Node: Readline Support824658
+Node: Limitations825489
+Node: Arbitrary Precision Arithmetic827741
+Ref: Arbitrary Precision Arithmetic-Footnote-1829390
+Node: General Arithmetic829538
+Node: Floating Point Issues831258
+Node: String Conversion Precision832139
+Ref: String Conversion Precision-Footnote-1833844
+Node: Unexpected Results833953
+Node: POSIX Floating Point Problems836106
+Ref: POSIX Floating Point Problems-Footnote-1839931
+Node: Integer Programming839969
+Node: Floating-point Programming841708
+Ref: Floating-point Programming-Footnote-1848039
+Ref: Floating-point Programming-Footnote-2848309
+Node: Floating-point Representation848573
+Node: Floating-point Context849738
+Ref: table-ieee-formats850577
+Node: Rounding Mode851961
+Ref: table-rounding-modes852440
+Ref: Rounding Mode-Footnote-1855455
+Node: Gawk and MPFR855634
+Node: Arbitrary Precision Floats857043
+Ref: Arbitrary Precision Floats-Footnote-1859486
+Node: Setting Precision859802
+Ref: table-predefined-precision-strings860488
+Node: Setting Rounding Mode862633
+Ref: table-gawk-rounding-modes863037
+Node: Floating-point Constants864224
+Node: Changing Precision865653
+Ref: Changing Precision-Footnote-1867050
+Node: Exact Arithmetic867224
+Node: Arbitrary Precision Integers870362
+Ref: Arbitrary Precision Integers-Footnote-1873377
+Node: Dynamic Extensions873524
+Node: Extension Intro874982
+Node: Plugin License876247
+Node: Extension Mechanism Outline876932
+Ref: load-extension877349
+Ref: load-new-function878827
+Ref: call-new-function879822
+Node: Extension API Description881837
+Node: Extension API Functions Introduction883124
+Node: General Data Types888051
+Ref: General Data Types-Footnote-1893746
+Node: Requesting Values894045
+Ref: table-value-types-returned894782
+Node: Memory Allocation Functions895736
+Ref: Memory Allocation Functions-Footnote-1898482
+Node: Constructor Functions898578
+Node: Registration Functions900336
+Node: Extension Functions901021
+Node: Exit Callback Functions903323
+Node: Extension Version String904572
+Node: Input Parsers905222
+Node: Output Wrappers914979
+Node: Two-way processors919489
+Node: Printing Messages921697
+Ref: Printing Messages-Footnote-1922774
+Node: Updating `ERRNO'922926
+Node: Accessing Parameters923665
+Node: Symbol Table Access924895
+Node: Symbol table by name925409
+Node: Symbol table by cookie927385
+Ref: Symbol table by cookie-Footnote-1931517
+Node: Cached values931580
+Ref: Cached values-Footnote-1935070
+Node: Array Manipulation935161
+Ref: Array Manipulation-Footnote-1936259
+Node: Array Data Types936298
+Ref: Array Data Types-Footnote-1939001
+Node: Array Functions939093
+Node: Flattening Arrays942929
+Node: Creating Arrays949781
+Node: Extension API Variables954506
+Node: Extension Versioning955142
+Node: Extension API Informational Variables957043
+Node: Extension API Boilerplate958129
+Node: Finding Extensions961933
+Node: Extension Example962493
+Node: Internal File Description963223
+Node: Internal File Ops967314
+Ref: Internal File Ops-Footnote-1978823
+Node: Using Internal File Ops978963
+Ref: Using Internal File Ops-Footnote-1981310
+Node: Extension Samples981576
+Node: Extension Sample File Functions983100
+Node: Extension Sample Fnmatch991587
+Node: Extension Sample Fork993356
+Node: Extension Sample Inplace994569
+Node: Extension Sample Ord996347
+Node: Extension Sample Readdir997183
+Node: Extension Sample Revout998715
+Node: Extension Sample Rev2way999308
+Node: Extension Sample Read write array999998
+Node: Extension Sample Readfile1001881
+Node: Extension Sample API Tests1002981
+Node: Extension Sample Time1003506
+Node: gawkextlib1004870
+Node: Language History1007651
+Node: V7/SVR3.11009244
+Node: SVR41011564
+Node: POSIX1013006
+Node: BTL1014392
+Node: POSIX/GNU1015126
+Node: Feature History1020725
+Node: Common Extensions1033701
+Node: Ranges and Locales1035013
+Ref: Ranges and Locales-Footnote-11039630
+Ref: Ranges and Locales-Footnote-21039657
+Ref: Ranges and Locales-Footnote-31039891
+Node: Contributors1040112
+Node: Installation1045493
+Node: Gawk Distribution1046387
+Node: Getting1046871
+Node: Extracting1047697
+Node: Distribution contents1049389
+Node: Unix Installation1055110
+Node: Quick Installation1055727
+Node: Additional Configuration Options1058173
+Node: Configuration Philosophy1059909
+Node: Non-Unix Installation1062263
+Node: PC Installation1062721
+Node: PC Binary Installation1064032
+Node: PC Compiling1065880
+Node: PC Testing1068840
+Node: PC Using1070016
+Node: Cygwin1074184
+Node: MSYS1074993
+Node: VMS Installation1075507
+Node: VMS Compilation1076303
+Ref: VMS Compilation-Footnote-11077555
+Node: VMS Dynamic Extensions1077613
+Node: VMS Installation Details1078986
+Node: VMS Running1081237
+Node: VMS GNV1084071
+Node: VMS Old Gawk1084794
+Node: Bugs1085264
+Node: Other Versions1089182
+Node: Notes1095266
+Node: Compatibility Mode1096066
+Node: Additions1096849
+Node: Accessing The Source1097776
+Node: Adding Code1099216
+Node: New Ports1105261
+Node: Derived Files1109396
+Ref: Derived Files-Footnote-11114717
+Ref: Derived Files-Footnote-21114751
+Ref: Derived Files-Footnote-31115351
+Node: Future Extensions1115449
+Node: Implementation Limitations1116032
+Node: Extension Design1117280
+Node: Old Extension Problems1118434
+Ref: Old Extension Problems-Footnote-11119942
+Node: Extension New Mechanism Goals1119999
+Ref: Extension New Mechanism Goals-Footnote-11123364
+Node: Extension Other Design Decisions1123550
+Node: Extension Future Growth1125656
+Node: Old Extension Mechanism1126492
+Node: Basic Concepts1128232
+Node: Basic High Level1128913
+Ref: figure-general-flow1129185
+Ref: figure-process-flow1129784
+Ref: Basic High Level-Footnote-11133013
+Node: Basic Data Typing1133198
+Node: Glossary1136553
+Node: Copying1161784
+Node: GNU Free Documentation License1199340
+Node: Index1224476

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index c69be641..10897efd 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}
@@ -17670,8 +17695,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},
@@ -19543,9 +19573,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
@@ -30156,8 +30188,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
@@ -30613,8 +30652,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.
@@ -32492,8 +32534,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;
@@ -35915,7 +35963,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/*
@@ -36146,16 +36197,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.
@@ -36169,6 +36225,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
@@ -36207,13 +36264,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.
@@ -36235,6 +36300,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.
@@ -36308,6 +36374,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
@@ -36319,6 +36386,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
@@ -36331,7 +36399,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
@@ -36343,11 +36411,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
@@ -36360,6 +36429,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
@@ -36377,12 +36448,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:
@@ -36926,6 +37009,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
@@ -37008,8 +37093,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 6e1b9fba..f54748e6 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}
@@ -16843,8 +16868,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},
@@ -18716,9 +18746,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
@@ -29300,8 +29332,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
@@ -29757,8 +29796,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.
@@ -31636,8 +31678,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;
@@ -35059,7 +35107,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/*
@@ -35290,16 +35341,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.
@@ -35313,6 +35369,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
@@ -35351,13 +35408,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.
@@ -35379,6 +35444,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.
@@ -35452,6 +35518,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
@@ -35463,6 +35530,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
@@ -35475,7 +35543,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
@@ -35487,11 +35555,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
@@ -35504,6 +35573,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
@@ -35521,12 +35592,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:
@@ -36070,6 +36153,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
@@ -36152,8 +36237,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