diff options
-rw-r--r-- | doc/ChangeLog | 7 | ||||
-rw-r--r-- | doc/gawk.info | 1053 | ||||
-rw-r--r-- | doc/gawk.texi | 11 | ||||
-rw-r--r-- | doc/gawktexi.in | 11 |
4 files changed, 554 insertions, 528 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 0e0914c6..d1194bc7 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,10 @@ +2018-05-10 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Bracket Expressions): Document the full list + of characters in [:space:]. Thanks to Jannick <thirdedition@gmx.net> + for the suggestion. Also note that current BWK awk gets [:blank:] + wrong, treating it like [:space:]. + 2018-04-08 Arnold D. Robbins <arnold@skeeve.com> * gawk.1: Minor edit in the man page. Thanks to Howard diff --git a/doc/gawk.info b/doc/gawk.info index 9e29baee..fc2c0f27 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -3848,8 +3848,8 @@ Class Meaning characters) '[:punct:]' Punctuation characters (characters that are not letters, digits, control characters, or space characters) -'[:space:]' Space characters (such as space, TAB, and formfeed, to name - a few) +'[:space:]' Space characters (these are: space, TAB, newline, carriage + return, formfeed and vertical tab) '[:upper:]' Uppercase alphabetic characters '[:xdigit:]'Characters that are hexadecimal digits @@ -3868,6 +3868,11 @@ numerically between zero and 127, which is the defined range of the ASCII character set. Use a complemented character list ('[^\x00-\x7F]') to match any single-byte characters that are not in the ASCII range. + NOTE: As of this writing (May 2018), Brian Kernighan's 'awk' treats + '[:blank:]' like '[:space:]', incorrectly matching more characters + than it should. We have submitted a patch to him, and hope that + this will be fixed. + Two additional special sequences can appear in bracket expressions. These apply to non-ASCII character sets, which can have single symbols (called "collating elements") that are represented with more than one @@ -33494,13 +33499,13 @@ Index * bracket expressions, character classes: Bracket Expressions. (line 40) * bracket expressions, collating elements: Bracket Expressions. - (line 86) + (line 91) * bracket expressions, collating symbols: Bracket Expressions. - (line 93) + (line 98) * bracket expressions, complemented: Regexp Operators. (line 64) * bracket expressions, equivalence classes: Bracket Expressions. - (line 99) -* bracket expressions, non-ASCII: Bracket Expressions. (line 86) + (line 104) +* bracket expressions, non-ASCII: Bracket Expressions. (line 91) * bracket expressions, range expressions: Bracket Expressions. (line 6) * break debugger command: Breakpoint Control. (line 11) @@ -33618,8 +33623,8 @@ Index * Close, Diane: Manual History. (line 34) * Close, Diane <1>: Contributors. (line 21) * Collado, Manuel: Acknowledgments. (line 60) -* collating elements: Bracket Expressions. (line 86) -* collating symbols: Bracket Expressions. (line 93) +* collating elements: Bracket Expressions. (line 91) +* collating symbols: Bracket Expressions. (line 98) * Colombo, Antonio: Acknowledgments. (line 60) * Colombo, Antonio <1>: Contributors. (line 143) * columns, aligning: Print Examples. (line 69) @@ -34448,7 +34453,7 @@ Index * gawk, awk and <1>: This Manual. (line 14) * gawk, bitwise operations in: Bitwise Functions. (line 40) * gawk, break statement in: Break Statement. (line 51) -* gawk, character classes and: Bracket Expressions. (line 108) +* gawk, character classes and: Bracket Expressions. (line 113) * gawk, coding style in: Adding Code. (line 37) * gawk, command-line options, and regular expressions: GNU Regexp Operators. (line 73) @@ -34741,7 +34746,7 @@ Index * internationalization, localization <1>: Internationalization. (line 13) * internationalization, localization, character classes: Bracket Expressions. - (line 108) + (line 113) * internationalization, localization, gawk and: Internationalization. (line 13) * internationalization, localization, locale categories: Explaining gettext. @@ -35210,7 +35215,7 @@ Index * POSIX awk, bracket expressions and, character classes: Bracket Expressions. (line 40) * POSIX awk, bracket expressions and, character classes <1>: Bracket Expressions. - (line 108) + (line 113) * POSIX awk, break statement and: Break Statement. (line 51) * POSIX awk, changes in awk versions: POSIX. (line 6) * POSIX awk, continue statement and: Continue Statement. (line 44) @@ -36081,518 +36086,518 @@ Ref: Regexp Operators-Footnote-1174490 Ref: Regexp Operators-Footnote-2174637 Node: Bracket Expressions174735 Ref: table-char-classes177211 -Node: Leftmost Longest180348 -Node: Computed Regexps181651 -Node: GNU Regexp Operators185078 -Node: Case-sensitivity188757 -Ref: Case-sensitivity-Footnote-1191644 -Ref: Case-sensitivity-Footnote-2191879 -Node: Regexp Summary191987 -Node: Reading Files193453 -Node: Records195722 -Node: awk split records196455 -Node: gawk split records201386 -Ref: gawk split records-Footnote-1205926 -Node: Fields205963 -Node: Nonconstant Fields208704 -Ref: Nonconstant Fields-Footnote-1210940 -Node: Changing Fields211144 -Node: Field Separators217072 -Node: Default Field Splitting219770 -Node: Regexp Field Splitting220888 -Node: Single Character Fields224241 -Node: Command Line Field Separator225301 -Node: Full Line Fields228519 -Ref: Full Line Fields-Footnote-1230041 -Ref: Full Line Fields-Footnote-2230087 -Node: Field Splitting Summary230188 -Node: Constant Size232262 -Node: Fixed width data232994 -Node: Skipping intervening236461 -Node: Allowing trailing data237259 -Node: Fields with fixed data238296 -Node: Splitting By Content239814 -Ref: Splitting By Content-Footnote-1243464 -Node: Testing field creation243627 -Node: Multiple Line245252 -Ref: Multiple Line-Footnote-1251136 -Node: Getline251315 -Node: Plain Getline253784 -Node: Getline/Variable256425 -Node: Getline/File257576 -Node: Getline/Variable/File258964 -Ref: Getline/Variable/File-Footnote-1260569 -Node: Getline/Pipe260657 -Node: Getline/Variable/Pipe263364 -Node: Getline/Coprocess264499 -Node: Getline/Variable/Coprocess265766 -Node: Getline Notes266508 -Node: Getline Summary269305 -Ref: table-getline-variants269729 -Node: Read Timeout270477 -Ref: Read Timeout-Footnote-1274383 -Node: Retrying Input274441 -Node: Command-line directories275640 -Node: Input Summary276546 -Node: Input Exercises279718 -Node: Printing280446 -Node: Print282280 -Node: Print Examples283737 -Node: Output Separators286517 -Node: OFMT288534 -Node: Printf289890 -Node: Basic Printf290675 -Node: Control Letters292249 -Node: Format Modifiers296928 -Node: Printf Examples302943 -Node: Redirection305429 -Node: Special FD312270 -Ref: Special FD-Footnote-1315438 -Node: Special Files315512 -Node: Other Inherited Files316129 -Node: Special Network317130 -Node: Special Caveats317990 -Node: Close Files And Pipes318939 -Ref: table-close-pipe-return-values325846 -Ref: Close Files And Pipes-Footnote-1326659 -Ref: Close Files And Pipes-Footnote-2326807 -Node: Nonfatal326959 -Node: Output Summary329297 -Node: Output Exercises330519 -Node: Expressions331198 -Node: Values332386 -Node: Constants333064 -Node: Scalar Constants333755 -Ref: Scalar Constants-Footnote-1334619 -Node: Nondecimal-numbers334869 -Node: Regexp Constants337870 -Node: Using Constant Regexps338396 -Node: Standard Regexp Constants339018 -Node: Strong Regexp Constants342206 -Node: Variables345164 -Node: Using Variables345821 -Node: Assignment Options347731 -Node: Conversion349604 -Node: Strings And Numbers350128 -Ref: Strings And Numbers-Footnote-1353191 -Node: Locale influences conversions353300 -Ref: table-locale-affects356058 -Node: All Operators356676 -Node: Arithmetic Ops357305 -Node: Concatenation359811 -Ref: Concatenation-Footnote-1362658 -Node: Assignment Ops362765 -Ref: table-assign-ops367756 -Node: Increment Ops369069 -Node: Truth Values and Conditions372529 -Node: Truth Values373603 -Node: Typing and Comparison374651 -Node: Variable Typing375471 -Ref: Variable Typing-Footnote-1381934 -Ref: Variable Typing-Footnote-2382006 -Node: Comparison Operators382083 -Ref: table-relational-ops382502 -Node: POSIX String Comparison385997 -Ref: POSIX String Comparison-Footnote-1387692 -Ref: POSIX String Comparison-Footnote-2387831 -Node: Boolean Ops387915 -Ref: Boolean Ops-Footnote-1392397 -Node: Conditional Exp392489 -Node: Function Calls394225 -Node: Precedence398102 -Node: Locales401761 -Node: Expressions Summary403393 -Node: Patterns and Actions405966 -Node: Pattern Overview407086 -Node: Regexp Patterns408763 -Node: Expression Patterns409305 -Node: Ranges413086 -Node: BEGIN/END416194 -Node: Using BEGIN/END416955 -Ref: Using BEGIN/END-Footnote-1419691 -Node: I/O And BEGIN/END419797 -Node: BEGINFILE/ENDFILE422111 -Node: Empty425024 -Node: Using Shell Variables425341 -Node: Action Overview427615 -Node: Statements429940 -Node: If Statement431788 -Node: While Statement433283 -Node: Do Statement435311 -Node: For Statement436459 -Node: Switch Statement439630 -Node: Break Statement442016 -Node: Continue Statement444108 -Node: Next Statement445935 -Node: Nextfile Statement448318 -Node: Exit Statement450970 -Node: Built-in Variables453373 -Node: User-modified454506 -Node: Auto-set462273 -Ref: Auto-set-Footnote-1478572 -Ref: Auto-set-Footnote-2478778 -Node: ARGC and ARGV478834 -Node: Pattern Action Summary483047 -Node: Arrays485477 -Node: Array Basics486806 -Node: Array Intro487650 -Ref: figure-array-elements489625 -Ref: Array Intro-Footnote-1492329 -Node: Reference to Elements492457 -Node: Assigning Elements494921 -Node: Array Example495412 -Node: Scanning an Array497171 -Node: Controlling Scanning500193 -Ref: Controlling Scanning-Footnote-1505592 -Node: Numeric Array Subscripts505908 -Node: Uninitialized Subscripts508092 -Node: Delete509711 -Ref: Delete-Footnote-1512463 -Node: Multidimensional512520 -Node: Multiscanning515615 -Node: Arrays of Arrays517206 -Node: Arrays Summary521973 -Node: Functions524066 -Node: Built-in525104 -Node: Calling Built-in526185 -Node: Numeric Functions528181 -Ref: Numeric Functions-Footnote-1532209 -Ref: Numeric Functions-Footnote-2532566 -Ref: Numeric Functions-Footnote-3532614 -Node: String Functions532886 -Ref: String Functions-Footnote-1556544 -Ref: String Functions-Footnote-2556672 -Ref: String Functions-Footnote-3556920 -Node: Gory Details557007 -Ref: table-sub-escapes558798 -Ref: table-sub-proposed560317 -Ref: table-posix-sub561680 -Ref: table-gensub-escapes563221 -Ref: Gory Details-Footnote-1564044 -Node: I/O Functions564198 -Ref: table-system-return-values570666 -Ref: I/O Functions-Footnote-1572646 -Ref: I/O Functions-Footnote-2572794 -Node: Time Functions572914 -Ref: Time Functions-Footnote-1583585 -Ref: Time Functions-Footnote-2583653 -Ref: Time Functions-Footnote-3583811 -Ref: Time Functions-Footnote-4583922 -Ref: Time Functions-Footnote-5584034 -Ref: Time Functions-Footnote-6584261 -Node: Bitwise Functions584527 -Ref: table-bitwise-ops585121 -Ref: Bitwise Functions-Footnote-1591166 -Ref: Bitwise Functions-Footnote-2591339 -Node: Type Functions591530 -Node: I18N Functions594281 -Node: User-defined595932 -Node: Definition Syntax596737 -Ref: Definition Syntax-Footnote-1602424 -Node: Function Example602495 -Ref: Function Example-Footnote-1605417 -Node: Function Caveats605439 -Node: Calling A Function605957 -Node: Variable Scope606915 -Node: Pass By Value/Reference609909 -Node: Return Statement613408 -Node: Dynamic Typing616387 -Node: Indirect Calls617317 -Ref: Indirect Calls-Footnote-1627569 -Node: Functions Summary627697 -Node: Library Functions630402 -Ref: Library Functions-Footnote-1634009 -Ref: Library Functions-Footnote-2634152 -Node: Library Names634323 -Ref: Library Names-Footnote-1637783 -Ref: Library Names-Footnote-2638006 -Node: General Functions638092 -Node: Strtonum Function639195 -Node: Assert Function642217 -Node: Round Function645543 -Node: Cliff Random Function647083 -Node: Ordinal Functions648099 -Ref: Ordinal Functions-Footnote-1651162 -Ref: Ordinal Functions-Footnote-2651414 -Node: Join Function651624 -Ref: Join Function-Footnote-1653394 -Node: Getlocaltime Function653594 -Node: Readfile Function657336 -Node: Shell Quoting659313 -Node: Data File Management660714 -Node: Filetrans Function661346 -Node: Rewind Function665442 -Node: File Checking667352 -Ref: File Checking-Footnote-1668686 -Node: Empty Files668887 -Node: Ignoring Assigns670866 -Node: Getopt Function672416 -Ref: Getopt Function-Footnote-1683885 -Node: Passwd Functions684085 -Ref: Passwd Functions-Footnote-1692924 -Node: Group Functions693012 -Ref: Group Functions-Footnote-1700910 -Node: Walking Arrays701117 -Node: Library Functions Summary704125 -Node: Library Exercises705531 -Node: Sample Programs705996 -Node: Running Examples706766 -Node: Clones707494 -Node: Cut Program708718 -Node: Egrep Program718647 -Ref: Egrep Program-Footnote-1726159 -Node: Id Program726269 -Node: Split Program729949 -Ref: Split Program-Footnote-1733407 -Node: Tee Program733536 -Node: Uniq Program736326 -Node: Wc Program743752 -Ref: Wc Program-Footnote-1748007 -Node: Miscellaneous Programs748101 -Node: Dupword Program749314 -Node: Alarm Program751344 -Node: Translate Program756199 -Ref: Translate Program-Footnote-1760764 -Node: Labels Program761034 -Ref: Labels Program-Footnote-1764385 -Node: Word Sorting764469 -Node: History Sorting768541 -Node: Extract Program770376 -Node: Simple Sed777906 -Node: Igawk Program780980 -Ref: Igawk Program-Footnote-1795311 -Ref: Igawk Program-Footnote-2795513 -Ref: Igawk Program-Footnote-3795635 -Node: Anagram Program795750 -Node: Signature Program798812 -Node: Programs Summary800059 -Node: Programs Exercises801273 -Ref: Programs Exercises-Footnote-1805402 -Node: Advanced Features805493 -Node: Nondecimal Data807483 -Node: Array Sorting809074 -Node: Controlling Array Traversal809774 -Ref: Controlling Array Traversal-Footnote-1818142 -Node: Array Sorting Functions818260 -Ref: Array Sorting Functions-Footnote-1823351 -Node: Two-way I/O823547 -Ref: Two-way I/O-Footnote-1830099 -Ref: Two-way I/O-Footnote-2830286 -Node: TCP/IP Networking830368 -Node: Profiling833486 -Ref: Profiling-Footnote-1842158 -Node: Advanced Features Summary842481 -Node: Internationalization844325 -Node: I18N and L10N845805 -Node: Explaining gettext846492 -Ref: Explaining gettext-Footnote-1852384 -Ref: Explaining gettext-Footnote-2852569 -Node: Programmer i18n852734 -Ref: Programmer i18n-Footnote-1857683 -Node: Translator i18n857732 -Node: String Extraction858526 -Ref: String Extraction-Footnote-1859658 -Node: Printf Ordering859744 -Ref: Printf Ordering-Footnote-1862530 -Node: I18N Portability862594 -Ref: I18N Portability-Footnote-1865050 -Node: I18N Example865113 -Ref: I18N Example-Footnote-1867919 -Node: Gawk I18N867992 -Node: I18N Summary868637 -Node: Debugger869978 -Node: Debugging871001 -Node: Debugging Concepts871442 -Node: Debugging Terms873251 -Node: Awk Debugging875826 -Node: Sample Debugging Session876732 -Node: Debugger Invocation877266 -Node: Finding The Bug878652 -Node: List of Debugger Commands885130 -Node: Breakpoint Control886463 -Node: Debugger Execution Control890157 -Node: Viewing And Changing Data893519 -Node: Execution Stack896893 -Node: Debugger Info898530 -Node: Miscellaneous Debugger Commands902601 -Node: Readline Support907663 -Node: Limitations908559 -Node: Debugging Summary910668 -Node: Arbitrary Precision Arithmetic911947 -Node: Computer Arithmetic913432 -Ref: table-numeric-ranges917198 -Ref: table-floating-point-ranges917691 -Ref: Computer Arithmetic-Footnote-1918349 -Node: Math Definitions918406 -Ref: table-ieee-formats921722 -Ref: Math Definitions-Footnote-1922325 -Node: MPFR features922430 -Node: FP Math Caution924148 -Ref: FP Math Caution-Footnote-1925220 -Node: Inexactness of computations925589 -Node: Inexact representation926549 -Node: Comparing FP Values927909 -Node: Errors accumulate928991 -Node: Getting Accuracy930424 -Node: Try To Round933134 -Node: Setting precision934033 -Ref: table-predefined-precision-strings934730 -Node: Setting the rounding mode936560 -Ref: table-gawk-rounding-modes936934 -Ref: Setting the rounding mode-Footnote-1940865 -Node: Arbitrary Precision Integers941044 -Ref: Arbitrary Precision Integers-Footnote-1944219 -Node: Checking for MPFR944368 -Node: POSIX Floating Point Problems945842 -Ref: POSIX Floating Point Problems-Footnote-1949713 -Node: Floating point summary949751 -Node: Dynamic Extensions951941 -Node: Extension Intro953494 -Node: Plugin License954760 -Node: Extension Mechanism Outline955557 -Ref: figure-load-extension955996 -Ref: figure-register-new-function957561 -Ref: figure-call-new-function958653 -Node: Extension API Description960715 -Node: Extension API Functions Introduction962357 -Node: General Data Types967897 -Ref: General Data Types-Footnote-1976258 -Node: Memory Allocation Functions976557 -Ref: Memory Allocation Functions-Footnote-1980767 -Node: Constructor Functions980866 -Node: Registration Functions984452 -Node: Extension Functions985137 -Node: Exit Callback Functions990352 -Node: Extension Version String991602 -Node: Input Parsers992265 -Node: Output Wrappers1004986 -Node: Two-way processors1009498 -Node: Printing Messages1011763 -Ref: Printing Messages-Footnote-11012934 -Node: Updating ERRNO1013087 -Node: Requesting Values1013826 -Ref: table-value-types-returned1014563 -Node: Accessing Parameters1015499 -Node: Symbol Table Access1016734 -Node: Symbol table by name1017246 -Node: Symbol table by cookie1019035 -Ref: Symbol table by cookie-Footnote-11023220 -Node: Cached values1023284 -Ref: Cached values-Footnote-11026820 -Node: Array Manipulation1026973 -Ref: Array Manipulation-Footnote-11028064 -Node: Array Data Types1028101 -Ref: Array Data Types-Footnote-11030759 -Node: Array Functions1030851 -Node: Flattening Arrays1035349 -Node: Creating Arrays1042325 -Node: Redirection API1047092 -Node: Extension API Variables1049925 -Node: Extension Versioning1050636 -Ref: gawk-api-version1051065 -Node: Extension GMP/MPFR Versioning1052796 -Node: Extension API Informational Variables1054424 -Node: Extension API Boilerplate1055497 -Node: Changes from API V11059471 -Node: Finding Extensions1061043 -Node: Extension Example1061602 -Node: Internal File Description1062400 -Node: Internal File Ops1066480 -Ref: Internal File Ops-Footnote-11077830 -Node: Using Internal File Ops1077970 -Ref: Using Internal File Ops-Footnote-11080353 -Node: Extension Samples1080627 -Node: Extension Sample File Functions1082156 -Node: Extension Sample Fnmatch1089805 -Node: Extension Sample Fork1091292 -Node: Extension Sample Inplace1092510 -Node: Extension Sample Ord1095727 -Node: Extension Sample Readdir1096563 -Ref: table-readdir-file-types1097452 -Node: Extension Sample Revout1098257 -Node: Extension Sample Rev2way1098846 -Node: Extension Sample Read write array1099586 -Node: Extension Sample Readfile1101528 -Node: Extension Sample Time1102623 -Node: Extension Sample API Tests1103971 -Node: gawkextlib1104463 -Node: Extension summary1107381 -Node: Extension Exercises1111083 -Node: Language History1112581 -Node: V7/SVR3.11114237 -Node: SVR41116389 -Node: POSIX1117823 -Node: BTL1119203 -Node: POSIX/GNU1119932 -Node: Feature History1125710 -Node: Common Extensions1141569 -Node: Ranges and Locales1142852 -Ref: Ranges and Locales-Footnote-11147468 -Ref: Ranges and Locales-Footnote-21147495 -Ref: Ranges and Locales-Footnote-31147730 -Node: Contributors1147951 -Node: History summary1153896 -Node: Installation1155276 -Node: Gawk Distribution1156220 -Node: Getting1156704 -Node: Extracting1157667 -Node: Distribution contents1159305 -Node: Unix Installation1165785 -Node: Quick Installation1166467 -Node: Shell Startup Files1168881 -Node: Additional Configuration Options1169970 -Node: Configuration Philosophy1172263 -Node: Non-Unix Installation1174632 -Node: PC Installation1175092 -Node: PC Binary Installation1175930 -Node: PC Compiling1176365 -Node: PC Using1177482 -Node: Cygwin1180697 -Node: MSYS1181796 -Node: VMS Installation1182297 -Node: VMS Compilation1183088 -Ref: VMS Compilation-Footnote-11184317 -Node: VMS Dynamic Extensions1184375 -Node: VMS Installation Details1186060 -Node: VMS Running1188313 -Node: VMS GNV1192592 -Node: VMS Old Gawk1193327 -Node: Bugs1193798 -Node: Bug address1194461 -Node: Usenet1197253 -Node: Maintainers1198030 -Node: Other Versions1199291 -Node: Installation summary1206053 -Node: Notes1207255 -Node: Compatibility Mode1208120 -Node: Additions1208902 -Node: Accessing The Source1209827 -Node: Adding Code1211264 -Node: New Ports1217483 -Node: Derived Files1221971 -Ref: Derived Files-Footnote-11227617 -Ref: Derived Files-Footnote-21227652 -Ref: Derived Files-Footnote-31228250 -Node: Future Extensions1228364 -Node: Implementation Limitations1229022 -Node: Extension Design1230205 -Node: Old Extension Problems1231359 -Ref: Old Extension Problems-Footnote-11232877 -Node: Extension New Mechanism Goals1232934 -Ref: Extension New Mechanism Goals-Footnote-11236298 -Node: Extension Other Design Decisions1236487 -Node: Extension Future Growth1238600 -Node: Old Extension Mechanism1239436 -Node: Notes summary1241199 -Node: Basic Concepts1242381 -Node: Basic High Level1243062 -Ref: figure-general-flow1243344 -Ref: figure-process-flow1244029 -Ref: Basic High Level-Footnote-11247330 -Node: Basic Data Typing1247515 -Node: Glossary1250843 -Node: Copying1282681 -Node: GNU Free Documentation License1320224 -Node: Index1345344 +Node: Leftmost Longest180616 +Node: Computed Regexps181919 +Node: GNU Regexp Operators185346 +Node: Case-sensitivity189025 +Ref: Case-sensitivity-Footnote-1191912 +Ref: Case-sensitivity-Footnote-2192147 +Node: Regexp Summary192255 +Node: Reading Files193721 +Node: Records195990 +Node: awk split records196723 +Node: gawk split records201654 +Ref: gawk split records-Footnote-1206194 +Node: Fields206231 +Node: Nonconstant Fields208972 +Ref: Nonconstant Fields-Footnote-1211208 +Node: Changing Fields211412 +Node: Field Separators217340 +Node: Default Field Splitting220038 +Node: Regexp Field Splitting221156 +Node: Single Character Fields224509 +Node: Command Line Field Separator225569 +Node: Full Line Fields228787 +Ref: Full Line Fields-Footnote-1230309 +Ref: Full Line Fields-Footnote-2230355 +Node: Field Splitting Summary230456 +Node: Constant Size232530 +Node: Fixed width data233262 +Node: Skipping intervening236729 +Node: Allowing trailing data237527 +Node: Fields with fixed data238564 +Node: Splitting By Content240082 +Ref: Splitting By Content-Footnote-1243732 +Node: Testing field creation243895 +Node: Multiple Line245520 +Ref: Multiple Line-Footnote-1251404 +Node: Getline251583 +Node: Plain Getline254052 +Node: Getline/Variable256693 +Node: Getline/File257844 +Node: Getline/Variable/File259232 +Ref: Getline/Variable/File-Footnote-1260837 +Node: Getline/Pipe260925 +Node: Getline/Variable/Pipe263632 +Node: Getline/Coprocess264767 +Node: Getline/Variable/Coprocess266034 +Node: Getline Notes266776 +Node: Getline Summary269573 +Ref: table-getline-variants269997 +Node: Read Timeout270745 +Ref: Read Timeout-Footnote-1274651 +Node: Retrying Input274709 +Node: Command-line directories275908 +Node: Input Summary276814 +Node: Input Exercises279986 +Node: Printing280714 +Node: Print282548 +Node: Print Examples284005 +Node: Output Separators286785 +Node: OFMT288802 +Node: Printf290158 +Node: Basic Printf290943 +Node: Control Letters292517 +Node: Format Modifiers297196 +Node: Printf Examples303211 +Node: Redirection305697 +Node: Special FD312538 +Ref: Special FD-Footnote-1315706 +Node: Special Files315780 +Node: Other Inherited Files316397 +Node: Special Network317398 +Node: Special Caveats318258 +Node: Close Files And Pipes319207 +Ref: table-close-pipe-return-values326114 +Ref: Close Files And Pipes-Footnote-1326927 +Ref: Close Files And Pipes-Footnote-2327075 +Node: Nonfatal327227 +Node: Output Summary329565 +Node: Output Exercises330787 +Node: Expressions331466 +Node: Values332654 +Node: Constants333332 +Node: Scalar Constants334023 +Ref: Scalar Constants-Footnote-1334887 +Node: Nondecimal-numbers335137 +Node: Regexp Constants338138 +Node: Using Constant Regexps338664 +Node: Standard Regexp Constants339286 +Node: Strong Regexp Constants342474 +Node: Variables345432 +Node: Using Variables346089 +Node: Assignment Options347999 +Node: Conversion349872 +Node: Strings And Numbers350396 +Ref: Strings And Numbers-Footnote-1353459 +Node: Locale influences conversions353568 +Ref: table-locale-affects356326 +Node: All Operators356944 +Node: Arithmetic Ops357573 +Node: Concatenation360079 +Ref: Concatenation-Footnote-1362926 +Node: Assignment Ops363033 +Ref: table-assign-ops368024 +Node: Increment Ops369337 +Node: Truth Values and Conditions372797 +Node: Truth Values373871 +Node: Typing and Comparison374919 +Node: Variable Typing375739 +Ref: Variable Typing-Footnote-1382202 +Ref: Variable Typing-Footnote-2382274 +Node: Comparison Operators382351 +Ref: table-relational-ops382770 +Node: POSIX String Comparison386265 +Ref: POSIX String Comparison-Footnote-1387960 +Ref: POSIX String Comparison-Footnote-2388099 +Node: Boolean Ops388183 +Ref: Boolean Ops-Footnote-1392665 +Node: Conditional Exp392757 +Node: Function Calls394493 +Node: Precedence398370 +Node: Locales402029 +Node: Expressions Summary403661 +Node: Patterns and Actions406234 +Node: Pattern Overview407354 +Node: Regexp Patterns409031 +Node: Expression Patterns409573 +Node: Ranges413354 +Node: BEGIN/END416462 +Node: Using BEGIN/END417223 +Ref: Using BEGIN/END-Footnote-1419959 +Node: I/O And BEGIN/END420065 +Node: BEGINFILE/ENDFILE422379 +Node: Empty425292 +Node: Using Shell Variables425609 +Node: Action Overview427883 +Node: Statements430208 +Node: If Statement432056 +Node: While Statement433551 +Node: Do Statement435579 +Node: For Statement436727 +Node: Switch Statement439898 +Node: Break Statement442284 +Node: Continue Statement444376 +Node: Next Statement446203 +Node: Nextfile Statement448586 +Node: Exit Statement451238 +Node: Built-in Variables453641 +Node: User-modified454774 +Node: Auto-set462541 +Ref: Auto-set-Footnote-1478840 +Ref: Auto-set-Footnote-2479046 +Node: ARGC and ARGV479102 +Node: Pattern Action Summary483315 +Node: Arrays485745 +Node: Array Basics487074 +Node: Array Intro487918 +Ref: figure-array-elements489893 +Ref: Array Intro-Footnote-1492597 +Node: Reference to Elements492725 +Node: Assigning Elements495189 +Node: Array Example495680 +Node: Scanning an Array497439 +Node: Controlling Scanning500461 +Ref: Controlling Scanning-Footnote-1505860 +Node: Numeric Array Subscripts506176 +Node: Uninitialized Subscripts508360 +Node: Delete509979 +Ref: Delete-Footnote-1512731 +Node: Multidimensional512788 +Node: Multiscanning515883 +Node: Arrays of Arrays517474 +Node: Arrays Summary522241 +Node: Functions524334 +Node: Built-in525372 +Node: Calling Built-in526453 +Node: Numeric Functions528449 +Ref: Numeric Functions-Footnote-1532477 +Ref: Numeric Functions-Footnote-2532834 +Ref: Numeric Functions-Footnote-3532882 +Node: String Functions533154 +Ref: String Functions-Footnote-1556812 +Ref: String Functions-Footnote-2556940 +Ref: String Functions-Footnote-3557188 +Node: Gory Details557275 +Ref: table-sub-escapes559066 +Ref: table-sub-proposed560585 +Ref: table-posix-sub561948 +Ref: table-gensub-escapes563489 +Ref: Gory Details-Footnote-1564312 +Node: I/O Functions564466 +Ref: table-system-return-values570934 +Ref: I/O Functions-Footnote-1572914 +Ref: I/O Functions-Footnote-2573062 +Node: Time Functions573182 +Ref: Time Functions-Footnote-1583853 +Ref: Time Functions-Footnote-2583921 +Ref: Time Functions-Footnote-3584079 +Ref: Time Functions-Footnote-4584190 +Ref: Time Functions-Footnote-5584302 +Ref: Time Functions-Footnote-6584529 +Node: Bitwise Functions584795 +Ref: table-bitwise-ops585389 +Ref: Bitwise Functions-Footnote-1591434 +Ref: Bitwise Functions-Footnote-2591607 +Node: Type Functions591798 +Node: I18N Functions594549 +Node: User-defined596200 +Node: Definition Syntax597005 +Ref: Definition Syntax-Footnote-1602692 +Node: Function Example602763 +Ref: Function Example-Footnote-1605685 +Node: Function Caveats605707 +Node: Calling A Function606225 +Node: Variable Scope607183 +Node: Pass By Value/Reference610177 +Node: Return Statement613676 +Node: Dynamic Typing616655 +Node: Indirect Calls617585 +Ref: Indirect Calls-Footnote-1627837 +Node: Functions Summary627965 +Node: Library Functions630670 +Ref: Library Functions-Footnote-1634277 +Ref: Library Functions-Footnote-2634420 +Node: Library Names634591 +Ref: Library Names-Footnote-1638051 +Ref: Library Names-Footnote-2638274 +Node: General Functions638360 +Node: Strtonum Function639463 +Node: Assert Function642485 +Node: Round Function645811 +Node: Cliff Random Function647351 +Node: Ordinal Functions648367 +Ref: Ordinal Functions-Footnote-1651430 +Ref: Ordinal Functions-Footnote-2651682 +Node: Join Function651892 +Ref: Join Function-Footnote-1653662 +Node: Getlocaltime Function653862 +Node: Readfile Function657604 +Node: Shell Quoting659581 +Node: Data File Management660982 +Node: Filetrans Function661614 +Node: Rewind Function665710 +Node: File Checking667620 +Ref: File Checking-Footnote-1668954 +Node: Empty Files669155 +Node: Ignoring Assigns671134 +Node: Getopt Function672684 +Ref: Getopt Function-Footnote-1684153 +Node: Passwd Functions684353 +Ref: Passwd Functions-Footnote-1693192 +Node: Group Functions693280 +Ref: Group Functions-Footnote-1701178 +Node: Walking Arrays701385 +Node: Library Functions Summary704393 +Node: Library Exercises705799 +Node: Sample Programs706264 +Node: Running Examples707034 +Node: Clones707762 +Node: Cut Program708986 +Node: Egrep Program718915 +Ref: Egrep Program-Footnote-1726427 +Node: Id Program726537 +Node: Split Program730217 +Ref: Split Program-Footnote-1733675 +Node: Tee Program733804 +Node: Uniq Program736594 +Node: Wc Program744020 +Ref: Wc Program-Footnote-1748275 +Node: Miscellaneous Programs748369 +Node: Dupword Program749582 +Node: Alarm Program751612 +Node: Translate Program756467 +Ref: Translate Program-Footnote-1761032 +Node: Labels Program761302 +Ref: Labels Program-Footnote-1764653 +Node: Word Sorting764737 +Node: History Sorting768809 +Node: Extract Program770644 +Node: Simple Sed778174 +Node: Igawk Program781248 +Ref: Igawk Program-Footnote-1795579 +Ref: Igawk Program-Footnote-2795781 +Ref: Igawk Program-Footnote-3795903 +Node: Anagram Program796018 +Node: Signature Program799080 +Node: Programs Summary800327 +Node: Programs Exercises801541 +Ref: Programs Exercises-Footnote-1805670 +Node: Advanced Features805761 +Node: Nondecimal Data807751 +Node: Array Sorting809342 +Node: Controlling Array Traversal810042 +Ref: Controlling Array Traversal-Footnote-1818410 +Node: Array Sorting Functions818528 +Ref: Array Sorting Functions-Footnote-1823619 +Node: Two-way I/O823815 +Ref: Two-way I/O-Footnote-1830367 +Ref: Two-way I/O-Footnote-2830554 +Node: TCP/IP Networking830636 +Node: Profiling833754 +Ref: Profiling-Footnote-1842426 +Node: Advanced Features Summary842749 +Node: Internationalization844593 +Node: I18N and L10N846073 +Node: Explaining gettext846760 +Ref: Explaining gettext-Footnote-1852652 +Ref: Explaining gettext-Footnote-2852837 +Node: Programmer i18n853002 +Ref: Programmer i18n-Footnote-1857951 +Node: Translator i18n858000 +Node: String Extraction858794 +Ref: String Extraction-Footnote-1859926 +Node: Printf Ordering860012 +Ref: Printf Ordering-Footnote-1862798 +Node: I18N Portability862862 +Ref: I18N Portability-Footnote-1865318 +Node: I18N Example865381 +Ref: I18N Example-Footnote-1868187 +Node: Gawk I18N868260 +Node: I18N Summary868905 +Node: Debugger870246 +Node: Debugging871269 +Node: Debugging Concepts871710 +Node: Debugging Terms873519 +Node: Awk Debugging876094 +Node: Sample Debugging Session877000 +Node: Debugger Invocation877534 +Node: Finding The Bug878920 +Node: List of Debugger Commands885398 +Node: Breakpoint Control886731 +Node: Debugger Execution Control890425 +Node: Viewing And Changing Data893787 +Node: Execution Stack897161 +Node: Debugger Info898798 +Node: Miscellaneous Debugger Commands902869 +Node: Readline Support907931 +Node: Limitations908827 +Node: Debugging Summary910936 +Node: Arbitrary Precision Arithmetic912215 +Node: Computer Arithmetic913700 +Ref: table-numeric-ranges917466 +Ref: table-floating-point-ranges917959 +Ref: Computer Arithmetic-Footnote-1918617 +Node: Math Definitions918674 +Ref: table-ieee-formats921990 +Ref: Math Definitions-Footnote-1922593 +Node: MPFR features922698 +Node: FP Math Caution924416 +Ref: FP Math Caution-Footnote-1925488 +Node: Inexactness of computations925857 +Node: Inexact representation926817 +Node: Comparing FP Values928177 +Node: Errors accumulate929259 +Node: Getting Accuracy930692 +Node: Try To Round933402 +Node: Setting precision934301 +Ref: table-predefined-precision-strings934998 +Node: Setting the rounding mode936828 +Ref: table-gawk-rounding-modes937202 +Ref: Setting the rounding mode-Footnote-1941133 +Node: Arbitrary Precision Integers941312 +Ref: Arbitrary Precision Integers-Footnote-1944487 +Node: Checking for MPFR944636 +Node: POSIX Floating Point Problems946110 +Ref: POSIX Floating Point Problems-Footnote-1949981 +Node: Floating point summary950019 +Node: Dynamic Extensions952209 +Node: Extension Intro953762 +Node: Plugin License955028 +Node: Extension Mechanism Outline955825 +Ref: figure-load-extension956264 +Ref: figure-register-new-function957829 +Ref: figure-call-new-function958921 +Node: Extension API Description960983 +Node: Extension API Functions Introduction962625 +Node: General Data Types968165 +Ref: General Data Types-Footnote-1976526 +Node: Memory Allocation Functions976825 +Ref: Memory Allocation Functions-Footnote-1981035 +Node: Constructor Functions981134 +Node: Registration Functions984720 +Node: Extension Functions985405 +Node: Exit Callback Functions990620 +Node: Extension Version String991870 +Node: Input Parsers992533 +Node: Output Wrappers1005254 +Node: Two-way processors1009766 +Node: Printing Messages1012031 +Ref: Printing Messages-Footnote-11013202 +Node: Updating ERRNO1013355 +Node: Requesting Values1014094 +Ref: table-value-types-returned1014831 +Node: Accessing Parameters1015767 +Node: Symbol Table Access1017002 +Node: Symbol table by name1017514 +Node: Symbol table by cookie1019303 +Ref: Symbol table by cookie-Footnote-11023488 +Node: Cached values1023552 +Ref: Cached values-Footnote-11027088 +Node: Array Manipulation1027241 +Ref: Array Manipulation-Footnote-11028332 +Node: Array Data Types1028369 +Ref: Array Data Types-Footnote-11031027 +Node: Array Functions1031119 +Node: Flattening Arrays1035617 +Node: Creating Arrays1042593 +Node: Redirection API1047360 +Node: Extension API Variables1050193 +Node: Extension Versioning1050904 +Ref: gawk-api-version1051333 +Node: Extension GMP/MPFR Versioning1053064 +Node: Extension API Informational Variables1054692 +Node: Extension API Boilerplate1055765 +Node: Changes from API V11059739 +Node: Finding Extensions1061311 +Node: Extension Example1061870 +Node: Internal File Description1062668 +Node: Internal File Ops1066748 +Ref: Internal File Ops-Footnote-11078098 +Node: Using Internal File Ops1078238 +Ref: Using Internal File Ops-Footnote-11080621 +Node: Extension Samples1080895 +Node: Extension Sample File Functions1082424 +Node: Extension Sample Fnmatch1090073 +Node: Extension Sample Fork1091560 +Node: Extension Sample Inplace1092778 +Node: Extension Sample Ord1095995 +Node: Extension Sample Readdir1096831 +Ref: table-readdir-file-types1097720 +Node: Extension Sample Revout1098525 +Node: Extension Sample Rev2way1099114 +Node: Extension Sample Read write array1099854 +Node: Extension Sample Readfile1101796 +Node: Extension Sample Time1102891 +Node: Extension Sample API Tests1104239 +Node: gawkextlib1104731 +Node: Extension summary1107649 +Node: Extension Exercises1111351 +Node: Language History1112849 +Node: V7/SVR3.11114505 +Node: SVR41116657 +Node: POSIX1118091 +Node: BTL1119471 +Node: POSIX/GNU1120200 +Node: Feature History1125978 +Node: Common Extensions1141837 +Node: Ranges and Locales1143120 +Ref: Ranges and Locales-Footnote-11147736 +Ref: Ranges and Locales-Footnote-21147763 +Ref: Ranges and Locales-Footnote-31147998 +Node: Contributors1148219 +Node: History summary1154164 +Node: Installation1155544 +Node: Gawk Distribution1156488 +Node: Getting1156972 +Node: Extracting1157935 +Node: Distribution contents1159573 +Node: Unix Installation1166053 +Node: Quick Installation1166735 +Node: Shell Startup Files1169149 +Node: Additional Configuration Options1170238 +Node: Configuration Philosophy1172531 +Node: Non-Unix Installation1174900 +Node: PC Installation1175360 +Node: PC Binary Installation1176198 +Node: PC Compiling1176633 +Node: PC Using1177750 +Node: Cygwin1180965 +Node: MSYS1182064 +Node: VMS Installation1182565 +Node: VMS Compilation1183356 +Ref: VMS Compilation-Footnote-11184585 +Node: VMS Dynamic Extensions1184643 +Node: VMS Installation Details1186328 +Node: VMS Running1188581 +Node: VMS GNV1192860 +Node: VMS Old Gawk1193595 +Node: Bugs1194066 +Node: Bug address1194729 +Node: Usenet1197521 +Node: Maintainers1198298 +Node: Other Versions1199559 +Node: Installation summary1206321 +Node: Notes1207523 +Node: Compatibility Mode1208388 +Node: Additions1209170 +Node: Accessing The Source1210095 +Node: Adding Code1211532 +Node: New Ports1217751 +Node: Derived Files1222239 +Ref: Derived Files-Footnote-11227885 +Ref: Derived Files-Footnote-21227920 +Ref: Derived Files-Footnote-31228518 +Node: Future Extensions1228632 +Node: Implementation Limitations1229290 +Node: Extension Design1230473 +Node: Old Extension Problems1231627 +Ref: Old Extension Problems-Footnote-11233145 +Node: Extension New Mechanism Goals1233202 +Ref: Extension New Mechanism Goals-Footnote-11236566 +Node: Extension Other Design Decisions1236755 +Node: Extension Future Growth1238868 +Node: Old Extension Mechanism1239704 +Node: Notes summary1241467 +Node: Basic Concepts1242649 +Node: Basic High Level1243330 +Ref: figure-general-flow1243612 +Ref: figure-process-flow1244297 +Ref: Basic High Level-Footnote-11247598 +Node: Basic Data Typing1247783 +Node: Glossary1251111 +Node: Copying1282949 +Node: GNU Free Documentation License1320492 +Node: Index1345612 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 8d5eb5b3..8484864b 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -64,7 +64,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH March, 2018 +@set UPDATE-MONTH May, 2018 @set VERSION 4.2 @set PATCHLEVEL 1 @@ -5808,7 +5808,7 @@ POSIX standard. @item @code{[:print:]} @tab Printable characters (characters that are not control characters) @item @code{[:punct:]} @tab Punctuation characters (characters that are not letters, digits, control characters, or space characters) -@item @code{[:space:]} @tab Space characters (such as space, TAB, and formfeed, to name a few) +@item @code{[:space:]} @tab Space characters (these are: space, TAB, newline, carriage return, formfeed and vertical tab) @item @code{[:upper:]} @tab Uppercase alphabetic characters @item @code{[:xdigit:]} @tab Characters that are hexadecimal digits @end multitable @@ -5833,6 +5833,13 @@ range of the ASCII character set. Use a complemented character list (@samp{[^\x00-\x7F]}) to match any single-byte characters that are not in the ASCII range. +@quotation NOTE +As of this writing (May 2018), Brian Kernighan's @command{awk} treats +@code{[:blank:]} like @code{[:space:]}, incorrectly matching +more characters than it should. We have submitted a patch to him, +and hope that this will be fixed. +@end quotation + @cindex bracket expressions, collating elements @cindex bracket expressions, non-ASCII @cindex collating elements diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 8dada2d2..4e674491 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -59,7 +59,7 @@ @c applies to and all the info about who's publishing this edition @c These apply across the board. -@set UPDATE-MONTH March, 2018 +@set UPDATE-MONTH May, 2018 @set VERSION 4.2 @set PATCHLEVEL 1 @@ -5635,7 +5635,7 @@ POSIX standard. @item @code{[:print:]} @tab Printable characters (characters that are not control characters) @item @code{[:punct:]} @tab Punctuation characters (characters that are not letters, digits, control characters, or space characters) -@item @code{[:space:]} @tab Space characters (such as space, TAB, and formfeed, to name a few) +@item @code{[:space:]} @tab Space characters (these are: space, TAB, newline, carriage return, formfeed and vertical tab) @item @code{[:upper:]} @tab Uppercase alphabetic characters @item @code{[:xdigit:]} @tab Characters that are hexadecimal digits @end multitable @@ -5660,6 +5660,13 @@ range of the ASCII character set. Use a complemented character list (@samp{[^\x00-\x7F]}) to match any single-byte characters that are not in the ASCII range. +@quotation NOTE +As of this writing (May 2018), Brian Kernighan's @command{awk} treats +@code{[:blank:]} like @code{[:space:]}, incorrectly matching +more characters than it should. We have submitted a patch to him, +and hope that this will be fixed. +@end quotation + @cindex bracket expressions, collating elements @cindex bracket expressions, non-ASCII @cindex collating elements |