summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-02-20 21:07:13 +0200
committerArnold D. Robbins <arnold@skeeve.com>2016-02-20 21:07:13 +0200
commit090687d94ad8a411c5e2cc434345e843ad381082 (patch)
tree36f02d720c26513123b9c77c1540765af4b98dd7
parent7744707de0e95e1e0009204a7d4886d69db24530 (diff)
downloadgawk-090687d94ad8a411c5e2cc434345e843ad381082.tar.gz
Doc update: Unicode in bracket expresssions.
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.info1032
-rw-r--r--doc/gawk.texi9
-rw-r--r--doc/gawktexi.in9
4 files changed, 543 insertions, 512 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index d368c606..bf5f47f2 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexilin (Bracket Expressions): Add a small note about
+ Unicode in bracket expressions.
+
2016-02-18 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Fixes in wc.awk and in cut.awk. Thanks to David Ward,
diff --git a/doc/gawk.info b/doc/gawk.info
index 94516fd9..b5b45471 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -3718,6 +3718,14 @@ character set. For example, '[0-9]' is equivalent to '[0123456789]'.
standard and 'gawk' have changed over time. This is mainly of
historical interest.)
+ With the increasing popularity of the Unicode character standard
+(http://www.unicode.org), there is an additional wrinkle to consider.
+Octal and hexadecimal escape sequences inside bracket expressions are
+taken to represent only single-byte characters (characters whose values
+fit within the range 0-256). To match a range of characters where the
+endpoints of the range are larger than 256, enter the multibyte
+encodings of the characters directly.
+
To include one of the characters '\', ']', '-', or '^' in a bracket
expression, put a '\' in front of it. For example:
@@ -31581,7 +31589,7 @@ Index
* - (hyphen), -= operator: Assignment Ops. (line 129)
* - (hyphen), -= operator <1>: Precedence. (line 94)
* - (hyphen), filenames beginning with: Options. (line 60)
-* - (hyphen), in bracket expressions: Bracket Expressions. (line 17)
+* - (hyphen), in bracket expressions: Bracket Expressions. (line 25)
* --assign option: Options. (line 32)
* --bignum option: Options. (line 203)
* --characters-as-bytes option: Options. (line 69)
@@ -31734,7 +31742,7 @@ Index
(line 43)
* \ (backslash), gsub()/gensub()/sub() functions and: Gory Details.
(line 6)
-* \ (backslash), in bracket expressions: Bracket Expressions. (line 17)
+* \ (backslash), in bracket expressions: Bracket Expressions. (line 25)
* \ (backslash), in escape sequences: Escape Sequences. (line 6)
* \ (backslash), in escape sequences <1>: Escape Sequences. (line 100)
* \ (backslash), in escape sequences, POSIX and: Escape Sequences.
@@ -31773,7 +31781,7 @@ Index
(line 41)
* \ (backslash), \` operator (gawk): GNU Regexp Operators.
(line 57)
-* ^ (caret), in bracket expressions: Bracket Expressions. (line 17)
+* ^ (caret), in bracket expressions: Bracket Expressions. (line 25)
* ^ (caret), in FS: Regexp Field Splitting.
(line 59)
* ^ (caret), regexp operator: Regexp Operators. (line 22)
@@ -32031,7 +32039,7 @@ Index
(line 43)
* backslash (\), gsub()/gensub()/sub() functions and: Gory Details.
(line 6)
-* backslash (\), in bracket expressions: Bracket Expressions. (line 17)
+* backslash (\), in bracket expressions: Bracket Expressions. (line 25)
* backslash (\), in escape sequences: Escape Sequences. (line 6)
* backslash (\), in escape sequences <1>: Escape Sequences. (line 100)
* backslash (\), in escape sequences, POSIX and: Escape Sequences.
@@ -32132,15 +32140,15 @@ Index
* bracket expressions: Regexp Operators. (line 56)
* bracket expressions <1>: Bracket Expressions. (line 6)
* bracket expressions, character classes: Bracket Expressions.
- (line 32)
+ (line 40)
* bracket expressions, collating elements: Bracket Expressions.
- (line 78)
+ (line 86)
* bracket expressions, collating symbols: Bracket Expressions.
- (line 85)
+ (line 93)
* bracket expressions, complemented: Regexp Operators. (line 64)
* bracket expressions, equivalence classes: Bracket Expressions.
- (line 91)
-* bracket expressions, non-ASCII: Bracket Expressions. (line 78)
+ (line 99)
+* bracket expressions, non-ASCII: Bracket Expressions. (line 86)
* bracket expressions, range expressions: Bracket Expressions.
(line 6)
* break debugger command: Breakpoint Control. (line 11)
@@ -32205,7 +32213,7 @@ Index
* call by value: Pass By Value/Reference.
(line 15)
* call stack, display in debugger: Execution Stack. (line 13)
-* caret (^), in bracket expressions: Bracket Expressions. (line 17)
+* caret (^), in bracket expressions: Bracket Expressions. (line 25)
* caret (^), regexp operator: Regexp Operators. (line 22)
* caret (^), regexp operator <1>: GNU Regexp Operators.
(line 62)
@@ -32257,8 +32265,8 @@ Index
* Close, Diane: Manual History. (line 34)
* Close, Diane <1>: Contributors. (line 21)
* Collado, Manuel: Acknowledgments. (line 60)
-* collating elements: Bracket Expressions. (line 78)
-* collating symbols: Bracket Expressions. (line 85)
+* collating elements: Bracket Expressions. (line 86)
+* collating symbols: Bracket Expressions. (line 93)
* Colombo, Antonio: Acknowledgments. (line 60)
* Colombo, Antonio <1>: Contributors. (line 141)
* columns, aligning: Print Examples. (line 69)
@@ -32687,7 +32695,7 @@ Index
* EBCDIC: Ordinal Functions. (line 45)
* effective group ID of gawk user: Auto-set. (line 134)
* effective user ID of gawk user: Auto-set. (line 138)
-* egrep utility: Bracket Expressions. (line 26)
+* egrep utility: Bracket Expressions. (line 34)
* egrep utility <1>: Egrep Program. (line 6)
* egrep.awk program: Egrep Program. (line 53)
* elements in arrays, assigning values: Assigning Elements. (line 6)
@@ -32739,7 +32747,7 @@ Index
* equals sign (=), == operator: Comparison Operators.
(line 11)
* equals sign (=), == operator <1>: Precedence. (line 64)
-* EREs (Extended Regular Expressions): Bracket Expressions. (line 26)
+* EREs (Extended Regular Expressions): Bracket Expressions. (line 34)
* ERRNO variable: Auto-set. (line 73)
* ERRNO variable <1>: TCP/IP Networking. (line 54)
* ERRNO variable, with BEGINFILE pattern: BEGINFILE/ENDFILE. (line 26)
@@ -32800,7 +32808,7 @@ Index
* expressions, matching, See comparison expressions: Typing and Comparison.
(line 9)
* expressions, selecting: Conditional Exp. (line 6)
-* Extended Regular Expressions (EREs): Bracket Expressions. (line 26)
+* Extended Regular Expressions (EREs): Bracket Expressions. (line 34)
* extension API: Extension API Description.
(line 6)
* extension API informational variables: Extension API Informational Variables.
@@ -33070,7 +33078,7 @@ Index
* gawk, awk and <1>: This Manual. (line 14)
* gawk, bitwise operations in: Bitwise Functions. (line 40)
* gawk, break statement in: Break Statement. (line 51)
-* gawk, character classes and: Bracket Expressions. (line 100)
+* gawk, character classes and: Bracket Expressions. (line 108)
* gawk, coding style in: Adding Code. (line 37)
* gawk, command-line options, and regular expressions: GNU Regexp Operators.
(line 73)
@@ -33268,7 +33276,7 @@ Index
* hyphen (-), -= operator: Assignment Ops. (line 129)
* hyphen (-), -= operator <1>: Precedence. (line 94)
* hyphen (-), filenames beginning with: Options. (line 60)
-* hyphen (-), in bracket expressions: Bracket Expressions. (line 17)
+* hyphen (-), in bracket expressions: Bracket Expressions. (line 25)
* i debugger command (alias for info): Debugger Info. (line 13)
* id utility: Id Program. (line 6)
* id.awk program: Id Program. (line 31)
@@ -33355,7 +33363,7 @@ Index
* internationalization, localization <1>: Internationalization.
(line 13)
* internationalization, localization, character classes: Bracket Expressions.
- (line 100)
+ (line 108)
* internationalization, localization, gawk and: Internationalization.
(line 13)
* internationalization, localization, locale categories: Explaining gettext.
@@ -33820,11 +33828,11 @@ Index
* POSIX awk, backslashes in string constants: Escape Sequences.
(line 105)
* POSIX awk, BEGIN/END patterns: I/O And BEGIN/END. (line 15)
-* POSIX awk, bracket expressions and: Bracket Expressions. (line 26)
+* POSIX awk, bracket expressions and: Bracket Expressions. (line 34)
* POSIX awk, bracket expressions and, character classes: Bracket Expressions.
- (line 32)
+ (line 40)
* POSIX awk, bracket expressions and, character classes <1>: Bracket Expressions.
- (line 100)
+ (line 108)
* POSIX awk, break statement and: Break Statement. (line 51)
* POSIX awk, changes in awk versions: POSIX. (line 6)
* POSIX awk, continue statement and: Continue Statement. (line 44)
@@ -34687,496 +34695,496 @@ Node: Regexp Operators163182
Ref: Regexp Operators-Footnote-1170598
Ref: Regexp Operators-Footnote-2170745
Node: Bracket Expressions170843
-Ref: table-char-classes172865
-Node: Leftmost Longest176002
-Node: Computed Regexps177305
-Node: GNU Regexp Operators180732
-Node: Case-sensitivity184411
-Ref: Case-sensitivity-Footnote-1187298
-Ref: Case-sensitivity-Footnote-2187533
-Node: Regexp Summary187641
-Node: Reading Files189107
-Node: Records191201
-Node: awk split records191934
-Node: gawk split records196865
-Ref: gawk split records-Footnote-1201405
-Node: Fields201442
-Ref: Fields-Footnote-1204222
-Node: Nonconstant Fields204308
-Ref: Nonconstant Fields-Footnote-1206544
-Node: Changing Fields206748
-Node: Field Separators212676
-Node: Default Field Splitting215374
-Node: Regexp Field Splitting216492
-Node: Single Character Fields219845
-Node: Command Line Field Separator220905
-Node: Full Line Fields224123
-Ref: Full Line Fields-Footnote-1225645
-Ref: Full Line Fields-Footnote-2225691
-Node: Field Splitting Summary225792
-Node: Constant Size227866
-Node: Splitting By Content232444
-Ref: Splitting By Content-Footnote-1236415
-Node: Multiple Line236578
-Ref: Multiple Line-Footnote-1242460
-Node: Getline242639
-Node: Plain Getline244843
-Node: Getline/Variable247482
-Node: Getline/File248631
-Node: Getline/Variable/File250017
-Ref: Getline/Variable/File-Footnote-1251620
-Node: Getline/Pipe251708
-Node: Getline/Variable/Pipe254413
-Node: Getline/Coprocess255546
-Node: Getline/Variable/Coprocess256811
-Node: Getline Notes257551
-Node: Getline Summary260346
-Ref: table-getline-variants260768
-Node: Read Timeout261516
-Ref: Read Timeout-Footnote-1265357
-Node: Command-line directories265415
-Node: Input Summary266319
-Node: Input Exercises269491
-Node: Printing270219
-Node: Print271995
-Node: Print Examples273452
-Node: Output Separators276232
-Node: OFMT278249
-Node: Printf279605
-Node: Basic Printf280390
-Node: Control Letters281964
-Node: Format Modifiers285952
-Node: Printf Examples291967
-Node: Redirection294453
-Node: Special FD301294
-Ref: Special FD-Footnote-1304462
-Node: Special Files304536
-Node: Other Inherited Files305153
-Node: Special Network306154
-Node: Special Caveats307014
-Node: Close Files And Pipes307963
-Ref: Close Files And Pipes-Footnote-1315156
-Ref: Close Files And Pipes-Footnote-2315304
-Node: Output Summary315455
-Node: Output Exercises316453
-Node: Expressions317132
-Node: Values318320
-Node: Constants318998
-Node: Scalar Constants319689
-Ref: Scalar Constants-Footnote-1320553
-Node: Nondecimal-numbers320803
-Node: Regexp Constants323816
-Node: Using Constant Regexps324342
-Node: Variables327505
-Node: Using Variables328162
-Node: Assignment Options330072
-Node: Conversion331945
-Node: Strings And Numbers332469
-Ref: Strings And Numbers-Footnote-1335532
-Node: Locale influences conversions335641
-Ref: table-locale-affects338399
-Node: All Operators339017
-Node: Arithmetic Ops339646
-Node: Concatenation342152
-Ref: Concatenation-Footnote-1344999
-Node: Assignment Ops345106
-Ref: table-assign-ops350097
-Node: Increment Ops351410
-Node: Truth Values and Conditions354870
-Node: Truth Values355944
-Node: Typing and Comparison356992
-Node: Variable Typing357812
-Node: Comparison Operators361436
-Ref: table-relational-ops361855
-Node: POSIX String Comparison365350
-Ref: POSIX String Comparison-Footnote-1366424
-Node: Boolean Ops366563
-Ref: Boolean Ops-Footnote-1371045
-Node: Conditional Exp371137
-Node: Function Calls372873
-Node: Precedence376750
-Node: Locales380409
-Node: Expressions Summary382041
-Node: Patterns and Actions384614
-Node: Pattern Overview385734
-Node: Regexp Patterns387411
-Node: Expression Patterns387953
-Node: Ranges391734
-Node: BEGIN/END394842
-Node: Using BEGIN/END395603
-Ref: Using BEGIN/END-Footnote-1398339
-Node: I/O And BEGIN/END398445
-Node: BEGINFILE/ENDFILE400759
-Node: Empty403666
-Node: Using Shell Variables403983
-Node: Action Overview406257
-Node: Statements408582
-Node: If Statement410430
-Node: While Statement411925
-Node: Do Statement413953
-Node: For Statement415101
-Node: Switch Statement418259
-Node: Break Statement420645
-Node: Continue Statement422737
-Node: Next Statement424564
-Node: Nextfile Statement426947
-Node: Exit Statement429599
-Node: Built-in Variables432002
-Node: User-modified433135
-Ref: User-modified-Footnote-1440760
-Node: Auto-set440822
-Ref: Auto-set-Footnote-1453912
-Ref: Auto-set-Footnote-2454118
-Node: ARGC and ARGV454174
-Node: Pattern Action Summary458387
-Node: Arrays460817
-Node: Array Basics462146
-Node: Array Intro462990
-Ref: figure-array-elements464965
-Ref: Array Intro-Footnote-1467669
-Node: Reference to Elements467797
-Node: Assigning Elements470261
-Node: Array Example470752
-Node: Scanning an Array472511
-Node: Controlling Scanning475533
-Ref: Controlling Scanning-Footnote-1480932
-Node: Numeric Array Subscripts481248
-Node: Uninitialized Subscripts483432
-Node: Delete485051
-Ref: Delete-Footnote-1487803
-Node: Multidimensional487860
-Node: Multiscanning490955
-Node: Arrays of Arrays492546
-Node: Arrays Summary497313
-Node: Functions499406
-Node: Built-in500444
-Node: Calling Built-in501522
-Node: Numeric Functions503518
-Ref: Numeric Functions-Footnote-1507546
-Ref: Numeric Functions-Footnote-2507903
-Ref: Numeric Functions-Footnote-3507951
-Node: String Functions508223
-Ref: String Functions-Footnote-1531727
-Ref: String Functions-Footnote-2531855
-Ref: String Functions-Footnote-3532103
-Node: Gory Details532190
-Ref: table-sub-escapes533981
-Ref: table-sub-proposed535500
-Ref: table-posix-sub536863
-Ref: table-gensub-escapes538404
-Ref: Gory Details-Footnote-1539227
-Node: I/O Functions539378
-Ref: I/O Functions-Footnote-1546598
-Node: Time Functions546746
-Ref: Time Functions-Footnote-1557251
-Ref: Time Functions-Footnote-2557319
-Ref: Time Functions-Footnote-3557477
-Ref: Time Functions-Footnote-4557588
-Ref: Time Functions-Footnote-5557700
-Ref: Time Functions-Footnote-6557927
-Node: Bitwise Functions558193
-Ref: table-bitwise-ops558787
-Ref: Bitwise Functions-Footnote-1563125
-Node: Type Functions563298
-Node: I18N Functions564454
-Node: User-defined566105
-Node: Definition Syntax566910
-Ref: Definition Syntax-Footnote-1572597
-Node: Function Example572668
-Ref: Function Example-Footnote-1575590
-Node: Function Caveats575612
-Node: Calling A Function576130
-Node: Variable Scope577088
-Node: Pass By Value/Reference580082
-Node: Return Statement583581
-Node: Dynamic Typing586560
-Node: Indirect Calls587490
-Ref: Indirect Calls-Footnote-1597741
-Node: Functions Summary597869
-Node: Library Functions600574
-Ref: Library Functions-Footnote-1604181
-Ref: Library Functions-Footnote-2604324
-Node: Library Names604495
-Ref: Library Names-Footnote-1607955
-Ref: Library Names-Footnote-2608178
-Node: General Functions608264
-Node: Strtonum Function609367
-Node: Assert Function612389
-Node: Round Function615715
-Node: Cliff Random Function617256
-Node: Ordinal Functions618272
-Ref: Ordinal Functions-Footnote-1621335
-Ref: Ordinal Functions-Footnote-2621587
-Node: Join Function621797
-Ref: Join Function-Footnote-1623567
-Node: Getlocaltime Function623767
-Node: Readfile Function627509
-Node: Shell Quoting629481
-Node: Data File Management630882
-Node: Filetrans Function631514
-Node: Rewind Function635610
-Node: File Checking637515
-Ref: File Checking-Footnote-1638849
-Node: Empty Files639050
-Node: Ignoring Assigns641029
-Node: Getopt Function642579
-Ref: Getopt Function-Footnote-1654048
-Node: Passwd Functions654248
-Ref: Passwd Functions-Footnote-1663087
-Node: Group Functions663175
-Ref: Group Functions-Footnote-1671072
-Node: Walking Arrays671279
-Node: Library Functions Summary674287
-Node: Library Exercises675693
-Node: Sample Programs676158
-Node: Running Examples676928
-Node: Clones677656
-Node: Cut Program678880
-Node: Egrep Program688809
-Ref: Egrep Program-Footnote-1696321
-Node: Id Program696431
-Node: Split Program700111
-Ref: Split Program-Footnote-1703570
-Node: Tee Program703699
-Node: Uniq Program706489
-Node: Wc Program713915
-Ref: Wc Program-Footnote-1718170
-Node: Miscellaneous Programs718264
-Node: Dupword Program719477
-Node: Alarm Program721507
-Node: Translate Program726362
-Ref: Translate Program-Footnote-1730927
-Node: Labels Program731197
-Ref: Labels Program-Footnote-1734548
-Node: Word Sorting734632
-Node: History Sorting738704
-Node: Extract Program740539
-Node: Simple Sed748068
-Node: Igawk Program751142
-Ref: Igawk Program-Footnote-1765473
-Ref: Igawk Program-Footnote-2765675
-Ref: Igawk Program-Footnote-3765797
-Node: Anagram Program765912
-Node: Signature Program768974
-Node: Programs Summary770221
-Node: Programs Exercises771435
-Ref: Programs Exercises-Footnote-1775564
-Node: Advanced Features775655
-Node: Nondecimal Data777645
-Node: Array Sorting779236
-Node: Controlling Array Traversal779936
-Ref: Controlling Array Traversal-Footnote-1788303
-Node: Array Sorting Functions788421
-Ref: Array Sorting Functions-Footnote-1793512
-Node: Two-way I/O793708
-Ref: Two-way I/O-Footnote-1799528
-Ref: Two-way I/O-Footnote-2799715
-Node: TCP/IP Networking799797
-Node: Profiling802915
-Node: Advanced Features Summary810454
-Node: Internationalization812390
-Node: I18N and L10N813870
-Node: Explaining gettext814557
-Ref: Explaining gettext-Footnote-1819580
-Ref: Explaining gettext-Footnote-2819765
-Node: Programmer i18n819930
-Ref: Programmer i18n-Footnote-1824785
-Node: Translator i18n824834
-Node: String Extraction825628
-Ref: String Extraction-Footnote-1826760
-Node: Printf Ordering826846
-Ref: Printf Ordering-Footnote-1829632
-Node: I18N Portability829696
-Ref: I18N Portability-Footnote-1832152
-Node: I18N Example832215
-Ref: I18N Example-Footnote-1835021
-Node: Gawk I18N835094
-Node: I18N Summary835739
-Node: Debugger837080
-Node: Debugging838102
-Node: Debugging Concepts838543
-Node: Debugging Terms840352
-Node: Awk Debugging842927
-Node: Sample Debugging Session843833
-Node: Debugger Invocation844367
-Node: Finding The Bug845753
-Node: List of Debugger Commands852231
-Node: Breakpoint Control853564
-Node: Debugger Execution Control857258
-Node: Viewing And Changing Data860620
-Node: Execution Stack863994
-Node: Debugger Info865631
-Node: Miscellaneous Debugger Commands869702
-Node: Readline Support874790
-Node: Limitations875686
-Node: Debugging Summary877795
-Node: Arbitrary Precision Arithmetic878968
-Node: Computer Arithmetic880384
-Ref: table-numeric-ranges883975
-Ref: Computer Arithmetic-Footnote-1884697
-Node: Math Definitions884754
-Ref: table-ieee-formats888068
-Ref: Math Definitions-Footnote-1888671
-Node: MPFR features888776
-Node: FP Math Caution890493
-Ref: FP Math Caution-Footnote-1891565
-Node: Inexactness of computations891934
-Node: Inexact representation892894
-Node: Comparing FP Values894254
-Node: Errors accumulate895336
-Node: Getting Accuracy896769
-Node: Try To Round899479
-Node: Setting precision900378
-Ref: table-predefined-precision-strings901075
-Node: Setting the rounding mode902905
-Ref: table-gawk-rounding-modes903279
-Ref: Setting the rounding mode-Footnote-1906687
-Node: Arbitrary Precision Integers906866
-Ref: Arbitrary Precision Integers-Footnote-1909850
-Node: POSIX Floating Point Problems909999
-Ref: POSIX Floating Point Problems-Footnote-1913881
-Node: Floating point summary913919
-Node: Dynamic Extensions916109
-Node: Extension Intro917662
-Node: Plugin License918928
-Node: Extension Mechanism Outline919725
-Ref: figure-load-extension920164
-Ref: figure-register-new-function921729
-Ref: figure-call-new-function922821
-Node: Extension API Description924883
-Node: Extension API Functions Introduction926331
-Node: General Data Types931143
-Ref: General Data Types-Footnote-1937098
-Node: Memory Allocation Functions937397
-Ref: Memory Allocation Functions-Footnote-1940242
-Node: Constructor Functions940341
-Node: Registration Functions942086
-Node: Extension Functions942771
-Node: Exit Callback Functions945070
-Node: Extension Version String946320
-Node: Input Parsers946983
-Node: Output Wrappers956868
-Node: Two-way processors961380
-Node: Printing Messages963644
-Ref: Printing Messages-Footnote-1964718
-Node: Updating ERRNO964871
-Node: Requesting Values965610
-Ref: table-value-types-returned966347
-Node: Accessing Parameters967230
-Node: Symbol Table Access968465
-Node: Symbol table by name968977
-Node: Symbol table by cookie970998
-Ref: Symbol table by cookie-Footnote-1975147
-Node: Cached values975211
-Ref: Cached values-Footnote-1978712
-Node: Array Manipulation978803
-Ref: Array Manipulation-Footnote-1979902
-Node: Array Data Types979939
-Ref: Array Data Types-Footnote-1982597
-Node: Array Functions982689
-Node: Flattening Arrays986547
-Node: Creating Arrays993455
-Node: Extension API Variables998226
-Node: Extension Versioning998862
-Node: Extension API Informational Variables1000753
-Node: Extension API Boilerplate1001817
-Node: Finding Extensions1005631
-Node: Extension Example1006190
-Node: Internal File Description1006988
-Node: Internal File Ops1011068
-Ref: Internal File Ops-Footnote-11022830
-Node: Using Internal File Ops1022970
-Ref: Using Internal File Ops-Footnote-11025353
-Node: Extension Samples1025627
-Node: Extension Sample File Functions1027156
-Node: Extension Sample Fnmatch1034805
-Node: Extension Sample Fork1036292
-Node: Extension Sample Inplace1037510
-Node: Extension Sample Ord1040720
-Node: Extension Sample Readdir1041556
-Ref: table-readdir-file-types1042445
-Node: Extension Sample Revout1043250
-Node: Extension Sample Rev2way1043839
-Node: Extension Sample Read write array1044579
-Node: Extension Sample Readfile1046521
-Node: Extension Sample Time1047616
-Node: Extension Sample API Tests1048964
-Node: gawkextlib1049456
-Node: Extension summary1051880
-Node: Extension Exercises1055572
-Node: Language History1057069
-Node: V7/SVR3.11058725
-Node: SVR41060877
-Node: POSIX1062311
-Node: BTL1063690
-Node: POSIX/GNU1064419
-Node: Feature History1069940
-Node: Common Extensions1083269
-Node: Ranges and Locales1084552
-Ref: Ranges and Locales-Footnote-11089168
-Ref: Ranges and Locales-Footnote-21089195
-Ref: Ranges and Locales-Footnote-31089430
-Node: Contributors1089651
-Node: History summary1095220
-Node: Installation1096600
-Node: Gawk Distribution1097544
-Node: Getting1098028
-Node: Extracting1098989
-Node: Distribution contents1100627
-Node: Unix Installation1106378
-Node: Quick Installation1106994
-Node: Additional Configuration Options1109421
-Node: Configuration Philosophy1111225
-Node: Non-Unix Installation1113594
-Node: PC Installation1114052
-Node: PC Binary Installation1115372
-Node: PC Compiling1117224
-Ref: PC Compiling-Footnote-11120248
-Node: PC Testing1120357
-Node: PC Using1121537
-Node: Cygwin1125651
-Node: MSYS1126421
-Node: VMS Installation1126922
-Node: VMS Compilation1127713
-Ref: VMS Compilation-Footnote-11128942
-Node: VMS Dynamic Extensions1129000
-Node: VMS Installation Details1130685
-Node: VMS Running1132938
-Node: VMS GNV1137217
-Node: VMS Old Gawk1137952
-Node: Bugs1138423
-Node: Other Versions1142620
-Node: Installation summary1149204
-Node: Notes1150262
-Node: Compatibility Mode1151127
-Node: Additions1151909
-Node: Accessing The Source1152834
-Node: Adding Code1154269
-Node: New Ports1160488
-Node: Derived Files1164976
-Ref: Derived Files-Footnote-11170461
-Ref: Derived Files-Footnote-21170496
-Ref: Derived Files-Footnote-31171094
-Node: Future Extensions1171208
-Node: Implementation Limitations1171866
-Node: Extension Design1173049
-Node: Old Extension Problems1174203
-Ref: Old Extension Problems-Footnote-11175721
-Node: Extension New Mechanism Goals1175778
-Ref: Extension New Mechanism Goals-Footnote-11179142
-Node: Extension Other Design Decisions1179331
-Node: Extension Future Growth1181444
-Node: Old Extension Mechanism1182280
-Node: Notes summary1184043
-Node: Basic Concepts1185225
-Node: Basic High Level1185906
-Ref: figure-general-flow1186188
-Ref: figure-process-flow1186873
-Ref: Basic High Level-Footnote-11190174
-Node: Basic Data Typing1190359
-Node: Glossary1193687
-Node: Copying1225633
-Node: GNU Free Documentation License1263172
-Node: Index1288290
+Ref: table-char-classes173319
+Node: Leftmost Longest176456
+Node: Computed Regexps177759
+Node: GNU Regexp Operators181186
+Node: Case-sensitivity184865
+Ref: Case-sensitivity-Footnote-1187752
+Ref: Case-sensitivity-Footnote-2187987
+Node: Regexp Summary188095
+Node: Reading Files189561
+Node: Records191655
+Node: awk split records192388
+Node: gawk split records197319
+Ref: gawk split records-Footnote-1201859
+Node: Fields201896
+Ref: Fields-Footnote-1204676
+Node: Nonconstant Fields204762
+Ref: Nonconstant Fields-Footnote-1206998
+Node: Changing Fields207202
+Node: Field Separators213130
+Node: Default Field Splitting215828
+Node: Regexp Field Splitting216946
+Node: Single Character Fields220299
+Node: Command Line Field Separator221359
+Node: Full Line Fields224577
+Ref: Full Line Fields-Footnote-1226099
+Ref: Full Line Fields-Footnote-2226145
+Node: Field Splitting Summary226246
+Node: Constant Size228320
+Node: Splitting By Content232898
+Ref: Splitting By Content-Footnote-1236869
+Node: Multiple Line237032
+Ref: Multiple Line-Footnote-1242914
+Node: Getline243093
+Node: Plain Getline245297
+Node: Getline/Variable247936
+Node: Getline/File249085
+Node: Getline/Variable/File250471
+Ref: Getline/Variable/File-Footnote-1252074
+Node: Getline/Pipe252162
+Node: Getline/Variable/Pipe254867
+Node: Getline/Coprocess256000
+Node: Getline/Variable/Coprocess257265
+Node: Getline Notes258005
+Node: Getline Summary260800
+Ref: table-getline-variants261222
+Node: Read Timeout261970
+Ref: Read Timeout-Footnote-1265811
+Node: Command-line directories265869
+Node: Input Summary266773
+Node: Input Exercises269945
+Node: Printing270673
+Node: Print272449
+Node: Print Examples273906
+Node: Output Separators276686
+Node: OFMT278703
+Node: Printf280059
+Node: Basic Printf280844
+Node: Control Letters282418
+Node: Format Modifiers286406
+Node: Printf Examples292421
+Node: Redirection294907
+Node: Special FD301748
+Ref: Special FD-Footnote-1304916
+Node: Special Files304990
+Node: Other Inherited Files305607
+Node: Special Network306608
+Node: Special Caveats307468
+Node: Close Files And Pipes308417
+Ref: Close Files And Pipes-Footnote-1315610
+Ref: Close Files And Pipes-Footnote-2315758
+Node: Output Summary315909
+Node: Output Exercises316907
+Node: Expressions317586
+Node: Values318774
+Node: Constants319452
+Node: Scalar Constants320143
+Ref: Scalar Constants-Footnote-1321007
+Node: Nondecimal-numbers321257
+Node: Regexp Constants324270
+Node: Using Constant Regexps324796
+Node: Variables327959
+Node: Using Variables328616
+Node: Assignment Options330526
+Node: Conversion332399
+Node: Strings And Numbers332923
+Ref: Strings And Numbers-Footnote-1335986
+Node: Locale influences conversions336095
+Ref: table-locale-affects338853
+Node: All Operators339471
+Node: Arithmetic Ops340100
+Node: Concatenation342606
+Ref: Concatenation-Footnote-1345453
+Node: Assignment Ops345560
+Ref: table-assign-ops350551
+Node: Increment Ops351864
+Node: Truth Values and Conditions355324
+Node: Truth Values356398
+Node: Typing and Comparison357446
+Node: Variable Typing358266
+Node: Comparison Operators361890
+Ref: table-relational-ops362309
+Node: POSIX String Comparison365804
+Ref: POSIX String Comparison-Footnote-1366878
+Node: Boolean Ops367017
+Ref: Boolean Ops-Footnote-1371499
+Node: Conditional Exp371591
+Node: Function Calls373327
+Node: Precedence377204
+Node: Locales380863
+Node: Expressions Summary382495
+Node: Patterns and Actions385068
+Node: Pattern Overview386188
+Node: Regexp Patterns387865
+Node: Expression Patterns388407
+Node: Ranges392188
+Node: BEGIN/END395296
+Node: Using BEGIN/END396057
+Ref: Using BEGIN/END-Footnote-1398793
+Node: I/O And BEGIN/END398899
+Node: BEGINFILE/ENDFILE401213
+Node: Empty404120
+Node: Using Shell Variables404437
+Node: Action Overview406711
+Node: Statements409036
+Node: If Statement410884
+Node: While Statement412379
+Node: Do Statement414407
+Node: For Statement415555
+Node: Switch Statement418713
+Node: Break Statement421099
+Node: Continue Statement423191
+Node: Next Statement425018
+Node: Nextfile Statement427401
+Node: Exit Statement430053
+Node: Built-in Variables432456
+Node: User-modified433589
+Ref: User-modified-Footnote-1441214
+Node: Auto-set441276
+Ref: Auto-set-Footnote-1454366
+Ref: Auto-set-Footnote-2454572
+Node: ARGC and ARGV454628
+Node: Pattern Action Summary458841
+Node: Arrays461271
+Node: Array Basics462600
+Node: Array Intro463444
+Ref: figure-array-elements465419
+Ref: Array Intro-Footnote-1468123
+Node: Reference to Elements468251
+Node: Assigning Elements470715
+Node: Array Example471206
+Node: Scanning an Array472965
+Node: Controlling Scanning475987
+Ref: Controlling Scanning-Footnote-1481386
+Node: Numeric Array Subscripts481702
+Node: Uninitialized Subscripts483886
+Node: Delete485505
+Ref: Delete-Footnote-1488257
+Node: Multidimensional488314
+Node: Multiscanning491409
+Node: Arrays of Arrays493000
+Node: Arrays Summary497767
+Node: Functions499860
+Node: Built-in500898
+Node: Calling Built-in501976
+Node: Numeric Functions503972
+Ref: Numeric Functions-Footnote-1508000
+Ref: Numeric Functions-Footnote-2508357
+Ref: Numeric Functions-Footnote-3508405
+Node: String Functions508677
+Ref: String Functions-Footnote-1532181
+Ref: String Functions-Footnote-2532309
+Ref: String Functions-Footnote-3532557
+Node: Gory Details532644
+Ref: table-sub-escapes534435
+Ref: table-sub-proposed535954
+Ref: table-posix-sub537317
+Ref: table-gensub-escapes538858
+Ref: Gory Details-Footnote-1539681
+Node: I/O Functions539832
+Ref: I/O Functions-Footnote-1547052
+Node: Time Functions547200
+Ref: Time Functions-Footnote-1557705
+Ref: Time Functions-Footnote-2557773
+Ref: Time Functions-Footnote-3557931
+Ref: Time Functions-Footnote-4558042
+Ref: Time Functions-Footnote-5558154
+Ref: Time Functions-Footnote-6558381
+Node: Bitwise Functions558647
+Ref: table-bitwise-ops559241
+Ref: Bitwise Functions-Footnote-1563579
+Node: Type Functions563752
+Node: I18N Functions564908
+Node: User-defined566559
+Node: Definition Syntax567364
+Ref: Definition Syntax-Footnote-1573051
+Node: Function Example573122
+Ref: Function Example-Footnote-1576044
+Node: Function Caveats576066
+Node: Calling A Function576584
+Node: Variable Scope577542
+Node: Pass By Value/Reference580536
+Node: Return Statement584035
+Node: Dynamic Typing587014
+Node: Indirect Calls587944
+Ref: Indirect Calls-Footnote-1598195
+Node: Functions Summary598323
+Node: Library Functions601028
+Ref: Library Functions-Footnote-1604635
+Ref: Library Functions-Footnote-2604778
+Node: Library Names604949
+Ref: Library Names-Footnote-1608409
+Ref: Library Names-Footnote-2608632
+Node: General Functions608718
+Node: Strtonum Function609821
+Node: Assert Function612843
+Node: Round Function616169
+Node: Cliff Random Function617710
+Node: Ordinal Functions618726
+Ref: Ordinal Functions-Footnote-1621789
+Ref: Ordinal Functions-Footnote-2622041
+Node: Join Function622251
+Ref: Join Function-Footnote-1624021
+Node: Getlocaltime Function624221
+Node: Readfile Function627963
+Node: Shell Quoting629935
+Node: Data File Management631336
+Node: Filetrans Function631968
+Node: Rewind Function636064
+Node: File Checking637969
+Ref: File Checking-Footnote-1639303
+Node: Empty Files639504
+Node: Ignoring Assigns641483
+Node: Getopt Function643033
+Ref: Getopt Function-Footnote-1654502
+Node: Passwd Functions654702
+Ref: Passwd Functions-Footnote-1663541
+Node: Group Functions663629
+Ref: Group Functions-Footnote-1671526
+Node: Walking Arrays671733
+Node: Library Functions Summary674741
+Node: Library Exercises676147
+Node: Sample Programs676612
+Node: Running Examples677382
+Node: Clones678110
+Node: Cut Program679334
+Node: Egrep Program689263
+Ref: Egrep Program-Footnote-1696775
+Node: Id Program696885
+Node: Split Program700565
+Ref: Split Program-Footnote-1704024
+Node: Tee Program704153
+Node: Uniq Program706943
+Node: Wc Program714369
+Ref: Wc Program-Footnote-1718624
+Node: Miscellaneous Programs718718
+Node: Dupword Program719931
+Node: Alarm Program721961
+Node: Translate Program726816
+Ref: Translate Program-Footnote-1731381
+Node: Labels Program731651
+Ref: Labels Program-Footnote-1735002
+Node: Word Sorting735086
+Node: History Sorting739158
+Node: Extract Program740993
+Node: Simple Sed748522
+Node: Igawk Program751596
+Ref: Igawk Program-Footnote-1765927
+Ref: Igawk Program-Footnote-2766129
+Ref: Igawk Program-Footnote-3766251
+Node: Anagram Program766366
+Node: Signature Program769428
+Node: Programs Summary770675
+Node: Programs Exercises771889
+Ref: Programs Exercises-Footnote-1776018
+Node: Advanced Features776109
+Node: Nondecimal Data778099
+Node: Array Sorting779690
+Node: Controlling Array Traversal780390
+Ref: Controlling Array Traversal-Footnote-1788757
+Node: Array Sorting Functions788875
+Ref: Array Sorting Functions-Footnote-1793966
+Node: Two-way I/O794162
+Ref: Two-way I/O-Footnote-1799982
+Ref: Two-way I/O-Footnote-2800169
+Node: TCP/IP Networking800251
+Node: Profiling803369
+Node: Advanced Features Summary810908
+Node: Internationalization812844
+Node: I18N and L10N814324
+Node: Explaining gettext815011
+Ref: Explaining gettext-Footnote-1820034
+Ref: Explaining gettext-Footnote-2820219
+Node: Programmer i18n820384
+Ref: Programmer i18n-Footnote-1825239
+Node: Translator i18n825288
+Node: String Extraction826082
+Ref: String Extraction-Footnote-1827214
+Node: Printf Ordering827300
+Ref: Printf Ordering-Footnote-1830086
+Node: I18N Portability830150
+Ref: I18N Portability-Footnote-1832606
+Node: I18N Example832669
+Ref: I18N Example-Footnote-1835475
+Node: Gawk I18N835548
+Node: I18N Summary836193
+Node: Debugger837534
+Node: Debugging838556
+Node: Debugging Concepts838997
+Node: Debugging Terms840806
+Node: Awk Debugging843381
+Node: Sample Debugging Session844287
+Node: Debugger Invocation844821
+Node: Finding The Bug846207
+Node: List of Debugger Commands852685
+Node: Breakpoint Control854018
+Node: Debugger Execution Control857712
+Node: Viewing And Changing Data861074
+Node: Execution Stack864448
+Node: Debugger Info866085
+Node: Miscellaneous Debugger Commands870156
+Node: Readline Support875244
+Node: Limitations876140
+Node: Debugging Summary878249
+Node: Arbitrary Precision Arithmetic879422
+Node: Computer Arithmetic880838
+Ref: table-numeric-ranges884429
+Ref: Computer Arithmetic-Footnote-1885151
+Node: Math Definitions885208
+Ref: table-ieee-formats888522
+Ref: Math Definitions-Footnote-1889125
+Node: MPFR features889230
+Node: FP Math Caution890947
+Ref: FP Math Caution-Footnote-1892019
+Node: Inexactness of computations892388
+Node: Inexact representation893348
+Node: Comparing FP Values894708
+Node: Errors accumulate895790
+Node: Getting Accuracy897223
+Node: Try To Round899933
+Node: Setting precision900832
+Ref: table-predefined-precision-strings901529
+Node: Setting the rounding mode903359
+Ref: table-gawk-rounding-modes903733
+Ref: Setting the rounding mode-Footnote-1907141
+Node: Arbitrary Precision Integers907320
+Ref: Arbitrary Precision Integers-Footnote-1910304
+Node: POSIX Floating Point Problems910453
+Ref: POSIX Floating Point Problems-Footnote-1914335
+Node: Floating point summary914373
+Node: Dynamic Extensions916563
+Node: Extension Intro918116
+Node: Plugin License919382
+Node: Extension Mechanism Outline920179
+Ref: figure-load-extension920618
+Ref: figure-register-new-function922183
+Ref: figure-call-new-function923275
+Node: Extension API Description925337
+Node: Extension API Functions Introduction926785
+Node: General Data Types931597
+Ref: General Data Types-Footnote-1937552
+Node: Memory Allocation Functions937851
+Ref: Memory Allocation Functions-Footnote-1940696
+Node: Constructor Functions940795
+Node: Registration Functions942540
+Node: Extension Functions943225
+Node: Exit Callback Functions945524
+Node: Extension Version String946774
+Node: Input Parsers947437
+Node: Output Wrappers957322
+Node: Two-way processors961834
+Node: Printing Messages964098
+Ref: Printing Messages-Footnote-1965172
+Node: Updating ERRNO965325
+Node: Requesting Values966064
+Ref: table-value-types-returned966801
+Node: Accessing Parameters967684
+Node: Symbol Table Access968919
+Node: Symbol table by name969431
+Node: Symbol table by cookie971452
+Ref: Symbol table by cookie-Footnote-1975601
+Node: Cached values975665
+Ref: Cached values-Footnote-1979166
+Node: Array Manipulation979257
+Ref: Array Manipulation-Footnote-1980356
+Node: Array Data Types980393
+Ref: Array Data Types-Footnote-1983051
+Node: Array Functions983143
+Node: Flattening Arrays987001
+Node: Creating Arrays993909
+Node: Extension API Variables998680
+Node: Extension Versioning999316
+Node: Extension API Informational Variables1001207
+Node: Extension API Boilerplate1002271
+Node: Finding Extensions1006085
+Node: Extension Example1006644
+Node: Internal File Description1007442
+Node: Internal File Ops1011522
+Ref: Internal File Ops-Footnote-11023284
+Node: Using Internal File Ops1023424
+Ref: Using Internal File Ops-Footnote-11025807
+Node: Extension Samples1026081
+Node: Extension Sample File Functions1027610
+Node: Extension Sample Fnmatch1035259
+Node: Extension Sample Fork1036746
+Node: Extension Sample Inplace1037964
+Node: Extension Sample Ord1041174
+Node: Extension Sample Readdir1042010
+Ref: table-readdir-file-types1042899
+Node: Extension Sample Revout1043704
+Node: Extension Sample Rev2way1044293
+Node: Extension Sample Read write array1045033
+Node: Extension Sample Readfile1046975
+Node: Extension Sample Time1048070
+Node: Extension Sample API Tests1049418
+Node: gawkextlib1049910
+Node: Extension summary1052334
+Node: Extension Exercises1056026
+Node: Language History1057523
+Node: V7/SVR3.11059179
+Node: SVR41061331
+Node: POSIX1062765
+Node: BTL1064144
+Node: POSIX/GNU1064873
+Node: Feature History1070394
+Node: Common Extensions1083723
+Node: Ranges and Locales1085006
+Ref: Ranges and Locales-Footnote-11089622
+Ref: Ranges and Locales-Footnote-21089649
+Ref: Ranges and Locales-Footnote-31089884
+Node: Contributors1090105
+Node: History summary1095674
+Node: Installation1097054
+Node: Gawk Distribution1097998
+Node: Getting1098482
+Node: Extracting1099443
+Node: Distribution contents1101081
+Node: Unix Installation1106832
+Node: Quick Installation1107448
+Node: Additional Configuration Options1109875
+Node: Configuration Philosophy1111679
+Node: Non-Unix Installation1114048
+Node: PC Installation1114506
+Node: PC Binary Installation1115826
+Node: PC Compiling1117678
+Ref: PC Compiling-Footnote-11120702
+Node: PC Testing1120811
+Node: PC Using1121991
+Node: Cygwin1126105
+Node: MSYS1126875
+Node: VMS Installation1127376
+Node: VMS Compilation1128167
+Ref: VMS Compilation-Footnote-11129396
+Node: VMS Dynamic Extensions1129454
+Node: VMS Installation Details1131139
+Node: VMS Running1133392
+Node: VMS GNV1137671
+Node: VMS Old Gawk1138406
+Node: Bugs1138877
+Node: Other Versions1143074
+Node: Installation summary1149658
+Node: Notes1150716
+Node: Compatibility Mode1151581
+Node: Additions1152363
+Node: Accessing The Source1153288
+Node: Adding Code1154723
+Node: New Ports1160942
+Node: Derived Files1165430
+Ref: Derived Files-Footnote-11170915
+Ref: Derived Files-Footnote-21170950
+Ref: Derived Files-Footnote-31171548
+Node: Future Extensions1171662
+Node: Implementation Limitations1172320
+Node: Extension Design1173503
+Node: Old Extension Problems1174657
+Ref: Old Extension Problems-Footnote-11176175
+Node: Extension New Mechanism Goals1176232
+Ref: Extension New Mechanism Goals-Footnote-11179596
+Node: Extension Other Design Decisions1179785
+Node: Extension Future Growth1181898
+Node: Old Extension Mechanism1182734
+Node: Notes summary1184497
+Node: Basic Concepts1185679
+Node: Basic High Level1186360
+Ref: figure-general-flow1186642
+Ref: figure-process-flow1187327
+Ref: Basic High Level-Footnote-11190628
+Node: Basic Data Typing1190813
+Node: Glossary1194141
+Node: Copying1226087
+Node: GNU Free Documentation License1263626
+Node: Index1288744

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 211a0a7e..dcd49e6e 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -5618,6 +5618,15 @@ set. For example, @samp{[0-9]} is equivalent to @samp{[0123456789]}.
standard and @command{gawk} have changed over time. This is mainly
of historical interest.)
+With the increasing popularity of the
+@uref{http://www.unicode.org, Unicode character standard},
+there is an additional wrinkle to consider. Octal and hexadecimal
+escape sequences inside bracket expressions are taken to represent
+only single-byte characters (characters whose values fit within
+the range 0--256). To match a range of characters where the endpoints
+of the range are larger than 256, enter the multibyte encodings of
+the characters directly.
+
@cindex @code{\} (backslash), in bracket expressions
@cindex backslash (@code{\}), in bracket expressions
@cindex @code{^} (caret), in bracket expressions
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 1a6b2dd8..ff5672a5 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -5446,6 +5446,15 @@ set. For example, @samp{[0-9]} is equivalent to @samp{[0123456789]}.
standard and @command{gawk} have changed over time. This is mainly
of historical interest.)
+With the increasing popularity of the
+@uref{http://www.unicode.org, Unicode character standard},
+there is an additional wrinkle to consider. Octal and hexadecimal
+escape sequences inside bracket expressions are taken to represent
+only single-byte characters (characters whose values fit within
+the range 0--256). To match a range of characters where the endpoints
+of the range are larger than 256, enter the multibyte encodings of
+the characters directly.
+
@cindex @code{\} (backslash), in bracket expressions
@cindex backslash (@code{\}), in bracket expressions
@cindex @code{^} (caret), in bracket expressions