diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2023-03-26 12:20:05 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2023-03-26 12:20:05 +0300 |
commit | 1bc73bfb10f0600aaccca7220b5200e220f9a71a (patch) | |
tree | 62ba99729f5ca63e2fe4e64ac1f7ebd201948f00 /doc | |
parent | 2076c201221a190786e554c12a322ecea46caee1 (diff) | |
parent | 3489f4036f91d11d8cff1fbcb8dc17f2012546a3 (diff) | |
download | gawk-1bc73bfb10f0600aaccca7220b5200e220f9a71a.tar.gz |
Merge branch 'feature/backslash-u'
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 6 | ||||
-rw-r--r-- | doc/awkcard.in | 3 | ||||
-rw-r--r-- | doc/gawk.info | 1172 | ||||
-rw-r--r-- | doc/gawk.texi | 23 | ||||
-rw-r--r-- | doc/gawktexi.in | 23 |
5 files changed, 650 insertions, 577 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index c9c346d2..4accab5d 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -2,6 +2,12 @@ * texinfo.tex: Sync from GNULIB. +2023-03-23 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Escape Sequences): Document \u. + (Feature History): Ditto. + * awkcard.in: Add \u to list of escape sequences. + 2023-03-09 Arnold D. Robbins <arnold@skeeve.com> * gawkworkflow.texi (UPDATE-MONTH, EDITION): Updated. diff --git a/doc/awkcard.in b/doc/awkcard.in index ff55c1b5..908a5329 100644 --- a/doc/awkcard.in +++ b/doc/awkcard.in @@ -972,7 +972,8 @@ lp8 lp8 lp8 lp8. \*(FC\ef\fP~form feed~\*(FC\ev\fP~vertical tab \*(FC\en\fP~newline~\*(FC\e\e\fP~backslash \*(FC\e\*(FIddd\*(FR~octal value \*(FIddd\fP~\*(CL\*(FC\ex\*(FIhh\*(FR~hex value \*(FIhh\fP\*(CD -\*(FC\e"\fP~double quote~\*(FC\e/\fP~forward slash\*(CX +\*(FC\e"\fP~double quote~\*(FC\e/\fP~forward slash +\*(CL\*(FC\eu\*(FIhh...\fR~unicode character\*(CX .TE .EB "\s+2\f(HBESCAPE SEQUENCES\*(FR\s0" .sp diff --git a/doc/gawk.info b/doc/gawk.info index 42c7ee5b..1cc523c5 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -3721,6 +3721,20 @@ sequences apply to both string constants and regexp constants: produced undefined results. As of version 4.2, only two digits are processed. +‘\uHH...’ + The hexadecimal value HH, where HH stands for a sequence of + hexadecimal digits (‘0’–‘9’, and either ‘A’–‘F’ or ‘a’–‘f’). A + maximum of eight digits are allowed after the ‘\u’. Any further + hexadecimal digits are treated as simple letters or numbers. + (c.e.) (The ‘\u’ escape sequence is not allowed in POSIX awk.) + + This escape sequence is intended for designating a character in the + Unicode character set. ‘gawk’ first converts the given digits into + an integer and then translates the given “wide character” value + into the current locale’s multibyte encoding (even if that is a not + a Unicode locale). If the given bytes do not represent a valid + character, the value becomes ‘"?"’. + ‘\/’ A literal slash (should be used for regexp constants only). This sequence is used when you want to write a regexp constant that @@ -30828,6 +30842,8 @@ unfortunately. It added the following features: • The ability to make ‘gawk’ buffer output to pipes (*note Noflush::). + • The ‘\u’ escape sequence (*note Escape Sequences::) + • The need for GNU ‘libsigsegv’ was removed from ‘gawk’. The value-add was never very much and it caused problems in some environments. @@ -36029,11 +36045,12 @@ Index * \ (backslash), \v escape sequence: Escape Sequences. (line 53) * \ (backslash), \NNN escape sequence: Escape Sequences. (line 56) * \ (backslash), \x escape sequence: Escape Sequences. (line 61) -* \ (backslash), \/ escape sequence: Escape Sequences. (line 76) -* \ (backslash), \" escape sequence: Escape Sequences. (line 85) -* \ (backslash), in escape sequences <1>: Escape Sequences. (line 103) +* \ (backslash), \u escape sequence: Escape Sequences. (line 76) +* \ (backslash), \/ escape sequence: Escape Sequences. (line 90) +* \ (backslash), \" escape sequence: Escape Sequences. (line 99) +* \ (backslash), in escape sequences <1>: Escape Sequences. (line 117) * \ (backslash), in escape sequences, POSIX and: Escape Sequences. - (line 108) + (line 122) * \ (backslash), regexp operator: Regexp Operator Details. (line 14) * \ (backslash), in bracket expressions: Bracket Expressions. (line 25) @@ -36402,11 +36419,12 @@ Index * backslash (\), \v escape sequence: Escape Sequences. (line 53) * backslash (\), \NNN escape sequence: Escape Sequences. (line 56) * backslash (\), \x escape sequence: Escape Sequences. (line 61) -* backslash (\), \/ escape sequence: Escape Sequences. (line 76) -* backslash (\), \" escape sequence: Escape Sequences. (line 85) -* backslash (\), in escape sequences <1>: Escape Sequences. (line 103) +* backslash (\), \u escape sequence: Escape Sequences. (line 76) +* backslash (\), \/ escape sequence: Escape Sequences. (line 90) +* backslash (\), \" escape sequence: Escape Sequences. (line 99) +* backslash (\), in escape sequences <1>: Escape Sequences. (line 117) * backslash (\), in escape sequences, POSIX and: Escape Sequences. - (line 108) + (line 122) * backslash (\), regexp operator: Regexp Operator Details. (line 14) * backslash (\), in bracket expressions: Bracket Expressions. (line 25) @@ -36537,7 +36555,7 @@ Index * Brennan, Michael <5>: Other Versions. (line 6) * Brennan, Michael <6>: Other Versions. (line 39) * Brian Kernighan’s awk: When. (line 21) -* Brian Kernighan’s awk <1>: Escape Sequences. (line 112) +* Brian Kernighan’s awk <1>: Escape Sequences. (line 126) * Brian Kernighan’s awk <2>: GNU Regexp Operators. (line 84) * Brian Kernighan’s awk <3>: gawk split records. (line 71) @@ -36692,6 +36710,7 @@ Index * commenting: Comments. (line 6) * commenting, backslash continuation and: Statements/Lines. (line 77) * common extensions, \x escape sequence: Escape Sequences. (line 61) +* common extensions, \u escape sequence: Escape Sequences. (line 76) * common extensions, RS as a regexp: gawk split records. (line 6) * common extensions, single character fields: Single Character Fields. (line 6) @@ -36811,7 +36830,7 @@ Index * dark corner, empty programs: Command Line. (line 20) * dark corner, escape sequences: Other Arguments. (line 46) * dark corner, escape sequences, for metacharacters: Escape Sequences. - (line 143) + (line 157) * dark corner, input files: awk split records. (line 104) * dark corner, strings, storing: gawk split records. (line 94) * dark corner, NF variable, decrementing: Changing Fields. (line 107) @@ -37375,6 +37394,7 @@ Index * extensions, loadable, loading, @load directive: Loading Shared Libraries. (line 8) * extensions, common, \x escape sequence: Escape Sequences. (line 61) +* extensions, common, \u escape sequence: Escape Sequences. (line 76) * extensions, common, RS as a regexp: gawk split records. (line 6) * extensions, common, single character fields: Single Character Fields. (line 6) @@ -37656,8 +37676,8 @@ Index * gawk, version of, printing information about: Options. (line 349) * gawk, ARGIND variable in: Other Arguments. (line 21) * gawk, PROCINFO array in: Other Arguments. (line 21) -* gawk, escape sequences: Escape Sequences. (line 120) -* gawk, escape sequences <1>: Escape Sequences. (line 120) +* gawk, escape sequences: Escape Sequences. (line 134) +* gawk, escape sequences <1>: Escape Sequences. (line 134) * gawk, regular expressions, precedence: Regexp Operator Details. (line 142) * gawk, interval expressions and: Interval Expressions. @@ -38173,7 +38193,7 @@ Index * matching, expressions: Typing and Comparison. (line 9) * matching, null strings: String Functions. (line 567) -* mawk utility: Escape Sequences. (line 120) +* mawk utility: Escape Sequences. (line 134) * mawk utility <1>: Getline/Pipe. (line 62) * mawk utility <2>: Concatenation. (line 36) * mawk utility <3>: Nextfile Statement. (line 47) @@ -38191,7 +38211,7 @@ Index * message object files, converting from portable object files: I18N Example. (line 80) * messages from extensions: Printing Messages. (line 6) -* metacharacters, escape sequences for: Escape Sequences. (line 139) +* metacharacters, escape sequences for: Escape Sequences. (line 153) * metacharacters, in regular expressions: Regexp Operators. (line 6) * minimum precision required by MPFR library: Auto-set. (line 279) * Minshall, Greg: Getopt Function. (line 105) @@ -38471,9 +38491,9 @@ Index * portability, ARGV variable: Executable Scripts. (line 55) * portability, backslash continuation and: Statements/Lines. (line 30) * portability, POSIXLY_CORRECT environment variable: Options. (line 416) -* portability: Escape Sequences. (line 103) +* portability: Escape Sequences. (line 117) * portability, backslash in escape sequences: Escape Sequences. - (line 108) + (line 122) * portability, data files as single record: gawk split records. (line 77) * portability, NF variable, decrementing: Changing Fields. (line 115) @@ -38512,7 +38532,7 @@ Index * POSIX awk: This Manual. (line 14) * POSIX awk, GNU long options and: Options. (line 15) * POSIX awk, backslashes in string constants: Escape Sequences. - (line 108) + (line 122) * POSIX awk, period (.), using: Regexp Operator Details. (line 47) * POSIX awk, regular expressions and: Regexp Operator Details. @@ -38965,9 +38985,9 @@ Index * sidebar, Quoting Shell Variables On The awk Command Line: Other Arguments. (line 71) * sidebar, Backslash Before Regular Characters: Escape Sequences. - (line 106) + (line 120) * sidebar, Escape Sequences for Metacharacters: Escape Sequences. - (line 137) + (line 151) * sidebar, What About The Empty Regexp?: Regexp Operator Details. (line 147) * sidebar, Using \n in Bracket Expressions of Dynamic Regexps: Computed Regexps. @@ -39227,7 +39247,7 @@ Index (line 102) * troubleshooting, --non-decimal-data option: Options. (line 255) * troubleshooting, backslash before nonspecial character: Escape Sequences. - (line 108) + (line 122) * troubleshooting, regexp constants vs. string constants: Computed Regexps. (line 40) * troubleshooting, awk uses FS not IFS: Field Separators. (line 30) @@ -39288,7 +39308,7 @@ Index * Unix, awk scripts and: Executable Scripts. (line 6) * Unix: Glossary. (line 747) * Unix awk, backslashes in escape sequences: Escape Sequences. - (line 120) + (line 134) * Unix awk, password files, field separators and: Command Line Field Separator. (line 62) * Unix awk, close() function and: Close Return Value. (line 6) @@ -39509,561 +39529,561 @@ Node: Invoking Summary168734 Node: Regexp171761 Node: Regexp Usage173255 Node: Escape Sequences175356 -Node: Regexp Operators181887 -Node: Regexp Operator Details182380 -Ref: Regexp Operator Details-Footnote-1190246 -Node: Interval Expressions190405 -Ref: Interval Expressions-Footnote-1192674 -Node: Bracket Expressions192774 -Ref: table-char-classes195334 -Node: Leftmost Longest198856 -Node: Computed Regexps200216 -Node: GNU Regexp Operators203739 -Node: Case-sensitivity207762 -Ref: Case-sensitivity-Footnote-1210719 -Ref: Case-sensitivity-Footnote-2210964 -Node: Regexp Summary211080 -Node: Reading Files212604 -Node: Records214921 -Node: awk split records216032 -Node: gawk split records220922 -Ref: gawk split records-Footnote-1226216 -Node: Fields226253 -Node: Nonconstant Fields229140 -Ref: Nonconstant Fields-Footnote-1231451 -Node: Changing Fields231667 -Node: Field Separators237975 -Node: Default Field Splitting240848 -Node: Regexp Field Splitting241991 -Node: Single Character Fields245820 -Node: Comma Separated Fields246909 -Ref: table-csv-examples248197 -Node: Command Line Field Separator249149 -Node: Full Line Fields252535 -Ref: Full Line Fields-Footnote-1254115 -Ref: Full Line Fields-Footnote-2254161 -Node: Field Splitting Summary254269 -Node: Constant Size256548 -Node: Fixed width data257292 -Node: Skipping intervening260811 -Node: Allowing trailing data261613 -Node: Fields with fixed data262678 -Node: Splitting By Content264304 -Ref: Splitting By Content-Footnote-1268489 -Node: More CSV268652 -Node: FS versus FPAT270305 -Node: Testing field creation271514 -Node: Multiple Line273207 -Node: Getline279689 -Node: Plain Getline282275 -Node: Getline/Variable284925 -Node: Getline/File286122 -Node: Getline/Variable/File287570 -Ref: Getline/Variable/File-Footnote-1289215 -Node: Getline/Pipe289311 -Node: Getline/Variable/Pipe292124 -Node: Getline/Coprocess293307 -Node: Getline/Variable/Coprocess294630 -Node: Getline Notes295396 -Node: Getline Summary298357 -Ref: table-getline-variants298801 -Node: Read Timeout299706 -Ref: Read Timeout-Footnote-1303670 -Node: Retrying Input303728 -Node: Command-line directories304995 -Node: Input Summary305933 -Node: Input Exercises309313 -Node: Printing309753 -Node: Print311696 -Node: Print Examples313202 -Node: Output Separators316055 -Node: OFMT318166 -Node: Printf319589 -Node: Basic Printf320394 -Node: Control Letters322030 -Node: Format Modifiers327499 -Node: Printf Examples333785 -Node: Redirection336330 -Node: Special FD343404 -Ref: Special FD-Footnote-1346694 -Node: Special Files346780 -Node: Other Inherited Files347409 -Node: Special Network348474 -Node: Special Caveats349362 -Node: Close Files And Pipes350345 -Ref: Close Files And Pipes-Footnote-1356481 -Node: Close Return Value356637 -Ref: table-close-pipe-return-values357912 -Ref: Close Return Value-Footnote-1358746 -Node: Noflush358902 -Node: Nonfatal360374 -Node: Output Summary362791 -Node: Output Exercises364077 -Node: Expressions364768 -Node: Values365970 -Node: Constants366648 -Node: Scalar Constants367345 -Ref: Scalar Constants-Footnote-1369920 -Node: Nondecimal-numbers370170 -Node: Regexp Constants373291 -Node: Using Constant Regexps373837 -Node: Standard Regexp Constants374483 -Node: Strong Regexp Constants377783 -Node: Variables381634 -Node: Using Variables382299 -Node: Assignment Options384279 -Node: Conversion386841 -Node: Strings And Numbers387373 -Ref: Strings And Numbers-Footnote-1390592 -Node: Locale influences conversions390701 -Ref: table-locale-affects393551 -Node: All Operators394194 -Node: Arithmetic Ops394835 -Node: Concatenation397665 -Ref: Concatenation-Footnote-1400615 -Node: Assignment Ops400738 -Ref: table-assign-ops405877 -Node: Increment Ops407259 -Node: Truth Values and Conditions410858 -Node: Truth Values411984 -Node: Typing and Comparison413075 -Node: Variable Typing413911 -Ref: Variable Typing-Footnote-1420573 -Ref: Variable Typing-Footnote-2420653 -Node: Comparison Operators420736 -Ref: table-relational-ops421163 -Node: POSIX String Comparison424849 -Ref: POSIX String Comparison-Footnote-1426608 -Ref: POSIX String Comparison-Footnote-2426751 -Node: Boolean Ops426835 -Ref: Boolean Ops-Footnote-1431528 -Node: Conditional Exp431624 -Node: Function Calls433410 -Node: Precedence437360 -Node: Locales441237 -Node: Expressions Summary442919 -Node: Patterns and Actions445582 -Node: Pattern Overview446724 -Node: Regexp Patterns448450 -Node: Expression Patterns448996 -Node: Ranges452905 -Node: BEGIN/END456083 -Node: Using BEGIN/END456896 -Ref: Using BEGIN/END-Footnote-1459806 -Node: I/O And BEGIN/END459916 -Node: BEGINFILE/ENDFILE462397 -Node: Empty465838 -Node: Using Shell Variables466155 -Node: Action Overview468493 -Node: Statements470928 -Node: If Statement472826 -Node: While Statement474395 -Node: Do Statement476483 -Node: For Statement477669 -Node: Switch Statement481026 -Node: Break Statement483577 -Node: Continue Statement485769 -Node: Next Statement487701 -Node: Nextfile Statement490198 -Node: Exit Statement493059 -Node: Built-in Variables495592 -Node: User-modified496771 -Node: Auto-set504982 -Ref: Auto-set-Footnote-1523081 -Ref: Auto-set-Footnote-2523299 -Node: ARGC and ARGV523355 -Node: Pattern Action Summary527794 -Node: Arrays530410 -Node: Array Basics531787 -Node: Array Intro532637 -Ref: figure-array-elements534653 -Ref: Array Intro-Footnote-1537522 -Node: Reference to Elements537654 -Node: Assigning Elements540176 -Node: Array Example540671 -Node: Scanning an Array542640 -Node: Controlling Scanning545737 -Ref: Controlling Scanning-Footnote-1552400 -Node: Numeric Array Subscripts552724 -Node: Uninitialized Subscripts554998 -Node: Delete556677 -Ref: Delete-Footnote-1559491 -Node: Multidimensional559548 -Node: Multiscanning562753 -Node: Arrays of Arrays564425 -Node: Arrays Summary569325 -Node: Functions571514 -Node: Built-in572574 -Node: Calling Built-in573763 -Node: Boolean Functions575810 -Node: Numeric Functions576380 -Ref: Numeric Functions-Footnote-1580573 -Ref: Numeric Functions-Footnote-2581257 -Ref: Numeric Functions-Footnote-3581309 -Node: String Functions581585 -Ref: String Functions-Footnote-1607721 -Ref: String Functions-Footnote-2607855 -Ref: String Functions-Footnote-3608115 -Node: Gory Details608202 -Ref: table-sub-escapes610109 -Ref: table-sub-proposed611755 -Ref: table-posix-sub613265 -Ref: table-gensub-escapes614953 -Ref: Gory Details-Footnote-1615887 -Node: I/O Functions616041 -Ref: table-system-return-values622728 -Ref: I/O Functions-Footnote-1624899 -Ref: I/O Functions-Footnote-2625047 -Node: Time Functions625167 -Ref: Time Functions-Footnote-1636323 -Ref: Time Functions-Footnote-2636399 -Ref: Time Functions-Footnote-3636561 -Ref: Time Functions-Footnote-4636672 -Ref: Time Functions-Footnote-5636790 -Ref: Time Functions-Footnote-6637025 -Node: Bitwise Functions637307 -Ref: table-bitwise-ops637909 -Ref: Bitwise Functions-Footnote-1644163 -Ref: Bitwise Functions-Footnote-2644342 -Node: Type Functions644539 -Node: I18N Functions648132 -Node: User-defined649875 -Node: Definition Syntax650695 -Ref: Definition Syntax-Footnote-1656523 -Node: Function Example656600 -Ref: Function Example-Footnote-1659579 -Node: Function Calling659601 -Node: Calling A Function660195 -Node: Variable Scope661165 -Node: Pass By Value/Reference664219 -Node: Function Caveats666951 -Ref: Function Caveats-Footnote-1669046 -Node: Return Statement669170 -Node: Dynamic Typing672225 -Node: Indirect Calls673181 -Node: Functions Summary684340 -Node: Library Functions687117 -Ref: Library Functions-Footnote-1690665 -Ref: Library Functions-Footnote-2690808 -Node: Library Names690983 -Ref: Library Names-Footnote-1694777 -Ref: Library Names-Footnote-2695004 -Node: General Functions695100 -Node: Strtonum Function696294 -Node: Assert Function699376 -Node: Round Function702828 -Node: Cliff Random Function704406 -Node: Ordinal Functions705439 -Ref: Ordinal Functions-Footnote-1708548 -Ref: Ordinal Functions-Footnote-2708800 -Node: Join Function709014 -Ref: Join Function-Footnote-1710817 -Node: Getlocaltime Function711021 -Node: Readfile Function714795 -Node: Shell Quoting716824 -Node: Isnumeric Function718280 -Node: Data File Management719692 -Node: Filetrans Function720324 -Node: Rewind Function724618 -Node: File Checking726597 -Ref: File Checking-Footnote-1727969 -Node: Empty Files728176 -Node: Ignoring Assigns730243 -Node: Getopt Function731817 -Ref: Getopt Function-Footnote-1747651 -Node: Passwd Functions747863 -Ref: Passwd Functions-Footnote-1757045 -Node: Group Functions757133 -Ref: Group Functions-Footnote-1765271 -Node: Walking Arrays765484 -Node: Library Functions Summary768532 -Node: Library Exercises769956 -Node: Sample Programs770443 -Node: Running Examples771225 -Node: Clones771977 -Node: Cut Program773249 -Node: Egrep Program783690 -Node: Id Program793007 -Node: Split Program803121 -Ref: Split Program-Footnote-1813356 -Node: Tee Program813543 -Node: Uniq Program816452 -Node: Wc Program824317 -Node: Bytes vs. Characters824712 -Node: Using extensions826314 -Node: wc program827094 -Node: Miscellaneous Programs832100 -Node: Dupword Program833329 -Node: Alarm Program835392 -Node: Translate Program840305 -Ref: Translate Program-Footnote-1845046 -Node: Labels Program845324 -Ref: Labels Program-Footnote-1848765 -Node: Word Sorting848857 -Node: History Sorting853051 -Node: Extract Program855326 -Node: Simple Sed863595 -Node: Igawk Program866811 -Ref: Igawk Program-Footnote-1882058 -Ref: Igawk Program-Footnote-2882264 -Ref: Igawk Program-Footnote-3882394 -Node: Anagram Program882521 -Node: Signature Program885617 -Node: Programs Summary886869 -Node: Programs Exercises888127 -Ref: Programs Exercises-Footnote-1892443 -Node: Advanced Features892529 -Node: Nondecimal Data895023 -Node: Boolean Typed Values896653 -Node: Array Sorting898628 -Node: Controlling Array Traversal899357 -Ref: Controlling Array Traversal-Footnote-1907864 -Node: Array Sorting Functions907986 -Ref: Array Sorting Functions-Footnote-1914105 -Node: Two-way I/O914313 -Ref: Two-way I/O-Footnote-1922308 -Ref: Two-way I/O-Footnote-2922499 -Node: TCP/IP Networking922581 -Node: Profiling925761 -Node: Persistent Memory935471 -Ref: Persistent Memory-Footnote-1944429 -Node: Extension Philosophy944560 -Node: Advanced Features Summary946095 -Node: Internationalization948365 -Node: I18N and L10N950071 -Node: Explaining gettext950766 -Ref: Explaining gettext-Footnote-1956919 -Ref: Explaining gettext-Footnote-2957114 -Node: Programmer i18n957279 -Ref: Programmer i18n-Footnote-1962392 -Node: Translator i18n962441 -Node: String Extraction963277 -Ref: String Extraction-Footnote-1964455 -Node: Printf Ordering964553 -Ref: Printf Ordering-Footnote-1967415 -Node: I18N Portability967483 -Ref: I18N Portability-Footnote-1970057 -Node: I18N Example970128 -Ref: I18N Example-Footnote-1973528 -Ref: I18N Example-Footnote-2973604 -Node: Gawk I18N973721 -Node: I18N Summary974377 -Node: Debugger975778 -Node: Debugging976802 -Node: Debugging Concepts977251 -Node: Debugging Terms979077 -Node: Awk Debugging981690 -Ref: Awk Debugging-Footnote-1982667 -Node: Sample Debugging Session982807 -Node: Debugger Invocation983359 -Node: Finding The Bug984988 -Node: List of Debugger Commands991674 -Node: Breakpoint Control993051 -Node: Debugger Execution Control996883 -Node: Viewing And Changing Data1000363 -Node: Execution Stack1004101 -Node: Debugger Info1005782 -Node: Miscellaneous Debugger Commands1010081 -Node: Readline Support1015334 -Node: Limitations1016280 -Node: Debugging Summary1018924 -Node: Namespaces1020227 -Node: Global Namespace1021354 -Node: Qualified Names1022799 -Node: Default Namespace1023834 -Node: Changing The Namespace1024609 -Node: Naming Rules1026303 -Node: Internal Name Management1028218 -Node: Namespace Example1029288 -Node: Namespace And Features1031871 -Node: Namespace Summary1033328 -Node: Arbitrary Precision Arithmetic1034841 -Node: Computer Arithmetic1036360 -Ref: table-numeric-ranges1040177 -Ref: table-floating-point-ranges1040675 -Ref: Computer Arithmetic-Footnote-11041334 -Node: Math Definitions1041393 -Ref: table-ieee-formats1044438 -Node: MPFR features1045012 -Node: MPFR On Parole1045465 -Ref: MPFR On Parole-Footnote-11046309 -Node: MPFR Intro1046468 -Node: FP Math Caution1048158 -Ref: FP Math Caution-Footnote-11049232 -Node: Inexactness of computations1049609 -Node: Inexact representation1050640 -Node: Comparing FP Values1052023 -Node: Errors accumulate1053281 -Node: Strange values1054748 -Ref: Strange values-Footnote-11057414 -Node: Getting Accuracy1057519 -Node: Try To Round1060256 -Node: Setting precision1061163 -Ref: table-predefined-precision-strings1061868 -Node: Setting the rounding mode1063753 -Ref: table-gawk-rounding-modes1064135 -Ref: Setting the rounding mode-Footnote-11068193 -Node: Arbitrary Precision Integers1068376 -Ref: Arbitrary Precision Integers-Footnote-11071588 -Node: Checking for MPFR1071744 -Node: POSIX Floating Point Problems1073234 -Ref: POSIX Floating Point Problems-Footnote-11078098 -Node: Floating point summary1078136 -Node: Dynamic Extensions1080400 -Node: Extension Intro1081999 -Node: Plugin License1083307 -Node: Extension Mechanism Outline1084120 -Ref: figure-load-extension1084571 -Ref: figure-register-new-function1086156 -Ref: figure-call-new-function1087266 -Node: Extension API Description1089390 -Node: Extension API Functions Introduction1091119 -Ref: table-api-std-headers1093017 -Node: General Data Types1097481 -Ref: General Data Types-Footnote-11106649 -Node: Memory Allocation Functions1106964 -Ref: Memory Allocation Functions-Footnote-11111689 -Node: Constructor Functions1111788 -Node: API Ownership of MPFR and GMP Values1115693 -Node: Registration Functions1117254 -Node: Extension Functions1117958 -Node: Exit Callback Functions1123534 -Node: Extension Version String1124853 -Node: Input Parsers1125548 -Node: Output Wrappers1140192 -Node: Two-way processors1145040 -Node: Printing Messages1147401 -Ref: Printing Messages-Footnote-11148615 -Node: Updating ERRNO1148770 -Node: Requesting Values1149569 -Ref: table-value-types-returned1150322 -Node: Accessing Parameters1151431 -Node: Symbol Table Access1152715 -Node: Symbol table by name1153231 -Ref: Symbol table by name-Footnote-11156442 -Node: Symbol table by cookie1156574 -Ref: Symbol table by cookie-Footnote-11160855 -Node: Cached values1160919 -Ref: Cached values-Footnote-11164563 -Node: Array Manipulation1164720 -Ref: Array Manipulation-Footnote-11165823 -Node: Array Data Types1165860 -Ref: Array Data Types-Footnote-11168682 -Node: Array Functions1168782 -Node: Flattening Arrays1173811 -Node: Creating Arrays1180863 -Node: Redirection API1185713 -Node: Extension API Variables1188734 -Node: Extension Versioning1189459 -Ref: gawk-api-version1189896 -Node: Extension GMP/MPFR Versioning1191684 -Node: Extension API Informational Variables1193390 -Node: Extension API Boilerplate1194551 -Node: Changes from API V11198687 -Node: Finding Extensions1200321 -Node: Extension Example1200896 -Node: Internal File Description1201720 -Node: Internal File Ops1206044 -Ref: Internal File Ops-Footnote-11217602 -Node: Using Internal File Ops1217750 -Ref: Using Internal File Ops-Footnote-11220181 -Node: Extension Samples1220459 -Node: Extension Sample File Functions1222028 -Node: Extension Sample Fnmatch1230166 -Node: Extension Sample Fork1231761 -Node: Extension Sample Inplace1233037 -Node: Extension Sample Ord1236709 -Node: Extension Sample Readdir1237585 -Ref: table-readdir-file-types1238482 -Node: Extension Sample Revout1239620 -Node: Extension Sample Rev2way1240217 -Node: Extension Sample Read write array1240969 -Node: Extension Sample Readfile1244243 -Node: Extension Sample Time1245374 -Node: Extension Sample API Tests1247664 -Node: gawkextlib1248172 -Node: Extension summary1251208 -Node: Extension Exercises1255066 -Node: Language History1256344 -Node: V7/SVR3.11258058 -Node: SVR41260408 -Node: POSIX1261940 -Node: BTL1263365 -Node: POSIX/GNU1264134 -Node: Feature History1270665 -Node: Common Extensions1290167 -Node: Ranges and Locales1291536 -Ref: Ranges and Locales-Footnote-11296337 -Ref: Ranges and Locales-Footnote-21296364 -Ref: Ranges and Locales-Footnote-31296603 -Node: Contributors1296826 -Node: History summary1303031 -Node: Installation1304477 -Node: Gawk Distribution1305441 -Node: Getting1305933 -Node: Extracting1306932 -Node: Distribution contents1308644 -Node: Unix Installation1316724 -Node: Quick Installation1317546 -Node: Compiling with MPFR1320092 -Node: Shell Startup Files1320798 -Node: Additional Configuration Options1321955 -Node: Configuration Philosophy1324342 -Node: Compiling from Git1326844 -Node: Building the Documentation1327403 -Node: Non-Unix Installation1328815 -Node: PC Installation1329291 -Node: PC Binary Installation1330164 -Node: PC Compiling1331069 -Node: PC Using1332247 -Node: Cygwin1335975 -Node: MSYS1337231 -Node: OpenVMS Installation1337863 -Node: OpenVMS Compilation1338544 -Ref: OpenVMS Compilation-Footnote-11340027 -Node: OpenVMS Dynamic Extensions1340089 -Node: OpenVMS Installation Details1341725 -Node: OpenVMS Running1344160 -Node: OpenVMS GNV1348297 -Node: Bugs1349052 -Node: Bug definition1349976 -Node: Bug address1353627 -Node: Usenet1357218 -Node: Performance bugs1358449 -Node: Asking for help1361467 -Node: Maintainers1363458 -Node: Other Versions1364485 -Node: Installation summary1373417 -Node: Notes1374801 -Node: Compatibility Mode1375611 -Node: Additions1376433 -Node: Accessing The Source1377378 -Node: Adding Code1378913 -Node: New Ports1386049 -Node: Derived Files1390559 -Ref: Derived Files-Footnote-11396406 -Ref: Derived Files-Footnote-21396441 -Ref: Derived Files-Footnote-31397058 -Node: Future Extensions1397172 -Node: Implementation Limitations1397844 -Node: Extension Design1399086 -Node: Old Extension Problems1400250 -Ref: Old Extension Problems-Footnote-11401826 -Node: Extension New Mechanism Goals1401887 -Ref: Extension New Mechanism Goals-Footnote-11405383 -Node: Extension Other Design Decisions1405584 -Node: Extension Future Growth1407783 -Node: Notes summary1408407 -Node: Basic Concepts1409620 -Node: Basic High Level1410305 -Ref: figure-general-flow1410587 -Ref: figure-process-flow1411294 -Ref: Basic High Level-Footnote-11414695 -Node: Basic Data Typing1414884 -Node: Glossary1418302 -Node: Copying1451424 -Node: GNU Free Documentation License1489185 -Node: Index1514508 +Node: Regexp Operators182692 +Node: Regexp Operator Details183185 +Ref: Regexp Operator Details-Footnote-1191051 +Node: Interval Expressions191210 +Ref: Interval Expressions-Footnote-1193479 +Node: Bracket Expressions193579 +Ref: table-char-classes196139 +Node: Leftmost Longest199661 +Node: Computed Regexps201021 +Node: GNU Regexp Operators204544 +Node: Case-sensitivity208567 +Ref: Case-sensitivity-Footnote-1211524 +Ref: Case-sensitivity-Footnote-2211769 +Node: Regexp Summary211885 +Node: Reading Files213409 +Node: Records215726 +Node: awk split records216837 +Node: gawk split records221727 +Ref: gawk split records-Footnote-1227021 +Node: Fields227058 +Node: Nonconstant Fields229945 +Ref: Nonconstant Fields-Footnote-1232256 +Node: Changing Fields232472 +Node: Field Separators238780 +Node: Default Field Splitting241653 +Node: Regexp Field Splitting242796 +Node: Single Character Fields246625 +Node: Comma Separated Fields247714 +Ref: table-csv-examples249002 +Node: Command Line Field Separator249954 +Node: Full Line Fields253340 +Ref: Full Line Fields-Footnote-1254920 +Ref: Full Line Fields-Footnote-2254966 +Node: Field Splitting Summary255074 +Node: Constant Size257353 +Node: Fixed width data258097 +Node: Skipping intervening261616 +Node: Allowing trailing data262418 +Node: Fields with fixed data263483 +Node: Splitting By Content265109 +Ref: Splitting By Content-Footnote-1269294 +Node: More CSV269457 +Node: FS versus FPAT271110 +Node: Testing field creation272319 +Node: Multiple Line274012 +Node: Getline280494 +Node: Plain Getline283080 +Node: Getline/Variable285730 +Node: Getline/File286927 +Node: Getline/Variable/File288375 +Ref: Getline/Variable/File-Footnote-1290020 +Node: Getline/Pipe290116 +Node: Getline/Variable/Pipe292929 +Node: Getline/Coprocess294112 +Node: Getline/Variable/Coprocess295435 +Node: Getline Notes296201 +Node: Getline Summary299162 +Ref: table-getline-variants299606 +Node: Read Timeout300511 +Ref: Read Timeout-Footnote-1304475 +Node: Retrying Input304533 +Node: Command-line directories305800 +Node: Input Summary306738 +Node: Input Exercises310118 +Node: Printing310558 +Node: Print312501 +Node: Print Examples314007 +Node: Output Separators316860 +Node: OFMT318971 +Node: Printf320394 +Node: Basic Printf321199 +Node: Control Letters322835 +Node: Format Modifiers328304 +Node: Printf Examples334590 +Node: Redirection337135 +Node: Special FD344209 +Ref: Special FD-Footnote-1347499 +Node: Special Files347585 +Node: Other Inherited Files348214 +Node: Special Network349279 +Node: Special Caveats350167 +Node: Close Files And Pipes351150 +Ref: Close Files And Pipes-Footnote-1357286 +Node: Close Return Value357442 +Ref: table-close-pipe-return-values358717 +Ref: Close Return Value-Footnote-1359551 +Node: Noflush359707 +Node: Nonfatal361179 +Node: Output Summary363596 +Node: Output Exercises364882 +Node: Expressions365573 +Node: Values366775 +Node: Constants367453 +Node: Scalar Constants368150 +Ref: Scalar Constants-Footnote-1370725 +Node: Nondecimal-numbers370975 +Node: Regexp Constants374096 +Node: Using Constant Regexps374642 +Node: Standard Regexp Constants375288 +Node: Strong Regexp Constants378588 +Node: Variables382439 +Node: Using Variables383104 +Node: Assignment Options385084 +Node: Conversion387646 +Node: Strings And Numbers388178 +Ref: Strings And Numbers-Footnote-1391397 +Node: Locale influences conversions391506 +Ref: table-locale-affects394356 +Node: All Operators394999 +Node: Arithmetic Ops395640 +Node: Concatenation398470 +Ref: Concatenation-Footnote-1401420 +Node: Assignment Ops401543 +Ref: table-assign-ops406682 +Node: Increment Ops408064 +Node: Truth Values and Conditions411663 +Node: Truth Values412789 +Node: Typing and Comparison413880 +Node: Variable Typing414716 +Ref: Variable Typing-Footnote-1421378 +Ref: Variable Typing-Footnote-2421458 +Node: Comparison Operators421541 +Ref: table-relational-ops421968 +Node: POSIX String Comparison425654 +Ref: POSIX String Comparison-Footnote-1427413 +Ref: POSIX String Comparison-Footnote-2427556 +Node: Boolean Ops427640 +Ref: Boolean Ops-Footnote-1432333 +Node: Conditional Exp432429 +Node: Function Calls434215 +Node: Precedence438165 +Node: Locales442042 +Node: Expressions Summary443724 +Node: Patterns and Actions446387 +Node: Pattern Overview447529 +Node: Regexp Patterns449255 +Node: Expression Patterns449801 +Node: Ranges453710 +Node: BEGIN/END456888 +Node: Using BEGIN/END457701 +Ref: Using BEGIN/END-Footnote-1460611 +Node: I/O And BEGIN/END460721 +Node: BEGINFILE/ENDFILE463202 +Node: Empty466643 +Node: Using Shell Variables466960 +Node: Action Overview469298 +Node: Statements471733 +Node: If Statement473631 +Node: While Statement475200 +Node: Do Statement477288 +Node: For Statement478474 +Node: Switch Statement481831 +Node: Break Statement484382 +Node: Continue Statement486574 +Node: Next Statement488506 +Node: Nextfile Statement491003 +Node: Exit Statement493864 +Node: Built-in Variables496397 +Node: User-modified497576 +Node: Auto-set505787 +Ref: Auto-set-Footnote-1523886 +Ref: Auto-set-Footnote-2524104 +Node: ARGC and ARGV524160 +Node: Pattern Action Summary528599 +Node: Arrays531215 +Node: Array Basics532592 +Node: Array Intro533442 +Ref: figure-array-elements535458 +Ref: Array Intro-Footnote-1538327 +Node: Reference to Elements538459 +Node: Assigning Elements540981 +Node: Array Example541476 +Node: Scanning an Array543445 +Node: Controlling Scanning546542 +Ref: Controlling Scanning-Footnote-1553205 +Node: Numeric Array Subscripts553529 +Node: Uninitialized Subscripts555803 +Node: Delete557482 +Ref: Delete-Footnote-1560296 +Node: Multidimensional560353 +Node: Multiscanning563558 +Node: Arrays of Arrays565230 +Node: Arrays Summary570130 +Node: Functions572319 +Node: Built-in573379 +Node: Calling Built-in574568 +Node: Boolean Functions576615 +Node: Numeric Functions577185 +Ref: Numeric Functions-Footnote-1581378 +Ref: Numeric Functions-Footnote-2582062 +Ref: Numeric Functions-Footnote-3582114 +Node: String Functions582390 +Ref: String Functions-Footnote-1608526 +Ref: String Functions-Footnote-2608660 +Ref: String Functions-Footnote-3608920 +Node: Gory Details609007 +Ref: table-sub-escapes610914 +Ref: table-sub-proposed612560 +Ref: table-posix-sub614070 +Ref: table-gensub-escapes615758 +Ref: Gory Details-Footnote-1616692 +Node: I/O Functions616846 +Ref: table-system-return-values623533 +Ref: I/O Functions-Footnote-1625704 +Ref: I/O Functions-Footnote-2625852 +Node: Time Functions625972 +Ref: Time Functions-Footnote-1637128 +Ref: Time Functions-Footnote-2637204 +Ref: Time Functions-Footnote-3637366 +Ref: Time Functions-Footnote-4637477 +Ref: Time Functions-Footnote-5637595 +Ref: Time Functions-Footnote-6637830 +Node: Bitwise Functions638112 +Ref: table-bitwise-ops638714 +Ref: Bitwise Functions-Footnote-1644968 +Ref: Bitwise Functions-Footnote-2645147 +Node: Type Functions645344 +Node: I18N Functions648937 +Node: User-defined650680 +Node: Definition Syntax651500 +Ref: Definition Syntax-Footnote-1657328 +Node: Function Example657405 +Ref: Function Example-Footnote-1660384 +Node: Function Calling660406 +Node: Calling A Function661000 +Node: Variable Scope661970 +Node: Pass By Value/Reference665024 +Node: Function Caveats667756 +Ref: Function Caveats-Footnote-1669851 +Node: Return Statement669975 +Node: Dynamic Typing673030 +Node: Indirect Calls673986 +Node: Functions Summary685145 +Node: Library Functions687922 +Ref: Library Functions-Footnote-1691470 +Ref: Library Functions-Footnote-2691613 +Node: Library Names691788 +Ref: Library Names-Footnote-1695582 +Ref: Library Names-Footnote-2695809 +Node: General Functions695905 +Node: Strtonum Function697099 +Node: Assert Function700181 +Node: Round Function703633 +Node: Cliff Random Function705211 +Node: Ordinal Functions706244 +Ref: Ordinal Functions-Footnote-1709353 +Ref: Ordinal Functions-Footnote-2709605 +Node: Join Function709819 +Ref: Join Function-Footnote-1711622 +Node: Getlocaltime Function711826 +Node: Readfile Function715600 +Node: Shell Quoting717629 +Node: Isnumeric Function719085 +Node: Data File Management720497 +Node: Filetrans Function721129 +Node: Rewind Function725423 +Node: File Checking727402 +Ref: File Checking-Footnote-1728774 +Node: Empty Files728981 +Node: Ignoring Assigns731048 +Node: Getopt Function732622 +Ref: Getopt Function-Footnote-1748456 +Node: Passwd Functions748668 +Ref: Passwd Functions-Footnote-1757850 +Node: Group Functions757938 +Ref: Group Functions-Footnote-1766076 +Node: Walking Arrays766289 +Node: Library Functions Summary769337 +Node: Library Exercises770761 +Node: Sample Programs771248 +Node: Running Examples772030 +Node: Clones772782 +Node: Cut Program774054 +Node: Egrep Program784495 +Node: Id Program793812 +Node: Split Program803926 +Ref: Split Program-Footnote-1814161 +Node: Tee Program814348 +Node: Uniq Program817257 +Node: Wc Program825122 +Node: Bytes vs. Characters825517 +Node: Using extensions827119 +Node: wc program827899 +Node: Miscellaneous Programs832905 +Node: Dupword Program834134 +Node: Alarm Program836197 +Node: Translate Program841110 +Ref: Translate Program-Footnote-1845851 +Node: Labels Program846129 +Ref: Labels Program-Footnote-1849570 +Node: Word Sorting849662 +Node: History Sorting853856 +Node: Extract Program856131 +Node: Simple Sed864400 +Node: Igawk Program867616 +Ref: Igawk Program-Footnote-1882863 +Ref: Igawk Program-Footnote-2883069 +Ref: Igawk Program-Footnote-3883199 +Node: Anagram Program883326 +Node: Signature Program886422 +Node: Programs Summary887674 +Node: Programs Exercises888932 +Ref: Programs Exercises-Footnote-1893248 +Node: Advanced Features893334 +Node: Nondecimal Data895828 +Node: Boolean Typed Values897458 +Node: Array Sorting899433 +Node: Controlling Array Traversal900162 +Ref: Controlling Array Traversal-Footnote-1908669 +Node: Array Sorting Functions908791 +Ref: Array Sorting Functions-Footnote-1914910 +Node: Two-way I/O915118 +Ref: Two-way I/O-Footnote-1923113 +Ref: Two-way I/O-Footnote-2923304 +Node: TCP/IP Networking923386 +Node: Profiling926566 +Node: Persistent Memory936276 +Ref: Persistent Memory-Footnote-1945234 +Node: Extension Philosophy945365 +Node: Advanced Features Summary946900 +Node: Internationalization949170 +Node: I18N and L10N950876 +Node: Explaining gettext951571 +Ref: Explaining gettext-Footnote-1957724 +Ref: Explaining gettext-Footnote-2957919 +Node: Programmer i18n958084 +Ref: Programmer i18n-Footnote-1963197 +Node: Translator i18n963246 +Node: String Extraction964082 +Ref: String Extraction-Footnote-1965260 +Node: Printf Ordering965358 +Ref: Printf Ordering-Footnote-1968220 +Node: I18N Portability968288 +Ref: I18N Portability-Footnote-1970862 +Node: I18N Example970933 +Ref: I18N Example-Footnote-1974333 +Ref: I18N Example-Footnote-2974409 +Node: Gawk I18N974526 +Node: I18N Summary975182 +Node: Debugger976583 +Node: Debugging977607 +Node: Debugging Concepts978056 +Node: Debugging Terms979882 +Node: Awk Debugging982495 +Ref: Awk Debugging-Footnote-1983472 +Node: Sample Debugging Session983612 +Node: Debugger Invocation984164 +Node: Finding The Bug985793 +Node: List of Debugger Commands992479 +Node: Breakpoint Control993856 +Node: Debugger Execution Control997688 +Node: Viewing And Changing Data1001168 +Node: Execution Stack1004906 +Node: Debugger Info1006587 +Node: Miscellaneous Debugger Commands1010886 +Node: Readline Support1016139 +Node: Limitations1017085 +Node: Debugging Summary1019729 +Node: Namespaces1021032 +Node: Global Namespace1022159 +Node: Qualified Names1023604 +Node: Default Namespace1024639 +Node: Changing The Namespace1025414 +Node: Naming Rules1027108 +Node: Internal Name Management1029023 +Node: Namespace Example1030093 +Node: Namespace And Features1032676 +Node: Namespace Summary1034133 +Node: Arbitrary Precision Arithmetic1035646 +Node: Computer Arithmetic1037165 +Ref: table-numeric-ranges1040982 +Ref: table-floating-point-ranges1041480 +Ref: Computer Arithmetic-Footnote-11042139 +Node: Math Definitions1042198 +Ref: table-ieee-formats1045243 +Node: MPFR features1045817 +Node: MPFR On Parole1046270 +Ref: MPFR On Parole-Footnote-11047114 +Node: MPFR Intro1047273 +Node: FP Math Caution1048963 +Ref: FP Math Caution-Footnote-11050037 +Node: Inexactness of computations1050414 +Node: Inexact representation1051445 +Node: Comparing FP Values1052828 +Node: Errors accumulate1054086 +Node: Strange values1055553 +Ref: Strange values-Footnote-11058219 +Node: Getting Accuracy1058324 +Node: Try To Round1061061 +Node: Setting precision1061968 +Ref: table-predefined-precision-strings1062673 +Node: Setting the rounding mode1064558 +Ref: table-gawk-rounding-modes1064940 +Ref: Setting the rounding mode-Footnote-11068998 +Node: Arbitrary Precision Integers1069181 +Ref: Arbitrary Precision Integers-Footnote-11072393 +Node: Checking for MPFR1072549 +Node: POSIX Floating Point Problems1074039 +Ref: POSIX Floating Point Problems-Footnote-11078903 +Node: Floating point summary1078941 +Node: Dynamic Extensions1081205 +Node: Extension Intro1082804 +Node: Plugin License1084112 +Node: Extension Mechanism Outline1084925 +Ref: figure-load-extension1085376 +Ref: figure-register-new-function1086961 +Ref: figure-call-new-function1088071 +Node: Extension API Description1090195 +Node: Extension API Functions Introduction1091924 +Ref: table-api-std-headers1093822 +Node: General Data Types1098286 +Ref: General Data Types-Footnote-11107454 +Node: Memory Allocation Functions1107769 +Ref: Memory Allocation Functions-Footnote-11112494 +Node: Constructor Functions1112593 +Node: API Ownership of MPFR and GMP Values1116498 +Node: Registration Functions1118059 +Node: Extension Functions1118763 +Node: Exit Callback Functions1124339 +Node: Extension Version String1125658 +Node: Input Parsers1126353 +Node: Output Wrappers1140997 +Node: Two-way processors1145845 +Node: Printing Messages1148206 +Ref: Printing Messages-Footnote-11149420 +Node: Updating ERRNO1149575 +Node: Requesting Values1150374 +Ref: table-value-types-returned1151127 +Node: Accessing Parameters1152236 +Node: Symbol Table Access1153520 +Node: Symbol table by name1154036 +Ref: Symbol table by name-Footnote-11157247 +Node: Symbol table by cookie1157379 +Ref: Symbol table by cookie-Footnote-11161660 +Node: Cached values1161724 +Ref: Cached values-Footnote-11165368 +Node: Array Manipulation1165525 +Ref: Array Manipulation-Footnote-11166628 +Node: Array Data Types1166665 +Ref: Array Data Types-Footnote-11169487 +Node: Array Functions1169587 +Node: Flattening Arrays1174616 +Node: Creating Arrays1181668 +Node: Redirection API1186518 +Node: Extension API Variables1189539 +Node: Extension Versioning1190264 +Ref: gawk-api-version1190701 +Node: Extension GMP/MPFR Versioning1192489 +Node: Extension API Informational Variables1194195 +Node: Extension API Boilerplate1195356 +Node: Changes from API V11199492 +Node: Finding Extensions1201126 +Node: Extension Example1201701 +Node: Internal File Description1202525 +Node: Internal File Ops1206849 +Ref: Internal File Ops-Footnote-11218407 +Node: Using Internal File Ops1218555 +Ref: Using Internal File Ops-Footnote-11220986 +Node: Extension Samples1221264 +Node: Extension Sample File Functions1222833 +Node: Extension Sample Fnmatch1230971 +Node: Extension Sample Fork1232566 +Node: Extension Sample Inplace1233842 +Node: Extension Sample Ord1237514 +Node: Extension Sample Readdir1238390 +Ref: table-readdir-file-types1239287 +Node: Extension Sample Revout1240425 +Node: Extension Sample Rev2way1241022 +Node: Extension Sample Read write array1241774 +Node: Extension Sample Readfile1245048 +Node: Extension Sample Time1246179 +Node: Extension Sample API Tests1248469 +Node: gawkextlib1248977 +Node: Extension summary1252013 +Node: Extension Exercises1255871 +Node: Language History1257149 +Node: V7/SVR3.11258863 +Node: SVR41261213 +Node: POSIX1262745 +Node: BTL1264170 +Node: POSIX/GNU1264939 +Node: Feature History1271470 +Node: Common Extensions1291036 +Node: Ranges and Locales1292405 +Ref: Ranges and Locales-Footnote-11297206 +Ref: Ranges and Locales-Footnote-21297233 +Ref: Ranges and Locales-Footnote-31297472 +Node: Contributors1297695 +Node: History summary1303900 +Node: Installation1305346 +Node: Gawk Distribution1306310 +Node: Getting1306802 +Node: Extracting1307801 +Node: Distribution contents1309513 +Node: Unix Installation1317593 +Node: Quick Installation1318415 +Node: Compiling with MPFR1320961 +Node: Shell Startup Files1321667 +Node: Additional Configuration Options1322824 +Node: Configuration Philosophy1325211 +Node: Compiling from Git1327713 +Node: Building the Documentation1328272 +Node: Non-Unix Installation1329684 +Node: PC Installation1330160 +Node: PC Binary Installation1331033 +Node: PC Compiling1331938 +Node: PC Using1333116 +Node: Cygwin1336844 +Node: MSYS1338100 +Node: OpenVMS Installation1338732 +Node: OpenVMS Compilation1339413 +Ref: OpenVMS Compilation-Footnote-11340896 +Node: OpenVMS Dynamic Extensions1340958 +Node: OpenVMS Installation Details1342594 +Node: OpenVMS Running1345029 +Node: OpenVMS GNV1349166 +Node: Bugs1349921 +Node: Bug definition1350845 +Node: Bug address1354496 +Node: Usenet1358087 +Node: Performance bugs1359318 +Node: Asking for help1362336 +Node: Maintainers1364327 +Node: Other Versions1365354 +Node: Installation summary1374286 +Node: Notes1375670 +Node: Compatibility Mode1376480 +Node: Additions1377302 +Node: Accessing The Source1378247 +Node: Adding Code1379782 +Node: New Ports1386918 +Node: Derived Files1391428 +Ref: Derived Files-Footnote-11397275 +Ref: Derived Files-Footnote-21397310 +Ref: Derived Files-Footnote-31397927 +Node: Future Extensions1398041 +Node: Implementation Limitations1398713 +Node: Extension Design1399955 +Node: Old Extension Problems1401119 +Ref: Old Extension Problems-Footnote-11402695 +Node: Extension New Mechanism Goals1402756 +Ref: Extension New Mechanism Goals-Footnote-11406252 +Node: Extension Other Design Decisions1406453 +Node: Extension Future Growth1408652 +Node: Notes summary1409276 +Node: Basic Concepts1410489 +Node: Basic High Level1411174 +Ref: figure-general-flow1411456 +Ref: figure-process-flow1412163 +Ref: Basic High Level-Footnote-11415564 +Node: Basic Data Typing1415753 +Node: Glossary1419171 +Node: Copying1452293 +Node: GNU Free Documentation License1490054 +Node: Index1515377 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 72b13d86..f1a9d79c 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -5691,6 +5691,25 @@ As of @value{PVERSION} 4.2, only two digits are processed. @end quotation +@cindex @code{\} (backslash) @subentry @code{\u} escape sequence +@cindex backslash (@code{\}) @subentry @code{\u} escape sequence +@cindex common extensions @subentry @code{\u} escape sequence +@cindex extensions @subentry common @subentry @code{\u} escape sequence +@item \u@var{hh}@dots{} +The hexadecimal value @var{hh}, where @var{hh} stands for a sequence +of hexadecimal digits (@samp{0}--@samp{9}, and either @samp{A}--@samp{F} +or @samp{a}--@samp{f}). A maximum of eight digits are allowed after +the @samp{\u}. Any further hexadecimal digits are treated as simple +letters or numbers. @value{COMMONEXT} +(The @samp{\u} escape sequence is not allowed in POSIX awk.) + +This escape sequence is intended for designating a character in the +Unicode character set. @command{gawk} first converts the given digits +into an integer and then translates the given ``wide character'' +value into the current locale's multibyte encoding (even if that +is a not a Unicode locale). If the given bytes do not represent +a valid character, the value becomes @code{"?"}. + @cindex @code{\} (backslash) @subentry @code{\/} escape sequence @cindex backslash (@code{\}) @subentry @code{\/} escape sequence @item \/ @@ -42245,6 +42264,10 @@ The ability to make @command{gawk} buffer output to pipes (@pxref{Noflush}). @item +The @samp{\u} escape sequence +(@pxref{Escape Sequences}) + +@item The need for GNU @code{libsigsegv} was removed from @command{gawk}. The value-add was never very much and it caused problems in some environments. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 5c0f7387..eae07b96 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -5557,6 +5557,25 @@ As of @value{PVERSION} 4.2, only two digits are processed. @end quotation +@cindex @code{\} (backslash) @subentry @code{\u} escape sequence +@cindex backslash (@code{\}) @subentry @code{\u} escape sequence +@cindex common extensions @subentry @code{\u} escape sequence +@cindex extensions @subentry common @subentry @code{\u} escape sequence +@item \u@var{hh}@dots{} +The hexadecimal value @var{hh}, where @var{hh} stands for a sequence +of hexadecimal digits (@samp{0}--@samp{9}, and either @samp{A}--@samp{F} +or @samp{a}--@samp{f}). A maximum of eight digits are allowed after +the @samp{\u}. Any further hexadecimal digits are treated as simple +letters or numbers. @value{COMMONEXT} +(The @samp{\u} escape sequence is not allowed in POSIX awk.) + +This escape sequence is intended for designating a character in the +Unicode character set. @command{gawk} first converts the given digits +into an integer and then translates the given ``wide character'' +value into the current locale's multibyte encoding (even if that +is a not a Unicode locale). If the given bytes do not represent +a valid character, the value becomes @code{"?"}. + @cindex @code{\} (backslash) @subentry @code{\/} escape sequence @cindex backslash (@code{\}) @subentry @code{\/} escape sequence @item \/ @@ -41161,6 +41180,10 @@ The ability to make @command{gawk} buffer output to pipes (@pxref{Noflush}). @item +The @samp{\u} escape sequence +(@pxref{Escape Sequences}) + +@item The need for GNU @code{libsigsegv} was removed from @command{gawk}. The value-add was never very much and it caused problems in some environments. |