diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2019-06-11 22:18:42 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2019-06-11 22:18:42 +0300 |
commit | a13ec1e8d8d78c2cfa3c66ca17fe020eff3c71f4 (patch) | |
tree | d7c8d62c5241db64be11366321c6079129a4c312 | |
parent | 991f2429a2319d355ee00586e4033f53dcc1b12d (diff) | |
parent | e43c786c285a0757b7db71cbc79a66e791829345 (diff) | |
download | egawk-a13ec1e8d8d78c2cfa3c66ca17fe020eff3c71f4.tar.gz egawk-a13ec1e8d8d78c2cfa3c66ca17fe020eff3c71f4.tar.bz2 egawk-a13ec1e8d8d78c2cfa3c66ca17fe020eff3c71f4.zip |
Merge branch 'gawk-5.0-stable'
-rw-r--r-- | doc/ChangeLog | 7 | ||||
-rw-r--r-- | doc/gawk.info | 1090 | ||||
-rw-r--r-- | doc/gawk.texi | 5 | ||||
-rw-r--r-- | doc/gawktexi.in | 5 |
4 files changed, 565 insertions, 542 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 57765d55..9fc9aafa 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,10 @@ +2019-06-11 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Regexp Operator Details): Add a paragraph + describing how unmatched left and right parentheses work. + Thanks to Neil Ormos <ormos-gnulists17@ormos.org> + for pointing out the need. + 2019-06-05 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Type Functions): Clarify isarray() and diff --git a/doc/gawk.info b/doc/gawk.info index 1bbd3292..cf0cab9d 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -3744,6 +3744,12 @@ sequences and that are not listed here stand for themselves: (These are Texinfo formatting control sequences. The '+' is explained further on in this list.) + The left or opening parenthesis is always a metacharacter; to match + one literally, precede it with a backslash. However, the right or + closing parenthesis is only special when paired with a left + parenthesis; an unpaired right parenthesis is (silently) treated as + a regular character. + '*' This symbol means that the preceding regular expression should be repeated as many times as necessary to find a match. For example, @@ -33635,7 +33641,7 @@ Index * * (asterisk), * operator, as multiplication operator: Precedence. (line 54) * * (asterisk), * operator, as regexp operator: Regexp Operator Details. - (line 85) + (line 91) * * (asterisk), * operator, null strings, matching: String Functions. (line 542) * * (asterisk), ** operator: Arithmetic Ops. (line 81) @@ -33652,7 +33658,7 @@ Index * + (plus sign), += operator: Assignment Ops. (line 81) * + (plus sign), += operator <1>: Precedence. (line 94) * + (plus sign), regexp operator: Regexp Operator Details. - (line 101) + (line 107) * , (comma), in range patterns: Ranges. (line 6) * - (hyphen), - operator: Precedence. (line 51) * - (hyphen), - operator <1>: Precedence. (line 57) @@ -33805,7 +33811,7 @@ Index * > (right angle bracket), >> operator (I/O) <1>: Precedence. (line 64) * ? (question mark), ?: operator: Precedence. (line 91) * ? (question mark), regexp operator: Regexp Operator Details. - (line 107) + (line 113) * ? (question mark), regexp operator <1>: GNU Regexp Operators. (line 62) * @-notation for indirect function calls: Indirect Calls. (line 47) @@ -34051,7 +34057,7 @@ Index * asterisk (*), * operator, as multiplication operator: Precedence. (line 54) * asterisk (*), * operator, as regexp operator: Regexp Operator Details. - (line 85) + (line 91) * asterisk (*), * operator, null strings, matching: String Functions. (line 542) * asterisk (*), ** operator: Arithmetic Ops. (line 81) @@ -35331,7 +35337,7 @@ Index * gawk, regular expressions, operators: GNU Regexp Operators. (line 6) * gawk, regular expressions, precedence: Regexp Operator Details. - (line 136) + (line 142) * gawk, RT variable in: awk split records. (line 131) * gawk, RT variable in <1>: gawk split records. (line 58) * gawk, RT variable in <2>: Multiple Line. (line 139) @@ -35575,7 +35581,7 @@ Index * interpreted programs: Basic High Level. (line 13) * interpreted programs <1>: Glossary. (line 443) * interval expressions, regexp operator: Regexp Operator Details. - (line 112) + (line 118) * inventory-shipped file: Sample Data Files. (line 32) * invoke shell command: I/O Functions. (line 106) * isarray: Type Functions. (line 11) @@ -36014,7 +36020,7 @@ Index * plus sign (+), += operator: Assignment Ops. (line 81) * plus sign (+), += operator <1>: Precedence. (line 94) * plus sign (+), regexp operator: Regexp Operator Details. - (line 101) + (line 107) * pointers to functions: Indirect Calls. (line 6) * portability: Escape Sequences. (line 103) * portability, #! (executable scripts): Executable Scripts. (line 33) @@ -36089,7 +36095,7 @@ Index (line 47) * POSIX awk, printf format strings and: Format Modifiers. (line 157) * POSIX awk, regular expressions and: Regexp Operator Details. - (line 136) + (line 142) * POSIX awk, timestamps and: Time Functions. (line 6) * POSIX awk, | I/O operator and: Getline/Pipe. (line 56) * POSIX mode: Options. (line 283) @@ -36102,7 +36108,7 @@ Index * precedence: Increment Ops. (line 60) * precedence <1>: Precedence. (line 6) * precedence, regexp operators: Regexp Operator Details. - (line 131) + (line 137) * predefined variables: Built-in Variables. (line 6) * predefined variables, -v option, setting with: Options. (line 45) * predefined variables, conveying information: Auto-set. (line 6) @@ -36203,7 +36209,7 @@ Index * Quanstrom, Erik: Alarm Program. (line 8) * question mark (?), ?: operator: Precedence. (line 91) * question mark (?), regexp operator: Regexp Operator Details. - (line 107) + (line 113) * question mark (?), regexp operator <1>: GNU Regexp Operators. (line 62) * QuikTrim Awk: Other Versions. (line 147) @@ -36308,7 +36314,7 @@ Index * regular expressions, operators, gawk: GNU Regexp Operators. (line 6) * regular expressions, operators, precedence of: Regexp Operator Details. - (line 131) + (line 137) * regular expressions, searching for: Egrep Program. (line 6) * relational operators, See comparison operators: Typing and Comparison. (line 9) @@ -36963,536 +36969,536 @@ Node: Regexp Usage160998 Node: Escape Sequences163035 Node: Regexp Operators169267 Node: Regexp Operator Details169752 -Ref: Regexp Operator Details-Footnote-1175874 -Node: Interval Expressions176021 -Ref: Interval Expressions-Footnote-1177456 -Node: Bracket Expressions177554 -Ref: table-char-classes180030 -Node: Leftmost Longest183356 -Node: Computed Regexps184659 -Node: GNU Regexp Operators188086 -Node: Case-sensitivity191765 -Ref: Case-sensitivity-Footnote-1194631 -Ref: Case-sensitivity-Footnote-2194866 -Node: Regexp Summary194974 -Node: Reading Files196440 -Node: Records198709 -Node: awk split records199784 -Node: gawk split records205059 -Ref: gawk split records-Footnote-1209645 -Node: Fields209682 -Node: Nonconstant Fields212423 -Ref: Nonconstant Fields-Footnote-1214659 -Node: Changing Fields214863 -Node: Field Separators220894 -Node: Default Field Splitting223592 -Node: Regexp Field Splitting224710 -Node: Single Character Fields228063 -Node: Command Line Field Separator229123 -Node: Full Line Fields232341 -Ref: Full Line Fields-Footnote-1233863 -Ref: Full Line Fields-Footnote-2233909 -Node: Field Splitting Summary234010 -Node: Constant Size236084 -Node: Fixed width data236816 -Node: Skipping intervening240283 -Node: Allowing trailing data241081 -Node: Fields with fixed data242118 -Node: Splitting By Content243636 -Ref: Splitting By Content-Footnote-1247286 -Node: Testing field creation247449 -Node: Multiple Line249074 -Node: Getline255351 -Node: Plain Getline257820 -Node: Getline/Variable260461 -Node: Getline/File261612 -Node: Getline/Variable/File263000 -Ref: Getline/Variable/File-Footnote-1264605 -Node: Getline/Pipe264693 -Node: Getline/Variable/Pipe267400 -Node: Getline/Coprocess268535 -Node: Getline/Variable/Coprocess269802 -Node: Getline Notes270544 -Node: Getline Summary273341 -Ref: table-getline-variants273765 -Node: Read Timeout274513 -Ref: Read Timeout-Footnote-1278419 -Node: Retrying Input278477 -Node: Command-line directories279676 -Node: Input Summary280582 -Node: Input Exercises283754 -Node: Printing284482 -Node: Print286316 -Node: Print Examples287773 -Node: Output Separators290553 -Node: OFMT292570 -Node: Printf293926 -Node: Basic Printf294711 -Node: Control Letters296285 -Node: Format Modifiers301449 -Node: Printf Examples307464 -Node: Redirection309950 -Node: Special FD316791 -Ref: Special FD-Footnote-1319959 -Node: Special Files320033 -Node: Other Inherited Files320650 -Node: Special Network321651 -Node: Special Caveats322511 -Node: Close Files And Pipes323460 -Ref: table-close-pipe-return-values330367 -Ref: Close Files And Pipes-Footnote-1331180 -Ref: Close Files And Pipes-Footnote-2331328 -Node: Nonfatal331480 -Node: Output Summary333818 -Node: Output Exercises335040 -Node: Expressions335719 -Node: Values336907 -Node: Constants337585 -Node: Scalar Constants338276 -Ref: Scalar Constants-Footnote-1340800 -Node: Nondecimal-numbers341050 -Node: Regexp Constants344051 -Node: Using Constant Regexps344577 -Node: Standard Regexp Constants345199 -Node: Strong Regexp Constants348387 -Node: Variables351345 -Node: Using Variables352002 -Node: Assignment Options353912 -Node: Conversion356379 -Node: Strings And Numbers356903 -Ref: Strings And Numbers-Footnote-1359966 -Node: Locale influences conversions360075 -Ref: table-locale-affects362833 -Node: All Operators363451 -Node: Arithmetic Ops364080 -Node: Concatenation366586 -Ref: Concatenation-Footnote-1369433 -Node: Assignment Ops369540 -Ref: table-assign-ops374531 -Node: Increment Ops375844 -Node: Truth Values and Conditions379304 -Node: Truth Values380378 -Node: Typing and Comparison381426 -Node: Variable Typing382246 -Ref: Variable Typing-Footnote-1388709 -Ref: Variable Typing-Footnote-2388781 -Node: Comparison Operators388858 -Ref: table-relational-ops389277 -Node: POSIX String Comparison392772 -Ref: POSIX String Comparison-Footnote-1394467 -Ref: POSIX String Comparison-Footnote-2394606 -Node: Boolean Ops394690 -Ref: Boolean Ops-Footnote-1399172 -Node: Conditional Exp399264 -Node: Function Calls401000 -Node: Precedence404877 -Node: Locales408536 -Node: Expressions Summary410168 -Node: Patterns and Actions412741 -Node: Pattern Overview413861 -Node: Regexp Patterns415538 -Node: Expression Patterns416080 -Node: Ranges419861 -Node: BEGIN/END422969 -Node: Using BEGIN/END423730 -Ref: Using BEGIN/END-Footnote-1426466 -Node: I/O And BEGIN/END426572 -Node: BEGINFILE/ENDFILE428886 -Node: Empty431799 -Node: Using Shell Variables432116 -Node: Action Overview434390 -Node: Statements436715 -Node: If Statement438563 -Node: While Statement440058 -Node: Do Statement442086 -Node: For Statement443234 -Node: Switch Statement446405 -Node: Break Statement448791 -Node: Continue Statement450883 -Node: Next Statement452710 -Node: Nextfile Statement455093 -Node: Exit Statement457745 -Node: Built-in Variables460148 -Node: User-modified461281 -Node: Auto-set469048 -Ref: Auto-set-Footnote-1485855 -Ref: Auto-set-Footnote-2486061 -Node: ARGC and ARGV486117 -Node: Pattern Action Summary490330 -Node: Arrays492760 -Node: Array Basics494089 -Node: Array Intro494933 -Ref: figure-array-elements496908 -Ref: Array Intro-Footnote-1499612 -Node: Reference to Elements499740 -Node: Assigning Elements502204 -Node: Array Example502695 -Node: Scanning an Array504454 -Node: Controlling Scanning507476 -Ref: Controlling Scanning-Footnote-1512875 -Node: Numeric Array Subscripts513191 -Node: Uninitialized Subscripts515375 -Node: Delete516994 -Ref: Delete-Footnote-1519746 -Node: Multidimensional519803 -Node: Multiscanning522898 -Node: Arrays of Arrays524489 -Node: Arrays Summary529257 -Node: Functions531350 -Node: Built-in532388 -Node: Calling Built-in533469 -Node: Numeric Functions535465 -Ref: Numeric Functions-Footnote-1539493 -Ref: Numeric Functions-Footnote-2540141 -Ref: Numeric Functions-Footnote-3540189 -Node: String Functions540461 -Ref: String Functions-Footnote-1564319 -Ref: String Functions-Footnote-2564447 -Ref: String Functions-Footnote-3564695 -Node: Gory Details564782 -Ref: table-sub-escapes566573 -Ref: table-sub-proposed568092 -Ref: table-posix-sub569455 -Ref: table-gensub-escapes570996 -Ref: Gory Details-Footnote-1571819 -Node: I/O Functions571973 -Ref: table-system-return-values578441 -Ref: I/O Functions-Footnote-1580521 -Ref: I/O Functions-Footnote-2580669 -Node: Time Functions580789 -Ref: Time Functions-Footnote-1591460 -Ref: Time Functions-Footnote-2591528 -Ref: Time Functions-Footnote-3591686 -Ref: Time Functions-Footnote-4591797 -Ref: Time Functions-Footnote-5591909 -Ref: Time Functions-Footnote-6592136 -Node: Bitwise Functions592402 -Ref: table-bitwise-ops592996 -Ref: Bitwise Functions-Footnote-1599059 -Ref: Bitwise Functions-Footnote-2599232 -Node: Type Functions599423 -Node: I18N Functions602286 -Node: User-defined603937 -Node: Definition Syntax604749 -Ref: Definition Syntax-Footnote-1610436 -Node: Function Example610507 -Ref: Function Example-Footnote-1613429 -Node: Function Calling613451 -Node: Calling A Function614039 -Node: Variable Scope614997 -Node: Pass By Value/Reference617991 -Node: Function Caveats620635 -Ref: Function Caveats-Footnote-1622682 -Node: Return Statement622802 -Node: Dynamic Typing625781 -Node: Indirect Calls626711 -Ref: Indirect Calls-Footnote-1636963 -Node: Functions Summary637091 -Node: Library Functions639796 -Ref: Library Functions-Footnote-1643403 -Ref: Library Functions-Footnote-2643546 -Node: Library Names643717 -Ref: Library Names-Footnote-1647384 -Ref: Library Names-Footnote-2647607 -Node: General Functions647693 -Node: Strtonum Function648796 -Node: Assert Function651818 -Node: Round Function655144 -Node: Cliff Random Function656684 -Node: Ordinal Functions657700 -Ref: Ordinal Functions-Footnote-1660763 -Ref: Ordinal Functions-Footnote-2661015 -Node: Join Function661225 -Ref: Join Function-Footnote-1662995 -Node: Getlocaltime Function663195 -Node: Readfile Function666937 -Node: Shell Quoting668914 -Node: Data File Management670315 -Node: Filetrans Function670947 -Node: Rewind Function675043 -Node: File Checking676952 -Ref: File Checking-Footnote-1678286 -Node: Empty Files678487 -Node: Ignoring Assigns680466 -Node: Getopt Function682016 -Ref: Getopt Function-Footnote-1693485 -Node: Passwd Functions693685 -Ref: Passwd Functions-Footnote-1702524 -Node: Group Functions702612 -Ref: Group Functions-Footnote-1710510 -Node: Walking Arrays710717 -Node: Library Functions Summary713725 -Node: Library Exercises715131 -Node: Sample Programs715596 -Node: Running Examples716366 -Node: Clones717094 -Node: Cut Program718318 -Node: Egrep Program728247 -Ref: Egrep Program-Footnote-1735759 -Node: Id Program735869 -Node: Split Program739549 -Ref: Split Program-Footnote-1743007 -Node: Tee Program743136 -Node: Uniq Program745926 -Node: Wc Program753547 -Ref: Wc Program-Footnote-1757802 -Node: Miscellaneous Programs757896 -Node: Dupword Program759109 -Node: Alarm Program761139 -Node: Translate Program765994 -Ref: Translate Program-Footnote-1770559 -Node: Labels Program770829 -Ref: Labels Program-Footnote-1774180 -Node: Word Sorting774264 -Node: History Sorting778336 -Node: Extract Program780171 -Node: Simple Sed788225 -Node: Igawk Program791299 -Ref: Igawk Program-Footnote-1805630 -Ref: Igawk Program-Footnote-2805832 -Ref: Igawk Program-Footnote-3805954 -Node: Anagram Program806069 -Node: Signature Program809131 -Node: Programs Summary810378 -Node: Programs Exercises811592 -Ref: Programs Exercises-Footnote-1815721 -Node: Advanced Features815812 -Node: Nondecimal Data817802 -Node: Array Sorting819393 -Node: Controlling Array Traversal820093 -Ref: Controlling Array Traversal-Footnote-1828461 -Node: Array Sorting Functions828579 -Ref: Array Sorting Functions-Footnote-1833670 -Node: Two-way I/O833866 -Ref: Two-way I/O-Footnote-1841587 -Ref: Two-way I/O-Footnote-2841774 -Node: TCP/IP Networking841856 -Node: Profiling844974 -Node: Advanced Features Summary853989 -Node: Internationalization855833 -Node: I18N and L10N857313 -Node: Explaining gettext858000 -Ref: Explaining gettext-Footnote-1863892 -Ref: Explaining gettext-Footnote-2864077 -Node: Programmer i18n864242 -Ref: Programmer i18n-Footnote-1869191 -Node: Translator i18n869240 -Node: String Extraction870034 -Ref: String Extraction-Footnote-1871166 -Node: Printf Ordering871252 -Ref: Printf Ordering-Footnote-1874038 -Node: I18N Portability874102 -Ref: I18N Portability-Footnote-1876558 -Node: I18N Example876621 -Ref: I18N Example-Footnote-1879896 -Ref: I18N Example-Footnote-2879969 -Node: Gawk I18N880078 -Node: I18N Summary880727 -Node: Debugger882068 -Node: Debugging883068 -Node: Debugging Concepts883509 -Node: Debugging Terms885318 -Node: Awk Debugging887893 -Ref: Awk Debugging-Footnote-1888838 -Node: Sample Debugging Session888970 -Node: Debugger Invocation889504 -Node: Finding The Bug890890 -Node: List of Debugger Commands897364 -Node: Breakpoint Control898697 -Node: Debugger Execution Control902391 -Node: Viewing And Changing Data905753 -Node: Execution Stack909294 -Node: Debugger Info910931 -Node: Miscellaneous Debugger Commands915002 -Node: Readline Support920064 -Node: Limitations920960 -Node: Debugging Summary923514 -Node: Namespaces924793 -Node: Global Namespace925872 -Node: Qualified Names927270 -Node: Default Namespace928269 -Node: Changing The Namespace929010 -Node: Naming Rules930624 -Node: Internal Name Management932472 -Node: Namespace Example933514 -Node: Namespace And Features936076 -Node: Namespace Summary937511 -Node: Arbitrary Precision Arithmetic938988 -Node: Computer Arithmetic940475 -Ref: table-numeric-ranges944241 -Ref: table-floating-point-ranges944734 -Ref: Computer Arithmetic-Footnote-1945392 -Node: Math Definitions945449 -Ref: table-ieee-formats948765 -Ref: Math Definitions-Footnote-1949368 -Node: MPFR features949473 -Node: FP Math Caution951191 -Ref: FP Math Caution-Footnote-1952263 -Node: Inexactness of computations952632 -Node: Inexact representation953592 -Node: Comparing FP Values954952 -Node: Errors accumulate956193 -Node: Getting Accuracy957626 -Node: Try To Round960336 -Node: Setting precision961235 -Ref: table-predefined-precision-strings961932 -Node: Setting the rounding mode963762 -Ref: table-gawk-rounding-modes964136 -Ref: Setting the rounding mode-Footnote-1968067 -Node: Arbitrary Precision Integers968246 -Ref: Arbitrary Precision Integers-Footnote-1971421 -Node: Checking for MPFR971570 -Node: POSIX Floating Point Problems973044 -Ref: POSIX Floating Point Problems-Footnote-1977329 -Node: Floating point summary977367 -Node: Dynamic Extensions979557 -Node: Extension Intro981110 -Node: Plugin License982376 -Node: Extension Mechanism Outline983173 -Ref: figure-load-extension983612 -Ref: figure-register-new-function985177 -Ref: figure-call-new-function986269 -Node: Extension API Description988331 -Node: Extension API Functions Introduction989973 -Ref: table-api-std-headers991809 -Node: General Data Types995674 -Ref: General Data Types-Footnote-11004035 -Node: Memory Allocation Functions1004334 -Ref: Memory Allocation Functions-Footnote-11008544 -Node: Constructor Functions1008643 -Node: Registration Functions1012229 -Node: Extension Functions1012914 -Node: Exit Callback Functions1018236 -Node: Extension Version String1019486 -Node: Input Parsers1020149 -Node: Output Wrappers1032870 -Node: Two-way processors1037382 -Node: Printing Messages1039647 -Ref: Printing Messages-Footnote-11040818 -Node: Updating ERRNO1040971 -Node: Requesting Values1041710 -Ref: table-value-types-returned1042447 -Node: Accessing Parameters1043383 -Node: Symbol Table Access1044618 -Node: Symbol table by name1045130 -Ref: Symbol table by name-Footnote-11048154 -Node: Symbol table by cookie1048282 -Ref: Symbol table by cookie-Footnote-11052467 -Node: Cached values1052531 -Ref: Cached values-Footnote-11056067 -Node: Array Manipulation1056220 -Ref: Array Manipulation-Footnote-11057311 -Node: Array Data Types1057348 -Ref: Array Data Types-Footnote-11060006 -Node: Array Functions1060098 -Node: Flattening Arrays1064596 -Node: Creating Arrays1071572 -Node: Redirection API1076339 -Node: Extension API Variables1079172 -Node: Extension Versioning1079883 -Ref: gawk-api-version1080312 -Node: Extension GMP/MPFR Versioning1082043 -Node: Extension API Informational Variables1083671 -Node: Extension API Boilerplate1084744 -Node: Changes from API V11088718 -Node: Finding Extensions1090290 -Node: Extension Example1090849 -Node: Internal File Description1091647 -Node: Internal File Ops1095727 -Ref: Internal File Ops-Footnote-11107077 -Node: Using Internal File Ops1107217 -Ref: Using Internal File Ops-Footnote-11109600 -Node: Extension Samples1109874 -Node: Extension Sample File Functions1111403 -Node: Extension Sample Fnmatch1119052 -Node: Extension Sample Fork1120539 -Node: Extension Sample Inplace1121757 -Node: Extension Sample Ord1125061 -Node: Extension Sample Readdir1125897 -Ref: table-readdir-file-types1126786 -Node: Extension Sample Revout1127591 -Node: Extension Sample Rev2way1128180 -Node: Extension Sample Read write array1128920 -Node: Extension Sample Readfile1130862 -Node: Extension Sample Time1131957 -Node: Extension Sample API Tests1133305 -Node: gawkextlib1133797 -Node: Extension summary1136715 -Node: Extension Exercises1140417 -Node: Language History1141659 -Node: V7/SVR3.11143315 -Node: SVR41145467 -Node: POSIX1146901 -Node: BTL1148281 -Node: POSIX/GNU1149010 -Node: Feature History1154788 -Node: Common Extensions1170834 -Node: Ranges and Locales1172117 -Ref: Ranges and Locales-Footnote-11176733 -Ref: Ranges and Locales-Footnote-21176760 -Ref: Ranges and Locales-Footnote-31176995 -Node: Contributors1177216 -Node: History summary1183169 -Node: Installation1184549 -Node: Gawk Distribution1185493 -Node: Getting1185977 -Node: Extracting1186940 -Node: Distribution contents1188578 -Node: Unix Installation1195058 -Node: Quick Installation1195740 -Node: Shell Startup Files1198154 -Node: Additional Configuration Options1199243 -Node: Configuration Philosophy1201558 -Node: Non-Unix Installation1203927 -Node: PC Installation1204387 -Node: PC Binary Installation1205225 -Node: PC Compiling1205660 -Node: PC Using1206777 -Node: Cygwin1210330 -Node: MSYS1211429 -Node: VMS Installation1211930 -Node: VMS Compilation1212721 -Ref: VMS Compilation-Footnote-11213950 -Node: VMS Dynamic Extensions1214008 -Node: VMS Installation Details1215693 -Node: VMS Running1217946 -Node: VMS GNV1222225 -Node: VMS Old Gawk1222960 -Node: Bugs1223431 -Node: Bug address1224094 -Node: Usenet1227076 -Node: Maintainers1228080 -Node: Other Versions1229341 -Node: Installation summary1236429 -Node: Notes1237631 -Node: Compatibility Mode1238425 -Node: Additions1239207 -Node: Accessing The Source1240132 -Node: Adding Code1241569 -Node: New Ports1247788 -Node: Derived Files1252163 -Ref: Derived Files-Footnote-11257823 -Ref: Derived Files-Footnote-21257858 -Ref: Derived Files-Footnote-31258456 -Node: Future Extensions1258570 -Node: Implementation Limitations1259228 -Node: Extension Design1260411 -Node: Old Extension Problems1261555 -Ref: Old Extension Problems-Footnote-11263073 -Node: Extension New Mechanism Goals1263130 -Ref: Extension New Mechanism Goals-Footnote-11266494 -Node: Extension Other Design Decisions1266683 -Node: Extension Future Growth1268796 -Node: Notes summary1269632 -Node: Basic Concepts1270790 -Node: Basic High Level1271471 -Ref: figure-general-flow1271753 -Ref: figure-process-flow1272438 -Ref: Basic High Level-Footnote-11275739 -Node: Basic Data Typing1275924 -Node: Glossary1279252 -Node: Copying1311090 -Node: GNU Free Documentation License1348633 -Node: Index1373753 +Ref: Regexp Operator Details-Footnote-1176184 +Node: Interval Expressions176331 +Ref: Interval Expressions-Footnote-1177766 +Node: Bracket Expressions177864 +Ref: table-char-classes180340 +Node: Leftmost Longest183666 +Node: Computed Regexps184969 +Node: GNU Regexp Operators188396 +Node: Case-sensitivity192075 +Ref: Case-sensitivity-Footnote-1194941 +Ref: Case-sensitivity-Footnote-2195176 +Node: Regexp Summary195284 +Node: Reading Files196750 +Node: Records199019 +Node: awk split records200094 +Node: gawk split records205369 +Ref: gawk split records-Footnote-1209955 +Node: Fields209992 +Node: Nonconstant Fields212733 +Ref: Nonconstant Fields-Footnote-1214969 +Node: Changing Fields215173 +Node: Field Separators221204 +Node: Default Field Splitting223902 +Node: Regexp Field Splitting225020 +Node: Single Character Fields228373 +Node: Command Line Field Separator229433 +Node: Full Line Fields232651 +Ref: Full Line Fields-Footnote-1234173 +Ref: Full Line Fields-Footnote-2234219 +Node: Field Splitting Summary234320 +Node: Constant Size236394 +Node: Fixed width data237126 +Node: Skipping intervening240593 +Node: Allowing trailing data241391 +Node: Fields with fixed data242428 +Node: Splitting By Content243946 +Ref: Splitting By Content-Footnote-1247596 +Node: Testing field creation247759 +Node: Multiple Line249384 +Node: Getline255661 +Node: Plain Getline258130 +Node: Getline/Variable260771 +Node: Getline/File261922 +Node: Getline/Variable/File263310 +Ref: Getline/Variable/File-Footnote-1264915 +Node: Getline/Pipe265003 +Node: Getline/Variable/Pipe267710 +Node: Getline/Coprocess268845 +Node: Getline/Variable/Coprocess270112 +Node: Getline Notes270854 +Node: Getline Summary273651 +Ref: table-getline-variants274075 +Node: Read Timeout274823 +Ref: Read Timeout-Footnote-1278729 +Node: Retrying Input278787 +Node: Command-line directories279986 +Node: Input Summary280892 +Node: Input Exercises284064 +Node: Printing284792 +Node: Print286626 +Node: Print Examples288083 +Node: Output Separators290863 +Node: OFMT292880 +Node: Printf294236 +Node: Basic Printf295021 +Node: Control Letters296595 +Node: Format Modifiers301759 +Node: Printf Examples307774 +Node: Redirection310260 +Node: Special FD317101 +Ref: Special FD-Footnote-1320269 +Node: Special Files320343 +Node: Other Inherited Files320960 +Node: Special Network321961 +Node: Special Caveats322821 +Node: Close Files And Pipes323770 +Ref: table-close-pipe-return-values330677 +Ref: Close Files And Pipes-Footnote-1331490 +Ref: Close Files And Pipes-Footnote-2331638 +Node: Nonfatal331790 +Node: Output Summary334128 +Node: Output Exercises335350 +Node: Expressions336029 +Node: Values337217 +Node: Constants337895 +Node: Scalar Constants338586 +Ref: Scalar Constants-Footnote-1341110 +Node: Nondecimal-numbers341360 +Node: Regexp Constants344361 +Node: Using Constant Regexps344887 +Node: Standard Regexp Constants345509 +Node: Strong Regexp Constants348697 +Node: Variables351655 +Node: Using Variables352312 +Node: Assignment Options354222 +Node: Conversion356689 +Node: Strings And Numbers357213 +Ref: Strings And Numbers-Footnote-1360276 +Node: Locale influences conversions360385 +Ref: table-locale-affects363143 +Node: All Operators363761 +Node: Arithmetic Ops364390 +Node: Concatenation366896 +Ref: Concatenation-Footnote-1369743 +Node: Assignment Ops369850 +Ref: table-assign-ops374841 +Node: Increment Ops376154 +Node: Truth Values and Conditions379614 +Node: Truth Values380688 +Node: Typing and Comparison381736 +Node: Variable Typing382556 +Ref: Variable Typing-Footnote-1389019 +Ref: Variable Typing-Footnote-2389091 +Node: Comparison Operators389168 +Ref: table-relational-ops389587 +Node: POSIX String Comparison393082 +Ref: POSIX String Comparison-Footnote-1394777 +Ref: POSIX String Comparison-Footnote-2394916 +Node: Boolean Ops395000 +Ref: Boolean Ops-Footnote-1399482 +Node: Conditional Exp399574 +Node: Function Calls401310 +Node: Precedence405187 +Node: Locales408846 +Node: Expressions Summary410478 +Node: Patterns and Actions413051 +Node: Pattern Overview414171 +Node: Regexp Patterns415848 +Node: Expression Patterns416390 +Node: Ranges420171 +Node: BEGIN/END423279 +Node: Using BEGIN/END424040 +Ref: Using BEGIN/END-Footnote-1426776 +Node: I/O And BEGIN/END426882 +Node: BEGINFILE/ENDFILE429196 +Node: Empty432109 +Node: Using Shell Variables432426 +Node: Action Overview434700 +Node: Statements437025 +Node: If Statement438873 +Node: While Statement440368 +Node: Do Statement442396 +Node: For Statement443544 +Node: Switch Statement446715 +Node: Break Statement449101 +Node: Continue Statement451193 +Node: Next Statement453020 +Node: Nextfile Statement455403 +Node: Exit Statement458055 +Node: Built-in Variables460458 +Node: User-modified461591 +Node: Auto-set469358 +Ref: Auto-set-Footnote-1486165 +Ref: Auto-set-Footnote-2486371 +Node: ARGC and ARGV486427 +Node: Pattern Action Summary490640 +Node: Arrays493070 +Node: Array Basics494399 +Node: Array Intro495243 +Ref: figure-array-elements497218 +Ref: Array Intro-Footnote-1499922 +Node: Reference to Elements500050 +Node: Assigning Elements502514 +Node: Array Example503005 +Node: Scanning an Array504764 +Node: Controlling Scanning507786 +Ref: Controlling Scanning-Footnote-1513185 +Node: Numeric Array Subscripts513501 +Node: Uninitialized Subscripts515685 +Node: Delete517304 +Ref: Delete-Footnote-1520056 +Node: Multidimensional520113 +Node: Multiscanning523208 +Node: Arrays of Arrays524799 +Node: Arrays Summary529567 +Node: Functions531660 +Node: Built-in532698 +Node: Calling Built-in533779 +Node: Numeric Functions535775 +Ref: Numeric Functions-Footnote-1539803 +Ref: Numeric Functions-Footnote-2540451 +Ref: Numeric Functions-Footnote-3540499 +Node: String Functions540771 +Ref: String Functions-Footnote-1564629 +Ref: String Functions-Footnote-2564757 +Ref: String Functions-Footnote-3565005 +Node: Gory Details565092 +Ref: table-sub-escapes566883 +Ref: table-sub-proposed568402 +Ref: table-posix-sub569765 +Ref: table-gensub-escapes571306 +Ref: Gory Details-Footnote-1572129 +Node: I/O Functions572283 +Ref: table-system-return-values578751 +Ref: I/O Functions-Footnote-1580831 +Ref: I/O Functions-Footnote-2580979 +Node: Time Functions581099 +Ref: Time Functions-Footnote-1591770 +Ref: Time Functions-Footnote-2591838 +Ref: Time Functions-Footnote-3591996 +Ref: Time Functions-Footnote-4592107 +Ref: Time Functions-Footnote-5592219 +Ref: Time Functions-Footnote-6592446 +Node: Bitwise Functions592712 +Ref: table-bitwise-ops593306 +Ref: Bitwise Functions-Footnote-1599369 +Ref: Bitwise Functions-Footnote-2599542 +Node: Type Functions599733 +Node: I18N Functions602596 +Node: User-defined604247 +Node: Definition Syntax605059 +Ref: Definition Syntax-Footnote-1610746 +Node: Function Example610817 +Ref: Function Example-Footnote-1613739 +Node: Function Calling613761 +Node: Calling A Function614349 +Node: Variable Scope615307 +Node: Pass By Value/Reference618301 +Node: Function Caveats620945 +Ref: Function Caveats-Footnote-1622992 +Node: Return Statement623112 +Node: Dynamic Typing626091 +Node: Indirect Calls627021 +Ref: Indirect Calls-Footnote-1637273 +Node: Functions Summary637401 +Node: Library Functions640106 +Ref: Library Functions-Footnote-1643713 +Ref: Library Functions-Footnote-2643856 +Node: Library Names644027 +Ref: Library Names-Footnote-1647694 +Ref: Library Names-Footnote-2647917 +Node: General Functions648003 +Node: Strtonum Function649106 +Node: Assert Function652128 +Node: Round Function655454 +Node: Cliff Random Function656994 +Node: Ordinal Functions658010 +Ref: Ordinal Functions-Footnote-1661073 +Ref: Ordinal Functions-Footnote-2661325 +Node: Join Function661535 +Ref: Join Function-Footnote-1663305 +Node: Getlocaltime Function663505 +Node: Readfile Function667247 +Node: Shell Quoting669224 +Node: Data File Management670625 +Node: Filetrans Function671257 +Node: Rewind Function675353 +Node: File Checking677262 +Ref: File Checking-Footnote-1678596 +Node: Empty Files678797 +Node: Ignoring Assigns680776 +Node: Getopt Function682326 +Ref: Getopt Function-Footnote-1693795 +Node: Passwd Functions693995 +Ref: Passwd Functions-Footnote-1702834 +Node: Group Functions702922 +Ref: Group Functions-Footnote-1710820 +Node: Walking Arrays711027 +Node: Library Functions Summary714035 +Node: Library Exercises715441 +Node: Sample Programs715906 +Node: Running Examples716676 +Node: Clones717404 +Node: Cut Program718628 +Node: Egrep Program728557 +Ref: Egrep Program-Footnote-1736069 +Node: Id Program736179 +Node: Split Program739859 +Ref: Split Program-Footnote-1743317 +Node: Tee Program743446 +Node: Uniq Program746236 +Node: Wc Program753857 +Ref: Wc Program-Footnote-1758112 +Node: Miscellaneous Programs758206 +Node: Dupword Program759419 +Node: Alarm Program761449 +Node: Translate Program766304 +Ref: Translate Program-Footnote-1770869 +Node: Labels Program771139 +Ref: Labels Program-Footnote-1774490 +Node: Word Sorting774574 +Node: History Sorting778646 +Node: Extract Program780481 +Node: Simple Sed788535 +Node: Igawk Program791609 +Ref: Igawk Program-Footnote-1805940 +Ref: Igawk Program-Footnote-2806142 +Ref: Igawk Program-Footnote-3806264 +Node: Anagram Program806379 +Node: Signature Program809441 +Node: Programs Summary810688 +Node: Programs Exercises811902 +Ref: Programs Exercises-Footnote-1816031 +Node: Advanced Features816122 +Node: Nondecimal Data818112 +Node: Array Sorting819703 +Node: Controlling Array Traversal820403 +Ref: Controlling Array Traversal-Footnote-1828771 +Node: Array Sorting Functions828889 +Ref: Array Sorting Functions-Footnote-1833980 +Node: Two-way I/O834176 +Ref: Two-way I/O-Footnote-1841897 +Ref: Two-way I/O-Footnote-2842084 +Node: TCP/IP Networking842166 +Node: Profiling845284 +Node: Advanced Features Summary854299 +Node: Internationalization856143 +Node: I18N and L10N857623 +Node: Explaining gettext858310 +Ref: Explaining gettext-Footnote-1864202 +Ref: Explaining gettext-Footnote-2864387 +Node: Programmer i18n864552 +Ref: Programmer i18n-Footnote-1869501 +Node: Translator i18n869550 +Node: String Extraction870344 +Ref: String Extraction-Footnote-1871476 +Node: Printf Ordering871562 +Ref: Printf Ordering-Footnote-1874348 +Node: I18N Portability874412 +Ref: I18N Portability-Footnote-1876868 +Node: I18N Example876931 +Ref: I18N Example-Footnote-1880206 +Ref: I18N Example-Footnote-2880279 +Node: Gawk I18N880388 +Node: I18N Summary881037 +Node: Debugger882378 +Node: Debugging883378 +Node: Debugging Concepts883819 +Node: Debugging Terms885628 +Node: Awk Debugging888203 +Ref: Awk Debugging-Footnote-1889148 +Node: Sample Debugging Session889280 +Node: Debugger Invocation889814 +Node: Finding The Bug891200 +Node: List of Debugger Commands897674 +Node: Breakpoint Control899007 +Node: Debugger Execution Control902701 +Node: Viewing And Changing Data906063 +Node: Execution Stack909604 +Node: Debugger Info911241 +Node: Miscellaneous Debugger Commands915312 +Node: Readline Support920374 +Node: Limitations921270 +Node: Debugging Summary923824 +Node: Namespaces925103 +Node: Global Namespace926182 +Node: Qualified Names927580 +Node: Default Namespace928579 +Node: Changing The Namespace929320 +Node: Naming Rules930934 +Node: Internal Name Management932782 +Node: Namespace Example933824 +Node: Namespace And Features936386 +Node: Namespace Summary937821 +Node: Arbitrary Precision Arithmetic939298 +Node: Computer Arithmetic940785 +Ref: table-numeric-ranges944551 +Ref: table-floating-point-ranges945044 +Ref: Computer Arithmetic-Footnote-1945702 +Node: Math Definitions945759 +Ref: table-ieee-formats949075 +Ref: Math Definitions-Footnote-1949678 +Node: MPFR features949783 +Node: FP Math Caution951501 +Ref: FP Math Caution-Footnote-1952573 +Node: Inexactness of computations952942 +Node: Inexact representation953902 +Node: Comparing FP Values955262 +Node: Errors accumulate956503 +Node: Getting Accuracy957936 +Node: Try To Round960646 +Node: Setting precision961545 +Ref: table-predefined-precision-strings962242 +Node: Setting the rounding mode964072 +Ref: table-gawk-rounding-modes964446 +Ref: Setting the rounding mode-Footnote-1968377 +Node: Arbitrary Precision Integers968556 +Ref: Arbitrary Precision Integers-Footnote-1971731 +Node: Checking for MPFR971880 +Node: POSIX Floating Point Problems973354 +Ref: POSIX Floating Point Problems-Footnote-1977639 +Node: Floating point summary977677 +Node: Dynamic Extensions979867 +Node: Extension Intro981420 +Node: Plugin License982686 +Node: Extension Mechanism Outline983483 +Ref: figure-load-extension983922 +Ref: figure-register-new-function985487 +Ref: figure-call-new-function986579 +Node: Extension API Description988641 +Node: Extension API Functions Introduction990283 +Ref: table-api-std-headers992119 +Node: General Data Types995984 +Ref: General Data Types-Footnote-11004345 +Node: Memory Allocation Functions1004644 +Ref: Memory Allocation Functions-Footnote-11008854 +Node: Constructor Functions1008953 +Node: Registration Functions1012539 +Node: Extension Functions1013224 +Node: Exit Callback Functions1018546 +Node: Extension Version String1019796 +Node: Input Parsers1020459 +Node: Output Wrappers1033180 +Node: Two-way processors1037692 +Node: Printing Messages1039957 +Ref: Printing Messages-Footnote-11041128 +Node: Updating ERRNO1041281 +Node: Requesting Values1042020 +Ref: table-value-types-returned1042757 +Node: Accessing Parameters1043693 +Node: Symbol Table Access1044928 +Node: Symbol table by name1045440 +Ref: Symbol table by name-Footnote-11048464 +Node: Symbol table by cookie1048592 +Ref: Symbol table by cookie-Footnote-11052777 +Node: Cached values1052841 +Ref: Cached values-Footnote-11056377 +Node: Array Manipulation1056530 +Ref: Array Manipulation-Footnote-11057621 +Node: Array Data Types1057658 +Ref: Array Data Types-Footnote-11060316 +Node: Array Functions1060408 +Node: Flattening Arrays1064906 +Node: Creating Arrays1071882 +Node: Redirection API1076649 +Node: Extension API Variables1079482 +Node: Extension Versioning1080193 +Ref: gawk-api-version1080622 +Node: Extension GMP/MPFR Versioning1082353 +Node: Extension API Informational Variables1083981 +Node: Extension API Boilerplate1085054 +Node: Changes from API V11089028 +Node: Finding Extensions1090600 +Node: Extension Example1091159 +Node: Internal File Description1091957 +Node: Internal File Ops1096037 +Ref: Internal File Ops-Footnote-11107387 +Node: Using Internal File Ops1107527 +Ref: Using Internal File Ops-Footnote-11109910 +Node: Extension Samples1110184 +Node: Extension Sample File Functions1111713 +Node: Extension Sample Fnmatch1119362 +Node: Extension Sample Fork1120849 +Node: Extension Sample Inplace1122067 +Node: Extension Sample Ord1125371 +Node: Extension Sample Readdir1126207 +Ref: table-readdir-file-types1127096 +Node: Extension Sample Revout1127901 +Node: Extension Sample Rev2way1128490 +Node: Extension Sample Read write array1129230 +Node: Extension Sample Readfile1131172 +Node: Extension Sample Time1132267 +Node: Extension Sample API Tests1133615 +Node: gawkextlib1134107 +Node: Extension summary1137025 +Node: Extension Exercises1140727 +Node: Language History1141969 +Node: V7/SVR3.11143625 +Node: SVR41145777 +Node: POSIX1147211 +Node: BTL1148591 +Node: POSIX/GNU1149320 +Node: Feature History1155098 +Node: Common Extensions1171144 +Node: Ranges and Locales1172427 +Ref: Ranges and Locales-Footnote-11177043 +Ref: Ranges and Locales-Footnote-21177070 +Ref: Ranges and Locales-Footnote-31177305 +Node: Contributors1177526 +Node: History summary1183479 +Node: Installation1184859 +Node: Gawk Distribution1185803 +Node: Getting1186287 +Node: Extracting1187250 +Node: Distribution contents1188888 +Node: Unix Installation1195368 +Node: Quick Installation1196050 +Node: Shell Startup Files1198464 +Node: Additional Configuration Options1199553 +Node: Configuration Philosophy1201868 +Node: Non-Unix Installation1204237 +Node: PC Installation1204697 +Node: PC Binary Installation1205535 +Node: PC Compiling1205970 +Node: PC Using1207087 +Node: Cygwin1210640 +Node: MSYS1211739 +Node: VMS Installation1212240 +Node: VMS Compilation1213031 +Ref: VMS Compilation-Footnote-11214260 +Node: VMS Dynamic Extensions1214318 +Node: VMS Installation Details1216003 +Node: VMS Running1218256 +Node: VMS GNV1222535 +Node: VMS Old Gawk1223270 +Node: Bugs1223741 +Node: Bug address1224404 +Node: Usenet1227386 +Node: Maintainers1228390 +Node: Other Versions1229651 +Node: Installation summary1236739 +Node: Notes1237941 +Node: Compatibility Mode1238735 +Node: Additions1239517 +Node: Accessing The Source1240442 +Node: Adding Code1241879 +Node: New Ports1248098 +Node: Derived Files1252473 +Ref: Derived Files-Footnote-11258133 +Ref: Derived Files-Footnote-21258168 +Ref: Derived Files-Footnote-31258766 +Node: Future Extensions1258880 +Node: Implementation Limitations1259538 +Node: Extension Design1260721 +Node: Old Extension Problems1261865 +Ref: Old Extension Problems-Footnote-11263383 +Node: Extension New Mechanism Goals1263440 +Ref: Extension New Mechanism Goals-Footnote-11266804 +Node: Extension Other Design Decisions1266993 +Node: Extension Future Growth1269106 +Node: Notes summary1269942 +Node: Basic Concepts1271100 +Node: Basic High Level1271781 +Ref: figure-general-flow1272063 +Ref: figure-process-flow1272748 +Ref: Basic High Level-Footnote-11276049 +Node: Basic Data Typing1276234 +Node: Glossary1279562 +Node: Copying1311400 +Node: GNU Free Documentation License1348943 +Node: Index1374063 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 1b248fc6..aef39200 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -5693,6 +5693,11 @@ containing the alternation operator, @samp{|}. For example, (These are Texinfo formatting control sequences. The @samp{+} is explained further on in this list.) +The left or opening parenthesis is always a metacharacter; to match +one literally, precede it with a backslash. However, the right or +closing parenthesis is only special when paired with a left parenthesis; +an unpaired right parenthesis is (silently) treated as a regular character. + @cindex @code{*} (asterisk), @code{*} operator, as regexp operator @cindex asterisk (@code{*}), @code{*} operator, as regexp operator @item @code{*} diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 38fa95e5..0aaff3e4 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -5520,6 +5520,11 @@ containing the alternation operator, @samp{|}. For example, (These are Texinfo formatting control sequences. The @samp{+} is explained further on in this list.) +The left or opening parenthesis is always a metacharacter; to match +one literally, precede it with a backslash. However, the right or +closing parenthesis is only special when paired with a left parenthesis; +an unpaired right parenthesis is (silently) treated as a regular character. + @cindex @code{*} (asterisk), @code{*} operator, as regexp operator @cindex asterisk (@code{*}), @code{*} operator, as regexp operator @item @code{*} |