[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] gawk branch, master, updated. gawk-4.1.0-5028-g4b64c120
From: |
Arnold Robbins |
Subject: |
[SCM] gawk branch, master, updated. gawk-4.1.0-5028-g4b64c120 |
Date: |
Sat, 12 Nov 2022 15:10:33 -0500 (EST) |
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 4b64c1206d51418e16654b92f556b0d002356a63 (commit)
via 38d358ff592cbd241a058fbe770327b879868cb0 (commit)
from ea4424f4a4b31c84c9032e2a59720bd47699bade (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=4b64c1206d51418e16654b92f556b0d002356a63
commit 4b64c1206d51418e16654b92f556b0d002356a63
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Sat Nov 12 22:10:09 2022 +0200
Doc fix.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 579c9699..80d99044 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -5,6 +5,7 @@
(Splitting By Content): Additional text that FS = "," obsoletes
the example.
* wordlist: Updated.
+ * awkcard.in: Typo fix: CVS --> CSV.
2022-11-06 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/doc/awkcard.in b/doc/awkcard.in
index cd3e0db1..93488abf 100644
--- a/doc/awkcard.in
+++ b/doc/awkcard.in
@@ -1027,7 +1027,7 @@ by runs of spaces and/or tabs
and/or newlines.
Leading and trailing whitespace are ignored.
\*(CLIn the second special case that \*(FCFS\fP is a comma,
-then CVS-splitting is done.\*(CD
+then CSV-splitting is done.\*(CD
\*(CBThe value of \*(FCIGNORECASE\fP
also affects how fields are split when
\*(FCFS\fP is a regular expression.\*(CD
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=38d358ff592cbd241a058fbe770327b879868cb0
commit 38d358ff592cbd241a058fbe770327b879868cb0
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Sat Nov 12 21:55:30 2022 +0200
Doc updates.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index e40f5c91..579c9699 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,11 @@
+2022-11-12 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Comma Separated Fields): Add indexing. Expand text
+ some, particular that newlines can't be embedded.
+ (Splitting By Content): Additional text that FS = "," obsoletes
+ the example.
+ * wordlist: Updated.
+
2022-11-06 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Remove references to VAX/VMS, change "VMS" to
diff --git a/doc/gawk.info b/doc/gawk.info
index 24c454ce..92f3deb7 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -5283,7 +5283,15 @@ Table 4.1: Examples of CSV data
The double-quote that starts a quoted field must be the first
character after the comma.
- This featue is disabled in POSIX mode.
+ Some programs that support CSV-formatted data even allow fields to
+include embedded newlines (such as a postal address, for example). This
+is _not_ supported in either BWK 'awk' or in 'gawk'. This cannot be
+done using only facilities in the 'awk' language, since 'awk' first
+splits the input into records, and the default record separator is a
+newline. Thus any newline embedded in a field simply terminates the
+record.
+
+ CSV input parsing is disabled in POSIX mode.
File: gawk.info, Node: Command Line Field Separator, Next: Full Line Fields,
Prev: Comma Separated Fields, Up: Field Separators
@@ -5757,6 +5765,11 @@ with 'FIELDWIDTHS'.
Finally, the 'patsplit()' function makes the same functionality
available for splitting regular strings (*note String Functions::).
+ NOTE: Given that 'gawk' now has built-in CSV parsing (*note Comma
+ Separated Fields::), the examples presented here are obsolete.
+ Nonetheless, it remains useful as an example of what 'FPAT'-based
+ field parsing can do.
+
---------- Footnotes ----------
(1) The CSV format lacked a formal standard definition for many
@@ -36512,6 +36525,8 @@ Index
* columns, aligning: Print Examples. (line 69)
* columns, cutting: Cut Program. (line 6)
* comma (,), in range patterns: Ranges. (line 6)
+* comma separated values (CSV) data, parsing with FS: Comma Separated Fields.
+ (line 6)
* Comma separated values (CSV) data, parsing with FPAT: Splitting By Content.
(line 20)
* Comma separated values (CSV) data, parsing with FPAT library: More CSV.
@@ -36631,6 +36646,8 @@ Index
* csh utility: Statements/Lines. (line 45)
* csh utility, POSIXLY_CORRECT environment variable: Options. (line 411)
* csh utility, |& operator, comparison with: Two-way I/O. (line 27)
+* CSV (comma separated values) data, parsing with FS: Comma Separated Fields.
+ (line 6)
* CSV (comma separated values) data, parsing with FPAT: Splitting By Content.
(line 20)
* CSV (comma separated values) data, parsing with CSVMODE library: More CSV.
@@ -39381,531 +39398,531 @@ Node: Regexp Field Splitting233239
Node: Single Character Fields236916
Node: Comma Separated Fields237970
Ref: table-csv-examples239234
-Node: Command Line Field Separator239697
-Node: Full Line Fields242914
-Ref: Full Line Fields-Footnote-1244436
-Ref: Full Line Fields-Footnote-2244482
-Node: Field Splitting Summary244583
-Node: Constant Size246763
-Node: Fixed width data247495
-Node: Skipping intervening250962
-Node: Allowing trailing data251760
-Node: Fields with fixed data252797
-Node: Splitting By Content254315
-Ref: Splitting By Content-Footnote-1258151
-Node: More CSV258314
-Node: FS versus FPAT259929
-Node: Testing field creation261089
-Node: Multiple Line262714
-Node: Getline268991
-Node: Plain Getline271460
-Node: Getline/Variable274033
-Node: Getline/File275184
-Node: Getline/Variable/File276572
-Ref: Getline/Variable/File-Footnote-1278177
-Node: Getline/Pipe278265
-Node: Getline/Variable/Pipe280969
-Node: Getline/Coprocess282104
-Node: Getline/Variable/Coprocess283371
-Node: Getline Notes284113
-Node: Getline Summary286910
-Ref: table-getline-variants287334
-Node: Read Timeout288083
-Ref: Read Timeout-Footnote-1291999
-Node: Retrying Input292057
-Node: Command-line directories293256
-Node: Input Summary294162
-Node: Input Exercises297334
-Node: Printing297768
-Node: Print299602
-Node: Print Examples301059
-Node: Output Separators303839
-Node: OFMT305856
-Node: Printf307212
-Node: Basic Printf307997
-Node: Control Letters309571
-Node: Format Modifiers314733
-Node: Printf Examples320748
-Node: Redirection323234
-Node: Special FD330075
-Ref: Special FD-Footnote-1333243
-Node: Special Files333317
-Node: Other Inherited Files333934
-Node: Special Network334935
-Node: Special Caveats335795
-Node: Close Files And Pipes336744
-Ref: table-close-pipe-return-values343651
-Ref: Close Files And Pipes-Footnote-1344465
-Ref: Close Files And Pipes-Footnote-2344613
-Node: Nonfatal344765
-Node: Output Summary347103
-Node: Output Exercises348325
-Node: Expressions349004
-Node: Values350192
-Node: Constants350870
-Node: Scalar Constants351561
-Ref: Scalar Constants-Footnote-1354071
-Node: Nondecimal-numbers354321
-Node: Regexp Constants357322
-Node: Using Constant Regexps357848
-Node: Standard Regexp Constants358470
-Node: Strong Regexp Constants361658
-Node: Variables365373
-Node: Using Variables366030
-Node: Assignment Options367940
-Node: Conversion370411
-Node: Strings And Numbers370935
-Ref: Strings And Numbers-Footnote-1373998
-Node: Locale influences conversions374107
-Ref: table-locale-affects376865
-Node: All Operators377484
-Node: Arithmetic Ops378113
-Node: Concatenation380829
-Ref: Concatenation-Footnote-1383676
-Node: Assignment Ops383783
-Ref: table-assign-ops388774
-Node: Increment Ops390088
-Node: Truth Values and Conditions393548
-Node: Truth Values394622
-Node: Typing and Comparison395670
-Node: Variable Typing396490
-Ref: Variable Typing-Footnote-1402953
-Ref: Variable Typing-Footnote-2403025
-Node: Comparison Operators403102
-Ref: table-relational-ops403521
-Node: POSIX String Comparison407017
-Ref: POSIX String Comparison-Footnote-1408712
-Ref: POSIX String Comparison-Footnote-2408851
-Node: Boolean Ops408935
-Ref: Boolean Ops-Footnote-1413417
-Node: Conditional Exp413509
-Node: Function Calls415245
-Node: Precedence419122
-Node: Locales422781
-Node: Expressions Summary424413
-Node: Patterns and Actions426986
-Node: Pattern Overview428106
-Node: Regexp Patterns429783
-Node: Expression Patterns430325
-Node: Ranges434106
-Node: BEGIN/END437214
-Node: Using BEGIN/END437975
-Ref: Using BEGIN/END-Footnote-1440729
-Node: I/O And BEGIN/END440835
-Node: BEGINFILE/ENDFILE443148
-Node: Empty446379
-Node: Using Shell Variables446696
-Node: Action Overview448970
-Node: Statements451295
-Node: If Statement453143
-Node: While Statement454638
-Node: Do Statement456666
-Node: For Statement457814
-Node: Switch Statement461069
-Node: Break Statement463510
-Node: Continue Statement465602
-Node: Next Statement467429
-Node: Nextfile Statement469812
-Node: Exit Statement472501
-Node: Built-in Variables474904
-Node: User-modified476037
-Node: Auto-set483804
-Ref: Auto-set-Footnote-1500513
-Ref: Auto-set-Footnote-2500719
-Node: ARGC and ARGV500775
-Node: Pattern Action Summary504988
-Node: Arrays507418
-Node: Array Basics508747
-Node: Array Intro509591
-Ref: figure-array-elements511566
-Ref: Array Intro-Footnote-1514271
-Node: Reference to Elements514399
-Node: Assigning Elements516863
-Node: Array Example517354
-Node: Scanning an Array519308
-Node: Controlling Scanning522330
-Ref: Controlling Scanning-Footnote-1528786
-Node: Numeric Array Subscripts529102
-Node: Uninitialized Subscripts531286
-Node: Delete532905
-Ref: Delete-Footnote-1535657
-Node: Multidimensional535714
-Node: Multiscanning538809
-Node: Arrays of Arrays540400
-Node: Arrays Summary545168
-Node: Functions547261
-Node: Built-in548299
-Node: Calling Built-in549452
-Node: Boolean Functions551448
-Node: Numeric Functions552002
-Ref: Numeric Functions-Footnote-1556029
-Ref: Numeric Functions-Footnote-2556677
-Ref: Numeric Functions-Footnote-3556725
-Node: String Functions556997
-Ref: String Functions-Footnote-1582137
-Ref: String Functions-Footnote-2582265
-Ref: String Functions-Footnote-3582513
-Node: Gory Details582600
-Ref: table-sub-escapes584391
-Ref: table-sub-proposed585911
-Ref: table-posix-sub587275
-Ref: table-gensub-escapes588817
-Ref: Gory Details-Footnote-1589641
-Node: I/O Functions589795
-Ref: table-system-return-values596249
-Ref: I/O Functions-Footnote-1598330
-Ref: I/O Functions-Footnote-2598478
-Node: Time Functions598598
-Ref: Time Functions-Footnote-1609269
-Ref: Time Functions-Footnote-2609337
-Ref: Time Functions-Footnote-3609495
-Ref: Time Functions-Footnote-4609606
-Ref: Time Functions-Footnote-5609718
-Ref: Time Functions-Footnote-6609945
-Node: Bitwise Functions610211
-Ref: table-bitwise-ops610805
-Ref: Bitwise Functions-Footnote-1616869
-Ref: Bitwise Functions-Footnote-2617042
-Node: Type Functions617233
-Node: I18N Functions620754
-Node: User-defined622405
-Node: Definition Syntax623217
-Ref: Definition Syntax-Footnote-1628911
-Node: Function Example628982
-Ref: Function Example-Footnote-1631904
-Node: Function Calling631926
-Node: Calling A Function632514
-Node: Variable Scope633472
-Node: Pass By Value/Reference636466
-Node: Function Caveats639110
-Ref: Function Caveats-Footnote-1641157
-Node: Return Statement641277
-Node: Dynamic Typing644256
-Node: Indirect Calls645186
-Node: Functions Summary656113
-Node: Library Functions658818
-Ref: Library Functions-Footnote-1662302
-Ref: Library Functions-Footnote-2662445
-Node: Library Names662616
-Ref: Library Names-Footnote-1666283
-Ref: Library Names-Footnote-2666506
-Node: General Functions666592
-Node: Strtonum Function667774
-Node: Assert Function670796
-Node: Round Function674122
-Node: Cliff Random Function675662
-Node: Ordinal Functions676678
-Ref: Ordinal Functions-Footnote-1679741
-Ref: Ordinal Functions-Footnote-2679993
-Node: Join Function680203
-Ref: Join Function-Footnote-1681973
-Node: Getlocaltime Function682173
-Node: Readfile Function685915
-Node: Shell Quoting687892
-Node: Isnumeric Function689320
-Node: Data File Management690708
-Node: Filetrans Function691340
-Node: Rewind Function695436
-Node: File Checking697345
-Ref: File Checking-Footnote-1698679
-Node: Empty Files698880
-Node: Ignoring Assigns700859
-Node: Getopt Function702409
-Ref: Getopt Function-Footnote-1717706
-Node: Passwd Functions717906
-Ref: Passwd Functions-Footnote-1726745
-Node: Group Functions726833
-Ref: Group Functions-Footnote-1734731
-Node: Walking Arrays734938
-Node: Library Functions Summary737946
-Node: Library Exercises739352
-Node: Sample Programs739817
-Node: Running Examples740587
-Node: Clones741315
-Node: Cut Program742539
-Node: Egrep Program752679
-Node: Id Program761680
-Node: Split Program771615
-Ref: Split Program-Footnote-1781508
-Node: Tee Program781681
-Node: Uniq Program784471
-Node: Wc Program792059
-Node: Bytes vs. Characters792446
-Node: Using extensions793994
-Node: wc program794748
-Node: Miscellaneous Programs799613
-Node: Dupword Program800826
-Node: Alarm Program802856
-Node: Translate Program807711
-Ref: Translate Program-Footnote-1812276
-Node: Labels Program812546
-Ref: Labels Program-Footnote-1815897
-Node: Word Sorting815981
-Node: History Sorting820053
-Node: Extract Program822278
-Node: Simple Sed830291
-Node: Igawk Program833365
-Ref: Igawk Program-Footnote-1847994
-Ref: Igawk Program-Footnote-2848196
-Ref: Igawk Program-Footnote-3848318
-Node: Anagram Program848433
-Node: Signature Program851495
-Node: Programs Summary852742
-Node: Programs Exercises853956
-Ref: Programs Exercises-Footnote-1858086
-Node: Advanced Features858172
-Node: Nondecimal Data860569
-Node: Boolean Typed Values862167
-Node: Array Sorting864048
-Node: Controlling Array Traversal864753
-Ref: Controlling Array Traversal-Footnote-1873121
-Node: Array Sorting Functions873239
-Ref: Array Sorting Functions-Footnote-1879150
-Node: Two-way I/O879346
-Ref: Two-way I/O-Footnote-1887072
-Ref: Two-way I/O-Footnote-2887259
-Node: TCP/IP Networking887341
-Node: Profiling890417
-Node: Persistent Memory899723
-Ref: Persistent Memory-Footnote-1907871
-Ref: Persistent Memory-Footnote-2908010
-Node: Extension Philosophy908137
-Node: Advanced Features Summary909624
-Node: Internationalization911796
-Node: I18N and L10N913470
-Node: Explaining gettext914157
-Ref: Explaining gettext-Footnote-1920049
-Ref: Explaining gettext-Footnote-2920234
-Node: Programmer i18n920399
-Ref: Programmer i18n-Footnote-1925348
-Node: Translator i18n925397
-Node: String Extraction926191
-Ref: String Extraction-Footnote-1927323
-Node: Printf Ordering927409
-Ref: Printf Ordering-Footnote-1930195
-Node: I18N Portability930259
-Ref: I18N Portability-Footnote-1932715
-Node: I18N Example932778
-Ref: I18N Example-Footnote-1936053
-Ref: I18N Example-Footnote-2936126
-Node: Gawk I18N936235
-Node: I18N Summary936857
-Node: Debugger938198
-Node: Debugging939198
-Node: Debugging Concepts939639
-Node: Debugging Terms941448
-Node: Awk Debugging944023
-Ref: Awk Debugging-Footnote-1944968
-Node: Sample Debugging Session945100
-Node: Debugger Invocation945634
-Node: Finding The Bug947020
-Node: List of Debugger Commands953494
-Node: Breakpoint Control954827
-Node: Debugger Execution Control958521
-Node: Viewing And Changing Data961883
-Node: Execution Stack965424
-Node: Debugger Info967061
-Node: Miscellaneous Debugger Commands971132
-Node: Readline Support976194
-Node: Limitations977090
-Node: Debugging Summary979644
-Node: Namespaces980923
-Node: Global Namespace982034
-Node: Qualified Names983432
-Node: Default Namespace984431
-Node: Changing The Namespace985172
-Node: Naming Rules986786
-Node: Internal Name Management988634
-Node: Namespace Example989676
-Node: Namespace And Features992238
-Node: Namespace Summary993673
-Node: Arbitrary Precision Arithmetic995150
-Node: Computer Arithmetic996637
-Ref: table-numeric-ranges1000403
-Ref: table-floating-point-ranges1000897
-Ref: Computer Arithmetic-Footnote-11001556
-Node: Math Definitions1001613
-Ref: table-ieee-formats1004589
-Node: MPFR features1005157
-Node: MPFR On Parole1005602
-Ref: MPFR On Parole-Footnote-11006431
-Node: MPFR Intro1006586
-Node: FP Math Caution1008237
-Ref: FP Math Caution-Footnote-11009309
-Node: Inexactness of computations1009678
-Node: Inexact representation1010709
-Node: Comparing FP Values1012069
-Node: Errors accumulate1013310
-Node: Strange values1014766
-Ref: Strange values-Footnote-11017354
-Node: Getting Accuracy1017459
-Node: Try To Round1020169
-Node: Setting precision1021068
-Ref: table-predefined-precision-strings1021765
-Node: Setting the rounding mode1023596
-Ref: table-gawk-rounding-modes1023970
-Ref: Setting the rounding mode-Footnote-11027902
-Node: Arbitrary Precision Integers1028081
-Ref: Arbitrary Precision Integers-Footnote-11031256
-Node: Checking for MPFR1031405
-Node: POSIX Floating Point Problems1032879
-Ref: POSIX Floating Point Problems-Footnote-11037532
-Node: Floating point summary1037570
-Node: Dynamic Extensions1039760
-Node: Extension Intro1041313
-Node: Plugin License1042579
-Node: Extension Mechanism Outline1043376
-Ref: figure-load-extension1043815
-Ref: figure-register-new-function1045381
-Ref: figure-call-new-function1046474
-Node: Extension API Description1048537
-Node: Extension API Functions Introduction1050250
-Ref: table-api-std-headers1052086
-Node: General Data Types1056336
-Ref: General Data Types-Footnote-11065042
-Node: Memory Allocation Functions1065341
-Ref: Memory Allocation Functions-Footnote-11069842
-Node: Constructor Functions1069941
-Node: API Ownership of MPFR and GMP Values1073594
-Node: Registration Functions1075127
-Node: Extension Functions1075827
-Node: Exit Callback Functions1081149
-Node: Extension Version String1082399
-Node: Input Parsers1083062
-Node: Output Wrappers1095783
-Node: Two-way processors1100295
-Node: Printing Messages1102560
-Ref: Printing Messages-Footnote-11103731
-Node: Updating ERRNO1103884
-Node: Requesting Values1104623
-Ref: table-value-types-returned1105360
-Node: Accessing Parameters1106469
-Node: Symbol Table Access1107706
-Node: Symbol table by name1108218
-Ref: Symbol table by name-Footnote-11111243
-Node: Symbol table by cookie1111371
-Ref: Symbol table by cookie-Footnote-11115556
-Node: Cached values1115620
-Ref: Cached values-Footnote-11119156
-Node: Array Manipulation1119309
-Ref: Array Manipulation-Footnote-11120400
-Node: Array Data Types1120437
-Ref: Array Data Types-Footnote-11123095
-Node: Array Functions1123187
-Node: Flattening Arrays1127972
-Node: Creating Arrays1134948
-Node: Redirection API1139715
-Node: Extension API Variables1142548
-Node: Extension Versioning1143259
-Ref: gawk-api-version1143688
-Node: Extension GMP/MPFR Versioning1145420
-Node: Extension API Informational Variables1147048
-Node: Extension API Boilerplate1148121
-Node: Changes from API V11152095
-Node: Finding Extensions1153667
-Node: Extension Example1154226
-Node: Internal File Description1155024
-Node: Internal File Ops1159104
-Ref: Internal File Ops-Footnote-11170454
-Node: Using Internal File Ops1170594
-Ref: Using Internal File Ops-Footnote-11172977
-Node: Extension Samples1173251
-Node: Extension Sample File Functions1174780
-Node: Extension Sample Fnmatch1182429
-Node: Extension Sample Fork1183916
-Node: Extension Sample Inplace1185134
-Node: Extension Sample Ord1188760
-Node: Extension Sample Readdir1189596
-Ref: table-readdir-file-types1190485
-Node: Extension Sample Revout1191553
-Node: Extension Sample Rev2way1192142
-Node: Extension Sample Read write array1192882
-Node: Extension Sample Readfile1196068
-Node: Extension Sample Time1197163
-Node: Extension Sample API Tests1198915
-Node: gawkextlib1199407
-Node: Extension summary1202325
-Node: Extension Exercises1206027
-Node: Language History1207269
-Node: V7/SVR3.11208925
-Node: SVR41211077
-Node: POSIX1212511
-Node: BTL1213892
-Node: POSIX/GNU1214621
-Node: Feature History1220538
-Node: Common Extensions1238277
-Node: Ranges and Locales1239560
-Ref: Ranges and Locales-Footnote-11244176
-Ref: Ranges and Locales-Footnote-21244203
-Ref: Ranges and Locales-Footnote-31244438
-Node: Contributors1244661
-Node: History summary1250658
-Node: Installation1252038
-Node: Gawk Distribution1252982
-Node: Getting1253466
-Node: Extracting1254429
-Node: Distribution contents1256067
-Node: Unix Installation1263565
-Node: Quick Installation1264369
-Node: Compiling with MPFR1266789
-Node: Shell Startup Files1267479
-Node: Additional Configuration Options1268568
-Node: Configuration Philosophy1270883
-Node: Compiling from Git1273279
-Node: Building the Documentation1273834
-Node: Non-Unix Installation1275218
-Node: PC Installation1275682
-Node: PC Binary Installation1276527
-Node: PC Compiling1277400
-Node: PC Using1278506
-Node: Cygwin1282002
-Node: MSYS1283226
-Node: OpenVMS Installation1283828
-Node: OpenVMS Compilation1284491
-Ref: OpenVMS Compilation-Footnote-11285914
-Node: OpenVMS Dynamic Extensions1285972
-Node: OpenVMS Installation Details1287584
-Node: OpenVMS Running1289879
-Node: OpenVMS GNV1293880
-Node: Bugs1294623
-Node: Bug definition1295535
-Node: Bug address1299037
-Node: Usenet1302556
-Node: Performance bugs1303745
-Node: Asking for help1306666
-Node: Maintainers1308633
-Node: Other Versions1309640
-Node: Installation summary1317910
-Node: Notes1319250
-Node: Compatibility Mode1320044
-Node: Additions1320826
-Node: Accessing The Source1321751
-Node: Adding Code1323188
-Node: New Ports1330003
-Node: Derived Files1334378
-Ref: Derived Files-Footnote-11340037
-Ref: Derived Files-Footnote-21340072
-Ref: Derived Files-Footnote-31340667
-Node: Future Extensions1340781
-Node: Implementation Limitations1341439
-Node: Extension Design1342649
-Node: Old Extension Problems1343793
-Ref: Old Extension Problems-Footnote-11345311
-Node: Extension New Mechanism Goals1345368
-Ref: Extension New Mechanism Goals-Footnote-11348732
-Node: Extension Other Design Decisions1348921
-Node: Extension Future Growth1351034
-Node: Notes summary1351640
-Node: Basic Concepts1352798
-Node: Basic High Level1353479
-Ref: figure-general-flow1353761
-Ref: figure-process-flow1354447
-Ref: Basic High Level-Footnote-11357749
-Node: Basic Data Typing1357934
-Node: Glossary1361262
-Node: Copying1393149
-Node: GNU Free Documentation License1430692
-Node: Index1455812
+Node: Command Line Field Separator240130
+Node: Full Line Fields243347
+Ref: Full Line Fields-Footnote-1244869
+Ref: Full Line Fields-Footnote-2244915
+Node: Field Splitting Summary245016
+Node: Constant Size247196
+Node: Fixed width data247928
+Node: Skipping intervening251395
+Node: Allowing trailing data252193
+Node: Fields with fixed data253230
+Node: Splitting By Content254748
+Ref: Splitting By Content-Footnote-1258822
+Node: More CSV258985
+Node: FS versus FPAT260600
+Node: Testing field creation261760
+Node: Multiple Line263385
+Node: Getline269662
+Node: Plain Getline272131
+Node: Getline/Variable274704
+Node: Getline/File275855
+Node: Getline/Variable/File277243
+Ref: Getline/Variable/File-Footnote-1278848
+Node: Getline/Pipe278936
+Node: Getline/Variable/Pipe281640
+Node: Getline/Coprocess282775
+Node: Getline/Variable/Coprocess284042
+Node: Getline Notes284784
+Node: Getline Summary287581
+Ref: table-getline-variants288005
+Node: Read Timeout288754
+Ref: Read Timeout-Footnote-1292670
+Node: Retrying Input292728
+Node: Command-line directories293927
+Node: Input Summary294833
+Node: Input Exercises298005
+Node: Printing298439
+Node: Print300273
+Node: Print Examples301730
+Node: Output Separators304510
+Node: OFMT306527
+Node: Printf307883
+Node: Basic Printf308668
+Node: Control Letters310242
+Node: Format Modifiers315404
+Node: Printf Examples321419
+Node: Redirection323905
+Node: Special FD330746
+Ref: Special FD-Footnote-1333914
+Node: Special Files333988
+Node: Other Inherited Files334605
+Node: Special Network335606
+Node: Special Caveats336466
+Node: Close Files And Pipes337415
+Ref: table-close-pipe-return-values344322
+Ref: Close Files And Pipes-Footnote-1345136
+Ref: Close Files And Pipes-Footnote-2345284
+Node: Nonfatal345436
+Node: Output Summary347774
+Node: Output Exercises348996
+Node: Expressions349675
+Node: Values350863
+Node: Constants351541
+Node: Scalar Constants352232
+Ref: Scalar Constants-Footnote-1354742
+Node: Nondecimal-numbers354992
+Node: Regexp Constants357993
+Node: Using Constant Regexps358519
+Node: Standard Regexp Constants359141
+Node: Strong Regexp Constants362329
+Node: Variables366044
+Node: Using Variables366701
+Node: Assignment Options368611
+Node: Conversion371082
+Node: Strings And Numbers371606
+Ref: Strings And Numbers-Footnote-1374669
+Node: Locale influences conversions374778
+Ref: table-locale-affects377536
+Node: All Operators378155
+Node: Arithmetic Ops378784
+Node: Concatenation381500
+Ref: Concatenation-Footnote-1384347
+Node: Assignment Ops384454
+Ref: table-assign-ops389445
+Node: Increment Ops390759
+Node: Truth Values and Conditions394219
+Node: Truth Values395293
+Node: Typing and Comparison396341
+Node: Variable Typing397161
+Ref: Variable Typing-Footnote-1403624
+Ref: Variable Typing-Footnote-2403696
+Node: Comparison Operators403773
+Ref: table-relational-ops404192
+Node: POSIX String Comparison407688
+Ref: POSIX String Comparison-Footnote-1409383
+Ref: POSIX String Comparison-Footnote-2409522
+Node: Boolean Ops409606
+Ref: Boolean Ops-Footnote-1414088
+Node: Conditional Exp414180
+Node: Function Calls415916
+Node: Precedence419793
+Node: Locales423452
+Node: Expressions Summary425084
+Node: Patterns and Actions427657
+Node: Pattern Overview428777
+Node: Regexp Patterns430454
+Node: Expression Patterns430996
+Node: Ranges434777
+Node: BEGIN/END437885
+Node: Using BEGIN/END438646
+Ref: Using BEGIN/END-Footnote-1441400
+Node: I/O And BEGIN/END441506
+Node: BEGINFILE/ENDFILE443819
+Node: Empty447050
+Node: Using Shell Variables447367
+Node: Action Overview449641
+Node: Statements451966
+Node: If Statement453814
+Node: While Statement455309
+Node: Do Statement457337
+Node: For Statement458485
+Node: Switch Statement461740
+Node: Break Statement464181
+Node: Continue Statement466273
+Node: Next Statement468100
+Node: Nextfile Statement470483
+Node: Exit Statement473172
+Node: Built-in Variables475575
+Node: User-modified476708
+Node: Auto-set484475
+Ref: Auto-set-Footnote-1501184
+Ref: Auto-set-Footnote-2501390
+Node: ARGC and ARGV501446
+Node: Pattern Action Summary505659
+Node: Arrays508089
+Node: Array Basics509418
+Node: Array Intro510262
+Ref: figure-array-elements512237
+Ref: Array Intro-Footnote-1514942
+Node: Reference to Elements515070
+Node: Assigning Elements517534
+Node: Array Example518025
+Node: Scanning an Array519979
+Node: Controlling Scanning523001
+Ref: Controlling Scanning-Footnote-1529457
+Node: Numeric Array Subscripts529773
+Node: Uninitialized Subscripts531957
+Node: Delete533576
+Ref: Delete-Footnote-1536328
+Node: Multidimensional536385
+Node: Multiscanning539480
+Node: Arrays of Arrays541071
+Node: Arrays Summary545839
+Node: Functions547932
+Node: Built-in548970
+Node: Calling Built-in550123
+Node: Boolean Functions552119
+Node: Numeric Functions552673
+Ref: Numeric Functions-Footnote-1556700
+Ref: Numeric Functions-Footnote-2557348
+Ref: Numeric Functions-Footnote-3557396
+Node: String Functions557668
+Ref: String Functions-Footnote-1582808
+Ref: String Functions-Footnote-2582936
+Ref: String Functions-Footnote-3583184
+Node: Gory Details583271
+Ref: table-sub-escapes585062
+Ref: table-sub-proposed586582
+Ref: table-posix-sub587946
+Ref: table-gensub-escapes589488
+Ref: Gory Details-Footnote-1590312
+Node: I/O Functions590466
+Ref: table-system-return-values596920
+Ref: I/O Functions-Footnote-1599001
+Ref: I/O Functions-Footnote-2599149
+Node: Time Functions599269
+Ref: Time Functions-Footnote-1609940
+Ref: Time Functions-Footnote-2610008
+Ref: Time Functions-Footnote-3610166
+Ref: Time Functions-Footnote-4610277
+Ref: Time Functions-Footnote-5610389
+Ref: Time Functions-Footnote-6610616
+Node: Bitwise Functions610882
+Ref: table-bitwise-ops611476
+Ref: Bitwise Functions-Footnote-1617540
+Ref: Bitwise Functions-Footnote-2617713
+Node: Type Functions617904
+Node: I18N Functions621425
+Node: User-defined623076
+Node: Definition Syntax623888
+Ref: Definition Syntax-Footnote-1629582
+Node: Function Example629653
+Ref: Function Example-Footnote-1632575
+Node: Function Calling632597
+Node: Calling A Function633185
+Node: Variable Scope634143
+Node: Pass By Value/Reference637137
+Node: Function Caveats639781
+Ref: Function Caveats-Footnote-1641828
+Node: Return Statement641948
+Node: Dynamic Typing644927
+Node: Indirect Calls645857
+Node: Functions Summary656784
+Node: Library Functions659489
+Ref: Library Functions-Footnote-1662973
+Ref: Library Functions-Footnote-2663116
+Node: Library Names663287
+Ref: Library Names-Footnote-1666954
+Ref: Library Names-Footnote-2667177
+Node: General Functions667263
+Node: Strtonum Function668445
+Node: Assert Function671467
+Node: Round Function674793
+Node: Cliff Random Function676333
+Node: Ordinal Functions677349
+Ref: Ordinal Functions-Footnote-1680412
+Ref: Ordinal Functions-Footnote-2680664
+Node: Join Function680874
+Ref: Join Function-Footnote-1682644
+Node: Getlocaltime Function682844
+Node: Readfile Function686586
+Node: Shell Quoting688563
+Node: Isnumeric Function689991
+Node: Data File Management691379
+Node: Filetrans Function692011
+Node: Rewind Function696107
+Node: File Checking698016
+Ref: File Checking-Footnote-1699350
+Node: Empty Files699551
+Node: Ignoring Assigns701530
+Node: Getopt Function703080
+Ref: Getopt Function-Footnote-1718377
+Node: Passwd Functions718577
+Ref: Passwd Functions-Footnote-1727416
+Node: Group Functions727504
+Ref: Group Functions-Footnote-1735402
+Node: Walking Arrays735609
+Node: Library Functions Summary738617
+Node: Library Exercises740023
+Node: Sample Programs740488
+Node: Running Examples741258
+Node: Clones741986
+Node: Cut Program743210
+Node: Egrep Program753350
+Node: Id Program762351
+Node: Split Program772286
+Ref: Split Program-Footnote-1782179
+Node: Tee Program782352
+Node: Uniq Program785142
+Node: Wc Program792730
+Node: Bytes vs. Characters793117
+Node: Using extensions794665
+Node: wc program795419
+Node: Miscellaneous Programs800284
+Node: Dupword Program801497
+Node: Alarm Program803527
+Node: Translate Program808382
+Ref: Translate Program-Footnote-1812947
+Node: Labels Program813217
+Ref: Labels Program-Footnote-1816568
+Node: Word Sorting816652
+Node: History Sorting820724
+Node: Extract Program822949
+Node: Simple Sed830962
+Node: Igawk Program834036
+Ref: Igawk Program-Footnote-1848665
+Ref: Igawk Program-Footnote-2848867
+Ref: Igawk Program-Footnote-3848989
+Node: Anagram Program849104
+Node: Signature Program852166
+Node: Programs Summary853413
+Node: Programs Exercises854627
+Ref: Programs Exercises-Footnote-1858757
+Node: Advanced Features858843
+Node: Nondecimal Data861240
+Node: Boolean Typed Values862838
+Node: Array Sorting864719
+Node: Controlling Array Traversal865424
+Ref: Controlling Array Traversal-Footnote-1873792
+Node: Array Sorting Functions873910
+Ref: Array Sorting Functions-Footnote-1879821
+Node: Two-way I/O880017
+Ref: Two-way I/O-Footnote-1887743
+Ref: Two-way I/O-Footnote-2887930
+Node: TCP/IP Networking888012
+Node: Profiling891088
+Node: Persistent Memory900394
+Ref: Persistent Memory-Footnote-1908542
+Ref: Persistent Memory-Footnote-2908681
+Node: Extension Philosophy908808
+Node: Advanced Features Summary910295
+Node: Internationalization912467
+Node: I18N and L10N914141
+Node: Explaining gettext914828
+Ref: Explaining gettext-Footnote-1920720
+Ref: Explaining gettext-Footnote-2920905
+Node: Programmer i18n921070
+Ref: Programmer i18n-Footnote-1926019
+Node: Translator i18n926068
+Node: String Extraction926862
+Ref: String Extraction-Footnote-1927994
+Node: Printf Ordering928080
+Ref: Printf Ordering-Footnote-1930866
+Node: I18N Portability930930
+Ref: I18N Portability-Footnote-1933386
+Node: I18N Example933449
+Ref: I18N Example-Footnote-1936724
+Ref: I18N Example-Footnote-2936797
+Node: Gawk I18N936906
+Node: I18N Summary937528
+Node: Debugger938869
+Node: Debugging939869
+Node: Debugging Concepts940310
+Node: Debugging Terms942119
+Node: Awk Debugging944694
+Ref: Awk Debugging-Footnote-1945639
+Node: Sample Debugging Session945771
+Node: Debugger Invocation946305
+Node: Finding The Bug947691
+Node: List of Debugger Commands954165
+Node: Breakpoint Control955498
+Node: Debugger Execution Control959192
+Node: Viewing And Changing Data962554
+Node: Execution Stack966095
+Node: Debugger Info967732
+Node: Miscellaneous Debugger Commands971803
+Node: Readline Support976865
+Node: Limitations977761
+Node: Debugging Summary980315
+Node: Namespaces981594
+Node: Global Namespace982705
+Node: Qualified Names984103
+Node: Default Namespace985102
+Node: Changing The Namespace985843
+Node: Naming Rules987457
+Node: Internal Name Management989305
+Node: Namespace Example990347
+Node: Namespace And Features992909
+Node: Namespace Summary994344
+Node: Arbitrary Precision Arithmetic995821
+Node: Computer Arithmetic997308
+Ref: table-numeric-ranges1001074
+Ref: table-floating-point-ranges1001568
+Ref: Computer Arithmetic-Footnote-11002227
+Node: Math Definitions1002284
+Ref: table-ieee-formats1005260
+Node: MPFR features1005828
+Node: MPFR On Parole1006273
+Ref: MPFR On Parole-Footnote-11007102
+Node: MPFR Intro1007257
+Node: FP Math Caution1008908
+Ref: FP Math Caution-Footnote-11009980
+Node: Inexactness of computations1010349
+Node: Inexact representation1011380
+Node: Comparing FP Values1012740
+Node: Errors accumulate1013981
+Node: Strange values1015437
+Ref: Strange values-Footnote-11018025
+Node: Getting Accuracy1018130
+Node: Try To Round1020840
+Node: Setting precision1021739
+Ref: table-predefined-precision-strings1022436
+Node: Setting the rounding mode1024267
+Ref: table-gawk-rounding-modes1024641
+Ref: Setting the rounding mode-Footnote-11028573
+Node: Arbitrary Precision Integers1028752
+Ref: Arbitrary Precision Integers-Footnote-11031927
+Node: Checking for MPFR1032076
+Node: POSIX Floating Point Problems1033550
+Ref: POSIX Floating Point Problems-Footnote-11038203
+Node: Floating point summary1038241
+Node: Dynamic Extensions1040431
+Node: Extension Intro1041984
+Node: Plugin License1043250
+Node: Extension Mechanism Outline1044047
+Ref: figure-load-extension1044486
+Ref: figure-register-new-function1046052
+Ref: figure-call-new-function1047145
+Node: Extension API Description1049208
+Node: Extension API Functions Introduction1050921
+Ref: table-api-std-headers1052757
+Node: General Data Types1057007
+Ref: General Data Types-Footnote-11065713
+Node: Memory Allocation Functions1066012
+Ref: Memory Allocation Functions-Footnote-11070513
+Node: Constructor Functions1070612
+Node: API Ownership of MPFR and GMP Values1074265
+Node: Registration Functions1075798
+Node: Extension Functions1076498
+Node: Exit Callback Functions1081820
+Node: Extension Version String1083070
+Node: Input Parsers1083733
+Node: Output Wrappers1096454
+Node: Two-way processors1100966
+Node: Printing Messages1103231
+Ref: Printing Messages-Footnote-11104402
+Node: Updating ERRNO1104555
+Node: Requesting Values1105294
+Ref: table-value-types-returned1106031
+Node: Accessing Parameters1107140
+Node: Symbol Table Access1108377
+Node: Symbol table by name1108889
+Ref: Symbol table by name-Footnote-11111914
+Node: Symbol table by cookie1112042
+Ref: Symbol table by cookie-Footnote-11116227
+Node: Cached values1116291
+Ref: Cached values-Footnote-11119827
+Node: Array Manipulation1119980
+Ref: Array Manipulation-Footnote-11121071
+Node: Array Data Types1121108
+Ref: Array Data Types-Footnote-11123766
+Node: Array Functions1123858
+Node: Flattening Arrays1128643
+Node: Creating Arrays1135619
+Node: Redirection API1140386
+Node: Extension API Variables1143219
+Node: Extension Versioning1143930
+Ref: gawk-api-version1144359
+Node: Extension GMP/MPFR Versioning1146091
+Node: Extension API Informational Variables1147719
+Node: Extension API Boilerplate1148792
+Node: Changes from API V11152766
+Node: Finding Extensions1154338
+Node: Extension Example1154897
+Node: Internal File Description1155695
+Node: Internal File Ops1159775
+Ref: Internal File Ops-Footnote-11171125
+Node: Using Internal File Ops1171265
+Ref: Using Internal File Ops-Footnote-11173648
+Node: Extension Samples1173922
+Node: Extension Sample File Functions1175451
+Node: Extension Sample Fnmatch1183100
+Node: Extension Sample Fork1184587
+Node: Extension Sample Inplace1185805
+Node: Extension Sample Ord1189431
+Node: Extension Sample Readdir1190267
+Ref: table-readdir-file-types1191156
+Node: Extension Sample Revout1192224
+Node: Extension Sample Rev2way1192813
+Node: Extension Sample Read write array1193553
+Node: Extension Sample Readfile1196739
+Node: Extension Sample Time1197834
+Node: Extension Sample API Tests1199586
+Node: gawkextlib1200078
+Node: Extension summary1202996
+Node: Extension Exercises1206698
+Node: Language History1207940
+Node: V7/SVR3.11209596
+Node: SVR41211748
+Node: POSIX1213182
+Node: BTL1214563
+Node: POSIX/GNU1215292
+Node: Feature History1221209
+Node: Common Extensions1238948
+Node: Ranges and Locales1240231
+Ref: Ranges and Locales-Footnote-11244847
+Ref: Ranges and Locales-Footnote-21244874
+Ref: Ranges and Locales-Footnote-31245109
+Node: Contributors1245332
+Node: History summary1251329
+Node: Installation1252709
+Node: Gawk Distribution1253653
+Node: Getting1254137
+Node: Extracting1255100
+Node: Distribution contents1256738
+Node: Unix Installation1264236
+Node: Quick Installation1265040
+Node: Compiling with MPFR1267460
+Node: Shell Startup Files1268150
+Node: Additional Configuration Options1269239
+Node: Configuration Philosophy1271554
+Node: Compiling from Git1273950
+Node: Building the Documentation1274505
+Node: Non-Unix Installation1275889
+Node: PC Installation1276353
+Node: PC Binary Installation1277198
+Node: PC Compiling1278071
+Node: PC Using1279177
+Node: Cygwin1282673
+Node: MSYS1283897
+Node: OpenVMS Installation1284499
+Node: OpenVMS Compilation1285162
+Ref: OpenVMS Compilation-Footnote-11286585
+Node: OpenVMS Dynamic Extensions1286643
+Node: OpenVMS Installation Details1288255
+Node: OpenVMS Running1290550
+Node: OpenVMS GNV1294551
+Node: Bugs1295294
+Node: Bug definition1296206
+Node: Bug address1299708
+Node: Usenet1303227
+Node: Performance bugs1304416
+Node: Asking for help1307337
+Node: Maintainers1309304
+Node: Other Versions1310311
+Node: Installation summary1318581
+Node: Notes1319921
+Node: Compatibility Mode1320715
+Node: Additions1321497
+Node: Accessing The Source1322422
+Node: Adding Code1323859
+Node: New Ports1330674
+Node: Derived Files1335049
+Ref: Derived Files-Footnote-11340708
+Ref: Derived Files-Footnote-21340743
+Ref: Derived Files-Footnote-31341338
+Node: Future Extensions1341452
+Node: Implementation Limitations1342110
+Node: Extension Design1343320
+Node: Old Extension Problems1344464
+Ref: Old Extension Problems-Footnote-11345982
+Node: Extension New Mechanism Goals1346039
+Ref: Extension New Mechanism Goals-Footnote-11349403
+Node: Extension Other Design Decisions1349592
+Node: Extension Future Growth1351705
+Node: Notes summary1352311
+Node: Basic Concepts1353469
+Node: Basic High Level1354150
+Ref: figure-general-flow1354432
+Ref: figure-process-flow1355118
+Ref: Basic High Level-Footnote-11358420
+Node: Basic Data Typing1358605
+Node: Glossary1361933
+Node: Copying1393820
+Node: GNU Free Documentation License1431363
+Node: Index1456483
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 673823b8..365e4cd4 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -7801,6 +7801,7 @@ Shell programmers take note: @command{awk} does
@emph{not} use the
name @code{IFS} that is used by the POSIX-compliant shells (such as
the Unix Bourne shell, @command{sh}, or Bash).
+@c FIXME: This needs reworking now that we have CSV
@cindex @code{FS} variable @subentry changing value of
The value of @code{FS} can be changed in the @command{awk} program with the
assignment operator, @samp{=} (@pxref{Assignment Ops}).
@@ -8027,6 +8028,8 @@ behaves this way.
@node Comma Separated Fields
@subsection Working With Comma Separated Value Files
+@cindex comma separated values (CSV) data @subentry parsing with @code{FS}
+@cindex CSV (comma separated values) data @subentry parsing with @code{FS}
Many commonly-used tools use a comma to separate fields, instead of whitespace.
This is particularly true of popular spreadsheet programs. There is no
universally accepted standard for the format of these files, although
@@ -8061,7 +8064,15 @@ quote inside a double-quoted field, two double quotes
are used.
The double-quote that starts a quoted field must be the first
character after the comma.
-This featue is disabled in POSIX mode.
+Some programs that support CSV-formatted data even allow fields to
+include embedded newlines (such as a postal address, for example).
+This is @emph{not} supported in either BWK @command{awk} or in
+@command{gawk}. This cannot be done using only facilities in the
+@command{awk} language, since @command{awk} first splits the input
+into records, and the default record separator is a newline.
+Thus any newline embedded in a field simply terminates the record.
+
+CSV input parsing is disabled in POSIX mode.
@node Command Line Field Separator
@subsection Setting @code{FS} from the Command Line
@@ -8733,6 +8744,13 @@ with @code{FS} and with @code{FIELDWIDTHS}.
Finally, the @code{patsplit()} function makes the same functionality
available for splitting regular strings (@pxref{String Functions}).
+@quotation NOTE
+Given that @command{gawk} now has built-in CSV parsing
+(@pxref{Comma Separated Fields}), the examples presented here are obsolete.
+Nonetheless, it remains useful as an example of what @code{FPAT}-based
+field parsing can do.
+@end quotation
+
@node More CSV
@subsection More on CSV Files
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 19ee6fb6..70af76a4 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -7366,6 +7366,7 @@ Shell programmers take note: @command{awk} does
@emph{not} use the
name @code{IFS} that is used by the POSIX-compliant shells (such as
the Unix Bourne shell, @command{sh}, or Bash).
+@c FIXME: This needs reworking now that we have CSV
@cindex @code{FS} variable @subentry changing value of
The value of @code{FS} can be changed in the @command{awk} program with the
assignment operator, @samp{=} (@pxref{Assignment Ops}).
@@ -7592,6 +7593,8 @@ behaves this way.
@node Comma Separated Fields
@subsection Working With Comma Separated Value Files
+@cindex comma separated values (CSV) data @subentry parsing with @code{FS}
+@cindex CSV (comma separated values) data @subentry parsing with @code{FS}
Many commonly-used tools use a comma to separate fields, instead of whitespace.
This is particularly true of popular spreadsheet programs. There is no
universally accepted standard for the format of these files, although
@@ -7626,7 +7629,15 @@ quote inside a double-quoted field, two double quotes
are used.
The double-quote that starts a quoted field must be the first
character after the comma.
-This featue is disabled in POSIX mode.
+Some programs that support CSV-formatted data even allow fields to
+include embedded newlines (such as a postal address, for example).
+This is @emph{not} supported in either BWK @command{awk} or in
+@command{gawk}. This cannot be done using only facilities in the
+@command{awk} language, since @command{awk} first splits the input
+into records, and the default record separator is a newline.
+Thus any newline embedded in a field simply terminates the record.
+
+CSV input parsing is disabled in POSIX mode.
@node Command Line Field Separator
@subsection Setting @code{FS} from the Command Line
@@ -8202,6 +8213,13 @@ with @code{FS} and with @code{FIELDWIDTHS}.
Finally, the @code{patsplit()} function makes the same functionality
available for splitting regular strings (@pxref{String Functions}).
+@quotation NOTE
+Given that @command{gawk} now has built-in CSV parsing
+(@pxref{Comma Separated Fields}), the examples presented here are obsolete.
+Nonetheless, it remains useful as an example of what @code{FPAT}-based
+field parsing can do.
+@end quotation
+
@node More CSV
@subsection More on CSV Files
diff --git a/doc/wordlist b/doc/wordlist
index 398c4c2d..b6086252 100644
--- a/doc/wordlist
+++ b/doc/wordlist
@@ -182,6 +182,7 @@ Fnmatch
Formfeed
FreeBSD
Friedl
+Fuzzers
GAWKINETTITLE
GAWKWORKFLOWTITLE
GCC
@@ -1009,6 +1010,8 @@ func
funcp
funcs
funstuff
+fuzzer
+fuzzers
fw
fwrite
ga
@@ -1258,6 +1261,8 @@ lvalue
lvalues
lwall
lwcm
+macOS
+macosx
madronabluff
mailx
makeinfo
-----------------------------------------------------------------------
Summary of changes:
doc/ChangeLog | 9 +
doc/awkcard.in | 2 +-
doc/gawk.info | 1069 ++++++++++++++++++++++++++++---------------------------
doc/gawk.texi | 20 +-
doc/gawktexi.in | 20 +-
doc/wordlist | 5 +
6 files changed, 596 insertions(+), 529 deletions(-)
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] gawk branch, master, updated. gawk-4.1.0-5028-g4b64c120,
Arnold Robbins <=