[Top][All Lists]

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

[SCM] gawk branch, feature/bool, updated. gawk-4.1.0-4287-g752de8b

From: Arnold Robbins
Subject: [SCM] gawk branch, feature/bool, updated. gawk-4.1.0-4287-g752de8b
Date: Wed, 14 Apr 2021 09:33:35 -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, feature/bool has been updated
       via  752de8b1a557d3ff7f7c1e3c17104fa165b4c6ca (commit)
      from  0802d97db48425045eac9f2dd7748c3ee3802b65 (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 752de8b1a557d3ff7f7c1e3c17104fa165b4c6ca
Author: Arnold D. Robbins <>
Date:   Wed Apr 14 16:33:14 2021 +0300

    Finish bool doc, fix sort order.

diff --git a/ChangeLog b/ChangeLog
index e4843cb..643bb18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2021-04-14         Arnold D. Robbins     <>
+       * array.c (do_sort_up_value_type): Fix order with bools.
 2021-03-30         Arnold D. Robbins     <>
        * gawk_api.h (gawk_api_minor_version): Increase to 2.
diff --git a/array.c b/array.c
index b4ce86b..c6bfa44 100644
--- a/array.c
+++ b/array.c
@@ -1214,18 +1214,18 @@ do_sort_up_value_type(const void *p1, const void *p2)
                return cmp_numbers(n1, n2);
-       /* 3b. Numbers next */
-       if ((n1->flags & NUMBER) != 0 && (n2->flags & NUMBER) != 0) {
-               return cmp_numbers(n1, n2);
-       }
-       /* 3c. Bools before everything else */
+       /* 3b. Bools before everything else */
        if ((n1->flags & BOOL) != 0 && (n2->flags & BOOL) == 0) {
                return -1;
        } else if ((n1->flags & BOOL) == 0 && (n2->flags & BOOL) != 0) {
                return 1;
+       /* 3c. Numbers next */
+       if ((n1->flags & NUMBER) != 0 && (n2->flags & NUMBER) != 0) {
+               return cmp_numbers(n1, n2);
+       }
        /* 3d. All numbers are less than all strings. This is aribitrary. */
        if ((n1->flags & NUMBER) != 0 && (n2->flags & STRING) != 0) {
                return -1;
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 9cf4aa3..6e7ad16 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2021-04-14         Arnold D. Robbins     <>
+       * (Controlling Scanning): Document bools for
+       "@val_type_asc".
+       * Add doc on bool() function.
 2021-04-06         Arnold D. Robbins     <>
        * Finish documenting bool features.
diff --git a/doc/ b/doc/
index 7cf90cc..cf2cf76 100644
--- a/doc/
+++ b/doc/
@@ -2,7 +2,7 @@
 .\" Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 .\" 2005, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,
-.\" 2019, 2020
+.\" 2019, 2020, 2021
 .\" Free Software Foundation, Inc.
 .\" Permission is granted to make and distribute verbatim copies of
@@ -100,7 +100,7 @@ Variables  5\*(CX
-\*(FRCopyright \(co 1996\(en2005, 2007, 2009\(en2020
+\*(FRCopyright \(co 1996\(en2005, 2007, 2009\(en2021
 Free Software Foundation, Inc.
@@ -1916,6 +1916,20 @@ See the manual for details.\*(CB
 .EB "\s+2\f(HBDYNAMIC EXTENSIONS (\*(GK\f(HB)\*(FR\s0"
+.\" --- Generator Functions
+.ES +.2i
+.ti -.2i
+Return a Boolean-typed value based on the Boolean value
+of \*(FIexpression\fP. True values have a numeric value of one
+and a string value of \*(FC"TRUE"\fP. False values have a numeric value of zero
+and a string value of \*(FC"FALSE"\fP.\*(CB -.2i
+.EB "\s+2\f(HBGENERATOR FUNCTIONS (\*(GK\f(HB)\*(FR\s0"
+.sp .5
 .\" --- Type Functions
@@ -1959,11 +1973,6 @@ Return the translation of \*(FIstring\*(FR in text domain
 \*(FIdomain\*(FR for locale category \*(FIcategory\*(FR.
 The default value for \*(FIdomain\*(FR is the current value of 
 The default value for \*(FIcategory\*(FR is \*(FC"LC_MESSAGES"\*(FR.
-.sp .5
-If you supply a value for \*(FIcategory\*(FR, it must be a string equal to
-one of the known locale categories.
-You must also supply a text domain.  Use \*(FCTEXTDOMAIN\*(FR
-to use the current domain.
 .ti -.2i
 \*(FCdcngettext(\*(FIstring1\*(FC, \*(FIstring2\*(FC, \*(FInumber\*(FR [\*(FC, 
\*(FIdom \*(FR[\*(FC, \*(FIcat\*(FR]]\*(FC)\*(FR
@@ -1971,12 +1980,7 @@ Return the plural form used for \*(FInumber\*(FR of the 
translation of
 \*(FIstring1\*(FR and \*(FIstring2\*(FR in text domain
 \*(FIdom\*(FR for locale category \*(FIcat\*(FR.
 The default value for \*(FIdom\*(FR is the current value of 
-The default for \*(FIcat\*(FR is \*(FC"LC_MESSAGES"\*(FR.
-.sp .5
-If you supply a value for \*(FIcat\*(FR, it must be a string equal to
-one of the known locale categories.
-You must also supply a text domain.  Use \*(FCTEXTDOMAIN\*(FR
-to use the current domain.\*(CB
+The default for \*(FIcat\*(FR is \*(FC"LC_MESSAGES"\*(FR.\*(CB
 .in -.2i
 .sp .5
@@ -2012,7 +2016,7 @@ maintains it.\*(CX
 \*(CDCopyright \(co 1996\(en2005,
-2007, 2009\(en2020 Free Software Foundation, Inc.
+2007, 2009\(en2021 Free Software Foundation, Inc.
 .sp .5   
 Permission is granted to make and distribute verbatim copies of this
 reference card provided the copyright notice and this permission notice
diff --git a/doc/ b/doc/
index 008160c..853014f 100644
--- a/doc/
+++ b/doc/
@@ -12151,9 +12151,11 @@ available:
      Order by element values in ascending order (rather than by
      indices).  Ordering is by the type assigned to the element (*note
-     Typing and Comparison::).  All numeric values come before all
-     string values, which in turn come before all subarrays.  (Subarrays
-     have not been described yet; *note Arrays of Arrays::.)
+     Typing and Comparison::).  All Boolean values come before all
+     numeric values (*note Boolean Typed Values::), and all numeric
+     values come before all string values, which in turn come before all
+     subarrays.  (Subarrays have not been described yet; *note Arrays of
+     Arrays::.)
      If you choose to use this feature in traversing 'FUNCTAB' (*note
      Auto-set::), then the order is built-in functions first (*note
@@ -38424,377 +38426,377 @@ Node: Assigning Elements510508
 Node: Array Example510999
 Node: Scanning an Array512758
 Node: Controlling Scanning515780
-Ref: Controlling Scanning-Footnote-1522236
-Node: Numeric Array Subscripts522552
-Node: Uninitialized Subscripts524736
-Node: Delete526355
-Ref: Delete-Footnote-1529107
-Node: Multidimensional529164
-Node: Multiscanning532259
-Node: Arrays of Arrays533850
-Node: Arrays Summary538618
-Node: Functions540711
-Node: Built-in541749
-Node: Calling Built-in542902
-Node: Boolean Functions544898
-Node: Numeric Functions545508
-Ref: Numeric Functions-Footnote-1549535
-Ref: Numeric Functions-Footnote-2550183
-Ref: Numeric Functions-Footnote-3550231
-Node: String Functions550503
-Ref: String Functions-Footnote-1574644
-Ref: String Functions-Footnote-2574772
-Ref: String Functions-Footnote-3575020
-Node: Gory Details575107
-Ref: table-sub-escapes576898
-Ref: table-sub-proposed578417
-Ref: table-posix-sub579780
-Ref: table-gensub-escapes581321
-Ref: Gory Details-Footnote-1582144
-Node: I/O Functions582298
-Ref: table-system-return-values588752
-Ref: I/O Functions-Footnote-1590832
-Ref: I/O Functions-Footnote-2590980
-Node: Time Functions591100
-Ref: Time Functions-Footnote-1601771
-Ref: Time Functions-Footnote-2601839
-Ref: Time Functions-Footnote-3601997
-Ref: Time Functions-Footnote-4602108
-Ref: Time Functions-Footnote-5602220
-Ref: Time Functions-Footnote-6602447
-Node: Bitwise Functions602713
-Ref: table-bitwise-ops603307
-Ref: Bitwise Functions-Footnote-1609370
-Ref: Bitwise Functions-Footnote-2609543
-Node: Type Functions609734
-Node: I18N Functions612681
-Node: User-defined614332
-Node: Definition Syntax615144
-Ref: Definition Syntax-Footnote-1620838
-Node: Function Example620909
-Ref: Function Example-Footnote-1623831
-Node: Function Calling623853
-Node: Calling A Function624441
-Node: Variable Scope625399
-Node: Pass By Value/Reference628393
-Node: Function Caveats631037
-Ref: Function Caveats-Footnote-1633084
-Node: Return Statement633204
-Node: Dynamic Typing636183
-Node: Indirect Calls637113
-Ref: Indirect Calls-Footnote-1647368
-Node: Functions Summary647496
-Node: Library Functions650201
-Ref: Library Functions-Footnote-1653808
-Ref: Library Functions-Footnote-2653951
-Node: Library Names654122
-Ref: Library Names-Footnote-1657789
-Ref: Library Names-Footnote-2658012
-Node: General Functions658098
-Node: Strtonum Function659201
-Node: Assert Function662223
-Node: Round Function665549
-Node: Cliff Random Function667089
-Node: Ordinal Functions668105
-Ref: Ordinal Functions-Footnote-1671168
-Ref: Ordinal Functions-Footnote-2671420
-Node: Join Function671630
-Ref: Join Function-Footnote-1673400
-Node: Getlocaltime Function673600
-Node: Readfile Function677342
-Node: Shell Quoting679319
-Node: Data File Management680720
-Node: Filetrans Function681352
-Node: Rewind Function685448
-Node: File Checking687357
-Ref: File Checking-Footnote-1688691
-Node: Empty Files688892
-Node: Ignoring Assigns690871
-Node: Getopt Function692421
-Ref: Getopt Function-Footnote-1707632
-Node: Passwd Functions707832
-Ref: Passwd Functions-Footnote-1716671
-Node: Group Functions716759
-Ref: Group Functions-Footnote-1724657
-Node: Walking Arrays724864
-Node: Library Functions Summary727872
-Node: Library Exercises729278
-Node: Sample Programs729743
-Node: Running Examples730513
-Node: Clones731241
-Node: Cut Program732465
-Node: Egrep Program742605
-Node: Id Program751606
-Node: Split Program761553
-Ref: Split Program-Footnote-1771443
-Node: Tee Program771616
-Node: Uniq Program774406
-Node: Wc Program781994
-Node: Bytes vs. Characters782381
-Node: Using extensions783929
-Node: wc program784683
-Node: Miscellaneous Programs789548
-Node: Dupword Program790761
-Node: Alarm Program792791
-Node: Translate Program797646
-Ref: Translate Program-Footnote-1802211
-Node: Labels Program802481
-Ref: Labels Program-Footnote-1805832
-Node: Word Sorting805916
-Node: History Sorting809988
-Node: Extract Program812213
-Node: Simple Sed820267
-Node: Igawk Program823341
-Ref: Igawk Program-Footnote-1837672
-Ref: Igawk Program-Footnote-2837874
-Ref: Igawk Program-Footnote-3837996
-Node: Anagram Program838111
-Node: Signature Program841173
-Node: Programs Summary842420
-Node: Programs Exercises843634
-Ref: Programs Exercises-Footnote-1847764
-Node: Advanced Features847850
-Node: Nondecimal Data849974
-Node: Boolean Typed Values851572
-Node: Array Sorting853580
-Node: Controlling Array Traversal854285
-Ref: Controlling Array Traversal-Footnote-1862653
-Node: Array Sorting Functions862771
-Ref: Array Sorting Functions-Footnote-1867862
-Node: Two-way I/O868058
-Ref: Two-way I/O-Footnote-1875779
-Ref: Two-way I/O-Footnote-2875966
-Node: TCP/IP Networking876048
-Node: Profiling879166
-Node: Extension Philosophy888475
-Node: Advanced Features Summary889954
-Node: Internationalization891969
-Node: I18N and L10N893449
-Node: Explaining gettext894136
-Ref: Explaining gettext-Footnote-1900028
-Ref: Explaining gettext-Footnote-2900213
-Node: Programmer i18n900378
-Ref: Programmer i18n-Footnote-1905327
-Node: Translator i18n905376
-Node: String Extraction906170
-Ref: String Extraction-Footnote-1907302
-Node: Printf Ordering907388
-Ref: Printf Ordering-Footnote-1910174
-Node: I18N Portability910238
-Ref: I18N Portability-Footnote-1912694
-Node: I18N Example912757
-Ref: I18N Example-Footnote-1916032
-Ref: I18N Example-Footnote-2916105
-Node: Gawk I18N916214
-Node: I18N Summary916863
-Node: Debugger918204
-Node: Debugging919204
-Node: Debugging Concepts919645
-Node: Debugging Terms921454
-Node: Awk Debugging924029
-Ref: Awk Debugging-Footnote-1924974
-Node: Sample Debugging Session925106
-Node: Debugger Invocation925640
-Node: Finding The Bug927026
-Node: List of Debugger Commands933500
-Node: Breakpoint Control934833
-Node: Debugger Execution Control938527
-Node: Viewing And Changing Data941889
-Node: Execution Stack945430
-Node: Debugger Info947067
-Node: Miscellaneous Debugger Commands951138
-Node: Readline Support956200
-Node: Limitations957096
-Node: Debugging Summary959650
-Node: Namespaces960929
-Node: Global Namespace962040
-Node: Qualified Names963438
-Node: Default Namespace964437
-Node: Changing The Namespace965178
-Node: Naming Rules966792
-Node: Internal Name Management968640
-Node: Namespace Example969682
-Node: Namespace And Features972244
-Node: Namespace Summary973679
-Node: Arbitrary Precision Arithmetic975156
-Node: Computer Arithmetic976643
-Ref: table-numeric-ranges980409
-Ref: table-floating-point-ranges980902
-Ref: Computer Arithmetic-Footnote-1981560
-Node: Math Definitions981617
-Ref: table-ieee-formats984593
-Node: MPFR features985160
-Node: FP Math Caution986878
-Ref: FP Math Caution-Footnote-1987950
-Node: Inexactness of computations988319
-Node: Inexact representation989350
-Node: Comparing FP Values990710
-Node: Errors accumulate991951
-Node: Strange values993407
-Ref: Strange values-Footnote-1995995
-Node: Getting Accuracy996100
-Node: Try To Round998810
-Node: Setting precision999709
-Ref: table-predefined-precision-strings1000406
-Node: Setting the rounding mode1002236
-Ref: table-gawk-rounding-modes1002610
-Ref: Setting the rounding mode-Footnote-11006541
-Node: Arbitrary Precision Integers1006720
-Ref: Arbitrary Precision Integers-Footnote-11009895
-Node: Checking for MPFR1010044
-Node: POSIX Floating Point Problems1011518
-Ref: POSIX Floating Point Problems-Footnote-11015803
-Node: Floating point summary1015841
-Node: Dynamic Extensions1018031
-Node: Extension Intro1019584
-Node: Plugin License1020850
-Node: Extension Mechanism Outline1021647
-Ref: figure-load-extension1022086
-Ref: figure-register-new-function1023651
-Ref: figure-call-new-function1024743
-Node: Extension API Description1026805
-Node: Extension API Functions Introduction1028518
-Ref: table-api-std-headers1030354
-Node: General Data Types1034603
-Ref: General Data Types-Footnote-11043309
-Node: Memory Allocation Functions1043608
-Ref: Memory Allocation Functions-Footnote-11048109
-Node: Constructor Functions1048208
-Node: API Ownership of MPFR and GMP Values1051861
-Node: Registration Functions1053174
-Node: Extension Functions1053874
-Node: Exit Callback Functions1059196
-Node: Extension Version String1060446
-Node: Input Parsers1061109
-Node: Output Wrappers1073830
-Node: Two-way processors1078342
-Node: Printing Messages1080607
-Ref: Printing Messages-Footnote-11081778
-Node: Updating ERRNO1081931
-Node: Requesting Values1082670
-Ref: table-value-types-returned1083407
-Node: Accessing Parameters1084515
-Node: Symbol Table Access1085752
-Node: Symbol table by name1086264
-Ref: Symbol table by name-Footnote-11089288
-Node: Symbol table by cookie1089416
-Ref: Symbol table by cookie-Footnote-11093601
-Node: Cached values1093665
-Ref: Cached values-Footnote-11097201
-Node: Array Manipulation1097354
-Ref: Array Manipulation-Footnote-11098445
-Node: Array Data Types1098482
-Ref: Array Data Types-Footnote-11101140
-Node: Array Functions1101232
-Node: Flattening Arrays1105730
-Node: Creating Arrays1112706
-Node: Redirection API1117473
-Node: Extension API Variables1120306
-Node: Extension Versioning1121017
-Ref: gawk-api-version1121446
-Node: Extension GMP/MPFR Versioning1123177
-Node: Extension API Informational Variables1124805
-Node: Extension API Boilerplate1125878
-Node: Changes from API V11129852
-Node: Finding Extensions1131424
-Node: Extension Example1131983
-Node: Internal File Description1132781
-Node: Internal File Ops1136861
-Ref: Internal File Ops-Footnote-11148211
-Node: Using Internal File Ops1148351
-Ref: Using Internal File Ops-Footnote-11150734
-Node: Extension Samples1151008
-Node: Extension Sample File Functions1152537
-Node: Extension Sample Fnmatch1160186
-Node: Extension Sample Fork1161673
-Node: Extension Sample Inplace1162891
-Node: Extension Sample Ord1166517
-Node: Extension Sample Readdir1167353
-Ref: table-readdir-file-types1168242
-Node: Extension Sample Revout1169309
-Node: Extension Sample Rev2way1169898
-Node: Extension Sample Read write array1170638
-Node: Extension Sample Readfile1172580
-Node: Extension Sample Time1173675
-Node: Extension Sample API Tests1175427
-Node: gawkextlib1175919
-Node: Extension summary1178837
-Node: Extension Exercises1182539
-Node: Language History1183781
-Node: V7/SVR3.11185437
-Node: SVR41187589
-Node: POSIX1189023
-Node: BTL1190404
-Node: POSIX/GNU1191133
-Node: Feature History1196911
-Node: Common Extensions1213230
-Node: Ranges and Locales1214513
-Ref: Ranges and Locales-Footnote-11219129
-Ref: Ranges and Locales-Footnote-21219156
-Ref: Ranges and Locales-Footnote-31219391
-Node: Contributors1219614
-Node: History summary1225611
-Node: Installation1226991
-Node: Gawk Distribution1227935
-Node: Getting1228419
-Node: Extracting1229382
-Node: Distribution contents1231020
-Node: Unix Installation1237500
-Node: Quick Installation1238182
-Node: Shell Startup Files1240596
-Node: Additional Configuration Options1241685
-Node: Configuration Philosophy1244000
-Node: Non-Unix Installation1246369
-Node: PC Installation1246829
-Node: PC Binary Installation1247667
-Node: PC Compiling1248102
-Node: PC Using1249219
-Node: Cygwin1252772
-Node: MSYS1253996
-Node: VMS Installation1254598
-Node: VMS Compilation1255389
-Ref: VMS Compilation-Footnote-11256618
-Node: VMS Dynamic Extensions1256676
-Node: VMS Installation Details1258361
-Node: VMS Running1260614
-Node: VMS GNV1264893
-Node: VMS Old Gawk1265628
-Node: Bugs1266099
-Node: Bug address1266762
-Node: Usenet1269744
-Node: Maintainers1270748
-Node: Other Versions1271933
-Node: Installation summary1279798
-Node: Notes1281007
-Node: Compatibility Mode1281801
-Node: Additions1282583
-Node: Accessing The Source1283508
-Node: Adding Code1284945
-Node: New Ports1291164
-Node: Derived Files1295539
-Ref: Derived Files-Footnote-11301199
-Ref: Derived Files-Footnote-21301234
-Ref: Derived Files-Footnote-31301832
-Node: Future Extensions1301946
-Node: Implementation Limitations1302604
-Node: Extension Design1303814
-Node: Old Extension Problems1304958
-Ref: Old Extension Problems-Footnote-11306476
-Node: Extension New Mechanism Goals1306533
-Ref: Extension New Mechanism Goals-Footnote-11309897
-Node: Extension Other Design Decisions1310086
-Node: Extension Future Growth1312199
-Node: Notes summary1312805
-Node: Basic Concepts1313963
-Node: Basic High Level1314644
-Ref: figure-general-flow1314926
-Ref: figure-process-flow1315611
-Ref: Basic High Level-Footnote-11318912
-Node: Basic Data Typing1319097
-Node: Glossary1322425
-Node: Copying1354310
-Node: GNU Free Documentation License1391853
-Node: Index1416973
+Ref: Controlling Scanning-Footnote-1522332
+Node: Numeric Array Subscripts522648
+Node: Uninitialized Subscripts524832
+Node: Delete526451
+Ref: Delete-Footnote-1529203
+Node: Multidimensional529260
+Node: Multiscanning532355
+Node: Arrays of Arrays533946
+Node: Arrays Summary538714
+Node: Functions540807
+Node: Built-in541845
+Node: Calling Built-in542998
+Node: Boolean Functions544994
+Node: Numeric Functions545604
+Ref: Numeric Functions-Footnote-1549631
+Ref: Numeric Functions-Footnote-2550279
+Ref: Numeric Functions-Footnote-3550327
+Node: String Functions550599
+Ref: String Functions-Footnote-1574740
+Ref: String Functions-Footnote-2574868
+Ref: String Functions-Footnote-3575116
+Node: Gory Details575203
+Ref: table-sub-escapes576994
+Ref: table-sub-proposed578513
+Ref: table-posix-sub579876
+Ref: table-gensub-escapes581417
+Ref: Gory Details-Footnote-1582240
+Node: I/O Functions582394
+Ref: table-system-return-values588848
+Ref: I/O Functions-Footnote-1590928
+Ref: I/O Functions-Footnote-2591076
+Node: Time Functions591196
+Ref: Time Functions-Footnote-1601867
+Ref: Time Functions-Footnote-2601935
+Ref: Time Functions-Footnote-3602093
+Ref: Time Functions-Footnote-4602204
+Ref: Time Functions-Footnote-5602316
+Ref: Time Functions-Footnote-6602543
+Node: Bitwise Functions602809
+Ref: table-bitwise-ops603403
+Ref: Bitwise Functions-Footnote-1609466
+Ref: Bitwise Functions-Footnote-2609639
+Node: Type Functions609830
+Node: I18N Functions612777
+Node: User-defined614428
+Node: Definition Syntax615240
+Ref: Definition Syntax-Footnote-1620934
+Node: Function Example621005
+Ref: Function Example-Footnote-1623927
+Node: Function Calling623949
+Node: Calling A Function624537
+Node: Variable Scope625495
+Node: Pass By Value/Reference628489
+Node: Function Caveats631133
+Ref: Function Caveats-Footnote-1633180
+Node: Return Statement633300
+Node: Dynamic Typing636279
+Node: Indirect Calls637209
+Ref: Indirect Calls-Footnote-1647464
+Node: Functions Summary647592
+Node: Library Functions650297
+Ref: Library Functions-Footnote-1653904
+Ref: Library Functions-Footnote-2654047
+Node: Library Names654218
+Ref: Library Names-Footnote-1657885
+Ref: Library Names-Footnote-2658108
+Node: General Functions658194
+Node: Strtonum Function659297
+Node: Assert Function662319
+Node: Round Function665645
+Node: Cliff Random Function667185
+Node: Ordinal Functions668201
+Ref: Ordinal Functions-Footnote-1671264
+Ref: Ordinal Functions-Footnote-2671516
+Node: Join Function671726
+Ref: Join Function-Footnote-1673496
+Node: Getlocaltime Function673696
+Node: Readfile Function677438
+Node: Shell Quoting679415
+Node: Data File Management680816
+Node: Filetrans Function681448
+Node: Rewind Function685544
+Node: File Checking687453
+Ref: File Checking-Footnote-1688787
+Node: Empty Files688988
+Node: Ignoring Assigns690967
+Node: Getopt Function692517
+Ref: Getopt Function-Footnote-1707728
+Node: Passwd Functions707928
+Ref: Passwd Functions-Footnote-1716767
+Node: Group Functions716855
+Ref: Group Functions-Footnote-1724753
+Node: Walking Arrays724960
+Node: Library Functions Summary727968
+Node: Library Exercises729374
+Node: Sample Programs729839
+Node: Running Examples730609
+Node: Clones731337
+Node: Cut Program732561
+Node: Egrep Program742701
+Node: Id Program751702
+Node: Split Program761649
+Ref: Split Program-Footnote-1771539
+Node: Tee Program771712
+Node: Uniq Program774502
+Node: Wc Program782090
+Node: Bytes vs. Characters782477
+Node: Using extensions784025
+Node: wc program784779
+Node: Miscellaneous Programs789644
+Node: Dupword Program790857
+Node: Alarm Program792887
+Node: Translate Program797742
+Ref: Translate Program-Footnote-1802307
+Node: Labels Program802577
+Ref: Labels Program-Footnote-1805928
+Node: Word Sorting806012
+Node: History Sorting810084
+Node: Extract Program812309
+Node: Simple Sed820363
+Node: Igawk Program823437
+Ref: Igawk Program-Footnote-1837768
+Ref: Igawk Program-Footnote-2837970
+Ref: Igawk Program-Footnote-3838092
+Node: Anagram Program838207
+Node: Signature Program841269
+Node: Programs Summary842516
+Node: Programs Exercises843730
+Ref: Programs Exercises-Footnote-1847860
+Node: Advanced Features847946
+Node: Nondecimal Data850070
+Node: Boolean Typed Values851668
+Node: Array Sorting853676
+Node: Controlling Array Traversal854381
+Ref: Controlling Array Traversal-Footnote-1862749
+Node: Array Sorting Functions862867
+Ref: Array Sorting Functions-Footnote-1867958
+Node: Two-way I/O868154
+Ref: Two-way I/O-Footnote-1875875
+Ref: Two-way I/O-Footnote-2876062
+Node: TCP/IP Networking876144
+Node: Profiling879262
+Node: Extension Philosophy888571
+Node: Advanced Features Summary890050
+Node: Internationalization892065
+Node: I18N and L10N893545
+Node: Explaining gettext894232
+Ref: Explaining gettext-Footnote-1900124
+Ref: Explaining gettext-Footnote-2900309
+Node: Programmer i18n900474
+Ref: Programmer i18n-Footnote-1905423
+Node: Translator i18n905472
+Node: String Extraction906266
+Ref: String Extraction-Footnote-1907398
+Node: Printf Ordering907484
+Ref: Printf Ordering-Footnote-1910270
+Node: I18N Portability910334
+Ref: I18N Portability-Footnote-1912790
+Node: I18N Example912853
+Ref: I18N Example-Footnote-1916128
+Ref: I18N Example-Footnote-2916201
+Node: Gawk I18N916310
+Node: I18N Summary916959
+Node: Debugger918300
+Node: Debugging919300
+Node: Debugging Concepts919741
+Node: Debugging Terms921550
+Node: Awk Debugging924125
+Ref: Awk Debugging-Footnote-1925070
+Node: Sample Debugging Session925202
+Node: Debugger Invocation925736
+Node: Finding The Bug927122
+Node: List of Debugger Commands933596
+Node: Breakpoint Control934929
+Node: Debugger Execution Control938623
+Node: Viewing And Changing Data941985
+Node: Execution Stack945526
+Node: Debugger Info947163
+Node: Miscellaneous Debugger Commands951234
+Node: Readline Support956296
+Node: Limitations957192
+Node: Debugging Summary959746
+Node: Namespaces961025
+Node: Global Namespace962136
+Node: Qualified Names963534
+Node: Default Namespace964533
+Node: Changing The Namespace965274
+Node: Naming Rules966888
+Node: Internal Name Management968736
+Node: Namespace Example969778
+Node: Namespace And Features972340
+Node: Namespace Summary973775
+Node: Arbitrary Precision Arithmetic975252
+Node: Computer Arithmetic976739
+Ref: table-numeric-ranges980505
+Ref: table-floating-point-ranges980998
+Ref: Computer Arithmetic-Footnote-1981656
+Node: Math Definitions981713
+Ref: table-ieee-formats984689
+Node: MPFR features985256
+Node: FP Math Caution986974
+Ref: FP Math Caution-Footnote-1988046
+Node: Inexactness of computations988415
+Node: Inexact representation989446
+Node: Comparing FP Values990806
+Node: Errors accumulate992047
+Node: Strange values993503
+Ref: Strange values-Footnote-1996091
+Node: Getting Accuracy996196
+Node: Try To Round998906
+Node: Setting precision999805
+Ref: table-predefined-precision-strings1000502
+Node: Setting the rounding mode1002332
+Ref: table-gawk-rounding-modes1002706
+Ref: Setting the rounding mode-Footnote-11006637
+Node: Arbitrary Precision Integers1006816
+Ref: Arbitrary Precision Integers-Footnote-11009991
+Node: Checking for MPFR1010140
+Node: POSIX Floating Point Problems1011614
+Ref: POSIX Floating Point Problems-Footnote-11015899
+Node: Floating point summary1015937
+Node: Dynamic Extensions1018127
+Node: Extension Intro1019680
+Node: Plugin License1020946
+Node: Extension Mechanism Outline1021743
+Ref: figure-load-extension1022182
+Ref: figure-register-new-function1023747
+Ref: figure-call-new-function1024839
+Node: Extension API Description1026901
+Node: Extension API Functions Introduction1028614
+Ref: table-api-std-headers1030450
+Node: General Data Types1034699
+Ref: General Data Types-Footnote-11043405
+Node: Memory Allocation Functions1043704
+Ref: Memory Allocation Functions-Footnote-11048205
+Node: Constructor Functions1048304
+Node: API Ownership of MPFR and GMP Values1051957
+Node: Registration Functions1053270
+Node: Extension Functions1053970
+Node: Exit Callback Functions1059292
+Node: Extension Version String1060542
+Node: Input Parsers1061205
+Node: Output Wrappers1073926
+Node: Two-way processors1078438
+Node: Printing Messages1080703
+Ref: Printing Messages-Footnote-11081874
+Node: Updating ERRNO1082027
+Node: Requesting Values1082766
+Ref: table-value-types-returned1083503
+Node: Accessing Parameters1084611
+Node: Symbol Table Access1085848
+Node: Symbol table by name1086360
+Ref: Symbol table by name-Footnote-11089384
+Node: Symbol table by cookie1089512
+Ref: Symbol table by cookie-Footnote-11093697
+Node: Cached values1093761
+Ref: Cached values-Footnote-11097297
+Node: Array Manipulation1097450
+Ref: Array Manipulation-Footnote-11098541
+Node: Array Data Types1098578
+Ref: Array Data Types-Footnote-11101236
+Node: Array Functions1101328
+Node: Flattening Arrays1105826
+Node: Creating Arrays1112802
+Node: Redirection API1117569
+Node: Extension API Variables1120402
+Node: Extension Versioning1121113
+Ref: gawk-api-version1121542
+Node: Extension GMP/MPFR Versioning1123273
+Node: Extension API Informational Variables1124901
+Node: Extension API Boilerplate1125974
+Node: Changes from API V11129948
+Node: Finding Extensions1131520
+Node: Extension Example1132079
+Node: Internal File Description1132877
+Node: Internal File Ops1136957
+Ref: Internal File Ops-Footnote-11148307
+Node: Using Internal File Ops1148447
+Ref: Using Internal File Ops-Footnote-11150830
+Node: Extension Samples1151104
+Node: Extension Sample File Functions1152633
+Node: Extension Sample Fnmatch1160282
+Node: Extension Sample Fork1161769
+Node: Extension Sample Inplace1162987
+Node: Extension Sample Ord1166613
+Node: Extension Sample Readdir1167449
+Ref: table-readdir-file-types1168338
+Node: Extension Sample Revout1169405
+Node: Extension Sample Rev2way1169994
+Node: Extension Sample Read write array1170734
+Node: Extension Sample Readfile1172676
+Node: Extension Sample Time1173771
+Node: Extension Sample API Tests1175523
+Node: gawkextlib1176015
+Node: Extension summary1178933
+Node: Extension Exercises1182635
+Node: Language History1183877
+Node: V7/SVR3.11185533
+Node: SVR41187685
+Node: POSIX1189119
+Node: BTL1190500
+Node: POSIX/GNU1191229
+Node: Feature History1197007
+Node: Common Extensions1213326
+Node: Ranges and Locales1214609
+Ref: Ranges and Locales-Footnote-11219225
+Ref: Ranges and Locales-Footnote-21219252
+Ref: Ranges and Locales-Footnote-31219487
+Node: Contributors1219710
+Node: History summary1225707
+Node: Installation1227087
+Node: Gawk Distribution1228031
+Node: Getting1228515
+Node: Extracting1229478
+Node: Distribution contents1231116
+Node: Unix Installation1237596
+Node: Quick Installation1238278
+Node: Shell Startup Files1240692
+Node: Additional Configuration Options1241781
+Node: Configuration Philosophy1244096
+Node: Non-Unix Installation1246465
+Node: PC Installation1246925
+Node: PC Binary Installation1247763
+Node: PC Compiling1248198
+Node: PC Using1249315
+Node: Cygwin1252868
+Node: MSYS1254092
+Node: VMS Installation1254694
+Node: VMS Compilation1255485
+Ref: VMS Compilation-Footnote-11256714
+Node: VMS Dynamic Extensions1256772
+Node: VMS Installation Details1258457
+Node: VMS Running1260710
+Node: VMS GNV1264989
+Node: VMS Old Gawk1265724
+Node: Bugs1266195
+Node: Bug address1266858
+Node: Usenet1269840
+Node: Maintainers1270844
+Node: Other Versions1272029
+Node: Installation summary1279894
+Node: Notes1281103
+Node: Compatibility Mode1281897
+Node: Additions1282679
+Node: Accessing The Source1283604
+Node: Adding Code1285041
+Node: New Ports1291260
+Node: Derived Files1295635
+Ref: Derived Files-Footnote-11301295
+Ref: Derived Files-Footnote-21301330
+Ref: Derived Files-Footnote-31301928
+Node: Future Extensions1302042
+Node: Implementation Limitations1302700
+Node: Extension Design1303910
+Node: Old Extension Problems1305054
+Ref: Old Extension Problems-Footnote-11306572
+Node: Extension New Mechanism Goals1306629
+Ref: Extension New Mechanism Goals-Footnote-11309993
+Node: Extension Other Design Decisions1310182
+Node: Extension Future Growth1312295
+Node: Notes summary1312901
+Node: Basic Concepts1314059
+Node: Basic High Level1314740
+Ref: figure-general-flow1315022
+Ref: figure-process-flow1315707
+Ref: Basic High Level-Footnote-11319008
+Node: Basic Data Typing1319193
+Node: Glossary1322521
+Node: Copying1354406
+Node: GNU Free Documentation License1391949
+Node: Index1417069
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 6a7feaa..888973e 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -17515,7 +17515,8 @@ Any index with a non-numeric value will end up 
positioned as if it were zero.
 Order by element values in ascending order (rather than by indices).
 Ordering is by the type assigned to the element
 (@pxref{Typing and Comparison}).
-All numeric values come before all string values,
+All Boolean values come before all numeric values (@pxref{Boolean Typed 
+and all numeric values come before all string values,
 which in turn come before all subarrays.
 (Subarrays have not been described yet;
 @pxref{Arrays of Arrays}.)
diff --git a/doc/ b/doc/
index ae46956..b1eca3b 100644
--- a/doc/
+++ b/doc/
@@ -16656,7 +16656,8 @@ Any index with a non-numeric value will end up 
positioned as if it were zero.
 Order by element values in ascending order (rather than by indices).
 Ordering is by the type assigned to the element
 (@pxref{Typing and Comparison}).
-All numeric values come before all string values,
+All Boolean values come before all numeric values (@pxref{Boolean Typed 
+and all numeric values come before all string values,
 which in turn come before all subarrays.
 (Subarrays have not been described yet;
 @pxref{Arrays of Arrays}.)


Summary of changes:
 ChangeLog       |   4 +
 array.c         |  12 +-
 doc/ChangeLog   |   6 +
 doc/  |  32 +--
 doc/   | 750 ++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi   |   3 +-
 doc/ |   3 +-
 7 files changed, 414 insertions(+), 396 deletions(-)


reply via email to

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