aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info1122
-rw-r--r--doc/gawk.texi44
-rw-r--r--doc/gawktexi.in44
4 files changed, 644 insertions, 570 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 681f3d86..38b66d50 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2014-08-25 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Exercises are excluded from print edition.
+
2014-08-24 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Continuing on reviewer comments.
diff --git a/doc/gawk.info b/doc/gawk.info
index 73844d92..b1a3cbdb 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -219,6 +219,7 @@ entitled "GNU Free Documentation License".
* Command-line directories:: What happens if you put a directory on
the command line.
* Input Summary:: Input summary.
+
* Input Exercises:: Exercises.
* Print:: The `print' statement.
* Print Examples:: Simple examples of `print'
@@ -244,7 +245,8 @@ entitled "GNU Free Documentation License".
* Close Files And Pipes:: Closing Input and Output Files and
Pipes.
* Output Summary:: Output summary.
-* Output exercises:: Exercises.
+
+* Output Exercises:: Exercises.
* Values:: Constants, Variables, and Regular
Expressions.
* Constants:: String, numeric and regexp constants.
@@ -431,7 +433,8 @@ entitled "GNU Free Documentation License".
information.
* Walking Arrays:: A function to walk arrays of arrays.
* Library Functions Summary:: Summary of library functions.
-* Library exercises:: Exercises.
+
+* Library Exercises:: Exercises.
* Running Examples:: How to run these examples.
* Clones:: Clones of common utilities.
* Cut Program:: The `cut' utility.
@@ -462,6 +465,7 @@ entitled "GNU Free Documentation License".
* Signature Program:: People do amazing things with too much
time on their hands.
* Programs Summary:: Summary of programs.
+
* Programs Exercises:: Exercises.
* Nondecimal Data:: Allowing nondecimal input data.
* Array Sorting:: Facilities for controlling array
@@ -584,6 +588,7 @@ entitled "GNU Free Documentation License".
and `sleep()'.
* gawkextlib:: The `gawkextlib' project.
* Extension summary:: Extension summary.
+
* Extension Exercises:: Exercises.
* V7/SVR3.1:: The major changes between V7 and
System V Release 3.1.
@@ -4074,6 +4079,7 @@ have to be named on the `awk' command line (*note Getline::).
* Command-line directories:: What happens if you put a directory on the
command line.
* Input Summary:: Input summary.
+
* Input Exercises:: Exercises.

@@ -6014,7 +6020,8 @@ function.
descriptors.
* Close Files And Pipes:: Closing Input and Output Files and Pipes.
* Output Summary:: Output summary.
-* Output exercises:: Exercises.
+
+* Output Exercises:: Exercises.

File: gawk.info, Node: Print, Next: Print Examples, Up: Printing
@@ -7076,7 +7083,7 @@ call. See the system manual pages for information on how to decode this
value.

-File: gawk.info, Node: Output Summary, Next: Output exercises, Prev: Close Files And Pipes, Up: Printing
+File: gawk.info, Node: Output Summary, Next: Output Exercises, Prev: Close Files And Pipes, Up: Printing
5.9 Summary
===========
@@ -7102,7 +7109,7 @@ File: gawk.info, Node: Output Summary, Next: Output exercises, Prev: Close Fi

-File: gawk.info, Node: Output exercises, Prev: Output Summary, Up: Printing
+File: gawk.info, Node: Output Exercises, Prev: Output Summary, Up: Printing
5.10 Exercises
==============
@@ -13271,7 +13278,7 @@ File: gawk.info, Node: Definition Syntax, Next: Function Example, Up: User-de
--------------------------------
It's entirely fair to say that the `awk' syntax for local variable
- definitions is appallingly awful -- Brian Kernighan
+ definitions is appallingly awful. -- Brian Kernighan
Definitions of functions can appear anywhere between the rules of an
`awk' program. Thus, the general form of an `awk' program is extended
@@ -14261,7 +14268,8 @@ for different implementations of `awk' is pretty straightforward.
* Group Functions:: Functions for getting group information.
* Walking Arrays:: A function to walk arrays of arrays.
* Library Functions Summary:: Summary of library functions.
-* Library exercises:: Exercises.
+
+* Library Exercises:: Exercises.
---------- Footnotes ----------
@@ -16016,7 +16024,7 @@ value. Here is a main program to demonstrate:
-| a[3] = 3

-File: gawk.info, Node: Library Functions Summary, Next: Library exercises, Prev: Walking Arrays, Up: Library Functions
+File: gawk.info, Node: Library Functions Summary, Next: Library Exercises, Prev: Walking Arrays, Up: Library Functions
10.8 Summary
============
@@ -16053,7 +16061,7 @@ File: gawk.info, Node: Library Functions Summary, Next: Library exercises, Pr

-File: gawk.info, Node: Library exercises, Prev: Library Functions Summary, Up: Library Functions
+File: gawk.info, Node: Library Exercises, Prev: Library Functions Summary, Up: Library Functions
10.9 Exercises
==============
@@ -16103,6 +16111,7 @@ Library Functions::.
* Clones:: Clones of common utilities.
* Miscellaneous Programs:: Some interesting `awk' programs.
* Programs Summary:: Summary of programs.
+
* Programs Exercises:: Exercises.

