[Top][All Lists]

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

[SCM] gawk branch, master, updated. gawk-4.1.0-4656-g6083e965

From: Arnold Robbins
Subject: [SCM] gawk branch, master, updated. gawk-4.1.0-4656-g6083e965
Date: Sun, 27 Feb 2022 13:45:40 -0500 (EST)

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  6083e965fac1b272f9ccb491902b24a24ea14122 (commit)
       via  fc1410099d6ccbb72adb54ecffd0711348706ca4 (commit)
       via  7acb038bd54f81fb95dac70954e5c1b8ec07a086 (commit)
       via  d36d6c02e9f3277850815f3bf5aec3b22fa54a21 (commit)
      from  8f166e9571804a61c33822722c334062e1e47c39 (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 6083e965fac1b272f9ccb491902b24a24ea14122
Merge: d36d6c02 fc141009
Author: Arnold D. Robbins <>
Date:   Sun Feb 27 20:45:27 2022 +0200

    Merge branch 'gawk-5.1-stable'

diff --cc ChangeLog
index 3f417e10,96a80815..38418807
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,23 -1,11 +1,31 @@@
+ 2022-02-27         Arnold D. Robbins     <>
+       * awk.h (cant_happen): Change to allow a format string and arguments,
+       in order to provide a clue as to what went wrong, and not just
+       print "internal error".
+       * awkgram.y, debug.c, eval.c, interpret.h, io.c, main.c, mpfr.c,
+       profile.c, re.c, symbol.c: Fix all uses of cant_happen().
 +2022-02-25         Arnold D. Robbins     <>
 +      Memory issues with MPFR, fix part 2. (Part 1 is in the
 +      extension directory.)
 +      * gawkapi.c (awk_value_to_node): Clear the GMP/MPFR values
 +      returned from the C extension after setting the internal
 +      variable.
 +2022-02-22         Arnold D. Robbins     <>
 +      Enable interval expressions even for --traditional, as BWK
 +      awk has supported them since 2019.
 +      * NEWS: Updated.
 +      * main.c (main): Add lint warning for --re-interval.
 +      (parse_args): Add explanatory comment.
 +      * re.c (resetup): Update the comment w.r.t. interval expressions.
 +      Change the test for enabled them to if do_traditional.
  2022-02-22         Arnold D. Robbins     <>
        Fix resource links found by Coverity. Thanks to
diff --cc doc/ChangeLog
index dec843a2,4aaad6c5..5d8cc9af
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@@ -1,18 -1,8 +1,23 @@@
+ 2022-02-27         Arnold D. Robbins     <>
+       * (Array Sorting Functions): Add a note to be careful
+       to use local variables in comparison functions.
 +2022-02-25         Arnold D. Robbins     <>
 +      * (API Ownership of MPFR and GMP Values): Rework for
 +      changes to code.
 +2022-02-23         Andrew J. Schorr      <>
 +      * (Extension Sample Read write array): Fix description of
 +      readall to say readall instead of writeall.
 +2022-02-22         Arnold D. Robbins     <>
 +      * Update --re-interval description.
 +      * Ditto, in all relevant places.
  2022-02-07         Arnold D. Robbins     <>
        * (Indirect Calls): Expand discussion of calling
diff --cc doc/
index f0450b45,77bdc99f..037df3d0
--- a/doc/
+++ b/doc/
@@@ -38772,612 -38622,609 +38781,612 @@@ Inde
  Tag Table:
  Node: Top1200
 -Node: Foreword345313
 -Node: Foreword449755
 -Node: Preface51287
 -Ref: Preface-Footnote-154146
 -Ref: Preface-Footnote-254255
 -Ref: Preface-Footnote-354489
 -Node: History54631
 -Node: Names56983
 -Ref: Names-Footnote-158087
 -Node: This Manual58234
 -Ref: This Manual-Footnote-164873
 -Node: Conventions64973
 -Node: Manual History67342
 -Ref: Manual History-Footnote-170339
 -Ref: Manual History-Footnote-270380
 -Node: How To Contribute70454
 -Node: Acknowledgments71380
 -Node: Getting Started76317
 -Node: Running gawk78756
 -Node: One-shot79946
 -Node: Read Terminal81209
 -Node: Long83202
 -Node: Executable Scripts84715
 -Ref: Executable Scripts-Footnote-187348
 -Node: Comments87451
 -Node: Quoting89935
 -Node: DOS Quoting95461
 -Node: Sample Data Files97517
 -Node: Very Simple100112
 -Node: Two Rules106214
 -Node: More Complex108099
 -Node: Statements/Lines110431
 -Ref: Statements/Lines-Footnote-1114915
 -Node: Other Features115180
 -Node: When116116
 -Ref: When-Footnote-1117870
 -Node: Intro Summary117935
 -Node: Invoking Gawk118819
 -Node: Command Line120333
 -Node: Options121131
 -Ref: Options-Footnote-1139045
 -Ref: Options-Footnote-2139276
 -Node: Other Arguments139301
 -Node: Naming Standard Input143312
 -Node: Environment Variables144522
 -Node: AWKPATH Variable145080
 -Ref: AWKPATH Variable-Footnote-1148492
 -Ref: AWKPATH Variable-Footnote-2148526
 -Node: AWKLIBPATH Variable148897
 -Ref: AWKLIBPATH Variable-Footnote-1150594
 -Node: Other Environment Variables150969
 -Node: Exit Status154790
 -Node: Include Files155467
 -Node: Loading Shared Libraries159157
 -Node: Obsolete160585
 -Node: Undocumented161277
 -Node: Invoking Summary161574
 -Node: Regexp164415
 -Node: Regexp Usage165869
 -Node: Escape Sequences167906
 -Node: Regexp Operators174147
 -Node: Regexp Operator Details174632
 -Ref: Regexp Operator Details-Footnote-1181996
 -Node: Interval Expressions182143
 -Ref: Interval Expressions-Footnote-1184343
 -Node: Bracket Expressions184441
 -Ref: table-char-classes186917
 -Node: Leftmost Longest190244
 -Node: Computed Regexps191547
 -Node: GNU Regexp Operators194974
 -Node: Case-sensitivity198711
 -Ref: Case-sensitivity-Footnote-1201577
 -Ref: Case-sensitivity-Footnote-2201812
 -Node: Regexp Summary201920
 -Node: Reading Files203386
 -Node: Records205655
 -Node: awk split records206730
 -Node: gawk split records211430
 -Ref: gawk split records-Footnote-1216504
 -Node: Fields216541
 -Node: Nonconstant Fields219282
 -Ref: Nonconstant Fields-Footnote-1221518
 -Node: Changing Fields221722
 -Node: Field Separators227753
 -Node: Default Field Splitting230451
 -Node: Regexp Field Splitting231569
 -Node: Single Character Fields235246
 -Node: Command Line Field Separator236306
 -Node: Full Line Fields239524
 -Ref: Full Line Fields-Footnote-1241046
 -Ref: Full Line Fields-Footnote-2241092
 -Node: Field Splitting Summary241193
 -Node: Constant Size243267
 -Node: Fixed width data243999
 -Node: Skipping intervening247466
 -Node: Allowing trailing data248264
 -Node: Fields with fixed data249301
 -Node: Splitting By Content250819
 -Ref: Splitting By Content-Footnote-1254655
 -Node: More CSV254818
 -Node: FS versus FPAT256433
 -Node: Testing field creation257593
 -Node: Multiple Line259218
 -Node: Getline265495
 -Node: Plain Getline267964
 -Node: Getline/Variable270537
 -Node: Getline/File271688
 -Node: Getline/Variable/File273076
 -Ref: Getline/Variable/File-Footnote-1274681
 -Node: Getline/Pipe274769
 -Node: Getline/Variable/Pipe277473
 -Node: Getline/Coprocess278608
 -Node: Getline/Variable/Coprocess279875
 -Node: Getline Notes280617
 -Node: Getline Summary283414
 -Ref: table-getline-variants283838
 -Node: Read Timeout284587
 -Ref: Read Timeout-Footnote-1288493
 -Node: Retrying Input288551
 -Node: Command-line directories289750
 -Node: Input Summary290656
 -Node: Input Exercises293828
 -Node: Printing294262
 -Node: Print296096
 -Node: Print Examples297553
 -Node: Output Separators300333
 -Node: OFMT302350
 -Node: Printf303706
 -Node: Basic Printf304491
 -Node: Control Letters306065
 -Node: Format Modifiers311229
 -Node: Printf Examples317244
 -Node: Redirection319730
 -Node: Special FD326571
 -Ref: Special FD-Footnote-1329739
 -Node: Special Files329813
 -Node: Other Inherited Files330430
 -Node: Special Network331431
 -Node: Special Caveats332291
 -Node: Close Files And Pipes333240
 -Ref: table-close-pipe-return-values340147
 -Ref: Close Files And Pipes-Footnote-1340961
 -Ref: Close Files And Pipes-Footnote-2341109
 -Node: Nonfatal341261
 -Node: Output Summary343599
 -Node: Output Exercises344821
 -Node: Expressions345500
 -Node: Values346688
 -Node: Constants347366
 -Node: Scalar Constants348057
 -Ref: Scalar Constants-Footnote-1350567
 -Node: Nondecimal-numbers350817
 -Node: Regexp Constants353818
 -Node: Using Constant Regexps354344
 -Node: Standard Regexp Constants354966
 -Node: Strong Regexp Constants358154
 -Node: Variables361869
 -Node: Using Variables362526
 -Node: Assignment Options364436
 -Node: Conversion366907
 -Node: Strings And Numbers367431
 -Ref: Strings And Numbers-Footnote-1370494
 -Node: Locale influences conversions370603
 -Ref: table-locale-affects373361
 -Node: All Operators373980
 -Node: Arithmetic Ops374609
 -Node: Concatenation377325
 -Ref: Concatenation-Footnote-1380172
 -Node: Assignment Ops380279
 -Ref: table-assign-ops385270
 -Node: Increment Ops386584
 -Node: Truth Values and Conditions390044
 -Node: Truth Values391118
 -Node: Typing and Comparison392166
 -Node: Variable Typing392986
 -Ref: Variable Typing-Footnote-1399449
 -Ref: Variable Typing-Footnote-2399521
 -Node: Comparison Operators399598
 -Ref: table-relational-ops400017
 -Node: POSIX String Comparison403513
 -Ref: POSIX String Comparison-Footnote-1405208
 -Ref: POSIX String Comparison-Footnote-2405347
 -Node: Boolean Ops405431
 -Ref: Boolean Ops-Footnote-1409913
 -Node: Conditional Exp410005
 -Node: Function Calls411741
 -Node: Precedence415618
 -Node: Locales419277
 -Node: Expressions Summary420909
 -Node: Patterns and Actions423482
 -Node: Pattern Overview424602
 -Node: Regexp Patterns426279
 -Node: Expression Patterns426821
 -Node: Ranges430602
 -Node: BEGIN/END433710
 -Node: Using BEGIN/END434471
 -Ref: Using BEGIN/END-Footnote-1437225
 -Node: I/O And BEGIN/END437331
 -Node: Empty442875
 -Node: Using Shell Variables443192
 -Node: Action Overview445466
 -Node: Statements447791
 -Node: If Statement449639
 -Node: While Statement451134
 -Node: Do Statement453162
 -Node: For Statement454310
 -Node: Switch Statement457565
 -Node: Break Statement460006
 -Node: Continue Statement462098
 -Node: Next Statement463925
 -Node: Nextfile Statement466308
 -Node: Exit Statement468997
 -Node: Built-in Variables471400
 -Node: User-modified472533
 -Node: Auto-set480300
 -Ref: Auto-set-Footnote-1497107
 -Ref: Auto-set-Footnote-2497313
 -Node: ARGC and ARGV497369
 -Node: Pattern Action Summary501582
 -Node: Arrays504012
 -Node: Array Basics505341
 -Node: Array Intro506185
 -Ref: figure-array-elements508160
 -Ref: Array Intro-Footnote-1510865
 -Node: Reference to Elements510993
 -Node: Assigning Elements513457
 -Node: Array Example513948
 -Node: Scanning an Array515707
 -Node: Controlling Scanning518729
 -Ref: Controlling Scanning-Footnote-1525185
 -Node: Numeric Array Subscripts525501
 -Node: Uninitialized Subscripts527685
 -Node: Delete529304
 -Ref: Delete-Footnote-1532056
 -Node: Multidimensional532113
 -Node: Multiscanning535208
 -Node: Arrays of Arrays536799
 -Node: Arrays Summary541567
 -Node: Functions543660
 -Node: Built-in544698
 -Node: Calling Built-in545779
 -Node: Numeric Functions547775
 -Ref: Numeric Functions-Footnote-1551803
 -Ref: Numeric Functions-Footnote-2552451
 -Ref: Numeric Functions-Footnote-3552499
 -Node: String Functions552771
 -Ref: String Functions-Footnote-1577613
 -Ref: String Functions-Footnote-2577741
 -Ref: String Functions-Footnote-3577989
 -Node: Gory Details578076
 -Ref: table-sub-escapes579867
 -Ref: table-sub-proposed581387
 -Ref: table-posix-sub582751
 -Ref: table-gensub-escapes584293
 -Ref: Gory Details-Footnote-1585117
 -Node: I/O Functions585271
 -Ref: table-system-return-values591725
 -Ref: I/O Functions-Footnote-1593806
 -Ref: I/O Functions-Footnote-2593954
 -Node: Time Functions594074
 -Ref: Time Functions-Footnote-1604745
 -Ref: Time Functions-Footnote-2604813
 -Ref: Time Functions-Footnote-3604971
 -Ref: Time Functions-Footnote-4605082
 -Ref: Time Functions-Footnote-5605194
 -Ref: Time Functions-Footnote-6605421
 -Node: Bitwise Functions605687
 -Ref: table-bitwise-ops606281
 -Ref: Bitwise Functions-Footnote-1612345
 -Ref: Bitwise Functions-Footnote-2612518
 -Node: Type Functions612709
 -Node: I18N Functions616038
 -Node: User-defined617689
 -Node: Definition Syntax618501
 -Ref: Definition Syntax-Footnote-1624195
 -Node: Function Example624266
 -Ref: Function Example-Footnote-1627188
 -Node: Function Calling627210
 -Node: Calling A Function627798
 -Node: Variable Scope628756
 -Node: Pass By Value/Reference631750
 -Node: Function Caveats634394
 -Ref: Function Caveats-Footnote-1636441
 -Node: Return Statement636561
 -Node: Dynamic Typing639540
 -Node: Indirect Calls640470
 -Node: Functions Summary651394
 -Node: Library Functions654099
 -Ref: Library Functions-Footnote-1657706
 -Ref: Library Functions-Footnote-2657849
 -Node: Library Names658020
 -Ref: Library Names-Footnote-1661687
 -Ref: Library Names-Footnote-2661910
 -Node: General Functions661996
 -Node: Strtonum Function663178
 -Node: Assert Function666200
 -Node: Round Function669526
 -Node: Cliff Random Function671066
 -Node: Ordinal Functions672082
 -Ref: Ordinal Functions-Footnote-1675145
 -Ref: Ordinal Functions-Footnote-2675397
 -Node: Join Function675607
 -Ref: Join Function-Footnote-1677377
 -Node: Getlocaltime Function677577
 -Node: Readfile Function681319
 -Node: Shell Quoting683296
 -Node: Isnumeric Function684724
 -Node: Data File Management686112
 -Node: Filetrans Function686744
 -Node: Rewind Function690840
 -Node: File Checking692749
 -Ref: File Checking-Footnote-1694083
 -Node: Empty Files694284
 -Node: Ignoring Assigns696263
 -Node: Getopt Function697813
 -Ref: Getopt Function-Footnote-1713110
 -Node: Passwd Functions713310
 -Ref: Passwd Functions-Footnote-1722149
 -Node: Group Functions722237
 -Ref: Group Functions-Footnote-1730135
 -Node: Walking Arrays730342
 -Node: Library Functions Summary733350
 -Node: Library Exercises734756
 -Node: Sample Programs735221
 -Node: Running Examples735991
 -Node: Clones736719
 -Node: Cut Program737943
 -Node: Egrep Program748083
 -Node: Id Program757084
 -Node: Split Program767019
 -Ref: Split Program-Footnote-1776912
 -Node: Tee Program777085
 -Node: Uniq Program779875
 -Node: Wc Program787463
 -Node: Bytes vs. Characters787850
 -Node: Using extensions789398
 -Node: wc program790152
 -Node: Miscellaneous Programs795017
 -Node: Dupword Program796230
 -Node: Alarm Program798260
 -Node: Translate Program803115
 -Ref: Translate Program-Footnote-1807680
 -Node: Labels Program807950
 -Ref: Labels Program-Footnote-1811301
 -Node: Word Sorting811385
 -Node: History Sorting815457
 -Node: Extract Program817682
 -Node: Simple Sed825695
 -Node: Igawk Program828769
 -Ref: Igawk Program-Footnote-1843100
 -Ref: Igawk Program-Footnote-2843302
 -Ref: Igawk Program-Footnote-3843424
 -Node: Anagram Program843539
 -Node: Signature Program846601
 -Node: Programs Summary847848
 -Node: Programs Exercises849062
 -Ref: Programs Exercises-Footnote-1853192
 -Node: Advanced Features853278
 -Node: Nondecimal Data855345
 -Node: Array Sorting856936
 -Node: Controlling Array Traversal857636
 -Ref: Controlling Array Traversal-Footnote-1866004
 -Node: Array Sorting Functions866122
 -Ref: Array Sorting Functions-Footnote-1872033
 -Node: Two-way I/O872229
 -Ref: Two-way I/O-Footnote-1879955
 -Ref: Two-way I/O-Footnote-2880142
 -Node: TCP/IP Networking880224
 -Node: Profiling883300
 -Node: Extension Philosophy892609
 -Node: Advanced Features Summary894088
 -Node: Internationalization896103
 -Node: I18N and L10N897777
 -Node: Explaining gettext898464
 -Ref: Explaining gettext-Footnote-1904356
 -Ref: Explaining gettext-Footnote-2904541
 -Node: Programmer i18n904706
 -Ref: Programmer i18n-Footnote-1909655
 -Node: Translator i18n909704
 -Node: String Extraction910498
 -Ref: String Extraction-Footnote-1911630
 -Node: Printf Ordering911716
 -Ref: Printf Ordering-Footnote-1914502
 -Node: I18N Portability914566
 -Ref: I18N Portability-Footnote-1917022
 -Node: I18N Example917085
 -Ref: I18N Example-Footnote-1920360
 -Ref: I18N Example-Footnote-2920433
 -Node: Gawk I18N920542
 -Node: I18N Summary921164
 -Node: Debugger922505
 -Node: Debugging923505
 -Node: Debugging Concepts923946
 -Node: Debugging Terms925755
 -Node: Awk Debugging928330
 -Ref: Awk Debugging-Footnote-1929275
 -Node: Sample Debugging Session929407
 -Node: Debugger Invocation929941
 -Node: Finding The Bug931327
 -Node: List of Debugger Commands937801
 -Node: Breakpoint Control939134
 -Node: Debugger Execution Control942828
 -Node: Viewing And Changing Data946190
 -Node: Execution Stack949731
 -Node: Debugger Info951368
 -Node: Miscellaneous Debugger Commands955439
 -Node: Readline Support960501
 -Node: Limitations961397
 -Node: Debugging Summary963951
 -Node: Namespaces965230
 -Node: Global Namespace966341
 -Node: Qualified Names967739
 -Node: Default Namespace968738
 -Node: Changing The Namespace969479
 -Node: Naming Rules971093
 -Node: Internal Name Management972941
 -Node: Namespace Example973983
 -Node: Namespace And Features976545
 -Node: Namespace Summary977980
 -Node: Arbitrary Precision Arithmetic979457
 -Node: Computer Arithmetic980944
 -Ref: table-numeric-ranges984710
 -Ref: table-floating-point-ranges985204
 -Ref: Computer Arithmetic-Footnote-1985863
 -Node: Math Definitions985920
 -Ref: table-ieee-formats989236
 -Ref: Math Definitions-Footnote-1989840
 -Node: MPFR features989945
 -Node: FP Math Caution991663
 -Ref: FP Math Caution-Footnote-1992735
 -Node: Inexactness of computations993104
 -Node: Inexact representation994064
 -Node: Comparing FP Values995424
 -Node: Errors accumulate996665
 -Node: Getting Accuracy998098
 -Node: Try To Round1000808
 -Node: Setting precision1001707
 -Ref: table-predefined-precision-strings1002404
 -Node: Setting the rounding mode1004235
 -Ref: table-gawk-rounding-modes1004609
 -Ref: Setting the rounding mode-Footnote-11008541
 -Node: Arbitrary Precision Integers1008720
 -Ref: Arbitrary Precision Integers-Footnote-11011895
 -Node: Checking for MPFR1012044
 -Node: POSIX Floating Point Problems1013518
 -Ref: POSIX Floating Point Problems-Footnote-11018171
 -Node: Floating point summary1018209
 -Node: Dynamic Extensions1020399
 -Node: Extension Intro1021952
 -Node: Plugin License1023218
 -Node: Extension Mechanism Outline1024015
 -Ref: figure-load-extension1024454
 -Ref: figure-register-new-function1026020
 -Ref: figure-call-new-function1027113
 -Node: Extension API Description1029176
 -Node: Extension API Functions Introduction1030889
 -Ref: table-api-std-headers1032725
 -Node: General Data Types1036975
 -Ref: General Data Types-Footnote-11045605
 -Node: Memory Allocation Functions1045904
 -Ref: Memory Allocation Functions-Footnote-11050405
 -Node: Constructor Functions1050504
 -Node: API Ownership of MPFR and GMP Values1053970
 -Node: Registration Functions1055283
 -Node: Extension Functions1055983
 -Node: Exit Callback Functions1061305
 -Node: Extension Version String1062555
 -Node: Input Parsers1063218
 -Node: Output Wrappers1075939
 -Node: Two-way processors1080451
 -Node: Printing Messages1082716
 -Ref: Printing Messages-Footnote-11083887
 -Node: Updating ERRNO1084040
 -Node: Requesting Values1084779
 -Ref: table-value-types-returned1085516
 -Node: Accessing Parameters1086453
 -Node: Symbol Table Access1087690
 -Node: Symbol table by name1088202
 -Ref: Symbol table by name-Footnote-11091227
 -Node: Symbol table by cookie1091355
 -Ref: Symbol table by cookie-Footnote-11095540
 -Node: Cached values1095604
 -Ref: Cached values-Footnote-11099140
 -Node: Array Manipulation1099293
 -Ref: Array Manipulation-Footnote-11100384
 -Node: Array Data Types1100421
 -Ref: Array Data Types-Footnote-11103079
 -Node: Array Functions1103171
 -Node: Flattening Arrays1107669
 -Node: Creating Arrays1114645
 -Node: Redirection API1119412
 -Node: Extension API Variables1122245
 -Node: Extension Versioning1122956
 -Ref: gawk-api-version1123385
 -Node: Extension GMP/MPFR Versioning1125117
 -Node: Extension API Informational Variables1126745
 -Node: Extension API Boilerplate1127818
 -Node: Changes from API V11131792
 -Node: Finding Extensions1133364
 -Node: Extension Example1133923
 -Node: Internal File Description1134721
 -Node: Internal File Ops1138801
 -Ref: Internal File Ops-Footnote-11150151
 -Node: Using Internal File Ops1150291
 -Ref: Using Internal File Ops-Footnote-11152674
 -Node: Extension Samples1152948
 -Node: Extension Sample File Functions1154477
 -Node: Extension Sample Fnmatch1162126
 -Node: Extension Sample Fork1163613
 -Node: Extension Sample Inplace1164831
 -Node: Extension Sample Ord1168457
 -Node: Extension Sample Readdir1169293
 -Ref: table-readdir-file-types1170182
 -Node: Extension Sample Revout1171250
 -Node: Extension Sample Rev2way1171839
 -Node: Extension Sample Read write array1172579
 -Node: Extension Sample Readfile1174521
 -Node: Extension Sample Time1175616
 -Node: Extension Sample API Tests1177368
 -Node: gawkextlib1177860
 -Node: Extension summary1180778
 -Node: Extension Exercises1184480
 -Node: Language History1185722
 -Node: V7/SVR3.11187378
 -Node: SVR41189530
 -Node: POSIX1190964
 -Node: BTL1192345
 -Node: POSIX/GNU1193074
 -Node: Feature History1198852
 -Node: Common Extensions1216027
 -Node: Ranges and Locales1217310
 -Ref: Ranges and Locales-Footnote-11221926
 -Ref: Ranges and Locales-Footnote-21221953
 -Ref: Ranges and Locales-Footnote-31222188
 -Node: Contributors1222411
 -Node: History summary1228408
 -Node: Installation1229788
 -Node: Gawk Distribution1230732
 -Node: Getting1231216
 -Node: Extracting1232179
 -Node: Distribution contents1233817
 -Node: Unix Installation1240878
 -Node: Quick Installation1241682
 -Node: Compiling with MPFR1244102
 -Node: Shell Startup Files1244792
 -Node: Additional Configuration Options1245881
 -Node: Configuration Philosophy1248196
 -Node: Compiling from Git1250592
 -Node: Building the Documentation1251147
 -Node: Non-Unix Installation1252531
 -Node: PC Installation1252991
 -Node: PC Binary Installation1253829
 -Node: PC Compiling1254702
 -Node: PC Using1255819
 -Node: Cygwin1259372
 -Node: MSYS1260596
 -Node: VMS Installation1261198
 -Node: VMS Compilation1261917
 -Ref: VMS Compilation-Footnote-11263146
 -Node: VMS Dynamic Extensions1263204
 -Node: VMS Installation Details1264889
 -Node: VMS Running1267151
 -Node: VMS GNV1271430
 -Node: Bugs1272144
 -Node: Bug definition1273056
 -Node: Bug address1275992
 -Node: Usenet1279380
 -Node: Performance bugs1280569
 -Node: Asking for help1283490
 -Node: Maintainers1285457
 -Node: Other Versions1286651
 -Node: Installation summary1294815
 -Node: Notes1296179
 -Node: Compatibility Mode1296973
 -Node: Additions1297755
 -Node: Accessing The Source1298680
 -Node: Adding Code1300117
 -Node: New Ports1306309
 -Node: Derived Files1310684
 -Ref: Derived Files-Footnote-11316344
 -Ref: Derived Files-Footnote-21316379
 -Ref: Derived Files-Footnote-31316977
 -Node: Future Extensions1317091
 -Node: Implementation Limitations1317749
 -Node: Extension Design1318959
 -Node: Old Extension Problems1320103
 -Ref: Old Extension Problems-Footnote-11321621
 -Node: Extension New Mechanism Goals1321678
 -Ref: Extension New Mechanism Goals-Footnote-11325042
 -Node: Extension Other Design Decisions1325231
 -Node: Extension Future Growth1327344
 -Node: Notes summary1327950
 -Node: Basic Concepts1329108
 -Node: Basic High Level1329789
 -Ref: figure-general-flow1330071
 -Ref: figure-process-flow1330757
 -Ref: Basic High Level-Footnote-11334059
 -Node: Basic Data Typing1334244
 -Node: Glossary1337572
 -Node: Copying1369457
 -Node: GNU Free Documentation License1407000
 -Node: Index1432120
 +Node: Foreword345584
 +Node: Foreword450026
 +Node: Preface51558
 +Ref: Preface-Footnote-154417
 +Ref: Preface-Footnote-254526
 +Ref: Preface-Footnote-354760
 +Node: History54902
 +Node: Names57254
 +Ref: Names-Footnote-158358
 +Node: This Manual58505
 +Ref: This Manual-Footnote-165144
 +Node: Conventions65244
 +Node: Manual History67613
 +Ref: Manual History-Footnote-170610
 +Ref: Manual History-Footnote-270651
 +Node: How To Contribute70725
 +Node: Acknowledgments71651
 +Node: Getting Started76588
 +Node: Running gawk79027
 +Node: One-shot80217
 +Node: Read Terminal81480
 +Node: Long83473
 +Node: Executable Scripts84986
 +Ref: Executable Scripts-Footnote-187619
 +Node: Comments87722
 +Node: Quoting90206
 +Node: DOS Quoting95732
 +Node: Sample Data Files97788
 +Node: Very Simple100383
 +Node: Two Rules106485
 +Node: More Complex108370
 +Node: Statements/Lines110702
 +Ref: Statements/Lines-Footnote-1115186
 +Node: Other Features115451
 +Node: When116387
 +Ref: When-Footnote-1118141
 +Node: Intro Summary118206
 +Node: Invoking Gawk119090
 +Node: Command Line120604
 +Node: Options121402
 +Ref: Options-Footnote-1139256
 +Ref: Options-Footnote-2139487
 +Node: Other Arguments139512
 +Node: Naming Standard Input143523
 +Node: Environment Variables144733
 +Node: AWKPATH Variable145291
 +Ref: AWKPATH Variable-Footnote-1148703
 +Ref: AWKPATH Variable-Footnote-2148737
 +Node: AWKLIBPATH Variable149108
 +Ref: AWKLIBPATH Variable-Footnote-1150805
 +Node: Other Environment Variables151180
 +Node: Exit Status155132
 +Node: Include Files155809
 +Node: Loading Shared Libraries159499
 +Node: Obsolete160927
 +Node: Undocumented161619
 +Node: Invoking Summary161916
 +Node: Regexp164757
 +Node: Regexp Usage166211
 +Node: Escape Sequences168248
 +Node: Regexp Operators174489
 +Node: Regexp Operator Details174974
 +Ref: Regexp Operator Details-Footnote-1182338
 +Node: Interval Expressions182485
 +Ref: Interval Expressions-Footnote-1184660
 +Node: Bracket Expressions184758
 +Ref: table-char-classes187234
 +Node: Leftmost Longest190561
 +Node: Computed Regexps191864
 +Node: GNU Regexp Operators195291
 +Node: Case-sensitivity198969
 +Ref: Case-sensitivity-Footnote-1201835
 +Ref: Case-sensitivity-Footnote-2202070
 +Node: Regexp Summary202178
 +Node: Reading Files203644
 +Node: Records205913
 +Node: awk split records206988
 +Node: gawk split records211688
 +Ref: gawk split records-Footnote-1216762
 +Node: Fields216799
 +Node: Nonconstant Fields219540
 +Ref: Nonconstant Fields-Footnote-1221776
 +Node: Changing Fields221980
 +Node: Field Separators228011
 +Node: Default Field Splitting230709
 +Node: Regexp Field Splitting231827
 +Node: Single Character Fields235504
 +Node: Command Line Field Separator236564
 +Node: Full Line Fields239782
 +Ref: Full Line Fields-Footnote-1241304
 +Ref: Full Line Fields-Footnote-2241350
 +Node: Field Splitting Summary241451
 +Node: Constant Size243525
 +Node: Fixed width data244257
 +Node: Skipping intervening247724
 +Node: Allowing trailing data248522
 +Node: Fields with fixed data249559
 +Node: Splitting By Content251077
 +Ref: Splitting By Content-Footnote-1254913
 +Node: More CSV255076
 +Node: FS versus FPAT256691
 +Node: Testing field creation257851
 +Node: Multiple Line259476
 +Node: Getline265753
 +Node: Plain Getline268222
 +Node: Getline/Variable270795
 +Node: Getline/File271946
 +Node: Getline/Variable/File273334
 +Ref: Getline/Variable/File-Footnote-1274939
 +Node: Getline/Pipe275027
 +Node: Getline/Variable/Pipe277731
 +Node: Getline/Coprocess278866
 +Node: Getline/Variable/Coprocess280133
 +Node: Getline Notes280875
 +Node: Getline Summary283672
 +Ref: table-getline-variants284096
 +Node: Read Timeout284845
 +Ref: Read Timeout-Footnote-1288751
 +Node: Retrying Input288809
 +Node: Command-line directories290008
 +Node: Input Summary290914
 +Node: Input Exercises294086
 +Node: Printing294520
 +Node: Print296354
 +Node: Print Examples297811
 +Node: Output Separators300591
 +Node: OFMT302608
 +Node: Printf303964
 +Node: Basic Printf304749
 +Node: Control Letters306323
 +Node: Format Modifiers311485
 +Node: Printf Examples317500
 +Node: Redirection319986
 +Node: Special FD326827
 +Ref: Special FD-Footnote-1329995
 +Node: Special Files330069
 +Node: Other Inherited Files330686
 +Node: Special Network331687
 +Node: Special Caveats332547
 +Node: Close Files And Pipes333496
 +Ref: table-close-pipe-return-values340403
 +Ref: Close Files And Pipes-Footnote-1341217
 +Ref: Close Files And Pipes-Footnote-2341365
 +Node: Nonfatal341517
 +Node: Output Summary343855
 +Node: Output Exercises345077
 +Node: Expressions345756
 +Node: Values346944
 +Node: Constants347622
 +Node: Scalar Constants348313
 +Ref: Scalar Constants-Footnote-1350823
 +Node: Nondecimal-numbers351073
 +Node: Regexp Constants354074
 +Node: Using Constant Regexps354600
 +Node: Standard Regexp Constants355222
 +Node: Strong Regexp Constants358410
 +Node: Variables362125
 +Node: Using Variables362782
 +Node: Assignment Options364692
 +Node: Conversion367163
 +Node: Strings And Numbers367687
 +Ref: Strings And Numbers-Footnote-1370750
 +Node: Locale influences conversions370859
 +Ref: table-locale-affects373617
 +Node: All Operators374236
 +Node: Arithmetic Ops374865
 +Node: Concatenation377581
 +Ref: Concatenation-Footnote-1380428
 +Node: Assignment Ops380535
 +Ref: table-assign-ops385526
 +Node: Increment Ops386840
 +Node: Truth Values and Conditions390300
 +Node: Truth Values391374
 +Node: Typing and Comparison392422
 +Node: Variable Typing393242
 +Ref: Variable Typing-Footnote-1399705
 +Ref: Variable Typing-Footnote-2399777
 +Node: Comparison Operators399854
 +Ref: table-relational-ops400273
 +Node: POSIX String Comparison403769
 +Ref: POSIX String Comparison-Footnote-1405464
 +Ref: POSIX String Comparison-Footnote-2405603
 +Node: Boolean Ops405687
 +Ref: Boolean Ops-Footnote-1410169
 +Node: Conditional Exp410261
 +Node: Function Calls411997
 +Node: Precedence415874
 +Node: Locales419533
 +Node: Expressions Summary421165
 +Node: Patterns and Actions423738
 +Node: Pattern Overview424858
 +Node: Regexp Patterns426535
 +Node: Expression Patterns427077
 +Node: Ranges430858
 +Node: BEGIN/END433966
 +Node: Using BEGIN/END434727
 +Ref: Using BEGIN/END-Footnote-1437481
 +Node: I/O And BEGIN/END437587
 +Node: Empty443131
 +Node: Using Shell Variables443448
 +Node: Action Overview445722
 +Node: Statements448047
 +Node: If Statement449895
 +Node: While Statement451390
 +Node: Do Statement453418
 +Node: For Statement454566
 +Node: Switch Statement457821
 +Node: Break Statement460262
 +Node: Continue Statement462354
 +Node: Next Statement464181
 +Node: Nextfile Statement466564
 +Node: Exit Statement469253
 +Node: Built-in Variables471656
 +Node: User-modified472789
 +Node: Auto-set480556
 +Ref: Auto-set-Footnote-1497363
 +Ref: Auto-set-Footnote-2497569
 +Node: ARGC and ARGV497625
 +Node: Pattern Action Summary501838
 +Node: Arrays504268
 +Node: Array Basics505597
 +Node: Array Intro506441
 +Ref: figure-array-elements508416
 +Ref: Array Intro-Footnote-1511121
 +Node: Reference to Elements511249
 +Node: Assigning Elements513713
 +Node: Array Example514204
 +Node: Scanning an Array515963
 +Node: Controlling Scanning518985
 +Ref: Controlling Scanning-Footnote-1525441
 +Node: Numeric Array Subscripts525757
 +Node: Uninitialized Subscripts527941
 +Node: Delete529560
 +Ref: Delete-Footnote-1532312
 +Node: Multidimensional532369
 +Node: Multiscanning535464
 +Node: Arrays of Arrays537055
 +Node: Arrays Summary541823
 +Node: Functions543916
 +Node: Built-in544954
 +Node: Calling Built-in546107
 +Node: Boolean Functions548103
 +Node: Numeric Functions548657
 +Ref: Numeric Functions-Footnote-1552684
 +Ref: Numeric Functions-Footnote-2553332
 +Ref: Numeric Functions-Footnote-3553380
 +Node: String Functions553652
 +Ref: String Functions-Footnote-1578494
 +Ref: String Functions-Footnote-2578622
 +Ref: String Functions-Footnote-3578870
 +Node: Gory Details578957
 +Ref: table-sub-escapes580748
 +Ref: table-sub-proposed582268
 +Ref: table-posix-sub583632
 +Ref: table-gensub-escapes585174
 +Ref: Gory Details-Footnote-1585998
 +Node: I/O Functions586152
 +Ref: table-system-return-values592606
 +Ref: I/O Functions-Footnote-1594687
 +Ref: I/O Functions-Footnote-2594835
 +Node: Time Functions594955
 +Ref: Time Functions-Footnote-1605626
 +Ref: Time Functions-Footnote-2605694
 +Ref: Time Functions-Footnote-3605852
 +Ref: Time Functions-Footnote-4605963
 +Ref: Time Functions-Footnote-5606075
 +Ref: Time Functions-Footnote-6606302
 +Node: Bitwise Functions606568
 +Ref: table-bitwise-ops607162
 +Ref: Bitwise Functions-Footnote-1613226
 +Ref: Bitwise Functions-Footnote-2613399
 +Node: Type Functions613590
 +Node: I18N Functions617010
 +Node: User-defined618661
 +Node: Definition Syntax619473
 +Ref: Definition Syntax-Footnote-1625167
 +Node: Function Example625238
 +Ref: Function Example-Footnote-1628160
 +Node: Function Calling628182
 +Node: Calling A Function628770
 +Node: Variable Scope629728
 +Node: Pass By Value/Reference632722
 +Node: Function Caveats635366
 +Ref: Function Caveats-Footnote-1637413
 +Node: Return Statement637533
 +Node: Dynamic Typing640512
 +Node: Indirect Calls641442
 +Node: Functions Summary652369
 +Node: Library Functions655074
 +Ref: Library Functions-Footnote-1658681
 +Ref: Library Functions-Footnote-2658824
 +Node: Library Names658995
 +Ref: Library Names-Footnote-1662662
 +Ref: Library Names-Footnote-2662885
 +Node: General Functions662971
 +Node: Strtonum Function664153
 +Node: Assert Function667175
 +Node: Round Function670501
 +Node: Cliff Random Function672041
 +Node: Ordinal Functions673057
 +Ref: Ordinal Functions-Footnote-1676120
 +Ref: Ordinal Functions-Footnote-2676372
 +Node: Join Function676582
 +Ref: Join Function-Footnote-1678352
 +Node: Getlocaltime Function678552
 +Node: Readfile Function682294
 +Node: Shell Quoting684271
 +Node: Isnumeric Function685699
 +Node: Data File Management687087
 +Node: Filetrans Function687719
 +Node: Rewind Function691815
 +Node: File Checking693724
 +Ref: File Checking-Footnote-1695058
 +Node: Empty Files695259
 +Node: Ignoring Assigns697238
 +Node: Getopt Function698788
 +Ref: Getopt Function-Footnote-1714085
 +Node: Passwd Functions714285
 +Ref: Passwd Functions-Footnote-1723124
 +Node: Group Functions723212
 +Ref: Group Functions-Footnote-1731110
 +Node: Walking Arrays731317
 +Node: Library Functions Summary734325
 +Node: Library Exercises735731
 +Node: Sample Programs736196
 +Node: Running Examples736966
 +Node: Clones737694
 +Node: Cut Program738918
 +Node: Egrep Program749058
 +Node: Id Program758059
 +Node: Split Program767994
 +Ref: Split Program-Footnote-1777887
 +Node: Tee Program778060
 +Node: Uniq Program780850
 +Node: Wc Program788438
 +Node: Bytes vs. Characters788825
 +Node: Using extensions790373
 +Node: wc program791127
 +Node: Miscellaneous Programs795992
 +Node: Dupword Program797205
 +Node: Alarm Program799235
 +Node: Translate Program804090
 +Ref: Translate Program-Footnote-1808655
 +Node: Labels Program808925
 +Ref: Labels Program-Footnote-1812276
 +Node: Word Sorting812360
 +Node: History Sorting816432
 +Node: Extract Program818657
 +Node: Simple Sed826670
 +Node: Igawk Program829744
 +Ref: Igawk Program-Footnote-1844075
 +Ref: Igawk Program-Footnote-2844277
 +Ref: Igawk Program-Footnote-3844399
 +Node: Anagram Program844514
 +Node: Signature Program847576
 +Node: Programs Summary848823
 +Node: Programs Exercises850037
 +Ref: Programs Exercises-Footnote-1854167
 +Node: Advanced Features854253
 +Node: Nondecimal Data856384
 +Node: Boolean Typed Values857982
 +Node: Array Sorting859863
 +Node: Controlling Array Traversal860568
 +Ref: Controlling Array Traversal-Footnote-1868936
 +Node: Array Sorting Functions869054
- Ref: Array Sorting Functions-Footnote-1874428
- Node: Two-way I/O874624
- Ref: Two-way I/O-Footnote-1882350
- Ref: Two-way I/O-Footnote-2882537
- Node: TCP/IP Networking882619
- Node: Profiling885695
- Node: Extension Philosophy895004
- Node: Advanced Features Summary896483
- Node: Internationalization898498
- Node: I18N and L10N900172
- Node: Explaining gettext900859
- Ref: Explaining gettext-Footnote-1906751
- Ref: Explaining gettext-Footnote-2906936
- Node: Programmer i18n907101
- Ref: Programmer i18n-Footnote-1912050
- Node: Translator i18n912099
- Node: String Extraction912893
- Ref: String Extraction-Footnote-1914025
- Node: Printf Ordering914111
- Ref: Printf Ordering-Footnote-1916897
- Node: I18N Portability916961
- Ref: I18N Portability-Footnote-1919417
- Node: I18N Example919480
- Ref: I18N Example-Footnote-1922755
- Ref: I18N Example-Footnote-2922828
- Node: Gawk I18N922937
- Node: I18N Summary923559
- Node: Debugger924900
- Node: Debugging925900
- Node: Debugging Concepts926341
- Node: Debugging Terms928150
- Node: Awk Debugging930725
- Ref: Awk Debugging-Footnote-1931670
- Node: Sample Debugging Session931802
- Node: Debugger Invocation932336
- Node: Finding The Bug933722
- Node: List of Debugger Commands940196
- Node: Breakpoint Control941529
- Node: Debugger Execution Control945223
- Node: Viewing And Changing Data948585
- Node: Execution Stack952126
- Node: Debugger Info953763
- Node: Miscellaneous Debugger Commands957834
- Node: Readline Support962896
- Node: Limitations963792
- Node: Debugging Summary966346
- Node: Namespaces967625
- Node: Global Namespace968736
- Node: Qualified Names970134
- Node: Default Namespace971133
- Node: Changing The Namespace971874
- Node: Naming Rules973488
- Node: Internal Name Management975336
- Node: Namespace Example976378
- Node: Namespace And Features978940
- Node: Namespace Summary980375
- Node: Arbitrary Precision Arithmetic981852
- Node: Computer Arithmetic983339
- Ref: table-numeric-ranges987105
- Ref: table-floating-point-ranges987599
- Ref: Computer Arithmetic-Footnote-1988258
- Node: Math Definitions988315
- Ref: table-ieee-formats991291
- Node: MPFR features991859
- Node: FP Math Caution993577
- Ref: FP Math Caution-Footnote-1994649
- Node: Inexactness of computations995018
- Node: Inexact representation996049
- Node: Comparing FP Values997409
- Node: Errors accumulate998650
- Node: Strange values1000106
- Ref: Strange values-Footnote-11002694
- Node: Getting Accuracy1002799
- Node: Try To Round1005509
- Node: Setting precision1006408
- Ref: table-predefined-precision-strings1007105
- Node: Setting the rounding mode1008936
- Ref: table-gawk-rounding-modes1009310
- Ref: Setting the rounding mode-Footnote-11013242
- Node: Arbitrary Precision Integers1013421
- Ref: Arbitrary Precision Integers-Footnote-11016596
- Node: Checking for MPFR1016745
- Node: POSIX Floating Point Problems1018219
- Ref: POSIX Floating Point Problems-Footnote-11022872
- Node: Floating point summary1022910
- Node: Dynamic Extensions1025100
- Node: Extension Intro1026653
- Node: Plugin License1027919
- Node: Extension Mechanism Outline1028716
- Ref: figure-load-extension1029155
- Ref: figure-register-new-function1030721
- Ref: figure-call-new-function1031814
- Node: Extension API Description1033877
- Node: Extension API Functions Introduction1035590
- Ref: table-api-std-headers1037426
- Node: General Data Types1041676
- Ref: General Data Types-Footnote-11050382
- Node: Memory Allocation Functions1050681
- Ref: Memory Allocation Functions-Footnote-11055182
- Node: Constructor Functions1055281
- Node: API Ownership of MPFR and GMP Values1058934
- Node: Registration Functions1060467
- Node: Extension Functions1061167
- Node: Exit Callback Functions1066489
- Node: Extension Version String1067739
- Node: Input Parsers1068402
- Node: Output Wrappers1081123
- Node: Two-way processors1085635
- Node: Printing Messages1087900
- Ref: Printing Messages-Footnote-11089071
- Node: Updating ERRNO1089224
- Node: Requesting Values1089963
- Ref: table-value-types-returned1090700
- Node: Accessing Parameters1091809
- Node: Symbol Table Access1093046
- Node: Symbol table by name1093558
- Ref: Symbol table by name-Footnote-11096583
- Node: Symbol table by cookie1096711
- Ref: Symbol table by cookie-Footnote-11100896
- Node: Cached values1100960
- Ref: Cached values-Footnote-11104496
- Node: Array Manipulation1104649
- Ref: Array Manipulation-Footnote-11105740
- Node: Array Data Types1105777
- Ref: Array Data Types-Footnote-11108435
- Node: Array Functions1108527
- Node: Flattening Arrays1113025
- Node: Creating Arrays1120001
- Node: Redirection API1124768
- Node: Extension API Variables1127601
- Node: Extension Versioning1128312
- Ref: gawk-api-version1128741
- Node: Extension GMP/MPFR Versioning1130473
- Node: Extension API Informational Variables1132101
- Node: Extension API Boilerplate1133174
- Node: Changes from API V11137148
- Node: Finding Extensions1138720
- Node: Extension Example1139279
- Node: Internal File Description1140077
- Node: Internal File Ops1144157
- Ref: Internal File Ops-Footnote-11155507
- Node: Using Internal File Ops1155647
- Ref: Using Internal File Ops-Footnote-11158030
- Node: Extension Samples1158304
- Node: Extension Sample File Functions1159833
- Node: Extension Sample Fnmatch1167482
- Node: Extension Sample Fork1168969
- Node: Extension Sample Inplace1170187
- Node: Extension Sample Ord1173813
- Node: Extension Sample Readdir1174649
- Ref: table-readdir-file-types1175538
- Node: Extension Sample Revout1176606
- Node: Extension Sample Rev2way1177195
- Node: Extension Sample Read write array1177935
- Node: Extension Sample Readfile1181100
- Node: Extension Sample Time1182195
- Node: Extension Sample API Tests1183947
- Node: gawkextlib1184439
- Node: Extension summary1187357
- Node: Extension Exercises1191059
- Node: Language History1192301
- Node: V7/SVR3.11193957
- Node: SVR41196109
- Node: POSIX1197543
- Node: BTL1198924
- Node: POSIX/GNU1199653
- Node: Feature History1205431
- Node: Common Extensions1222606
- Node: Ranges and Locales1223889
- Ref: Ranges and Locales-Footnote-11228505
- Ref: Ranges and Locales-Footnote-21228532
- Ref: Ranges and Locales-Footnote-31228767
- Node: Contributors1228990
- Node: History summary1234987
- Node: Installation1236367
- Node: Gawk Distribution1237311
- Node: Getting1237795
- Node: Extracting1238758
- Node: Distribution contents1240396
- Node: Unix Installation1247457
- Node: Quick Installation1248261
- Node: Compiling with MPFR1250681
- Node: Shell Startup Files1251371
- Node: Additional Configuration Options1252460
- Node: Configuration Philosophy1254775
- Node: Compiling from Git1257171
- Node: Building the Documentation1257726
- Node: Non-Unix Installation1259110
- Node: PC Installation1259570
- Node: PC Binary Installation1260408
- Node: PC Compiling1261281
- Node: PC Using1262398
- Node: Cygwin1265951
- Node: MSYS1267175
- Node: VMS Installation1267777
- Node: VMS Compilation1268496
- Ref: VMS Compilation-Footnote-11269725
- Node: VMS Dynamic Extensions1269783
- Node: VMS Installation Details1271468
- Node: VMS Running1273730
- Node: VMS GNV1278009
- Node: Bugs1278723
- Node: Bug definition1279635
- Node: Bug address1282571
- Node: Usenet1285959
- Node: Performance bugs1287148
- Node: Asking for help1290069
- Node: Maintainers1292036
- Node: Other Versions1293230
- Node: Installation summary1301394
- Node: Notes1302758
- Node: Compatibility Mode1303552
- Node: Additions1304334
- Node: Accessing The Source1305259
- Node: Adding Code1306696
- Node: New Ports1312888
- Node: Derived Files1317263
- Ref: Derived Files-Footnote-11322923
- Ref: Derived Files-Footnote-21322958
- Ref: Derived Files-Footnote-31323556
- Node: Future Extensions1323670
- Node: Implementation Limitations1324328
- Node: Extension Design1325538
- Node: Old Extension Problems1326682
- Ref: Old Extension Problems-Footnote-11328200
- Node: Extension New Mechanism Goals1328257
- Ref: Extension New Mechanism Goals-Footnote-11331621
- Node: Extension Other Design Decisions1331810
- Node: Extension Future Growth1333923
- Node: Notes summary1334529
- Node: Basic Concepts1335687
- Node: Basic High Level1336368
- Ref: figure-general-flow1336650
- Ref: figure-process-flow1337336
- Ref: Basic High Level-Footnote-11340638
- Node: Basic Data Typing1340823
- Node: Glossary1344151
- Node: Copying1376038
- Node: GNU Free Documentation License1413581
- Node: Index1438701
++Ref: Array Sorting Functions-Footnote-1874965
++Node: Two-way I/O875161
++Ref: Two-way I/O-Footnote-1882887
++Ref: Two-way I/O-Footnote-2883074
++Node: TCP/IP Networking883156
++Node: Profiling886232
++Node: Extension Philosophy895541
++Node: Advanced Features Summary897020
++Node: Internationalization899035
++Node: I18N and L10N900709
++Node: Explaining gettext901396
++Ref: Explaining gettext-Footnote-1907288
++Ref: Explaining gettext-Footnote-2907473
++Node: Programmer i18n907638
++Ref: Programmer i18n-Footnote-1912587
++Node: Translator i18n912636
++Node: String Extraction913430
++Ref: String Extraction-Footnote-1914562
++Node: Printf Ordering914648
++Ref: Printf Ordering-Footnote-1917434
++Node: I18N Portability917498
++Ref: I18N Portability-Footnote-1919954
++Node: I18N Example920017
++Ref: I18N Example-Footnote-1923292
++Ref: I18N Example-Footnote-2923365
++Node: Gawk I18N923474
++Node: I18N Summary924096
++Node: Debugger925437
++Node: Debugging926437
++Node: Debugging Concepts926878
++Node: Debugging Terms928687
++Node: Awk Debugging931262
++Ref: Awk Debugging-Footnote-1932207
++Node: Sample Debugging Session932339
++Node: Debugger Invocation932873
++Node: Finding The Bug934259
++Node: List of Debugger Commands940733
++Node: Breakpoint Control942066
++Node: Debugger Execution Control945760
++Node: Viewing And Changing Data949122
++Node: Execution Stack952663
++Node: Debugger Info954300
++Node: Miscellaneous Debugger Commands958371
++Node: Readline Support963433
++Node: Limitations964329
++Node: Debugging Summary966883
++Node: Namespaces968162
++Node: Global Namespace969273
++Node: Qualified Names970671
++Node: Default Namespace971670
++Node: Changing The Namespace972411
++Node: Naming Rules974025
++Node: Internal Name Management975873
++Node: Namespace Example976915
++Node: Namespace And Features979477
++Node: Namespace Summary980912
++Node: Arbitrary Precision Arithmetic982389
++Node: Computer Arithmetic983876
++Ref: table-numeric-ranges987642
++Ref: table-floating-point-ranges988136
++Ref: Computer Arithmetic-Footnote-1988795
++Node: Math Definitions988852
++Ref: table-ieee-formats991828
++Node: MPFR features992396
++Node: FP Math Caution994114
++Ref: FP Math Caution-Footnote-1995186
++Node: Inexactness of computations995555
++Node: Inexact representation996586
++Node: Comparing FP Values997946
++Node: Errors accumulate999187
++Node: Strange values1000643
++Ref: Strange values-Footnote-11003231
++Node: Getting Accuracy1003336
++Node: Try To Round1006046
++Node: Setting precision1006945
++Ref: table-predefined-precision-strings1007642
++Node: Setting the rounding mode1009473
++Ref: table-gawk-rounding-modes1009847
++Ref: Setting the rounding mode-Footnote-11013779
++Node: Arbitrary Precision Integers1013958
++Ref: Arbitrary Precision Integers-Footnote-11017133
++Node: Checking for MPFR1017282
++Node: POSIX Floating Point Problems1018756
++Ref: POSIX Floating Point Problems-Footnote-11023409
++Node: Floating point summary1023447
++Node: Dynamic Extensions1025637
++Node: Extension Intro1027190
++Node: Plugin License1028456
++Node: Extension Mechanism Outline1029253
++Ref: figure-load-extension1029692
++Ref: figure-register-new-function1031258
++Ref: figure-call-new-function1032351
++Node: Extension API Description1034414
++Node: Extension API Functions Introduction1036127
++Ref: table-api-std-headers1037963
++Node: General Data Types1042213
++Ref: General Data Types-Footnote-11050919
++Node: Memory Allocation Functions1051218
++Ref: Memory Allocation Functions-Footnote-11055719
++Node: Constructor Functions1055818
++Node: API Ownership of MPFR and GMP Values1059471
++Node: Registration Functions1061004
++Node: Extension Functions1061704
++Node: Exit Callback Functions1067026
++Node: Extension Version String1068276
++Node: Input Parsers1068939
++Node: Output Wrappers1081660
++Node: Two-way processors1086172
++Node: Printing Messages1088437
++Ref: Printing Messages-Footnote-11089608
++Node: Updating ERRNO1089761
++Node: Requesting Values1090500
++Ref: table-value-types-returned1091237
++Node: Accessing Parameters1092346
++Node: Symbol Table Access1093583
++Node: Symbol table by name1094095
++Ref: Symbol table by name-Footnote-11097120
++Node: Symbol table by cookie1097248
++Ref: Symbol table by cookie-Footnote-11101433
++Node: Cached values1101497
++Ref: Cached values-Footnote-11105033
++Node: Array Manipulation1105186
++Ref: Array Manipulation-Footnote-11106277
++Node: Array Data Types1106314
++Ref: Array Data Types-Footnote-11108972
++Node: Array Functions1109064
++Node: Flattening Arrays1113562
++Node: Creating Arrays1120538
++Node: Redirection API1125305
++Node: Extension API Variables1128138
++Node: Extension Versioning1128849
++Ref: gawk-api-version1129278
++Node: Extension GMP/MPFR Versioning1131010
++Node: Extension API Informational Variables1132638
++Node: Extension API Boilerplate1133711
++Node: Changes from API V11137685
++Node: Finding Extensions1139257
++Node: Extension Example1139816
++Node: Internal File Description1140614
++Node: Internal File Ops1144694
++Ref: Internal File Ops-Footnote-11156044
++Node: Using Internal File Ops1156184
++Ref: Using Internal File Ops-Footnote-11158567
++Node: Extension Samples1158841
++Node: Extension Sample File Functions1160370
++Node: Extension Sample Fnmatch1168019
++Node: Extension Sample Fork1169506
++Node: Extension Sample Inplace1170724
++Node: Extension Sample Ord1174350
++Node: Extension Sample Readdir1175186
++Ref: table-readdir-file-types1176075
++Node: Extension Sample Revout1177143
++Node: Extension Sample Rev2way1177732
++Node: Extension Sample Read write array1178472
++Node: Extension Sample Readfile1181637
++Node: Extension Sample Time1182732
++Node: Extension Sample API Tests1184484
++Node: gawkextlib1184976
++Node: Extension summary1187894
++Node: Extension Exercises1191596
++Node: Language History1192838
++Node: V7/SVR3.11194494
++Node: SVR41196646
++Node: POSIX1198080
++Node: BTL1199461
++Node: POSIX/GNU1200190
++Node: Feature History1205968
++Node: Common Extensions1223143
++Node: Ranges and Locales1224426
++Ref: Ranges and Locales-Footnote-11229042
++Ref: Ranges and Locales-Footnote-21229069
++Ref: Ranges and Locales-Footnote-31229304
++Node: Contributors1229527
++Node: History summary1235524
++Node: Installation1236904
++Node: Gawk Distribution1237848
++Node: Getting1238332
++Node: Extracting1239295
++Node: Distribution contents1240933
++Node: Unix Installation1247994
++Node: Quick Installation1248798
++Node: Compiling with MPFR1251218
++Node: Shell Startup Files1251908
++Node: Additional Configuration Options1252997
++Node: Configuration Philosophy1255312
++Node: Compiling from Git1257708
++Node: Building the Documentation1258263
++Node: Non-Unix Installation1259647
++Node: PC Installation1260107
++Node: PC Binary Installation1260945
++Node: PC Compiling1261818
++Node: PC Using1262935
++Node: Cygwin1266488
++Node: MSYS1267712
++Node: VMS Installation1268314
++Node: VMS Compilation1269033
++Ref: VMS Compilation-Footnote-11270262
++Node: VMS Dynamic Extensions1270320
++Node: VMS Installation Details1272005
++Node: VMS Running1274267
++Node: VMS GNV1278546
++Node: Bugs1279260
++Node: Bug definition1280172
++Node: Bug address1283108
++Node: Usenet1286496
++Node: Performance bugs1287685
++Node: Asking for help1290606
++Node: Maintainers1292573
++Node: Other Versions1293767
++Node: Installation summary1301931
++Node: Notes1303295
++Node: Compatibility Mode1304089
++Node: Additions1304871
++Node: Accessing The Source1305796
++Node: Adding Code1307233
++Node: New Ports1313425
++Node: Derived Files1317800
++Ref: Derived Files-Footnote-11323460
++Ref: Derived Files-Footnote-21323495
++Ref: Derived Files-Footnote-31324093
++Node: Future Extensions1324207
++Node: Implementation Limitations1324865
++Node: Extension Design1326075
++Node: Old Extension Problems1327219
++Ref: Old Extension Problems-Footnote-11328737
++Node: Extension New Mechanism Goals1328794
++Ref: Extension New Mechanism Goals-Footnote-11332158
++Node: Extension Other Design Decisions1332347
++Node: Extension Future Growth1334460
++Node: Notes summary1335066
++Node: Basic Concepts1336224
++Node: Basic High Level1336905
++Ref: figure-general-flow1337187
++Ref: figure-process-flow1337873
++Ref: Basic High Level-Footnote-11341175
++Node: Basic Data Typing1341360
++Node: Glossary1344688
++Node: Copying1376575
++Node: GNU Free Documentation License1414118
++Node: Index1439238
  End Tag Table
diff --cc mpfr.c
index c09d2f03,dbaacb5c..ff4fde0b
--- a/mpfr.c
+++ b/mpfr.c
@@@ -476,53 -476,6 +476,53 @@@ mpg_cmp(const NODE *t1, const NODE *t2
        return cmp_awknums(t1, t2);
 +/* mpg_cmp_as_numbers --- compare two numbers, similar to doubles */
 +mpg_cmp_as_numbers(const NODE *t1, const NODE *t2, scalar_cmp_t 
 +      /*
 +       * This routine provides numeric comparisons that should work
 +       * the same as in C.  It should NOT be used for sorting.
 +       */
 +      bool t1_nan = mpfr_nan_p(t1->mpg_numbr);
 +      bool t2_nan = mpfr_nan_p(t2->mpg_numbr);
 +      bool ret = false;
 +      // MPFR is different than native doubles...
 +      if (t1_nan || t2_nan)
 +              return comparison_type == SCALAR_NEQ;
 +      int di = mpg_cmp(t1, t2);
 +      switch (comparison_type) {
 +      case SCALAR_EQ:
 +              ret = (di == 0);
 +              break;
 +      case SCALAR_NEQ:
 +              ret = (di != 0);
 +              break;
 +      case SCALAR_LT:
 +              ret = (di < 0);
 +              break;
 +      case SCALAR_LE:
 +              ret = (di <= 0);
 +              break;
 +      case SCALAR_GT:
 +              ret = (di > 0);
 +              break;
 +      case SCALAR_GE:
 +              ret = (di >= 0);
 +              break;
 +      default:
-               cant_happen();
++              cant_happen("invalid comparison type %d", (int) 
 +              break;
 +      }
 +      return ret;
   * mpg_update_var --- update NR or FNR.


Summary of changes:
 ChangeLog          |   8 +
 awk.h              |   4 +-
 awkgram.c          |  10 +-
 awkgram.y          |  10 +-
 debug.c            |   2 +-
 doc/ChangeLog      |   5 +
 doc/      | 489 +++++++++++++++++++++++++++--------------------------
 doc/gawk.texi      |  11 ++
 doc/    |  11 ++
 doc/it/ChangeLog   |   5 +
 doc/it/README.txt  |  33 ++++
 doc/it/ |  22 ++-
 eval.c             |   4 +-
 interpret.h        |   6 +-
 io.c               |   6 +-
 main.c             |   2 +-
 mpfr.c             |   8 +-
 profile.c          |   7 +-
 re.c               |   2 +-
 symbol.c           |   4 +-
 20 files changed, 368 insertions(+), 281 deletions(-)
 create mode 100644 doc/it/README.txt


reply via email to

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