diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2013-04-23 22:46:03 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2013-04-23 22:46:03 +0300 |
commit | c5e22024783ec34ea248ebc92a1e4deefb12ce2f (patch) | |
tree | 3ca4f3acc68d2e6d097c816d8c5d6c97c02eef97 | |
parent | 2be6f33f68e1a8d412c8712d8017fc7f3b318161 (diff) | |
download | egawk-c5e22024783ec34ea248ebc92a1e4deefb12ce2f.tar.gz egawk-c5e22024783ec34ea248ebc92a1e4deefb12ce2f.tar.bz2 egawk-c5e22024783ec34ea248ebc92a1e4deefb12ce2f.zip |
Add PROCINFO entries for API major and minor versions.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | doc/ChangeLog | 3 | ||||
-rw-r--r-- | doc/gawk.1 | 8 | ||||
-rw-r--r-- | doc/gawk.info | 691 | ||||
-rw-r--r-- | doc/gawk.texi | 13 | ||||
-rw-r--r-- | doc/gawkman.texi | 13 | ||||
-rw-r--r-- | main.c | 5 |
7 files changed, 398 insertions, 340 deletions
@@ -1,3 +1,8 @@ +2013-04-23 Arnold D. Robbins <arnold@skeeve.com> + + * main.c (load_procinfo): Add PROCINFO entries for API major + and minor versions. + 2013-04-21 Arnold D. Robbins <arnold@skeeve.com> * missing: Update from Automake 1.13.1. diff --git a/doc/ChangeLog b/doc/ChangeLog index 876ed352..61aab3fc 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -4,6 +4,9 @@ * awkcard.in: Minor addition. * gawkman.texi: Minor fixes. + * gawk.1, gawkman.texi: Document PROCINFO entries for API + major and minor versions. + 2013-04-21 Arnold D. Robbins <arnold@skeeve.com> * gawkman.texi: Update all the menus. Fix spelling errors. Remove @@ -1235,6 +1235,14 @@ arbitrary precision floating-point numbers. This entry is not present if MPFR support is not compiled into .IR gawk . .TP +\fBPROCINFO["api_major"]\fP +The major version of the extension API. +This entry is not present if loading dynamic extensions is not available. +.TP +\fBPROCINFO["api_minor"]\fP +The minor version of the extension API. +This entry is not present if loading dynamic extensions is not available. +.TP \fBPROCINFO["version"]\fP the version of .IR gawk . diff --git a/doc/gawk.info b/doc/gawk.info index 63b5a2a5..a0b7f10d 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -9834,6 +9834,17 @@ with a pound sign (`#'). `PROCINFO["prec_min"]' The minimum precision required by MPFR. + The following additional elements in the array are available to + provide information about the version of the extension API, if + your version of `gawk' supports dynamic loading of extension + functions (*note Dynamic Extensions::): + + `PROCINFO["api_major"]' + The major version of the extension API. + + `PROCINFO["api_minor"]' + The minor version of the extension API. + On some systems, there may be elements in the array, `"group1"' through `"groupN"' for some N. N is the number of supplementary groups that the process has. Use the `in' operator to test for @@ -29985,7 +29996,7 @@ Index (line 46) * dark corner, FILENAME variable <1>: Auto-set. (line 93) * dark corner, FILENAME variable: Getline Notes. (line 19) -* dark corner, FNR/NR variables: Auto-set. (line 300) +* dark corner, FNR/NR variables: Auto-set. (line 311) * dark corner, format-control characters: Control Letters. (line 18) * dark corner, FS as null string: Single Character Fields. (line 20) @@ -30188,7 +30199,7 @@ Index * differences in awk and gawk, regular expressions: Case-sensitivity. (line 26) * differences in awk and gawk, RS/RT variables: Records. (line 172) -* differences in awk and gawk, RT variable: Auto-set. (line 252) +* differences in awk and gawk, RT variable: Auto-set. (line 263) * differences in awk and gawk, single-character fields: Single Character Fields. (line 6) * differences in awk and gawk, split() function: String Functions. @@ -30197,7 +30208,7 @@ Index * differences in awk and gawk, strings, storing: Records. (line 191) * differences in awk and gawk, strtonum() function (gawk): String Functions. (line 404) -* differences in awk and gawk, SYMTAB variable: Auto-set. (line 260) +* differences in awk and gawk, SYMTAB variable: Auto-set. (line 271) * differences in awk and gawk, TEXTDOMAIN variable: User-modified. (line 162) * differences in awk and gawk, trunc-mod operation: Arithmetic Ops. @@ -30463,7 +30474,7 @@ Index * floating-point, numbers: General Arithmetic. (line 6) * FNR variable <1>: Auto-set. (line 103) * FNR variable: Records. (line 6) -* FNR variable, changing: Auto-set. (line 300) +* FNR variable, changing: Auto-set. (line 311) * for statement: For Statement. (line 6) * for statement, in arrays: Scanning an Array. (line 20) * format specifiers, mixing regular with positional specifiers: Printf Ordering. @@ -30631,7 +30642,7 @@ Index * gawk, regular expressions, operators: GNU Regexp Operators. (line 6) * gawk, regular expressions, precedence: Regexp Operators. (line 161) -* gawk, RT variable in <1>: Auto-set. (line 252) +* gawk, RT variable in <1>: Auto-set. (line 263) * gawk, RT variable in <2>: Getline/Variable/File. (line 10) * gawk, RT variable in <3>: Multiple Line. (line 129) @@ -30640,7 +30651,7 @@ Index * gawk, source code, obtaining: Getting. (line 6) * gawk, splitting fields and: Constant Size. (line 87) * gawk, string-translation functions: I18N Functions. (line 6) -* gawk, SYMTAB array in: Auto-set. (line 260) +* gawk, SYMTAB array in: Auto-set. (line 271) * gawk, TEXTDOMAIN variable in: User-modified. (line 162) * gawk, timestamps: Time Functions. (line 6) * gawk, uses for: Preface. (line 36) @@ -31047,7 +31058,7 @@ Index * not Boolean-logic operator: Boolean Ops. (line 6) * NR variable <1>: Auto-set. (line 125) * NR variable: Records. (line 6) -* NR variable, changing: Auto-set. (line 300) +* NR variable, changing: Auto-set. (line 311) * null strings <1>: Basic Data Typing. (line 26) * null strings <2>: Truth Values. (line 6) * null strings <3>: Regexp Field Splitting. @@ -31474,7 +31485,7 @@ Index * right angle bracket (>), >> operator (I/O): Redirection. (line 50) * right shift, bitwise: Bitwise Functions. (line 32) * Ritchie, Dennis: Basic Data Typing. (line 55) -* RLENGTH variable: Auto-set. (line 239) +* RLENGTH variable: Auto-set. (line 250) * RLENGTH variable, match() function and: String Functions. (line 223) * Robbins, Arnold <1>: Future Extensions. (line 6) * Robbins, Arnold <2>: Bugs. (line 32) @@ -31501,9 +31512,9 @@ Index * RS variable: Records. (line 20) * RS variable, multiline records and: Multiple Line. (line 17) * rshift() function (gawk): Bitwise Functions. (line 52) -* RSTART variable: Auto-set. (line 245) +* RSTART variable: Auto-set. (line 256) * RSTART variable, match() function and: String Functions. (line 223) -* RT variable <1>: Auto-set. (line 252) +* RT variable <1>: Auto-set. (line 263) * RT variable <2>: Getline/Variable/File. (line 10) * RT variable <3>: Multiple Line. (line 129) @@ -31586,7 +31597,7 @@ Index (line 110) * sidebar, Changing FS Does Not Affect the Fields: Field Splitting Summary. (line 38) -* sidebar, Changing NR and FNR: Auto-set. (line 298) +* sidebar, Changing NR and FNR: Auto-set. (line 309) * sidebar, Controlling Output Buffering with system(): I/O Functions. (line 135) * sidebar, Escape Sequences for Metacharacters: Escape Sequences. @@ -31728,7 +31739,7 @@ Index * substr() function: String Functions. (line 481) * Sumner, Andrew: Other Versions. (line 64) * switch statement: Switch Statement. (line 6) -* SYMTAB array: Auto-set. (line 260) +* SYMTAB array: Auto-set. (line 271) * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops. (line 147) * system() function: I/O Functions. (line 72) @@ -32163,333 +32174,333 @@ Node: Built-in Variables402841 Node: User-modified403936 Ref: User-modified-Footnote-1412291 Node: Auto-set412353 -Ref: Auto-set-Footnote-1424877 -Ref: Auto-set-Footnote-2425082 -Node: ARGC and ARGV425138 -Node: Arrays428989 -Node: Array Basics430494 -Node: Array Intro431320 -Node: Reference to Elements435638 -Node: Assigning Elements437908 -Node: Array Example438399 -Node: Scanning an Array440131 -Node: Controlling Scanning442445 -Ref: Controlling Scanning-Footnote-1447368 -Node: Delete447684 -Ref: Delete-Footnote-1450449 -Node: Numeric Array Subscripts450506 -Node: Uninitialized Subscripts452689 -Node: Multi-dimensional454317 -Node: Multi-scanning457411 -Node: Arrays of Arrays459002 -Node: Functions463643 -Node: Built-in464462 -Node: Calling Built-in465540 -Node: Numeric Functions467528 -Ref: Numeric Functions-Footnote-1471360 -Ref: Numeric Functions-Footnote-2471717 -Ref: Numeric Functions-Footnote-3471765 -Node: String Functions472034 -Ref: String Functions-Footnote-1495531 -Ref: String Functions-Footnote-2495660 -Ref: String Functions-Footnote-3495908 -Node: Gory Details495995 -Ref: table-sub-escapes497674 -Ref: table-sub-posix-92499028 -Ref: table-sub-proposed500379 -Ref: table-posix-sub501733 -Ref: table-gensub-escapes503278 -Ref: Gory Details-Footnote-1504454 -Ref: Gory Details-Footnote-2504505 -Node: I/O Functions504656 -Ref: I/O Functions-Footnote-1511641 -Node: Time Functions511788 -Ref: Time Functions-Footnote-1522721 -Ref: Time Functions-Footnote-2522789 -Ref: Time Functions-Footnote-3522947 -Ref: Time Functions-Footnote-4523058 -Ref: Time Functions-Footnote-5523170 -Ref: Time Functions-Footnote-6523397 -Node: Bitwise Functions523663 -Ref: table-bitwise-ops524221 -Ref: Bitwise Functions-Footnote-1528442 -Node: Type Functions528626 -Node: I18N Functions529096 -Node: User-defined530723 -Node: Definition Syntax531527 -Ref: Definition Syntax-Footnote-1536437 -Node: Function Example536506 -Node: Function Caveats539100 -Node: Calling A Function539521 -Node: Variable Scope540636 -Node: Pass By Value/Reference543599 -Node: Return Statement547107 -Node: Dynamic Typing550088 -Node: Indirect Calls551019 -Node: Library Functions560704 -Ref: Library Functions-Footnote-1564217 -Ref: Library Functions-Footnote-2564360 -Node: Library Names564531 -Ref: Library Names-Footnote-1568002 -Ref: Library Names-Footnote-2568222 -Node: General Functions568308 -Node: Strtonum Function569261 -Node: Assert Function572191 -Node: Round Function575517 -Node: Cliff Random Function577060 -Node: Ordinal Functions578076 -Ref: Ordinal Functions-Footnote-1581146 -Ref: Ordinal Functions-Footnote-2581398 -Node: Join Function581607 -Ref: Join Function-Footnote-1583378 -Node: Getlocaltime Function583578 -Node: Data File Management587293 -Node: Filetrans Function587925 -Node: Rewind Function591994 -Node: File Checking593381 -Node: Empty Files594475 -Node: Ignoring Assigns596705 -Node: Getopt Function598258 -Ref: Getopt Function-Footnote-1609562 -Node: Passwd Functions609765 -Ref: Passwd Functions-Footnote-1618740 -Node: Group Functions618828 -Node: Walking Arrays626912 -Node: Sample Programs629049 -Node: Running Examples629723 -Node: Clones630451 -Node: Cut Program631675 -Node: Egrep Program641520 -Ref: Egrep Program-Footnote-1649293 -Node: Id Program649403 -Node: Split Program653019 -Ref: Split Program-Footnote-1656538 -Node: Tee Program656666 -Node: Uniq Program659469 -Node: Wc Program666898 -Ref: Wc Program-Footnote-1671164 -Ref: Wc Program-Footnote-2671364 -Node: Miscellaneous Programs671456 -Node: Dupword Program672644 -Node: Alarm Program674675 -Node: Translate Program679424 -Ref: Translate Program-Footnote-1683811 -Ref: Translate Program-Footnote-2684039 -Node: Labels Program684173 -Ref: Labels Program-Footnote-1687544 -Node: Word Sorting687628 -Node: History Sorting691512 -Node: Extract Program693351 -Ref: Extract Program-Footnote-1700852 -Node: Simple Sed700980 -Node: Igawk Program704042 -Ref: Igawk Program-Footnote-1719199 -Ref: Igawk Program-Footnote-2719400 -Node: Anagram Program719538 -Node: Signature Program722606 -Node: Advanced Features723706 -Node: Nondecimal Data725588 -Node: Array Sorting727171 -Node: Controlling Array Traversal727868 -Node: Array Sorting Functions736106 -Ref: Array Sorting Functions-Footnote-1739780 -Ref: Array Sorting Functions-Footnote-2739873 -Node: Two-way I/O740067 -Ref: Two-way I/O-Footnote-1745499 -Node: TCP/IP Networking745569 -Node: Profiling748413 -Node: Internationalization755868 -Node: I18N and L10N757293 -Node: Explaining gettext757979 -Ref: Explaining gettext-Footnote-1763045 -Ref: Explaining gettext-Footnote-2763229 -Node: Programmer i18n763394 -Node: Translator i18n767594 -Node: String Extraction768387 -Ref: String Extraction-Footnote-1769348 -Node: Printf Ordering769434 -Ref: Printf Ordering-Footnote-1772218 -Node: I18N Portability772282 -Ref: I18N Portability-Footnote-1774731 -Node: I18N Example774794 -Ref: I18N Example-Footnote-1777429 -Node: Gawk I18N777501 -Node: Debugger778122 -Node: Debugging779093 -Node: Debugging Concepts779526 -Node: Debugging Terms781382 -Node: Awk Debugging783979 -Node: Sample Debugging Session784871 -Node: Debugger Invocation785391 -Node: Finding The Bug786723 -Node: List of Debugger Commands793211 -Node: Breakpoint Control794545 -Node: Debugger Execution Control798209 -Node: Viewing And Changing Data801569 -Node: Execution Stack804925 -Node: Debugger Info806392 -Node: Miscellaneous Debugger Commands810374 -Node: Readline Support815550 -Node: Limitations816381 -Node: Arbitrary Precision Arithmetic818633 -Ref: Arbitrary Precision Arithmetic-Footnote-1820284 -Node: General Arithmetic820432 -Node: Floating Point Issues822152 -Node: String Conversion Precision823033 -Ref: String Conversion Precision-Footnote-1824739 -Node: Unexpected Results824848 -Node: POSIX Floating Point Problems827001 -Ref: POSIX Floating Point Problems-Footnote-1830826 -Node: Integer Programming830864 -Node: Floating-point Programming832617 -Ref: Floating-point Programming-Footnote-1838926 -Node: Floating-point Representation839190 -Node: Floating-point Context840355 -Ref: table-ieee-formats841197 -Node: Rounding Mode842581 -Ref: table-rounding-modes843060 -Ref: Rounding Mode-Footnote-1846064 -Node: Gawk and MPFR846245 -Node: Arbitrary Precision Floats847487 -Ref: Arbitrary Precision Floats-Footnote-1849916 -Node: Setting Precision850227 -Node: Setting Rounding Mode852960 -Ref: table-gawk-rounding-modes853364 -Node: Floating-point Constants854544 -Node: Changing Precision855968 -Ref: Changing Precision-Footnote-1857368 -Node: Exact Arithmetic857542 -Node: Arbitrary Precision Integers860650 -Ref: Arbitrary Precision Integers-Footnote-1863650 -Node: Dynamic Extensions863797 -Node: Extension Intro865174 -Node: Plugin License866382 -Node: Extension Mechanism Outline867067 -Ref: load-extension867484 -Ref: load-new-function868962 -Ref: call-new-function869957 -Node: Extension API Description871965 -Node: Extension API Functions Introduction873297 -Node: General Data Types878075 -Ref: General Data Types-Footnote-1883677 -Node: Requesting Values883976 -Ref: table-value-types-returned884707 -Node: Constructor Functions885661 -Node: Registration Functions888657 -Node: Extension Functions889342 -Node: Exit Callback Functions891516 -Node: Extension Version String892759 -Node: Input Parsers893409 -Node: Output Wrappers903126 -Node: Two-way processors907542 -Node: Printing Messages909672 -Ref: Printing Messages-Footnote-1910749 -Node: Updating `ERRNO'910901 -Node: Accessing Parameters911640 -Node: Symbol Table Access912870 -Node: Symbol table by name913382 -Node: Symbol table by cookie914955 -Ref: Symbol table by cookie-Footnote-1919084 -Node: Cached values919147 -Ref: Cached values-Footnote-1922590 -Node: Array Manipulation922681 -Ref: Array Manipulation-Footnote-1923779 -Node: Array Data Types923818 -Ref: Array Data Types-Footnote-1926521 -Node: Array Functions926613 -Node: Flattening Arrays930379 -Node: Creating Arrays937218 -Node: Extension API Variables942013 -Node: Extension Versioning942649 -Node: Extension API Informational Variables944550 -Node: Extension API Boilerplate945636 -Node: Finding Extensions949467 -Node: Extension Example950014 -Node: Internal File Description950752 -Node: Internal File Ops954440 -Ref: Internal File Ops-Footnote-1965887 -Node: Using Internal File Ops966027 -Ref: Using Internal File Ops-Footnote-1968380 -Node: Extension Samples968646 -Node: Extension Sample File Functions970170 -Node: Extension Sample Fnmatch978643 -Node: Extension Sample Fork980369 -Node: Extension Sample Inplace981587 -Node: Extension Sample Ord983365 -Node: Extension Sample Readdir984144 -Node: Extension Sample Revout985648 -Node: Extension Sample Rev2way986241 -Node: Extension Sample Read write array986931 -Node: Extension Sample Readfile988814 -Node: Extension Sample API Tests989571 -Node: Extension Sample Time990096 -Node: gawkextlib991403 -Node: Language History993784 -Node: V7/SVR3.1995306 -Node: SVR4997627 -Node: POSIX999069 -Node: BTL1000455 -Node: POSIX/GNU1001189 -Node: Common Extensions1006724 -Node: Ranges and Locales1007879 -Ref: Ranges and Locales-Footnote-11012497 -Ref: Ranges and Locales-Footnote-21012524 -Ref: Ranges and Locales-Footnote-31012784 -Node: Contributors1013005 -Node: Installation1017809 -Node: Gawk Distribution1018703 -Node: Getting1019187 -Node: Extracting1020013 -Node: Distribution contents1021705 -Node: Unix Installation1026966 -Node: Quick Installation1027583 -Node: Additional Configuration Options1029545 -Node: Configuration Philosophy1031022 -Node: Non-Unix Installation1033364 -Node: PC Installation1033822 -Node: PC Binary Installation1035121 -Node: PC Compiling1036969 -Node: PC Testing1039913 -Node: PC Using1041089 -Node: Cygwin1045274 -Node: MSYS1046274 -Node: VMS Installation1046788 -Node: VMS Compilation1047391 -Ref: VMS Compilation-Footnote-11048398 -Node: VMS Installation Details1048456 -Node: VMS Running1050091 -Node: VMS Old Gawk1051698 -Node: Bugs1052172 -Node: Other Versions1056024 -Node: Notes1061625 -Node: Compatibility Mode1062425 -Node: Additions1063208 -Node: Accessing The Source1064135 -Node: Adding Code1065575 -Node: New Ports1071620 -Node: Derived Files1075755 -Ref: Derived Files-Footnote-11081076 -Ref: Derived Files-Footnote-21081110 -Ref: Derived Files-Footnote-31081710 -Node: Future Extensions1081808 -Node: Implementation Limitations1082389 -Node: Extension Design1083641 -Node: Old Extension Problems1084790 -Ref: Old Extension Problems-Footnote-11086298 -Node: Extension New Mechanism Goals1086355 -Ref: Extension New Mechanism Goals-Footnote-11089714 -Node: Extension Other Design Decisions1089900 -Node: Extension Future Growth1092006 -Node: Old Extension Mechanism1092827 -Node: Basic Concepts1094567 -Node: Basic High Level1095248 -Ref: figure-general-flow1095519 -Ref: figure-process-flow1096118 -Ref: Basic High Level-Footnote-11099347 -Node: Basic Data Typing1099532 -Node: Glossary1102887 -Node: Copying1128358 -Node: GNU Free Documentation License1165915 -Node: Index1191052 +Ref: Auto-set-Footnote-1425284 +Ref: Auto-set-Footnote-2425489 +Node: ARGC and ARGV425545 +Node: Arrays429396 +Node: Array Basics430901 +Node: Array Intro431727 +Node: Reference to Elements436045 +Node: Assigning Elements438315 +Node: Array Example438806 +Node: Scanning an Array440538 +Node: Controlling Scanning442852 +Ref: Controlling Scanning-Footnote-1447775 +Node: Delete448091 +Ref: Delete-Footnote-1450856 +Node: Numeric Array Subscripts450913 +Node: Uninitialized Subscripts453096 +Node: Multi-dimensional454724 +Node: Multi-scanning457818 +Node: Arrays of Arrays459409 +Node: Functions464050 +Node: Built-in464869 +Node: Calling Built-in465947 +Node: Numeric Functions467935 +Ref: Numeric Functions-Footnote-1471767 +Ref: Numeric Functions-Footnote-2472124 +Ref: Numeric Functions-Footnote-3472172 +Node: String Functions472441 +Ref: String Functions-Footnote-1495938 +Ref: String Functions-Footnote-2496067 +Ref: String Functions-Footnote-3496315 +Node: Gory Details496402 +Ref: table-sub-escapes498081 +Ref: table-sub-posix-92499435 +Ref: table-sub-proposed500786 +Ref: table-posix-sub502140 +Ref: table-gensub-escapes503685 +Ref: Gory Details-Footnote-1504861 +Ref: Gory Details-Footnote-2504912 +Node: I/O Functions505063 +Ref: I/O Functions-Footnote-1512048 +Node: Time Functions512195 +Ref: Time Functions-Footnote-1523128 +Ref: Time Functions-Footnote-2523196 +Ref: Time Functions-Footnote-3523354 +Ref: Time Functions-Footnote-4523465 +Ref: Time Functions-Footnote-5523577 +Ref: Time Functions-Footnote-6523804 +Node: Bitwise Functions524070 +Ref: table-bitwise-ops524628 +Ref: Bitwise Functions-Footnote-1528849 +Node: Type Functions529033 +Node: I18N Functions529503 +Node: User-defined531130 +Node: Definition Syntax531934 +Ref: Definition Syntax-Footnote-1536844 +Node: Function Example536913 +Node: Function Caveats539507 +Node: Calling A Function539928 +Node: Variable Scope541043 +Node: Pass By Value/Reference544006 +Node: Return Statement547514 +Node: Dynamic Typing550495 +Node: Indirect Calls551426 +Node: Library Functions561111 +Ref: Library Functions-Footnote-1564624 +Ref: Library Functions-Footnote-2564767 +Node: Library Names564938 +Ref: Library Names-Footnote-1568409 +Ref: Library Names-Footnote-2568629 +Node: General Functions568715 +Node: Strtonum Function569668 +Node: Assert Function572598 +Node: Round Function575924 +Node: Cliff Random Function577467 +Node: Ordinal Functions578483 +Ref: Ordinal Functions-Footnote-1581553 +Ref: Ordinal Functions-Footnote-2581805 +Node: Join Function582014 +Ref: Join Function-Footnote-1583785 +Node: Getlocaltime Function583985 +Node: Data File Management587700 +Node: Filetrans Function588332 +Node: Rewind Function592401 +Node: File Checking593788 +Node: Empty Files594882 +Node: Ignoring Assigns597112 +Node: Getopt Function598665 +Ref: Getopt Function-Footnote-1609969 +Node: Passwd Functions610172 +Ref: Passwd Functions-Footnote-1619147 +Node: Group Functions619235 +Node: Walking Arrays627319 +Node: Sample Programs629456 +Node: Running Examples630130 +Node: Clones630858 +Node: Cut Program632082 +Node: Egrep Program641927 +Ref: Egrep Program-Footnote-1649700 +Node: Id Program649810 +Node: Split Program653426 +Ref: Split Program-Footnote-1656945 +Node: Tee Program657073 +Node: Uniq Program659876 +Node: Wc Program667305 +Ref: Wc Program-Footnote-1671571 +Ref: Wc Program-Footnote-2671771 +Node: Miscellaneous Programs671863 +Node: Dupword Program673051 +Node: Alarm Program675082 +Node: Translate Program679831 +Ref: Translate Program-Footnote-1684218 +Ref: Translate Program-Footnote-2684446 +Node: Labels Program684580 +Ref: Labels Program-Footnote-1687951 +Node: Word Sorting688035 +Node: History Sorting691919 +Node: Extract Program693758 +Ref: Extract Program-Footnote-1701259 +Node: Simple Sed701387 +Node: Igawk Program704449 +Ref: Igawk Program-Footnote-1719606 +Ref: Igawk Program-Footnote-2719807 +Node: Anagram Program719945 +Node: Signature Program723013 +Node: Advanced Features724113 +Node: Nondecimal Data725995 +Node: Array Sorting727578 +Node: Controlling Array Traversal728275 +Node: Array Sorting Functions736513 +Ref: Array Sorting Functions-Footnote-1740187 +Ref: Array Sorting Functions-Footnote-2740280 +Node: Two-way I/O740474 +Ref: Two-way I/O-Footnote-1745906 +Node: TCP/IP Networking745976 +Node: Profiling748820 +Node: Internationalization756275 +Node: I18N and L10N757700 +Node: Explaining gettext758386 +Ref: Explaining gettext-Footnote-1763452 +Ref: Explaining gettext-Footnote-2763636 +Node: Programmer i18n763801 +Node: Translator i18n768001 +Node: String Extraction768794 +Ref: String Extraction-Footnote-1769755 +Node: Printf Ordering769841 +Ref: Printf Ordering-Footnote-1772625 +Node: I18N Portability772689 +Ref: I18N Portability-Footnote-1775138 +Node: I18N Example775201 +Ref: I18N Example-Footnote-1777836 +Node: Gawk I18N777908 +Node: Debugger778529 +Node: Debugging779500 +Node: Debugging Concepts779933 +Node: Debugging Terms781789 +Node: Awk Debugging784386 +Node: Sample Debugging Session785278 +Node: Debugger Invocation785798 +Node: Finding The Bug787130 +Node: List of Debugger Commands793618 +Node: Breakpoint Control794952 +Node: Debugger Execution Control798616 +Node: Viewing And Changing Data801976 +Node: Execution Stack805332 +Node: Debugger Info806799 +Node: Miscellaneous Debugger Commands810781 +Node: Readline Support815957 +Node: Limitations816788 +Node: Arbitrary Precision Arithmetic819040 +Ref: Arbitrary Precision Arithmetic-Footnote-1820691 +Node: General Arithmetic820839 +Node: Floating Point Issues822559 +Node: String Conversion Precision823440 +Ref: String Conversion Precision-Footnote-1825146 +Node: Unexpected Results825255 +Node: POSIX Floating Point Problems827408 +Ref: POSIX Floating Point Problems-Footnote-1831233 +Node: Integer Programming831271 +Node: Floating-point Programming833024 +Ref: Floating-point Programming-Footnote-1839333 +Node: Floating-point Representation839597 +Node: Floating-point Context840762 +Ref: table-ieee-formats841604 +Node: Rounding Mode842988 +Ref: table-rounding-modes843467 +Ref: Rounding Mode-Footnote-1846471 +Node: Gawk and MPFR846652 +Node: Arbitrary Precision Floats847894 +Ref: Arbitrary Precision Floats-Footnote-1850323 +Node: Setting Precision850634 +Node: Setting Rounding Mode853367 +Ref: table-gawk-rounding-modes853771 +Node: Floating-point Constants854951 +Node: Changing Precision856375 +Ref: Changing Precision-Footnote-1857775 +Node: Exact Arithmetic857949 +Node: Arbitrary Precision Integers861057 +Ref: Arbitrary Precision Integers-Footnote-1864057 +Node: Dynamic Extensions864204 +Node: Extension Intro865581 +Node: Plugin License866789 +Node: Extension Mechanism Outline867474 +Ref: load-extension867891 +Ref: load-new-function869369 +Ref: call-new-function870364 +Node: Extension API Description872372 +Node: Extension API Functions Introduction873704 +Node: General Data Types878482 +Ref: General Data Types-Footnote-1884084 +Node: Requesting Values884383 +Ref: table-value-types-returned885114 +Node: Constructor Functions886068 +Node: Registration Functions889064 +Node: Extension Functions889749 +Node: Exit Callback Functions891923 +Node: Extension Version String893166 +Node: Input Parsers893816 +Node: Output Wrappers903533 +Node: Two-way processors907949 +Node: Printing Messages910079 +Ref: Printing Messages-Footnote-1911156 +Node: Updating `ERRNO'911308 +Node: Accessing Parameters912047 +Node: Symbol Table Access913277 +Node: Symbol table by name913789 +Node: Symbol table by cookie915362 +Ref: Symbol table by cookie-Footnote-1919491 +Node: Cached values919554 +Ref: Cached values-Footnote-1922997 +Node: Array Manipulation923088 +Ref: Array Manipulation-Footnote-1924186 +Node: Array Data Types924225 +Ref: Array Data Types-Footnote-1926928 +Node: Array Functions927020 +Node: Flattening Arrays930786 +Node: Creating Arrays937625 +Node: Extension API Variables942420 +Node: Extension Versioning943056 +Node: Extension API Informational Variables944957 +Node: Extension API Boilerplate946043 +Node: Finding Extensions949874 +Node: Extension Example950421 +Node: Internal File Description951159 +Node: Internal File Ops954847 +Ref: Internal File Ops-Footnote-1966294 +Node: Using Internal File Ops966434 +Ref: Using Internal File Ops-Footnote-1968787 +Node: Extension Samples969053 +Node: Extension Sample File Functions970577 +Node: Extension Sample Fnmatch979050 +Node: Extension Sample Fork980776 +Node: Extension Sample Inplace981994 +Node: Extension Sample Ord983772 +Node: Extension Sample Readdir984551 +Node: Extension Sample Revout986055 +Node: Extension Sample Rev2way986648 +Node: Extension Sample Read write array987338 +Node: Extension Sample Readfile989221 +Node: Extension Sample API Tests989978 +Node: Extension Sample Time990503 +Node: gawkextlib991810 +Node: Language History994191 +Node: V7/SVR3.1995713 +Node: SVR4998034 +Node: POSIX999476 +Node: BTL1000862 +Node: POSIX/GNU1001596 +Node: Common Extensions1007131 +Node: Ranges and Locales1008286 +Ref: Ranges and Locales-Footnote-11012904 +Ref: Ranges and Locales-Footnote-21012931 +Ref: Ranges and Locales-Footnote-31013191 +Node: Contributors1013412 +Node: Installation1018216 +Node: Gawk Distribution1019110 +Node: Getting1019594 +Node: Extracting1020420 +Node: Distribution contents1022112 +Node: Unix Installation1027373 +Node: Quick Installation1027990 +Node: Additional Configuration Options1029952 +Node: Configuration Philosophy1031429 +Node: Non-Unix Installation1033771 +Node: PC Installation1034229 +Node: PC Binary Installation1035528 +Node: PC Compiling1037376 +Node: PC Testing1040320 +Node: PC Using1041496 +Node: Cygwin1045681 +Node: MSYS1046681 +Node: VMS Installation1047195 +Node: VMS Compilation1047798 +Ref: VMS Compilation-Footnote-11048805 +Node: VMS Installation Details1048863 +Node: VMS Running1050498 +Node: VMS Old Gawk1052105 +Node: Bugs1052579 +Node: Other Versions1056431 +Node: Notes1062032 +Node: Compatibility Mode1062832 +Node: Additions1063615 +Node: Accessing The Source1064542 +Node: Adding Code1065982 +Node: New Ports1072027 +Node: Derived Files1076162 +Ref: Derived Files-Footnote-11081483 +Ref: Derived Files-Footnote-21081517 +Ref: Derived Files-Footnote-31082117 +Node: Future Extensions1082215 +Node: Implementation Limitations1082796 +Node: Extension Design1084048 +Node: Old Extension Problems1085197 +Ref: Old Extension Problems-Footnote-11086705 +Node: Extension New Mechanism Goals1086762 +Ref: Extension New Mechanism Goals-Footnote-11090121 +Node: Extension Other Design Decisions1090307 +Node: Extension Future Growth1092413 +Node: Old Extension Mechanism1093234 +Node: Basic Concepts1094974 +Node: Basic High Level1095655 +Ref: figure-general-flow1095926 +Ref: figure-process-flow1096525 +Ref: Basic High Level-Footnote-11099754 +Node: Basic Data Typing1099939 +Node: Glossary1103294 +Node: Copying1128765 +Node: GNU Free Documentation License1166322 +Node: Index1191459 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 1684e901..abebbb41 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -13856,6 +13856,19 @@ The maximum precision supported by MPFR. The minimum precision required by MPFR. @end table +The following additional elements in the array are available to provide +information about the version of the extension API, if your version +of @command{gawk} supports dynamic loading of extension functions +(@pxref{Dynamic Extensions}): + +@table @code +@item PROCINFO["api_major"] +The major version of the extension API. + +@item PROCINFO["api_minor"] +The minor version of the extension API. +@end table + On some systems, there may be elements in the array, @code{"group1"} through @code{"group@var{N}"} for some @var{N}. @var{N} is the number of supplementary groups that the process has. Use the @code{in} operator diff --git a/doc/gawkman.texi b/doc/gawkman.texi index 3cf37663..2998e0b4 100644 --- a/doc/gawkman.texi +++ b/doc/gawkman.texi @@ -13241,6 +13241,19 @@ The maximum precision supported by MPFR. The minimum precision required by MPFR. @end table +The following additional elements in the array are available to provide +information about the version of the extension API, if your version +of @command{gawk} supports dynamic loading of extension functions +(@pxref{Dynamic Extensions}): + +@table @code +@item PROCINFO["api_major"] +The major version of the extension API. + +@item PROCINFO["api_minor"] +The minor version of the extension API. +@end table + On some systems, there may be elements in the array, @code{"group1"} through @code{"group@var{N}"} for some @var{N}. @var{N} is the number of supplementary groups that the process has. Use the @code{in} operator @@ -1129,6 +1129,11 @@ load_procinfo() update_PROCINFO_num("prec_min", MPFR_PREC_MIN); #endif +#ifdef DYNAMIC + update_PROCINFO_num("api_major", GAWK_API_MAJOR_VERSION); + update_PROCINFO_num("api_minor", GAWK_API_MINOR_VERSION); +#endif + #ifdef GETPGRP_VOID #define getpgrp_arg() /* nothing */ #else |