@@ -22328,6 +22337,7 @@ sample extensions are automatically built and installed when `gawk' is.
`gawk'.
* gawkextlib:: The `gawkextlib' project.
* Extension summary:: Extension summary.
+
* Extension Exercises:: Exercises.

@@ -34017,552 +34027,552 @@ Index

Tag Table:
Node: Top1204
-Node: Foreword41858
-Node: Preface46203
-Ref: Preface-Footnote-149226
-Ref: Preface-Footnote-249333
-Node: History49565
-Node: Names51939
-Ref: Names-Footnote-153033
-Node: This Manual53179
-Ref: This Manual-Footnote-158958
-Node: Conventions59058
-Node: Manual History61403
-Ref: Manual History-Footnote-164479
-Ref: Manual History-Footnote-264520
-Node: How To Contribute64594
-Node: Acknowledgments65833
-Node: Getting Started70581
-Node: Running gawk73015
-Node: One-shot74205
-Node: Read Terminal75430
-Ref: Read Terminal-Footnote-177393
-Node: Long77564
-Node: Executable Scripts78958
-Ref: Executable Scripts-Footnote-181759
-Node: Comments81861
-Node: Quoting84334
-Node: DOS Quoting89647
-Node: Sample Data Files90322
-Node: Very Simple92929
-Node: Two Rules97688
-Node: More Complex99582
-Ref: More Complex-Footnote-1102514
-Node: Statements/Lines102599
-Ref: Statements/Lines-Footnote-1107055
-Node: Other Features107320
-Node: When108248
-Ref: When-Footnote-1110004
-Node: Intro Summary110069
-Node: Invoking Gawk110952
-Node: Command Line112467
-Node: Options113258
-Ref: Options-Footnote-1128905
-Node: Other Arguments128930
-Node: Naming Standard Input131592
-Node: Environment Variables132685
-Node: AWKPATH Variable133243
-Ref: AWKPATH Variable-Footnote-1136109
-Ref: AWKPATH Variable-Footnote-2136154
-Node: AWKLIBPATH Variable136414
-Node: Other Environment Variables137173
-Node: Exit Status140625
-Node: Include Files141300
-Node: Loading Shared Libraries144878
-Node: Obsolete146262
-Node: Undocumented146959
-Node: Invoking Summary147226
-Node: Regexp148826
-Node: Regexp Usage150285
-Node: Escape Sequences152318
-Node: Regexp Operators158218
-Ref: Regexp Operators-Footnote-1165649
-Ref: Regexp Operators-Footnote-2165796
-Node: Bracket Expressions165894
-Ref: table-char-classes167916
-Node: GNU Regexp Operators170856
-Node: Case-sensitivity174565
-Ref: Case-sensitivity-Footnote-1177457
-Ref: Case-sensitivity-Footnote-2177692
-Node: Leftmost Longest177800
-Node: Computed Regexps179001
-Node: Regexp Summary182373
-Node: Reading Files183842
-Node: Records185934
-Node: awk split records186656
-Node: gawk split records191514
-Ref: gawk split records-Footnote-1196035
-Node: Fields196072
-Ref: Fields-Footnote-1199036
-Node: Nonconstant Fields199122
-Ref: Nonconstant Fields-Footnote-1201352
-Node: Changing Fields201554
-Node: Field Separators207508
-Node: Default Field Splitting210210
-Node: Regexp Field Splitting211327
-Node: Single Character Fields214654
-Node: Command Line Field Separator215713
-Node: Full Line Fields219139
-Ref: Full Line Fields-Footnote-1219647
-Node: Field Splitting Summary219693
-Ref: Field Splitting Summary-Footnote-1222825
-Node: Constant Size222926
-Node: Splitting By Content227532
-Ref: Splitting By Content-Footnote-1231605
-Node: Multiple Line231645
-Ref: Multiple Line-Footnote-1237501
-Node: Getline237680
-Node: Plain Getline239891
-Node: Getline/Variable241986
-Node: Getline/File243133
-Node: Getline/Variable/File244517
-Ref: Getline/Variable/File-Footnote-1246116
-Node: Getline/Pipe246203
-Node: Getline/Variable/Pipe248889
-Node: Getline/Coprocess249996
-Node: Getline/Variable/Coprocess251248
-Node: Getline Notes251985
-Node: Getline Summary254789
-Ref: table-getline-variants255197
-Node: Read Timeout256109
-Ref: Read Timeout-Footnote-1259936
-Node: Command-line directories259994
-Node: Input Summary260898
-Node: Input Exercises264035
-Node: Printing264768
-Node: Print266490
-Node: Print Examples267983
-Node: Output Separators270762
-Node: OFMT272778
-Node: Printf274136
-Node: Basic Printf275042
-Node: Control Letters276581
-Node: Format Modifiers280572
-Node: Printf Examples286599
-Node: Redirection289063
-Node: Special Files296035
-Node: Special FD296568
-Ref: Special FD-Footnote-1300165
-Node: Special Network300239
-Node: Special Caveats301089
-Node: Close Files And Pipes301885
-Ref: Close Files And Pipes-Footnote-1309046
-Ref: Close Files And Pipes-Footnote-2309194
-Node: Output Summary309344
-Node: Output exercises310341
-Node: Expressions311021
-Node: Values312206
-Node: Constants312882
-Node: Scalar Constants313562
-Ref: Scalar Constants-Footnote-1314421
-Node: Nondecimal-numbers314671
-Node: Regexp Constants317671
-Node: Using Constant Regexps318146
-Node: Variables321218
-Node: Using Variables321873
-Node: Assignment Options323597
-Node: Conversion325472
-Node: Strings And Numbers325996
-Ref: Strings And Numbers-Footnote-1329058
-Node: Locale influences conversions329167
-Ref: table-locale-affects331884
-Node: All Operators332472
-Node: Arithmetic Ops333102
-Node: Concatenation335607
-Ref: Concatenation-Footnote-1338426
-Node: Assignment Ops338532
-Ref: table-assign-ops343515
-Node: Increment Ops344818
-Node: Truth Values and Conditions348256
-Node: Truth Values349339
-Node: Typing and Comparison350388
-Node: Variable Typing351181
-Node: Comparison Operators354833
-Ref: table-relational-ops355243
-Node: POSIX String Comparison358793
-Ref: POSIX String Comparison-Footnote-1359877
-Node: Boolean Ops360015
-Ref: Boolean Ops-Footnote-1364090
-Node: Conditional Exp364181
-Node: Function Calls365908
-Node: Precedence369788
-Node: Locales373457
-Node: Expressions Summary375088
-Node: Patterns and Actions377629
-Node: Pattern Overview378745
-Node: Regexp Patterns380422
-Node: Expression Patterns380965
-Node: Ranges384745
-Node: BEGIN/END387851
-Node: Using BEGIN/END388613
-Ref: Using BEGIN/END-Footnote-1391349
-Node: I/O And BEGIN/END391455
-Node: BEGINFILE/ENDFILE393726
-Node: Empty396657
-Node: Using Shell Variables396974
-Node: Action Overview399257
-Node: Statements401584
-Node: If Statement403432
-Node: While Statement404930
-Node: Do Statement406974
-Node: For Statement408130
-Node: Switch Statement411282
-Node: Break Statement413670
-Node: Continue Statement415711
-Node: Next Statement417536
-Node: Nextfile Statement419926
-Node: Exit Statement422562
-Node: Built-in Variables424966
-Node: User-modified426093
-Ref: User-modified-Footnote-1433782
-Node: Auto-set433844
-Ref: Auto-set-Footnote-1446763
-Ref: Auto-set-Footnote-2446968
-Node: ARGC and ARGV447024
-Node: Pattern Action Summary450928
-Node: Arrays453151
-Node: Array Basics454700
-Node: Array Intro455526
-Ref: figure-array-elements457499
-Ref: Array Intro-Footnote-1460023
-Node: Reference to Elements460151
-Node: Assigning Elements462601
-Node: Array Example463092
-Node: Scanning an Array464824
-Node: Controlling Scanning467825
-Ref: Controlling Scanning-Footnote-1472998
-Node: Delete473314
-Ref: Delete-Footnote-1476065
-Node: Numeric Array Subscripts476122
-Node: Uninitialized Subscripts478305
-Node: Multidimensional479930
-Node: Multiscanning483043
-Node: Arrays of Arrays484632
-Node: Arrays Summary489295
-Node: Functions491400
-Node: Built-in492273
-Node: Calling Built-in493351
-Node: Numeric Functions495339
-Ref: Numeric Functions-Footnote-1500175
-Ref: Numeric Functions-Footnote-2500532
-Ref: Numeric Functions-Footnote-3500580
-Node: String Functions500849
-Ref: String Functions-Footnote-1523846
-Ref: String Functions-Footnote-2523975
-Ref: String Functions-Footnote-3524223
-Node: Gory Details524310
-Ref: table-sub-escapes526083
-Ref: table-sub-proposed527603
-Ref: table-posix-sub528967
-Ref: table-gensub-escapes530507
-Ref: Gory Details-Footnote-1531683
-Node: I/O Functions531834
-Ref: I/O Functions-Footnote-1538944
-Node: Time Functions539091
-Ref: Time Functions-Footnote-1549555
-Ref: Time Functions-Footnote-2549623
-Ref: Time Functions-Footnote-3549781
-Ref: Time Functions-Footnote-4549892
-Ref: Time Functions-Footnote-5550004
-Ref: Time Functions-Footnote-6550231
-Node: Bitwise Functions550497
-Ref: table-bitwise-ops551059
-Ref: Bitwise Functions-Footnote-1555304
-Node: Type Functions555488
-Node: I18N Functions556630
-Node: User-defined558275
-Node: Definition Syntax559079
-Ref: Definition Syntax-Footnote-1564390
-Node: Function Example564459
-Ref: Function Example-Footnote-1567099
-Node: Function Caveats567121
-Node: Calling A Function567639
-Node: Variable Scope568594
-Node: Pass By Value/Reference571582
-Node: Return Statement575092
-Node: Dynamic Typing578076
-Node: Indirect Calls579005
-Node: Functions Summary588718
-Node: Library Functions591257
-Ref: Library Functions-Footnote-1594875
-Ref: Library Functions-Footnote-2595018
-Node: Library Names595189
-Ref: Library Names-Footnote-1598662
-Ref: Library Names-Footnote-2598882
-Node: General Functions598968
-Node: Strtonum Function599996
-Node: Assert Function602776
-Node: Round Function606102
-Node: Cliff Random Function607643
-Node: Ordinal Functions608659
-Ref: Ordinal Functions-Footnote-1611724
-Ref: Ordinal Functions-Footnote-2611976
-Node: Join Function612187
-Ref: Join Function-Footnote-1613958
-Node: Getlocaltime Function614158
-Node: Readfile Function617894
-Node: Data File Management619733
-Node: Filetrans Function620365
-Node: Rewind Function624434
-Node: File Checking625992
-Ref: File Checking-Footnote-1627124
-Node: Empty Files627325
-Node: Ignoring Assigns629304
-Node: Getopt Function630858
-Ref: Getopt Function-Footnote-1642161
-Node: Passwd Functions642364
-Ref: Passwd Functions-Footnote-1651343
-Node: Group Functions651431
-Ref: Group Functions-Footnote-1659362
-Node: Walking Arrays659575
-Node: Library Functions Summary661178
-Node: Library exercises662566
-Node: Sample Programs663846
-Node: Running Examples664616
-Node: Clones665344
-Node: Cut Program666568
-Node: Egrep Program676426
-Ref: Egrep Program-Footnote-1684013
-Node: Id Program684123
-Node: Split Program687777
-Ref: Split Program-Footnote-1691315
-Node: Tee Program691443
-Node: Uniq Program694230
-Node: Wc Program701651
-Ref: Wc Program-Footnote-1705916
-Node: Miscellaneous Programs706008
-Node: Dupword Program707221
-Node: Alarm Program709252
-Node: Translate Program714056
-Ref: Translate Program-Footnote-1718447
-Ref: Translate Program-Footnote-2718717
-Node: Labels Program718851
-Ref: Labels Program-Footnote-1722212
-Node: Word Sorting722296
-Node: History Sorting726339
-Node: Extract Program728175
-Node: Simple Sed735711
-Node: Igawk Program738773
-Ref: Igawk Program-Footnote-1753077
-Ref: Igawk Program-Footnote-2753278
-Node: Anagram Program753416
-Node: Signature Program756484
-Node: Programs Summary757731
-Node: Programs Exercises758946
-Node: Advanced Features762597
-Node: Nondecimal Data764545
-Node: Array Sorting766122
-Node: Controlling Array Traversal766819
-Node: Array Sorting Functions775099
-Ref: Array Sorting Functions-Footnote-1779006
-Node: Two-way I/O779200
-Ref: Two-way I/O-Footnote-1784144
-Ref: Two-way I/O-Footnote-2784323
-Node: TCP/IP Networking784405
-Node: Profiling787250
-Node: Advanced Features Summary794801
-Node: Internationalization796665
-Node: I18N and L10N798145
-Node: Explaining gettext798831
-Ref: Explaining gettext-Footnote-1803857
-Ref: Explaining gettext-Footnote-2804041
-Node: Programmer i18n804206
-Ref: Programmer i18n-Footnote-1809000
-Node: Translator i18n809049
-Node: String Extraction809843
-Ref: String Extraction-Footnote-1810976
-Node: Printf Ordering811062
-Ref: Printf Ordering-Footnote-1813844
-Node: I18N Portability813908
-Ref: I18N Portability-Footnote-1816357
-Node: I18N Example816420
-Ref: I18N Example-Footnote-1819126
-Node: Gawk I18N819198
-Node: I18N Summary819836
-Node: Debugger821175
-Node: Debugging822197
-Node: Debugging Concepts822638
-Node: Debugging Terms824494
-Node: Awk Debugging827091
-Node: Sample Debugging Session827983
-Node: Debugger Invocation828503
-Node: Finding The Bug829836
-Node: List of Debugger Commands836318
-Node: Breakpoint Control837650
-Node: Debugger Execution Control841314
-Node: Viewing And Changing Data844674
-Node: Execution Stack848032
-Node: Debugger Info849545
-Node: Miscellaneous Debugger Commands853539
-Node: Readline Support858723
-Node: Limitations859615
-Node: Debugging Summary861889
-Node: Arbitrary Precision Arithmetic863057
-Node: Computer Arithmetic864544
-Ref: Computer Arithmetic-Footnote-1868931
-Node: Math Definitions868988
-Ref: table-ieee-formats872277
-Ref: Math Definitions-Footnote-1872817
-Node: MPFR features872920
-Node: FP Math Caution874537
-Ref: FP Math Caution-Footnote-1875587
-Node: Inexactness of computations875956
-Node: Inexact representation876904
-Node: Comparing FP Values878259
-Node: Errors accumulate879223
-Node: Getting Accuracy880656
-Node: Try To Round883315
-Node: Setting precision884214
-Ref: table-predefined-precision-strings884896
-Node: Setting the rounding mode886689
-Ref: table-gawk-rounding-modes887053
-Ref: Setting the rounding mode-Footnote-1890507
-Node: Arbitrary Precision Integers890686
-Ref: Arbitrary Precision Integers-Footnote-1894459
-Node: POSIX Floating Point Problems894608
-Ref: POSIX Floating Point Problems-Footnote-1898484
-Node: Floating point summary898522
-Node: Dynamic Extensions900726
-Node: Extension Intro902278
-Node: Plugin License903543
-Node: Extension Mechanism Outline904228
-Ref: figure-load-extension904652
-Ref: figure-load-new-function906137
-Ref: figure-call-new-function907139
-Node: Extension API Description909123
-Node: Extension API Functions Introduction910573
-Node: General Data Types915440
-Ref: General Data Types-Footnote-1921133
-Node: Requesting Values921432
-Ref: table-value-types-returned922169
-Node: Memory Allocation Functions923127
-Ref: Memory Allocation Functions-Footnote-1925874
-Node: Constructor Functions925970
-Node: Registration Functions927728
-Node: Extension Functions928413
-Node: Exit Callback Functions930715
-Node: Extension Version String931963
-Node: Input Parsers932613
-Node: Output Wrappers942427
-Node: Two-way processors946943
-Node: Printing Messages949147
-Ref: Printing Messages-Footnote-1950224
-Node: Updating `ERRNO'950376
-Node: Accessing Parameters951115
-Node: Symbol Table Access952345
-Node: Symbol table by name952859
-Node: Symbol table by cookie954835
-Ref: Symbol table by cookie-Footnote-1958968
-Node: Cached values959031
-Ref: Cached values-Footnote-1962535
-Node: Array Manipulation962626
-Ref: Array Manipulation-Footnote-1963724
-Node: Array Data Types963763
-Ref: Array Data Types-Footnote-1966466
-Node: Array Functions966558
-Node: Flattening Arrays970432
-Node: Creating Arrays977284
-Node: Extension API Variables982015
-Node: Extension Versioning982651
-Node: Extension API Informational Variables984552
-Node: Extension API Boilerplate985638
-Node: Finding Extensions989442
-Node: Extension Example990002
-Node: Internal File Description990732
-Node: Internal File Ops994823
-Ref: Internal File Ops-Footnote-11006255
-Node: Using Internal File Ops1006395
-Ref: Using Internal File Ops-Footnote-11008742
-Node: Extension Samples1009010
-Node: Extension Sample File Functions1010534
-Node: Extension Sample Fnmatch1018102
-Node: Extension Sample Fork1019584
-Node: Extension Sample Inplace1020797
-Node: Extension Sample Ord1022472
-Node: Extension Sample Readdir1023308
-Ref: table-readdir-file-types1024164
-Node: Extension Sample Revout1024963
-Node: Extension Sample Rev2way1025554
-Node: Extension Sample Read write array1026295
-Node: Extension Sample Readfile1028174
-Node: Extension Sample API Tests1029274
-Node: Extension Sample Time1029799
-Node: gawkextlib1031114
-Node: Extension summary1033927
-Node: Extension Exercises1037620
-Node: Language History1038342
-Node: V7/SVR3.11039985
-Node: SVR41042305
-Node: POSIX1043747
-Node: BTL1045133
-Node: POSIX/GNU1045867
-Node: Feature History1051583
-Node: Common Extensions1064674
-Node: Ranges and Locales1065986
-Ref: Ranges and Locales-Footnote-11070603
-Ref: Ranges and Locales-Footnote-21070630
-Ref: Ranges and Locales-Footnote-31070864
-Node: Contributors1071085
-Node: History summary1076510
-Node: Installation1077879
-Node: Gawk Distribution1078830
-Node: Getting1079314
-Node: Extracting1080138
-Node: Distribution contents1081780
-Node: Unix Installation1087550
-Node: Quick Installation1088167
-Node: Additional Configuration Options1090609
-Node: Configuration Philosophy1092347
-Node: Non-Unix Installation1094698
-Node: PC Installation1095156
-Node: PC Binary Installation1096467
-Node: PC Compiling1098315
-Ref: PC Compiling-Footnote-11101314
-Node: PC Testing1101419
-Node: PC Using1102595
-Node: Cygwin1106747
-Node: MSYS1107556
-Node: VMS Installation1108070
-Node: VMS Compilation1108866
-Ref: VMS Compilation-Footnote-11110088
-Node: VMS Dynamic Extensions1110146
-Node: VMS Installation Details1111519
-Node: VMS Running1113771
-Node: VMS GNV1116605
-Node: VMS Old Gawk1117328
-Node: Bugs1117798
-Node: Other Versions1121802
-Node: Installation summary1128029
-Node: Notes1129085
-Node: Compatibility Mode1129950
-Node: Additions1130732
-Node: Accessing The Source1131657
-Node: Adding Code1133093
-Node: New Ports1139271
-Node: Derived Files1143752
-Ref: Derived Files-Footnote-11148833
-Ref: Derived Files-Footnote-21148867
-Ref: Derived Files-Footnote-31149463
-Node: Future Extensions1149577
-Node: Implementation Limitations1150183
-Node: Extension Design1151431
-Node: Old Extension Problems1152585
-Ref: Old Extension Problems-Footnote-11154102
-Node: Extension New Mechanism Goals1154159
-Ref: Extension New Mechanism Goals-Footnote-11157519
-Node: Extension Other Design Decisions1157708
-Node: Extension Future Growth1159814
-Node: Old Extension Mechanism1160650
-Node: Notes summary1162412
-Node: Basic Concepts1163598
-Node: Basic High Level1164279
-Ref: figure-general-flow1164551
-Ref: figure-process-flow1165150
-Ref: Basic High Level-Footnote-11168379
-Node: Basic Data Typing1168564
-Node: Glossary1171892
-Node: Copying1197044
-Node: GNU Free Documentation License1234600
-Node: Index1259736
+Node: Foreword41863
+Node: Preface46208
+Ref: Preface-Footnote-149231
+Ref: Preface-Footnote-249338
+Node: History49570
+Node: Names51944
+Ref: Names-Footnote-153038
+Node: This Manual53184
+Ref: This Manual-Footnote-158963
+Node: Conventions59063
+Node: Manual History61408
+Ref: Manual History-Footnote-164484
+Ref: Manual History-Footnote-264525
+Node: How To Contribute64599
+Node: Acknowledgments65838
+Node: Getting Started70586
+Node: Running gawk73020
+Node: One-shot74210
+Node: Read Terminal75435
+Ref: Read Terminal-Footnote-177398
+Node: Long77569
+Node: Executable Scripts78963
+Ref: Executable Scripts-Footnote-181764
+Node: Comments81866
+Node: Quoting84339
+Node: DOS Quoting89652
+Node: Sample Data Files90327
+Node: Very Simple92934
+Node: Two Rules97693
+Node: More Complex99587
+Ref: More Complex-Footnote-1102519
+Node: Statements/Lines102604
+Ref: Statements/Lines-Footnote-1107060
+Node: Other Features107325
+Node: When108253
+Ref: When-Footnote-1110009
+Node: Intro Summary110074
+Node: Invoking Gawk110957
+Node: Command Line112472
+Node: Options113263
+Ref: Options-Footnote-1128910
+Node: Other Arguments128935
+Node: Naming Standard Input131597
+Node: Environment Variables132690
+Node: AWKPATH Variable133248
+Ref: AWKPATH Variable-Footnote-1136114
+Ref: AWKPATH Variable-Footnote-2136159
+Node: AWKLIBPATH Variable136419
+Node: Other Environment Variables137178
+Node: Exit Status140630
+Node: Include Files141305
+Node: Loading Shared Libraries144883
+Node: Obsolete146267
+Node: Undocumented146964
+Node: Invoking Summary147231
+Node: Regexp148831
+Node: Regexp Usage150290
+Node: Escape Sequences152323
+Node: Regexp Operators158223
+Ref: Regexp Operators-Footnote-1165654
+Ref: Regexp Operators-Footnote-2165801
+Node: Bracket Expressions165899
+Ref: table-char-classes167921
+Node: GNU Regexp Operators170861
+Node: Case-sensitivity174570
+Ref: Case-sensitivity-Footnote-1177462
+Ref: Case-sensitivity-Footnote-2177697
+Node: Leftmost Longest177805
+Node: Computed Regexps179006
+Node: Regexp Summary182378
+Node: Reading Files183847
+Node: Records185940
+Node: awk split records186662
+Node: gawk split records191520
+Ref: gawk split records-Footnote-1196041
+Node: Fields196078
+Ref: Fields-Footnote-1199042
+Node: Nonconstant Fields199128
+Ref: Nonconstant Fields-Footnote-1201358
+Node: Changing Fields201560
+Node: Field Separators207514
+Node: Default Field Splitting210216
+Node: Regexp Field Splitting211333
+Node: Single Character Fields214660
+Node: Command Line Field Separator215719
+Node: Full Line Fields219145
+Ref: Full Line Fields-Footnote-1219653
+Node: Field Splitting Summary219699
+Ref: Field Splitting Summary-Footnote-1222831
+Node: Constant Size222932
+Node: Splitting By Content227538
+Ref: Splitting By Content-Footnote-1231611
+Node: Multiple Line231651
+Ref: Multiple Line-Footnote-1237507
+Node: Getline237686
+Node: Plain Getline239897
+Node: Getline/Variable241992
+Node: Getline/File243139
+Node: Getline/Variable/File244523
+Ref: Getline/Variable/File-Footnote-1246122
+Node: Getline/Pipe246209
+Node: Getline/Variable/Pipe248895
+Node: Getline/Coprocess250002
+Node: Getline/Variable/Coprocess251254
+Node: Getline Notes251991
+Node: Getline Summary254795
+Ref: table-getline-variants255203
+Node: Read Timeout256115
+Ref: Read Timeout-Footnote-1259942
+Node: Command-line directories260000
+Node: Input Summary260904
+Node: Input Exercises264041
+Node: Printing264774
+Node: Print266497
+Node: Print Examples267990
+Node: Output Separators270769
+Node: OFMT272785
+Node: Printf274143
+Node: Basic Printf275049
+Node: Control Letters276588
+Node: Format Modifiers280579
+Node: Printf Examples286606
+Node: Redirection289070
+Node: Special Files296042
+Node: Special FD296575
+Ref: Special FD-Footnote-1300172
+Node: Special Network300246
+Node: Special Caveats301096
+Node: Close Files And Pipes301892
+Ref: Close Files And Pipes-Footnote-1309053
+Ref: Close Files And Pipes-Footnote-2309201
+Node: Output Summary309351
+Node: Output Exercises310348
+Node: Expressions311028
+Node: Values312213
+Node: Constants312889
+Node: Scalar Constants313569
+Ref: Scalar Constants-Footnote-1314428
+Node: Nondecimal-numbers314678
+Node: Regexp Constants317678
+Node: Using Constant Regexps318153
+Node: Variables321225
+Node: Using Variables321880
+Node: Assignment Options323604
+Node: Conversion325479
+Node: Strings And Numbers326003
+Ref: Strings And Numbers-Footnote-1329065
+Node: Locale influences conversions329174
+Ref: table-locale-affects331891
+Node: All Operators332479
+Node: Arithmetic Ops333109
+Node: Concatenation335614
+Ref: Concatenation-Footnote-1338433
+Node: Assignment Ops338539
+Ref: table-assign-ops343522
+Node: Increment Ops344825
+Node: Truth Values and Conditions348263
+Node: Truth Values349346
+Node: Typing and Comparison350395
+Node: Variable Typing351188
+Node: Comparison Operators354840
+Ref: table-relational-ops355250
+Node: POSIX String Comparison358800
+Ref: POSIX String Comparison-Footnote-1359884
+Node: Boolean Ops360022
+Ref: Boolean Ops-Footnote-1364097
+Node: Conditional Exp364188
+Node: Function Calls365915
+Node: Precedence369795
+Node: Locales373464
+Node: Expressions Summary375095
+Node: Patterns and Actions377636
+Node: Pattern Overview378752
+Node: Regexp Patterns380429
+Node: Expression Patterns380972
+Node: Ranges384752
+Node: BEGIN/END387858
+Node: Using BEGIN/END388620
+Ref: Using BEGIN/END-Footnote-1391356
+Node: I/O And BEGIN/END391462
+Node: BEGINFILE/ENDFILE393733
+Node: Empty396664
+Node: Using Shell Variables396981
+Node: Action Overview399264
+Node: Statements401591
+Node: If Statement403439
+Node: While Statement404937
+Node: Do Statement406981
+Node: For Statement408137
+Node: Switch Statement411289
+Node: Break Statement413677
+Node: Continue Statement415718
+Node: Next Statement417543
+Node: Nextfile Statement419933
+Node: Exit Statement422569
+Node: Built-in Variables424973
+Node: User-modified426100
+Ref: User-modified-Footnote-1433789
+Node: Auto-set433851
+Ref: Auto-set-Footnote-1446770
+Ref: Auto-set-Footnote-2446975
+Node: ARGC and ARGV447031
+Node: Pattern Action Summary450935
+Node: Arrays453158
+Node: Array Basics454707
+Node: Array Intro455533
+Ref: figure-array-elements457506
+Ref: Array Intro-Footnote-1460030
+Node: Reference to Elements460158
+Node: Assigning Elements462608
+Node: Array Example463099
+Node: Scanning an Array464831
+Node: Controlling Scanning467832
+Ref: Controlling Scanning-Footnote-1473005
+Node: Delete473321
+Ref: Delete-Footnote-1476072
+Node: Numeric Array Subscripts476129
+Node: Uninitialized Subscripts478312
+Node: Multidimensional479937
+Node: Multiscanning483050
+Node: Arrays of Arrays484639
+Node: Arrays Summary489302
+Node: Functions491407
+Node: Built-in492280
+Node: Calling Built-in493358
+Node: Numeric Functions495346
+Ref: Numeric Functions-Footnote-1500182
+Ref: Numeric Functions-Footnote-2500539
+Ref: Numeric Functions-Footnote-3500587
+Node: String Functions500856
+Ref: String Functions-Footnote-1523853
+Ref: String Functions-Footnote-2523982
+Ref: String Functions-Footnote-3524230
+Node: Gory Details524317
+Ref: table-sub-escapes526090
+Ref: table-sub-proposed527610
+Ref: table-posix-sub528974
+Ref: table-gensub-escapes530514
+Ref: Gory Details-Footnote-1531690
+Node: I/O Functions531841
+Ref: I/O Functions-Footnote-1538951
+Node: Time Functions539098
+Ref: Time Functions-Footnote-1549562
+Ref: Time Functions-Footnote-2549630
+Ref: Time Functions-Footnote-3549788
+Ref: Time Functions-Footnote-4549899
+Ref: Time Functions-Footnote-5550011
+Ref: Time Functions-Footnote-6550238
+Node: Bitwise Functions550504
+Ref: table-bitwise-ops551066
+Ref: Bitwise Functions-Footnote-1555311
+Node: Type Functions555495
+Node: I18N Functions556637
+Node: User-defined558282
+Node: Definition Syntax559086
+Ref: Definition Syntax-Footnote-1564399
+Node: Function Example564468
+Ref: Function Example-Footnote-1567108
+Node: Function Caveats567130
+Node: Calling A Function567648
+Node: Variable Scope568603
+Node: Pass By Value/Reference571591
+Node: Return Statement575101
+Node: Dynamic Typing578085
+Node: Indirect Calls579014
+Node: Functions Summary588727
+Node: Library Functions591266
+Ref: Library Functions-Footnote-1594885
+Ref: Library Functions-Footnote-2595028
+Node: Library Names595199
+Ref: Library Names-Footnote-1598672
+Ref: Library Names-Footnote-2598892
+Node: General Functions598978
+Node: Strtonum Function600006
+Node: Assert Function602786
+Node: Round Function606112
+Node: Cliff Random Function607653
+Node: Ordinal Functions608669
+Ref: Ordinal Functions-Footnote-1611734
+Ref: Ordinal Functions-Footnote-2611986
+Node: Join Function612197
+Ref: Join Function-Footnote-1613968
+Node: Getlocaltime Function614168
+Node: Readfile Function617904
+Node: Data File Management619743
+Node: Filetrans Function620375
+Node: Rewind Function624444
+Node: File Checking626002
+Ref: File Checking-Footnote-1627134
+Node: Empty Files627335
+Node: Ignoring Assigns629314
+Node: Getopt Function630868
+Ref: Getopt Function-Footnote-1642171
+Node: Passwd Functions642374
+Ref: Passwd Functions-Footnote-1651353
+Node: Group Functions651441
+Ref: Group Functions-Footnote-1659372
+Node: Walking Arrays659585
+Node: Library Functions Summary661188
+Node: Library Exercises662576
+Node: Sample Programs663856
+Node: Running Examples664627
+Node: Clones665355
+Node: Cut Program666579
+Node: Egrep Program676437
+Ref: Egrep Program-Footnote-1684024
+Node: Id Program684134
+Node: Split Program687788
+Ref: Split Program-Footnote-1691326
+Node: Tee Program691454
+Node: Uniq Program694241
+Node: Wc Program701662
+Ref: Wc Program-Footnote-1705927
+Node: Miscellaneous Programs706019
+Node: Dupword Program707232
+Node: Alarm Program709263
+Node: Translate Program714067
+Ref: Translate Program-Footnote-1718458
+Ref: Translate Program-Footnote-2718728
+Node: Labels Program718862
+Ref: Labels Program-Footnote-1722223
+Node: Word Sorting722307
+Node: History Sorting726350
+Node: Extract Program728186
+Node: Simple Sed735722
+Node: Igawk Program738784
+Ref: Igawk Program-Footnote-1753088
+Ref: Igawk Program-Footnote-2753289
+Node: Anagram Program753427
+Node: Signature Program756495
+Node: Programs Summary757742
+Node: Programs Exercises758957
+Node: Advanced Features762608
+Node: Nondecimal Data764556
+Node: Array Sorting766133
+Node: Controlling Array Traversal766830
+Node: Array Sorting Functions775110
+Ref: Array Sorting Functions-Footnote-1779017
+Node: Two-way I/O779211
+Ref: Two-way I/O-Footnote-1784155
+Ref: Two-way I/O-Footnote-2784334
+Node: TCP/IP Networking784416
+Node: Profiling787261
+Node: Advanced Features Summary794812
+Node: Internationalization796676
+Node: I18N and L10N798156
+Node: Explaining gettext798842
+Ref: Explaining gettext-Footnote-1803868
+Ref: Explaining gettext-Footnote-2804052
+Node: Programmer i18n804217
+Ref: Programmer i18n-Footnote-1809011
+Node: Translator i18n809060
+Node: String Extraction809854
+Ref: String Extraction-Footnote-1810987
+Node: Printf Ordering811073
+Ref: Printf Ordering-Footnote-1813855
+Node: I18N Portability813919
+Ref: I18N Portability-Footnote-1816368
+Node: I18N Example816431
+Ref: I18N Example-Footnote-1819137
+Node: Gawk I18N819209
+Node: I18N Summary819847
+Node: Debugger821186
+Node: Debugging822208
+Node: Debugging Concepts822649
+Node: Debugging Terms824505
+Node: Awk Debugging827102
+Node: Sample Debugging Session827994
+Node: Debugger Invocation828514
+Node: Finding The Bug829847
+Node: List of Debugger Commands836329
+Node: Breakpoint Control837661
+Node: Debugger Execution Control841325
+Node: Viewing And Changing Data844685
+Node: Execution Stack848043
+Node: Debugger Info849556
+Node: Miscellaneous Debugger Commands853550
+Node: Readline Support858734
+Node: Limitations859626
+Node: Debugging Summary861900
+Node: Arbitrary Precision Arithmetic863068
+Node: Computer Arithmetic864555
+Ref: Computer Arithmetic-Footnote-1868942
+Node: Math Definitions868999
+Ref: table-ieee-formats872288
+Ref: Math Definitions-Footnote-1872828
+Node: MPFR features872931
+Node: FP Math Caution874548
+Ref: FP Math Caution-Footnote-1875598
+Node: Inexactness of computations875967
+Node: Inexact representation876915
+Node: Comparing FP Values878270
+Node: Errors accumulate879234
+Node: Getting Accuracy880667
+Node: Try To Round883326
+Node: Setting precision884225
+Ref: table-predefined-precision-strings884907
+Node: Setting the rounding mode886700
+Ref: table-gawk-rounding-modes887064
+Ref: Setting the rounding mode-Footnote-1890518
+Node: Arbitrary Precision Integers890697
+Ref: Arbitrary Precision Integers-Footnote-1894470
+Node: POSIX Floating Point Problems894619
+Ref: POSIX Floating Point Problems-Footnote-1898495
+Node: Floating point summary898533
+Node: Dynamic Extensions900737
+Node: Extension Intro902290
+Node: Plugin License903555
+Node: Extension Mechanism Outline904240
+Ref: figure-load-extension904664
+Ref: figure-load-new-function906149
+Ref: figure-call-new-function907151
+Node: Extension API Description909135
+Node: Extension API Functions Introduction910585
+Node: General Data Types915452
+Ref: General Data Types-Footnote-1921145
+Node: Requesting Values921444
+Ref: table-value-types-returned922181
+Node: Memory Allocation Functions923139
+Ref: Memory Allocation Functions-Footnote-1925886
+Node: Constructor Functions925982
+Node: Registration Functions927740
+Node: Extension Functions928425
+Node: Exit Callback Functions930727
+Node: Extension Version String931975
+Node: Input Parsers932625
+Node: Output Wrappers942439
+Node: Two-way processors946955
+Node: Printing Messages949159
+Ref: Printing Messages-Footnote-1950236
+Node: Updating `ERRNO'950388
+Node: Accessing Parameters951127
+Node: Symbol Table Access952357
+Node: Symbol table by name952871
+Node: Symbol table by cookie954847
+Ref: Symbol table by cookie-Footnote-1958980
+Node: Cached values959043
+Ref: Cached values-Footnote-1962547
+Node: Array Manipulation962638
+Ref: Array Manipulation-Footnote-1963736
+Node: Array Data Types963775
+Ref: Array Data Types-Footnote-1966478
+Node: Array Functions966570
+Node: Flattening Arrays970444
+Node: Creating Arrays977296
+Node: Extension API Variables982027
+Node: Extension Versioning982663
+Node: Extension API Informational Variables984564
+Node: Extension API Boilerplate985650
+Node: Finding Extensions989454
+Node: Extension Example990014
+Node: Internal File Description990744
+Node: Internal File Ops994835
+Ref: Internal File Ops-Footnote-11006267
+Node: Using Internal File Ops1006407
+Ref: Using Internal File Ops-Footnote-11008754
+Node: Extension Samples1009022
+Node: Extension Sample File Functions1010546
+Node: Extension Sample Fnmatch1018114
+Node: Extension Sample Fork1019596
+Node: Extension Sample Inplace1020809
+Node: Extension Sample Ord1022484
+Node: Extension Sample Readdir1023320
+Ref: table-readdir-file-types1024176
+Node: Extension Sample Revout1024975
+Node: Extension Sample Rev2way1025566
+Node: Extension Sample Read write array1026307
+Node: Extension Sample Readfile1028186
+Node: Extension Sample API Tests1029286
+Node: Extension Sample Time1029811
+Node: gawkextlib1031126
+Node: Extension summary1033939
+Node: Extension Exercises1037632
+Node: Language History1038354
+Node: V7/SVR3.11039997
+Node: SVR41042317
+Node: POSIX1043759
+Node: BTL1045145
+Node: POSIX/GNU1045879
+Node: Feature History1051595
+Node: Common Extensions1064686
+Node: Ranges and Locales1065998
+Ref: Ranges and Locales-Footnote-11070615
+Ref: Ranges and Locales-Footnote-21070642
+Ref: Ranges and Locales-Footnote-31070876
+Node: Contributors1071097
+Node: History summary1076522
+Node: Installation1077891
+Node: Gawk Distribution1078842
+Node: Getting1079326
+Node: Extracting1080150
+Node: Distribution contents1081792
+Node: Unix Installation1087562
+Node: Quick Installation1088179
+Node: Additional Configuration Options1090621
+Node: Configuration Philosophy1092359
+Node: Non-Unix Installation1094710
+Node: PC Installation1095168
+Node: PC Binary Installation1096479
+Node: PC Compiling1098327
+Ref: PC Compiling-Footnote-11101326
+Node: PC Testing1101431
+Node: PC Using1102607
+Node: Cygwin1106759
+Node: MSYS1107568
+Node: VMS Installation1108082
+Node: VMS Compilation1108878
+Ref: VMS Compilation-Footnote-11110100
+Node: VMS Dynamic Extensions1110158
+Node: VMS Installation Details1111531
+Node: VMS Running1113783
+Node: VMS GNV1116617
+Node: VMS Old Gawk1117340
+Node: Bugs1117810
+Node: Other Versions1121814
+Node: Installation summary1128041
+Node: Notes1129097
+Node: Compatibility Mode1129962
+Node: Additions1130744
+Node: Accessing The Source1131669
+Node: Adding Code1133105
+Node: New Ports1139283
+Node: Derived Files1143764
+Ref: Derived Files-Footnote-11148845
+Ref: Derived Files-Footnote-21148879
+Ref: Derived Files-Footnote-31149475
+Node: Future Extensions1149589
+Node: Implementation Limitations1150195
+Node: Extension Design1151443
+Node: Old Extension Problems1152597
+Ref: Old Extension Problems-Footnote-11154114
+Node: Extension New Mechanism Goals1154171
+Ref: Extension New Mechanism Goals-Footnote-11157531
+Node: Extension Other Design Decisions1157720
+Node: Extension Future Growth1159826
+Node: Old Extension Mechanism1160662
+Node: Notes summary1162424
+Node: Basic Concepts1163610
+Node: Basic High Level1164291
+Ref: figure-general-flow1164563
+Ref: figure-process-flow1165162
+Ref: Basic High Level-Footnote-11168391
+Node: Basic Data Typing1168576
+Node: Glossary1171904
+Node: Copying1197056
+Node: GNU Free Documentation License1234612
+Node: Index1259748

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 6182c4c0..1106679a 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -575,7 +575,9 @@ particular records in a file and perform operations upon them.
* Command-line directories:: What happens if you put a directory on
the command line.
* Input Summary:: Input summary.
+@ifclear FOR_PRINT
* Input Exercises:: Exercises.
+@end ifclear
* Print:: The @code{print} statement.
* Print Examples:: Simple examples of @code{print}
statements.
@@ -600,7 +602,9 @@ particular records in a file and perform operations upon them.
* Close Files And Pipes:: Closing Input and Output Files and
Pipes.
* Output Summary:: Output summary.
-* Output exercises:: Exercises.
+@ifclear FOR_PRINT
+* Output Exercises:: Exercises.
+@end ifclear
* Values:: Constants, Variables, and Regular
Expressions.
* Constants:: String, numeric and regexp constants.
@@ -787,7 +791,9 @@ particular records in a file and perform operations upon them.
information.
* Walking Arrays:: A function to walk arrays of arrays.
* Library Functions Summary:: Summary of library functions.
-* Library exercises:: Exercises.
+@ifclear FOR_PRINT
+* Library Exercises:: Exercises.
+@end ifclear
* Running Examples:: How to run these examples.
* Clones:: Clones of common utilities.
* Cut Program:: The @command{cut} utility.
@@ -818,7 +824,9 @@ particular records in a file and perform operations upon them.
* Signature Program:: People do amazing things with too much
time on their hands.
* Programs Summary:: Summary of programs.
+@ifclear FOR_PRINT
* Programs Exercises:: Exercises.
+@end ifclear
* Nondecimal Data:: Allowing nondecimal input data.
* Array Sorting:: Facilities for controlling array
traversal and sorting arrays.
@@ -940,7 +948,9 @@ particular records in a file and perform operations upon them.
and @code{sleep()}.
* gawkextlib:: The @code{gawkextlib} project.
* Extension summary:: Extension summary.
+@ifclear FOR_PRINT
* Extension Exercises:: Exercises.
+@end ifclear
* V7/SVR3.1:: The major changes between V7 and
System V Release 3.1.
* SVR4:: Minor changes between System V
@@ -6118,7 +6128,9 @@ used with it do not have to be named on the @command{awk} command line
* Command-line directories:: What happens if you put a directory on the
command line.
* Input Summary:: Input summary.
+@ifclear FOR_PRINT
* Input Exercises:: Exercises.
+@end ifclear
@end menu
@node Records
@@ -8664,6 +8676,7 @@ Directories on the command line are fatal for standard @command{awk};
@end itemize
+@ifclear FOR_PRINT
@node Input Exercises
@section Exercises
@@ -8683,6 +8696,7 @@ starts later on the same line.
Write a program that does handle multiple comments on the line.
@end enumerate
+@end ifclear
@node Printing
@chapter Printing Output
@@ -8724,7 +8738,9 @@ and discusses the @code{close()} built-in function.
descriptors.
* Close Files And Pipes:: Closing Input and Output Files and Pipes.
* Output Summary:: Output summary.
-* Output exercises:: Exercises.
+@ifclear FOR_PRINT
+* Output Exercises:: Exercises.
+@end ifclear
@end menu
@node Print
@@ -10235,7 +10251,8 @@ communications.
@end itemize
-@node Output exercises
+@ifclear FOR_PRINT
+@node Output Exercises
@section Exercises
@enumerate
@@ -10264,6 +10281,7 @@ BEGIN @{ print "Serious error detected!" > /dev/stderr @}
@end example
@end enumerate
+@end ifclear
@c ENDOFRANGE prnt
@@ -19087,7 +19105,7 @@ them, i.e., to tell @command{awk} what they should do.
@quotation
It's entirely fair to say that the @command{awk} syntax for local
-variable definitions is appallingly awful
+variable definitions is appallingly awful.
@author Brian Kernighan
@end quotation
@@ -20303,7 +20321,9 @@ comparisons use only lowercase letters.
* Group Functions:: Functions for getting group information.
* Walking Arrays:: A function to walk arrays of arrays.
* Library Functions Summary:: Summary of library functions.
-* Library exercises:: Exercises.
+@ifclear FOR_PRINT
+* Library Exercises:: Exercises.
+@end ifclear
@end menu
@node Library Names
@@ -22720,7 +22740,8 @@ A simple function to traverse an array of arrays to any depth.
@end itemize
-@node Library exercises
+@ifclear FOR_PRINT
+@node Library Exercises
@section Exercises
@enumerate
@@ -22786,6 +22807,7 @@ Test your new version by printing the array; you should end up with
output identical to that of the original version.
@end enumerate
+@end ifclear
@c ENDOFRANGE flib
@c ENDOFRANGE fudlib
@@ -22830,7 +22852,9 @@ Many of these programs use library functions presented in
* Clones:: Clones of common utilities.
* Miscellaneous Programs:: Some interesting @command{awk} programs.
* Programs Summary:: Summary of programs.
+@ifclear FOR_PRINT
* Programs Exercises:: Exercises.
+@end ifclear
@end menu
@node Running Examples
@@ -26266,6 +26290,7 @@ mailing labels, and finding anagrams.
@end itemize
+@ifclear FOR_PRINT
@node Programs Exercises
@section Exercises
@@ -26395,6 +26420,7 @@ Modify @file{anagram.awk} (@pxref{Anagram Program}), to avoid
the use of the external @command{sort} utility.
@end enumerate
+@end ifclear
@ifnotinfo
@part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk}
@@ -30836,7 +30862,9 @@ When @option{--sandbox} is specified, extensions are disabled
@code{gawk}.
* gawkextlib:: The @code{gawkextlib} project.
* Extension summary:: Extension summary.
+@ifclear FOR_PRINT
* Extension Exercises:: Exercises.
+@end ifclear
@end menu
@node Extension Intro
@@ -34773,6 +34801,7 @@ should be the place to do so.
@end itemize
+@ifclear FOR_PRINT
@node Extension Exercises
@section Exercises
@@ -34795,6 +34824,7 @@ Write a wrapper script that provides an interface similar to
@ref{Extension Sample Inplace}.
@end enumerate
+@end ifclear
@ifnotinfo
@part @value{PART4}Appendices
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 9534a557..bc547917 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -570,7 +570,9 @@ particular records in a file and perform operations upon them.
* Command-line directories:: What happens if you put a directory on
the command line.
* Input Summary:: Input summary.
+@ifclear FOR_PRINT
* Input Exercises:: Exercises.
+@end ifclear
* Print:: The @code{print} statement.
* Print Examples:: Simple examples of @code{print}
statements.
@@ -595,7 +597,9 @@ particular records in a file and perform operations upon them.
* Close Files And Pipes:: Closing Input and Output Files and
Pipes.
* Output Summary:: Output summary.
-* Output exercises:: Exercises.
+@ifclear FOR_PRINT
+* Output Exercises:: Exercises.
+@end ifclear
* Values:: Constants, Variables, and Regular
Expressions.
* Constants:: String, numeric and regexp constants.
@@ -782,7 +786,9 @@ particular records in a file and perform operations upon them.
information.
* Walking Arrays:: A function to walk arrays of arrays.
* Library Functions Summary:: Summary of library functions.
-* Library exercises:: Exercises.
+@ifclear FOR_PRINT
+* Library Exercises:: Exercises.
+@end ifclear
* Running Examples:: How to run these examples.
* Clones:: Clones of common utilities.
* Cut Program:: The @command{cut} utility.
@@ -813,7 +819,9 @@ particular records in a file and perform operations upon them.
* Signature Program:: People do amazing things with too much
time on their hands.
* Programs Summary:: Summary of programs.
+@ifclear FOR_PRINT
* Programs Exercises:: Exercises.
+@end ifclear
* Nondecimal Data:: Allowing nondecimal input data.
* Array Sorting:: Facilities for controlling array
traversal and sorting arrays.
@@ -935,7 +943,9 @@ particular records in a file and perform operations upon them.
and @code{sleep()}.
* gawkextlib:: The @code{gawkextlib} project.
* Extension summary:: Extension summary.
+@ifclear FOR_PRINT
* Extension Exercises:: Exercises.
+@end ifclear
* V7/SVR3.1:: The major changes between V7 and
System V Release 3.1.
* SVR4:: Minor changes between System V
@@ -5902,7 +5912,9 @@ used with it do not have to be named on the @command{awk} command line
* Command-line directories:: What happens if you put a directory on the
command line.
* Input Summary:: Input summary.
+@ifclear FOR_PRINT
* Input Exercises:: Exercises.
+@end ifclear
@end menu
@node Records
@@ -8266,6 +8278,7 @@ Directories on the command line are fatal for standard @command{awk};
@end itemize
+@ifclear FOR_PRINT
@node Input Exercises
@section Exercises
@@ -8285,6 +8298,7 @@ starts later on the same line.
Write a program that does handle multiple comments on the line.
@end enumerate
+@end ifclear
@node Printing
@chapter Printing Output
@@ -8326,7 +8340,9 @@ and discusses the @code{close()} built-in function.
descriptors.
* Close Files And Pipes:: Closing Input and Output Files and Pipes.
* Output Summary:: Output summary.
-* Output exercises:: Exercises.
+@ifclear FOR_PRINT
+* Output Exercises:: Exercises.
+@end ifclear
@end menu
@node Print
@@ -9737,7 +9753,8 @@ communications.
@end itemize
-@node Output exercises
+@ifclear FOR_PRINT
+@node Output Exercises
@section Exercises
@enumerate
@@ -9766,6 +9783,7 @@ BEGIN @{ print "Serious error detected!" > /dev/stderr @}
@end example
@end enumerate
+@end ifclear
@c ENDOFRANGE prnt
@@ -18214,7 +18232,7 @@ them, i.e., to tell @command{awk} what they should do.
@quotation
It's entirely fair to say that the @command{awk} syntax for local
-variable definitions is appallingly awful
+variable definitions is appallingly awful.
@author Brian Kernighan
@end quotation
@@ -19430,7 +19448,9 @@ comparisons use only lowercase letters.
* Group Functions:: Functions for getting group information.
* Walking Arrays:: A function to walk arrays of arrays.
* Library Functions Summary:: Summary of library functions.
-* Library exercises:: Exercises.
+@ifclear FOR_PRINT
+* Library Exercises:: Exercises.
+@end ifclear
@end menu
@node Library Names
@@ -21818,7 +21838,8 @@ A simple function to traverse an array of arrays to any depth.
@end itemize
-@node Library exercises
+@ifclear FOR_PRINT
+@node Library Exercises
@section Exercises
@enumerate
@@ -21884,6 +21905,7 @@ Test your new version by printing the array; you should end up with
output identical to that of the original version.
@end enumerate
+@end ifclear
@c ENDOFRANGE flib
@c ENDOFRANGE fudlib
@@ -21928,7 +21950,9 @@ Many of these programs use library functions presented in
* Clones:: Clones of common utilities.
* Miscellaneous Programs:: Some interesting @command{awk} programs.
* Programs Summary:: Summary of programs.
+@ifclear FOR_PRINT
* Programs Exercises:: Exercises.
+@end ifclear
@end menu
@node Running Examples
@@ -25364,6 +25388,7 @@ mailing labels, and finding anagrams.
@end itemize
+@ifclear FOR_PRINT
@node Programs Exercises
@section Exercises
@@ -25493,6 +25518,7 @@ Modify @file{anagram.awk} (@pxref{Anagram Program}), to avoid
the use of the external @command{sort} utility.
@end enumerate
+@end ifclear
@ifnotinfo
@part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk}
@@ -29934,7 +29960,9 @@ When @option{--sandbox} is specified, extensions are disabled
@code{gawk}.
* gawkextlib:: The @code{gawkextlib} project.
* Extension summary:: Extension summary.
+@ifclear FOR_PRINT
* Extension Exercises:: Exercises.
+@end ifclear
@end menu
@node Extension Intro
@@ -33871,6 +33899,7 @@ should be the place to do so.
@end itemize
+@ifclear FOR_PRINT
@node Extension Exercises
@section Exercises
@@ -33893,6 +33922,7 @@ Write a wrapper script that provides an interface similar to
@ref{Extension Sample Inplace}.
@end enumerate
+@end ifclear
@ifnotinfo
@part @value{PART4}Appendices