[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] gawk branch, master, updated. gawk-4.1.0-5366-gb4d532b8

From: Arnold Robbins
Subject: [SCM] gawk branch, master, updated. gawk-4.1.0-5366-gb4d532b8
Date: Mon, 9 Oct 2023 02:26:22 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, master has been updated
       via  b4d532b81f9e5b129c58e54d2b7a0f1750edca72 (commit)
      from  0a63301382b2afd50bc806d74d3652ce7737a548 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit b4d532b81f9e5b129c58e54d2b7a0f1750edca72
Author: Arnold D. Robbins <>
Date:   Mon Oct 9 09:26:00 2023 +0300

    Update doc on \u.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 389e76fc..9636f3f6 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2023-10-09         Arnold D. Robbins     <>
+       * (Escape Sequences): Clarify considerably how the
+       \u escape sequence works. Thanks to Eli Zaretskii for the push.
 2023-10-04         Arnold D. Robbins     <>
        * texinfo.tex: Updated from GNULIB.
diff --git a/doc/ b/doc/
index 0cabdebf..0f3c7fe7 100644
--- a/doc/
+++ b/doc/
@@ -3756,18 +3756,20 @@ sequences apply to both string constants and regexp 
           digits are processed.
-     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
+     The hexadecimal value HH, where HH stands for a sequence of one or
+     more 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 ‘"?"’.
+     current locale’s character set.(1)  ‘gawk’ first converts the given
+     digits into an integer and then translates the given “wide
+     character” value into the current locale’s multibyte encoding.  If
+     the wide character value does not represent a valid character, or
+     if the character is valid but cannot be encoded into the current
+     locale’s multibyte encoding, the value becomes ‘"?"’.  ‘gawk’
+     issues a warning message when this happens.
      A literal slash (should be used for regexp constants only).  This
@@ -3843,6 +3845,11 @@ Options::), ‘gawk’ treats the characters represented 
by octal and
 hexadecimal escape sequences literally when used in regexp constants.
 Thus, ‘/a\52b/’ is equivalent to ‘/a\*b/’.
+   ---------- Footnotes ----------
+   (1) Typically, this is a Unicode-based locale, but it doesn’t have to
 File:,  Node: Regexp Operators,  Next: Bracket Expressions,  Prev: 
Escape Sequences,  Up: Regexp
@@ -36283,11 +36290,11 @@ Index
 * \ (backslash), \NNN escape sequence:   Escape Sequences.    (line  56)
 * \ (backslash), \x escape sequence:     Escape Sequences.    (line  61)
 * \ (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), \/ escape sequence:     Escape Sequences.    (line  92)
+* \ (backslash), \" escape sequence:     Escape Sequences.    (line 101)
+* \ (backslash), in escape sequences <1>: Escape Sequences.   (line 119)
 * \ (backslash), in escape sequences, POSIX and: Escape Sequences.
-                                                              (line 122)
+                                                              (line 124)
 * \ (backslash), regexp operator:        Regexp Operator Details.
                                                               (line  14)
 * \ (backslash), in bracket expressions: Bracket Expressions. (line  25)
@@ -36657,11 +36664,11 @@ Index
 * backslash (\), \NNN escape sequence:   Escape Sequences.    (line  56)
 * backslash (\), \x escape sequence:     Escape Sequences.    (line  61)
 * 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 (\), \/ escape sequence:     Escape Sequences.    (line  92)
+* backslash (\), \" escape sequence:     Escape Sequences.    (line 101)
+* backslash (\), in escape sequences <1>: Escape Sequences.   (line 119)
 * backslash (\), in escape sequences, POSIX and: Escape Sequences.
-                                                              (line 122)
+                                                              (line 124)
 * backslash (\), regexp operator:        Regexp Operator Details.
                                                               (line  14)
 * backslash (\), in bracket expressions: Bracket Expressions. (line  25)
@@ -36792,7 +36799,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 126)
+* Brian Kernighan’s awk <1>:             Escape Sequences.    (line 128)
 * Brian Kernighan’s awk <2>:             GNU Regexp Operators.
                                                               (line  84)
 * Brian Kernighan’s awk <3>:             gawk split records.  (line  71)
@@ -37080,7 +37087,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 157)
+                                                              (line 159)
 * 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)
@@ -37922,8 +37929,8 @@ Index
 * gawk, version of, printing information about: Options.      (line 355)
 * gawk, ARGIND variable in:              Other Arguments.     (line  21)
 * gawk, PROCINFO array in:               Other Arguments.     (line  21)
-* gawk, escape sequences:                Escape Sequences.    (line 134)
-* gawk, escape sequences <1>:            Escape Sequences.    (line 134)
+* gawk, escape sequences:                Escape Sequences.    (line 136)
+* gawk, escape sequences <1>:            Escape Sequences.    (line 136)
 * gawk, regular expressions, precedence: Regexp Operator Details.
                                                               (line 142)
 * gawk, interval expressions and:        Interval Expressions.
@@ -38441,7 +38448,7 @@ Index
 * matching, expressions:                 Typing and Comparison.
                                                               (line   9)
 * matching, null strings:                String Functions.    (line 575)
-* mawk utility:                          Escape Sequences.    (line 134)
+* mawk utility:                          Escape Sequences.    (line 136)
 * mawk utility <1>:                      Getline/Pipe.        (line  62)
 * mawk utility <2>:                      Concatenation.       (line  36)
 * mawk utility <3>:                      Nextfile Statement.  (line  47)
@@ -38459,7 +38466,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 153)
+* metacharacters, escape sequences for:  Escape Sequences.    (line 155)
 * metacharacters, in regular expressions: Regexp Operators.   (line   6)
 * minimum precision required by MPFR library: Auto-set.       (line 279)
 * Minshall, Greg:                        Getopt Function.     (line 105)
@@ -38739,9 +38746,9 @@ Index
 * portability, ARGV variable:            Executable Scripts.  (line  55)
 * portability, backslash continuation and: Statements/Lines.  (line  30)
 * portability, POSIXLY_CORRECT environment variable: Options. (line 422)
-* portability:                           Escape Sequences.    (line 117)
+* portability:                           Escape Sequences.    (line 119)
 * portability, backslash in escape sequences: Escape Sequences.
-                                                              (line 122)
+                                                              (line 124)
 * portability, data files as single record: gawk split records.
                                                               (line  77)
 * portability, NF variable, decrementing: Changing Fields.    (line 115)
@@ -38780,7 +38787,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 122)
+                                                              (line 124)
 * POSIX awk, period (.), using:          Regexp Operator Details.
                                                               (line  47)
 * POSIX awk, regular expressions and:    Regexp Operator Details.
