[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] gawk branch, master, updated. gawk-4.1.0-5217-gf60fe7e8
From: |
Arnold Robbins |
Subject: |
[SCM] gawk branch, master, updated. gawk-4.1.0-5217-gf60fe7e8 |
Date: |
Wed, 29 Mar 2023 13:33:33 -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, master has been updated
via f60fe7e831e6ac2fc817b503a89e98b4396cd6c2 (commit)
via 3d7e2e99724fdb52daabcd39f1ee6cffe70ee75f (commit)
via 2a1050120ada686a6bdfeee494eb0ad7eef67f5c (commit)
via 4aa0bf293859668649f1354ee588ea75a4bb0b74 (commit)
via 72a84d27f1011fd0381e61804b9cf0df68c575ae (commit)
via 82ac553dbf186f5056cfb3955efdbab692d19813 (commit)
via fd450250a51a5c126804c5c5fb3cc2c866184592 (commit)
from bafdbc1bb6da942a5099d884466e9bfc4c2af7bc (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=f60fe7e831e6ac2fc817b503a89e98b4396cd6c2
commit f60fe7e831e6ac2fc817b503a89e98b4396cd6c2
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Wed Mar 29 20:33:16 2023 +0300
More doc updates.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 07425432..f8d9bf24 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -3,6 +3,10 @@
* texinfo.tex: Sync from Texinfo.
* gawktexi.in (Dynamic Typing): Add a quote.
(Common Extensions): Sort the table entries, sort of.
+ * gawktexi.in: Several fixes related to CSV; thanks to
+ Antonio Columbo. Note that `nawk' is BWK awk.
+ (Common Extensions): Add entries to the table for \u and
+ CSV support.
2023-03-26 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/doc/gawk.info b/doc/gawk.info
index 7f1de2d5..614a7154 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -5126,7 +5126,7 @@ separator. To do this, use the special âBEGINâ
pattern (*note
BEGIN/END::). For example, here we set the value of âFSâ to the string
â":"â:
- awk 'BEGIN { FS = "," } ; { print $2 }'
+ awk 'BEGIN { FS = ":" } ; { print $2 }'
Given the input line:
@@ -5324,6 +5324,11 @@ newlines that are not enclosed in double quotes. Thus,
use of the
â--csvâ totally overrides normal record processing with âRSâ (*note
Records::).
+ Carriage-ReturnâLine-Feed Line Endings In CSV Files
+
+ â\r\nâ is the invention of the devil.
+ â _Brian Kernighan_
+
Many CSV files are imported from systems where the line terminator
for text files is a carriage-returnâline-feed pair (CR-LF, â\râ followed
by â\nâ). For ease of use, when processing CSV files, âgawkâ simply
@@ -8244,7 +8249,7 @@ 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.
- BWK âawkâ and BusyBox âawkâ remove the backslash but leave the
+ BWK âawkâ(2) and BusyBox âawkâ remove the backslash but leave the
newline intact, as part of the string:
$ nawk 'BEGIN { print "hello, \
@@ -8259,6 +8264,8 @@ uses double-precision floating-point numbers. On most
modern systems,
these are in IEEE 754 standard format. *Note Arbitrary Precision
Arithmetic::, for much more information.
+ (2) In all examples throughout this Info file, ânawkâ is BWK âawkâ.
+
File: gawk.info, Node: Nondecimal-numbers, Next: Regexp Constants, Prev:
Scalar Constants, Up: Constants
@@ -15544,9 +15551,9 @@ others do this:
⣠1
Or âawkâ could wait until runtime to set the type of âaâ. In this
-case, since âaâ was never assigned used before being passed to the
-function, how the function uses it forces the type to be resolved to
-either scalar or array. âgawkâ and the MKS âawkâ do this:
+case, since âaâ was never used before being passed to the function, how
+the function uses it forces the type to be resolved to either scalar or
+array. âgawkâ and the MKS âawkâ do this:
$ gawk -v A=0 -f funky.awk
⣠<>
@@ -30930,7 +30937,7 @@ unfortunately. It added the following features:
⢠The ability to make âgawkâ buffer output to pipes (*note
Noflush::).
- ⢠The â\uâ escape sequence (*note Escape Sequences::)
+ ⢠The â\uâ escape sequence (*note Escape Sequences::).
⢠The need for GNU âlibsigsegvâ was removed from âgawkâ. The
value-add was never very much and it caused problems in some
@@ -30950,10 +30957,12 @@ Feature BWK âawkâ
âmawkâ âgawkâ Now stand
--------------------------------------------------------------------------
â**â and â**=â operators X X
â\xâ escape sequence X X X
+â\uâ escape sequence X X
â/dev/stdinâ special file X X X
â/dev/stdoutâ special file X X X
â/dev/stderrâ special file X X X
âBINMODEâ variable X X
+CSV support X X
âFSâ as null string X X X
âdeleteâ without subscript X X X X
âfflush()â function X X X X
@@ -38448,7 +38457,6 @@ Index
* OFS variable <1>: Output Separators. (line 6)
* OFS variable <2>: User-modified. (line 116)
* op-codes, trace of internal: Options. (line 197)
-* op-codes, trace of internal <1>: Options. (line 203)
* OpenBSD: Glossary. (line 747)
* OpenSolaris: Other Versions. (line 100)
* operating systems, BSD-based: Manual History. (line 28)
@@ -39087,6 +39095,8 @@ Index
(line 50)
* sidebar, RS = "\0" Is Not Portable: gawk split records. (line 75)
* sidebar, Understanding $0: Changing Fields. (line 135)
+* sidebar, Carriage-ReturnâLine-Feed Line Endings In CSV Files: Comma
Separated Fields.
+ (line 45)
* sidebar, Changing FS Does Not Affect the Fields: Full Line Fields.
(line 14)
* sidebar, FS and IGNORECASE: Field Splitting Summary.
@@ -39649,532 +39659,533 @@ Node: Regexp Field Splitting243342
Node: Single Character Fields247171
Node: Comma Separated Fields248260
Ref: table-csv-examples249679
-Node: Command Line Field Separator251448
-Node: Full Line Fields254834
-Ref: Full Line Fields-Footnote-1256414
-Ref: Full Line Fields-Footnote-2256460
-Node: Field Splitting Summary256568
-Node: Constant Size259002
-Node: Fixed width data259746
-Node: Skipping intervening263265
-Node: Allowing trailing data264067
-Node: Fields with fixed data265132
-Node: Splitting By Content266758
-Ref: Splitting By Content-Footnote-1271027
-Node: More CSV271190
-Node: FS versus FPAT272843
-Node: Testing field creation274052
-Node: Multiple Line275830
-Node: Getline282312
-Node: Plain Getline284898
-Node: Getline/Variable287548
-Node: Getline/File288745
-Node: Getline/Variable/File290193
-Ref: Getline/Variable/File-Footnote-1291838
-Node: Getline/Pipe291934
-Node: Getline/Variable/Pipe294747
-Node: Getline/Coprocess295930
-Node: Getline/Variable/Coprocess297253
-Node: Getline Notes298019
-Node: Getline Summary300980
-Ref: table-getline-variants301424
-Node: Read Timeout302329
-Ref: Read Timeout-Footnote-1306293
-Node: Retrying Input306351
-Node: Command-line directories307618
-Node: Input Summary308556
-Node: Input Exercises311936
-Node: Printing312376
-Node: Print314319
-Node: Print Examples315825
-Node: Output Separators318678
-Node: OFMT320789
-Node: Printf322212
-Node: Basic Printf323017
-Node: Control Letters324653
-Node: Format Modifiers330122
-Node: Printf Examples336408
-Node: Redirection338953
-Node: Special FD346027
-Ref: Special FD-Footnote-1349317
-Node: Special Files349403
-Node: Other Inherited Files350032
-Node: Special Network351097
-Node: Special Caveats351985
-Node: Close Files And Pipes352968
-Ref: Close Files And Pipes-Footnote-1359104
-Node: Close Return Value359260
-Ref: table-close-pipe-return-values360535
-Ref: Close Return Value-Footnote-1361369
-Node: Noflush361525
-Node: Nonfatal363037
-Node: Output Summary365454
-Node: Output Exercises366740
-Node: Expressions367431
-Node: Values368633
-Node: Constants369311
-Node: Scalar Constants370008
-Ref: Scalar Constants-Footnote-1372583
-Node: Nondecimal-numbers372833
-Node: Regexp Constants375954
-Node: Using Constant Regexps376500
-Node: Standard Regexp Constants377146
-Node: Strong Regexp Constants380446
-Node: Variables384297
-Node: Using Variables384962
-Node: Assignment Options386942
-Node: Conversion389504
-Node: Strings And Numbers390036
-Ref: Strings And Numbers-Footnote-1393255
-Node: Locale influences conversions393364
-Ref: table-locale-affects396214
-Node: All Operators396857
-Node: Arithmetic Ops397498
-Node: Concatenation400328
-Ref: Concatenation-Footnote-1403278
-Node: Assignment Ops403401
-Ref: table-assign-ops408540
-Node: Increment Ops409922
-Node: Truth Values and Conditions413521
-Node: Truth Values414647
-Node: Typing and Comparison415738
-Node: Variable Typing416574
-Ref: Variable Typing-Footnote-1423236
-Ref: Variable Typing-Footnote-2423316
-Node: Comparison Operators423399
-Ref: table-relational-ops423826
-Node: POSIX String Comparison427512
-Ref: POSIX String Comparison-Footnote-1429271
-Ref: POSIX String Comparison-Footnote-2429414
-Node: Boolean Ops429498
-Ref: Boolean Ops-Footnote-1434191
-Node: Conditional Exp434287
-Node: Function Calls436073
-Node: Precedence440023
-Node: Locales443900
-Node: Expressions Summary445582
-Node: Patterns and Actions448245
-Node: Pattern Overview449387
-Node: Regexp Patterns451113
-Node: Expression Patterns451659
-Node: Ranges455568
-Node: BEGIN/END458746
-Node: Using BEGIN/END459559
-Ref: Using BEGIN/END-Footnote-1462469
-Node: I/O And BEGIN/END462579
-Node: BEGINFILE/ENDFILE465060
-Node: Empty468501
-Node: Using Shell Variables468818
-Node: Action Overview471156
-Node: Statements473591
-Node: If Statement475489
-Node: While Statement477058
-Node: Do Statement479146
-Node: For Statement480332
-Node: Switch Statement483689
-Node: Break Statement486240
-Node: Continue Statement488432
-Node: Next Statement490364
-Node: Nextfile Statement492861
-Node: Exit Statement495722
-Node: Built-in Variables498255
-Node: User-modified499434
-Node: Auto-set507645
-Ref: Auto-set-Footnote-1525744
-Ref: Auto-set-Footnote-2525962
-Node: ARGC and ARGV526018
-Node: Pattern Action Summary530457
-Node: Arrays533073
-Node: Array Basics534450
-Node: Array Intro535300
-Ref: figure-array-elements537316
-Ref: Array Intro-Footnote-1540185
-Node: Reference to Elements540317
-Node: Assigning Elements542839
-Node: Array Example543334
-Node: Scanning an Array545303
-Node: Controlling Scanning548400
-Ref: Controlling Scanning-Footnote-1555063
-Node: Numeric Array Subscripts555387
-Node: Uninitialized Subscripts557661
-Node: Delete559340
-Ref: Delete-Footnote-1562154
-Node: Multidimensional562211
-Node: Multiscanning565416
-Node: Arrays of Arrays567088
-Node: Arrays Summary571988
-Node: Functions574177
-Node: Built-in575237
-Node: Calling Built-in576426
-Node: Boolean Functions578473
-Node: Numeric Functions579043
-Ref: Numeric Functions-Footnote-1583236
-Ref: Numeric Functions-Footnote-2583920
-Ref: Numeric Functions-Footnote-3583972
-Node: String Functions584248
-Ref: String Functions-Footnote-1610479
-Ref: String Functions-Footnote-2610613
-Ref: String Functions-Footnote-3610873
-Node: Gory Details610960
-Ref: table-sub-escapes612867
-Ref: table-sub-proposed614513
-Ref: table-posix-sub616023
-Ref: table-gensub-escapes617711
-Ref: Gory Details-Footnote-1618645
-Node: I/O Functions618799
-Ref: table-system-return-values625486
-Ref: I/O Functions-Footnote-1627657
-Ref: I/O Functions-Footnote-2627805
-Node: Time Functions627925
-Ref: Time Functions-Footnote-1639081
-Ref: Time Functions-Footnote-2639157
-Ref: Time Functions-Footnote-3639319
-Ref: Time Functions-Footnote-4639430
-Ref: Time Functions-Footnote-5639548
-Ref: Time Functions-Footnote-6639783
-Node: Bitwise Functions640065
-Ref: table-bitwise-ops640667
-Ref: Bitwise Functions-Footnote-1646921
-Ref: Bitwise Functions-Footnote-2647100
-Node: Type Functions647297
-Node: I18N Functions650890
-Node: User-defined652633
-Node: Definition Syntax653453
-Ref: Definition Syntax-Footnote-1659281
-Node: Function Example659358
-Ref: Function Example-Footnote-1662337
-Node: Function Calling662359
-Node: Calling A Function662953
-Node: Variable Scope663923
-Node: Pass By Value/Reference666977
-Node: Function Caveats669709
-Ref: Function Caveats-Footnote-1671804
-Node: Return Statement671928
-Node: Dynamic Typing674983
-Node: Indirect Calls677380
-Node: Functions Summary688539
-Node: Library Functions691316
-Ref: Library Functions-Footnote-1694864
-Ref: Library Functions-Footnote-2695007
-Node: Library Names695182
-Ref: Library Names-Footnote-1698976
-Ref: Library Names-Footnote-2699203
-Node: General Functions699299
-Node: Strtonum Function700493
-Node: Assert Function703575
-Node: Round Function707027
-Node: Cliff Random Function708605
-Node: Ordinal Functions709638
-Ref: Ordinal Functions-Footnote-1712747
-Ref: Ordinal Functions-Footnote-2712999
-Node: Join Function713213
-Ref: Join Function-Footnote-1715016
-Node: Getlocaltime Function715220
-Node: Readfile Function718994
-Node: Shell Quoting721023
-Node: Isnumeric Function722479
-Node: Data File Management723891
-Node: Filetrans Function724523
-Node: Rewind Function728817
-Node: File Checking730796
-Ref: File Checking-Footnote-1732168
-Node: Empty Files732375
-Node: Ignoring Assigns734442
-Node: Getopt Function736016
-Ref: Getopt Function-Footnote-1751850
-Node: Passwd Functions752062
-Ref: Passwd Functions-Footnote-1761244
-Node: Group Functions761332
-Ref: Group Functions-Footnote-1769470
-Node: Walking Arrays769683
-Node: Library Functions Summary772731
-Node: Library Exercises774155
-Node: Sample Programs774642
-Node: Running Examples775424
-Node: Clones776176
-Node: Cut Program777448
-Node: Egrep Program787889
-Node: Id Program797206
-Node: Split Program807320
-Ref: Split Program-Footnote-1817555
-Node: Tee Program817742
-Node: Uniq Program820651
-Node: Wc Program828516
-Node: Bytes vs. Characters828911
-Node: Using extensions830513
-Node: wc program831293
-Node: Miscellaneous Programs836299
-Node: Dupword Program837528
-Node: Alarm Program839591
-Node: Translate Program844504
-Ref: Translate Program-Footnote-1849245
-Node: Labels Program849523
-Ref: Labels Program-Footnote-1852964
-Node: Word Sorting853056
-Node: History Sorting857250
-Node: Extract Program859525
-Node: Simple Sed867794
-Node: Igawk Program871010
-Ref: Igawk Program-Footnote-1886257
-Ref: Igawk Program-Footnote-2886463
-Ref: Igawk Program-Footnote-3886593
-Node: Anagram Program886720
-Node: Signature Program889816
-Node: Programs Summary891068
-Node: Programs Exercises892326
-Ref: Programs Exercises-Footnote-1896642
-Node: Advanced Features896728
-Node: Nondecimal Data899222
-Node: Boolean Typed Values900852
-Node: Array Sorting902827
-Node: Controlling Array Traversal903556
-Ref: Controlling Array Traversal-Footnote-1912063
-Node: Array Sorting Functions912185
-Ref: Array Sorting Functions-Footnote-1918304
-Node: Two-way I/O918512
-Ref: Two-way I/O-Footnote-1926507
-Ref: Two-way I/O-Footnote-2926698
-Node: TCP/IP Networking926780
-Node: Profiling929960
-Node: Persistent Memory939670
-Ref: Persistent Memory-Footnote-1948628
-Node: Extension Philosophy948759
-Node: Advanced Features Summary950294
-Node: Internationalization952564
-Node: I18N and L10N954270
-Node: Explaining gettext954965
-Ref: Explaining gettext-Footnote-1961118
-Ref: Explaining gettext-Footnote-2961313
-Node: Programmer i18n961478
-Ref: Programmer i18n-Footnote-1966591
-Node: Translator i18n966640
-Node: String Extraction967476
-Ref: String Extraction-Footnote-1968654
-Node: Printf Ordering968752
-Ref: Printf Ordering-Footnote-1971614
-Node: I18N Portability971682
-Ref: I18N Portability-Footnote-1974256
-Node: I18N Example974327
-Ref: I18N Example-Footnote-1977727
-Ref: I18N Example-Footnote-2977803
-Node: Gawk I18N977920
-Node: I18N Summary978576
-Node: Debugger979977
-Node: Debugging981001
-Node: Debugging Concepts981450
-Node: Debugging Terms983276
-Node: Awk Debugging985889
-Ref: Awk Debugging-Footnote-1986866
-Node: Sample Debugging Session987006
-Node: Debugger Invocation987558
-Node: Finding The Bug989187
-Node: List of Debugger Commands995873
-Node: Breakpoint Control997250
-Node: Debugger Execution Control1001082
-Node: Viewing And Changing Data1004562
-Node: Execution Stack1008300
-Node: Debugger Info1009981
-Node: Miscellaneous Debugger Commands1014280
-Node: Readline Support1019533
-Node: Limitations1020479
-Node: Debugging Summary1023123
-Node: Namespaces1024426
-Node: Global Namespace1025553
-Node: Qualified Names1026998
-Node: Default Namespace1028033
-Node: Changing The Namespace1028808
-Node: Naming Rules1030502
-Node: Internal Name Management1032417
-Node: Namespace Example1033487
-Node: Namespace And Features1036070
-Node: Namespace Summary1037527
-Node: Arbitrary Precision Arithmetic1039040
-Node: Computer Arithmetic1040559
-Ref: table-numeric-ranges1044376
-Ref: table-floating-point-ranges1044874
-Ref: Computer Arithmetic-Footnote-11045533
-Node: Math Definitions1045592
-Ref: table-ieee-formats1048637
-Node: MPFR features1049211
-Node: MPFR On Parole1049664
-Ref: MPFR On Parole-Footnote-11050508
-Node: MPFR Intro1050667
-Node: FP Math Caution1052357
-Ref: FP Math Caution-Footnote-11053431
-Node: Inexactness of computations1053808
-Node: Inexact representation1054839
-Node: Comparing FP Values1056222
-Node: Errors accumulate1057480
-Node: Strange values1058947
-Ref: Strange values-Footnote-11061613
-Node: Getting Accuracy1061718
-Node: Try To Round1064455
-Node: Setting precision1065362
-Ref: table-predefined-precision-strings1066067
-Node: Setting the rounding mode1067952
-Ref: table-gawk-rounding-modes1068334
-Ref: Setting the rounding mode-Footnote-11072392
-Node: Arbitrary Precision Integers1072575
-Ref: Arbitrary Precision Integers-Footnote-11075787
-Node: Checking for MPFR1075943
-Node: POSIX Floating Point Problems1077433
-Ref: POSIX Floating Point Problems-Footnote-11082297
-Node: Floating point summary1082335
-Node: Dynamic Extensions1084599
-Node: Extension Intro1086198
-Node: Plugin License1087506
-Node: Extension Mechanism Outline1088319
-Ref: figure-load-extension1088770
-Ref: figure-register-new-function1090355
-Ref: figure-call-new-function1091465
-Node: Extension API Description1093589
-Node: Extension API Functions Introduction1095318
-Ref: table-api-std-headers1097216
-Node: General Data Types1101680
-Ref: General Data Types-Footnote-11110848
-Node: Memory Allocation Functions1111163
-Ref: Memory Allocation Functions-Footnote-11115888
-Node: Constructor Functions1115987
-Node: API Ownership of MPFR and GMP Values1119892
-Node: Registration Functions1121453
-Node: Extension Functions1122157
-Node: Exit Callback Functions1127733
-Node: Extension Version String1129052
-Node: Input Parsers1129747
-Node: Output Wrappers1144391
-Node: Two-way processors1149239
-Node: Printing Messages1151600
-Ref: Printing Messages-Footnote-11152814
-Node: Updating ERRNO1152969
-Node: Requesting Values1153768
-Ref: table-value-types-returned1154521
-Node: Accessing Parameters1155630
-Node: Symbol Table Access1156914
-Node: Symbol table by name1157430
-Ref: Symbol table by name-Footnote-11160641
-Node: Symbol table by cookie1160773
-Ref: Symbol table by cookie-Footnote-11165054
-Node: Cached values1165118
-Ref: Cached values-Footnote-11168762
-Node: Array Manipulation1168919
-Ref: Array Manipulation-Footnote-11170022
-Node: Array Data Types1170059
-Ref: Array Data Types-Footnote-11172881
-Node: Array Functions1172981
-Node: Flattening Arrays1178010
-Node: Creating Arrays1185062
-Node: Redirection API1189912
-Node: Extension API Variables1192933
-Node: Extension Versioning1193658
-Ref: gawk-api-version1194095
-Node: Extension GMP/MPFR Versioning1195883
-Node: Extension API Informational Variables1197589
-Node: Extension API Boilerplate1198750
-Node: Changes from API V11202886
-Node: Finding Extensions1204520
-Node: Extension Example1205095
-Node: Internal File Description1205919
-Node: Internal File Ops1210243
-Ref: Internal File Ops-Footnote-11221801
-Node: Using Internal File Ops1221949
-Ref: Using Internal File Ops-Footnote-11224380
-Node: Extension Samples1224658
-Node: Extension Sample File Functions1226227
-Node: Extension Sample Fnmatch1234365
-Node: Extension Sample Fork1235960
-Node: Extension Sample Inplace1237236
-Node: Extension Sample Ord1240908
-Node: Extension Sample Readdir1241784
-Ref: table-readdir-file-types1242681
-Node: Extension Sample Revout1243819
-Node: Extension Sample Rev2way1244416
-Node: Extension Sample Read write array1245168
-Node: Extension Sample Readfile1248442
-Node: Extension Sample Time1249573
-Node: Extension Sample API Tests1251863
-Node: gawkextlib1252371
-Node: Extension summary1255407
-Node: Extension Exercises1259265
-Node: Language History1260543
-Node: V7/SVR3.11262257
-Node: SVR41264607
-Node: POSIX1266139
-Node: BTL1267564
-Node: POSIX/GNU1268333
-Node: Feature History1274864
-Node: Common Extensions1294430
-Node: Ranges and Locales1295799
-Ref: Ranges and Locales-Footnote-11300600
-Ref: Ranges and Locales-Footnote-21300627
-Ref: Ranges and Locales-Footnote-31300866
-Node: Contributors1301089
-Node: History summary1307294
-Node: Installation1308740
-Node: Gawk Distribution1309704
-Node: Getting1310196
-Node: Extracting1311195
-Node: Distribution contents1312907
-Node: Unix Installation1320987
-Node: Quick Installation1321809
-Node: Compiling with MPFR1324355
-Node: Shell Startup Files1325061
-Node: Additional Configuration Options1326218
-Node: Configuration Philosophy1328605
-Node: Compiling from Git1331107
-Node: Building the Documentation1331666
-Node: Non-Unix Installation1333078
-Node: PC Installation1333554
-Node: PC Binary Installation1334427
-Node: PC Compiling1335332
-Node: PC Using1336510
-Node: Cygwin1340238
-Node: MSYS1341494
-Node: OpenVMS Installation1342126
-Node: OpenVMS Compilation1342807
-Ref: OpenVMS Compilation-Footnote-11344290
-Node: OpenVMS Dynamic Extensions1344352
-Node: OpenVMS Installation Details1345988
-Node: OpenVMS Running1348423
-Node: OpenVMS GNV1352560
-Node: Bugs1353315
-Node: Bug definition1354239
-Node: Bug address1357890
-Node: Usenet1361481
-Node: Performance bugs1362712
-Node: Asking for help1365730
-Node: Maintainers1367721
-Node: Other Versions1368748
-Node: Installation summary1377680
-Node: Notes1379064
-Node: Compatibility Mode1379874
-Node: Additions1380696
-Node: Accessing The Source1381641
-Node: Adding Code1383176
-Node: New Ports1390312
-Node: Derived Files1394822
-Ref: Derived Files-Footnote-11400669
-Ref: Derived Files-Footnote-21400704
-Ref: Derived Files-Footnote-31401321
-Node: Future Extensions1401435
-Node: Implementation Limitations1402107
-Node: Extension Design1403349
-Node: Old Extension Problems1404513
-Ref: Old Extension Problems-Footnote-11406089
-Node: Extension New Mechanism Goals1406150
-Ref: Extension New Mechanism Goals-Footnote-11409646
-Node: Extension Other Design Decisions1409847
-Node: Extension Future Growth1412046
-Node: Notes summary1412670
-Node: Basic Concepts1413883
-Node: Basic High Level1414568
-Ref: figure-general-flow1414850
-Ref: figure-process-flow1415557
-Ref: Basic High Level-Footnote-11418958
-Node: Basic Data Typing1419147
-Node: Glossary1422565
-Node: Copying1455687
-Node: GNU Free Documentation License1493448
-Node: Index1518771
+Node: Command Line Field Separator251609
+Node: Full Line Fields254995
+Ref: Full Line Fields-Footnote-1256575
+Ref: Full Line Fields-Footnote-2256621
+Node: Field Splitting Summary256729
+Node: Constant Size259163
+Node: Fixed width data259907
+Node: Skipping intervening263426
+Node: Allowing trailing data264228
+Node: Fields with fixed data265293
+Node: Splitting By Content266919
+Ref: Splitting By Content-Footnote-1271188
+Node: More CSV271351
+Node: FS versus FPAT273004
+Node: Testing field creation274213
+Node: Multiple Line275991
+Node: Getline282473
+Node: Plain Getline285059
+Node: Getline/Variable287709
+Node: Getline/File288906
+Node: Getline/Variable/File290354
+Ref: Getline/Variable/File-Footnote-1291999
+Node: Getline/Pipe292095
+Node: Getline/Variable/Pipe294908
+Node: Getline/Coprocess296091
+Node: Getline/Variable/Coprocess297414
+Node: Getline Notes298180
+Node: Getline Summary301141
+Ref: table-getline-variants301585
+Node: Read Timeout302490
+Ref: Read Timeout-Footnote-1306454
+Node: Retrying Input306512
+Node: Command-line directories307779
+Node: Input Summary308717
+Node: Input Exercises312097
+Node: Printing312537
+Node: Print314480
+Node: Print Examples315986
+Node: Output Separators318839
+Node: OFMT320950
+Node: Printf322373
+Node: Basic Printf323178
+Node: Control Letters324814
+Node: Format Modifiers330283
+Node: Printf Examples336569
+Node: Redirection339114
+Node: Special FD346188
+Ref: Special FD-Footnote-1349478
+Node: Special Files349564
+Node: Other Inherited Files350193
+Node: Special Network351258
+Node: Special Caveats352146
+Node: Close Files And Pipes353129
+Ref: Close Files And Pipes-Footnote-1359265
+Node: Close Return Value359421
+Ref: table-close-pipe-return-values360696
+Ref: Close Return Value-Footnote-1361530
+Node: Noflush361686
+Node: Nonfatal363198
+Node: Output Summary365615
+Node: Output Exercises366901
+Node: Expressions367592
+Node: Values368794
+Node: Constants369472
+Node: Scalar Constants370169
+Ref: Scalar Constants-Footnote-1372747
+Ref: Scalar Constants-Footnote-2372997
+Node: Nondecimal-numbers373077
+Node: Regexp Constants376198
+Node: Using Constant Regexps376744
+Node: Standard Regexp Constants377390
+Node: Strong Regexp Constants380690
+Node: Variables384541
+Node: Using Variables385206
+Node: Assignment Options387186
+Node: Conversion389748
+Node: Strings And Numbers390280
+Ref: Strings And Numbers-Footnote-1393499
+Node: Locale influences conversions393608
+Ref: table-locale-affects396458
+Node: All Operators397101
+Node: Arithmetic Ops397742
+Node: Concatenation400572
+Ref: Concatenation-Footnote-1403522
+Node: Assignment Ops403645
+Ref: table-assign-ops408784
+Node: Increment Ops410166
+Node: Truth Values and Conditions413765
+Node: Truth Values414891
+Node: Typing and Comparison415982
+Node: Variable Typing416818
+Ref: Variable Typing-Footnote-1423480
+Ref: Variable Typing-Footnote-2423560
+Node: Comparison Operators423643
+Ref: table-relational-ops424070
+Node: POSIX String Comparison427756
+Ref: POSIX String Comparison-Footnote-1429515
+Ref: POSIX String Comparison-Footnote-2429658
+Node: Boolean Ops429742
+Ref: Boolean Ops-Footnote-1434435
+Node: Conditional Exp434531
+Node: Function Calls436317
+Node: Precedence440267
+Node: Locales444144
+Node: Expressions Summary445826
+Node: Patterns and Actions448489
+Node: Pattern Overview449631
+Node: Regexp Patterns451357
+Node: Expression Patterns451903
+Node: Ranges455812
+Node: BEGIN/END458990
+Node: Using BEGIN/END459803
+Ref: Using BEGIN/END-Footnote-1462713
+Node: I/O And BEGIN/END462823
+Node: BEGINFILE/ENDFILE465304
+Node: Empty468745
+Node: Using Shell Variables469062
+Node: Action Overview471400
+Node: Statements473835
+Node: If Statement475733
+Node: While Statement477302
+Node: Do Statement479390
+Node: For Statement480576
+Node: Switch Statement483933
+Node: Break Statement486484
+Node: Continue Statement488676
+Node: Next Statement490608
+Node: Nextfile Statement493105
+Node: Exit Statement495966
+Node: Built-in Variables498499
+Node: User-modified499678
+Node: Auto-set507889
+Ref: Auto-set-Footnote-1525988
+Ref: Auto-set-Footnote-2526206
+Node: ARGC and ARGV526262
+Node: Pattern Action Summary530701
+Node: Arrays533317
+Node: Array Basics534694
+Node: Array Intro535544
+Ref: figure-array-elements537560
+Ref: Array Intro-Footnote-1540429
+Node: Reference to Elements540561
+Node: Assigning Elements543083
+Node: Array Example543578
+Node: Scanning an Array545547
+Node: Controlling Scanning548644
+Ref: Controlling Scanning-Footnote-1555307
+Node: Numeric Array Subscripts555631
+Node: Uninitialized Subscripts557905
+Node: Delete559584
+Ref: Delete-Footnote-1562398
+Node: Multidimensional562455
+Node: Multiscanning565660
+Node: Arrays of Arrays567332
+Node: Arrays Summary572232
+Node: Functions574421
+Node: Built-in575481
+Node: Calling Built-in576670
+Node: Boolean Functions578717
+Node: Numeric Functions579287
+Ref: Numeric Functions-Footnote-1583480
+Ref: Numeric Functions-Footnote-2584164
+Ref: Numeric Functions-Footnote-3584216
+Node: String Functions584492
+Ref: String Functions-Footnote-1610723
+Ref: String Functions-Footnote-2610857
+Ref: String Functions-Footnote-3611117
+Node: Gory Details611204
+Ref: table-sub-escapes613111
+Ref: table-sub-proposed614757
+Ref: table-posix-sub616267
+Ref: table-gensub-escapes617955
+Ref: Gory Details-Footnote-1618889
+Node: I/O Functions619043
+Ref: table-system-return-values625730
+Ref: I/O Functions-Footnote-1627901
+Ref: I/O Functions-Footnote-2628049
+Node: Time Functions628169
+Ref: Time Functions-Footnote-1639325
+Ref: Time Functions-Footnote-2639401
+Ref: Time Functions-Footnote-3639563
+Ref: Time Functions-Footnote-4639674
+Ref: Time Functions-Footnote-5639792
+Ref: Time Functions-Footnote-6640027
+Node: Bitwise Functions640309
+Ref: table-bitwise-ops640911
+Ref: Bitwise Functions-Footnote-1647165
+Ref: Bitwise Functions-Footnote-2647344
+Node: Type Functions647541
+Node: I18N Functions651134
+Node: User-defined652877
+Node: Definition Syntax653697
+Ref: Definition Syntax-Footnote-1659525
+Node: Function Example659602
+Ref: Function Example-Footnote-1662581
+Node: Function Calling662603
+Node: Calling A Function663197
+Node: Variable Scope664167
+Node: Pass By Value/Reference667221
+Node: Function Caveats669953
+Ref: Function Caveats-Footnote-1672048
+Node: Return Statement672172
+Node: Dynamic Typing675227
+Node: Indirect Calls677615
+Node: Functions Summary688774
+Node: Library Functions691551
+Ref: Library Functions-Footnote-1695099
+Ref: Library Functions-Footnote-2695242
+Node: Library Names695417
+Ref: Library Names-Footnote-1699211
+Ref: Library Names-Footnote-2699438
+Node: General Functions699534
+Node: Strtonum Function700728
+Node: Assert Function703810
+Node: Round Function707262
+Node: Cliff Random Function708840
+Node: Ordinal Functions709873
+Ref: Ordinal Functions-Footnote-1712982
+Ref: Ordinal Functions-Footnote-2713234
+Node: Join Function713448
+Ref: Join Function-Footnote-1715251
+Node: Getlocaltime Function715455
+Node: Readfile Function719229
+Node: Shell Quoting721258
+Node: Isnumeric Function722714
+Node: Data File Management724126
+Node: Filetrans Function724758
+Node: Rewind Function729052
+Node: File Checking731031
+Ref: File Checking-Footnote-1732403
+Node: Empty Files732610
+Node: Ignoring Assigns734677
+Node: Getopt Function736251
+Ref: Getopt Function-Footnote-1752085
+Node: Passwd Functions752297
+Ref: Passwd Functions-Footnote-1761479
+Node: Group Functions761567
+Ref: Group Functions-Footnote-1769705
+Node: Walking Arrays769918
+Node: Library Functions Summary772966
+Node: Library Exercises774390
+Node: Sample Programs774877
+Node: Running Examples775659
+Node: Clones776411
+Node: Cut Program777683
+Node: Egrep Program788124
+Node: Id Program797441
+Node: Split Program807555
+Ref: Split Program-Footnote-1817790
+Node: Tee Program817977
+Node: Uniq Program820886
+Node: Wc Program828751
+Node: Bytes vs. Characters829146
+Node: Using extensions830748
+Node: wc program831528
+Node: Miscellaneous Programs836534
+Node: Dupword Program837763
+Node: Alarm Program839826
+Node: Translate Program844739
+Ref: Translate Program-Footnote-1849480
+Node: Labels Program849758
+Ref: Labels Program-Footnote-1853199
+Node: Word Sorting853291
+Node: History Sorting857485
+Node: Extract Program859760
+Node: Simple Sed868029
+Node: Igawk Program871245
+Ref: Igawk Program-Footnote-1886492
+Ref: Igawk Program-Footnote-2886698
+Ref: Igawk Program-Footnote-3886828
+Node: Anagram Program886955
+Node: Signature Program890051
+Node: Programs Summary891303
+Node: Programs Exercises892561
+Ref: Programs Exercises-Footnote-1896877
+Node: Advanced Features896963
+Node: Nondecimal Data899457
+Node: Boolean Typed Values901087
+Node: Array Sorting903062
+Node: Controlling Array Traversal903791
+Ref: Controlling Array Traversal-Footnote-1912298
+Node: Array Sorting Functions912420
+Ref: Array Sorting Functions-Footnote-1918539
+Node: Two-way I/O918747
+Ref: Two-way I/O-Footnote-1926742
+Ref: Two-way I/O-Footnote-2926933
+Node: TCP/IP Networking927015
+Node: Profiling930195
+Node: Persistent Memory939905
+Ref: Persistent Memory-Footnote-1948863
+Node: Extension Philosophy948994
+Node: Advanced Features Summary950529
+Node: Internationalization952799
+Node: I18N and L10N954505
+Node: Explaining gettext955200
+Ref: Explaining gettext-Footnote-1961353
+Ref: Explaining gettext-Footnote-2961548
+Node: Programmer i18n961713
+Ref: Programmer i18n-Footnote-1966826
+Node: Translator i18n966875
+Node: String Extraction967711
+Ref: String Extraction-Footnote-1968889
+Node: Printf Ordering968987
+Ref: Printf Ordering-Footnote-1971849
+Node: I18N Portability971917
+Ref: I18N Portability-Footnote-1974491
+Node: I18N Example974562
+Ref: I18N Example-Footnote-1977962
+Ref: I18N Example-Footnote-2978038
+Node: Gawk I18N978155
+Node: I18N Summary978811
+Node: Debugger980212
+Node: Debugging981236
+Node: Debugging Concepts981685
+Node: Debugging Terms983511
+Node: Awk Debugging986124
+Ref: Awk Debugging-Footnote-1987101
+Node: Sample Debugging Session987241
+Node: Debugger Invocation987793
+Node: Finding The Bug989422
+Node: List of Debugger Commands996108
+Node: Breakpoint Control997485
+Node: Debugger Execution Control1001317
+Node: Viewing And Changing Data1004797
+Node: Execution Stack1008535
+Node: Debugger Info1010216
+Node: Miscellaneous Debugger Commands1014515
+Node: Readline Support1019768
+Node: Limitations1020714
+Node: Debugging Summary1023358
+Node: Namespaces1024661
+Node: Global Namespace1025788
+Node: Qualified Names1027233
+Node: Default Namespace1028268
+Node: Changing The Namespace1029043
+Node: Naming Rules1030737
+Node: Internal Name Management1032652
+Node: Namespace Example1033722
+Node: Namespace And Features1036305
+Node: Namespace Summary1037762
+Node: Arbitrary Precision Arithmetic1039275
+Node: Computer Arithmetic1040794
+Ref: table-numeric-ranges1044611
+Ref: table-floating-point-ranges1045109
+Ref: Computer Arithmetic-Footnote-11045768
+Node: Math Definitions1045827
+Ref: table-ieee-formats1048872
+Node: MPFR features1049446
+Node: MPFR On Parole1049899
+Ref: MPFR On Parole-Footnote-11050743
+Node: MPFR Intro1050902
+Node: FP Math Caution1052592
+Ref: FP Math Caution-Footnote-11053666
+Node: Inexactness of computations1054043
+Node: Inexact representation1055074
+Node: Comparing FP Values1056457
+Node: Errors accumulate1057715
+Node: Strange values1059182
+Ref: Strange values-Footnote-11061848
+Node: Getting Accuracy1061953
+Node: Try To Round1064690
+Node: Setting precision1065597
+Ref: table-predefined-precision-strings1066302
+Node: Setting the rounding mode1068187
+Ref: table-gawk-rounding-modes1068569
+Ref: Setting the rounding mode-Footnote-11072627
+Node: Arbitrary Precision Integers1072810
+Ref: Arbitrary Precision Integers-Footnote-11076022
+Node: Checking for MPFR1076178
+Node: POSIX Floating Point Problems1077668
+Ref: POSIX Floating Point Problems-Footnote-11082532
+Node: Floating point summary1082570
+Node: Dynamic Extensions1084834
+Node: Extension Intro1086433
+Node: Plugin License1087741
+Node: Extension Mechanism Outline1088554
+Ref: figure-load-extension1089005
+Ref: figure-register-new-function1090590
+Ref: figure-call-new-function1091700
+Node: Extension API Description1093824
+Node: Extension API Functions Introduction1095553
+Ref: table-api-std-headers1097451
+Node: General Data Types1101915
+Ref: General Data Types-Footnote-11111083
+Node: Memory Allocation Functions1111398
+Ref: Memory Allocation Functions-Footnote-11116123
+Node: Constructor Functions1116222
+Node: API Ownership of MPFR and GMP Values1120127
+Node: Registration Functions1121688
+Node: Extension Functions1122392
+Node: Exit Callback Functions1127968
+Node: Extension Version String1129287
+Node: Input Parsers1129982
+Node: Output Wrappers1144626
+Node: Two-way processors1149474
+Node: Printing Messages1151835
+Ref: Printing Messages-Footnote-11153049
+Node: Updating ERRNO1153204
+Node: Requesting Values1154003
+Ref: table-value-types-returned1154756
+Node: Accessing Parameters1155865
+Node: Symbol Table Access1157149
+Node: Symbol table by name1157665
+Ref: Symbol table by name-Footnote-11160876
+Node: Symbol table by cookie1161008
+Ref: Symbol table by cookie-Footnote-11165289
+Node: Cached values1165353
+Ref: Cached values-Footnote-11168997
+Node: Array Manipulation1169154
+Ref: Array Manipulation-Footnote-11170257
+Node: Array Data Types1170294
+Ref: Array Data Types-Footnote-11173116
+Node: Array Functions1173216
+Node: Flattening Arrays1178245
+Node: Creating Arrays1185297
+Node: Redirection API1190147
+Node: Extension API Variables1193168
+Node: Extension Versioning1193893
+Ref: gawk-api-version1194330
+Node: Extension GMP/MPFR Versioning1196118
+Node: Extension API Informational Variables1197824
+Node: Extension API Boilerplate1198985
+Node: Changes from API V11203121
+Node: Finding Extensions1204755
+Node: Extension Example1205330
+Node: Internal File Description1206154
+Node: Internal File Ops1210478
+Ref: Internal File Ops-Footnote-11222036
+Node: Using Internal File Ops1222184
+Ref: Using Internal File Ops-Footnote-11224615
+Node: Extension Samples1224893
+Node: Extension Sample File Functions1226462
+Node: Extension Sample Fnmatch1234600
+Node: Extension Sample Fork1236195
+Node: Extension Sample Inplace1237471
+Node: Extension Sample Ord1241143
+Node: Extension Sample Readdir1242019
+Ref: table-readdir-file-types1242916
+Node: Extension Sample Revout1244054
+Node: Extension Sample Rev2way1244651
+Node: Extension Sample Read write array1245403
+Node: Extension Sample Readfile1248677
+Node: Extension Sample Time1249808
+Node: Extension Sample API Tests1252098
+Node: gawkextlib1252606
+Node: Extension summary1255642
+Node: Extension Exercises1259500
+Node: Language History1260778
+Node: V7/SVR3.11262492
+Node: SVR41264842
+Node: POSIX1266374
+Node: BTL1267799
+Node: POSIX/GNU1268568
+Node: Feature History1275099
+Node: Common Extensions1294666
+Node: Ranges and Locales1296143
+Ref: Ranges and Locales-Footnote-11300944
+Ref: Ranges and Locales-Footnote-21300971
+Ref: Ranges and Locales-Footnote-31301210
+Node: Contributors1301433
+Node: History summary1307638
+Node: Installation1309084
+Node: Gawk Distribution1310048
+Node: Getting1310540
+Node: Extracting1311539
+Node: Distribution contents1313251
+Node: Unix Installation1321331
+Node: Quick Installation1322153
+Node: Compiling with MPFR1324699
+Node: Shell Startup Files1325405
+Node: Additional Configuration Options1326562
+Node: Configuration Philosophy1328949
+Node: Compiling from Git1331451
+Node: Building the Documentation1332010
+Node: Non-Unix Installation1333422
+Node: PC Installation1333898
+Node: PC Binary Installation1334771
+Node: PC Compiling1335676
+Node: PC Using1336854
+Node: Cygwin1340582
+Node: MSYS1341838
+Node: OpenVMS Installation1342470
+Node: OpenVMS Compilation1343151
+Ref: OpenVMS Compilation-Footnote-11344634
+Node: OpenVMS Dynamic Extensions1344696
+Node: OpenVMS Installation Details1346332
+Node: OpenVMS Running1348767
+Node: OpenVMS GNV1352904
+Node: Bugs1353659
+Node: Bug definition1354583
+Node: Bug address1358234
+Node: Usenet1361825
+Node: Performance bugs1363056
+Node: Asking for help1366074
+Node: Maintainers1368065
+Node: Other Versions1369092
+Node: Installation summary1378024
+Node: Notes1379408
+Node: Compatibility Mode1380218
+Node: Additions1381040
+Node: Accessing The Source1381985
+Node: Adding Code1383520
+Node: New Ports1390656
+Node: Derived Files1395166
+Ref: Derived Files-Footnote-11401013
+Ref: Derived Files-Footnote-21401048
+Ref: Derived Files-Footnote-31401665
+Node: Future Extensions1401779
+Node: Implementation Limitations1402451
+Node: Extension Design1403693
+Node: Old Extension Problems1404857
+Ref: Old Extension Problems-Footnote-11406433
+Node: Extension New Mechanism Goals1406494
+Ref: Extension New Mechanism Goals-Footnote-11409990
+Node: Extension Other Design Decisions1410191
+Node: Extension Future Growth1412390
+Node: Notes summary1413014
+Node: Basic Concepts1414227
+Node: Basic High Level1414912
+Ref: figure-general-flow1415194
+Ref: figure-process-flow1415901
+Ref: Basic High Level-Footnote-11419302
+Node: Basic Data Typing1419491
+Node: Glossary1422909
+Node: Copying1456031
+Node: GNU Free Documentation License1493792
+Node: Index1519115
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 673cfe4b..56748299 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -4191,7 +4191,6 @@ sign in the output.
@cindex comma separated values (CSV) data @subentry @option{--csv} option
@cindex CSV (comma separated values) data @subentry @option{-k} option
@cindex CSV (comma separated values) data @subentry @option{--csv} option
-@cindex op-codes, trace of internal
Enable special processing for files with comma separated values
(CSV). @xref{Comma Separated Fields}.
This option cannot be used with @option{--posix}. Attempting to do
@@ -7889,7 +7888,7 @@ For example, here we set the value of @code{FS} to the
string
@code{":"}:
@example
-awk 'BEGIN @{ FS = "," @} ; @{ print $2 @}'
+awk 'BEGIN @{ FS = ":" @} ; @{ print $2 @}'
@end example
@cindex @code{BEGIN} pattern
@@ -8147,11 +8146,45 @@ In order to deal with such things, when processing CSV
files,
are not enclosed in double quotes. Thus, use of the @option{--csv}
totally overrides normal record processing with @code{RS} (@pxref{Records}).
+@cindex sidebar @subentry Carriage-Return--Line-Feed Line Endings In CSV Files
+@ifdocbook
+@docbook
+<sidebar><title>Carriage-Return--Line-Feed Line Endings In CSV Files</title>
+@end docbook
+
+@quotation
+@code{\r\n} @i{is the invention of the devil.}
+@author Brian Kernighan
+@end quotation
+
+Many CSV files are imported from systems where the line terminator
+for text files is a carriage-return--line-feed pair
+(CR-LF, @code{\r} followed by @code{\n}).
+For ease of use, when processing CSV files, @command{gawk} simply
+strips out any carriage-return characters in the input.
+
+@docbook
+</sidebar>
+@end docbook
+@end ifdocbook
+
+@ifnotdocbook
+@cartouche
+@center @b{Carriage-Return--Line-Feed Line Endings In CSV Files}
+
+
+@quotation
+@code{\r\n} @i{is the invention of the devil.}
+@author Brian Kernighan
+@end quotation
+
Many CSV files are imported from systems where the line terminator
for text files is a carriage-return--line-feed pair
(CR-LF, @code{\r} followed by @code{\n}).
For ease of use, when processing CSV files, @command{gawk} simply
strips out any carriage-return characters in the input.
+@end cartouche
+@end ifnotdocbook
The behavior of the @code{split()} function (not formally discussed
yet, see @ref{String Functions}) differs slightly when processing CSV
@@ -11922,7 +11955,8 @@ $ @kbd{gawk 'BEGIN @{ print "hello, \}
In POSIX mode (@pxref{Options}), @command{gawk} does not
allow escaped newlines. Otherwise, it behaves as just described.
-BWK @command{awk} and BusyBox @command{awk}
+BWK @command{awk}@footnote{In all examples throughout this @value{DOCUMENT},
+@command{nawk} is BWK @command{awk}.} and BusyBox @command{awk}
remove the backslash but leave the newline
intact, as part of the string:
@@ -22235,7 +22269,7 @@ $ @kbd{nawk -v A=1 -f funky.awk}
@end example
Or @command{awk} could wait until runtime to set the type of @code{a}.
-In this case, since @code{a} was never assigned used before being
+In this case, since @code{a} was never used before being
passed to the function, how the function uses it forces the type to
be resolved to either scalar or array. @command{gawk}
and the MKS @command{awk} do this:
@@ -42381,7 +42415,7 @@ The ability to make @command{gawk} buffer output to
pipes
@item
The @samp{\u} escape sequence
-(@pxref{Escape Sequences})
+(@pxref{Escape Sequences}).
@item
The need for GNU @code{libsigsegv} was removed from @command{gawk}.
@@ -42407,10 +42441,12 @@ the three most widely used freely available versions
of @command{awk}
@headitem Feature @tab BWK @command{awk} @tab @command{mawk} @tab
@command{gawk} @tab Now standard
@item @code{**} and @code{**=} operators @tab X @tab @tab X @tab
@item @samp{\x} escape sequence @tab X @tab X @tab X @tab
+@item @samp{\u} escape sequence @tab X @tab @tab X @tab
@item @file{/dev/stdin} special file @tab X @tab X @tab X @tab
@item @file{/dev/stdout} special file @tab X @tab X @tab X @tab
@item @file{/dev/stderr} special file @tab X @tab X @tab X @tab
@item @code{BINMODE} variable @tab @tab X @tab X @tab
+@item CSV support @tab X @tab @tab X @tab
@item @code{FS} as null string @tab X @tab X @tab X @tab
@item @code{delete} without subscript @tab X @tab X @tab X @tab X
@item @code{fflush()} function @tab X @tab X @tab X @tab X
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 7eb91428..28359633 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -4097,7 +4097,6 @@ sign in the output.
@cindex comma separated values (CSV) data @subentry @option{--csv} option
@cindex CSV (comma separated values) data @subentry @option{-k} option
@cindex CSV (comma separated values) data @subentry @option{--csv} option
-@cindex op-codes, trace of internal
Enable special processing for files with comma separated values
(CSV). @xref{Comma Separated Fields}.
This option cannot be used with @option{--posix}. Attempting to do
@@ -7450,7 +7449,7 @@ For example, here we set the value of @code{FS} to the
string
@code{":"}:
@example
-awk 'BEGIN @{ FS = "," @} ; @{ print $2 @}'
+awk 'BEGIN @{ FS = ":" @} ; @{ print $2 @}'
@end example
@cindex @code{BEGIN} pattern
@@ -7708,11 +7707,18 @@ In order to deal with such things, when processing CSV
files,
are not enclosed in double quotes. Thus, use of the @option{--csv}
totally overrides normal record processing with @code{RS} (@pxref{Records}).
+@sidebar Carriage-Return--Line-Feed Line Endings In CSV Files
+@quotation
+@code{\r\n} @i{is the invention of the devil.}
+@author Brian Kernighan
+@end quotation
+
Many CSV files are imported from systems where the line terminator
for text files is a carriage-return--line-feed pair
(CR-LF, @code{\r} followed by @code{\n}).
For ease of use, when processing CSV files, @command{gawk} simply
strips out any carriage-return characters in the input.
+@end sidebar
The behavior of the @code{split()} function (not formally discussed
yet, see @ref{String Functions}) differs slightly when processing CSV
@@ -11346,7 +11352,8 @@ $ @kbd{gawk 'BEGIN @{ print "hello, \}
In POSIX mode (@pxref{Options}), @command{gawk} does not
allow escaped newlines. Otherwise, it behaves as just described.
-BWK @command{awk} and BusyBox @command{awk}
+BWK @command{awk}@footnote{In all examples throughout this @value{DOCUMENT},
+@command{nawk} is BWK @command{awk}.} and BusyBox @command{awk}
remove the backslash but leave the newline
intact, as part of the string:
@@ -21216,7 +21223,7 @@ $ @kbd{nawk -v A=1 -f funky.awk}
@end example
Or @command{awk} could wait until runtime to set the type of @code{a}.
-In this case, since @code{a} was never assigned used before being
+In this case, since @code{a} was never used before being
passed to the function, how the function uses it forces the type to
be resolved to either scalar or array. @command{gawk}
and the MKS @command{awk} do this:
@@ -41293,7 +41300,7 @@ The ability to make @command{gawk} buffer output to
pipes
@item
The @samp{\u} escape sequence
-(@pxref{Escape Sequences})
+(@pxref{Escape Sequences}).
@item
The need for GNU @code{libsigsegv} was removed from @command{gawk}.
@@ -41319,10 +41326,12 @@ the three most widely used freely available versions
of @command{awk}
@headitem Feature @tab BWK @command{awk} @tab @command{mawk} @tab
@command{gawk} @tab Now standard
@item @code{**} and @code{**=} operators @tab X @tab @tab X @tab
@item @samp{\x} escape sequence @tab X @tab X @tab X @tab
+@item @samp{\u} escape sequence @tab X @tab @tab X @tab
@item @file{/dev/stdin} special file @tab X @tab X @tab X @tab
@item @file{/dev/stdout} special file @tab X @tab X @tab X @tab
@item @file{/dev/stderr} special file @tab X @tab X @tab X @tab
@item @code{BINMODE} variable @tab @tab X @tab X @tab
+@item CSV support @tab X @tab @tab X @tab
@item @code{FS} as null string @tab X @tab X @tab X @tab
@item @code{delete} without subscript @tab X @tab X @tab X @tab X
@item @code{fflush()} function @tab X @tab X @tab X @tab X
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=3d7e2e99724fdb52daabcd39f1ee6cffe70ee75f
commit 3d7e2e99724fdb52daabcd39f1ee6cffe70ee75f
Merge: 82ac553d 2a105012
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Wed Mar 29 20:24:51 2023 +0300
Merge branch 'gawk-5.2-stable'
diff --cc doc/gawk.info
index 87f9eb34,52dcc7b0..7f1de2d5
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@@ -39557,621 -39364,618 +39560,621 @@@ Inde
Tag Table:
Node: Top1229
-Node: Foreword346679
-Node: Foreword451279
-Node: Preface52828
-Ref: Preface-Footnote-155820
-Ref: Preface-Footnote-255929
-Ref: Preface-Footnote-356163
-Node: History56309
-Node: Names58773
-Ref: Names-Footnote-159936
-Node: This Manual60099
-Ref: This Manual-Footnote-167049
-Node: Conventions67161
-Node: Manual History69639
-Ref: Manual History-Footnote-172676
-Ref: Manual History-Footnote-272723
-Node: How To Contribute72801
-Node: Acknowledgments73751
-Node: Getting Started78749
-Node: Running gawk81276
-Node: One-shot82494
-Node: Read Terminal83797
-Node: Long85857
-Node: Executable Scripts87438
-Ref: Executable Scripts-Footnote-190213
-Node: Comments90320
-Node: Quoting92858
-Node: DOS Quoting98507
-Node: Sample Data Files100593
-Node: Very Simple103230
-Node: Two Rules109509
-Node: More Complex111463
-Node: Statements/Lines113903
-Ref: Statements/Lines-Footnote-1118783
-Node: Other Features119072
-Node: When120040
-Ref: When-Footnote-1121846
-Node: Intro Summary121911
-Node: Invoking Gawk122867
-Node: Command Line124437
-Node: Options125288
-Ref: Options-Footnote-1144437
-Ref: Options-Footnote-2144672
-Node: Other Arguments144697
-Node: Naming Standard Input148874
-Node: Environment Variables150144
-Node: AWKPATH Variable150718
-Ref: AWKPATH Variable-Footnote-1154308
-Ref: AWKPATH Variable-Footnote-2154342
-Node: AWKLIBPATH Variable154735
-Ref: AWKLIBPATH Variable-Footnote-1156510
-Node: Other Environment Variables156907
-Node: Exit Status161403
-Node: Include Files162118
-Node: Loading Shared Libraries166178
-Node: Obsolete167670
-Node: Undocumented168306
-Node: Invoking Summary168605
-Node: Regexp171632
-Node: Regexp Usage173126
-Node: Escape Sequences175227
-Node: Regexp Operators181758
-Node: Regexp Operator Details182251
-Ref: Regexp Operator Details-Footnote-1190117
-Node: Interval Expressions190276
-Ref: Interval Expressions-Footnote-1192545
-Node: Bracket Expressions192645
-Ref: table-char-classes195205
-Node: Leftmost Longest198727
-Node: Computed Regexps200087
-Node: GNU Regexp Operators203610
-Node: Case-sensitivity207633
-Ref: Case-sensitivity-Footnote-1210590
-Ref: Case-sensitivity-Footnote-2210835
-Node: Regexp Summary210951
-Node: Reading Files212475
-Node: Records214792
-Node: awk split records215903
-Node: gawk split records220793
-Ref: gawk split records-Footnote-1226087
-Node: Fields226124
-Node: Nonconstant Fields229011
-Ref: Nonconstant Fields-Footnote-1231322
-Node: Changing Fields231538
-Node: Field Separators237846
-Node: Default Field Splitting240662
-Node: Regexp Field Splitting241805
-Node: Single Character Fields245634
-Node: Command Line Field Separator246729
-Node: Full Line Fields250116
-Ref: Full Line Fields-Footnote-1251696
-Ref: Full Line Fields-Footnote-2251742
-Node: Field Splitting Summary251850
-Node: Constant Size254019
-Node: Fixed width data254763
-Node: Skipping intervening258282
-Node: Allowing trailing data259084
-Node: Fields with fixed data260149
-Node: Splitting By Content261775
-Ref: Splitting By Content-Footnote-1265714
-Node: More CSV265877
-Node: FS versus FPAT267530
-Node: Testing field creation268739
-Node: Multiple Line270432
-Node: Getline276914
-Node: Plain Getline279500
-Node: Getline/Variable282150
-Node: Getline/File283347
-Node: Getline/Variable/File284795
-Ref: Getline/Variable/File-Footnote-1286440
-Node: Getline/Pipe286536
-Node: Getline/Variable/Pipe289349
-Node: Getline/Coprocess290532
-Node: Getline/Variable/Coprocess291855
-Node: Getline Notes292621
-Node: Getline Summary295582
-Ref: table-getline-variants296026
-Node: Read Timeout296931
-Ref: Read Timeout-Footnote-1300895
-Node: Retrying Input300953
-Node: Command-line directories302220
-Node: Input Summary303158
-Node: Input Exercises306538
-Node: Printing306978
-Node: Print308864
-Node: Print Examples310370
-Node: Output Separators313223
-Node: OFMT315334
-Node: Printf316757
-Node: Basic Printf317562
-Node: Control Letters319198
-Node: Format Modifiers324667
-Node: Printf Examples330953
-Node: Redirection333498
-Node: Special FD340572
-Ref: Special FD-Footnote-1343862
-Node: Special Files343948
-Node: Other Inherited Files344577
-Node: Special Network345642
-Node: Special Caveats346530
-Node: Close Files And Pipes347513
-Ref: Close Files And Pipes-Footnote-1353650
-Node: Close Return Value353806
-Ref: table-close-pipe-return-values355081
-Ref: Close Return Value-Footnote-1355915
-Node: Nonfatal356071
-Node: Output Summary358502
-Node: Output Exercises359788
-Node: Expressions360479
-Node: Values361681
-Node: Constants362359
-Node: Scalar Constants363056
-Ref: Scalar Constants-Footnote-1365631
-Node: Nondecimal-numbers365881
-Node: Regexp Constants369002
-Node: Using Constant Regexps369548
-Node: Standard Regexp Constants370194
-Node: Strong Regexp Constants373494
-Node: Variables377345
-Node: Using Variables378010
-Node: Assignment Options379990
-Node: Conversion382552
-Node: Strings And Numbers383084
-Ref: Strings And Numbers-Footnote-1386303
-Node: Locale influences conversions386412
-Ref: table-locale-affects389262
-Node: All Operators389905
-Node: Arithmetic Ops390546
-Node: Concatenation393376
-Ref: Concatenation-Footnote-1396326
-Node: Assignment Ops396449
-Ref: table-assign-ops401588
-Node: Increment Ops402970
-Node: Truth Values and Conditions406569
-Node: Truth Values407695
-Node: Typing and Comparison408786
-Node: Variable Typing409622
-Ref: Variable Typing-Footnote-1416284
-Ref: Variable Typing-Footnote-2416364
-Node: Comparison Operators416447
-Ref: table-relational-ops416874
-Node: POSIX String Comparison420560
-Ref: POSIX String Comparison-Footnote-1422319
-Ref: POSIX String Comparison-Footnote-2422462
-Node: Boolean Ops422546
-Ref: Boolean Ops-Footnote-1427239
-Node: Conditional Exp427335
-Node: Function Calls429121
-Node: Precedence433071
-Node: Locales436948
-Node: Expressions Summary438630
-Node: Patterns and Actions441293
-Node: Pattern Overview442435
-Node: Regexp Patterns444161
-Node: Expression Patterns444707
-Node: Ranges448616
-Node: BEGIN/END451794
-Node: Using BEGIN/END452607
-Ref: Using BEGIN/END-Footnote-1455517
-Node: I/O And BEGIN/END455627
-Node: BEGINFILE/ENDFILE458108
-Node: Empty461549
-Node: Using Shell Variables461866
-Node: Action Overview464204
-Node: Statements466639
-Node: If Statement468537
-Node: While Statement470106
-Node: Do Statement472194
-Node: For Statement473380
-Node: Switch Statement476737
-Node: Break Statement479288
-Node: Continue Statement481480
-Node: Next Statement483412
-Node: Nextfile Statement485909
-Node: Exit Statement488770
-Node: Built-in Variables491303
-Node: User-modified492482
-Node: Auto-set500693
-Ref: Auto-set-Footnote-1518546
-Ref: Auto-set-Footnote-2518764
-Node: ARGC and ARGV518820
-Node: Pattern Action Summary523259
-Node: Arrays525875
-Node: Array Basics527252
-Node: Array Intro528102
-Ref: figure-array-elements530118
-Ref: Array Intro-Footnote-1532987
-Node: Reference to Elements533119
-Node: Assigning Elements535641
-Node: Array Example536136
-Node: Scanning an Array538105
-Node: Controlling Scanning541202
-Ref: Controlling Scanning-Footnote-1547865
-Node: Numeric Array Subscripts548189
-Node: Uninitialized Subscripts550463
-Node: Delete552142
-Ref: Delete-Footnote-1554956
-Node: Multidimensional555013
-Node: Multiscanning558218
-Node: Arrays of Arrays559890
-Node: Arrays Summary564790
-Node: Functions566979
-Node: Built-in568039
-Node: Calling Built-in569228
-Node: Boolean Functions571275
-Node: Numeric Functions571845
-Ref: Numeric Functions-Footnote-1576038
-Ref: Numeric Functions-Footnote-2576722
-Ref: Numeric Functions-Footnote-3576774
-Node: String Functions577050
-Ref: String Functions-Footnote-1602880
-Ref: String Functions-Footnote-2603014
-Ref: String Functions-Footnote-3603274
-Node: Gory Details603361
-Ref: table-sub-escapes605268
-Ref: table-sub-proposed606914
-Ref: table-posix-sub608424
-Ref: table-gensub-escapes610112
-Ref: Gory Details-Footnote-1611046
-Node: I/O Functions611200
-Ref: table-system-return-values617887
-Ref: I/O Functions-Footnote-1620058
-Ref: I/O Functions-Footnote-2620206
-Node: Time Functions620326
-Ref: Time Functions-Footnote-1631482
-Ref: Time Functions-Footnote-2631558
-Ref: Time Functions-Footnote-3631720
-Ref: Time Functions-Footnote-4631831
-Ref: Time Functions-Footnote-5631949
-Ref: Time Functions-Footnote-6632184
-Node: Bitwise Functions632466
-Ref: table-bitwise-ops633068
-Ref: Bitwise Functions-Footnote-1639322
-Ref: Bitwise Functions-Footnote-2639501
-Node: Type Functions639698
-Node: I18N Functions643291
-Node: User-defined645034
-Node: Definition Syntax645854
-Ref: Definition Syntax-Footnote-1651682
-Node: Function Example651759
-Ref: Function Example-Footnote-1654738
-Node: Function Calling654760
-Node: Calling A Function655354
-Node: Variable Scope656324
-Node: Pass By Value/Reference659378
-Node: Function Caveats662110
-Ref: Function Caveats-Footnote-1664205
-Node: Return Statement664329
-Node: Dynamic Typing667384
-Node: Indirect Calls669781
-Node: Functions Summary680940
-Node: Library Functions683717
-Ref: Library Functions-Footnote-1687265
-Ref: Library Functions-Footnote-2687408
-Node: Library Names687583
-Ref: Library Names-Footnote-1691377
-Ref: Library Names-Footnote-2691604
-Node: General Functions691700
-Node: Strtonum Function692894
-Node: Assert Function695976
-Node: Round Function699428
-Node: Cliff Random Function701006
-Node: Ordinal Functions702039
-Ref: Ordinal Functions-Footnote-1705148
-Ref: Ordinal Functions-Footnote-2705400
-Node: Join Function705614
-Ref: Join Function-Footnote-1707417
-Node: Getlocaltime Function707621
-Node: Readfile Function711395
-Node: Shell Quoting713424
-Node: Isnumeric Function714880
-Node: Data File Management716292
-Node: Filetrans Function716924
-Node: Rewind Function721218
-Node: File Checking723197
-Ref: File Checking-Footnote-1724569
-Node: Empty Files724776
-Node: Ignoring Assigns726843
-Node: Getopt Function728417
-Ref: Getopt Function-Footnote-1744251
-Node: Passwd Functions744463
-Ref: Passwd Functions-Footnote-1753645
-Node: Group Functions753733
-Ref: Group Functions-Footnote-1761871
-Node: Walking Arrays762084
-Node: Library Functions Summary765132
-Node: Library Exercises766556
-Node: Sample Programs767043
-Node: Running Examples767825
-Node: Clones768577
-Node: Cut Program769849
-Node: Egrep Program780290
-Node: Id Program789607
-Node: Split Program799721
-Ref: Split Program-Footnote-1809956
-Node: Tee Program810143
-Node: Uniq Program813052
-Node: Wc Program820917
-Node: Bytes vs. Characters821312
-Node: Using extensions822914
-Node: wc program823694
-Node: Miscellaneous Programs828700
-Node: Dupword Program829929
-Node: Alarm Program831992
-Node: Translate Program836905
-Ref: Translate Program-Footnote-1841646
-Node: Labels Program841924
-Ref: Labels Program-Footnote-1845365
-Node: Word Sorting845457
-Node: History Sorting849651
-Node: Extract Program851926
-Node: Simple Sed860195
-Node: Igawk Program863411
-Ref: Igawk Program-Footnote-1878658
-Ref: Igawk Program-Footnote-2878864
-Ref: Igawk Program-Footnote-3878994
-Node: Anagram Program879121
-Node: Signature Program882217
-Node: Programs Summary883469
-Node: Programs Exercises884727
-Ref: Programs Exercises-Footnote-1889043
-Node: Advanced Features889129
-Node: Nondecimal Data891623
-Node: Boolean Typed Values893253
-Node: Array Sorting895228
-Node: Controlling Array Traversal895957
-Ref: Controlling Array Traversal-Footnote-1904464
-Node: Array Sorting Functions904586
-Ref: Array Sorting Functions-Footnote-1910705
-Node: Two-way I/O910913
-Ref: Two-way I/O-Footnote-1918908
-Ref: Two-way I/O-Footnote-2919099
-Node: TCP/IP Networking919181
-Node: Profiling922361
-Node: Persistent Memory932071
-Ref: Persistent Memory-Footnote-1941029
-Node: Extension Philosophy941160
-Node: Advanced Features Summary942695
-Node: Internationalization944965
-Node: I18N and L10N946671
-Node: Explaining gettext947366
-Ref: Explaining gettext-Footnote-1953519
-Ref: Explaining gettext-Footnote-2953714
-Node: Programmer i18n953879
-Ref: Programmer i18n-Footnote-1958992
-Node: Translator i18n959041
-Node: String Extraction959877
-Ref: String Extraction-Footnote-1961055
-Node: Printf Ordering961153
-Ref: Printf Ordering-Footnote-1964015
-Node: I18N Portability964083
-Ref: I18N Portability-Footnote-1966657
-Node: I18N Example966728
-Ref: I18N Example-Footnote-1970128
-Ref: I18N Example-Footnote-2970204
-Node: Gawk I18N970321
-Node: I18N Summary970977
-Node: Debugger972378
-Node: Debugging973402
-Node: Debugging Concepts973851
-Node: Debugging Terms975677
-Node: Awk Debugging978290
-Ref: Awk Debugging-Footnote-1979267
-Node: Sample Debugging Session979407
-Node: Debugger Invocation979959
-Node: Finding The Bug981588
-Node: List of Debugger Commands988274
-Node: Breakpoint Control989651
-Node: Debugger Execution Control993483
-Node: Viewing And Changing Data996963
-Node: Execution Stack1000701
-Node: Debugger Info1002382
-Node: Miscellaneous Debugger Commands1006681
-Node: Readline Support1011934
-Node: Limitations1012880
-Node: Debugging Summary1015524
-Node: Namespaces1016827
-Node: Global Namespace1017954
-Node: Qualified Names1019399
-Node: Default Namespace1020434
-Node: Changing The Namespace1021209
-Node: Naming Rules1022903
-Node: Internal Name Management1024818
-Node: Namespace Example1025888
-Node: Namespace And Features1028471
-Node: Namespace Summary1029928
-Node: Arbitrary Precision Arithmetic1031441
-Node: Computer Arithmetic1032960
-Ref: table-numeric-ranges1036777
-Ref: table-floating-point-ranges1037275
-Ref: Computer Arithmetic-Footnote-11037934
-Node: Math Definitions1037993
-Ref: table-ieee-formats1041038
-Node: MPFR features1041612
-Node: MPFR On Parole1042065
-Ref: MPFR On Parole-Footnote-11042909
-Node: MPFR Intro1043068
-Node: FP Math Caution1044758
-Ref: FP Math Caution-Footnote-11045832
-Node: Inexactness of computations1046209
-Node: Inexact representation1047240
-Node: Comparing FP Values1048623
-Node: Errors accumulate1049881
-Node: Strange values1051348
-Ref: Strange values-Footnote-11054014
-Node: Getting Accuracy1054119
-Node: Try To Round1056856
-Node: Setting precision1057763
-Ref: table-predefined-precision-strings1058468
-Node: Setting the rounding mode1060353
-Ref: table-gawk-rounding-modes1060735
-Ref: Setting the rounding mode-Footnote-11064793
-Node: Arbitrary Precision Integers1064976
-Ref: Arbitrary Precision Integers-Footnote-11068188
-Node: Checking for MPFR1068344
-Node: POSIX Floating Point Problems1069834
-Ref: POSIX Floating Point Problems-Footnote-11074698
-Node: Floating point summary1074736
-Node: Dynamic Extensions1077000
-Node: Extension Intro1078599
-Node: Plugin License1079907
-Node: Extension Mechanism Outline1080720
-Ref: figure-load-extension1081171
-Ref: figure-register-new-function1082756
-Ref: figure-call-new-function1083866
-Node: Extension API Description1085990
-Node: Extension API Functions Introduction1087719
-Ref: table-api-std-headers1089617
-Node: General Data Types1094081
-Ref: General Data Types-Footnote-11103249
-Node: Memory Allocation Functions1103564
-Ref: Memory Allocation Functions-Footnote-11108289
-Node: Constructor Functions1108388
-Node: API Ownership of MPFR and GMP Values1112293
-Node: Registration Functions1113854
-Node: Extension Functions1114558
-Node: Exit Callback Functions1120134
-Node: Extension Version String1121453
-Node: Input Parsers1122148
-Node: Output Wrappers1136792
-Node: Two-way processors1141640
-Node: Printing Messages1144001
-Ref: Printing Messages-Footnote-11145215
-Node: Updating ERRNO1145370
-Node: Requesting Values1146169
-Ref: table-value-types-returned1146922
-Node: Accessing Parameters1148031
-Node: Symbol Table Access1149315
-Node: Symbol table by name1149831
-Ref: Symbol table by name-Footnote-11153042
-Node: Symbol table by cookie1153174
-Ref: Symbol table by cookie-Footnote-11157455
-Node: Cached values1157519
-Ref: Cached values-Footnote-11161163
-Node: Array Manipulation1161320
-Ref: Array Manipulation-Footnote-11162423
-Node: Array Data Types1162460
-Ref: Array Data Types-Footnote-11165282
-Node: Array Functions1165382
-Node: Flattening Arrays1170411
-Node: Creating Arrays1177463
-Node: Redirection API1182313
-Node: Extension API Variables1185334
-Node: Extension Versioning1186059
-Ref: gawk-api-version1186496
-Node: Extension GMP/MPFR Versioning1188284
-Node: Extension API Informational Variables1189990
-Node: Extension API Boilerplate1191151
-Node: Changes from API V11195287
-Node: Finding Extensions1196921
-Node: Extension Example1197496
-Node: Internal File Description1198320
-Node: Internal File Ops1202644
-Ref: Internal File Ops-Footnote-11214202
-Node: Using Internal File Ops1214350
-Ref: Using Internal File Ops-Footnote-11216781
-Node: Extension Samples1217059
-Node: Extension Sample File Functions1218628
-Node: Extension Sample Fnmatch1226766
-Node: Extension Sample Fork1228361
-Node: Extension Sample Inplace1229637
-Node: Extension Sample Ord1233309
-Node: Extension Sample Readdir1234185
-Ref: table-readdir-file-types1235082
-Node: Extension Sample Revout1236220
-Node: Extension Sample Rev2way1236817
-Node: Extension Sample Read write array1237569
-Node: Extension Sample Readfile1240843
-Node: Extension Sample Time1241974
-Node: Extension Sample API Tests1244264
-Node: gawkextlib1244772
-Node: Extension summary1247808
-Node: Extension Exercises1251666
-Node: Language History1252944
-Node: V7/SVR3.11254658
-Node: SVR41257008
-Node: POSIX1258540
-Node: BTL1259965
-Node: POSIX/GNU1260734
-Node: Feature History1267265
-Node: Common Extensions1286383
-Node: Ranges and Locales1287752
-Ref: Ranges and Locales-Footnote-11292553
-Ref: Ranges and Locales-Footnote-21292580
-Ref: Ranges and Locales-Footnote-31292819
-Node: Contributors1293042
-Node: History summary1299247
-Node: Installation1300693
-Node: Gawk Distribution1301657
-Node: Getting1302149
-Node: Extracting1303148
-Node: Distribution contents1304860
-Node: Unix Installation1312940
-Node: Quick Installation1313762
-Node: Compiling with MPFR1316308
-Node: Shell Startup Files1317014
-Node: Additional Configuration Options1318171
-Node: Configuration Philosophy1320558
-Node: Compiling from Git1323060
-Node: Building the Documentation1323619
-Node: Non-Unix Installation1325031
-Node: PC Installation1325507
-Node: PC Binary Installation1326380
-Node: PC Compiling1327285
-Node: PC Using1328463
-Node: Cygwin1332191
-Node: MSYS1333447
-Node: OpenVMS Installation1334079
-Node: OpenVMS Compilation1334760
-Ref: OpenVMS Compilation-Footnote-11336243
-Node: OpenVMS Dynamic Extensions1336305
-Node: OpenVMS Installation Details1337941
-Node: OpenVMS Running1340376
-Node: OpenVMS GNV1344513
-Node: Bugs1345268
-Node: Bug definition1346192
-Node: Bug address1349843
-Node: Usenet1353434
-Node: Performance bugs1354665
-Node: Asking for help1357683
-Node: Maintainers1359674
-Node: Other Versions1360701
-Node: Installation summary1369633
-Node: Notes1371017
-Node: Compatibility Mode1371827
-Node: Additions1372649
-Node: Accessing The Source1373594
-Node: Adding Code1375129
-Node: New Ports1382265
-Node: Derived Files1386775
-Ref: Derived Files-Footnote-11392622
-Ref: Derived Files-Footnote-21392657
-Ref: Derived Files-Footnote-31393274
-Node: Future Extensions1393388
-Node: Implementation Limitations1394060
-Node: Extension Design1395302
-Node: Old Extension Problems1396466
-Ref: Old Extension Problems-Footnote-11398042
-Node: Extension New Mechanism Goals1398103
-Ref: Extension New Mechanism Goals-Footnote-11401599
-Node: Extension Other Design Decisions1401800
-Node: Extension Future Growth1403999
-Node: Notes summary1404623
-Node: Basic Concepts1405836
-Node: Basic High Level1406521
-Ref: figure-general-flow1406803
-Ref: figure-process-flow1407510
-Ref: Basic High Level-Footnote-11410911
-Node: Basic Data Typing1411100
-Node: Glossary1414518
-Node: Copying1447640
-Node: GNU Free Documentation License1485401
-Node: Index1510724
+Node: Foreword346808
+Node: Foreword451408
+Node: Preface52957
+Ref: Preface-Footnote-155949
+Ref: Preface-Footnote-256058
+Ref: Preface-Footnote-356292
+Node: History56438
+Node: Names59056
+Ref: Names-Footnote-160219
+Node: This Manual60382
+Ref: This Manual-Footnote-167332
+Node: Conventions67444
+Node: Manual History69922
+Ref: Manual History-Footnote-172959
+Ref: Manual History-Footnote-273006
+Node: How To Contribute73084
+Node: Acknowledgments74034
+Node: Getting Started79032
+Node: Running gawk81559
+Node: One-shot82777
+Node: Read Terminal84080
+Node: Long86140
+Node: Executable Scripts87721
+Ref: Executable Scripts-Footnote-190496
+Node: Comments90603
+Node: Quoting93141
+Node: DOS Quoting98790
+Node: Sample Data Files100876
+Node: Very Simple103513
+Node: Two Rules109792
+Node: More Complex111746
+Node: Statements/Lines114186
+Ref: Statements/Lines-Footnote-1119066
+Node: Other Features119355
+Node: When120323
+Ref: When-Footnote-1122129
+Node: Intro Summary122194
+Node: Invoking Gawk123150
+Node: Command Line124720
+Node: Options125571
+Ref: Options-Footnote-1144948
+Ref: Options-Footnote-2145183
+Node: Other Arguments145208
+Node: Naming Standard Input149385
+Node: Environment Variables150655
+Node: AWKPATH Variable151229
+Ref: AWKPATH Variable-Footnote-1154819
+Ref: AWKPATH Variable-Footnote-2154853
+Node: AWKLIBPATH Variable155246
+Ref: AWKLIBPATH Variable-Footnote-1157021
+Node: Other Environment Variables157418
+Node: Exit Status161914
+Node: Include Files162629
+Node: Loading Shared Libraries166689
+Node: Obsolete168181
+Node: Undocumented168817
+Node: Invoking Summary169116
+Node: Regexp172143
+Node: Regexp Usage173637
+Node: Escape Sequences175738
+Node: Regexp Operators183074
+Node: Regexp Operator Details183567
+Ref: Regexp Operator Details-Footnote-1191433
+Node: Interval Expressions191592
+Ref: Interval Expressions-Footnote-1193861
+Node: Bracket Expressions193961
+Ref: table-char-classes196521
+Node: Leftmost Longest200043
+Node: Computed Regexps201403
+Node: GNU Regexp Operators204926
+Node: Case-sensitivity208949
+Ref: Case-sensitivity-Footnote-1211906
+Ref: Case-sensitivity-Footnote-2212151
+Node: Regexp Summary212267
+Node: Reading Files213791
+Node: Records216108
+Node: awk split records217383
+Node: gawk split records222273
+Ref: gawk split records-Footnote-1227567
+Node: Fields227604
+Node: Nonconstant Fields230491
+Ref: Nonconstant Fields-Footnote-1232802
+Node: Changing Fields233018
+Node: Field Separators239326
+Node: Default Field Splitting242199
+Node: Regexp Field Splitting243342
+Node: Single Character Fields247171
+Node: Comma Separated Fields248260
+Ref: table-csv-examples249679
+Node: Command Line Field Separator251448
+Node: Full Line Fields254834
+Ref: Full Line Fields-Footnote-1256414
+Ref: Full Line Fields-Footnote-2256460
+Node: Field Splitting Summary256568
+Node: Constant Size259002
+Node: Fixed width data259746
+Node: Skipping intervening263265
+Node: Allowing trailing data264067
+Node: Fields with fixed data265132
+Node: Splitting By Content266758
+Ref: Splitting By Content-Footnote-1271027
+Node: More CSV271190
+Node: FS versus FPAT272843
+Node: Testing field creation274052
+Node: Multiple Line275830
+Node: Getline282312
+Node: Plain Getline284898
+Node: Getline/Variable287548
+Node: Getline/File288745
+Node: Getline/Variable/File290193
+Ref: Getline/Variable/File-Footnote-1291838
+Node: Getline/Pipe291934
+Node: Getline/Variable/Pipe294747
+Node: Getline/Coprocess295930
+Node: Getline/Variable/Coprocess297253
+Node: Getline Notes298019
+Node: Getline Summary300980
+Ref: table-getline-variants301424
+Node: Read Timeout302329
+Ref: Read Timeout-Footnote-1306293
+Node: Retrying Input306351
+Node: Command-line directories307618
+Node: Input Summary308556
+Node: Input Exercises311936
+Node: Printing312376
+Node: Print314319
+Node: Print Examples315825
+Node: Output Separators318678
+Node: OFMT320789
+Node: Printf322212
+Node: Basic Printf323017
+Node: Control Letters324653
+Node: Format Modifiers330122
+Node: Printf Examples336408
+Node: Redirection338953
+Node: Special FD346027
+Ref: Special FD-Footnote-1349317
+Node: Special Files349403
+Node: Other Inherited Files350032
+Node: Special Network351097
+Node: Special Caveats351985
+Node: Close Files And Pipes352968
+Ref: Close Files And Pipes-Footnote-1359104
+Node: Close Return Value359260
+Ref: table-close-pipe-return-values360535
+Ref: Close Return Value-Footnote-1361369
+Node: Noflush361525
+Node: Nonfatal363037
+Node: Output Summary365454
+Node: Output Exercises366740
+Node: Expressions367431
+Node: Values368633
+Node: Constants369311
+Node: Scalar Constants370008
+Ref: Scalar Constants-Footnote-1372583
+Node: Nondecimal-numbers372833
+Node: Regexp Constants375954
+Node: Using Constant Regexps376500
+Node: Standard Regexp Constants377146
+Node: Strong Regexp Constants380446
+Node: Variables384297
+Node: Using Variables384962
+Node: Assignment Options386942
+Node: Conversion389504
+Node: Strings And Numbers390036
+Ref: Strings And Numbers-Footnote-1393255
+Node: Locale influences conversions393364
+Ref: table-locale-affects396214
+Node: All Operators396857
+Node: Arithmetic Ops397498
+Node: Concatenation400328
+Ref: Concatenation-Footnote-1403278
+Node: Assignment Ops403401
+Ref: table-assign-ops408540
+Node: Increment Ops409922
+Node: Truth Values and Conditions413521
+Node: Truth Values414647
+Node: Typing and Comparison415738
+Node: Variable Typing416574
+Ref: Variable Typing-Footnote-1423236
+Ref: Variable Typing-Footnote-2423316
+Node: Comparison Operators423399
+Ref: table-relational-ops423826
+Node: POSIX String Comparison427512
+Ref: POSIX String Comparison-Footnote-1429271
+Ref: POSIX String Comparison-Footnote-2429414
+Node: Boolean Ops429498
+Ref: Boolean Ops-Footnote-1434191
+Node: Conditional Exp434287
+Node: Function Calls436073
+Node: Precedence440023
+Node: Locales443900
+Node: Expressions Summary445582
+Node: Patterns and Actions448245
+Node: Pattern Overview449387
+Node: Regexp Patterns451113
+Node: Expression Patterns451659
+Node: Ranges455568
+Node: BEGIN/END458746
+Node: Using BEGIN/END459559
+Ref: Using BEGIN/END-Footnote-1462469
+Node: I/O And BEGIN/END462579
+Node: BEGINFILE/ENDFILE465060
+Node: Empty468501
+Node: Using Shell Variables468818
+Node: Action Overview471156
+Node: Statements473591
+Node: If Statement475489
+Node: While Statement477058
+Node: Do Statement479146
+Node: For Statement480332
+Node: Switch Statement483689
+Node: Break Statement486240
+Node: Continue Statement488432
+Node: Next Statement490364
+Node: Nextfile Statement492861
+Node: Exit Statement495722
+Node: Built-in Variables498255
+Node: User-modified499434
+Node: Auto-set507645
+Ref: Auto-set-Footnote-1525744
+Ref: Auto-set-Footnote-2525962
+Node: ARGC and ARGV526018
+Node: Pattern Action Summary530457
+Node: Arrays533073
+Node: Array Basics534450
+Node: Array Intro535300
+Ref: figure-array-elements537316
+Ref: Array Intro-Footnote-1540185
+Node: Reference to Elements540317
+Node: Assigning Elements542839
+Node: Array Example543334
+Node: Scanning an Array545303
+Node: Controlling Scanning548400
+Ref: Controlling Scanning-Footnote-1555063
+Node: Numeric Array Subscripts555387
+Node: Uninitialized Subscripts557661
+Node: Delete559340
+Ref: Delete-Footnote-1562154
+Node: Multidimensional562211
+Node: Multiscanning565416
+Node: Arrays of Arrays567088
+Node: Arrays Summary571988
+Node: Functions574177
+Node: Built-in575237
+Node: Calling Built-in576426
+Node: Boolean Functions578473
+Node: Numeric Functions579043
+Ref: Numeric Functions-Footnote-1583236
+Ref: Numeric Functions-Footnote-2583920
+Ref: Numeric Functions-Footnote-3583972
+Node: String Functions584248
+Ref: String Functions-Footnote-1610479
+Ref: String Functions-Footnote-2610613
+Ref: String Functions-Footnote-3610873
+Node: Gory Details610960
+Ref: table-sub-escapes612867
+Ref: table-sub-proposed614513
+Ref: table-posix-sub616023
+Ref: table-gensub-escapes617711
+Ref: Gory Details-Footnote-1618645
+Node: I/O Functions618799
+Ref: table-system-return-values625486
+Ref: I/O Functions-Footnote-1627657
+Ref: I/O Functions-Footnote-2627805
+Node: Time Functions627925
+Ref: Time Functions-Footnote-1639081
+Ref: Time Functions-Footnote-2639157
+Ref: Time Functions-Footnote-3639319
+Ref: Time Functions-Footnote-4639430
+Ref: Time Functions-Footnote-5639548
+Ref: Time Functions-Footnote-6639783
+Node: Bitwise Functions640065
+Ref: table-bitwise-ops640667
+Ref: Bitwise Functions-Footnote-1646921
+Ref: Bitwise Functions-Footnote-2647100
+Node: Type Functions647297
+Node: I18N Functions650890
+Node: User-defined652633
+Node: Definition Syntax653453
+Ref: Definition Syntax-Footnote-1659281
+Node: Function Example659358
+Ref: Function Example-Footnote-1662337
+Node: Function Calling662359
+Node: Calling A Function662953
+Node: Variable Scope663923
+Node: Pass By Value/Reference666977
+Node: Function Caveats669709
+Ref: Function Caveats-Footnote-1671804
+Node: Return Statement671928
+Node: Dynamic Typing674983
- Node: Indirect Calls677259
- Node: Functions Summary688418
- Node: Library Functions691195
- Ref: Library Functions-Footnote-1694743
- Ref: Library Functions-Footnote-2694886
- Node: Library Names695061
- Ref: Library Names-Footnote-1698855
- Ref: Library Names-Footnote-2699082
- Node: General Functions699178
- Node: Strtonum Function700372
- Node: Assert Function703454
- Node: Round Function706906
- Node: Cliff Random Function708484
- Node: Ordinal Functions709517
- Ref: Ordinal Functions-Footnote-1712626
- Ref: Ordinal Functions-Footnote-2712878
- Node: Join Function713092
- Ref: Join Function-Footnote-1714895
- Node: Getlocaltime Function715099
- Node: Readfile Function718873
- Node: Shell Quoting720902
- Node: Isnumeric Function722358
- Node: Data File Management723770
- Node: Filetrans Function724402
- Node: Rewind Function728696
- Node: File Checking730675
- Ref: File Checking-Footnote-1732047
- Node: Empty Files732254
- Node: Ignoring Assigns734321
- Node: Getopt Function735895
- Ref: Getopt Function-Footnote-1751729
- Node: Passwd Functions751941
- Ref: Passwd Functions-Footnote-1761123
- Node: Group Functions761211
- Ref: Group Functions-Footnote-1769349
- Node: Walking Arrays769562
- Node: Library Functions Summary772610
- Node: Library Exercises774034
- Node: Sample Programs774521
- Node: Running Examples775303
- Node: Clones776055
- Node: Cut Program777327
- Node: Egrep Program787768
- Node: Id Program797085
- Node: Split Program807199
- Ref: Split Program-Footnote-1817434
- Node: Tee Program817621
- Node: Uniq Program820530
- Node: Wc Program828395
- Node: Bytes vs. Characters828790
- Node: Using extensions830392
- Node: wc program831172
- Node: Miscellaneous Programs836178
- Node: Dupword Program837407
- Node: Alarm Program839470
- Node: Translate Program844383
- Ref: Translate Program-Footnote-1849124
- Node: Labels Program849402
- Ref: Labels Program-Footnote-1852843
- Node: Word Sorting852935
- Node: History Sorting857129
- Node: Extract Program859404
- Node: Simple Sed867673
- Node: Igawk Program870889
- Ref: Igawk Program-Footnote-1886136
- Ref: Igawk Program-Footnote-2886342
- Ref: Igawk Program-Footnote-3886472
- Node: Anagram Program886599
- Node: Signature Program889695
- Node: Programs Summary890947
- Node: Programs Exercises892205
- Ref: Programs Exercises-Footnote-1896521
- Node: Advanced Features896607
- Node: Nondecimal Data899101
- Node: Boolean Typed Values900731
- Node: Array Sorting902706
- Node: Controlling Array Traversal903435
- Ref: Controlling Array Traversal-Footnote-1911942
- Node: Array Sorting Functions912064
- Ref: Array Sorting Functions-Footnote-1918183
- Node: Two-way I/O918391
- Ref: Two-way I/O-Footnote-1926386
- Ref: Two-way I/O-Footnote-2926577
- Node: TCP/IP Networking926659
- Node: Profiling929839
- Node: Persistent Memory939549
- Ref: Persistent Memory-Footnote-1948507
- Node: Extension Philosophy948638
- Node: Advanced Features Summary950173
- Node: Internationalization952443
- Node: I18N and L10N954149
- Node: Explaining gettext954844
- Ref: Explaining gettext-Footnote-1960997
- Ref: Explaining gettext-Footnote-2961192
- Node: Programmer i18n961357
- Ref: Programmer i18n-Footnote-1966470
- Node: Translator i18n966519
- Node: String Extraction967355
- Ref: String Extraction-Footnote-1968533
- Node: Printf Ordering968631
- Ref: Printf Ordering-Footnote-1971493
- Node: I18N Portability971561
- Ref: I18N Portability-Footnote-1974135
- Node: I18N Example974206
- Ref: I18N Example-Footnote-1977606
- Ref: I18N Example-Footnote-2977682
- Node: Gawk I18N977799
- Node: I18N Summary978455
- Node: Debugger979856
- Node: Debugging980880
- Node: Debugging Concepts981329
- Node: Debugging Terms983155
- Node: Awk Debugging985768
- Ref: Awk Debugging-Footnote-1986745
- Node: Sample Debugging Session986885
- Node: Debugger Invocation987437
- Node: Finding The Bug989066
- Node: List of Debugger Commands995752
- Node: Breakpoint Control997129
- Node: Debugger Execution Control1000961
- Node: Viewing And Changing Data1004441
- Node: Execution Stack1008179
- Node: Debugger Info1009860
- Node: Miscellaneous Debugger Commands1014159
- Node: Readline Support1019412
- Node: Limitations1020358
- Node: Debugging Summary1023002
- Node: Namespaces1024305
- Node: Global Namespace1025432
- Node: Qualified Names1026877
- Node: Default Namespace1027912
- Node: Changing The Namespace1028687
- Node: Naming Rules1030381
- Node: Internal Name Management1032296
- Node: Namespace Example1033366
- Node: Namespace And Features1035949
- Node: Namespace Summary1037406
- Node: Arbitrary Precision Arithmetic1038919
- Node: Computer Arithmetic1040438
- Ref: table-numeric-ranges1044255
- Ref: table-floating-point-ranges1044753
- Ref: Computer Arithmetic-Footnote-11045412
- Node: Math Definitions1045471
- Ref: table-ieee-formats1048516
- Node: MPFR features1049090
- Node: MPFR On Parole1049543
- Ref: MPFR On Parole-Footnote-11050387
- Node: MPFR Intro1050546
- Node: FP Math Caution1052236
- Ref: FP Math Caution-Footnote-11053310
- Node: Inexactness of computations1053687
- Node: Inexact representation1054718
- Node: Comparing FP Values1056101
- Node: Errors accumulate1057359
- Node: Strange values1058826
- Ref: Strange values-Footnote-11061492
- Node: Getting Accuracy1061597
- Node: Try To Round1064334
- Node: Setting precision1065241
- Ref: table-predefined-precision-strings1065946
- Node: Setting the rounding mode1067831
- Ref: table-gawk-rounding-modes1068213
- Ref: Setting the rounding mode-Footnote-11072271
- Node: Arbitrary Precision Integers1072454
- Ref: Arbitrary Precision Integers-Footnote-11075666
- Node: Checking for MPFR1075822
- Node: POSIX Floating Point Problems1077312
- Ref: POSIX Floating Point Problems-Footnote-11082176
- Node: Floating point summary1082214
- Node: Dynamic Extensions1084478
- Node: Extension Intro1086077
- Node: Plugin License1087385
- Node: Extension Mechanism Outline1088198
- Ref: figure-load-extension1088649
- Ref: figure-register-new-function1090234
- Ref: figure-call-new-function1091344
- Node: Extension API Description1093468
- Node: Extension API Functions Introduction1095197
- Ref: table-api-std-headers1097095
- Node: General Data Types1101559
- Ref: General Data Types-Footnote-11110727
- Node: Memory Allocation Functions1111042
- Ref: Memory Allocation Functions-Footnote-11115767
- Node: Constructor Functions1115866
- Node: API Ownership of MPFR and GMP Values1119771
- Node: Registration Functions1121332
- Node: Extension Functions1122036
- Node: Exit Callback Functions1127612
- Node: Extension Version String1128931
- Node: Input Parsers1129626
- Node: Output Wrappers1144270
- Node: Two-way processors1149118
- Node: Printing Messages1151479
- Ref: Printing Messages-Footnote-11152693
- Node: Updating ERRNO1152848
- Node: Requesting Values1153647
- Ref: table-value-types-returned1154400
- Node: Accessing Parameters1155509
- Node: Symbol Table Access1156793
- Node: Symbol table by name1157309
- Ref: Symbol table by name-Footnote-11160520
- Node: Symbol table by cookie1160652
- Ref: Symbol table by cookie-Footnote-11164933
- Node: Cached values1164997
- Ref: Cached values-Footnote-11168641
- Node: Array Manipulation1168798
- Ref: Array Manipulation-Footnote-11169901
- Node: Array Data Types1169938
- Ref: Array Data Types-Footnote-11172760
- Node: Array Functions1172860
- Node: Flattening Arrays1177889
- Node: Creating Arrays1184941
- Node: Redirection API1189791
- Node: Extension API Variables1192812
- Node: Extension Versioning1193537
- Ref: gawk-api-version1193974
- Node: Extension GMP/MPFR Versioning1195762
- Node: Extension API Informational Variables1197468
- Node: Extension API Boilerplate1198629
- Node: Changes from API V11202765
- Node: Finding Extensions1204399
- Node: Extension Example1204974
- Node: Internal File Description1205798
- Node: Internal File Ops1210122
- Ref: Internal File Ops-Footnote-11221680
- Node: Using Internal File Ops1221828
- Ref: Using Internal File Ops-Footnote-11224259
- Node: Extension Samples1224537
- Node: Extension Sample File Functions1226106
- Node: Extension Sample Fnmatch1234244
- Node: Extension Sample Fork1235839
- Node: Extension Sample Inplace1237115
- Node: Extension Sample Ord1240787
- Node: Extension Sample Readdir1241663
- Ref: table-readdir-file-types1242560
- Node: Extension Sample Revout1243698
- Node: Extension Sample Rev2way1244295
- Node: Extension Sample Read write array1245047
- Node: Extension Sample Readfile1248321
- Node: Extension Sample Time1249452
- Node: Extension Sample API Tests1251742
- Node: gawkextlib1252250
- Node: Extension summary1255286
- Node: Extension Exercises1259144
- Node: Language History1260422
- Node: V7/SVR3.11262136
- Node: SVR41264486
- Node: POSIX1266018
- Node: BTL1267443
- Node: POSIX/GNU1268212
- Node: Feature History1274743
- Node: Common Extensions1294309
- Node: Ranges and Locales1295678
- Ref: Ranges and Locales-Footnote-11300479
- Ref: Ranges and Locales-Footnote-21300506
- Ref: Ranges and Locales-Footnote-31300745
- Node: Contributors1300968
- Node: History summary1307173
- Node: Installation1308619
- Node: Gawk Distribution1309583
- Node: Getting1310075
- Node: Extracting1311074
- Node: Distribution contents1312786
- Node: Unix Installation1320866
- Node: Quick Installation1321688
- Node: Compiling with MPFR1324234
- Node: Shell Startup Files1324940
- Node: Additional Configuration Options1326097
- Node: Configuration Philosophy1328484
- Node: Compiling from Git1330986
- Node: Building the Documentation1331545
- Node: Non-Unix Installation1332957
- Node: PC Installation1333433
- Node: PC Binary Installation1334306
- Node: PC Compiling1335211
- Node: PC Using1336389
- Node: Cygwin1340117
- Node: MSYS1341373
- Node: OpenVMS Installation1342005
- Node: OpenVMS Compilation1342686
- Ref: OpenVMS Compilation-Footnote-11344169
- Node: OpenVMS Dynamic Extensions1344231
- Node: OpenVMS Installation Details1345867
- Node: OpenVMS Running1348302
- Node: OpenVMS GNV1352439
- Node: Bugs1353194
- Node: Bug definition1354118
- Node: Bug address1357769
- Node: Usenet1361360
- Node: Performance bugs1362591
- Node: Asking for help1365609
- Node: Maintainers1367600
- Node: Other Versions1368627
- Node: Installation summary1377559
- Node: Notes1378943
- Node: Compatibility Mode1379753
- Node: Additions1380575
- Node: Accessing The Source1381520
- Node: Adding Code1383055
- Node: New Ports1390191
- Node: Derived Files1394701
- Ref: Derived Files-Footnote-11400548
- Ref: Derived Files-Footnote-21400583
- Ref: Derived Files-Footnote-31401200
- Node: Future Extensions1401314
- Node: Implementation Limitations1401986
- Node: Extension Design1403228
- Node: Old Extension Problems1404392
- Ref: Old Extension Problems-Footnote-11405968
- Node: Extension New Mechanism Goals1406029
- Ref: Extension New Mechanism Goals-Footnote-11409525
- Node: Extension Other Design Decisions1409726
- Node: Extension Future Growth1411925
- Node: Notes summary1412549
- Node: Basic Concepts1413762
- Node: Basic High Level1414447
- Ref: figure-general-flow1414729
- Ref: figure-process-flow1415436
- Ref: Basic High Level-Footnote-11418837
- Node: Basic Data Typing1419026
- Node: Glossary1422444
- Node: Copying1455566
- Node: GNU Free Documentation License1493327
- Node: Index1518650
++Node: Indirect Calls677380
++Node: Functions Summary688539
++Node: Library Functions691316
++Ref: Library Functions-Footnote-1694864
++Ref: Library Functions-Footnote-2695007
++Node: Library Names695182
++Ref: Library Names-Footnote-1698976
++Ref: Library Names-Footnote-2699203
++Node: General Functions699299
++Node: Strtonum Function700493
++Node: Assert Function703575
++Node: Round Function707027
++Node: Cliff Random Function708605
++Node: Ordinal Functions709638
++Ref: Ordinal Functions-Footnote-1712747
++Ref: Ordinal Functions-Footnote-2712999
++Node: Join Function713213
++Ref: Join Function-Footnote-1715016
++Node: Getlocaltime Function715220
++Node: Readfile Function718994
++Node: Shell Quoting721023
++Node: Isnumeric Function722479
++Node: Data File Management723891
++Node: Filetrans Function724523
++Node: Rewind Function728817
++Node: File Checking730796
++Ref: File Checking-Footnote-1732168
++Node: Empty Files732375
++Node: Ignoring Assigns734442
++Node: Getopt Function736016
++Ref: Getopt Function-Footnote-1751850
++Node: Passwd Functions752062
++Ref: Passwd Functions-Footnote-1761244
++Node: Group Functions761332
++Ref: Group Functions-Footnote-1769470
++Node: Walking Arrays769683
++Node: Library Functions Summary772731
++Node: Library Exercises774155
++Node: Sample Programs774642
++Node: Running Examples775424
++Node: Clones776176
++Node: Cut Program777448
++Node: Egrep Program787889
++Node: Id Program797206
++Node: Split Program807320
++Ref: Split Program-Footnote-1817555
++Node: Tee Program817742
++Node: Uniq Program820651
++Node: Wc Program828516
++Node: Bytes vs. Characters828911
++Node: Using extensions830513
++Node: wc program831293
++Node: Miscellaneous Programs836299
++Node: Dupword Program837528
++Node: Alarm Program839591
++Node: Translate Program844504
++Ref: Translate Program-Footnote-1849245
++Node: Labels Program849523
++Ref: Labels Program-Footnote-1852964
++Node: Word Sorting853056
++Node: History Sorting857250
++Node: Extract Program859525
++Node: Simple Sed867794
++Node: Igawk Program871010
++Ref: Igawk Program-Footnote-1886257
++Ref: Igawk Program-Footnote-2886463
++Ref: Igawk Program-Footnote-3886593
++Node: Anagram Program886720
++Node: Signature Program889816
++Node: Programs Summary891068
++Node: Programs Exercises892326
++Ref: Programs Exercises-Footnote-1896642
++Node: Advanced Features896728
++Node: Nondecimal Data899222
++Node: Boolean Typed Values900852
++Node: Array Sorting902827
++Node: Controlling Array Traversal903556
++Ref: Controlling Array Traversal-Footnote-1912063
++Node: Array Sorting Functions912185
++Ref: Array Sorting Functions-Footnote-1918304
++Node: Two-way I/O918512
++Ref: Two-way I/O-Footnote-1926507
++Ref: Two-way I/O-Footnote-2926698
++Node: TCP/IP Networking926780
++Node: Profiling929960
++Node: Persistent Memory939670
++Ref: Persistent Memory-Footnote-1948628
++Node: Extension Philosophy948759
++Node: Advanced Features Summary950294
++Node: Internationalization952564
++Node: I18N and L10N954270
++Node: Explaining gettext954965
++Ref: Explaining gettext-Footnote-1961118
++Ref: Explaining gettext-Footnote-2961313
++Node: Programmer i18n961478
++Ref: Programmer i18n-Footnote-1966591
++Node: Translator i18n966640
++Node: String Extraction967476
++Ref: String Extraction-Footnote-1968654
++Node: Printf Ordering968752
++Ref: Printf Ordering-Footnote-1971614
++Node: I18N Portability971682
++Ref: I18N Portability-Footnote-1974256
++Node: I18N Example974327
++Ref: I18N Example-Footnote-1977727
++Ref: I18N Example-Footnote-2977803
++Node: Gawk I18N977920
++Node: I18N Summary978576
++Node: Debugger979977
++Node: Debugging981001
++Node: Debugging Concepts981450
++Node: Debugging Terms983276
++Node: Awk Debugging985889
++Ref: Awk Debugging-Footnote-1986866
++Node: Sample Debugging Session987006
++Node: Debugger Invocation987558
++Node: Finding The Bug989187
++Node: List of Debugger Commands995873
++Node: Breakpoint Control997250
++Node: Debugger Execution Control1001082
++Node: Viewing And Changing Data1004562
++Node: Execution Stack1008300
++Node: Debugger Info1009981
++Node: Miscellaneous Debugger Commands1014280
++Node: Readline Support1019533
++Node: Limitations1020479
++Node: Debugging Summary1023123
++Node: Namespaces1024426
++Node: Global Namespace1025553
++Node: Qualified Names1026998
++Node: Default Namespace1028033
++Node: Changing The Namespace1028808
++Node: Naming Rules1030502
++Node: Internal Name Management1032417
++Node: Namespace Example1033487
++Node: Namespace And Features1036070
++Node: Namespace Summary1037527
++Node: Arbitrary Precision Arithmetic1039040
++Node: Computer Arithmetic1040559
++Ref: table-numeric-ranges1044376
++Ref: table-floating-point-ranges1044874
++Ref: Computer Arithmetic-Footnote-11045533
++Node: Math Definitions1045592
++Ref: table-ieee-formats1048637
++Node: MPFR features1049211
++Node: MPFR On Parole1049664
++Ref: MPFR On Parole-Footnote-11050508
++Node: MPFR Intro1050667
++Node: FP Math Caution1052357
++Ref: FP Math Caution-Footnote-11053431
++Node: Inexactness of computations1053808
++Node: Inexact representation1054839
++Node: Comparing FP Values1056222
++Node: Errors accumulate1057480
++Node: Strange values1058947
++Ref: Strange values-Footnote-11061613
++Node: Getting Accuracy1061718
++Node: Try To Round1064455
++Node: Setting precision1065362
++Ref: table-predefined-precision-strings1066067
++Node: Setting the rounding mode1067952
++Ref: table-gawk-rounding-modes1068334
++Ref: Setting the rounding mode-Footnote-11072392
++Node: Arbitrary Precision Integers1072575
++Ref: Arbitrary Precision Integers-Footnote-11075787
++Node: Checking for MPFR1075943
++Node: POSIX Floating Point Problems1077433
++Ref: POSIX Floating Point Problems-Footnote-11082297
++Node: Floating point summary1082335
++Node: Dynamic Extensions1084599
++Node: Extension Intro1086198
++Node: Plugin License1087506
++Node: Extension Mechanism Outline1088319
++Ref: figure-load-extension1088770
++Ref: figure-register-new-function1090355
++Ref: figure-call-new-function1091465
++Node: Extension API Description1093589
++Node: Extension API Functions Introduction1095318
++Ref: table-api-std-headers1097216
++Node: General Data Types1101680
++Ref: General Data Types-Footnote-11110848
++Node: Memory Allocation Functions1111163
++Ref: Memory Allocation Functions-Footnote-11115888
++Node: Constructor Functions1115987
++Node: API Ownership of MPFR and GMP Values1119892
++Node: Registration Functions1121453
++Node: Extension Functions1122157
++Node: Exit Callback Functions1127733
++Node: Extension Version String1129052
++Node: Input Parsers1129747
++Node: Output Wrappers1144391
++Node: Two-way processors1149239
++Node: Printing Messages1151600
++Ref: Printing Messages-Footnote-11152814
++Node: Updating ERRNO1152969
++Node: Requesting Values1153768
++Ref: table-value-types-returned1154521
++Node: Accessing Parameters1155630
++Node: Symbol Table Access1156914
++Node: Symbol table by name1157430
++Ref: Symbol table by name-Footnote-11160641
++Node: Symbol table by cookie1160773
++Ref: Symbol table by cookie-Footnote-11165054
++Node: Cached values1165118
++Ref: Cached values-Footnote-11168762
++Node: Array Manipulation1168919
++Ref: Array Manipulation-Footnote-11170022
++Node: Array Data Types1170059
++Ref: Array Data Types-Footnote-11172881
++Node: Array Functions1172981
++Node: Flattening Arrays1178010
++Node: Creating Arrays1185062
++Node: Redirection API1189912
++Node: Extension API Variables1192933
++Node: Extension Versioning1193658
++Ref: gawk-api-version1194095
++Node: Extension GMP/MPFR Versioning1195883
++Node: Extension API Informational Variables1197589
++Node: Extension API Boilerplate1198750
++Node: Changes from API V11202886
++Node: Finding Extensions1204520
++Node: Extension Example1205095
++Node: Internal File Description1205919
++Node: Internal File Ops1210243
++Ref: Internal File Ops-Footnote-11221801
++Node: Using Internal File Ops1221949
++Ref: Using Internal File Ops-Footnote-11224380
++Node: Extension Samples1224658
++Node: Extension Sample File Functions1226227
++Node: Extension Sample Fnmatch1234365
++Node: Extension Sample Fork1235960
++Node: Extension Sample Inplace1237236
++Node: Extension Sample Ord1240908
++Node: Extension Sample Readdir1241784
++Ref: table-readdir-file-types1242681
++Node: Extension Sample Revout1243819
++Node: Extension Sample Rev2way1244416
++Node: Extension Sample Read write array1245168
++Node: Extension Sample Readfile1248442
++Node: Extension Sample Time1249573
++Node: Extension Sample API Tests1251863
++Node: gawkextlib1252371
++Node: Extension summary1255407
++Node: Extension Exercises1259265
++Node: Language History1260543
++Node: V7/SVR3.11262257
++Node: SVR41264607
++Node: POSIX1266139
++Node: BTL1267564
++Node: POSIX/GNU1268333
++Node: Feature History1274864
++Node: Common Extensions1294430
++Node: Ranges and Locales1295799
++Ref: Ranges and Locales-Footnote-11300600
++Ref: Ranges and Locales-Footnote-21300627
++Ref: Ranges and Locales-Footnote-31300866
++Node: Contributors1301089
++Node: History summary1307294
++Node: Installation1308740
++Node: Gawk Distribution1309704
++Node: Getting1310196
++Node: Extracting1311195
++Node: Distribution contents1312907
++Node: Unix Installation1320987
++Node: Quick Installation1321809
++Node: Compiling with MPFR1324355
++Node: Shell Startup Files1325061
++Node: Additional Configuration Options1326218
++Node: Configuration Philosophy1328605
++Node: Compiling from Git1331107
++Node: Building the Documentation1331666
++Node: Non-Unix Installation1333078
++Node: PC Installation1333554
++Node: PC Binary Installation1334427
++Node: PC Compiling1335332
++Node: PC Using1336510
++Node: Cygwin1340238
++Node: MSYS1341494
++Node: OpenVMS Installation1342126
++Node: OpenVMS Compilation1342807
++Ref: OpenVMS Compilation-Footnote-11344290
++Node: OpenVMS Dynamic Extensions1344352
++Node: OpenVMS Installation Details1345988
++Node: OpenVMS Running1348423
++Node: OpenVMS GNV1352560
++Node: Bugs1353315
++Node: Bug definition1354239
++Node: Bug address1357890
++Node: Usenet1361481
++Node: Performance bugs1362712
++Node: Asking for help1365730
++Node: Maintainers1367721
++Node: Other Versions1368748
++Node: Installation summary1377680
++Node: Notes1379064
++Node: Compatibility Mode1379874
++Node: Additions1380696
++Node: Accessing The Source1381641
++Node: Adding Code1383176
++Node: New Ports1390312
++Node: Derived Files1394822
++Ref: Derived Files-Footnote-11400669
++Ref: Derived Files-Footnote-21400704
++Ref: Derived Files-Footnote-31401321
++Node: Future Extensions1401435
++Node: Implementation Limitations1402107
++Node: Extension Design1403349
++Node: Old Extension Problems1404513
++Ref: Old Extension Problems-Footnote-11406089
++Node: Extension New Mechanism Goals1406150
++Ref: Extension New Mechanism Goals-Footnote-11409646
++Node: Extension Other Design Decisions1409847
++Node: Extension Future Growth1412046
++Node: Notes summary1412670
++Node: Basic Concepts1413883
++Node: Basic High Level1414568
++Ref: figure-general-flow1414850
++Ref: figure-process-flow1415557
++Ref: Basic High Level-Footnote-11418958
++Node: Basic Data Typing1419147
++Node: Glossary1422565
++Node: Copying1455687
++Node: GNU Free Documentation License1493448
++Node: Index1518771
End Tag Table
-----------------------------------------------------------------------
Summary of changes:
build-aux/ChangeLog | 4 +
build-aux/texinfo.tex | 252 ++++++------
doc/ChangeLog | 10 +
doc/gawk.info | 1092 +++++++++++++++++++++++++------------------------
doc/gawk.texi | 60 ++-
doc/gawktexi.in | 33 +-
doc/it/ChangeLog | 10 +
doc/it/gawk.1 | 26 ++
doc/it/gawktexi.in | 256 +++++++++---
doc/it/texinfo.tex | 252 +++++++-----
doc/texinfo.tex | 252 ++++++------
extension/ChangeLog | 5 +
extension/filefuncs.c | 2 +-
13 files changed, 1302 insertions(+), 952 deletions(-)
mode change 100644 => 100755 doc/it/gawk.1
mode change 100644 => 100755 doc/it/texinfo.tex
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] gawk branch, master, updated. gawk-4.1.0-5217-gf60fe7e8,
Arnold Robbins <=