[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] gawk branch, gawk-5.1-stable, updated. gawk-4.1.0-4110-ge7114e7
From: |
Arnold Robbins |
Subject: |
[SCM] gawk branch, gawk-5.1-stable, updated. gawk-4.1.0-4110-ge7114e7 |
Date: |
Fri, 4 Sep 2020 04:31:04 -0400 (EDT) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".
The branch, gawk-5.1-stable has been updated
via e7114e7a7fd4342a690c8214a9c0e64eb5f927b3 (commit)
from 3eeceba9fd22cc571a5232ef62b6df0110bb6868 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=e7114e7a7fd4342a690c8214a9c0e64eb5f927b3
commit e7114e7a7fd4342a690c8214a9c0e64eb5f927b3
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Fri Sep 4 11:30:48 2020 +0300
More refinements in the manual.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 89f836a..a032b4d 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2020-09-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Index BWK quotes separately. Finish using "BWK awk"
+ everywhere. Fix up text with exercise for uniq.awk in both
+ places.
+
2020-09-01 Arnold D. Robbins <arnold@skeeve.com>
* gawk.1: Minor edits.
diff --git a/doc/gawk.info b/doc/gawk.info
index 9d5d4ef..865286f 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -7907,8 +7907,8 @@ Other Versions::) elide the backslash and newline, as in
C:
In POSIX mode (*note Options::), 'gawk' does not allow escaped
newlines. Otherwise, it behaves as just described.
- Brian Kernighan's 'awk' and BusyBox 'awk' remove the backslash but
-leave the newline intact, as part of the string:
+ BWK 'awk' and BusyBox 'awk' remove the backslash but leave the
+newline intact, as part of the string:
$ nawk 'BEGIN { print "hello, \
> world" }'
@@ -13645,9 +13645,9 @@ parameters are enclosed in square brackets ([ ]):
NOTE: Prior to version 4.0.2, 'gawk' would flush only the
standard output if there was no argument, and flush all output
files and pipes if the argument was the null string. This was
- changed in order to be compatible with Brian Kernighan's
- 'awk', in the hope that standardizing this feature in POSIX
- would then be easier (which indeed proved to be the case).
+ changed in order to be compatible with BWK 'awk', in the hope
+ that standardizing this feature in POSIX would then be easier
+ (which indeed proved to be the case).
With 'gawk', you can use 'fflush("/dev/stdout")' if you wish
to flush only the standard output.
@@ -18613,20 +18613,6 @@ line of input data:
convention of naming global variables with a leading capital letter.
Doing that would make the program a little easier to follow.
- The logic for choosing which lines to print represents a "state
-machine", which is "a device which can be in one of a set number of
-stable conditions depending on its previous condition and on the present
-values of its inputs."(1) Brian Kernighan suggests that "an alternative
-approach to state machines is to just read the input into an array, then
-use indexing. It's almost always easier code, and for most inputs where
-you would use this, just as fast." Consider how to rewrite the logic to
-follow this suggestion.
-
- ---------- Footnotes ----------
-
- (1) This definition is from
-<https://www.lexico.com/en/definition/state_machine>.
-
File: gawk.info, Node: Wc Program, Prev: Uniq Program, Up: Clones
@@ -20211,7 +20197,7 @@ File: gawk.info, Node: Programs Exercises, Prev:
Programs Summary, Up: Sample
5. In 'uniq.awk' (*note Uniq Program::, the logic for choosing which
lines to print represents a "state machine", which is "a device
- that can be in one of a set number of stable conditions depending
+ which can be in one of a set number of stable conditions depending
on its previous condition and on the present values of its
inputs."(1) Brian Kernighan suggests that "an alternative approach
to state machines is to just read the input into an array, then use
@@ -20280,8 +20266,8 @@ File: gawk.info, Node: Programs Exercises, Prev:
Programs Summary, Up: Sample
---------- Footnotes ----------
- (1) This is the definition returned from entering 'define: state
-machine' into Google.
+ (1) This definition is from
+<https://www.lexico.com/en/definition/state_machine>.
File: gawk.info, Node: Advanced Features, Next: Internationalization, Prev:
Sample Programs, Up: Top
@@ -36060,16 +36046,17 @@ Index
* Kasal, Stepan: Acknowledgments. (line 60)
* Kenobi, Obi-Wan: Undocumented. (line 6)
* Kernighan, Brian: History. (line 17)
-* Kernighan, Brian <1>: Conventions. (line 38)
-* Kernighan, Brian <2>: Acknowledgments. (line 79)
-* Kernighan, Brian <3>: Getline/Pipe. (line 6)
-* Kernighan, Brian <4>: Concatenation. (line 6)
-* Kernighan, Brian <5>: Library Functions. (line 12)
-* Kernighan, Brian <6>: BTL. (line 6)
-* Kernighan, Brian <7>: Contributors. (line 12)
-* Kernighan, Brian <8>: Other Versions. (line 13)
-* Kernighan, Brian <9>: Basic Data Typing. (line 54)
-* Kernighan, Brian <10>: Glossary. (line 204)
+* Kernighan, Brian, quotes: Conventions. (line 38)
+* Kernighan, Brian <1>: Acknowledgments. (line 79)
+* Kernighan, Brian, quotes <1>: Getline/Pipe. (line 6)
+* Kernighan, Brian, quotes <2>: Concatenation. (line 6)
+* Kernighan, Brian, quotes <3>: Library Functions. (line 12)
+* Kernighan, Brian <2>: Programs Exercises. (line 26)
+* Kernighan, Brian <3>: BTL. (line 6)
+* Kernighan, Brian <4>: Contributors. (line 12)
+* Kernighan, Brian <5>: Other Versions. (line 13)
+* Kernighan, Brian <6>: Basic Data Typing. (line 54)
+* Kernighan, Brian <7>: Glossary. (line 204)
* kill command, dynamic profiling: Profiling. (line 194)
* knights, jedi: Undocumented. (line 6)
* Kwok, Conrad: Contributors. (line 35)
@@ -37576,453 +37563,452 @@ Node: Expressions339935
Node: Values341123
Node: Constants341801
Node: Scalar Constants342492
-Ref: Scalar Constants-Footnote-1345016
-Node: Nondecimal-numbers345266
-Node: Regexp Constants348267
-Node: Using Constant Regexps348793
-Node: Standard Regexp Constants349415
-Node: Strong Regexp Constants352603
-Node: Variables355615
-Node: Using Variables356272
-Node: Assignment Options358182
-Node: Conversion360653
-Node: Strings And Numbers361177
-Ref: Strings And Numbers-Footnote-1364240
-Node: Locale influences conversions364349
-Ref: table-locale-affects367107
-Node: All Operators367725
-Node: Arithmetic Ops368354
-Node: Concatenation371070
-Ref: Concatenation-Footnote-1373917
-Node: Assignment Ops374024
-Ref: table-assign-ops379015
-Node: Increment Ops380328
-Node: Truth Values and Conditions383788
-Node: Truth Values384862
-Node: Typing and Comparison385910
-Node: Variable Typing386730
-Ref: Variable Typing-Footnote-1393193
-Ref: Variable Typing-Footnote-2393265
-Node: Comparison Operators393342
-Ref: table-relational-ops393761
-Node: POSIX String Comparison397256
-Ref: POSIX String Comparison-Footnote-1398951
-Ref: POSIX String Comparison-Footnote-2399090
-Node: Boolean Ops399174
-Ref: Boolean Ops-Footnote-1403656
-Node: Conditional Exp403748
-Node: Function Calls405484
-Node: Precedence409361
-Node: Locales413020
-Node: Expressions Summary414652
-Node: Patterns and Actions417225
-Node: Pattern Overview418345
-Node: Regexp Patterns420022
-Node: Expression Patterns420564
-Node: Ranges424345
-Node: BEGIN/END427453
-Node: Using BEGIN/END428214
-Ref: Using BEGIN/END-Footnote-1430968
-Node: I/O And BEGIN/END431074
-Node: BEGINFILE/ENDFILE433387
-Node: Empty436618
-Node: Using Shell Variables436935
-Node: Action Overview439209
-Node: Statements441534
-Node: If Statement443382
-Node: While Statement444877
-Node: Do Statement446905
-Node: For Statement448053
-Node: Switch Statement451224
-Node: Break Statement453665
-Node: Continue Statement455757
-Node: Next Statement457584
-Node: Nextfile Statement459967
-Node: Exit Statement462619
-Node: Built-in Variables465022
-Node: User-modified466155
-Node: Auto-set473922
-Ref: Auto-set-Footnote-1490729
-Ref: Auto-set-Footnote-2490935
-Node: ARGC and ARGV490991
-Node: Pattern Action Summary495204
-Node: Arrays497634
-Node: Array Basics498963
-Node: Array Intro499807
-Ref: figure-array-elements501782
-Ref: Array Intro-Footnote-1504486
-Node: Reference to Elements504614
-Node: Assigning Elements507078
-Node: Array Example507569
-Node: Scanning an Array509328
-Node: Controlling Scanning512350
-Ref: Controlling Scanning-Footnote-1518806
-Node: Numeric Array Subscripts519122
-Node: Uninitialized Subscripts521306
-Node: Delete522925
-Ref: Delete-Footnote-1525677
-Node: Multidimensional525734
-Node: Multiscanning528829
-Node: Arrays of Arrays530420
-Node: Arrays Summary535188
-Node: Functions537281
-Node: Built-in538319
-Node: Calling Built-in539400
-Node: Numeric Functions541396
-Ref: Numeric Functions-Footnote-1545424
-Ref: Numeric Functions-Footnote-2546072
-Ref: Numeric Functions-Footnote-3546120
-Node: String Functions546392
-Ref: String Functions-Footnote-1570533
-Ref: String Functions-Footnote-2570661
-Ref: String Functions-Footnote-3570909
-Node: Gory Details570996
-Ref: table-sub-escapes572787
-Ref: table-sub-proposed574306
-Ref: table-posix-sub575669
-Ref: table-gensub-escapes577210
-Ref: Gory Details-Footnote-1578033
-Node: I/O Functions578187
-Ref: table-system-return-values584655
-Ref: I/O Functions-Footnote-1586735
-Ref: I/O Functions-Footnote-2586883
-Node: Time Functions587003
-Ref: Time Functions-Footnote-1597674
-Ref: Time Functions-Footnote-2597742
-Ref: Time Functions-Footnote-3597900
-Ref: Time Functions-Footnote-4598011
-Ref: Time Functions-Footnote-5598123
-Ref: Time Functions-Footnote-6598350
-Node: Bitwise Functions598616
-Ref: table-bitwise-ops599210
-Ref: Bitwise Functions-Footnote-1605273
-Ref: Bitwise Functions-Footnote-2605446
-Node: Type Functions605637
-Node: I18N Functions608500
-Node: User-defined610151
-Node: Definition Syntax610963
-Ref: Definition Syntax-Footnote-1616650
-Node: Function Example616721
-Ref: Function Example-Footnote-1619643
-Node: Function Calling619665
-Node: Calling A Function620253
-Node: Variable Scope621211
-Node: Pass By Value/Reference624205
-Node: Function Caveats626849
-Ref: Function Caveats-Footnote-1628896
-Node: Return Statement629016
-Node: Dynamic Typing631995
-Node: Indirect Calls632925
-Ref: Indirect Calls-Footnote-1643177
-Node: Functions Summary643305
-Node: Library Functions646010
-Ref: Library Functions-Footnote-1649617
-Ref: Library Functions-Footnote-2649760
-Node: Library Names649931
-Ref: Library Names-Footnote-1653598
-Ref: Library Names-Footnote-2653821
-Node: General Functions653907
-Node: Strtonum Function655010
-Node: Assert Function658032
-Node: Round Function661358
-Node: Cliff Random Function662898
-Node: Ordinal Functions663914
-Ref: Ordinal Functions-Footnote-1666977
-Ref: Ordinal Functions-Footnote-2667229
-Node: Join Function667439
-Ref: Join Function-Footnote-1669209
-Node: Getlocaltime Function669409
-Node: Readfile Function673151
-Node: Shell Quoting675128
-Node: Data File Management676529
-Node: Filetrans Function677161
-Node: Rewind Function681257
-Node: File Checking683166
-Ref: File Checking-Footnote-1684500
-Node: Empty Files684701
-Node: Ignoring Assigns686680
-Node: Getopt Function688230
-Ref: Getopt Function-Footnote-1703441
-Node: Passwd Functions703641
-Ref: Passwd Functions-Footnote-1712480
-Node: Group Functions712568
-Ref: Group Functions-Footnote-1720466
-Node: Walking Arrays720673
-Node: Library Functions Summary723681
-Node: Library Exercises725087
-Node: Sample Programs725552
-Node: Running Examples726322
-Node: Clones727050
-Node: Cut Program728274
-Node: Egrep Program738203
-Ref: Egrep Program-Footnote-1745715
-Node: Id Program745825
-Node: Split Program749505
-Ref: Split Program-Footnote-1752963
-Node: Tee Program753092
-Node: Uniq Program755882
-Ref: Uniq Program-Footnote-1764007
-Node: Wc Program764093
-Ref: Wc Program-Footnote-1768348
-Node: Miscellaneous Programs768442
-Node: Dupword Program769655
-Node: Alarm Program771685
-Node: Translate Program776540
-Ref: Translate Program-Footnote-1781105
-Node: Labels Program781375
-Ref: Labels Program-Footnote-1784726
-Node: Word Sorting784810
-Node: History Sorting788882
-Node: Extract Program791107
-Node: Simple Sed799161
-Node: Igawk Program802235
-Ref: Igawk Program-Footnote-1816566
-Ref: Igawk Program-Footnote-2816768
-Ref: Igawk Program-Footnote-3816890
-Node: Anagram Program817005
-Node: Signature Program820067
-Node: Programs Summary821314
-Node: Programs Exercises822528
-Ref: Programs Exercises-Footnote-1826657
-Node: Advanced Features826748
-Node: Nondecimal Data828738
-Node: Array Sorting830329
-Node: Controlling Array Traversal831029
-Ref: Controlling Array Traversal-Footnote-1839397
-Node: Array Sorting Functions839515
-Ref: Array Sorting Functions-Footnote-1844606
-Node: Two-way I/O844802
-Ref: Two-way I/O-Footnote-1852523
-Ref: Two-way I/O-Footnote-2852710
-Node: TCP/IP Networking852792
-Node: Profiling855910
-Node: Advanced Features Summary865224
-Node: Internationalization867068
-Node: I18N and L10N868548
-Node: Explaining gettext869235
-Ref: Explaining gettext-Footnote-1875127
-Ref: Explaining gettext-Footnote-2875312
-Node: Programmer i18n875477
-Ref: Programmer i18n-Footnote-1880426
-Node: Translator i18n880475
-Node: String Extraction881269
-Ref: String Extraction-Footnote-1882401
-Node: Printf Ordering882487
-Ref: Printf Ordering-Footnote-1885273
-Node: I18N Portability885337
-Ref: I18N Portability-Footnote-1887793
-Node: I18N Example887856
-Ref: I18N Example-Footnote-1891131
-Ref: I18N Example-Footnote-2891204
-Node: Gawk I18N891313
-Node: I18N Summary891962
-Node: Debugger893303
-Node: Debugging894303
-Node: Debugging Concepts894744
-Node: Debugging Terms896553
-Node: Awk Debugging899128
-Ref: Awk Debugging-Footnote-1900073
-Node: Sample Debugging Session900205
-Node: Debugger Invocation900739
-Node: Finding The Bug902125
-Node: List of Debugger Commands908599
-Node: Breakpoint Control909932
-Node: Debugger Execution Control913626
-Node: Viewing And Changing Data916988
-Node: Execution Stack920529
-Node: Debugger Info922166
-Node: Miscellaneous Debugger Commands926237
-Node: Readline Support931299
-Node: Limitations932195
-Node: Debugging Summary934749
-Node: Namespaces936028
-Node: Global Namespace937139
-Node: Qualified Names938537
-Node: Default Namespace939536
-Node: Changing The Namespace940277
-Node: Naming Rules941891
-Node: Internal Name Management943739
-Node: Namespace Example944781
-Node: Namespace And Features947343
-Node: Namespace Summary948778
-Node: Arbitrary Precision Arithmetic950255
-Node: Computer Arithmetic951742
-Ref: table-numeric-ranges955508
-Ref: table-floating-point-ranges956001
-Ref: Computer Arithmetic-Footnote-1956659
-Node: Math Definitions956716
-Ref: table-ieee-formats960032
-Ref: Math Definitions-Footnote-1960635
-Node: MPFR features960740
-Node: FP Math Caution962458
-Ref: FP Math Caution-Footnote-1963530
-Node: Inexactness of computations963899
-Node: Inexact representation964859
-Node: Comparing FP Values966219
-Node: Errors accumulate967460
-Node: Getting Accuracy968893
-Node: Try To Round971603
-Node: Setting precision972502
-Ref: table-predefined-precision-strings973199
-Node: Setting the rounding mode975029
-Ref: table-gawk-rounding-modes975403
-Ref: Setting the rounding mode-Footnote-1979334
-Node: Arbitrary Precision Integers979513
-Ref: Arbitrary Precision Integers-Footnote-1982688
-Node: Checking for MPFR982837
-Node: POSIX Floating Point Problems984311
-Ref: POSIX Floating Point Problems-Footnote-1988596
-Node: Floating point summary988634
-Node: Dynamic Extensions990824
-Node: Extension Intro992377
-Node: Plugin License993643
-Node: Extension Mechanism Outline994440
-Ref: figure-load-extension994879
-Ref: figure-register-new-function996444
-Ref: figure-call-new-function997536
-Node: Extension API Description999598
-Node: Extension API Functions Introduction1001311
-Ref: table-api-std-headers1003147
-Node: General Data Types1007396
-Ref: General Data Types-Footnote-11016026
-Node: Memory Allocation Functions1016325
-Ref: Memory Allocation Functions-Footnote-11020826
-Node: Constructor Functions1020925
-Node: API Ownership of MPFR and GMP Values1024391
-Node: Registration Functions1025704
-Node: Extension Functions1026404
-Node: Exit Callback Functions1031726
-Node: Extension Version String1032976
-Node: Input Parsers1033639
-Node: Output Wrappers1046360
-Node: Two-way processors1050872
-Node: Printing Messages1053137
-Ref: Printing Messages-Footnote-11054308
-Node: Updating ERRNO1054461
-Node: Requesting Values1055200
-Ref: table-value-types-returned1055937
-Node: Accessing Parameters1056873
-Node: Symbol Table Access1058110
-Node: Symbol table by name1058622
-Ref: Symbol table by name-Footnote-11061646
-Node: Symbol table by cookie1061774
-Ref: Symbol table by cookie-Footnote-11065959
-Node: Cached values1066023
-Ref: Cached values-Footnote-11069559
-Node: Array Manipulation1069712
-Ref: Array Manipulation-Footnote-11070803
-Node: Array Data Types1070840
-Ref: Array Data Types-Footnote-11073498
-Node: Array Functions1073590
-Node: Flattening Arrays1078088
-Node: Creating Arrays1085064
-Node: Redirection API1089831
-Node: Extension API Variables1092664
-Node: Extension Versioning1093375
-Ref: gawk-api-version1093804
-Node: Extension GMP/MPFR Versioning1095535
-Node: Extension API Informational Variables1097163
-Node: Extension API Boilerplate1098236
-Node: Changes from API V11102210
-Node: Finding Extensions1103782
-Node: Extension Example1104341
-Node: Internal File Description1105139
-Node: Internal File Ops1109219
-Ref: Internal File Ops-Footnote-11120569
-Node: Using Internal File Ops1120709
-Ref: Using Internal File Ops-Footnote-11123092
-Node: Extension Samples1123366
-Node: Extension Sample File Functions1124895
-Node: Extension Sample Fnmatch1132544
-Node: Extension Sample Fork1134031
-Node: Extension Sample Inplace1135249
-Node: Extension Sample Ord1138874
-Node: Extension Sample Readdir1139710
-Ref: table-readdir-file-types1140599
-Node: Extension Sample Revout1141666
-Node: Extension Sample Rev2way1142255
-Node: Extension Sample Read write array1142995
-Node: Extension Sample Readfile1144937
-Node: Extension Sample Time1146032
-Node: Extension Sample API Tests1147784
-Node: gawkextlib1148276
-Node: Extension summary1151194
-Node: Extension Exercises1154896
-Node: Language History1156138
-Node: V7/SVR3.11157794
-Node: SVR41159946
-Node: POSIX1161380
-Node: BTL1162761
-Node: POSIX/GNU1163490
-Node: Feature History1169268
-Node: Common Extensions1185587
-Node: Ranges and Locales1186870
-Ref: Ranges and Locales-Footnote-11191486
-Ref: Ranges and Locales-Footnote-21191513
-Ref: Ranges and Locales-Footnote-31191748
-Node: Contributors1191971
-Node: History summary1197968
-Node: Installation1199348
-Node: Gawk Distribution1200292
-Node: Getting1200776
-Node: Extracting1201739
-Node: Distribution contents1203377
-Node: Unix Installation1209857
-Node: Quick Installation1210539
-Node: Shell Startup Files1212953
-Node: Additional Configuration Options1214042
-Node: Configuration Philosophy1216357
-Node: Non-Unix Installation1218726
-Node: PC Installation1219186
-Node: PC Binary Installation1220024
-Node: PC Compiling1220459
-Node: PC Using1221576
-Node: Cygwin1225129
-Node: MSYS1226353
-Node: VMS Installation1226955
-Node: VMS Compilation1227746
-Ref: VMS Compilation-Footnote-11228975
-Node: VMS Dynamic Extensions1229033
-Node: VMS Installation Details1230718
-Node: VMS Running1232971
-Node: VMS GNV1237250
-Node: VMS Old Gawk1237985
-Node: Bugs1238456
-Node: Bug address1239119
-Node: Usenet1242101
-Node: Maintainers1243105
-Node: Other Versions1244290
-Node: Installation summary1251378
-Node: Notes1252587
-Node: Compatibility Mode1253381
-Node: Additions1254163
-Node: Accessing The Source1255088
-Node: Adding Code1256525
-Node: New Ports1262744
-Node: Derived Files1267119
-Ref: Derived Files-Footnote-11272779
-Ref: Derived Files-Footnote-21272814
-Ref: Derived Files-Footnote-31273412
-Node: Future Extensions1273526
-Node: Implementation Limitations1274184
-Node: Extension Design1275394
-Node: Old Extension Problems1276538
-Ref: Old Extension Problems-Footnote-11278056
-Node: Extension New Mechanism Goals1278113
-Ref: Extension New Mechanism Goals-Footnote-11281477
-Node: Extension Other Design Decisions1281666
-Node: Extension Future Growth1283779
-Node: Notes summary1284385
-Node: Basic Concepts1285543
-Node: Basic High Level1286224
-Ref: figure-general-flow1286506
-Ref: figure-process-flow1287191
-Ref: Basic High Level-Footnote-11290492
-Node: Basic Data Typing1290677
-Node: Glossary1294005
-Node: Copying1325890
-Node: GNU Free Documentation License1363433
-Node: Index1388553
+Ref: Scalar Constants-Footnote-1345002
+Node: Nondecimal-numbers345252
+Node: Regexp Constants348253
+Node: Using Constant Regexps348779
+Node: Standard Regexp Constants349401
+Node: Strong Regexp Constants352589
+Node: Variables355601
+Node: Using Variables356258
+Node: Assignment Options358168
+Node: Conversion360639
+Node: Strings And Numbers361163
+Ref: Strings And Numbers-Footnote-1364226
+Node: Locale influences conversions364335
+Ref: table-locale-affects367093
+Node: All Operators367711
+Node: Arithmetic Ops368340
+Node: Concatenation371056
+Ref: Concatenation-Footnote-1373903
+Node: Assignment Ops374010
+Ref: table-assign-ops379001
+Node: Increment Ops380314
+Node: Truth Values and Conditions383774
+Node: Truth Values384848
+Node: Typing and Comparison385896
+Node: Variable Typing386716
+Ref: Variable Typing-Footnote-1393179
+Ref: Variable Typing-Footnote-2393251
+Node: Comparison Operators393328
+Ref: table-relational-ops393747
+Node: POSIX String Comparison397242
+Ref: POSIX String Comparison-Footnote-1398937
+Ref: POSIX String Comparison-Footnote-2399076
+Node: Boolean Ops399160
+Ref: Boolean Ops-Footnote-1403642
+Node: Conditional Exp403734
+Node: Function Calls405470
+Node: Precedence409347
+Node: Locales413006
+Node: Expressions Summary414638
+Node: Patterns and Actions417211
+Node: Pattern Overview418331
+Node: Regexp Patterns420008
+Node: Expression Patterns420550
+Node: Ranges424331
+Node: BEGIN/END427439
+Node: Using BEGIN/END428200
+Ref: Using BEGIN/END-Footnote-1430954
+Node: I/O And BEGIN/END431060
+Node: BEGINFILE/ENDFILE433373
+Node: Empty436604
+Node: Using Shell Variables436921
+Node: Action Overview439195
+Node: Statements441520
+Node: If Statement443368
+Node: While Statement444863
+Node: Do Statement446891
+Node: For Statement448039
+Node: Switch Statement451210
+Node: Break Statement453651
+Node: Continue Statement455743
+Node: Next Statement457570
+Node: Nextfile Statement459953
+Node: Exit Statement462605
+Node: Built-in Variables465008
+Node: User-modified466141
+Node: Auto-set473908
+Ref: Auto-set-Footnote-1490715
+Ref: Auto-set-Footnote-2490921
+Node: ARGC and ARGV490977
+Node: Pattern Action Summary495190
+Node: Arrays497620
+Node: Array Basics498949
+Node: Array Intro499793
+Ref: figure-array-elements501768
+Ref: Array Intro-Footnote-1504472
+Node: Reference to Elements504600
+Node: Assigning Elements507064
+Node: Array Example507555
+Node: Scanning an Array509314
+Node: Controlling Scanning512336
+Ref: Controlling Scanning-Footnote-1518792
+Node: Numeric Array Subscripts519108
+Node: Uninitialized Subscripts521292
+Node: Delete522911
+Ref: Delete-Footnote-1525663
+Node: Multidimensional525720
+Node: Multiscanning528815
+Node: Arrays of Arrays530406
+Node: Arrays Summary535174
+Node: Functions537267
+Node: Built-in538305
+Node: Calling Built-in539386
+Node: Numeric Functions541382
+Ref: Numeric Functions-Footnote-1545410
+Ref: Numeric Functions-Footnote-2546058
+Ref: Numeric Functions-Footnote-3546106
+Node: String Functions546378
+Ref: String Functions-Footnote-1570519
+Ref: String Functions-Footnote-2570647
+Ref: String Functions-Footnote-3570895
+Node: Gory Details570982
+Ref: table-sub-escapes572773
+Ref: table-sub-proposed574292
+Ref: table-posix-sub575655
+Ref: table-gensub-escapes577196
+Ref: Gory Details-Footnote-1578019
+Node: I/O Functions578173
+Ref: table-system-return-values584627
+Ref: I/O Functions-Footnote-1586707
+Ref: I/O Functions-Footnote-2586855
+Node: Time Functions586975
+Ref: Time Functions-Footnote-1597646
+Ref: Time Functions-Footnote-2597714
+Ref: Time Functions-Footnote-3597872
+Ref: Time Functions-Footnote-4597983
+Ref: Time Functions-Footnote-5598095
+Ref: Time Functions-Footnote-6598322
+Node: Bitwise Functions598588
+Ref: table-bitwise-ops599182
+Ref: Bitwise Functions-Footnote-1605245
+Ref: Bitwise Functions-Footnote-2605418
+Node: Type Functions605609
+Node: I18N Functions608472
+Node: User-defined610123
+Node: Definition Syntax610935
+Ref: Definition Syntax-Footnote-1616622
+Node: Function Example616693
+Ref: Function Example-Footnote-1619615
+Node: Function Calling619637
+Node: Calling A Function620225
+Node: Variable Scope621183
+Node: Pass By Value/Reference624177
+Node: Function Caveats626821
+Ref: Function Caveats-Footnote-1628868
+Node: Return Statement628988
+Node: Dynamic Typing631967
+Node: Indirect Calls632897
+Ref: Indirect Calls-Footnote-1643149
+Node: Functions Summary643277
+Node: Library Functions645982
+Ref: Library Functions-Footnote-1649589
+Ref: Library Functions-Footnote-2649732
+Node: Library Names649903
+Ref: Library Names-Footnote-1653570
+Ref: Library Names-Footnote-2653793
+Node: General Functions653879
+Node: Strtonum Function654982
+Node: Assert Function658004
+Node: Round Function661330
+Node: Cliff Random Function662870
+Node: Ordinal Functions663886
+Ref: Ordinal Functions-Footnote-1666949
+Ref: Ordinal Functions-Footnote-2667201
+Node: Join Function667411
+Ref: Join Function-Footnote-1669181
+Node: Getlocaltime Function669381
+Node: Readfile Function673123
+Node: Shell Quoting675100
+Node: Data File Management676501
+Node: Filetrans Function677133
+Node: Rewind Function681229
+Node: File Checking683138
+Ref: File Checking-Footnote-1684472
+Node: Empty Files684673
+Node: Ignoring Assigns686652
+Node: Getopt Function688202
+Ref: Getopt Function-Footnote-1703413
+Node: Passwd Functions703613
+Ref: Passwd Functions-Footnote-1712452
+Node: Group Functions712540
+Ref: Group Functions-Footnote-1720438
+Node: Walking Arrays720645
+Node: Library Functions Summary723653
+Node: Library Exercises725059
+Node: Sample Programs725524
+Node: Running Examples726294
+Node: Clones727022
+Node: Cut Program728246
+Node: Egrep Program738175
+Ref: Egrep Program-Footnote-1745687
+Node: Id Program745797
+Node: Split Program749477
+Ref: Split Program-Footnote-1752935
+Node: Tee Program753064
+Node: Uniq Program755854
+Node: Wc Program763418
+Ref: Wc Program-Footnote-1767673
+Node: Miscellaneous Programs767767
+Node: Dupword Program768980
+Node: Alarm Program771010
+Node: Translate Program775865
+Ref: Translate Program-Footnote-1780430
+Node: Labels Program780700
+Ref: Labels Program-Footnote-1784051
+Node: Word Sorting784135
+Node: History Sorting788207
+Node: Extract Program790432
+Node: Simple Sed798486
+Node: Igawk Program801560
+Ref: Igawk Program-Footnote-1815891
+Ref: Igawk Program-Footnote-2816093
+Ref: Igawk Program-Footnote-3816215
+Node: Anagram Program816330
+Node: Signature Program819392
+Node: Programs Summary820639
+Node: Programs Exercises821853
+Ref: Programs Exercises-Footnote-1825983
+Node: Advanced Features826069
+Node: Nondecimal Data828059
+Node: Array Sorting829650
+Node: Controlling Array Traversal830350
+Ref: Controlling Array Traversal-Footnote-1838718
+Node: Array Sorting Functions838836
+Ref: Array Sorting Functions-Footnote-1843927
+Node: Two-way I/O844123
+Ref: Two-way I/O-Footnote-1851844
+Ref: Two-way I/O-Footnote-2852031
+Node: TCP/IP Networking852113
+Node: Profiling855231
+Node: Advanced Features Summary864545
+Node: Internationalization866389
+Node: I18N and L10N867869
+Node: Explaining gettext868556
+Ref: Explaining gettext-Footnote-1874448
+Ref: Explaining gettext-Footnote-2874633
+Node: Programmer i18n874798
+Ref: Programmer i18n-Footnote-1879747
+Node: Translator i18n879796
+Node: String Extraction880590
+Ref: String Extraction-Footnote-1881722
+Node: Printf Ordering881808
+Ref: Printf Ordering-Footnote-1884594
+Node: I18N Portability884658
+Ref: I18N Portability-Footnote-1887114
+Node: I18N Example887177
+Ref: I18N Example-Footnote-1890452
+Ref: I18N Example-Footnote-2890525
+Node: Gawk I18N890634
+Node: I18N Summary891283
+Node: Debugger892624
+Node: Debugging893624
+Node: Debugging Concepts894065
+Node: Debugging Terms895874
+Node: Awk Debugging898449
+Ref: Awk Debugging-Footnote-1899394
+Node: Sample Debugging Session899526
+Node: Debugger Invocation900060
+Node: Finding The Bug901446
+Node: List of Debugger Commands907920
+Node: Breakpoint Control909253
+Node: Debugger Execution Control912947
+Node: Viewing And Changing Data916309
+Node: Execution Stack919850
+Node: Debugger Info921487
+Node: Miscellaneous Debugger Commands925558
+Node: Readline Support930620
+Node: Limitations931516
+Node: Debugging Summary934070
+Node: Namespaces935349
+Node: Global Namespace936460
+Node: Qualified Names937858
+Node: Default Namespace938857
+Node: Changing The Namespace939598
+Node: Naming Rules941212
+Node: Internal Name Management943060
+Node: Namespace Example944102
+Node: Namespace And Features946664
+Node: Namespace Summary948099
+Node: Arbitrary Precision Arithmetic949576
+Node: Computer Arithmetic951063
+Ref: table-numeric-ranges954829
+Ref: table-floating-point-ranges955322
+Ref: Computer Arithmetic-Footnote-1955980
+Node: Math Definitions956037
+Ref: table-ieee-formats959353
+Ref: Math Definitions-Footnote-1959956
+Node: MPFR features960061
+Node: FP Math Caution961779
+Ref: FP Math Caution-Footnote-1962851
+Node: Inexactness of computations963220
+Node: Inexact representation964180
+Node: Comparing FP Values965540
+Node: Errors accumulate966781
+Node: Getting Accuracy968214
+Node: Try To Round970924
+Node: Setting precision971823
+Ref: table-predefined-precision-strings972520
+Node: Setting the rounding mode974350
+Ref: table-gawk-rounding-modes974724
+Ref: Setting the rounding mode-Footnote-1978655
+Node: Arbitrary Precision Integers978834
+Ref: Arbitrary Precision Integers-Footnote-1982009
+Node: Checking for MPFR982158
+Node: POSIX Floating Point Problems983632
+Ref: POSIX Floating Point Problems-Footnote-1987917
+Node: Floating point summary987955
+Node: Dynamic Extensions990145
+Node: Extension Intro991698
+Node: Plugin License992964
+Node: Extension Mechanism Outline993761
+Ref: figure-load-extension994200
+Ref: figure-register-new-function995765
+Ref: figure-call-new-function996857
+Node: Extension API Description998919
+Node: Extension API Functions Introduction1000632
+Ref: table-api-std-headers1002468
+Node: General Data Types1006717
+Ref: General Data Types-Footnote-11015347
+Node: Memory Allocation Functions1015646
+Ref: Memory Allocation Functions-Footnote-11020147
+Node: Constructor Functions1020246
+Node: API Ownership of MPFR and GMP Values1023712
+Node: Registration Functions1025025
+Node: Extension Functions1025725
+Node: Exit Callback Functions1031047
+Node: Extension Version String1032297
+Node: Input Parsers1032960
+Node: Output Wrappers1045681
+Node: Two-way processors1050193
+Node: Printing Messages1052458
+Ref: Printing Messages-Footnote-11053629
+Node: Updating ERRNO1053782
+Node: Requesting Values1054521
+Ref: table-value-types-returned1055258
+Node: Accessing Parameters1056194
+Node: Symbol Table Access1057431
+Node: Symbol table by name1057943
+Ref: Symbol table by name-Footnote-11060967
+Node: Symbol table by cookie1061095
+Ref: Symbol table by cookie-Footnote-11065280
+Node: Cached values1065344
+Ref: Cached values-Footnote-11068880
+Node: Array Manipulation1069033
+Ref: Array Manipulation-Footnote-11070124
+Node: Array Data Types1070161
+Ref: Array Data Types-Footnote-11072819
+Node: Array Functions1072911
+Node: Flattening Arrays1077409
+Node: Creating Arrays1084385
+Node: Redirection API1089152
+Node: Extension API Variables1091985
+Node: Extension Versioning1092696
+Ref: gawk-api-version1093125
+Node: Extension GMP/MPFR Versioning1094856
+Node: Extension API Informational Variables1096484
+Node: Extension API Boilerplate1097557
+Node: Changes from API V11101531
+Node: Finding Extensions1103103
+Node: Extension Example1103662
+Node: Internal File Description1104460
+Node: Internal File Ops1108540
+Ref: Internal File Ops-Footnote-11119890
+Node: Using Internal File Ops1120030
+Ref: Using Internal File Ops-Footnote-11122413
+Node: Extension Samples1122687
+Node: Extension Sample File Functions1124216
+Node: Extension Sample Fnmatch1131865
+Node: Extension Sample Fork1133352
+Node: Extension Sample Inplace1134570
+Node: Extension Sample Ord1138195
+Node: Extension Sample Readdir1139031
+Ref: table-readdir-file-types1139920
+Node: Extension Sample Revout1140987
+Node: Extension Sample Rev2way1141576
+Node: Extension Sample Read write array1142316
+Node: Extension Sample Readfile1144258
+Node: Extension Sample Time1145353
+Node: Extension Sample API Tests1147105
+Node: gawkextlib1147597
+Node: Extension summary1150515
+Node: Extension Exercises1154217
+Node: Language History1155459
+Node: V7/SVR3.11157115
+Node: SVR41159267
+Node: POSIX1160701
+Node: BTL1162082
+Node: POSIX/GNU1162811
+Node: Feature History1168589
+Node: Common Extensions1184908
+Node: Ranges and Locales1186191
+Ref: Ranges and Locales-Footnote-11190807
+Ref: Ranges and Locales-Footnote-21190834
+Ref: Ranges and Locales-Footnote-31191069
+Node: Contributors1191292
+Node: History summary1197289
+Node: Installation1198669
+Node: Gawk Distribution1199613
+Node: Getting1200097
+Node: Extracting1201060
+Node: Distribution contents1202698
+Node: Unix Installation1209178
+Node: Quick Installation1209860
+Node: Shell Startup Files1212274
+Node: Additional Configuration Options1213363
+Node: Configuration Philosophy1215678
+Node: Non-Unix Installation1218047
+Node: PC Installation1218507
+Node: PC Binary Installation1219345
+Node: PC Compiling1219780
+Node: PC Using1220897
+Node: Cygwin1224450
+Node: MSYS1225674
+Node: VMS Installation1226276
+Node: VMS Compilation1227067
+Ref: VMS Compilation-Footnote-11228296
+Node: VMS Dynamic Extensions1228354
+Node: VMS Installation Details1230039
+Node: VMS Running1232292
+Node: VMS GNV1236571
+Node: VMS Old Gawk1237306
+Node: Bugs1237777
+Node: Bug address1238440
+Node: Usenet1241422
+Node: Maintainers1242426
+Node: Other Versions1243611
+Node: Installation summary1250699
+Node: Notes1251908
+Node: Compatibility Mode1252702
+Node: Additions1253484
+Node: Accessing The Source1254409
+Node: Adding Code1255846
+Node: New Ports1262065
+Node: Derived Files1266440
+Ref: Derived Files-Footnote-11272100
+Ref: Derived Files-Footnote-21272135
+Ref: Derived Files-Footnote-31272733
+Node: Future Extensions1272847
+Node: Implementation Limitations1273505
+Node: Extension Design1274715
+Node: Old Extension Problems1275859
+Ref: Old Extension Problems-Footnote-11277377
+Node: Extension New Mechanism Goals1277434
+Ref: Extension New Mechanism Goals-Footnote-11280798
+Node: Extension Other Design Decisions1280987
+Node: Extension Future Growth1283100
+Node: Notes summary1283706
+Node: Basic Concepts1284864
+Node: Basic High Level1285545
+Ref: figure-general-flow1285827
+Ref: figure-process-flow1286512
+Ref: Basic High Level-Footnote-11289813
+Node: Basic Data Typing1289998
+Node: Glossary1293326
+Node: Copying1325211
+Node: GNU Free Documentation License1362754
+Node: Index1387874
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 60f129d..686a0b7 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -1929,7 +1929,7 @@ Cautionary or warning notes look like this.
@c fakenode --- for prepinfo
@unnumberedsubsec Dark Corners
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@quotation
@i{Dark corners are basically fractal---no matter how much
you illuminate, there's always a smaller but darker one.}
@@ -8921,7 +8921,7 @@ that does handle nested @code{@@include} statements.
@subsection Using @code{getline} from a Pipe
@c From private email, dated October 2, 1988. Used by permission, March 2013.
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@quotation
@i{Omniscience has much to recommend it.
Failing that, attention to details would be useful.}
@@ -11388,7 +11388,7 @@ $ @kbd{gawk 'BEGIN @{ print "hello, \}
In POSIX mode (@pxref{Options}), @command{gawk} does not
allow escaped newlines. Otherwise, it behaves as just described.
-Brian Kernighan's @command{awk} and BusyBox @command{awk}
+BWK @command{awk} and BusyBox @command{awk}
remove the backslash but leave the newline
intact, as part of the string:
@@ -12239,7 +12239,7 @@ For maximum portability, do not use the @samp{**}
operator.
@node Concatenation
@subsection String Concatenation
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@quotation
@i{It seemed like a good idea at the time.}
@author Brian Kernighan
@@ -19494,8 +19494,8 @@ and pipes.
Prior to @value{PVERSION} 4.0.2, @command{gawk}
would flush only the standard output if there was no argument,
and flush all output files and pipes if the argument was the null
-string. This was changed in order to be compatible with Brian
-Kernighan's @command{awk}, in the hope that standardizing this
+string. This was changed in order to be compatible with BWK
+@command{awk}, in the hope that standardizing this
feature in POSIX would then be easier (which indeed proved to be the case).
With @command{gawk},
@@ -22017,7 +22017,7 @@ it allows you to encapsulate algorithms and program
tasks in a single
place. It simplifies programming, making program development more
manageable and making programs more readable.
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@cindex Plauger, P.J.@:
In their seminal 1976 book, @cite{Software Tools},@footnote{Sadly, over 35
years later, many of the lessons taught by this book have yet to be
@@ -26267,6 +26267,8 @@ As a side note, this program does not follow our
recommended convention of namin
global variables with a leading capital letter. Doing that would
make the program a little easier to follow.
+@ifset FOR_PRINT
+@cindex Kernighan, Brian
The logic for choosing which lines to print represents a @dfn{state
machine}, which is ``a device which can be in one of a set number
of stable conditions depending on its previous condition and on the
@@ -26276,6 +26278,7 @@ Kernighan suggests that ``an alternative approach to
state machines is
to just read the input into an array, then use indexing. It's almost
always easier code, and for most inputs where you would use this, just
as fast.'' Consider how to rewrite the logic to follow this suggestion.
+@end ifset
@node Wc Program
@@ -28387,12 +28390,13 @@ Fix this problem.
without relying on @code{ord()} and @code{chr()}.)
@item
+@cindex Kernighan, Brian
In @file{uniq.awk} (@pxref{Uniq Program}, the
logic for choosing which lines to print represents a @dfn{state
-machine}, which is ``a device that can be in one of a set number of stable
+machine}, which is ``a device which can be in one of a set number of stable
conditions depending on its previous condition and on the present values
-of its inputs.''@footnote{This is the definition returned from entering
-@code{define: state machine} into Google.}
+of its inputs.''@footnote{This definition is from
+@uref{https://www.lexico.com/en/definition/state_machine}.}
Brian Kernighan suggests that
``an alternative approach to state machines is to just read
the input into an array, then use indexing. It's almost always
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 6a9dfe0..ceaa64b 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -1896,7 +1896,7 @@ Cautionary or warning notes look like this.
@c fakenode --- for prepinfo
@unnumberedsubsec Dark Corners
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@quotation
@i{Dark corners are basically fractal---no matter how much
you illuminate, there's always a smaller but darker one.}
@@ -8518,7 +8518,7 @@ that does handle nested @code{@@include} statements.
@subsection Using @code{getline} from a Pipe
@c From private email, dated October 2, 1988. Used by permission, March 2013.
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@quotation
@i{Omniscience has much to recommend it.
Failing that, attention to details would be useful.}
@@ -10871,7 +10871,7 @@ $ @kbd{gawk 'BEGIN @{ print "hello, \}
In POSIX mode (@pxref{Options}), @command{gawk} does not
allow escaped newlines. Otherwise, it behaves as just described.
-Brian Kernighan's @command{awk} and BusyBox @command{awk}
+BWK @command{awk} and BusyBox @command{awk}
remove the backslash but leave the newline
intact, as part of the string:
@@ -11664,7 +11664,7 @@ For maximum portability, do not use the @samp{**}
operator.
@node Concatenation
@subsection String Concatenation
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@quotation
@i{It seemed like a good idea at the time.}
@author Brian Kernighan
@@ -18730,8 +18730,8 @@ and pipes.
Prior to @value{PVERSION} 4.0.2, @command{gawk}
would flush only the standard output if there was no argument,
and flush all output files and pipes if the argument was the null
-string. This was changed in order to be compatible with Brian
-Kernighan's @command{awk}, in the hope that standardizing this
+string. This was changed in order to be compatible with BWK
+@command{awk}, in the hope that standardizing this
feature in POSIX would then be easier (which indeed proved to be the case).
With @command{gawk},
@@ -21057,7 +21057,7 @@ it allows you to encapsulate algorithms and program
tasks in a single
place. It simplifies programming, making program development more
manageable and making programs more readable.
-@cindex Kernighan, Brian
+@cindex Kernighan, Brian @subentry quotes
@cindex Plauger, P.J.@:
In their seminal 1976 book, @cite{Software Tools},@footnote{Sadly, over 35
years later, many of the lessons taught by this book have yet to be
@@ -25277,6 +25277,8 @@ As a side note, this program does not follow our
recommended convention of namin
global variables with a leading capital letter. Doing that would
make the program a little easier to follow.
+@ifset FOR_PRINT
+@cindex Kernighan, Brian
The logic for choosing which lines to print represents a @dfn{state
machine}, which is ``a device which can be in one of a set number
of stable conditions depending on its previous condition and on the
@@ -25286,6 +25288,7 @@ Kernighan suggests that ``an alternative approach to
state machines is
to just read the input into an array, then use indexing. It's almost
always easier code, and for most inputs where you would use this, just
as fast.'' Consider how to rewrite the logic to follow this suggestion.
+@end ifset
@node Wc Program
@@ -27397,12 +27400,13 @@ Fix this problem.
without relying on @code{ord()} and @code{chr()}.)
@item
+@cindex Kernighan, Brian
In @file{uniq.awk} (@pxref{Uniq Program}, the
logic for choosing which lines to print represents a @dfn{state
-machine}, which is ``a device that can be in one of a set number of stable
+machine}, which is ``a device which can be in one of a set number of stable
conditions depending on its previous condition and on the present values
-of its inputs.''@footnote{This is the definition returned from entering
-@code{define: state machine} into Google.}
+of its inputs.''@footnote{This definition is from
+@uref{https://www.lexico.com/en/definition/state_machine}.}
Brian Kernighan suggests that
``an alternative approach to state machines is to just read
the input into an array, then use indexing. It's almost always
-----------------------------------------------------------------------
Summary of changes:
doc/ChangeLog | 6 +
doc/gawk.info | 944 ++++++++++++++++++++++++++++----------------------------
doc/gawk.texi | 24 +-
doc/gawktexi.in | 24 +-
4 files changed, 499 insertions(+), 499 deletions(-)
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] gawk branch, gawk-5.1-stable, updated. gawk-4.1.0-4110-ge7114e7,
Arnold Robbins <=