@@ -39234,9 +39241,9 @@ Index
 * sidebar, Quoting Shell Variables On The awk Command Line: Other Arguments.
                                                               (line  71)
 * sidebar, Backslash Before Regular Characters: Escape Sequences.
-                                                              (line 120)
+                                                              (line 122)
 * sidebar, Escape Sequences for Metacharacters: Escape Sequences.
-                                                              (line 151)
+                                                              (line 153)
 * sidebar, What About The Empty Regexp?: Regexp Operator Details.
                                                               (line 149)
 * sidebar, Using \n in Bracket Expressions of Dynamic Regexps: Computed 
@@ -39501,7 +39508,7 @@ Index
                                                               (line 102)
 * troubleshooting, --non-decimal-data option: Options.        (line 261)
 * troubleshooting, backslash before nonspecial character: Escape Sequences.
-                                                              (line 122)
+                                                              (line 124)
 * troubleshooting, regexp constants vs. string constants: Computed Regexps.
                                                               (line  40)
 * troubleshooting, awk uses FS not IFS:  Field Separators.    (line  30)
@@ -39562,7 +39569,7 @@ Index
 * Unix, awk scripts and:                 Executable Scripts.  (line   6)
 * Unix:                                  Glossary.            (line 747)
 * Unix awk, backslashes in escape sequences: Escape Sequences.
-                                                              (line 134)
+                                                              (line 136)
 * Unix awk, password files, field separators and: Command Line Field Separator.
                                                               (line  62)
 * Unix awk, close() function and:        Close Return Value.  (line   6)
@@ -39783,564 +39790,565 @@ Node: Invoking Summary170000
 Node: Regexp173027
 Node: Regexp Usage174521
 Node: Escape Sequences176622
