diff options
| author | Arnold D. Robbins <arnold@skeeve.com> | 2023-09-11 17:53:49 -0700 |
|---|---|---|
| committer | Arnold D. Robbins <arnold@skeeve.com> | 2023-09-11 17:53:49 -0700 |
| commit | 81649a29eb4afe29c7c164c7cc9cb9fb39e253d9 (patch) | |
| tree | d50f0824e74b181f6c8aecb5428c809946868431 | |
| parent | 57ef6069eba8d33004ce974bd94a5b11c89cd3a0 (diff) | |
| parent | c152e2d2d601f37b6a8dd354c27e2cb81e7ccca5 (diff) | |
| download | gawk-81649a29eb4afe29c7c164c7cc9cb9fb39e253d9.tar.gz | |
Merge branch 'master' into feature/cpp-compile
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | doc/ChangeLog | 8 | ||||
| -rw-r--r-- | doc/awkcard.in | 2 | ||||
| -rw-r--r-- | doc/gawk.info | 1056 | ||||
| -rw-r--r-- | doc/gawk.texi | 8 | ||||
| -rw-r--r-- | doc/gawktexi.in | 8 | ||||
| -rw-r--r-- | field.c | 2 |
7 files changed, 544 insertions, 544 deletions
@@ -1,3 +1,7 @@ +2023-09-11 Arnold D. Robbins <arnold@skeeve.com> + + * field.c (do_split): Fix some whitespace. + 2023-09-01 Miguel Pineiro Jr <mpj@pineiro.cc> Fix the handling of zero-length matches in multibyte locales. diff --git a/doc/ChangeLog b/doc/ChangeLog index d66ca5b..42abba9 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,6 +1,12 @@ 2023-09-11 Arnold D. Robbins <arnold@skeeve.com> - * gawktexi.in (Feature History): Node the --csv option in + * gawktexi.in: Remove vestiges of doc from when FS == "," + did CSV parsing. Whew. + * awkcard.in: Ditto. + +2023-09-11 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Feature History): Note the --csv option in what changed for 5.3.0. 2023-08-25 Arnold D. Robbins <arnold@skeeve.com> diff --git a/doc/awkcard.in b/doc/awkcard.in index 5f89bd5..fcbaa8c 100644 --- a/doc/awkcard.in +++ b/doc/awkcard.in @@ -1029,8 +1029,6 @@ is a single space, fields are separated 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 CSV-splitting is done.\*(CD \*(CBThe value of \*(FCIGNORECASE\fP also affects how fields are split when \*(FCFS\fP is a regular expression.\*(CD diff --git a/doc/gawk.info b/doc/gawk.info index 73c134e..66fef53 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -5538,10 +5538,6 @@ value of ‘FS’ (‘==’ means “is equal to”): Fields are separated by runs of whitespace. Leading and trailing whitespace are ignored. This is the default. -‘FS == ","’ - Fields are separated by commas, with quoting of fields and special - rules involved. - ‘FS == ANY OTHER SINGLE CHARACTER’ Fields are separated by each occurrence of the character. Multiple successive occurrences delimit empty fields, as do leading and @@ -5768,8 +5764,8 @@ File: gawk.info, Node: Splitting By Content, Next: Testing field creation, Pr 4.7 Defining Fields by Content ============================== -*FIXME*: This whole section needs rewriting now that ‘gawk’ has built-in -CSV parsing. Sigh. + NOTE: This whole section needs rewriting now that ‘gawk’ has + built-in CSV parsing. Sigh. * Menu: @@ -39245,7 +39241,7 @@ Index * sidebar, Changing FS Does Not Affect the Fields: Full Line Fields. (line 14) * sidebar, FS and IGNORECASE: Field Splitting Summary. - (line 45) + (line 41) * sidebar, Piping into sh: Redirection. (line 134) * sidebar, A Constant’s Base Does Not Affect Its Value: Nondecimal-numbers. (line 63) @@ -39813,529 +39809,529 @@ Node: Full Line Fields256553 Ref: Full Line Fields-Footnote-1258133 Ref: Full Line Fields-Footnote-2258179 Node: Field Splitting Summary258287 -Node: Constant Size260721 -Node: Fixed width data261465 -Node: Skipping intervening264984 -Node: Allowing trailing data265786 -Node: Fields with fixed data266851 -Node: Splitting By Content268477 -Ref: Splitting By Content-Footnote-1272746 -Node: More CSV272909 -Node: FS versus FPAT274562 -Node: Testing field creation275771 -Node: Multiple Line277549 -Node: Getline284031 -Node: Plain Getline286617 -Node: Getline/Variable289267 -Node: Getline/File290464 -Node: Getline/Variable/File291912 -Ref: Getline/Variable/File-Footnote-1293557 -Node: Getline/Pipe293653 -Node: Getline/Variable/Pipe296466 -Node: Getline/Coprocess297649 -Node: Getline/Variable/Coprocess298972 -Node: Getline Notes299738 -Node: Getline Summary302699 -Ref: table-getline-variants303143 -Node: Read Timeout304048 -Ref: Read Timeout-Footnote-1308012 -Node: Retrying Input308070 -Node: Command-line directories309337 -Node: Input Summary310275 -Node: Input Exercises313655 -Node: Printing314095 -Node: Print316038 -Node: Print Examples317544 -Node: Output Separators320397 -Node: OFMT322508 -Node: Printf324223 -Node: Basic Printf325028 -Node: Control Letters326664 -Node: Format Modifiers332133 -Node: Printf Examples338419 -Node: Redirection340964 -Node: Special FD348038 -Ref: Special FD-Footnote-1351328 -Node: Special Files351414 -Node: Other Inherited Files352043 -Node: Special Network353108 -Node: Special Caveats353996 -Node: Close Files And Pipes354979 -Ref: Close Files And Pipes-Footnote-1361115 -Node: Close Return Value361271 -Ref: table-close-pipe-return-values362546 -Ref: Close Return Value-Footnote-1363380 -Node: Noflush363536 -Node: Nonfatal365048 -Node: Output Summary367465 -Node: Output Exercises368751 -Node: Expressions369442 -Node: Values370644 -Node: Constants371322 -Node: Scalar Constants372019 -Ref: Scalar Constants-Footnote-1374597 -Ref: Scalar Constants-Footnote-2374847 -Node: Nondecimal-numbers374927 -Node: Regexp Constants378048 -Node: Using Constant Regexps378594 -Node: Standard Regexp Constants379240 -Node: Strong Regexp Constants382540 -Node: Variables386391 -Node: Using Variables387056 -Node: Assignment Options389036 -Node: Conversion391598 -Node: Strings And Numbers392130 -Ref: Strings And Numbers-Footnote-1395349 -Node: Locale influences conversions395458 -Ref: table-locale-affects398308 -Node: All Operators398951 -Node: Arithmetic Ops399592 -Node: Concatenation402422 -Ref: Concatenation-Footnote-1405372 -Node: Assignment Ops405495 -Ref: table-assign-ops410634 -Node: Increment Ops412016 -Node: Truth Values and Conditions415615 -Node: Truth Values416741 -Node: Typing and Comparison417832 -Node: Variable Typing418668 -Ref: Variable Typing-Footnote-1425330 -Ref: Variable Typing-Footnote-2425410 -Node: Comparison Operators425493 -Ref: table-relational-ops425920 -Node: POSIX String Comparison429606 -Ref: POSIX String Comparison-Footnote-1431365 -Ref: POSIX String Comparison-Footnote-2431508 -Node: Boolean Ops431592 -Ref: Boolean Ops-Footnote-1436285 -Node: Conditional Exp436381 -Node: Function Calls438167 -Node: Precedence442117 -Node: Locales445994 -Node: Expressions Summary447676 -Node: Patterns and Actions450339 -Node: Pattern Overview451481 -Node: Regexp Patterns453207 -Node: Expression Patterns453753 -Node: Ranges457662 -Node: BEGIN/END460840 -Node: Using BEGIN/END461653 -Ref: Using BEGIN/END-Footnote-1464563 -Node: I/O And BEGIN/END464673 -Node: BEGINFILE/ENDFILE467154 -Node: Empty470595 -Node: Using Shell Variables470912 -Node: Action Overview473250 -Node: Statements475685 -Node: If Statement477583 -Node: While Statement479152 -Node: Do Statement481240 -Node: For Statement482426 -Node: Switch Statement485783 -Node: Break Statement488334 -Node: Continue Statement490526 -Node: Next Statement492458 -Node: Nextfile Statement494955 -Node: Exit Statement497816 -Node: Built-in Variables500349 -Node: User-modified501528 -Node: Auto-set509739 -Ref: Auto-set-Footnote-1527838 -Ref: Auto-set-Footnote-2528056 -Node: ARGC and ARGV528112 -Node: Pattern Action Summary532551 -Node: Arrays535167 -Node: Array Basics536544 -Node: Array Intro537394 -Ref: figure-array-elements539410 -Ref: Array Intro-Footnote-1542279 -Node: Reference to Elements542411 -Node: Assigning Elements544933 -Node: Array Example545428 -Node: Scanning an Array547397 -Node: Controlling Scanning550494 -Ref: Controlling Scanning-Footnote-1557140 -Node: Numeric Array Subscripts557464 -Node: Uninitialized Subscripts559738 -Node: Delete561417 -Ref: Delete-Footnote-1564231 -Node: Multidimensional564288 -Node: Multiscanning567493 -Node: Arrays of Arrays569165 -Node: Arrays Summary574065 -Node: Functions576254 -Node: Built-in577314 -Node: Calling Built-in578503 -Node: Boolean Functions580550 -Node: Numeric Functions581120 -Ref: Numeric Functions-Footnote-1585313 -Ref: Numeric Functions-Footnote-2585997 -Ref: Numeric Functions-Footnote-3586049 -Node: String Functions586325 -Ref: String Functions-Footnote-1612801 -Ref: String Functions-Footnote-2612935 -Ref: String Functions-Footnote-3613195 -Node: Gory Details613282 -Ref: table-sub-escapes615189 -Ref: table-sub-proposed616835 -Ref: table-posix-sub618345 -Ref: table-gensub-escapes620033 -Ref: Gory Details-Footnote-1620967 -Node: I/O Functions621121 -Ref: table-system-return-values627808 -Ref: I/O Functions-Footnote-1629979 -Ref: I/O Functions-Footnote-2630127 -Node: Time Functions630247 -Ref: Time Functions-Footnote-1641403 -Ref: Time Functions-Footnote-2641479 -Ref: Time Functions-Footnote-3641641 -Ref: Time Functions-Footnote-4641752 -Ref: Time Functions-Footnote-5641870 -Ref: Time Functions-Footnote-6642105 -Node: Bitwise Functions642387 -Ref: table-bitwise-ops642989 -Ref: Bitwise Functions-Footnote-1649243 -Ref: Bitwise Functions-Footnote-2649422 -Node: Type Functions649619 -Node: I18N Functions653212 -Node: User-defined654955 -Node: Definition Syntax655775 -Ref: Definition Syntax-Footnote-1661603 -Node: Function Example661680 -Ref: Function Example-Footnote-1664659 -Node: Function Calling664681 -Node: Calling A Function665275 -Node: Variable Scope666245 -Node: Pass By Value/Reference669299 -Node: Function Caveats672031 -Ref: Function Caveats-Footnote-1674126 -Node: Return Statement674250 -Node: Dynamic Typing677305 -Node: Indirect Calls679697 -Node: Functions Summary690856 -Node: Library Functions693633 -Ref: Library Functions-Footnote-1697181 -Ref: Library Functions-Footnote-2697324 -Node: Library Names697499 -Ref: Library Names-Footnote-1701293 -Ref: Library Names-Footnote-2701520 -Node: General Functions701616 -Node: Strtonum Function702886 -Node: Assert Function705968 -Node: Round Function709420 -Node: Cliff Random Function710998 -Node: Ordinal Functions712031 -Ref: Ordinal Functions-Footnote-1715140 -Ref: Ordinal Functions-Footnote-2715392 -Node: Join Function715606 -Ref: Join Function-Footnote-1717409 -Node: Getlocaltime Function717613 -Node: Readfile Function721387 -Node: Shell Quoting723416 -Node: Isnumeric Function724872 -Node: To CSV Function726308 -Node: Data File Management728384 -Node: Filetrans Function729016 -Node: Rewind Function733310 -Node: File Checking735289 -Ref: File Checking-Footnote-1736661 -Node: Empty Files736868 -Node: Ignoring Assigns738935 -Node: Getopt Function740509 -Ref: Getopt Function-Footnote-1756343 -Node: Passwd Functions756555 -Ref: Passwd Functions-Footnote-1765737 -Node: Group Functions765825 -Ref: Group Functions-Footnote-1773963 -Node: Walking Arrays774176 -Node: Library Functions Summary777224 -Node: Library Exercises778648 -Node: Sample Programs779135 -Node: Running Examples779917 -Node: Clones780669 -Node: Cut Program781941 -Node: Egrep Program792382 -Node: Id Program801699 -Node: Split Program811813 -Ref: Split Program-Footnote-1822048 -Node: Tee Program822235 -Node: Uniq Program825144 -Node: Wc Program833009 -Node: Bytes vs. Characters833404 -Node: Using extensions835006 -Node: wc program835786 -Node: Miscellaneous Programs840792 -Node: Dupword Program842021 -Node: Alarm Program844084 -Node: Translate Program848997 -Ref: Translate Program-Footnote-1853738 -Node: Labels Program854016 -Ref: Labels Program-Footnote-1857457 -Node: Word Sorting857549 -Node: History Sorting861743 -Node: Extract Program864018 -Node: Simple Sed872287 -Node: Igawk Program875503 -Ref: Igawk Program-Footnote-1890750 -Ref: Igawk Program-Footnote-2890956 -Ref: Igawk Program-Footnote-3891086 -Node: Anagram Program891213 -Node: Signature Program894309 -Node: Programs Summary895561 -Node: Programs Exercises896819 -Ref: Programs Exercises-Footnote-1901135 -Node: Advanced Features901221 -Node: Nondecimal Data903715 -Node: Boolean Typed Values905345 -Node: Array Sorting907320 -Node: Controlling Array Traversal908049 -Ref: Controlling Array Traversal-Footnote-1916556 -Node: Array Sorting Functions916678 -Ref: Array Sorting Functions-Footnote-1922797 -Node: Two-way I/O923005 -Ref: Two-way I/O-Footnote-1931000 -Ref: Two-way I/O-Footnote-2931191 -Node: TCP/IP Networking931273 -Node: Profiling934453 -Node: Persistent Memory944163 -Ref: Persistent Memory-Footnote-1953773 -Node: Extension Philosophy953904 -Node: Advanced Features Summary955439 -Node: Internationalization957709 -Node: I18N and L10N959415 -Node: Explaining gettext960110 -Ref: Explaining gettext-Footnote-1966263 -Ref: Explaining gettext-Footnote-2966458 -Node: Programmer i18n966623 -Ref: Programmer i18n-Footnote-1971736 -Node: Translator i18n971785 -Node: String Extraction972621 -Ref: String Extraction-Footnote-1973799 -Node: Printf Ordering973897 -Ref: Printf Ordering-Footnote-1976759 -Node: I18N Portability976827 -Ref: I18N Portability-Footnote-1979401 -Node: I18N Example979472 -Ref: I18N Example-Footnote-1982872 -Ref: I18N Example-Footnote-2982948 -Node: Gawk I18N983065 -Node: I18N Summary983721 -Node: Debugger985122 -Node: Debugging986146 -Node: Debugging Concepts986595 -Node: Debugging Terms988421 -Node: Awk Debugging991034 -Ref: Awk Debugging-Footnote-1992011 -Node: Sample Debugging Session992151 -Node: Debugger Invocation992703 -Node: Finding The Bug994332 -Node: List of Debugger Commands1001018 -Node: Breakpoint Control1002395 -Node: Debugger Execution Control1006227 -Node: Viewing And Changing Data1009707 -Node: Execution Stack1013445 -Node: Debugger Info1015126 -Node: Miscellaneous Debugger Commands1019425 -Node: Readline Support1024678 -Node: Limitations1025624 -Node: Debugging Summary1028268 -Node: Namespaces1029567 -Node: Global Namespace1030694 -Node: Qualified Names1032139 -Node: Default Namespace1033174 -Node: Changing The Namespace1033949 -Node: Naming Rules1035643 -Node: Internal Name Management1037558 -Node: Namespace Example1038628 -Node: Namespace And Features1041211 -Node: Namespace Summary1042668 -Node: Arbitrary Precision Arithmetic1044181 -Node: Computer Arithmetic1045700 -Ref: table-numeric-ranges1049517 -Ref: table-floating-point-ranges1050015 -Ref: Computer Arithmetic-Footnote-11050674 -Node: Math Definitions1050733 -Ref: table-ieee-formats1053778 -Node: MPFR features1054352 -Node: MPFR On Parole1054805 -Ref: MPFR On Parole-Footnote-11055649 -Node: MPFR Intro1055808 -Node: FP Math Caution1057498 -Ref: FP Math Caution-Footnote-11058572 -Node: Inexactness of computations1058949 -Node: Inexact representation1059980 -Node: Comparing FP Values1061363 -Node: Errors accumulate1062621 -Node: Strange values1064088 -Ref: Strange values-Footnote-11066754 -Node: Getting Accuracy1066859 -Node: Try To Round1069596 -Node: Setting precision1070503 -Ref: table-predefined-precision-strings1071208 -Node: Setting the rounding mode1073093 -Ref: table-gawk-rounding-modes1073475 -Ref: Setting the rounding mode-Footnote-11077533 -Node: Arbitrary Precision Integers1077716 -Ref: Arbitrary Precision Integers-Footnote-11080928 -Node: Checking for MPFR1081084 -Node: POSIX Floating Point Problems1082574 -Ref: POSIX Floating Point Problems-Footnote-11087438 -Node: Floating point summary1087476 -Node: Dynamic Extensions1089740 -Node: Extension Intro1091339 -Node: Plugin License1092647 -Node: Extension Mechanism Outline1093460 -Ref: figure-load-extension1093911 -Ref: figure-register-new-function1095496 -Ref: figure-call-new-function1096606 -Node: Extension API Description1098730 -Node: Extension API Functions Introduction1100459 -Ref: table-api-std-headers1102357 -Node: General Data Types1106821 -Ref: General Data Types-Footnote-11115989 -Node: Memory Allocation Functions1116304 -Ref: Memory Allocation Functions-Footnote-11121029 -Node: Constructor Functions1121128 -Node: API Ownership of MPFR and GMP Values1125033 -Node: Registration Functions1126594 -Node: Extension Functions1127298 -Node: Exit Callback Functions1132874 -Node: Extension Version String1134193 -Node: Input Parsers1134888 -Node: Output Wrappers1149532 -Node: Two-way processors1154380 -Node: Printing Messages1156741 -Ref: Printing Messages-Footnote-11157955 -Node: Updating ERRNO1158110 -Node: Requesting Values1158909 -Ref: table-value-types-returned1159662 -Node: Accessing Parameters1160771 -Node: Symbol Table Access1162055 -Node: Symbol table by name1162571 -Ref: Symbol table by name-Footnote-11165782 -Node: Symbol table by cookie1165914 -Ref: Symbol table by cookie-Footnote-11170195 -Node: Cached values1170259 -Ref: Cached values-Footnote-11173903 -Node: Array Manipulation1174060 -Ref: Array Manipulation-Footnote-11175163 -Node: Array Data Types1175200 -Ref: Array Data Types-Footnote-11178022 -Node: Array Functions1178122 -Node: Flattening Arrays1183151 -Node: Creating Arrays1190203 -Node: Redirection API1195053 -Node: Extension API Variables1198074 -Node: Extension Versioning1198799 -Ref: gawk-api-version1199236 -Node: Extension GMP/MPFR Versioning1201024 -Node: Extension API Informational Variables1202730 -Node: Extension API Boilerplate1203891 -Node: Changes from API V11208027 -Node: Finding Extensions1209661 -Node: Extension Example1210236 -Node: Internal File Description1211060 -Node: Internal File Ops1215384 -Ref: Internal File Ops-Footnote-11226942 -Node: Using Internal File Ops1227090 -Ref: Using Internal File Ops-Footnote-11229521 -Node: Extension Samples1229799 -Node: Extension Sample File Functions1231368 -Node: Extension Sample Fnmatch1239506 -Node: Extension Sample Fork1241101 -Node: Extension Sample Inplace1242377 -Node: Extension Sample Ord1246049 -Node: Extension Sample Readdir1246925 -Ref: table-readdir-file-types1247714 -Node: Extension Sample Revout1249075 -Node: Extension Sample Rev2way1249672 -Node: Extension Sample Read write array1250424 -Node: Extension Sample Readfile1253698 -Node: Extension Sample Time1254829 -Node: Extension Sample API Tests1257119 -Node: gawkextlib1257627 -Node: Extension summary1260663 -Node: Extension Exercises1264521 -Node: Language History1265799 -Node: V7/SVR3.11267513 -Node: SVR41269863 -Node: POSIX1271395 -Node: BTL1272820 -Node: POSIX/GNU1273589 -Node: Feature History1280120 -Node: Common Extensions1299727 -Node: Ranges and Locales1301204 -Ref: Ranges and Locales-Footnote-11306005 -Ref: Ranges and Locales-Footnote-21306032 -Ref: Ranges and Locales-Footnote-31306271 -Node: Contributors1306494 -Node: History summary1312699 -Node: Installation1314145 -Node: Gawk Distribution1315109 -Node: Getting1315601 -Node: Extracting1316600 -Node: Distribution contents1318312 -Node: Unix Installation1326392 -Node: Quick Installation1327214 -Node: Compiling with MPFR1329760 -Node: Shell Startup Files1330466 -Node: Additional Configuration Options1331623 -Node: Configuration Philosophy1334010 -Node: Compiling from Git1336512 -Node: Building the Documentation1337071 -Node: Non-Unix Installation1338483 -Node: PC Installation1338959 -Node: PC Binary Installation1339832 -Node: PC Compiling1340737 -Node: PC Using1341915 -Node: Cygwin1345643 -Node: MSYS1346899 -Node: OpenVMS Installation1347531 -Node: OpenVMS Compilation1348212 -Ref: OpenVMS Compilation-Footnote-11349695 -Node: OpenVMS Dynamic Extensions1349757 -Node: OpenVMS Installation Details1351393 -Node: OpenVMS Running1353828 -Node: OpenVMS GNV1357965 -Node: Bugs1358720 -Node: Bug definition1359644 -Node: Bug address1363295 -Node: Usenet1366886 -Node: Performance bugs1368117 -Node: Asking for help1371135 -Node: Maintainers1373126 -Node: Other Versions1374153 -Node: Installation summary1383496 -Node: Notes1384880 -Node: Compatibility Mode1385690 -Node: Additions1386512 -Node: Accessing The Source1387457 -Node: Adding Code1388992 -Node: New Ports1396128 -Node: Derived Files1400638 -Ref: Derived Files-Footnote-11406485 -Ref: Derived Files-Footnote-21406520 -Ref: Derived Files-Footnote-31407137 -Node: Future Extensions1407251 -Node: Implementation Limitations1407923 -Node: Extension Design1409165 -Node: Old Extension Problems1410329 -Ref: Old Extension Problems-Footnote-11411905 -Node: Extension New Mechanism Goals1411966 -Ref: Extension New Mechanism Goals-Footnote-11415462 -Node: Extension Other Design Decisions1415663 -Node: Extension Future Growth1417862 -Node: Notes summary1418486 -Node: Basic Concepts1419699 -Node: Basic High Level1420384 -Ref: figure-general-flow1420666 -Ref: figure-process-flow1421373 -Ref: Basic High Level-Footnote-11424774 -Node: Basic Data Typing1424963 -Node: Glossary1428381 -Node: Copying1461503 -Node: GNU Free Documentation License1499264 -Node: Index1524587 +Node: Constant Size260611 +Node: Fixed width data261355 +Node: Skipping intervening264874 +Node: Allowing trailing data265676 +Node: Fields with fixed data266741 +Node: Splitting By Content268367 +Ref: Splitting By Content-Footnote-1272643 +Node: More CSV272806 +Node: FS versus FPAT274459 +Node: Testing field creation275668 +Node: Multiple Line277446 +Node: Getline283928 +Node: Plain Getline286514 +Node: Getline/Variable289164 +Node: Getline/File290361 +Node: Getline/Variable/File291809 +Ref: Getline/Variable/File-Footnote-1293454 +Node: Getline/Pipe293550 +Node: Getline/Variable/Pipe296363 +Node: Getline/Coprocess297546 +Node: Getline/Variable/Coprocess298869 +Node: Getline Notes299635 +Node: Getline Summary302596 +Ref: table-getline-variants303040 +Node: Read Timeout303945 +Ref: Read Timeout-Footnote-1307909 +Node: Retrying Input307967 +Node: Command-line directories309234 +Node: Input Summary310172 +Node: Input Exercises313552 +Node: Printing313992 +Node: Print315935 +Node: Print Examples317441 +Node: Output Separators320294 +Node: OFMT322405 +Node: Printf324120 +Node: Basic Printf324925 +Node: Control Letters326561 +Node: Format Modifiers332030 +Node: Printf Examples338316 +Node: Redirection340861 +Node: Special FD347935 +Ref: Special FD-Footnote-1351225 +Node: Special Files351311 +Node: Other Inherited Files351940 +Node: Special Network353005 +Node: Special Caveats353893 +Node: Close Files And Pipes354876 +Ref: Close Files And Pipes-Footnote-1361012 +Node: Close Return Value361168 +Ref: table-close-pipe-return-values362443 +Ref: Close Return Value-Footnote-1363277 +Node: Noflush363433 +Node: Nonfatal364945 +Node: Output Summary367362 +Node: Output Exercises368648 +Node: Expressions369339 +Node: Values370541 +Node: Constants371219 +Node: Scalar Constants371916 +Ref: Scalar Constants-Footnote-1374494 +Ref: Scalar Constants-Footnote-2374744 +Node: Nondecimal-numbers374824 +Node: Regexp Constants377945 +Node: Using Constant Regexps378491 +Node: Standard Regexp Constants379137 +Node: Strong Regexp Constants382437 +Node: Variables386288 +Node: Using Variables386953 +Node: Assignment Options388933 +Node: Conversion391495 +Node: Strings And Numbers392027 +Ref: Strings And Numbers-Footnote-1395246 +Node: Locale influences conversions395355 +Ref: table-locale-affects398205 +Node: All Operators398848 +Node: Arithmetic Ops399489 +Node: Concatenation402319 +Ref: Concatenation-Footnote-1405269 +Node: Assignment Ops405392 +Ref: table-assign-ops410531 +Node: Increment Ops411913 +Node: Truth Values and Conditions415512 +Node: Truth Values416638 +Node: Typing and Comparison417729 +Node: Variable Typing418565 +Ref: Variable Typing-Footnote-1425227 +Ref: Variable Typing-Footnote-2425307 +Node: Comparison Operators425390 +Ref: table-relational-ops425817 +Node: POSIX String Comparison429503 +Ref: POSIX String Comparison-Footnote-1431262 +Ref: POSIX String Comparison-Footnote-2431405 +Node: Boolean Ops431489 +Ref: Boolean Ops-Footnote-1436182 +Node: Conditional Exp436278 +Node: Function Calls438064 +Node: Precedence442014 +Node: Locales445891 +Node: Expressions Summary447573 +Node: Patterns and Actions450236 +Node: Pattern Overview451378 +Node: Regexp Patterns453104 +Node: Expression Patterns453650 +Node: Ranges457559 +Node: BEGIN/END460737 +Node: Using BEGIN/END461550 +Ref: Using BEGIN/END-Footnote-1464460 +Node: I/O And BEGIN/END464570 +Node: BEGINFILE/ENDFILE467051 +Node: Empty470492 +Node: Using Shell Variables470809 +Node: Action Overview473147 +Node: Statements475582 +Node: If Statement477480 +Node: While Statement479049 +Node: Do Statement481137 +Node: For Statement482323 +Node: Switch Statement485680 +Node: Break Statement488231 +Node: Continue Statement490423 +Node: Next Statement492355 +Node: Nextfile Statement494852 +Node: Exit Statement497713 +Node: Built-in Variables500246 +Node: User-modified501425 +Node: Auto-set509636 +Ref: Auto-set-Footnote-1527735 +Ref: Auto-set-Footnote-2527953 +Node: ARGC and ARGV528009 +Node: Pattern Action Summary532448 +Node: Arrays535064 +Node: Array Basics536441 +Node: Array Intro537291 +Ref: figure-array-elements539307 +Ref: Array Intro-Footnote-1542176 +Node: Reference to Elements542308 +Node: Assigning Elements544830 +Node: Array Example545325 +Node: Scanning an Array547294 +Node: Controlling Scanning550391 +Ref: Controlling Scanning-Footnote-1557037 +Node: Numeric Array Subscripts557361 +Node: Uninitialized Subscripts559635 +Node: Delete561314 +Ref: Delete-Footnote-1564128 +Node: Multidimensional564185 +Node: Multiscanning567390 +Node: Arrays of Arrays569062 +Node: Arrays Summary573962 +Node: Functions576151 +Node: Built-in577211 +Node: Calling Built-in578400 +Node: Boolean Functions580447 +Node: Numeric Functions581017 +Ref: Numeric Functions-Footnote-1585210 +Ref: Numeric Functions-Footnote-2585894 +Ref: Numeric Functions-Footnote-3585946 +Node: String Functions586222 +Ref: String Functions-Footnote-1612698 +Ref: String Functions-Footnote-2612832 +Ref: String Functions-Footnote-3613092 +Node: Gory Details613179 +Ref: table-sub-escapes615086 +Ref: table-sub-proposed616732 +Ref: table-posix-sub618242 +Ref: table-gensub-escapes619930 +Ref: Gory Details-Footnote-1620864 +Node: I/O Functions621018 +Ref: table-system-return-values627705 +Ref: I/O Functions-Footnote-1629876 +Ref: I/O Functions-Footnote-2630024 +Node: Time Functions630144 +Ref: Time Functions-Footnote-1641300 +Ref: Time Functions-Footnote-2641376 +Ref: Time Functions-Footnote-3641538 +Ref: Time Functions-Footnote-4641649 +Ref: Time Functions-Footnote-5641767 +Ref: Time Functions-Footnote-6642002 +Node: Bitwise Functions642284 +Ref: table-bitwise-ops642886 +Ref: Bitwise Functions-Footnote-1649140 +Ref: Bitwise Functions-Footnote-2649319 +Node: Type Functions649516 +Node: I18N Functions653109 +Node: User-defined654852 +Node: Definition Syntax655672 +Ref: Definition Syntax-Footnote-1661500 +Node: Function Example661577 +Ref: Function Example-Footnote-1664556 +Node: Function Calling664578 +Node: Calling A Function665172 +Node: Variable Scope666142 +Node: Pass By Value/Reference669196 +Node: Function Caveats671928 +Ref: Function Caveats-Footnote-1674023 +Node: Return Statement674147 +Node: Dynamic Typing677202 +Node: Indirect Calls679594 +Node: Functions Summary690753 +Node: Library Functions693530 +Ref: Library Functions-Footnote-1697078 +Ref: Library Functions-Footnote-2697221 +Node: Library Names697396 +Ref: Library Names-Footnote-1701190 +Ref: Library Names-Footnote-2701417 +Node: General Functions701513 +Node: Strtonum Function702783 +Node: Assert Function705865 +Node: Round Function709317 +Node: Cliff Random Function710895 +Node: Ordinal Functions711928 +Ref: Ordinal Functions-Footnote-1715037 +Ref: Ordinal Functions-Footnote-2715289 +Node: Join Function715503 +Ref: Join Function-Footnote-1717306 +Node: Getlocaltime Function717510 +Node: Readfile Function721284 +Node: Shell Quoting723313 +Node: Isnumeric Function724769 +Node: To CSV Function726205 +Node: Data File Management728281 +Node: Filetrans Function728913 +Node: Rewind Function733207 +Node: File Checking735186 +Ref: File Checking-Footnote-1736558 +Node: Empty Files736765 +Node: Ignoring Assigns738832 +Node: Getopt Function740406 +Ref: Getopt Function-Footnote-1756240 +Node: Passwd Functions756452 +Ref: Passwd Functions-Footnote-1765634 +Node: Group Functions765722 +Ref: Group Functions-Footnote-1773860 +Node: Walking Arrays774073 +Node: Library Functions Summary777121 +Node: Library Exercises778545 +Node: Sample Programs779032 +Node: Running Examples779814 +Node: Clones780566 +Node: Cut Program781838 +Node: Egrep Program792279 +Node: Id Program801596 +Node: Split Program811710 +Ref: Split Program-Footnote-1821945 +Node: Tee Program822132 +Node: Uniq Program825041 +Node: Wc Program832906 +Node: Bytes vs. Characters833301 +Node: Using extensions834903 +Node: wc program835683 +Node: Miscellaneous Programs840689 +Node: Dupword Program841918 +Node: Alarm Program843981 +Node: Translate Program848894 +Ref: Translate Program-Footnote-1853635 +Node: Labels Program853913 +Ref: Labels Program-Footnote-1857354 +Node: Word Sorting857446 +Node: History Sorting861640 +Node: Extract Program863915 +Node: Simple Sed872184 +Node: Igawk Program875400 +Ref: Igawk Program-Footnote-1890647 +Ref: Igawk Program-Footnote-2890853 +Ref: Igawk Program-Footnote-3890983 +Node: Anagram Program891110 +Node: Signature Program894206 +Node: Programs Summary895458 +Node: Programs Exercises896716 +Ref: Programs Exercises-Footnote-1901032 +Node: Advanced Features901118 +Node: Nondecimal Data903612 +Node: Boolean Typed Values905242 +Node: Array Sorting907217 +Node: Controlling Array Traversal907946 +Ref: Controlling Array Traversal-Footnote-1916453 +Node: Array Sorting Functions916575 +Ref: Array Sorting Functions-Footnote-1922694 +Node: Two-way I/O922902 +Ref: Two-way I/O-Footnote-1930897 +Ref: Two-way I/O-Footnote-2931088 +Node: TCP/IP Networking931170 +Node: Profiling934350 +Node: Persistent Memory944060 +Ref: Persistent Memory-Footnote-1953670 +Node: Extension Philosophy953801 +Node: Advanced Features Summary955336 +Node: Internationalization957606 +Node: I18N and L10N959312 +Node: Explaining gettext960007 +Ref: Explaining gettext-Footnote-1966160 +Ref: Explaining gettext-Footnote-2966355 +Node: Programmer i18n966520 +Ref: Programmer i18n-Footnote-1971633 +Node: Translator i18n971682 +Node: String Extraction972518 +Ref: String Extraction-Footnote-1973696 +Node: Printf Ordering973794 +Ref: Printf Ordering-Footnote-1976656 +Node: I18N Portability976724 +Ref: I18N Portability-Footnote-1979298 +Node: I18N Example979369 +Ref: I18N Example-Footnote-1982769 +Ref: I18N Example-Footnote-2982845 +Node: Gawk I18N982962 +Node: I18N Summary983618 +Node: Debugger985019 +Node: Debugging986043 +Node: Debugging Concepts986492 +Node: Debugging Terms988318 +Node: Awk Debugging990931 +Ref: Awk Debugging-Footnote-1991908 +Node: Sample Debugging Session992048 +Node: Debugger Invocation992600 +Node: Finding The Bug994229 +Node: List of Debugger Commands1000915 +Node: Breakpoint Control1002292 +Node: Debugger Execution Control1006124 +Node: Viewing And Changing Data1009604 +Node: Execution Stack1013342 +Node: Debugger Info1015023 +Node: Miscellaneous Debugger Commands1019322 +Node: Readline Support1024575 +Node: Limitations1025521 +Node: Debugging Summary1028165 +Node: Namespaces1029464 +Node: Global Namespace1030591 +Node: Qualified Names1032036 +Node: Default Namespace1033071 +Node: Changing The Namespace1033846 +Node: Naming Rules1035540 +Node: Internal Name Management1037455 +Node: Namespace Example1038525 +Node: Namespace And Features1041108 +Node: Namespace Summary1042565 +Node: Arbitrary Precision Arithmetic1044078 +Node: Computer Arithmetic1045597 +Ref: table-numeric-ranges1049414 +Ref: table-floating-point-ranges1049912 +Ref: Computer Arithmetic-Footnote-11050571 +Node: Math Definitions1050630 +Ref: table-ieee-formats1053675 +Node: MPFR features1054249 +Node: MPFR On Parole1054702 +Ref: MPFR On Parole-Footnote-11055546 +Node: MPFR Intro1055705 +Node: FP Math Caution1057395 +Ref: FP Math Caution-Footnote-11058469 +Node: Inexactness of computations1058846 +Node: Inexact representation1059877 +Node: Comparing FP Values1061260 +Node: Errors accumulate1062518 +Node: Strange values1063985 +Ref: Strange values-Footnote-11066651 +Node: Getting Accuracy1066756 +Node: Try To Round1069493 +Node: Setting precision1070400 +Ref: table-predefined-precision-strings1071105 +Node: Setting the rounding mode1072990 +Ref: table-gawk-rounding-modes1073372 +Ref: Setting the rounding mode-Footnote-11077430 +Node: Arbitrary Precision Integers1077613 +Ref: Arbitrary Precision Integers-Footnote-11080825 +Node: Checking for MPFR1080981 +Node: POSIX Floating Point Problems1082471 +Ref: POSIX Floating Point Problems-Footnote-11087335 +Node: Floating point summary1087373 +Node: Dynamic Extensions1089637 +Node: Extension Intro1091236 +Node: Plugin License1092544 +Node: Extension Mechanism Outline1093357 +Ref: figure-load-extension1093808 +Ref: figure-register-new-function1095393 +Ref: figure-call-new-function1096503 +Node: Extension API Description1098627 +Node: Extension API Functions Introduction1100356 +Ref: table-api-std-headers1102254 +Node: General Data Types1106718 +Ref: General Data Types-Footnote-11115886 +Node: Memory Allocation Functions1116201 +Ref: Memory Allocation Functions-Footnote-11120926 +Node: Constructor Functions1121025 +Node: API Ownership of MPFR and GMP Values1124930 +Node: Registration Functions1126491 +Node: Extension Functions1127195 +Node: Exit Callback Functions1132771 +Node: Extension Version String1134090 +Node: Input Parsers1134785 +Node: Output Wrappers1149429 +Node: Two-way processors1154277 +Node: Printing Messages1156638 +Ref: Printing Messages-Footnote-11157852 +Node: Updating ERRNO1158007 +Node: Requesting Values1158806 +Ref: table-value-types-returned1159559 +Node: Accessing Parameters1160668 +Node: Symbol Table Access1161952 +Node: Symbol table by name1162468 +Ref: Symbol table by name-Footnote-11165679 +Node: Symbol table by cookie1165811 +Ref: Symbol table by cookie-Footnote-11170092 +Node: Cached values1170156 +Ref: Cached values-Footnote-11173800 +Node: Array Manipulation1173957 +Ref: Array Manipulation-Footnote-11175060 +Node: Array Data Types1175097 +Ref: Array Data Types-Footnote-11177919 +Node: Array Functions1178019 +Node: Flattening Arrays1183048 +Node: Creating Arrays1190100 +Node: Redirection API1194950 +Node: Extension API Variables1197971 +Node: Extension Versioning1198696 +Ref: gawk-api-version1199133 +Node: Extension GMP/MPFR Versioning1200921 +Node: Extension API Informational Variables1202627 +Node: Extension API Boilerplate1203788 +Node: Changes from API V11207924 +Node: Finding Extensions1209558 +Node: Extension Example1210133 +Node: Internal File Description1210957 +Node: Internal File Ops1215281 +Ref: Internal File Ops-Footnote-11226839 +Node: Using Internal File Ops1226987 +Ref: Using Internal File Ops-Footnote-11229418 +Node: Extension Samples1229696 +Node: Extension Sample File Functions1231265 +Node: Extension Sample Fnmatch1239403 +Node: Extension Sample Fork1240998 +Node: Extension Sample Inplace1242274 +Node: Extension Sample Ord1245946 +Node: Extension Sample Readdir1246822 +Ref: table-readdir-file-types1247611 +Node: Extension Sample Revout1248972 +Node: Extension Sample Rev2way1249569 +Node: Extension Sample Read write array1250321 +Node: Extension Sample Readfile1253595 +Node: Extension Sample Time1254726 +Node: Extension Sample API Tests1257016 +Node: gawkextlib1257524 +Node: Extension summary1260560 +Node: Extension Exercises1264418 +Node: Language History1265696 +Node: V7/SVR3.11267410 +Node: SVR41269760 +Node: POSIX1271292 +Node: BTL1272717 +Node: POSIX/GNU1273486 +Node: Feature History1280017 +Node: Common Extensions1299624 +Node: Ranges and Locales1301101 +Ref: Ranges and Locales-Footnote-11305902 +Ref: Ranges and Locales-Footnote-21305929 +Ref: Ranges and Locales-Footnote-31306168 +Node: Contributors1306391 +Node: History summary1312596 +Node: Installation1314042 +Node: Gawk Distribution1315006 +Node: Getting1315498 +Node: Extracting1316497 +Node: Distribution contents1318209 +Node: Unix Installation1326289 +Node: Quick Installation1327111 +Node: Compiling with MPFR1329657 +Node: Shell Startup Files1330363 +Node: Additional Configuration Options1331520 +Node: Configuration Philosophy1333907 +Node: Compiling from Git1336409 +Node: Building the Documentation1336968 +Node: Non-Unix Installation1338380 +Node: PC Installation1338856 +Node: PC Binary Installation1339729 +Node: PC Compiling1340634 +Node: PC Using1341812 +Node: Cygwin1345540 +Node: MSYS1346796 +Node: OpenVMS Installation1347428 +Node: OpenVMS Compilation1348109 +Ref: OpenVMS Compilation-Footnote-11349592 +Node: OpenVMS Dynamic Extensions1349654 +Node: OpenVMS Installation Details1351290 +Node: OpenVMS Running1353725 +Node: OpenVMS GNV1357862 +Node: Bugs1358617 +Node: Bug definition1359541 +Node: Bug address1363192 +Node: Usenet1366783 +Node: Performance bugs1368014 +Node: Asking for help1371032 +Node: Maintainers1373023 +Node: Other Versions1374050 +Node: Installation summary1383393 +Node: Notes1384777 +Node: Compatibility Mode1385587 +Node: Additions1386409 +Node: Accessing The Source1387354 +Node: Adding Code1388889 +Node: New Ports1396025 +Node: Derived Files1400535 +Ref: Derived Files-Footnote-11406382 +Ref: Derived Files-Footnote-21406417 +Ref: Derived Files-Footnote-31407034 +Node: Future Extensions1407148 +Node: Implementation Limitations1407820 +Node: Extension Design1409062 +Node: Old Extension Problems1410226 +Ref: Old Extension Problems-Footnote-11411802 +Node: Extension New Mechanism Goals1411863 +Ref: Extension New Mechanism Goals-Footnote-11415359 +Node: Extension Other Design Decisions1415560 +Node: Extension Future Growth1417759 +Node: Notes summary1418383 +Node: Basic Concepts1419596 +Node: Basic High Level1420281 +Ref: figure-general-flow1420563 +Ref: figure-process-flow1421270 +Ref: Basic High Level-Footnote-11424671 +Node: Basic Data Typing1424860 +Node: Glossary1428278 +Node: Copying1461400 +Node: GNU Free Documentation License1499161 +Node: Index1524484 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 0ef30e2..547dadd 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -8514,10 +8514,6 @@ The value of @code{FS} is ignored. Fields are separated by runs of whitespace. Leading and trailing whitespace are ignored. This is the default. -@item FS == "," -Fields are separated by commas, with quoting of fields -and special rules involved. - @item FS == @var{any other single character} Fields are separated by each occurrence of the character. Multiple successive occurrences delimit empty fields, as do leading and @@ -8799,8 +8795,10 @@ four, and @code{$4} has the value @code{"ddd"}. @node Splitting By Content @section Defining Fields by Content -@strong{FIXME}: This whole section needs rewriting now +@quotation NOTE +This whole section needs rewriting now that @command{gawk} has built-in CSV parsing. Sigh. +@end quotation @menu * More CSV:: More on CSV files. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 56bbbf9..ea64d88 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -7983,10 +7983,6 @@ The value of @code{FS} is ignored. Fields are separated by runs of whitespace. Leading and trailing whitespace are ignored. This is the default. -@item FS == "," -Fields are separated by commas, with quoting of fields -and special rules involved. - @item FS == @var{any other single character} Fields are separated by each occurrence of the character. Multiple successive occurrences delimit empty fields, as do leading and @@ -8232,8 +8228,10 @@ four, and @code{$4} has the value @code{"ddd"}. @node Splitting By Content @section Defining Fields by Content -@strong{FIXME}: This whole section needs rewriting now +@quotation NOTE +This whole section needs rewriting now that @command{gawk} has built-in CSV parsing. Sigh. +@end quotation @menu * More CSV:: More on CSV files. @@ -1178,7 +1178,7 @@ do_split(int nargs) if (do_csv && (sep->re_flags & FS_DFLT) != 0 && nargs == 3) { fs = NULL; parseit = comma_parse_field; - } else if ( (sep->re_flags & FS_DFLT) != 0 + } else if ((sep->re_flags & FS_DFLT) != 0 && current_field_sep() == Using_FS && ! RS_is_null) { parseit = parse_field; |
