aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info309
-rw-r--r--doc/gawk.texi100
-rw-r--r--doc/gawktexi.in100
4 files changed, 295 insertions, 218 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 34a0b68c..79a2326d 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -5,6 +5,10 @@
<arkadiusz@drabczyk.org> for pointing out the lack of
documentation.
+2021-03-22 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Constructor Functions): Add doc on `make_bool'.
+
2021-03-21 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Other Environment Variables): Document "fnv1a"
diff --git a/doc/gawk.info b/doc/gawk.info
index 76ecc3c5..2200e998 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -25516,7 +25516,8 @@ use them.
' AWK_STRNUM,'
' AWK_ARRAY,'
' AWK_SCALAR, /* opaque access to a variable */'
-' AWK_VALUE_COOKIE /* for updating a previously created value */'
+' AWK_VALUE_COOKIE, /* for updating a previously created value */'
+' AWK_BOOL'
'} awk_valtype_t;'
This 'enum' indicates the type of a value. It is used in the
following 'struct'.
@@ -25529,6 +25530,7 @@ use them.
' awk_array_t a;'
' awk_scalar_t scl;'
' awk_value_cookie_t vc;'
+' awk_bool_t b;'
' } u;'
'} awk_value_t;'
An "'awk' value." The 'val_type' member indicates what kind of
@@ -25544,6 +25546,7 @@ use them.
'#define array_cookie u.a'
'#define scalar_cookie u.scl'
'#define value_cookie u.vc'
+'#define bool_value u.b'
Using these macros makes accessing the fields of the 'awk_value_t'
more readable.
@@ -25854,6 +25857,11 @@ code would use them:
a 'char *' value pointing to data previously obtained from
'gawk_malloc()', 'gawk_calloc()', or 'gawk_realloc()'.
+'static inline awk_value_t *'
+'make_bool(awk_bool_t boolval, awk_value_t *result);'
+ This function creates a boolean value in the 'awk_value_t' variable
+ pointed to by 'result'.
+

File: gawk.info, Node: API Ownership of MPFR and GMP Values, Next: Registration Functions, Prev: Constructor Functions, Up: Extension API Description
@@ -26579,16 +26587,17 @@ summarized in *note Table 17.2: table-value-types-returned.
Type of Actual Value
--------------------------------------------------------------------------
- String Strnum Number Regex Array Undefined
--------------------------------------------------------------------------------
- String String String String String false false
- Strnum false Strnum Strnum false false false
- Number Number Number Number false false false
-Type Regex false false false Regex false false
-Requested Array false false false false Array false
- Scalar Scalar Scalar Scalar Scalar false false
- Undefined String Strnum Number Regex Array Undefined
- Value false false false false false false
+ String Strnum Number Regex Bool Array Undefined
+----------------------------------------------------------------------------------------
+ String String String String String String false false
+ Strnum false Strnum Strnum false false false false
+ Number Number Number Number false Number false false
+Type Regex false false false Regex false false false
+Requested Bool false false false false Bool false false
+ Array false false false false false Array false
+ Scalar Scalar Scalar Scalar Scalar Scalar false false
+ Undefined String Strnum Number Regex Bool Array Undefined
+ Value false false false false false false false
cookie
Table 17.2: API value types returned
@@ -38571,145 +38580,145 @@ Node: Extension API Description1023562
Node: Extension API Functions Introduction1025275
Ref: table-api-std-headers1027111
Node: General Data Types1031360
-Ref: General Data Types-Footnote-11039990
-Node: Memory Allocation Functions1040289
-Ref: Memory Allocation Functions-Footnote-11044790
-Node: Constructor Functions1044889
-Node: API Ownership of MPFR and GMP Values1048355
-Node: Registration Functions1049668
-Node: Extension Functions1050368
-Node: Exit Callback Functions1055690
-Node: Extension Version String1056940
-Node: Input Parsers1057603
-Node: Output Wrappers1070324
-Node: Two-way processors1074836
-Node: Printing Messages1077101
-Ref: Printing Messages-Footnote-11078272
-Node: Updating ERRNO1078425
-Node: Requesting Values1079164
-Ref: table-value-types-returned1079901
-Node: Accessing Parameters1080837
-Node: Symbol Table Access1082074
-Node: Symbol table by name1082586
-Ref: Symbol table by name-Footnote-11085610
-Node: Symbol table by cookie1085738
-Ref: Symbol table by cookie-Footnote-11089923
-Node: Cached values1089987
-Ref: Cached values-Footnote-11093523
-Node: Array Manipulation1093676
-Ref: Array Manipulation-Footnote-11094767
-Node: Array Data Types1094804
-Ref: Array Data Types-Footnote-11097462
-Node: Array Functions1097554
-Node: Flattening Arrays1102052
-Node: Creating Arrays1109028
-Node: Redirection API1113795
-Node: Extension API Variables1116628
-Node: Extension Versioning1117339
-Ref: gawk-api-version1117768
-Node: Extension GMP/MPFR Versioning1119499
-Node: Extension API Informational Variables1121127
-Node: Extension API Boilerplate1122200
-Node: Changes from API V11126174
-Node: Finding Extensions1127746
-Node: Extension Example1128305
-Node: Internal File Description1129103
-Node: Internal File Ops1133183
-Ref: Internal File Ops-Footnote-11144533
-Node: Using Internal File Ops1144673
-Ref: Using Internal File Ops-Footnote-11147056
-Node: Extension Samples1147330
-Node: Extension Sample File Functions1148859
-Node: Extension Sample Fnmatch1156508
-Node: Extension Sample Fork1157995
-Node: Extension Sample Inplace1159213
-Node: Extension Sample Ord1162839
-Node: Extension Sample Readdir1163675
-Ref: table-readdir-file-types1164564
-Node: Extension Sample Revout1165631
-Node: Extension Sample Rev2way1166220
-Node: Extension Sample Read write array1166960
-Node: Extension Sample Readfile1168902
-Node: Extension Sample Time1169997
-Node: Extension Sample API Tests1171749
-Node: gawkextlib1172241
-Node: Extension summary1175159
-Node: Extension Exercises1178861
-Node: Language History1180103
-Node: V7/SVR3.11181759
-Node: SVR41183911
-Node: POSIX1185345
-Node: BTL1186726
-Node: POSIX/GNU1187455
-Node: Feature History1193233
-Node: Common Extensions1209552
-Node: Ranges and Locales1210835
-Ref: Ranges and Locales-Footnote-11215451
-Ref: Ranges and Locales-Footnote-21215478
-Ref: Ranges and Locales-Footnote-31215713
-Node: Contributors1215936
-Node: History summary1221933
-Node: Installation1223313
-Node: Gawk Distribution1224257
-Node: Getting1224741
-Node: Extracting1225704
-Node: Distribution contents1227342
-Node: Unix Installation1233822
-Node: Quick Installation1234504
-Node: Shell Startup Files1236918
-Node: Additional Configuration Options1238007
-Node: Configuration Philosophy1240322
-Node: Non-Unix Installation1242691
-Node: PC Installation1243151
-Node: PC Binary Installation1243989
-Node: PC Compiling1244424
-Node: PC Using1245541
-Node: Cygwin1249094
-Node: MSYS1250318
-Node: VMS Installation1250920
-Node: VMS Compilation1251711
-Ref: VMS Compilation-Footnote-11252940
-Node: VMS Dynamic Extensions1252998
-Node: VMS Installation Details1254683
-Node: VMS Running1256936
-Node: VMS GNV1261215
-Node: VMS Old Gawk1261950
-Node: Bugs1262421
-Node: Bug address1263084
-Node: Usenet1266066
-Node: Maintainers1267070
-Node: Other Versions1268255
-Node: Installation summary1276120
-Node: Notes1277329
-Node: Compatibility Mode1278123
-Node: Additions1278905
-Node: Accessing The Source1279830
-Node: Adding Code1281267
-Node: New Ports1287486
-Node: Derived Files1291861
-Ref: Derived Files-Footnote-11297521
-Ref: Derived Files-Footnote-21297556
-Ref: Derived Files-Footnote-31298154
-Node: Future Extensions1298268
-Node: Implementation Limitations1298926
-Node: Extension Design1300136
-Node: Old Extension Problems1301280
-Ref: Old Extension Problems-Footnote-11302798
-Node: Extension New Mechanism Goals1302855
-Ref: Extension New Mechanism Goals-Footnote-11306219
-Node: Extension Other Design Decisions1306408
-Node: Extension Future Growth1308521
-Node: Notes summary1309127
-Node: Basic Concepts1310285
-Node: Basic High Level1310966
-Ref: figure-general-flow1311248
-Ref: figure-process-flow1311933
-Ref: Basic High Level-Footnote-11315234
-Node: Basic Data Typing1315419
-Node: Glossary1318747
-Node: Copying1350632
-Node: GNU Free Documentation License1388175
-Node: Index1413295
+Ref: General Data Types-Footnote-11040066
+Node: Memory Allocation Functions1040365
+Ref: Memory Allocation Functions-Footnote-11044866
+Node: Constructor Functions1044965
+Node: API Ownership of MPFR and GMP Values1048618
+Node: Registration Functions1049931
+Node: Extension Functions1050631
+Node: Exit Callback Functions1055953
+Node: Extension Version String1057203
+Node: Input Parsers1057866
+Node: Output Wrappers1070587
+Node: Two-way processors1075099
+Node: Printing Messages1077364
+Ref: Printing Messages-Footnote-11078535
+Node: Updating ERRNO1078688
+Node: Requesting Values1079427
+Ref: table-value-types-returned1080164
+Node: Accessing Parameters1081272
+Node: Symbol Table Access1082509
+Node: Symbol table by name1083021
+Ref: Symbol table by name-Footnote-11086045
+Node: Symbol table by cookie1086173
+Ref: Symbol table by cookie-Footnote-11090358
+Node: Cached values1090422
+Ref: Cached values-Footnote-11093958
+Node: Array Manipulation1094111
+Ref: Array Manipulation-Footnote-11095202
+Node: Array Data Types1095239
+Ref: Array Data Types-Footnote-11097897
+Node: Array Functions1097989
+Node: Flattening Arrays1102487
+Node: Creating Arrays1109463
+Node: Redirection API1114230
+Node: Extension API Variables1117063
+Node: Extension Versioning1117774
+Ref: gawk-api-version1118203
+Node: Extension GMP/MPFR Versioning1119934
+Node: Extension API Informational Variables1121562
+Node: Extension API Boilerplate1122635
+Node: Changes from API V11126609
+Node: Finding Extensions1128181
+Node: Extension Example1128740
+Node: Internal File Description1129538
+Node: Internal File Ops1133618
+Ref: Internal File Ops-Footnote-11144968
+Node: Using Internal File Ops1145108
+Ref: Using Internal File Ops-Footnote-11147491
+Node: Extension Samples1147765
+Node: Extension Sample File Functions1149294
+Node: Extension Sample Fnmatch1156943
+Node: Extension Sample Fork1158430
+Node: Extension Sample Inplace1159648
+Node: Extension Sample Ord1163274
+Node: Extension Sample Readdir1164110
+Ref: table-readdir-file-types1164999
+Node: Extension Sample Revout1166066
+Node: Extension Sample Rev2way1166655
+Node: Extension Sample Read write array1167395
+Node: Extension Sample Readfile1169337
+Node: Extension Sample Time1170432
+Node: Extension Sample API Tests1172184
+Node: gawkextlib1172676
+Node: Extension summary1175594
+Node: Extension Exercises1179296
+Node: Language History1180538
+Node: V7/SVR3.11182194
+Node: SVR41184346
+Node: POSIX1185780
+Node: BTL1187161
+Node: POSIX/GNU1187890
+Node: Feature History1193668
+Node: Common Extensions1209987
+Node: Ranges and Locales1211270
+Ref: Ranges and Locales-Footnote-11215886
+Ref: Ranges and Locales-Footnote-21215913
+Ref: Ranges and Locales-Footnote-31216148
+Node: Contributors1216371
+Node: History summary1222368
+Node: Installation1223748
+Node: Gawk Distribution1224692
+Node: Getting1225176
+Node: Extracting1226139
+Node: Distribution contents1227777
+Node: Unix Installation1234257
+Node: Quick Installation1234939
+Node: Shell Startup Files1237353
+Node: Additional Configuration Options1238442
+Node: Configuration Philosophy1240757
+Node: Non-Unix Installation1243126
+Node: PC Installation1243586
+Node: PC Binary Installation1244424
+Node: PC Compiling1244859
+Node: PC Using1245976
+Node: Cygwin1249529
+Node: MSYS1250753
+Node: VMS Installation1251355
+Node: VMS Compilation1252146
+Ref: VMS Compilation-Footnote-11253375
+Node: VMS Dynamic Extensions1253433
+Node: VMS Installation Details1255118
+Node: VMS Running1257371
+Node: VMS GNV1261650
+Node: VMS Old Gawk1262385
+Node: Bugs1262856
+Node: Bug address1263519
+Node: Usenet1266501
+Node: Maintainers1267505
+Node: Other Versions1268690
+Node: Installation summary1276555
+Node: Notes1277764
+Node: Compatibility Mode1278558
+Node: Additions1279340
+Node: Accessing The Source1280265
+Node: Adding Code1281702
+Node: New Ports1287921
+Node: Derived Files1292296
+Ref: Derived Files-Footnote-11297956
+Ref: Derived Files-Footnote-21297991
+Ref: Derived Files-Footnote-31298589
+Node: Future Extensions1298703
+Node: Implementation Limitations1299361
+Node: Extension Design1300571
+Node: Old Extension Problems1301715
+Ref: Old Extension Problems-Footnote-11303233
+Node: Extension New Mechanism Goals1303290
+Ref: Extension New Mechanism Goals-Footnote-11306654
+Node: Extension Other Design Decisions1306843
+Node: Extension Future Growth1308956
+Node: Notes summary1309562
+Node: Basic Concepts1310720
+Node: Basic High Level1311401
+Ref: figure-general-flow1311683
+Ref: figure-process-flow1312368
+Ref: Basic High Level-Footnote-11315669
+Node: Basic Data Typing1315854
+Node: Glossary1319182
+Node: Copying1351067
+Node: GNU Free Documentation License1388610
+Node: Index1413730

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 591246c0..fabf79b2 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -35582,7 +35582,8 @@ multibyte encoding.
@itemx @ @ @ @ AWK_STRNUM,
@itemx @ @ @ @ AWK_ARRAY,
@itemx @ @ @ @ AWK_SCALAR,@ @ @ @ @ @ @ @ @ /* opaque access to a variable */
-@itemx @ @ @ @ AWK_VALUE_COOKIE@ @ @ @ /* for updating a previously created value */
+@itemx @ @ @ @ AWK_VALUE_COOKIE,@ @ @ /* for updating a previously created value */
+@itemx @ @ @ @ AWK_BOOL
@itemx @} awk_valtype_t;
This @code{enum} indicates the type of a value.
It is used in the following @code{struct}.
@@ -35595,6 +35596,7 @@ It is used in the following @code{struct}.
@itemx @ @ @ @ @ @ @ @ awk_array_t@ @ @ @ @ @ @ @ a;
@itemx @ @ @ @ @ @ @ @ awk_scalar_t@ @ @ @ @ @ @ scl;
@itemx @ @ @ @ @ @ @ @ awk_value_cookie_t@ vc;
+@itemx @ @ @ @ @ @ @ @ awk_bool_t@ @ @ @ @ @ @ @ @ b;
@itemx @ @ @ @ @} u;
@itemx @} awk_value_t;
An ``@command{awk} value.''
@@ -35610,6 +35612,7 @@ The @code{val_type} member indicates what kind of value the
@itemx #define array_cookie@ @ @ u.a
@itemx #define scalar_cookie@ @ u.scl
@itemx #define value_cookie@ @ @ u.vc
+@itemx #define bool_value@ @ @ @ @ u.b
Using these macros makes accessing the fields of the @code{awk_value_t} more
readable.
@@ -35937,6 +35940,11 @@ the regular expression of length @code{len}. It expects @code{string}
to be a @samp{char *} value pointing to data previously obtained from
@code{gawk_malloc()}, @code{gawk_calloc()}, or @code{gawk_realloc()}.
+@item static inline awk_value_t *
+@itemx make_bool(awk_bool_t boolval, awk_value_t *result);
+This function creates a boolean value in the @code{awk_value_t} variable
+pointed to by @code{result}.
+
@end table
@node API Ownership of MPFR and GMP Values
@@ -36737,7 +36745,8 @@ value type, as appropriate. This behavior is summarized in
<colspec colname="c6"/>
<colspec colname="c7"/>
<colspec colname="c8"/>
- <spanspec spanname="hspan" namest="c3" nameend="c8" align="center"/>
+ <colspec colname="c9"/>
+ <spanspec spanname="hspan" namest="c3" nameend="c9" align="center"/>
<thead>
<row><entry></entry><entry spanname="hspan"><para>Type of Actual Value</para></entry></row>
<row>
@@ -36747,6 +36756,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Strnum</para></entry>
<entry><para>Number</para></entry>
<entry><para>Regex</para></entry>
+ <entry><para>Bool</para></entry>
<entry><para>Array</para></entry>
<entry><para>Undefined</para></entry>
</row>
@@ -36759,6 +36769,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>String</para></entry>
<entry><para>String</para></entry>
<entry><para>String</para></entry>
+ <entry><para>String</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
</row>
@@ -36771,6 +36782,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
</row>
<row>
<entry></entry>
@@ -36779,6 +36791,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Number</para></entry>
<entry><para>Number</para></entry>
<entry><para>false</para></entry>
+ <entry><para>Number</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
</row>
@@ -36787,6 +36800,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para><emphasis role="bold">Regex</emphasis></para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
<entry><para>Regex</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
@@ -36794,11 +36808,23 @@ value type, as appropriate. This behavior is summarized in
</row>
<row>
<entry><para><emphasis role="bold">Requested</emphasis></para></entry>
+ <entry><para><emphasis role="bold">Bool</emphasis></para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>Bool</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ </row>
+ <row>
+ <entry><para></para></entry>
<entry><para><emphasis role="bold">Array</emphasis></para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
<entry><para>Array</para></entry>
<entry><para>false</para></entry>
</row>
@@ -36809,6 +36835,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Scalar</para></entry>
<entry><para>Scalar</para></entry>
<entry><para>Scalar</para></entry>
+ <entry><para>Scalar</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
</row>
@@ -36819,6 +36846,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Strnum</para></entry>
<entry><para>Number</para></entry>
<entry><para>Regex</para></entry>
+ <entry><para>Bool</para></entry>
<entry><para>Array</para></entry>
<entry><para>Undefined</para></entry>
</row>
@@ -36831,6 +36859,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
</row>
</tbody>
</tgroup>
@@ -36847,43 +36876,46 @@ value type, as appropriate. This behavior is summarized in
\vglue-1.1\baselineskip
@end tex
@c @multitable @columnfractions .166 .166 .198 .15 .15 .166
-@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Array} {Undefined}
-@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined
-@item @tab @b{String} @tab String @tab String @tab String @tab String @tab false @tab false
-@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false
-@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab false @tab false
-@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false
-@item @b{Requested} @tab @b{Array} @tab false @tab false @tab false @tab false @tab Array @tab false
-@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false
-@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined
-@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false
+@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Number} {Array} {Undefined}
+@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined
+@item @tab @b{String} @tab String @tab String @tab String @tab String @tab String @tab false @tab false
+@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false @tab false
+@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab Number @tab false @tab false
+@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false @tab false
+@item @b{Requested} @tab @b{Bool} @tab false @tab false @tab false @tab false @tab Bool @tab false @tab false
+@item @tab @b{Array} @tab false @tab false @tab false @tab false @tab false @tab Array @tab false
+@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false
+@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined
+@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false @tab false
@end multitable
@end ifnotdocbook
@end ifnotplaintext
@ifplaintext
@verbatim
- +-------------------------------------------------------+
- | Type of Actual Value: |
- +--------+--------+--------+--------+-------+-----------+
- | String | Strnum | Number | Regex | Array | Undefined |
-+-----------+-----------+--------+--------+--------+--------+-------+-----------+
-| | String | String | String | String | String | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Strnum | false | Strnum | Strnum | false | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Number | Number | Number | Number | false | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Regex | false | false | false | Regex | false | false |
-| Type +-----------+--------+--------+--------+--------+-------+-----------+
-| Requested | Array | false | false | false | false | Array | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Scalar | Scalar | Scalar | Scalar | Scalar | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Undefined | String | Strnum | Number | Regex | Array | Undefined |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Value | false | false | false | false | false | false |
-| | Cookie | | | | | | |
-+-----------+-----------+--------+--------+--------+--------+-------+-----------+
+ +----------------------------------------------------------------+
+ | Type of Actual Value: |
+ +--------+--------+--------+--------+--------+-------+-----------+
+ | String | Strnum | Number | Regex | Bool | Array | Undefined |
++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | String | String | String | String | String | String | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Strnum | false | Strnum | Strnum | false | false | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Number | Number | Number | Number | false | Number | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Regex | false | false | false | Regex | false | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| Type | Bool | false | false | false | false | Bool | false | false |
+| Requested +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Array | false | false | false | false | false | Array | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Scalar | Scalar | Scalar | Scalar | Scalar | Scalar | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Undefined | String | Strnum | Number | Regex | Bool | Array | Undefined |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Value | false | false | false | false | false | false | false |
+| | Cookie | | | | | | | |
++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+
@end verbatim
@end ifplaintext
@end float
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 38e9dc0e..efe30c10 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -34425,7 +34425,8 @@ multibyte encoding.
@itemx @ @ @ @ AWK_STRNUM,
@itemx @ @ @ @ AWK_ARRAY,
@itemx @ @ @ @ AWK_SCALAR,@ @ @ @ @ @ @ @ @ /* opaque access to a variable */
-@itemx @ @ @ @ AWK_VALUE_COOKIE@ @ @ @ /* for updating a previously created value */
+@itemx @ @ @ @ AWK_VALUE_COOKIE,@ @ @ /* for updating a previously created value */
+@itemx @ @ @ @ AWK_BOOL
@itemx @} awk_valtype_t;
This @code{enum} indicates the type of a value.
It is used in the following @code{struct}.
@@ -34438,6 +34439,7 @@ It is used in the following @code{struct}.
@itemx @ @ @ @ @ @ @ @ awk_array_t@ @ @ @ @ @ @ @ a;
@itemx @ @ @ @ @ @ @ @ awk_scalar_t@ @ @ @ @ @ @ scl;
@itemx @ @ @ @ @ @ @ @ awk_value_cookie_t@ vc;
+@itemx @ @ @ @ @ @ @ @ awk_bool_t@ @ @ @ @ @ @ @ @ b;
@itemx @ @ @ @ @} u;
@itemx @} awk_value_t;
An ``@command{awk} value.''
@@ -34453,6 +34455,7 @@ The @code{val_type} member indicates what kind of value the
@itemx #define array_cookie@ @ @ u.a
@itemx #define scalar_cookie@ @ u.scl
@itemx #define value_cookie@ @ @ u.vc
+@itemx #define bool_value@ @ @ @ @ u.b
Using these macros makes accessing the fields of the @code{awk_value_t} more
readable.
@@ -34780,6 +34783,11 @@ the regular expression of length @code{len}. It expects @code{string}
to be a @samp{char *} value pointing to data previously obtained from
@code{gawk_malloc()}, @code{gawk_calloc()}, or @code{gawk_realloc()}.
+@item static inline awk_value_t *
+@itemx make_bool(awk_bool_t boolval, awk_value_t *result);
+This function creates a boolean value in the @code{awk_value_t} variable
+pointed to by @code{result}.
+
@end table
@node API Ownership of MPFR and GMP Values
@@ -35580,7 +35588,8 @@ value type, as appropriate. This behavior is summarized in
<colspec colname="c6"/>
<colspec colname="c7"/>
<colspec colname="c8"/>
- <spanspec spanname="hspan" namest="c3" nameend="c8" align="center"/>
+ <colspec colname="c9"/>
+ <spanspec spanname="hspan" namest="c3" nameend="c9" align="center"/>
<thead>
<row><entry></entry><entry spanname="hspan"><para>Type of Actual Value</para></entry></row>
<row>
@@ -35590,6 +35599,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Strnum</para></entry>
<entry><para>Number</para></entry>
<entry><para>Regex</para></entry>
+ <entry><para>Bool</para></entry>
<entry><para>Array</para></entry>
<entry><para>Undefined</para></entry>
</row>
@@ -35602,6 +35612,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>String</para></entry>
<entry><para>String</para></entry>
<entry><para>String</para></entry>
+ <entry><para>String</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
</row>
@@ -35614,6 +35625,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
</row>
<row>
<entry></entry>
@@ -35622,6 +35634,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Number</para></entry>
<entry><para>Number</para></entry>
<entry><para>false</para></entry>
+ <entry><para>Number</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
</row>
@@ -35630,6 +35643,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para><emphasis role="bold">Regex</emphasis></para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
<entry><para>Regex</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
@@ -35637,11 +35651,23 @@ value type, as appropriate. This behavior is summarized in
</row>
<row>
<entry><para><emphasis role="bold">Requested</emphasis></para></entry>
+ <entry><para><emphasis role="bold">Bool</emphasis></para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>Bool</para></entry>
+ <entry><para>false</para></entry>
+ <entry><para>false</para></entry>
+ </row>
+ <row>
+ <entry><para></para></entry>
<entry><para><emphasis role="bold">Array</emphasis></para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
<entry><para>Array</para></entry>
<entry><para>false</para></entry>
</row>
@@ -35652,6 +35678,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Scalar</para></entry>
<entry><para>Scalar</para></entry>
<entry><para>Scalar</para></entry>
+ <entry><para>Scalar</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
</row>
@@ -35662,6 +35689,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>Strnum</para></entry>
<entry><para>Number</para></entry>
<entry><para>Regex</para></entry>
+ <entry><para>Bool</para></entry>
<entry><para>Array</para></entry>
<entry><para>Undefined</para></entry>
</row>
@@ -35674,6 +35702,7 @@ value type, as appropriate. This behavior is summarized in
<entry><para>false</para></entry>
<entry><para>false</para></entry>
<entry><para>false</para></entry>
+ <entry><para>false</para></entry>
</row>
</tbody>
</tgroup>
@@ -35690,43 +35719,46 @@ value type, as appropriate. This behavior is summarized in
\vglue-1.1\baselineskip
@end tex
@c @multitable @columnfractions .166 .166 .198 .15 .15 .166
-@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Array} {Undefined}
-@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined
-@item @tab @b{String} @tab String @tab String @tab String @tab String @tab false @tab false
-@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false
-@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab false @tab false
-@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false
-@item @b{Requested} @tab @b{Array} @tab false @tab false @tab false @tab false @tab Array @tab false
-@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false
-@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Array @tab Undefined
-@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false
+@multitable {Requested} {Undefined} {Number} {Number} {Scalar} {Regex} {Number} {Array} {Undefined}
+@headitem @tab @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined
+@item @tab @b{String} @tab String @tab String @tab String @tab String @tab String @tab false @tab false
+@item @tab @b{Strnum} @tab false @tab Strnum @tab Strnum @tab false @tab false @tab false @tab false
+@item @tab @b{Number} @tab Number @tab Number @tab Number @tab false @tab Number @tab false @tab false
+@item @b{Type} @tab @b{Regex} @tab false @tab false @tab false @tab Regex @tab false @tab false @tab false
+@item @b{Requested} @tab @b{Bool} @tab false @tab false @tab false @tab false @tab Bool @tab false @tab false
+@item @tab @b{Array} @tab false @tab false @tab false @tab false @tab false @tab Array @tab false
+@item @tab @b{Scalar} @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab Scalar @tab false @tab false
+@item @tab @b{Undefined} @tab String @tab Strnum @tab Number @tab Regex @tab Bool @tab Array @tab Undefined
+@item @tab @b{Value cookie} @tab false @tab false @tab false @tab false @tab false @tab false @tab false
@end multitable
@end ifnotdocbook
@end ifnotplaintext
@ifplaintext
@verbatim
- +-------------------------------------------------------+
- | Type of Actual Value: |
- +--------+--------+--------+--------+-------+-----------+
- | String | Strnum | Number | Regex | Array | Undefined |
-+-----------+-----------+--------+--------+--------+--------+-------+-----------+
-| | String | String | String | String | String | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Strnum | false | Strnum | Strnum | false | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Number | Number | Number | Number | false | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Regex | false | false | false | Regex | false | false |
-| Type +-----------+--------+--------+--------+--------+-------+-----------+
-| Requested | Array | false | false | false | false | Array | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Scalar | Scalar | Scalar | Scalar | Scalar | false | false |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Undefined | String | Strnum | Number | Regex | Array | Undefined |
-| +-----------+--------+--------+--------+--------+-------+-----------+
-| | Value | false | false | false | false | false | false |
-| | Cookie | | | | | | |
-+-----------+-----------+--------+--------+--------+--------+-------+-----------+
+ +----------------------------------------------------------------+
+ | Type of Actual Value: |
+ +--------+--------+--------+--------+--------+-------+-----------+
+ | String | Strnum | Number | Regex | Bool | Array | Undefined |
++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | String | String | String | String | String | String | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Strnum | false | Strnum | Strnum | false | false | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Number | Number | Number | Number | false | Number | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Regex | false | false | false | Regex | false | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| Type | Bool | false | false | false | false | Bool | false | false |
+| Requested +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Array | false | false | false | false | false | Array | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Scalar | Scalar | Scalar | Scalar | Scalar | Scalar | false | false |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Undefined | String | Strnum | Number | Regex | Bool | Array | Undefined |
+| +-----------+--------+--------+--------+--------+--------+-------+-----------+
+| | Value | false | false | false | false | false | false | false |
+| | Cookie | | | | | | | |
++-----------+-----------+--------+--------+--------+--------+--------+-------+-----------+
@end verbatim
@end ifplaintext
@end float