-Node: Regexp Operators183958
-Node: Regexp Operator Details184451
-Ref: Regexp Operator Details-Footnote-1192466
-Node: Interval Expressions192625
-Ref: Interval Expressions-Footnote-1194894
-Node: Bracket Expressions194994
-Ref: table-char-classes197554
-Node: Leftmost Longest201076
-Node: Computed Regexps202436
-Node: GNU Regexp Operators205959
-Node: Case-sensitivity209982
-Ref: Case-sensitivity-Footnote-1212939
-Ref: Case-sensitivity-Footnote-2213184
-Node: Regexp Summary213300
-Node: Reading Files214824
-Node: Records217141
-Node: awk split records218416
-Node: gawk split records223306
-Ref: gawk split records-Footnote-1228600
-Node: Fields228637
-Ref: Fields-Footnote-1231561
-Node: Nonconstant Fields231681
-Ref: Nonconstant Fields-Footnote-1233992
-Node: Changing Fields234208
-Node: Field Separators240516
-Node: Default Field Splitting243389
-Node: Regexp Field Splitting244532
-Node: Single Character Fields248361
-Node: Comma Separated Fields249450
-Ref: table-csv-examples250858
-Node: Command Line Field Separator253167
-Node: Full Line Fields256553
-Ref: Full Line Fields-Footnote-1258133
-Ref: Full Line Fields-Footnote-2258179
-Node: Field Splitting Summary258287
-Node: Constant Size260611
-Node: Fixed width data261355
-Node: Skipping intervening264874
-Node: Allowing trailing data265676
-Node: Fields with fixed data266741
-Node: Splitting By Content268367
-Ref: Splitting By Content-Footnote-1272643
-Node: More CSV272806
-Node: FS versus FPAT274459
-Node: Testing field creation275668
-Node: Multiple Line277446
-Node: Getline283928
-Node: Plain Getline286514
-Node: Getline/Variable289164
-Node: Getline/File290361
-Node: Getline/Variable/File291809
-Ref: Getline/Variable/File-Footnote-1293454
-Node: Getline/Pipe293550
-Node: Getline/Variable/Pipe296363
-Node: Getline/Coprocess297546
-Node: Getline/Variable/Coprocess298869
-Node: Getline Notes299635
-Node: Getline Summary302596
-Ref: table-getline-variants303040
-Node: Read Timeout303945
-Ref: Read Timeout-Footnote-1307909
-Node: Retrying Input307967
-Node: Command-line directories309234
-Node: Input Summary310172
-Node: Input Exercises313552
-Node: Printing313992
-Node: Print315935
-Node: Print Examples317441
-Node: Output Separators320294
-Node: OFMT322405
-Node: Printf324120
-Node: Basic Printf324925
-Node: Control Letters326561
-Node: Format Modifiers332030
-Node: Printf Examples338316
-Node: Redirection340861
-Node: Special FD347935
-Ref: Special FD-Footnote-1351225
-Node: Special Files351311
-Node: Other Inherited Files351940
-Node: Special Network353005
-Node: Special Caveats353893
-Node: Close Files And Pipes354876
-Ref: Close Files And Pipes-Footnote-1361012
-Node: Close Return Value361168
-Ref: table-close-pipe-return-values362443
-Ref: Close Return Value-Footnote-1363277
-Node: Noflush363433
-Node: Nonfatal364945
-Node: Output Summary367362
-Node: Output Exercises368648
-Node: Expressions369339
-Node: Values370541
-Node: Constants371219
-Node: Scalar Constants371916
-Ref: Scalar Constants-Footnote-1374494
-Ref: Scalar Constants-Footnote-2374744
-Node: Nondecimal-numbers374824
-Node: Regexp Constants377945
-Node: Using Constant Regexps378491
-Node: Standard Regexp Constants379137
-Node: Strong Regexp Constants382437
-Node: Variables386288
-Node: Using Variables386953
-Node: Assignment Options388933
-Node: Conversion391495
-Node: Strings And Numbers392027
-Ref: Strings And Numbers-Footnote-1395246
-Node: Locale influences conversions395355
-Ref: table-locale-affects398205
-Node: All Operators398848
-Node: Arithmetic Ops399489
-Node: Concatenation402319
-Ref: Concatenation-Footnote-1405269
-Node: Assignment Ops405392
-Ref: table-assign-ops410531
-Node: Increment Ops411913
-Node: Truth Values and Conditions415512
-Node: Truth Values416638
-Node: Typing and Comparison417729
-Node: Variable Typing418565
-Ref: Variable Typing-Footnote-1425227
-Ref: Variable Typing-Footnote-2425307
-Node: Comparison Operators425390
-Ref: table-relational-ops425817
-Node: POSIX String Comparison429503
-Ref: POSIX String Comparison-Footnote-1431262
-Ref: POSIX String Comparison-Footnote-2431405
-Node: Boolean Ops431489
-Ref: Boolean Ops-Footnote-1436182
-Node: Conditional Exp436278
-Node: Function Calls438064
-Node: Precedence442014
-Node: Locales445891
-Node: Expressions Summary447573
-Node: Patterns and Actions450236
-Node: Pattern Overview451378
-Node: Regexp Patterns453104
-Node: Expression Patterns453650
-Node: Ranges457559
-Node: BEGIN/END460737
-Node: Using BEGIN/END461550
-Ref: Using BEGIN/END-Footnote-1464460
-Node: I/O And BEGIN/END464570
-Node: Empty470492
-Node: Using Shell Variables470809
-Node: Action Overview473147
-Node: Statements475582
-Node: If Statement477480
-Node: While Statement479049
-Node: Do Statement481137
-Node: For Statement482323
-Node: Switch Statement485680
-Node: Break Statement488231
-Node: Continue Statement490423
-Node: Next Statement492355
-Node: Nextfile Statement494852
-Node: Exit Statement497713
-Node: Built-in Variables500246
-Node: User-modified501425
-Node: Auto-set509636
-Ref: Auto-set-Footnote-1527735
-Ref: Auto-set-Footnote-2527953
-Node: ARGC and ARGV528009
-Node: Pattern Action Summary532448
-Node: Arrays535064
-Node: Array Basics536441
-Node: Array Intro537291
-Ref: figure-array-elements539307
-Ref: Array Intro-Footnote-1542176
-Node: Reference to Elements542308
-Node: Assigning Elements544830
-Node: Array Example545325
-Node: Scanning an Array547294
-Node: Controlling Scanning550391
-Ref: Controlling Scanning-Footnote-1557037
-Node: Numeric Array Subscripts557361
-Node: Uninitialized Subscripts559635
-Node: Delete561314
-Ref: Delete-Footnote-1564128
-Node: Multidimensional564185
-Node: Multiscanning567390
-Node: Arrays of Arrays569062
-Node: Arrays Summary573962
-Node: Functions576151
-Node: Built-in577211
-Node: Calling Built-in578400
-Node: Boolean Functions580447
-Node: Numeric Functions581017
-Ref: Numeric Functions-Footnote-1585210
-Ref: Numeric Functions-Footnote-2585894
-Ref: Numeric Functions-Footnote-3585946
-Node: String Functions586222
-Ref: String Functions-Footnote-1612698
-Ref: String Functions-Footnote-2612832
-Ref: String Functions-Footnote-3613092
-Node: Gory Details613179
-Ref: table-sub-escapes615086
-Ref: table-sub-proposed616732
-Ref: table-posix-sub618242
-Ref: table-gensub-escapes619930
-Ref: Gory Details-Footnote-1620864
-Node: I/O Functions621018
-Ref: table-system-return-values627705
-Ref: I/O Functions-Footnote-1629876
-Ref: I/O Functions-Footnote-2630024
-Node: Time Functions630144
-Ref: Time Functions-Footnote-1641300
-Ref: Time Functions-Footnote-2641376
-Ref: Time Functions-Footnote-3641538
-Ref: Time Functions-Footnote-4641649
-Ref: Time Functions-Footnote-5641767
-Ref: Time Functions-Footnote-6642002
-Node: Bitwise Functions642284
-Ref: table-bitwise-ops642886
-Ref: Bitwise Functions-Footnote-1649140
-Ref: Bitwise Functions-Footnote-2649319
-Node: Type Functions649516
-Node: I18N Functions653109
-Node: User-defined654852
-Node: Definition Syntax655672
-Ref: Definition Syntax-Footnote-1661500
-Node: Function Example661577
-Ref: Function Example-Footnote-1664556
-Node: Function Calling664578
-Node: Calling A Function665172
-Node: Variable Scope666142
-Node: Pass By Value/Reference669196
-Node: Function Caveats671928
-Ref: Function Caveats-Footnote-1674023
-Node: Return Statement674147
-Node: Dynamic Typing677202
-Node: Indirect Calls679594
-Node: Functions Summary690753
-Node: Library Functions693530
-Ref: Library Functions-Footnote-1697078
-Ref: Library Functions-Footnote-2697221
-Node: Library Names697396
-Ref: Library Names-Footnote-1701190
-Ref: Library Names-Footnote-2701417
-Node: General Functions701513
-Node: Strtonum Function702783
-Node: Assert Function705865
-Node: Round Function709317
-Node: Cliff Random Function710895
-Node: Ordinal Functions711928
-Ref: Ordinal Functions-Footnote-1715037
-Ref: Ordinal Functions-Footnote-2715289
-Node: Join Function715503
-Ref: Join Function-Footnote-1717306
-Node: Getlocaltime Function717510
-Node: Readfile Function721284
-Node: Shell Quoting723313
-Node: Isnumeric Function724769
-Node: To CSV Function726205
-Node: Data File Management728281
-Node: Filetrans Function728913
-Node: Rewind Function733207
-Node: File Checking735186
-Ref: File Checking-Footnote-1736558
-Node: Empty Files736765
-Node: Ignoring Assigns738832
-Node: Getopt Function740406
-Ref: Getopt Function-Footnote-1756240
-Node: Passwd Functions756452
-Ref: Passwd Functions-Footnote-1765634
-Node: Group Functions765722
-Ref: Group Functions-Footnote-1773860
-Node: Walking Arrays774073
-Node: Library Functions Summary777121
-Node: Library Exercises778545
-Node: Sample Programs779032
-Node: Running Examples779814
-Node: Clones780566
-Node: Cut Program781838
-Node: Egrep Program792279
-Node: Id Program801596
-Node: Split Program811710
-Ref: Split Program-Footnote-1821945
-Node: Tee Program822132
-Node: Uniq Program825041
-Node: Wc Program832906
-Node: Bytes vs. Characters833301
-Node: Using extensions834903
-Node: wc program835683
-Node: Miscellaneous Programs840689
-Node: Dupword Program841918
-Node: Alarm Program843981
-Node: Translate Program848894
-Ref: Translate Program-Footnote-1853635
-Node: Labels Program853913
-Ref: Labels Program-Footnote-1857354
-Node: Word Sorting857446
-Node: History Sorting861640
-Node: Extract Program863915
-Node: Simple Sed872184
-Node: Igawk Program875400
-Ref: Igawk Program-Footnote-1890647
-Ref: Igawk Program-Footnote-2890853
-Ref: Igawk Program-Footnote-3890983
-Node: Anagram Program891110
-Node: Signature Program894206
-Node: Programs Summary895458
-Node: Programs Exercises896716
-Ref: Programs Exercises-Footnote-1901032
-Node: Advanced Features901118
-Node: Nondecimal Data903612
-Node: Boolean Typed Values905242
-Node: Array Sorting907217
-Node: Controlling Array Traversal907946
-Ref: Controlling Array Traversal-Footnote-1916453
-Node: Array Sorting Functions916575
-Ref: Array Sorting Functions-Footnote-1922694
-Node: Two-way I/O922902
-Ref: Two-way I/O-Footnote-1930897
-Ref: Two-way I/O-Footnote-2931088
-Node: TCP/IP Networking931170
-Node: Profiling934350
-Node: Persistent Memory944060
-Ref: Persistent Memory-Footnote-1953670
-Node: Extension Philosophy953801
-Node: Advanced Features Summary955336
-Node: Internationalization957606
-Node: I18N and L10N959312
-Node: Explaining gettext960007
-Ref: Explaining gettext-Footnote-1966160
-Ref: Explaining gettext-Footnote-2966355
-Node: Programmer i18n966520
-Ref: Programmer i18n-Footnote-1971633
-Node: Translator i18n971682
-Node: String Extraction972518
-Ref: String Extraction-Footnote-1973696
-Node: Printf Ordering973794
-Ref: Printf Ordering-Footnote-1976656
-Node: I18N Portability976724
-Ref: I18N Portability-Footnote-1979298
-Node: I18N Example979369
-Ref: I18N Example-Footnote-1982769
-Ref: I18N Example-Footnote-2982845
-Node: Gawk I18N982962
-Node: I18N Summary983618
-Node: Debugger985019
-Node: Debugging986043
-Node: Debugging Concepts986492
-Node: Debugging Terms988318
-Node: Awk Debugging990931
-Ref: Awk Debugging-Footnote-1991908
-Node: Sample Debugging Session992048
-Node: Debugger Invocation992600
-Node: Finding The Bug994229
-Node: List of Debugger Commands1000915
-Node: Breakpoint Control1002292
-Node: Debugger Execution Control1006124
-Node: Viewing And Changing Data1009604
-Node: Execution Stack1013342
-Node: Debugger Info1015023
-Node: Miscellaneous Debugger Commands1019322
-Node: Readline Support1024575
-Node: Limitations1025521
-Node: Debugging Summary1028165
-Node: Namespaces1029464
-Node: Global Namespace1030591
-Node: Qualified Names1032036
-Node: Default Namespace1033071
-Node: Changing The Namespace1033846
-Node: Naming Rules1035540
-Node: Internal Name Management1037455
-Node: Namespace Example1038525
-Node: Namespace And Features1041108
-Node: Namespace Summary1042565
-Node: Arbitrary Precision Arithmetic1044078
-Node: Computer Arithmetic1045597
-Ref: table-numeric-ranges1049414
-Ref: table-floating-point-ranges1049912
-Ref: Computer Arithmetic-Footnote-11050571
-Node: Math Definitions1050630
-Ref: table-ieee-formats1053675
-Node: MPFR features1054249
-Node: MPFR On Parole1054702
-Ref: MPFR On Parole-Footnote-11055546
-Node: MPFR Intro1055705
-Node: FP Math Caution1057395
-Ref: FP Math Caution-Footnote-11058469
-Node: Inexactness of computations1058846
-Node: Inexact representation1059877
-Node: Comparing FP Values1061260
-Node: Errors accumulate1062518
-Node: Strange values1063985
-Ref: Strange values-Footnote-11066651
-Node: Getting Accuracy1066756
-Node: Try To Round1069493
-Node: Setting precision1070400
-Ref: table-predefined-precision-strings1071105
-Node: Setting the rounding mode1072990
-Ref: table-gawk-rounding-modes1073372
-Ref: Setting the rounding mode-Footnote-11077430
-Node: Arbitrary Precision Integers1077613
-Ref: Arbitrary Precision Integers-Footnote-11080825
-Node: Checking for MPFR1080981
-Node: POSIX Floating Point Problems1082471
-Ref: POSIX Floating Point Problems-Footnote-11087335
-Node: Floating point summary1087373
-Node: Dynamic Extensions1089637
-Node: Extension Intro1091236
-Node: Plugin License1092544
-Node: Extension Mechanism Outline1093357
-Ref: figure-load-extension1093808
-Ref: figure-register-new-function1095393
-Ref: figure-call-new-function1096503
-Node: Extension API Description1098627
-Node: Extension API Functions Introduction1100356
-Ref: table-api-std-headers1102254
-Node: General Data Types1106718
-Ref: General Data Types-Footnote-11115886
-Node: Memory Allocation Functions1116201
-Ref: Memory Allocation Functions-Footnote-11120926
-Node: Constructor Functions1121025
-Node: API Ownership of MPFR and GMP Values1124930
-Node: Registration Functions1126491
-Node: Extension Functions1127195
-Node: Exit Callback Functions1132771
-Node: Extension Version String1134090
-Node: Input Parsers1134785
-Node: Output Wrappers1149429
-Node: Two-way processors1154277
-Node: Printing Messages1156638
-Ref: Printing Messages-Footnote-11157852
-Node: Updating ERRNO1158007
-Node: Requesting Values1158806
-Ref: table-value-types-returned1159559
-Node: Accessing Parameters1160668
-Node: Symbol Table Access1161952
-Node: Symbol table by name1162468
-Ref: Symbol table by name-Footnote-11165679
-Node: Symbol table by cookie1165811
-Ref: Symbol table by cookie-Footnote-11170092
-Node: Cached values1170156
-Ref: Cached values-Footnote-11173800
-Node: Array Manipulation1173957
-Ref: Array Manipulation-Footnote-11175060
-Node: Array Data Types1175097
-Ref: Array Data Types-Footnote-11177919
-Node: Array Functions1178019
-Node: Flattening Arrays1183048
-Node: Creating Arrays1190100
-Node: Redirection API1194950
-Node: Extension API Variables1197971
-Node: Extension Versioning1198696
-Ref: gawk-api-version1199133
-Node: Extension GMP/MPFR Versioning1200921
-Node: Extension API Informational Variables1202627
-Node: Extension API Boilerplate1203880
-Node: Changes from API V11208016
-Node: Finding Extensions1209650
-Node: Extension Example1210225
-Node: Internal File Description1211049
-Node: Internal File Ops1215373
-Ref: Internal File Ops-Footnote-11226931
-Node: Using Internal File Ops1227079
-Ref: Using Internal File Ops-Footnote-11229510
-Node: Extension Samples1229788
-Node: Extension Sample File Functions1231357
-Node: Extension Sample Fnmatch1239495
-Node: Extension Sample Fork1241090
-Node: Extension Sample Inplace1242366
-Node: Extension Sample Ord1246038
-Node: Extension Sample Readdir1246914
-Ref: table-readdir-file-types1247703
-Node: Extension Sample Revout1249064
-Node: Extension Sample Rev2way1249661
-Node: Extension Sample Read write array1250413
-Node: Extension Sample Readfile1253687
-Node: Extension Sample Time1254818
-Node: Extension Sample API Tests1257108
-Node: gawkextlib1257616
-Node: Extension summary1260652
-Node: Extension Exercises1264510
-Node: Language History1265788
-Node: V7/SVR3.11267502
-Node: SVR41269852
-Node: POSIX1271384
-Node: BTL1272809
-Node: POSIX/GNU1273578
-Node: Feature History1280109
-Node: Common Extensions1299925
-Node: Ranges and Locales1301402
-Ref: Ranges and Locales-Footnote-11306203
-Ref: Ranges and Locales-Footnote-21306230
-Ref: Ranges and Locales-Footnote-31306469
-Node: Contributors1306692
-Node: History summary1312897
-Node: Installation1314343
-Node: Gawk Distribution1315307
-Node: Getting1315799
-Node: Extracting1316798
-Node: Distribution contents1318510
-Node: Unix Installation1326590
-Node: Quick Installation1327412
-Node: Compiling with MPFR1329958
-Node: Shell Startup Files1330664
-Node: Additional Configuration Options1331821
-Node: Configuration Philosophy1334208
-Node: Compiling from Git1336710
-Node: Building the Documentation1337269
-Node: Non-Unix Installation1338681
-Node: PC Installation1339157
-Node: PC Binary Installation1340030
-Node: PC Compiling1340935
-Node: PC Using1342113
-Node: Cygwin1345841
-Node: MSYS1347097
-Node: OpenVMS Installation1347729
-Node: OpenVMS Compilation1348410
-Ref: OpenVMS Compilation-Footnote-11349893
-Node: OpenVMS Dynamic Extensions1349955
-Node: OpenVMS Installation Details1351591
-Node: OpenVMS Running1354026
-Node: OpenVMS GNV1358163
-Node: Bugs1358918
-Node: Bug definition1359842
-Node: Bug address1363493
-Node: Usenet1367084
-Node: Performance bugs1368315
-Node: Asking for help1371333
-Node: Maintainers1373324
-Node: Other Versions1374351
-Node: Installation summary1383694
-Node: Notes1385078
-Node: Compatibility Mode1385888
-Node: Additions1386710
-Node: Accessing The Source1387655
-Node: Adding Code1389190
-Node: New Ports1396326
-Node: Derived Files1400836
-Ref: Derived Files-Footnote-11406683
-Ref: Derived Files-Footnote-21406718
-Ref: Derived Files-Footnote-31407335
-Node: Future Extensions1407449
-Node: Implementation Limitations1408121
-Node: Extension Design1409363
-Node: Old Extension Problems1410527
-Ref: Old Extension Problems-Footnote-11412103
-Node: Extension New Mechanism Goals1412164
-Ref: Extension New Mechanism Goals-Footnote-11415660
-Node: Extension Other Design Decisions1415861
-Node: Extension Future Growth1418060
-Node: Notes summary1418684
-Node: Basic Concepts1419897
-Node: Basic High Level1420582
-Ref: figure-general-flow1420864
-Ref: figure-process-flow1421571
-Ref: Basic High Level-Footnote-11424972
-Node: Basic Data Typing1425161
-Node: Glossary1428579
-Node: Copying1461701
-Node: GNU Free Documentation License1499462
-Node: Index1524785
+Ref: Escape Sequences-Footnote-1184154
+Node: Regexp Operators184234
+Node: Regexp Operator Details184727
+Ref: Regexp Operator Details-Footnote-1192742
+Node: Interval Expressions192901
+Ref: Interval Expressions-Footnote-1195170
+Node: Bracket Expressions195270
+Ref: table-char-classes197830
+Node: Leftmost Longest201352
+Node: Computed Regexps202712
+Node: GNU Regexp Operators206235
+Node: Case-sensitivity210258
+Ref: Case-sensitivity-Footnote-1213215
+Ref: Case-sensitivity-Footnote-2213460
+Node: Regexp Summary213576
+Node: Reading Files215100
+Node: Records217417
+Node: awk split records218692
+Node: gawk split records223582
+Ref: gawk split records-Footnote-1228876
+Node: Fields228913
+Ref: Fields-Footnote-1231837
+Node: Nonconstant Fields231957
+Ref: Nonconstant Fields-Footnote-1234268
+Node: Changing Fields234484
+Node: Field Separators240792
+Node: Default Field Splitting243665
+Node: Regexp Field Splitting244808
+Node: Single Character Fields248637
+Node: Comma Separated Fields249726
+Ref: table-csv-examples251134
+Node: Command Line Field Separator253443
+Node: Full Line Fields256829
+Ref: Full Line Fields-Footnote-1258409
+Ref: Full Line Fields-Footnote-2258455
+Node: Field Splitting Summary258563
+Node: Constant Size260887
+Node: Fixed width data261631
+Node: Skipping intervening265150
+Node: Allowing trailing data265952
+Node: Fields with fixed data267017
+Node: Splitting By Content268643
+Ref: Splitting By Content-Footnote-1272919
+Node: More CSV273082
+Node: FS versus FPAT274735
+Node: Testing field creation275944
+Node: Multiple Line277722
+Node: Getline284204
+Node: Plain Getline286790
+Node: Getline/Variable289440
+Node: Getline/File290637
+Node: Getline/Variable/File292085
+Ref: Getline/Variable/File-Footnote-1293730
+Node: Getline/Pipe293826
+Node: Getline/Variable/Pipe296639
+Node: Getline/Coprocess297822
+Node: Getline/Variable/Coprocess299145
+Node: Getline Notes299911
+Node: Getline Summary302872
+Ref: table-getline-variants303316
+Node: Read Timeout304221
+Ref: Read Timeout-Footnote-1308185
+Node: Retrying Input308243
+Node: Command-line directories309510
+Node: Input Summary310448
+Node: Input Exercises313828
+Node: Printing314268
+Node: Print316211
+Node: Print Examples317717
+Node: Output Separators320570
+Node: OFMT322681
+Node: Printf324396
+Node: Basic Printf325201
+Node: Control Letters326837
+Node: Format Modifiers332306
+Node: Printf Examples338592
+Node: Redirection341137
+Node: Special FD348211
+Ref: Special FD-Footnote-1351501
+Node: Special Files351587
+Node: Other Inherited Files352216
+Node: Special Network353281
+Node: Special Caveats354169
+Node: Close Files And Pipes355152
+Ref: Close Files And Pipes-Footnote-1361288
+Node: Close Return Value361444
+Ref: table-close-pipe-return-values362719
+Ref: Close Return Value-Footnote-1363553
+Node: Noflush363709
+Node: Nonfatal365221
+Node: Output Summary367638
+Node: Output Exercises368924
+Node: Expressions369615
+Node: Values370817
+Node: Constants371495
+Node: Scalar Constants372192
+Ref: Scalar Constants-Footnote-1374770
+Ref: Scalar Constants-Footnote-2375020
+Node: Nondecimal-numbers375100
+Node: Regexp Constants378221
+Node: Using Constant Regexps378767
+Node: Standard Regexp Constants379413
+Node: Strong Regexp Constants382713
+Node: Variables386564
+Node: Using Variables387229
+Node: Assignment Options389209
+Node: Conversion391771
+Node: Strings And Numbers392303
+Ref: Strings And Numbers-Footnote-1395522
+Node: Locale influences conversions395631
+Ref: table-locale-affects398481
+Node: All Operators399124
+Node: Arithmetic Ops399765
+Node: Concatenation402595
+Ref: Concatenation-Footnote-1405545
+Node: Assignment Ops405668
+Ref: table-assign-ops410807
+Node: Increment Ops412189
+Node: Truth Values and Conditions415788
+Node: Truth Values416914
+Node: Typing and Comparison418005
+Node: Variable Typing418841
+Ref: Variable Typing-Footnote-1425503
+Ref: Variable Typing-Footnote-2425583
+Node: Comparison Operators425666
+Ref: table-relational-ops426093
+Node: POSIX String Comparison429779
+Ref: POSIX String Comparison-Footnote-1431538
+Ref: POSIX String Comparison-Footnote-2431681
+Node: Boolean Ops431765
+Ref: Boolean Ops-Footnote-1436458
+Node: Conditional Exp436554
+Node: Function Calls438340
+Node: Precedence442290
+Node: Locales446167
+Node: Expressions Summary447849
+Node: Patterns and Actions450512
+Node: Pattern Overview451654
+Node: Regexp Patterns453380
+Node: Expression Patterns453926
+Node: Ranges457835
+Node: BEGIN/END461013
+Node: Using BEGIN/END461826
+Ref: Using BEGIN/END-Footnote-1464736
+Node: I/O And BEGIN/END464846
+Node: Empty470768
+Node: Using Shell Variables471085
+Node: Action Overview473423
+Node: Statements475858
+Node: If Statement477756
+Node: While Statement479325
+Node: Do Statement481413
+Node: For Statement482599
+Node: Switch Statement485956
+Node: Break Statement488507
+Node: Continue Statement490699
+Node: Next Statement492631
+Node: Nextfile Statement495128
+Node: Exit Statement497989
+Node: Built-in Variables500522
+Node: User-modified501701
+Node: Auto-set509912
+Ref: Auto-set-Footnote-1528011
+Ref: Auto-set-Footnote-2528229
+Node: ARGC and ARGV528285
+Node: Pattern Action Summary532724
+Node: Arrays535340
+Node: Array Basics536717
+Node: Array Intro537567
+Ref: figure-array-elements539583
+Ref: Array Intro-Footnote-1542452
+Node: Reference to Elements542584
+Node: Assigning Elements545106
+Node: Array Example545601
+Node: Scanning an Array547570
+Node: Controlling Scanning550667
+Ref: Controlling Scanning-Footnote-1557313
+Node: Numeric Array Subscripts557637
+Node: Uninitialized Subscripts559911
+Node: Delete561590
+Ref: Delete-Footnote-1564404
+Node: Multidimensional564461
+Node: Multiscanning567666
+Node: Arrays of Arrays569338
+Node: Arrays Summary574238
+Node: Functions576427
+Node: Built-in577487
+Node: Calling Built-in578676
+Node: Boolean Functions580723
+Node: Numeric Functions581293
+Ref: Numeric Functions-Footnote-1585486
+Ref: Numeric Functions-Footnote-2586170
+Ref: Numeric Functions-Footnote-3586222
+Node: String Functions586498
+Ref: String Functions-Footnote-1612974
+Ref: String Functions-Footnote-2613108
+Ref: String Functions-Footnote-3613368
+Node: Gory Details613455
+Ref: table-sub-escapes615362
+Ref: table-sub-proposed617008
+Ref: table-posix-sub618518
+Ref: table-gensub-escapes620206
+Ref: Gory Details-Footnote-1621140
+Node: I/O Functions621294
+Ref: table-system-return-values627981
+Ref: I/O Functions-Footnote-1630152
+Ref: I/O Functions-Footnote-2630300
+Node: Time Functions630420
+Ref: Time Functions-Footnote-1641576
+Ref: Time Functions-Footnote-2641652
+Ref: Time Functions-Footnote-3641814
+Ref: Time Functions-Footnote-4641925
+Ref: Time Functions-Footnote-5642043
+Ref: Time Functions-Footnote-6642278
+Node: Bitwise Functions642560
+Ref: table-bitwise-ops643162
+Ref: Bitwise Functions-Footnote-1649416
+Ref: Bitwise Functions-Footnote-2649595
+Node: Type Functions649792
+Node: I18N Functions653385
+Node: User-defined655128
+Node: Definition Syntax655948
+Ref: Definition Syntax-Footnote-1661776
+Node: Function Example661853
+Ref: Function Example-Footnote-1664832
+Node: Function Calling664854
+Node: Calling A Function665448
+Node: Variable Scope666418
+Node: Pass By Value/Reference669472
+Node: Function Caveats672204
+Ref: Function Caveats-Footnote-1674299
+Node: Return Statement674423
+Node: Dynamic Typing677478
+Node: Indirect Calls679870
+Node: Functions Summary691029
+Node: Library Functions693806
+Ref: Library Functions-Footnote-1697354
+Ref: Library Functions-Footnote-2697497
+Node: Library Names697672
+Ref: Library Names-Footnote-1701466
+Ref: Library Names-Footnote-2701693
+Node: General Functions701789
+Node: Strtonum Function703059
+Node: Assert Function706141
+Node: Round Function709593
+Node: Cliff Random Function711171
+Node: Ordinal Functions712204
+Ref: Ordinal Functions-Footnote-1715313
+Ref: Ordinal Functions-Footnote-2715565
+Node: Join Function715779
+Ref: Join Function-Footnote-1717582
+Node: Getlocaltime Function717786
+Node: Readfile Function721560
+Node: Shell Quoting723589
+Node: Isnumeric Function725045
+Node: To CSV Function726481
+Node: Data File Management728557
+Node: Filetrans Function729189
+Node: Rewind Function733483
+Node: File Checking735462
+Ref: File Checking-Footnote-1736834
+Node: Empty Files737041
+Node: Ignoring Assigns739108
+Node: Getopt Function740682
+Ref: Getopt Function-Footnote-1756516
+Node: Passwd Functions756728
+Ref: Passwd Functions-Footnote-1765910
+Node: Group Functions765998
+Ref: Group Functions-Footnote-1774136
+Node: Walking Arrays774349
+Node: Library Functions Summary777397
+Node: Library Exercises778821
+Node: Sample Programs779308
+Node: Running Examples780090
+Node: Clones780842
+Node: Cut Program782114
+Node: Egrep Program792555
+Node: Id Program801872
+Node: Split Program811986
+Ref: Split Program-Footnote-1822221
+Node: Tee Program822408
+Node: Uniq Program825317
+Node: Wc Program833182
+Node: Bytes vs. Characters833577
+Node: Using extensions835179
+Node: wc program835959
+Node: Miscellaneous Programs840965
+Node: Dupword Program842194
+Node: Alarm Program844257
+Node: Translate Program849170
+Ref: Translate Program-Footnote-1853911
+Node: Labels Program854189
+Ref: Labels Program-Footnote-1857630
+Node: Word Sorting857722
+Node: History Sorting861916
+Node: Extract Program864191
+Node: Simple Sed872460
+Node: Igawk Program875676
+Ref: Igawk Program-Footnote-1890923
+Ref: Igawk Program-Footnote-2891129
+Ref: Igawk Program-Footnote-3891259
+Node: Anagram Program891386
+Node: Signature Program894482
+Node: Programs Summary895734
+Node: Programs Exercises896992
+Ref: Programs Exercises-Footnote-1901308
+Node: Advanced Features901394
+Node: Nondecimal Data903888
+Node: Boolean Typed Values905518
+Node: Array Sorting907493
+Node: Controlling Array Traversal908222
+Ref: Controlling Array Traversal-Footnote-1916729
+Node: Array Sorting Functions916851
+Ref: Array Sorting Functions-Footnote-1922970
+Node: Two-way I/O923178
+Ref: Two-way I/O-Footnote-1931173
+Ref: Two-way I/O-Footnote-2931364
+Node: TCP/IP Networking931446
+Node: Profiling934626
+Node: Persistent Memory944336
+Ref: Persistent Memory-Footnote-1953946
+Node: Extension Philosophy954077
+Node: Advanced Features Summary955612
+Node: Internationalization957882
+Node: I18N and L10N959588
+Node: Explaining gettext960283
+Ref: Explaining gettext-Footnote-1966436
+Ref: Explaining gettext-Footnote-2966631
+Node: Programmer i18n966796
+Ref: Programmer i18n-Footnote-1971909
+Node: Translator i18n971958
+Node: String Extraction972794
+Ref: String Extraction-Footnote-1973972
+Node: Printf Ordering974070
+Ref: Printf Ordering-Footnote-1976932
+Node: I18N Portability977000
+Ref: I18N Portability-Footnote-1979574
+Node: I18N Example979645
+Ref: I18N Example-Footnote-1983045
+Ref: I18N Example-Footnote-2983121
+Node: Gawk I18N983238
+Node: I18N Summary983894
+Node: Debugger985295
+Node: Debugging986319
+Node: Debugging Concepts986768
+Node: Debugging Terms988594
+Node: Awk Debugging991207
+Ref: Awk Debugging-Footnote-1992184
+Node: Sample Debugging Session992324
+Node: Debugger Invocation992876
+Node: Finding The Bug994505
+Node: List of Debugger Commands1001191
+Node: Breakpoint Control1002568
+Node: Debugger Execution Control1006400
+Node: Viewing And Changing Data1009880
+Node: Execution Stack1013618
+Node: Debugger Info1015299
+Node: Miscellaneous Debugger Commands1019598
+Node: Readline Support1024851
+Node: Limitations1025797
+Node: Debugging Summary1028441
+Node: Namespaces1029740
+Node: Global Namespace1030867
+Node: Qualified Names1032312
+Node: Default Namespace1033347
+Node: Changing The Namespace1034122
+Node: Naming Rules1035816
+Node: Internal Name Management1037731
+Node: Namespace Example1038801
+Node: Namespace And Features1041384
+Node: Namespace Summary1042841
+Node: Arbitrary Precision Arithmetic1044354
+Node: Computer Arithmetic1045873
+Ref: table-numeric-ranges1049690
+Ref: table-floating-point-ranges1050188
+Ref: Computer Arithmetic-Footnote-11050847
+Node: Math Definitions1050906
+Ref: table-ieee-formats1053951
+Node: MPFR features1054525
+Node: MPFR On Parole1054978
+Ref: MPFR On Parole-Footnote-11055822
+Node: MPFR Intro1055981
+Node: FP Math Caution1057671
+Ref: FP Math Caution-Footnote-11058745
+Node: Inexactness of computations1059122
+Node: Inexact representation1060153
+Node: Comparing FP Values1061536
+Node: Errors accumulate1062794
+Node: Strange values1064261
+Ref: Strange values-Footnote-11066927
+Node: Getting Accuracy1067032
+Node: Try To Round1069769
+Node: Setting precision1070676
+Ref: table-predefined-precision-strings1071381
+Node: Setting the rounding mode1073266
+Ref: table-gawk-rounding-modes1073648
+Ref: Setting the rounding mode-Footnote-11077706
+Node: Arbitrary Precision Integers1077889
+Ref: Arbitrary Precision Integers-Footnote-11081101
+Node: Checking for MPFR1081257
+Node: POSIX Floating Point Problems1082747
+Ref: POSIX Floating Point Problems-Footnote-11087611
+Node: Floating point summary1087649
+Node: Dynamic Extensions1089913
+Node: Extension Intro1091512
+Node: Plugin License1092820
+Node: Extension Mechanism Outline1093633
+Ref: figure-load-extension1094084
+Ref: figure-register-new-function1095669
+Ref: figure-call-new-function1096779
+Node: Extension API Description1098903
+Node: Extension API Functions Introduction1100632
+Ref: table-api-std-headers1102530
+Node: General Data Types1106994
+Ref: General Data Types-Footnote-11116162
+Node: Memory Allocation Functions1116477
+Ref: Memory Allocation Functions-Footnote-11121202
+Node: Constructor Functions1121301
+Node: API Ownership of MPFR and GMP Values1125206
+Node: Registration Functions1126767
+Node: Extension Functions1127471
+Node: Exit Callback Functions1133047
+Node: Extension Version String1134366
+Node: Input Parsers1135061
+Node: Output Wrappers1149705
+Node: Two-way processors1154553
+Node: Printing Messages1156914
+Ref: Printing Messages-Footnote-11158128
+Node: Updating ERRNO1158283
+Node: Requesting Values1159082
+Ref: table-value-types-returned1159835
+Node: Accessing Parameters1160944
+Node: Symbol Table Access1162228
+Node: Symbol table by name1162744
+Ref: Symbol table by name-Footnote-11165955
+Node: Symbol table by cookie1166087
+Ref: Symbol table by cookie-Footnote-11170368
+Node: Cached values1170432
+Ref: Cached values-Footnote-11174076
+Node: Array Manipulation1174233
+Ref: Array Manipulation-Footnote-11175336
+Node: Array Data Types1175373
+Ref: Array Data Types-Footnote-11178195
+Node: Array Functions1178295
+Node: Flattening Arrays1183324
+Node: Creating Arrays1190376
+Node: Redirection API1195226
+Node: Extension API Variables1198247
+Node: Extension Versioning1198972
+Ref: gawk-api-version1199409
+Node: Extension GMP/MPFR Versioning1201197
+Node: Extension API Informational Variables1202903
+Node: Extension API Boilerplate1204156
+Node: Changes from API V11208292
+Node: Finding Extensions1209926
+Node: Extension Example1210501
+Node: Internal File Description1211325
+Node: Internal File Ops1215649
+Ref: Internal File Ops-Footnote-11227207
+Node: Using Internal File Ops1227355
+Ref: Using Internal File Ops-Footnote-11229786
+Node: Extension Samples1230064
+Node: Extension Sample File Functions1231633
+Node: Extension Sample Fnmatch1239771
+Node: Extension Sample Fork1241366
+Node: Extension Sample Inplace1242642
+Node: Extension Sample Ord1246314
+Node: Extension Sample Readdir1247190
+Ref: table-readdir-file-types1247979
+Node: Extension Sample Revout1249340
+Node: Extension Sample Rev2way1249937
+Node: Extension Sample Read write array1250689
+Node: Extension Sample Readfile1253963
+Node: Extension Sample Time1255094
+Node: Extension Sample API Tests1257384
+Node: gawkextlib1257892
+Node: Extension summary1260928
+Node: Extension Exercises1264786
+Node: Language History1266064
+Node: V7/SVR3.11267778
+Node: SVR41270128
+Node: POSIX1271660
+Node: BTL1273085
+Node: POSIX/GNU1273854
+Node: Feature History1280385
+Node: Common Extensions1300201
+Node: Ranges and Locales1301678
+Ref: Ranges and Locales-Footnote-11306479
+Ref: Ranges and Locales-Footnote-21306506
+Ref: Ranges and Locales-Footnote-31306745
+Node: Contributors1306968
+Node: History summary1313173
+Node: Installation1314619
+Node: Gawk Distribution1315583
+Node: Getting1316075
+Node: Extracting1317074
+Node: Distribution contents1318786
+Node: Unix Installation1326866
+Node: Quick Installation1327688
+Node: Compiling with MPFR1330234
+Node: Shell Startup Files1330940
+Node: Additional Configuration Options1332097
+Node: Configuration Philosophy1334484
+Node: Compiling from Git1336986
+Node: Building the Documentation1337545
+Node: Non-Unix Installation1338957
+Node: PC Installation1339433
+Node: PC Binary Installation1340306
+Node: PC Compiling1341211
+Node: PC Using1342389
+Node: Cygwin1346117
+Node: MSYS1347373
+Node: OpenVMS Installation1348005
+Node: OpenVMS Compilation1348686
+Ref: OpenVMS Compilation-Footnote-11350169
+Node: OpenVMS Dynamic Extensions1350231
+Node: OpenVMS Installation Details1351867
+Node: OpenVMS Running1354302
+Node: OpenVMS GNV1358439
+Node: Bugs1359194
+Node: Bug definition1360118
+Node: Bug address1363769
+Node: Usenet1367360
+Node: Performance bugs1368591
+Node: Asking for help1371609
+Node: Maintainers1373600
+Node: Other Versions1374627
+Node: Installation summary1383970
+Node: Notes1385354
+Node: Compatibility Mode1386164
+Node: Additions1386986
+Node: Accessing The Source1387931
+Node: Adding Code1389466
+Node: New Ports1396602
+Node: Derived Files1401112
+Ref: Derived Files-Footnote-11406959
+Ref: Derived Files-Footnote-21406994
+Ref: Derived Files-Footnote-31407611
+Node: Future Extensions1407725
+Node: Implementation Limitations1408397
+Node: Extension Design1409639
+Node: Old Extension Problems1410803
+Ref: Old Extension Problems-Footnote-11412379
+Node: Extension New Mechanism Goals1412440
+Ref: Extension New Mechanism Goals-Footnote-11415936
+Node: Extension Other Design Decisions1416137
+Node: Extension Future Growth1418336
+Node: Notes summary1418960
+Node: Basic Concepts1420173
+Node: Basic High Level1420858
+Ref: figure-general-flow1421140
+Ref: figure-process-flow1421847
+Ref: Basic High Level-Footnote-11425248
+Node: Basic Data Typing1425437
+Node: Glossary1428855
+Node: Copying1461977
+Node: GNU Free Documentation License1499738
+Node: Index1525061
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 32f902e1..c4d3c884 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -5759,18 +5759,21 @@ are processed.
 @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{"?"}.
