diff options
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 937 | ||||
-rw-r--r-- | doc/gawk.texi | 10 | ||||
-rw-r--r-- | doc/gawktexi.in | 10 |
4 files changed, 485 insertions, 476 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 7288fb77..1e53c5b7 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2014-11-19 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Update that RFC 4180 documents CSV data. + 2014-11-17 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Copyedits applied. diff --git a/doc/gawk.info b/doc/gawk.info index a318498b..6026b543 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -5179,9 +5179,8 @@ what they are, and not by what they are not. data into text files, where each record is terminated with a newline, and fields are separated by commas. If only commas separated the data, there wouldn't be an issue. The problem comes when one of the fields -contains an _embedded_ comma. Although there is no formal standard -specification for CSV data,(1) in such cases, most programs embed the -field in double quotes. So we might have data like this: +contains an _embedded_ comma. In such cases, most programs embed the +field in double quotes.(1) So we might have data like this: Robbins,Arnold,"1234 A Pretty Street, NE",MyTown,MyState,12345-6789,USA @@ -5264,7 +5263,9 @@ based on which of the three variables--`FS', `FIELDWIDTHS', and ---------- Footnotes ---------- - (1) At least, we don't know of one. + (1) The CSV format lacked a formal standard definition for many +years. RFC 4180 (http://www.ietf.org/rfc/rfc4180.txt) standardizes the +most common practices. File: gawk.info, Node: Multiple Line, Next: Getline, Prev: Splitting By Content, Up: Reading Files @@ -32657,7 +32658,7 @@ Index * forward slash (/), patterns and: Expression Patterns. (line 24) * FPAT variable <1>: User-modified. (line 43) * FPAT variable: Splitting By Content. - (line 26) + (line 25) * frame debugger command: Execution Stack. (line 27) * Free Documentation License (FDL): GNU Free Documentation License. (line 7) @@ -32767,7 +32768,7 @@ Index * gawk, format-control characters: Control Letters. (line 18) * gawk, FPAT variable in <1>: User-modified. (line 43) * gawk, FPAT variable in: Splitting By Content. - (line 26) + (line 25) * gawk, FUNCTAB array in: Auto-set. (line 116) * gawk, function arguments and: Calling Built-in. (line 16) * gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42) @@ -34380,467 +34381,467 @@ Ref: Full Line Fields-Footnote-2224934 Node: Field Splitting Summary225035 Node: Constant Size227109 Node: Splitting By Content231698 -Ref: Splitting By Content-Footnote-1235753 -Node: Multiple Line235793 -Ref: Multiple Line-Footnote-1241679 -Node: Getline241858 -Node: Plain Getline244070 -Node: Getline/Variable246710 -Node: Getline/File247858 -Node: Getline/Variable/File249242 -Ref: Getline/Variable/File-Footnote-1250845 -Node: Getline/Pipe250932 -Node: Getline/Variable/Pipe253615 -Node: Getline/Coprocess254746 -Node: Getline/Variable/Coprocess255998 -Node: Getline Notes256737 -Node: Getline Summary259529 -Ref: table-getline-variants259941 -Node: Read Timeout260770 -Ref: Read Timeout-Footnote-1264589 -Node: Command-line directories264647 -Node: Input Summary265552 -Node: Input Exercises268805 -Node: Printing269533 -Node: Print271310 -Node: Print Examples272767 -Node: Output Separators275546 -Node: OFMT277564 -Node: Printf278918 -Node: Basic Printf279703 -Node: Control Letters281272 -Node: Format Modifiers285256 -Node: Printf Examples291257 -Node: Redirection293743 -Node: Special FD300584 -Ref: Special FD-Footnote-1303744 -Node: Special Files303818 -Node: Other Inherited Files304435 -Node: Special Network305435 -Node: Special Caveats306297 -Node: Close Files And Pipes307248 -Ref: Close Files And Pipes-Footnote-1314430 -Ref: Close Files And Pipes-Footnote-2314578 -Node: Output Summary314728 -Node: Output Exercises315726 -Node: Expressions316406 -Node: Values317591 -Node: Constants318269 -Node: Scalar Constants318960 -Ref: Scalar Constants-Footnote-1319819 -Node: Nondecimal-numbers320069 -Node: Regexp Constants323087 -Node: Using Constant Regexps323612 -Node: Variables326755 -Node: Using Variables327410 -Node: Assignment Options329321 -Node: Conversion331196 -Node: Strings And Numbers331720 -Ref: Strings And Numbers-Footnote-1334785 -Node: Locale influences conversions334894 -Ref: table-locale-affects337641 -Node: All Operators338229 -Node: Arithmetic Ops338859 -Node: Concatenation341364 -Ref: Concatenation-Footnote-1344183 -Node: Assignment Ops344289 -Ref: table-assign-ops349268 -Node: Increment Ops350540 -Node: Truth Values and Conditions353978 -Node: Truth Values355063 -Node: Typing and Comparison356112 -Node: Variable Typing356922 -Node: Comparison Operators360575 -Ref: table-relational-ops360985 -Node: POSIX String Comparison364480 -Ref: POSIX String Comparison-Footnote-1365552 -Node: Boolean Ops365690 -Ref: Boolean Ops-Footnote-1370169 -Node: Conditional Exp370260 -Node: Function Calls371987 -Node: Precedence375867 -Node: Locales379528 -Node: Expressions Summary381160 -Node: Patterns and Actions383720 -Node: Pattern Overview384840 -Node: Regexp Patterns386519 -Node: Expression Patterns387062 -Node: Ranges390843 -Node: BEGIN/END393949 -Node: Using BEGIN/END394710 -Ref: Using BEGIN/END-Footnote-1397444 -Node: I/O And BEGIN/END397550 -Node: BEGINFILE/ENDFILE399864 -Node: Empty402765 -Node: Using Shell Variables403082 -Node: Action Overview405355 -Node: Statements407681 -Node: If Statement409529 -Node: While Statement411024 -Node: Do Statement413053 -Node: For Statement414197 -Node: Switch Statement417354 -Node: Break Statement419736 -Node: Continue Statement421777 -Node: Next Statement423604 -Node: Nextfile Statement425985 -Node: Exit Statement428615 -Node: Built-in Variables431018 -Node: User-modified432151 -Ref: User-modified-Footnote-1439832 -Node: Auto-set439894 -Ref: Auto-set-Footnote-1452929 -Ref: Auto-set-Footnote-2453134 -Node: ARGC and ARGV453190 -Node: Pattern Action Summary457408 -Node: Arrays459835 -Node: Array Basics461164 -Node: Array Intro462008 -Ref: figure-array-elements463972 -Ref: Array Intro-Footnote-1466498 -Node: Reference to Elements466626 -Node: Assigning Elements469078 -Node: Array Example469569 -Node: Scanning an Array471327 -Node: Controlling Scanning474343 -Ref: Controlling Scanning-Footnote-1479539 -Node: Numeric Array Subscripts479855 -Node: Uninitialized Subscripts482040 -Node: Delete483657 -Ref: Delete-Footnote-1486400 -Node: Multidimensional486457 -Node: Multiscanning489554 -Node: Arrays of Arrays491143 -Node: Arrays Summary495902 -Node: Functions497994 -Node: Built-in498867 -Node: Calling Built-in499945 -Node: Numeric Functions501936 -Ref: Numeric Functions-Footnote-1505953 -Ref: Numeric Functions-Footnote-2506310 -Ref: Numeric Functions-Footnote-3506358 -Node: String Functions506630 -Ref: String Functions-Footnote-1530105 -Ref: String Functions-Footnote-2530234 -Ref: String Functions-Footnote-3530482 -Node: Gory Details530569 -Ref: table-sub-escapes532350 -Ref: table-sub-proposed533870 -Ref: table-posix-sub535234 -Ref: table-gensub-escapes536770 -Ref: Gory Details-Footnote-1537602 -Node: I/O Functions537753 -Ref: I/O Functions-Footnote-1544971 -Node: Time Functions545118 -Ref: Time Functions-Footnote-1555606 -Ref: Time Functions-Footnote-2555674 -Ref: Time Functions-Footnote-3555832 -Ref: Time Functions-Footnote-4555943 -Ref: Time Functions-Footnote-5556055 -Ref: Time Functions-Footnote-6556282 -Node: Bitwise Functions556548 -Ref: table-bitwise-ops557110 -Ref: Bitwise Functions-Footnote-1561419 -Node: Type Functions561588 -Node: I18N Functions562739 -Node: User-defined564384 -Node: Definition Syntax565189 -Ref: Definition Syntax-Footnote-1570596 -Node: Function Example570667 -Ref: Function Example-Footnote-1573586 -Node: Function Caveats573608 -Node: Calling A Function574126 -Node: Variable Scope575084 -Node: Pass By Value/Reference578072 -Node: Return Statement581567 -Node: Dynamic Typing584548 -Node: Indirect Calls585477 -Ref: Indirect Calls-Footnote-1596779 -Node: Functions Summary596907 -Node: Library Functions599609 -Ref: Library Functions-Footnote-1603218 -Ref: Library Functions-Footnote-2603361 -Node: Library Names603532 -Ref: Library Names-Footnote-1606986 -Ref: Library Names-Footnote-2607209 -Node: General Functions607295 -Node: Strtonum Function608398 -Node: Assert Function611420 -Node: Round Function614744 -Node: Cliff Random Function616285 -Node: Ordinal Functions617301 -Ref: Ordinal Functions-Footnote-1620364 -Ref: Ordinal Functions-Footnote-2620616 -Node: Join Function620827 -Ref: Join Function-Footnote-1622596 -Node: Getlocaltime Function622796 -Node: Readfile Function626540 -Node: Shell Quoting628510 -Node: Data File Management629911 -Node: Filetrans Function630543 -Node: Rewind Function634599 -Node: File Checking635986 -Ref: File Checking-Footnote-1637318 -Node: Empty Files637519 -Node: Ignoring Assigns639498 -Node: Getopt Function641049 -Ref: Getopt Function-Footnote-1652511 -Node: Passwd Functions652711 -Ref: Passwd Functions-Footnote-1661560 -Node: Group Functions661648 -Ref: Group Functions-Footnote-1669542 -Node: Walking Arrays669755 -Node: Library Functions Summary671358 -Node: Library Exercises672759 -Node: Sample Programs674039 -Node: Running Examples674809 -Node: Clones675537 -Node: Cut Program676761 -Node: Egrep Program686480 -Ref: Egrep Program-Footnote-1693978 -Node: Id Program694088 -Node: Split Program697733 -Ref: Split Program-Footnote-1701181 -Node: Tee Program701309 -Node: Uniq Program704098 -Node: Wc Program711517 -Ref: Wc Program-Footnote-1715767 -Node: Miscellaneous Programs715861 -Node: Dupword Program717074 -Node: Alarm Program719105 -Node: Translate Program723909 -Ref: Translate Program-Footnote-1728474 -Node: Labels Program728744 -Ref: Labels Program-Footnote-1732095 -Node: Word Sorting732179 -Node: History Sorting736250 -Node: Extract Program738086 -Node: Simple Sed745611 -Node: Igawk Program748679 -Ref: Igawk Program-Footnote-1763003 -Ref: Igawk Program-Footnote-2763204 -Ref: Igawk Program-Footnote-3763326 -Node: Anagram Program763441 -Node: Signature Program766498 -Node: Programs Summary767745 -Node: Programs Exercises768938 -Ref: Programs Exercises-Footnote-1773069 -Node: Advanced Features773160 -Node: Nondecimal Data775108 -Node: Array Sorting776698 -Node: Controlling Array Traversal777395 -Ref: Controlling Array Traversal-Footnote-1785728 -Node: Array Sorting Functions785846 -Ref: Array Sorting Functions-Footnote-1789735 -Node: Two-way I/O789931 -Ref: Two-way I/O-Footnote-1794872 -Ref: Two-way I/O-Footnote-2795058 -Node: TCP/IP Networking795140 -Node: Profiling798013 -Node: Advanced Features Summary805560 -Node: Internationalization807493 -Node: I18N and L10N808973 -Node: Explaining gettext809659 -Ref: Explaining gettext-Footnote-1814684 -Ref: Explaining gettext-Footnote-2814868 -Node: Programmer i18n815033 -Ref: Programmer i18n-Footnote-1819899 -Node: Translator i18n819948 -Node: String Extraction820742 -Ref: String Extraction-Footnote-1821873 -Node: Printf Ordering821959 -Ref: Printf Ordering-Footnote-1824745 -Node: I18N Portability824809 -Ref: I18N Portability-Footnote-1827264 -Node: I18N Example827327 -Ref: I18N Example-Footnote-1830130 -Node: Gawk I18N830202 -Node: I18N Summary830840 -Node: Debugger832179 -Node: Debugging833201 -Node: Debugging Concepts833642 -Node: Debugging Terms835495 -Node: Awk Debugging838067 -Node: Sample Debugging Session838961 -Node: Debugger Invocation839481 -Node: Finding The Bug840865 -Node: List of Debugger Commands847340 -Node: Breakpoint Control848673 -Node: Debugger Execution Control852369 -Node: Viewing And Changing Data855733 -Node: Execution Stack859111 -Node: Debugger Info860748 -Node: Miscellaneous Debugger Commands864765 -Node: Readline Support869794 -Node: Limitations870686 -Node: Debugging Summary872800 -Node: Arbitrary Precision Arithmetic873968 -Node: Computer Arithmetic875384 -Ref: table-numeric-ranges878982 -Ref: Computer Arithmetic-Footnote-1879841 -Node: Math Definitions879898 -Ref: table-ieee-formats883186 -Ref: Math Definitions-Footnote-1883790 -Node: MPFR features883895 -Node: FP Math Caution885566 -Ref: FP Math Caution-Footnote-1886616 -Node: Inexactness of computations886985 -Node: Inexact representation887944 -Node: Comparing FP Values889301 -Node: Errors accumulate890383 -Node: Getting Accuracy891816 -Node: Try To Round894478 -Node: Setting precision895377 -Ref: table-predefined-precision-strings896061 -Node: Setting the rounding mode897850 -Ref: table-gawk-rounding-modes898214 -Ref: Setting the rounding mode-Footnote-1901669 -Node: Arbitrary Precision Integers901848 -Ref: Arbitrary Precision Integers-Footnote-1904834 -Node: POSIX Floating Point Problems904983 -Ref: POSIX Floating Point Problems-Footnote-1908856 -Node: Floating point summary908894 -Node: Dynamic Extensions911088 -Node: Extension Intro912640 -Node: Plugin License913906 -Node: Extension Mechanism Outline914703 -Ref: figure-load-extension915131 -Ref: figure-register-new-function916611 -Ref: figure-call-new-function917615 -Node: Extension API Description919601 -Node: Extension API Functions Introduction921051 -Node: General Data Types925875 -Ref: General Data Types-Footnote-1931614 -Node: Memory Allocation Functions931913 -Ref: Memory Allocation Functions-Footnote-1934752 -Node: Constructor Functions934848 -Node: Registration Functions936582 -Node: Extension Functions937267 -Node: Exit Callback Functions939564 -Node: Extension Version String940812 -Node: Input Parsers941477 -Node: Output Wrappers951354 -Node: Two-way processors955869 -Node: Printing Messages958073 -Ref: Printing Messages-Footnote-1959149 -Node: Updating `ERRNO'959301 -Node: Requesting Values960041 -Ref: table-value-types-returned960769 -Node: Accessing Parameters961726 -Node: Symbol Table Access962957 -Node: Symbol table by name963471 -Node: Symbol table by cookie965452 -Ref: Symbol table by cookie-Footnote-1969596 -Node: Cached values969659 -Ref: Cached values-Footnote-1973158 -Node: Array Manipulation973249 -Ref: Array Manipulation-Footnote-1974347 -Node: Array Data Types974384 -Ref: Array Data Types-Footnote-1977039 -Node: Array Functions977131 -Node: Flattening Arrays980985 -Node: Creating Arrays987877 -Node: Extension API Variables992646 -Node: Extension Versioning993282 -Node: Extension API Informational Variables995183 -Node: Extension API Boilerplate996271 -Node: Finding Extensions1000080 -Node: Extension Example1000640 -Node: Internal File Description1001412 -Node: Internal File Ops1005479 -Ref: Internal File Ops-Footnote-11017149 -Node: Using Internal File Ops1017289 -Ref: Using Internal File Ops-Footnote-11019672 -Node: Extension Samples1019945 -Node: Extension Sample File Functions1021471 -Node: Extension Sample Fnmatch1029109 -Node: Extension Sample Fork1030600 -Node: Extension Sample Inplace1031815 -Node: Extension Sample Ord1033490 -Node: Extension Sample Readdir1034326 -Ref: table-readdir-file-types1035202 -Node: Extension Sample Revout1036013 -Node: Extension Sample Rev2way1036603 -Node: Extension Sample Read write array1037343 -Node: Extension Sample Readfile1039283 -Node: Extension Sample Time1040378 -Node: Extension Sample API Tests1041727 -Node: gawkextlib1042218 -Node: Extension summary1044855 -Node: Extension Exercises1048532 -Node: Language History1049254 -Node: V7/SVR3.11050910 -Node: SVR41053091 -Node: POSIX1054536 -Node: BTL1055925 -Node: POSIX/GNU1056659 -Node: Feature History1062223 -Node: Common Extensions1075321 -Node: Ranges and Locales1076645 -Ref: Ranges and Locales-Footnote-11081263 -Ref: Ranges and Locales-Footnote-21081290 -Ref: Ranges and Locales-Footnote-31081524 -Node: Contributors1081745 -Node: History summary1087286 -Node: Installation1088656 -Node: Gawk Distribution1089602 -Node: Getting1090086 -Node: Extracting1090909 -Node: Distribution contents1092544 -Node: Unix Installation1098261 -Node: Quick Installation1098878 -Node: Additional Configuration Options1101302 -Node: Configuration Philosophy1103040 -Node: Non-Unix Installation1105409 -Node: PC Installation1105867 -Node: PC Binary Installation1107186 -Node: PC Compiling1109034 -Ref: PC Compiling-Footnote-11112055 -Node: PC Testing1112164 -Node: PC Using1113340 -Node: Cygwin1117455 -Node: MSYS1118278 -Node: VMS Installation1118778 -Node: VMS Compilation1119570 -Ref: VMS Compilation-Footnote-11120792 -Node: VMS Dynamic Extensions1120850 -Node: VMS Installation Details1122534 -Node: VMS Running1124786 -Node: VMS GNV1127622 -Node: VMS Old Gawk1128356 -Node: Bugs1128826 -Node: Other Versions1132709 -Node: Installation summary1139131 -Node: Notes1140187 -Node: Compatibility Mode1141052 -Node: Additions1141834 -Node: Accessing The Source1142759 -Node: Adding Code1144195 -Node: New Ports1150360 -Node: Derived Files1154842 -Ref: Derived Files-Footnote-11160317 -Ref: Derived Files-Footnote-21160351 -Ref: Derived Files-Footnote-31160947 -Node: Future Extensions1161061 -Node: Implementation Limitations1161667 -Node: Extension Design1162915 -Node: Old Extension Problems1164069 -Ref: Old Extension Problems-Footnote-11165586 -Node: Extension New Mechanism Goals1165643 -Ref: Extension New Mechanism Goals-Footnote-11169003 -Node: Extension Other Design Decisions1169192 -Node: Extension Future Growth1171300 -Node: Old Extension Mechanism1172136 -Node: Notes summary1173898 -Node: Basic Concepts1175084 -Node: Basic High Level1175765 -Ref: figure-general-flow1176037 -Ref: figure-process-flow1176636 -Ref: Basic High Level-Footnote-11179865 -Node: Basic Data Typing1180050 -Node: Glossary1183378 -Node: Copying1208536 -Node: GNU Free Documentation License1246092 -Node: Index1271228 +Ref: Splitting By Content-Footnote-1235689 +Node: Multiple Line235852 +Ref: Multiple Line-Footnote-1241738 +Node: Getline241917 +Node: Plain Getline244129 +Node: Getline/Variable246769 +Node: Getline/File247917 +Node: Getline/Variable/File249301 +Ref: Getline/Variable/File-Footnote-1250904 +Node: Getline/Pipe250991 +Node: Getline/Variable/Pipe253674 +Node: Getline/Coprocess254805 +Node: Getline/Variable/Coprocess256057 +Node: Getline Notes256796 +Node: Getline Summary259588 +Ref: table-getline-variants260000 +Node: Read Timeout260829 +Ref: Read Timeout-Footnote-1264648 +Node: Command-line directories264706 +Node: Input Summary265611 +Node: Input Exercises268864 +Node: Printing269592 +Node: Print271369 +Node: Print Examples272826 +Node: Output Separators275605 +Node: OFMT277623 +Node: Printf278977 +Node: Basic Printf279762 +Node: Control Letters281331 +Node: Format Modifiers285315 +Node: Printf Examples291316 +Node: Redirection293802 +Node: Special FD300643 +Ref: Special FD-Footnote-1303803 +Node: Special Files303877 +Node: Other Inherited Files304494 +Node: Special Network305494 +Node: Special Caveats306356 +Node: Close Files And Pipes307307 +Ref: Close Files And Pipes-Footnote-1314489 +Ref: Close Files And Pipes-Footnote-2314637 +Node: Output Summary314787 +Node: Output Exercises315785 +Node: Expressions316465 +Node: Values317650 +Node: Constants318328 +Node: Scalar Constants319019 +Ref: Scalar Constants-Footnote-1319878 +Node: Nondecimal-numbers320128 +Node: Regexp Constants323146 +Node: Using Constant Regexps323671 +Node: Variables326814 +Node: Using Variables327469 +Node: Assignment Options329380 +Node: Conversion331255 +Node: Strings And Numbers331779 +Ref: Strings And Numbers-Footnote-1334844 +Node: Locale influences conversions334953 +Ref: table-locale-affects337700 +Node: All Operators338288 +Node: Arithmetic Ops338918 +Node: Concatenation341423 +Ref: Concatenation-Footnote-1344242 +Node: Assignment Ops344348 +Ref: table-assign-ops349327 +Node: Increment Ops350599 +Node: Truth Values and Conditions354037 +Node: Truth Values355122 +Node: Typing and Comparison356171 +Node: Variable Typing356981 +Node: Comparison Operators360634 +Ref: table-relational-ops361044 +Node: POSIX String Comparison364539 +Ref: POSIX String Comparison-Footnote-1365611 +Node: Boolean Ops365749 +Ref: Boolean Ops-Footnote-1370228 +Node: Conditional Exp370319 +Node: Function Calls372046 +Node: Precedence375926 +Node: Locales379587 +Node: Expressions Summary381219 +Node: Patterns and Actions383779 +Node: Pattern Overview384899 +Node: Regexp Patterns386578 +Node: Expression Patterns387121 +Node: Ranges390902 +Node: BEGIN/END394008 +Node: Using BEGIN/END394769 +Ref: Using BEGIN/END-Footnote-1397503 +Node: I/O And BEGIN/END397609 +Node: BEGINFILE/ENDFILE399923 +Node: Empty402824 +Node: Using Shell Variables403141 +Node: Action Overview405414 +Node: Statements407740 +Node: If Statement409588 +Node: While Statement411083 +Node: Do Statement413112 +Node: For Statement414256 +Node: Switch Statement417413 +Node: Break Statement419795 +Node: Continue Statement421836 +Node: Next Statement423663 +Node: Nextfile Statement426044 +Node: Exit Statement428674 +Node: Built-in Variables431077 +Node: User-modified432210 +Ref: User-modified-Footnote-1439891 +Node: Auto-set439953 +Ref: Auto-set-Footnote-1452988 +Ref: Auto-set-Footnote-2453193 +Node: ARGC and ARGV453249 +Node: Pattern Action Summary457467 +Node: Arrays459894 +Node: Array Basics461223 +Node: Array Intro462067 +Ref: figure-array-elements464031 +Ref: Array Intro-Footnote-1466557 +Node: Reference to Elements466685 +Node: Assigning Elements469137 +Node: Array Example469628 +Node: Scanning an Array471386 +Node: Controlling Scanning474402 +Ref: Controlling Scanning-Footnote-1479598 +Node: Numeric Array Subscripts479914 +Node: Uninitialized Subscripts482099 +Node: Delete483716 +Ref: Delete-Footnote-1486459 +Node: Multidimensional486516 +Node: Multiscanning489613 +Node: Arrays of Arrays491202 +Node: Arrays Summary495961 +Node: Functions498053 +Node: Built-in498926 +Node: Calling Built-in500004 +Node: Numeric Functions501995 +Ref: Numeric Functions-Footnote-1506012 +Ref: Numeric Functions-Footnote-2506369 +Ref: Numeric Functions-Footnote-3506417 +Node: String Functions506689 +Ref: String Functions-Footnote-1530164 +Ref: String Functions-Footnote-2530293 +Ref: String Functions-Footnote-3530541 +Node: Gory Details530628 +Ref: table-sub-escapes532409 +Ref: table-sub-proposed533929 +Ref: table-posix-sub535293 +Ref: table-gensub-escapes536829 +Ref: Gory Details-Footnote-1537661 +Node: I/O Functions537812 +Ref: I/O Functions-Footnote-1545030 +Node: Time Functions545177 +Ref: Time Functions-Footnote-1555665 +Ref: Time Functions-Footnote-2555733 +Ref: Time Functions-Footnote-3555891 +Ref: Time Functions-Footnote-4556002 +Ref: Time Functions-Footnote-5556114 +Ref: Time Functions-Footnote-6556341 +Node: Bitwise Functions556607 +Ref: table-bitwise-ops557169 +Ref: Bitwise Functions-Footnote-1561478 +Node: Type Functions561647 +Node: I18N Functions562798 +Node: User-defined564443 +Node: Definition Syntax565248 +Ref: Definition Syntax-Footnote-1570655 +Node: Function Example570726 +Ref: Function Example-Footnote-1573645 +Node: Function Caveats573667 +Node: Calling A Function574185 +Node: Variable Scope575143 +Node: Pass By Value/Reference578131 +Node: Return Statement581626 +Node: Dynamic Typing584607 +Node: Indirect Calls585536 +Ref: Indirect Calls-Footnote-1596838 +Node: Functions Summary596966 +Node: Library Functions599668 +Ref: Library Functions-Footnote-1603277 +Ref: Library Functions-Footnote-2603420 +Node: Library Names603591 +Ref: Library Names-Footnote-1607045 +Ref: Library Names-Footnote-2607268 +Node: General Functions607354 +Node: Strtonum Function608457 +Node: Assert Function611479 +Node: Round Function614803 +Node: Cliff Random Function616344 +Node: Ordinal Functions617360 +Ref: Ordinal Functions-Footnote-1620423 +Ref: Ordinal Functions-Footnote-2620675 +Node: Join Function620886 +Ref: Join Function-Footnote-1622655 +Node: Getlocaltime Function622855 +Node: Readfile Function626599 +Node: Shell Quoting628569 +Node: Data File Management629970 +Node: Filetrans Function630602 +Node: Rewind Function634658 +Node: File Checking636045 +Ref: File Checking-Footnote-1637377 +Node: Empty Files637578 +Node: Ignoring Assigns639557 +Node: Getopt Function641108 +Ref: Getopt Function-Footnote-1652570 +Node: Passwd Functions652770 +Ref: Passwd Functions-Footnote-1661619 +Node: Group Functions661707 +Ref: Group Functions-Footnote-1669601 +Node: Walking Arrays669814 +Node: Library Functions Summary671417 +Node: Library Exercises672818 +Node: Sample Programs674098 +Node: Running Examples674868 +Node: Clones675596 +Node: Cut Program676820 +Node: Egrep Program686539 +Ref: Egrep Program-Footnote-1694037 +Node: Id Program694147 +Node: Split Program697792 +Ref: Split Program-Footnote-1701240 +Node: Tee Program701368 +Node: Uniq Program704157 +Node: Wc Program711576 +Ref: Wc Program-Footnote-1715826 +Node: Miscellaneous Programs715920 +Node: Dupword Program717133 +Node: Alarm Program719164 +Node: Translate Program723968 +Ref: Translate Program-Footnote-1728533 +Node: Labels Program728803 +Ref: Labels Program-Footnote-1732154 +Node: Word Sorting732238 +Node: History Sorting736309 +Node: Extract Program738145 +Node: Simple Sed745670 +Node: Igawk Program748738 +Ref: Igawk Program-Footnote-1763062 +Ref: Igawk Program-Footnote-2763263 +Ref: Igawk Program-Footnote-3763385 +Node: Anagram Program763500 +Node: Signature Program766557 +Node: Programs Summary767804 +Node: Programs Exercises768997 +Ref: Programs Exercises-Footnote-1773128 +Node: Advanced Features773219 +Node: Nondecimal Data775167 +Node: Array Sorting776757 +Node: Controlling Array Traversal777454 +Ref: Controlling Array Traversal-Footnote-1785787 +Node: Array Sorting Functions785905 +Ref: Array Sorting Functions-Footnote-1789794 +Node: Two-way I/O789990 +Ref: Two-way I/O-Footnote-1794931 +Ref: Two-way I/O-Footnote-2795117 +Node: TCP/IP Networking795199 +Node: Profiling798072 +Node: Advanced Features Summary805619 +Node: Internationalization807552 +Node: I18N and L10N809032 +Node: Explaining gettext809718 +Ref: Explaining gettext-Footnote-1814743 +Ref: Explaining gettext-Footnote-2814927 +Node: Programmer i18n815092 +Ref: Programmer i18n-Footnote-1819958 +Node: Translator i18n820007 +Node: String Extraction820801 +Ref: String Extraction-Footnote-1821932 +Node: Printf Ordering822018 +Ref: Printf Ordering-Footnote-1824804 +Node: I18N Portability824868 +Ref: I18N Portability-Footnote-1827323 +Node: I18N Example827386 +Ref: I18N Example-Footnote-1830189 +Node: Gawk I18N830261 +Node: I18N Summary830899 +Node: Debugger832238 +Node: Debugging833260 +Node: Debugging Concepts833701 +Node: Debugging Terms835554 +Node: Awk Debugging838126 +Node: Sample Debugging Session839020 +Node: Debugger Invocation839540 +Node: Finding The Bug840924 +Node: List of Debugger Commands847399 +Node: Breakpoint Control848732 +Node: Debugger Execution Control852428 +Node: Viewing And Changing Data855792 +Node: Execution Stack859170 +Node: Debugger Info860807 +Node: Miscellaneous Debugger Commands864824 +Node: Readline Support869853 +Node: Limitations870745 +Node: Debugging Summary872859 +Node: Arbitrary Precision Arithmetic874027 +Node: Computer Arithmetic875443 +Ref: table-numeric-ranges879041 +Ref: Computer Arithmetic-Footnote-1879900 +Node: Math Definitions879957 +Ref: table-ieee-formats883245 +Ref: Math Definitions-Footnote-1883849 +Node: MPFR features883954 +Node: FP Math Caution885625 +Ref: FP Math Caution-Footnote-1886675 +Node: Inexactness of computations887044 +Node: Inexact representation888003 +Node: Comparing FP Values889360 +Node: Errors accumulate890442 +Node: Getting Accuracy891875 +Node: Try To Round894537 +Node: Setting precision895436 +Ref: table-predefined-precision-strings896120 +Node: Setting the rounding mode897909 +Ref: table-gawk-rounding-modes898273 +Ref: Setting the rounding mode-Footnote-1901728 +Node: Arbitrary Precision Integers901907 +Ref: Arbitrary Precision Integers-Footnote-1904893 +Node: POSIX Floating Point Problems905042 +Ref: POSIX Floating Point Problems-Footnote-1908915 +Node: Floating point summary908953 +Node: Dynamic Extensions911147 +Node: Extension Intro912699 +Node: Plugin License913965 +Node: Extension Mechanism Outline914762 +Ref: figure-load-extension915190 +Ref: figure-register-new-function916670 +Ref: figure-call-new-function917674 +Node: Extension API Description919660 +Node: Extension API Functions Introduction921110 +Node: General Data Types925934 +Ref: General Data Types-Footnote-1931673 +Node: Memory Allocation Functions931972 +Ref: Memory Allocation Functions-Footnote-1934811 +Node: Constructor Functions934907 +Node: Registration Functions936641 +Node: Extension Functions937326 +Node: Exit Callback Functions939623 +Node: Extension Version String940871 +Node: Input Parsers941536 +Node: Output Wrappers951413 +Node: Two-way processors955928 +Node: Printing Messages958132 +Ref: Printing Messages-Footnote-1959208 +Node: Updating `ERRNO'959360 +Node: Requesting Values960100 +Ref: table-value-types-returned960828 +Node: Accessing Parameters961785 +Node: Symbol Table Access963016 +Node: Symbol table by name963530 +Node: Symbol table by cookie965511 +Ref: Symbol table by cookie-Footnote-1969655 +Node: Cached values969718 +Ref: Cached values-Footnote-1973217 +Node: Array Manipulation973308 +Ref: Array Manipulation-Footnote-1974406 +Node: Array Data Types974443 +Ref: Array Data Types-Footnote-1977098 +Node: Array Functions977190 +Node: Flattening Arrays981044 +Node: Creating Arrays987936 +Node: Extension API Variables992705 +Node: Extension Versioning993341 +Node: Extension API Informational Variables995242 +Node: Extension API Boilerplate996330 +Node: Finding Extensions1000139 +Node: Extension Example1000699 +Node: Internal File Description1001471 +Node: Internal File Ops1005538 +Ref: Internal File Ops-Footnote-11017208 +Node: Using Internal File Ops1017348 +Ref: Using Internal File Ops-Footnote-11019731 +Node: Extension Samples1020004 +Node: Extension Sample File Functions1021530 +Node: Extension Sample Fnmatch1029168 +Node: Extension Sample Fork1030659 +Node: Extension Sample Inplace1031874 +Node: Extension Sample Ord1033549 +Node: Extension Sample Readdir1034385 +Ref: table-readdir-file-types1035261 +Node: Extension Sample Revout1036072 +Node: Extension Sample Rev2way1036662 +Node: Extension Sample Read write array1037402 +Node: Extension Sample Readfile1039342 +Node: Extension Sample Time1040437 +Node: Extension Sample API Tests1041786 +Node: gawkextlib1042277 +Node: Extension summary1044914 +Node: Extension Exercises1048591 +Node: Language History1049313 +Node: V7/SVR3.11050969 +Node: SVR41053150 +Node: POSIX1054595 +Node: BTL1055984 +Node: POSIX/GNU1056718 +Node: Feature History1062282 +Node: Common Extensions1075380 +Node: Ranges and Locales1076704 +Ref: Ranges and Locales-Footnote-11081322 +Ref: Ranges and Locales-Footnote-21081349 +Ref: Ranges and Locales-Footnote-31081583 +Node: Contributors1081804 +Node: History summary1087345 +Node: Installation1088715 +Node: Gawk Distribution1089661 +Node: Getting1090145 +Node: Extracting1090968 +Node: Distribution contents1092603 +Node: Unix Installation1098320 +Node: Quick Installation1098937 +Node: Additional Configuration Options1101361 +Node: Configuration Philosophy1103099 +Node: Non-Unix Installation1105468 +Node: PC Installation1105926 +Node: PC Binary Installation1107245 +Node: PC Compiling1109093 +Ref: PC Compiling-Footnote-11112114 +Node: PC Testing1112223 +Node: PC Using1113399 +Node: Cygwin1117514 +Node: MSYS1118337 +Node: VMS Installation1118837 +Node: VMS Compilation1119629 +Ref: VMS Compilation-Footnote-11120851 +Node: VMS Dynamic Extensions1120909 +Node: VMS Installation Details1122593 +Node: VMS Running1124845 +Node: VMS GNV1127681 +Node: VMS Old Gawk1128415 +Node: Bugs1128885 +Node: Other Versions1132768 +Node: Installation summary1139190 +Node: Notes1140246 +Node: Compatibility Mode1141111 +Node: Additions1141893 +Node: Accessing The Source1142818 +Node: Adding Code1144254 +Node: New Ports1150419 +Node: Derived Files1154901 +Ref: Derived Files-Footnote-11160376 +Ref: Derived Files-Footnote-21160410 +Ref: Derived Files-Footnote-31161006 +Node: Future Extensions1161120 +Node: Implementation Limitations1161726 +Node: Extension Design1162974 +Node: Old Extension Problems1164128 +Ref: Old Extension Problems-Footnote-11165645 +Node: Extension New Mechanism Goals1165702 +Ref: Extension New Mechanism Goals-Footnote-11169062 +Node: Extension Other Design Decisions1169251 +Node: Extension Future Growth1171359 +Node: Old Extension Mechanism1172195 +Node: Notes summary1173957 +Node: Basic Concepts1175143 +Node: Basic High Level1175824 +Ref: figure-general-flow1176096 +Ref: figure-process-flow1176695 +Ref: Basic High Level-Footnote-11179924 +Node: Basic Data Typing1180109 +Node: Glossary1183437 +Node: Copying1208595 +Node: GNU Free Documentation License1246151 +Node: Index1271287 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index a1781700..4da01e05 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -7801,10 +7801,12 @@ is so-called @dfn{comma-separated values} (CSV) data. Many spreadsheet programs, for example, can export their data into text files, where each record is terminated with a newline, and fields are separated by commas. If only commas separated the data, there wouldn't be an issue. The problem comes when -one of the fields contains an @emph{embedded} comma. Although there is no -formal standard specification for CSV data,@footnote{At least, we don't know of one.} -in such cases, most programs embed the field in double quotes. So we might -have data like this: +one of the fields contains an @emph{embedded} comma. +In such cases, most programs embed the field in double quotes.@footnote{The +CSV format lacked a formal standard definition for many years. +@uref{http://www.ietf.org/rfc/rfc4180.txt, RFC 4180} +standardizes the most common practices.} +So we might have data like this: @example @c file eg/misc/addresses.csv diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 1ea028d4..7979b0ad 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -7402,10 +7402,12 @@ is so-called @dfn{comma-separated values} (CSV) data. Many spreadsheet programs, for example, can export their data into text files, where each record is terminated with a newline, and fields are separated by commas. If only commas separated the data, there wouldn't be an issue. The problem comes when -one of the fields contains an @emph{embedded} comma. Although there is no -formal standard specification for CSV data,@footnote{At least, we don't know of one.} -in such cases, most programs embed the field in double quotes. So we might -have data like this: +one of the fields contains an @emph{embedded} comma. +In such cases, most programs embed the field in double quotes.@footnote{The +CSV format lacked a formal standard definition for many years. +@uref{http://www.ietf.org/rfc/rfc4180.txt, RFC 4180} +standardizes the most common practices.} +So we might have data like this: @example @c file eg/misc/addresses.csv |