aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-05-13 22:36:19 -0400
committerArnold D. Robbins <arnold@skeeve.com>2018-05-13 22:36:19 -0400
commita395c25fa379973b5ca300c4b8b4b4426412882b (patch)
treee5a5ab12c0115daf2a5a87fed5a23c99c2102365
parent215cd91db5b8e049b6fa06257fb498909f5e6684 (diff)
parent84d5de360049081bb12d4edaf2377dcccfa5ad95 (diff)
downloadegawk-a395c25fa379973b5ca300c4b8b4b4426412882b.tar.gz
egawk-a395c25fa379973b5ca300c4b8b4b4426412882b.tar.bz2
egawk-a395c25fa379973b5ca300c4b8b4b4426412882b.zip
Merge branch 'gawk-4.2-stable'
-rw-r--r--ChangeLog4
-rwxr-xr-xconfig.sub74
-rw-r--r--doc/ChangeLog7
-rw-r--r--doc/gawk.info630
-rw-r--r--doc/gawk.texi2
-rw-r--r--doc/gawktexi.in2
-rw-r--r--extension/build-aux/ChangeLog4
-rwxr-xr-xextension/build-aux/config.sub74
8 files changed, 429 insertions, 368 deletions
diff --git a/ChangeLog b/ChangeLog
index 68249216..5a9d3efd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-05-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * config.sub: Update from GNULIB.
+
2018-05-03 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (pc/Makefile.tst): New target.
diff --git a/config.sub b/config.sub
index 657a8625..98835b48 100755
--- a/config.sub
+++ b/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-04-16'
+timestamp='2018-05-12'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -110,28 +110,48 @@ case $# in
exit 1;;
esac
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
- kopensolaris*-gnu* | cloudabi*-eabi* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- android-linux)
- os=-linux-android
- basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
- ;;
- *)
- basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
- if [ "$basic_machine" != "$1" ]
- then os=`echo "$1" | sed 's/.*-/-/'`
- else os=; fi
- ;;
+# Split fields of configuration type
+IFS="-" read -r field1 field2 field3 field4 <<EOF
+$1
+EOF
+
+# Separate into logical components for further validation
+case $1 in
+ *-*-*-*)
+ basic_machine=$field1-$field2
+ os=-$field3-$field4
+ ;;
+ *-*-*)
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+ # parts
+ maybe_os=$field2-$field3
+ case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
+ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+ | storm-chaos* | os2-emx* | rtmk-nova*)
+ basic_machine=$field1
+ os=-$maybe_os
+ ;;
+ android-linux)
+ basic_machine=$field1-unknown
+ os=-linux-android
+ ;;
+ *)
+ basic_machine=$field1-$field2
+ os=-$field3
+ ;;
+ esac
+ ;;
+ *-*)
+ basic_machine=$field1
+ os=-$field2
+ ;;
+ *)
+ basic_machine=$1
+ os=
+ ;;
esac
### Let's recognize common machines as not being operating systems so
@@ -249,7 +269,7 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
| avr | avr32 \
| ba \
| be32 | be64 \
@@ -293,6 +313,7 @@ case $basic_machine in
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
+ | nfp \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
@@ -423,6 +444,7 @@ case $basic_machine in
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
+ | nfp-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
@@ -1338,7 +1360,7 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
-if [ x"$os" != x"" ]
+if [ x$os != x ]
then
case $os in
# First match some system type aliases that might get confused
@@ -1528,6 +1550,8 @@ case $os in
;;
-none)
;;
+ -*-eabi)
+ ;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
diff --git a/doc/ChangeLog b/doc/ChangeLog
index a7a0237e..30249010 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2018-05-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Bitwise Functions): Use @asis in the table to
+ get brackets for optional stuff to come out in Roman.
+
2018-05-10 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Bracket Expressions): Document the full list
@@ -434,7 +439,7 @@
2017-02-21 Andrew J. Schorr <aschorr@telemetry-investments.com>
* gawk.1: Document new mktime optional 2nd utc-flag argument.
- * gawktex.in: Ditto.
+ * gawktexi.in: Ditto.
* awkcard.in: Ditto.
2017-02-13 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/doc/gawk.info b/doc/gawk.info
index 84ee1838..6dee25f5 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -13818,7 +13818,7 @@ with '11001000'. The following list describes 'gawk''s built-in
functions that implement the bitwise operations. Optional parameters
are enclosed in square brackets ([ ]):
-'and(V1, V2 [, ...])'
+'and('V1',' V2 [',' ...]')'
Return the bitwise AND of the arguments. There must be at least
two.
@@ -13828,14 +13828,14 @@ are enclosed in square brackets ([ ]):
'lshift(VAL, COUNT)'
Return the value of VAL, shifted left by COUNT bits.
-'or(V1, V2 [, ...])'
+'or('V1',' V2 [',' ...]')'
Return the bitwise OR of the arguments. There must be at least
two.
'rshift(VAL, COUNT)'
Return the value of VAL, shifted right by COUNT bits.
-'xor(V1, V2 [, ...])'
+'xor('V1',' V2 [',' ...]')'
Return the bitwise XOR of the arguments. There must be at least
two.
@@ -36279,317 +36279,317 @@ Ref: Time Functions-Footnote-5584302
Ref: Time Functions-Footnote-6584529
Node: Bitwise Functions584795
Ref: table-bitwise-ops585389
-Ref: Bitwise Functions-Footnote-1591434
-Ref: Bitwise Functions-Footnote-2591607
-Node: Type Functions591798
-Node: I18N Functions594549
-Node: User-defined596200
-Node: Definition Syntax597005
-Ref: Definition Syntax-Footnote-1602692
-Node: Function Example602763
-Ref: Function Example-Footnote-1605685
-Node: Function Caveats605707
-Node: Calling A Function606225
-Node: Variable Scope607183
-Node: Pass By Value/Reference610177
-Node: Return Statement613676
-Node: Dynamic Typing616655
-Node: Indirect Calls617585
-Ref: Indirect Calls-Footnote-1627837
-Node: Functions Summary627965
-Node: Library Functions630670
-Ref: Library Functions-Footnote-1634277
-Ref: Library Functions-Footnote-2634420
-Node: Library Names634591
-Ref: Library Names-Footnote-1638051
-Ref: Library Names-Footnote-2638274
-Node: General Functions638360
-Node: Strtonum Function639463
-Node: Assert Function642485
-Node: Round Function645811
-Node: Cliff Random Function647351
-Node: Ordinal Functions648367
-Ref: Ordinal Functions-Footnote-1651430
-Ref: Ordinal Functions-Footnote-2651682
-Node: Join Function651892
-Ref: Join Function-Footnote-1653662
-Node: Getlocaltime Function653862
-Node: Readfile Function657604
-Node: Shell Quoting659581
-Node: Data File Management660982
-Node: Filetrans Function661614
-Node: Rewind Function665710
-Node: File Checking667620
-Ref: File Checking-Footnote-1668954
-Node: Empty Files669155
-Node: Ignoring Assigns671134
-Node: Getopt Function672684
-Ref: Getopt Function-Footnote-1684153
-Node: Passwd Functions684353
-Ref: Passwd Functions-Footnote-1693192
-Node: Group Functions693280
-Ref: Group Functions-Footnote-1701178
-Node: Walking Arrays701385
-Node: Library Functions Summary704393
-Node: Library Exercises705799
-Node: Sample Programs706264
-Node: Running Examples707034
-Node: Clones707762
-Node: Cut Program708986
-Node: Egrep Program718915
-Ref: Egrep Program-Footnote-1726427
-Node: Id Program726537
-Node: Split Program730217
-Ref: Split Program-Footnote-1733675
-Node: Tee Program733804
-Node: Uniq Program736594
-Node: Wc Program744020
-Ref: Wc Program-Footnote-1748275
-Node: Miscellaneous Programs748369
-Node: Dupword Program749582
-Node: Alarm Program751612
-Node: Translate Program756467
-Ref: Translate Program-Footnote-1761032
-Node: Labels Program761302
-Ref: Labels Program-Footnote-1764653
-Node: Word Sorting764737
-Node: History Sorting768809
-Node: Extract Program770644
-Node: Simple Sed778174
-Node: Igawk Program781248
-Ref: Igawk Program-Footnote-1795579
-Ref: Igawk Program-Footnote-2795781
-Ref: Igawk Program-Footnote-3795903
-Node: Anagram Program796018
-Node: Signature Program799080
-Node: Programs Summary800327
-Node: Programs Exercises801541
-Ref: Programs Exercises-Footnote-1805670
-Node: Advanced Features805761
-Node: Nondecimal Data807751
-Node: Array Sorting809342
-Node: Controlling Array Traversal810042
-Ref: Controlling Array Traversal-Footnote-1818410
-Node: Array Sorting Functions818528
-Ref: Array Sorting Functions-Footnote-1823619
-Node: Two-way I/O823815
-Ref: Two-way I/O-Footnote-1830367
-Ref: Two-way I/O-Footnote-2830554
-Node: TCP/IP Networking830636
-Node: Profiling833754
-Ref: Profiling-Footnote-1842426
-Node: Advanced Features Summary842749
-Node: Internationalization844593
-Node: I18N and L10N846073
-Node: Explaining gettext846760
-Ref: Explaining gettext-Footnote-1852652
-Ref: Explaining gettext-Footnote-2852837
-Node: Programmer i18n853002
-Ref: Programmer i18n-Footnote-1857951
-Node: Translator i18n858000
-Node: String Extraction858794
-Ref: String Extraction-Footnote-1859926
-Node: Printf Ordering860012
-Ref: Printf Ordering-Footnote-1862798
-Node: I18N Portability862862
-Ref: I18N Portability-Footnote-1865318
-Node: I18N Example865381
-Ref: I18N Example-Footnote-1868187
-Node: Gawk I18N868260
-Node: I18N Summary868905
-Node: Debugger870246
-Node: Debugging871269
-Node: Debugging Concepts871710
-Node: Debugging Terms873519
-Node: Awk Debugging876094
-Node: Sample Debugging Session877000
-Node: Debugger Invocation877534
-Node: Finding The Bug878920
-Node: List of Debugger Commands885398
-Node: Breakpoint Control886731
-Node: Debugger Execution Control890425
-Node: Viewing And Changing Data893787
-Node: Execution Stack897161
-Node: Debugger Info898798
-Node: Miscellaneous Debugger Commands902869
-Node: Readline Support907931
-Node: Limitations908827
-Node: Debugging Summary910936
-Node: Arbitrary Precision Arithmetic912215
-Node: Computer Arithmetic913700
-Ref: table-numeric-ranges917466
-Ref: table-floating-point-ranges917959
-Ref: Computer Arithmetic-Footnote-1918617
-Node: Math Definitions918674
-Ref: table-ieee-formats921990
-Ref: Math Definitions-Footnote-1922593
-Node: MPFR features922698
-Node: FP Math Caution924416
-Ref: FP Math Caution-Footnote-1925488
-Node: Inexactness of computations925857
-Node: Inexact representation926817
-Node: Comparing FP Values928177
-Node: Errors accumulate929259
-Node: Getting Accuracy930692
-Node: Try To Round933402
-Node: Setting precision934301
-Ref: table-predefined-precision-strings934998
-Node: Setting the rounding mode936828
-Ref: table-gawk-rounding-modes937202
-Ref: Setting the rounding mode-Footnote-1941133
-Node: Arbitrary Precision Integers941312
-Ref: Arbitrary Precision Integers-Footnote-1944487
-Node: Checking for MPFR944636
-Node: POSIX Floating Point Problems946110
-Ref: POSIX Floating Point Problems-Footnote-1949981
-Node: Floating point summary950019
-Node: Dynamic Extensions952209
-Node: Extension Intro953762
-Node: Plugin License955028
-Node: Extension Mechanism Outline955825
-Ref: figure-load-extension956264
-Ref: figure-register-new-function957829
-Ref: figure-call-new-function958921
-Node: Extension API Description960983
-Node: Extension API Functions Introduction962625
-Node: General Data Types968165
-Ref: General Data Types-Footnote-1976526
-Node: Memory Allocation Functions976825
-Ref: Memory Allocation Functions-Footnote-1981035
-Node: Constructor Functions981134
-Node: Registration Functions984720
-Node: Extension Functions985405
-Node: Exit Callback Functions990620
-Node: Extension Version String991870
-Node: Input Parsers992533
-Node: Output Wrappers1005254
-Node: Two-way processors1009766
-Node: Printing Messages1012031
-Ref: Printing Messages-Footnote-11013202
-Node: Updating ERRNO1013355
-Node: Requesting Values1014094
-Ref: table-value-types-returned1014831
-Node: Accessing Parameters1015767
-Node: Symbol Table Access1017002
-Node: Symbol table by name1017514
-Node: Symbol table by cookie1019303
-Ref: Symbol table by cookie-Footnote-11023488
-Node: Cached values1023552
-Ref: Cached values-Footnote-11027088
-Node: Array Manipulation1027241
-Ref: Array Manipulation-Footnote-11028332
-Node: Array Data Types1028369
-Ref: Array Data Types-Footnote-11031027
-Node: Array Functions1031119
-Node: Flattening Arrays1035617
-Node: Creating Arrays1042593
-Node: Redirection API1047360
-Node: Extension API Variables1050193
-Node: Extension Versioning1050904
-Ref: gawk-api-version1051333
-Node: Extension GMP/MPFR Versioning1053064
-Node: Extension API Informational Variables1054692
-Node: Extension API Boilerplate1055765
-Node: Changes from API V11059739
-Node: Finding Extensions1061311
-Node: Extension Example1061870
-Node: Internal File Description1062668
-Node: Internal File Ops1066748
-Ref: Internal File Ops-Footnote-11078098
-Node: Using Internal File Ops1078238
-Ref: Using Internal File Ops-Footnote-11080621
-Node: Extension Samples1080895
-Node: Extension Sample File Functions1082424
-Node: Extension Sample Fnmatch1090073
-Node: Extension Sample Fork1091560
-Node: Extension Sample Inplace1092778
-Node: Extension Sample Ord1095995
-Node: Extension Sample Readdir1096831
-Ref: table-readdir-file-types1097720
-Node: Extension Sample Revout1098525
-Node: Extension Sample Rev2way1099114
-Node: Extension Sample Read write array1099854
-Node: Extension Sample Readfile1101796
-Node: Extension Sample Time1102891
-Node: Extension Sample API Tests1104239
-Node: gawkextlib1104731
-Node: Extension summary1107649
-Node: Extension Exercises1111351
-Node: Language History1112849
-Node: V7/SVR3.11114505
-Node: SVR41116657
-Node: POSIX1118091
-Node: BTL1119471
-Node: POSIX/GNU1120200
-Node: Feature History1125978
-Node: Common Extensions1141837
-Node: Ranges and Locales1143120
-Ref: Ranges and Locales-Footnote-11147736
-Ref: Ranges and Locales-Footnote-21147763
-Ref: Ranges and Locales-Footnote-31147998
-Node: Contributors1148219
-Node: History summary1154164
-Node: Installation1155544
-Node: Gawk Distribution1156488
-Node: Getting1156972
-Node: Extracting1157935
-Node: Distribution contents1159573
-Node: Unix Installation1166053
-Node: Quick Installation1166735
-Node: Shell Startup Files1169149
-Node: Additional Configuration Options1170238
-Node: Configuration Philosophy1172403
-Node: Non-Unix Installation1174772
-Node: PC Installation1175232
-Node: PC Binary Installation1176070
-Node: PC Compiling1176505
-Node: PC Using1177622
-Node: Cygwin1180837
-Node: MSYS1181936
-Node: VMS Installation1182437
-Node: VMS Compilation1183228
-Ref: VMS Compilation-Footnote-11184457
-Node: VMS Dynamic Extensions1184515
-Node: VMS Installation Details1186200
-Node: VMS Running1188453
-Node: VMS GNV1192732
-Node: VMS Old Gawk1193467
-Node: Bugs1193938
-Node: Bug address1194601
-Node: Usenet1197393
-Node: Maintainers1198170
-Node: Other Versions1199431
-Node: Installation summary1206193
-Node: Notes1207395
-Node: Compatibility Mode1208260
-Node: Additions1209042
-Node: Accessing The Source1209967
-Node: Adding Code1211404
-Node: New Ports1217623
-Node: Derived Files1222111
-Ref: Derived Files-Footnote-11227757
-Ref: Derived Files-Footnote-21227792
-Ref: Derived Files-Footnote-31228390
-Node: Future Extensions1228504
-Node: Implementation Limitations1229162
-Node: Extension Design1230345
-Node: Old Extension Problems1231499
-Ref: Old Extension Problems-Footnote-11233017
-Node: Extension New Mechanism Goals1233074
-Ref: Extension New Mechanism Goals-Footnote-11236438
-Node: Extension Other Design Decisions1236627
-Node: Extension Future Growth1238740
-Node: Old Extension Mechanism1239576
-Node: Notes summary1241339
-Node: Basic Concepts1242521
-Node: Basic High Level1243202
-Ref: figure-general-flow1243484
-Ref: figure-process-flow1244169
-Ref: Basic High Level-Footnote-11247470
-Node: Basic Data Typing1247655
-Node: Glossary1250983
-Node: Copying1282821
-Node: GNU Free Documentation License1320364
-Node: Index1345484
+Ref: Bitwise Functions-Footnote-1591452
+Ref: Bitwise Functions-Footnote-2591625
+Node: Type Functions591816
+Node: I18N Functions594567
+Node: User-defined596218
+Node: Definition Syntax597023
+Ref: Definition Syntax-Footnote-1602710
+Node: Function Example602781
+Ref: Function Example-Footnote-1605703
+Node: Function Caveats605725
+Node: Calling A Function606243
+Node: Variable Scope607201
+Node: Pass By Value/Reference610195
+Node: Return Statement613694
+Node: Dynamic Typing616673
+Node: Indirect Calls617603
+Ref: Indirect Calls-Footnote-1627855
+Node: Functions Summary627983
+Node: Library Functions630688
+Ref: Library Functions-Footnote-1634295
+Ref: Library Functions-Footnote-2634438
+Node: Library Names634609
+Ref: Library Names-Footnote-1638069
+Ref: Library Names-Footnote-2638292
+Node: General Functions638378
+Node: Strtonum Function639481
+Node: Assert Function642503
+Node: Round Function645829
+Node: Cliff Random Function647369
+Node: Ordinal Functions648385
+Ref: Ordinal Functions-Footnote-1651448
+Ref: Ordinal Functions-Footnote-2651700
+Node: Join Function651910
+Ref: Join Function-Footnote-1653680
+Node: Getlocaltime Function653880
+Node: Readfile Function657622
+Node: Shell Quoting659599
+Node: Data File Management661000
+Node: Filetrans Function661632
+Node: Rewind Function665728
+Node: File Checking667638
+Ref: File Checking-Footnote-1668972
+Node: Empty Files669173
+Node: Ignoring Assigns671152
+Node: Getopt Function672702
+Ref: Getopt Function-Footnote-1684171
+Node: Passwd Functions684371
+Ref: Passwd Functions-Footnote-1693210
+Node: Group Functions693298
+Ref: Group Functions-Footnote-1701196
+Node: Walking Arrays701403
+Node: Library Functions Summary704411
+Node: Library Exercises705817
+Node: Sample Programs706282
+Node: Running Examples707052
+Node: Clones707780
+Node: Cut Program709004
+Node: Egrep Program718933
+Ref: Egrep Program-Footnote-1726445
+Node: Id Program726555
+Node: Split Program730235
+Ref: Split Program-Footnote-1733693
+Node: Tee Program733822
+Node: Uniq Program736612
+Node: Wc Program744038
+Ref: Wc Program-Footnote-1748293
+Node: Miscellaneous Programs748387
+Node: Dupword Program749600
+Node: Alarm Program751630
+Node: Translate Program756485
+Ref: Translate Program-Footnote-1761050
+Node: Labels Program761320
+Ref: Labels Program-Footnote-1764671
+Node: Word Sorting764755
+Node: History Sorting768827
+Node: Extract Program770662
+Node: Simple Sed778192
+Node: Igawk Program781266
+Ref: Igawk Program-Footnote-1795597
+Ref: Igawk Program-Footnote-2795799
+Ref: Igawk Program-Footnote-3795921
+Node: Anagram Program796036
+Node: Signature Program799098
+Node: Programs Summary800345
+Node: Programs Exercises801559
+Ref: Programs Exercises-Footnote-1805688
+Node: Advanced Features805779
+Node: Nondecimal Data807769
+Node: Array Sorting809360
+Node: Controlling Array Traversal810060
+Ref: Controlling Array Traversal-Footnote-1818428
+Node: Array Sorting Functions818546
+Ref: Array Sorting Functions-Footnote-1823637
+Node: Two-way I/O823833
+Ref: Two-way I/O-Footnote-1830385
+Ref: Two-way I/O-Footnote-2830572
+Node: TCP/IP Networking830654
+Node: Profiling833772
+Ref: Profiling-Footnote-1842444
+Node: Advanced Features Summary842767
+Node: Internationalization844611
+Node: I18N and L10N846091
+Node: Explaining gettext846778
+Ref: Explaining gettext-Footnote-1852670
+Ref: Explaining gettext-Footnote-2852855
+Node: Programmer i18n853020
+Ref: Programmer i18n-Footnote-1857969
+Node: Translator i18n858018
+Node: String Extraction858812
+Ref: String Extraction-Footnote-1859944
+Node: Printf Ordering860030
+Ref: Printf Ordering-Footnote-1862816
+Node: I18N Portability862880
+Ref: I18N Portability-Footnote-1865336
+Node: I18N Example865399
+Ref: I18N Example-Footnote-1868205
+Node: Gawk I18N868278
+Node: I18N Summary868923
+Node: Debugger870264
+Node: Debugging871287
+Node: Debugging Concepts871728
+Node: Debugging Terms873537
+Node: Awk Debugging876112
+Node: Sample Debugging Session877018
+Node: Debugger Invocation877552
+Node: Finding The Bug878938
+Node: List of Debugger Commands885416
+Node: Breakpoint Control886749
+Node: Debugger Execution Control890443
+Node: Viewing And Changing Data893805
+Node: Execution Stack897179
+Node: Debugger Info898816
+Node: Miscellaneous Debugger Commands902887
+Node: Readline Support907949
+Node: Limitations908845
+Node: Debugging Summary910954
+Node: Arbitrary Precision Arithmetic912233
+Node: Computer Arithmetic913718
+Ref: table-numeric-ranges917484
+Ref: table-floating-point-ranges917977
+Ref: Computer Arithmetic-Footnote-1918635
+Node: Math Definitions918692
+Ref: table-ieee-formats922008
+Ref: Math Definitions-Footnote-1922611
+Node: MPFR features922716
+Node: FP Math Caution924434
+Ref: FP Math Caution-Footnote-1925506
+Node: Inexactness of computations925875
+Node: Inexact representation926835
+Node: Comparing FP Values928195
+Node: Errors accumulate929277
+Node: Getting Accuracy930710
+Node: Try To Round933420
+Node: Setting precision934319
+Ref: table-predefined-precision-strings935016
+Node: Setting the rounding mode936846
+Ref: table-gawk-rounding-modes937220
+Ref: Setting the rounding mode-Footnote-1941151
+Node: Arbitrary Precision Integers941330
+Ref: Arbitrary Precision Integers-Footnote-1944505
+Node: Checking for MPFR944654
+Node: POSIX Floating Point Problems946128
+Ref: POSIX Floating Point Problems-Footnote-1949999
+Node: Floating point summary950037
+Node: Dynamic Extensions952227
+Node: Extension Intro953780
+Node: Plugin License955046
+Node: Extension Mechanism Outline955843
+Ref: figure-load-extension956282
+Ref: figure-register-new-function957847
+Ref: figure-call-new-function958939
+Node: Extension API Description961001
+Node: Extension API Functions Introduction962643
+Node: General Data Types968183
+Ref: General Data Types-Footnote-1976544
+Node: Memory Allocation Functions976843
+Ref: Memory Allocation Functions-Footnote-1981053
+Node: Constructor Functions981152
+Node: Registration Functions984738
+Node: Extension Functions985423
+Node: Exit Callback Functions990638
+Node: Extension Version String991888
+Node: Input Parsers992551
+Node: Output Wrappers1005272
+Node: Two-way processors1009784
+Node: Printing Messages1012049
+Ref: Printing Messages-Footnote-11013220
+Node: Updating ERRNO1013373
+Node: Requesting Values1014112
+Ref: table-value-types-returned1014849
+Node: Accessing Parameters1015785
+Node: Symbol Table Access1017020
+Node: Symbol table by name1017532
+Node: Symbol table by cookie1019321
+Ref: Symbol table by cookie-Footnote-11023506
+Node: Cached values1023570
+Ref: Cached values-Footnote-11027106
+Node: Array Manipulation1027259
+Ref: Array Manipulation-Footnote-11028350
+Node: Array Data Types1028387
+Ref: Array Data Types-Footnote-11031045
+Node: Array Functions1031137
+Node: Flattening Arrays1035635
+Node: Creating Arrays1042611
+Node: Redirection API1047378
+Node: Extension API Variables1050211
+Node: Extension Versioning1050922
+Ref: gawk-api-version1051351
+Node: Extension GMP/MPFR Versioning1053082
+Node: Extension API Informational Variables1054710
+Node: Extension API Boilerplate1055783
+Node: Changes from API V11059757
+Node: Finding Extensions1061329
+Node: Extension Example1061888
+Node: Internal File Description1062686
+Node: Internal File Ops1066766
+Ref: Internal File Ops-Footnote-11078116
+Node: Using Internal File Ops1078256
+Ref: Using Internal File Ops-Footnote-11080639
+Node: Extension Samples1080913
+Node: Extension Sample File Functions1082442
+Node: Extension Sample Fnmatch1090091
+Node: Extension Sample Fork1091578
+Node: Extension Sample Inplace1092796
+Node: Extension Sample Ord1096013
+Node: Extension Sample Readdir1096849
+Ref: table-readdir-file-types1097738
+Node: Extension Sample Revout1098543
+Node: Extension Sample Rev2way1099132
+Node: Extension Sample Read write array1099872
+Node: Extension Sample Readfile1101814
+Node: Extension Sample Time1102909
+Node: Extension Sample API Tests1104257
+Node: gawkextlib1104749
+Node: Extension summary1107667
+Node: Extension Exercises1111369
+Node: Language History1112867
+Node: V7/SVR3.11114523
+Node: SVR41116675
+Node: POSIX1118109
+Node: BTL1119489
+Node: POSIX/GNU1120218
+Node: Feature History1125996
+Node: Common Extensions1141855
+Node: Ranges and Locales1143138
+Ref: Ranges and Locales-Footnote-11147754
+Ref: Ranges and Locales-Footnote-21147781
+Ref: Ranges and Locales-Footnote-31148016
+Node: Contributors1148237
+Node: History summary1154182
+Node: Installation1155562
+Node: Gawk Distribution1156506
+Node: Getting1156990
+Node: Extracting1157953
+Node: Distribution contents1159591
+Node: Unix Installation1166071
+Node: Quick Installation1166753
+Node: Shell Startup Files1169167
+Node: Additional Configuration Options1170256
+Node: Configuration Philosophy1172421
+Node: Non-Unix Installation1174790
+Node: PC Installation1175250
+Node: PC Binary Installation1176088
+Node: PC Compiling1176523
+Node: PC Using1177640
+Node: Cygwin1180855
+Node: MSYS1181954
+Node: VMS Installation1182455
+Node: VMS Compilation1183246
+Ref: VMS Compilation-Footnote-11184475
+Node: VMS Dynamic Extensions1184533
+Node: VMS Installation Details1186218
+Node: VMS Running1188471
+Node: VMS GNV1192750
+Node: VMS Old Gawk1193485
+Node: Bugs1193956
+Node: Bug address1194619
+Node: Usenet1197411
+Node: Maintainers1198188
+Node: Other Versions1199449
+Node: Installation summary1206211
+Node: Notes1207413
+Node: Compatibility Mode1208278
+Node: Additions1209060
+Node: Accessing The Source1209985
+Node: Adding Code1211422
+Node: New Ports1217641
+Node: Derived Files1222129
+Ref: Derived Files-Footnote-11227775
+Ref: Derived Files-Footnote-21227810
+Ref: Derived Files-Footnote-31228408
+Node: Future Extensions1228522
+Node: Implementation Limitations1229180
+Node: Extension Design1230363
+Node: Old Extension Problems1231517
+Ref: Old Extension Problems-Footnote-11233035
+Node: Extension New Mechanism Goals1233092
+Ref: Extension New Mechanism Goals-Footnote-11236456
+Node: Extension Other Design Decisions1236645
+Node: Extension Future Growth1238758
+Node: Old Extension Mechanism1239594
+Node: Notes summary1241357
+Node: Basic Concepts1242539
+Node: Basic High Level1243220
+Ref: figure-general-flow1243502
+Ref: figure-process-flow1244187
+Ref: Basic High Level-Footnote-11247488
+Node: Basic Data Typing1247673
+Node: Glossary1251001
+Node: Copying1282839
+Node: GNU Free Documentation License1320382
+Node: Index1345502

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 17ba8c2d..cff14f7b 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -19873,7 +19873,7 @@ bits, you end up with @samp{11001000}. The following list describes
Optional parameters are enclosed in square brackets ([ ]):
@cindex @command{gawk}, bitwise operations in
-@table @code
+@table @asis
@cindexgawkfunc{and}
@cindex bitwise AND
@item @code{and(}@var{v1}@code{,} @var{v2} [@code{,} @dots{}]@code{)}
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index f9dba03b..a833b92b 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -18984,7 +18984,7 @@ bits, you end up with @samp{11001000}. The following list describes
Optional parameters are enclosed in square brackets ([ ]):
@cindex @command{gawk}, bitwise operations in
-@table @code
+@table @asis
@cindexgawkfunc{and}
@cindex bitwise AND
@item @code{and(}@var{v1}@code{,} @var{v2} [@code{,} @dots{}]@code{)}
diff --git a/extension/build-aux/ChangeLog b/extension/build-aux/ChangeLog
index 8b6c3325..b318e8f0 100644
--- a/extension/build-aux/ChangeLog
+++ b/extension/build-aux/ChangeLog
@@ -1,3 +1,7 @@
+2018-05-13 Arnold D. Robbins <arnold@skeeve.com>
+
+ * config.sub: Update from GNULIB.
+
2018-04-18 Arnold D. Robbins <arnold@skeeve.com>
* config.sub: Updated from GNULIB.
diff --git a/extension/build-aux/config.sub b/extension/build-aux/config.sub
index 657a8625..98835b48 100755
--- a/extension/build-aux/config.sub
+++ b/extension/build-aux/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2018 Free Software Foundation, Inc.
-timestamp='2018-04-16'
+timestamp='2018-05-12'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -110,28 +110,48 @@ case $# in
exit 1;;
esac
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
- kopensolaris*-gnu* | cloudabi*-eabi* | \
- storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- android-linux)
- os=-linux-android
- basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
- ;;
- *)
- basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
- if [ "$basic_machine" != "$1" ]
- then os=`echo "$1" | sed 's/.*-/-/'`
- else os=; fi
- ;;
+# Split fields of configuration type
+IFS="-" read -r field1 field2 field3 field4 <<EOF
+$1
+EOF
+
+# Separate into logical components for further validation
+case $1 in
+ *-*-*-*)
+ basic_machine=$field1-$field2
+ os=-$field3-$field4
+ ;;
+ *-*-*)
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+ # parts
+ maybe_os=$field2-$field3
+ case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
+ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+ | storm-chaos* | os2-emx* | rtmk-nova*)
+ basic_machine=$field1
+ os=-$maybe_os
+ ;;
+ android-linux)
+ basic_machine=$field1-unknown
+ os=-linux-android
+ ;;
+ *)
+ basic_machine=$field1-$field2
+ os=-$field3
+ ;;
+ esac
+ ;;
+ *-*)
+ basic_machine=$field1
+ os=-$field2
+ ;;
+ *)
+ basic_machine=$1
+ os=
+ ;;
esac
### Let's recognize common machines as not being operating systems so
@@ -249,7 +269,7 @@ case $basic_machine in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arceb \
- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
| avr | avr32 \
| ba \
| be32 | be64 \
@@ -293,6 +313,7 @@ case $basic_machine in
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
+ | nfp \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
@@ -423,6 +444,7 @@ case $basic_machine in
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
+ | nfp-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
@@ -1338,7 +1360,7 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
-if [ x"$os" != x"" ]
+if [ x$os != x ]
then
case $os in
# First match some system type aliases that might get confused
@@ -1528,6 +1550,8 @@ case $os in
;;
-none)
;;
+ -*-eabi)
+ ;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`