+of one or more 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 current locale's character set.@footnote{Typically, this is a
+Unicode-based locale, but it doesn't have to be.} @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. If
+the wide character value does not represent a valid character, or if
+the character is valid but cannot be encoded into the current locale's
+multibyte encoding, the value becomes @code{"?"}. @command{gawk} issues
+a warning message when this happens.
 @cindex @code{\} (backslash) @subentry @code{\/} escape sequence
 @cindex backslash (@code{\}) @subentry @code{\/} escape sequence
diff --git a/doc/ b/doc/
index f968c412..b7c2b34a 100644
--- a/doc/
+++ b/doc/
@@ -5621,18 +5621,21 @@ are processed.
 @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{"?"}.
+of one or more 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 current locale's character set.@footnote{Typically, this is a
+Unicode-based locale, but it doesn't have to be.} @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. If
+the wide character value does not represent a valid character, or if
+the character is valid but cannot be encoded into the current locale's
+multibyte encoding, the value becomes @code{"?"}. @command{gawk} issues
+a warning message when this happens.
 @cindex @code{\} (backslash) @subentry @code{\/} escape sequence
 @cindex backslash (@code{\}) @subentry @code{\/} escape sequence


Summary of changes:
 doc/ChangeLog   |    5 +
 doc/   | 1182 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |   27 +-
 doc/ |   27 +-
 4 files changed, 630 insertions(+), 611 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]