diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2012-12-16 17:48:15 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2012-12-16 17:48:15 +0200 |
commit | 4e03c2c0d247af83d43a802ca645f3f83f57ffa8 (patch) | |
tree | 6e82445e52173c26fafb9721d35a7c104e2ad3ba /doc/gawk.info | |
parent | 221cec9b6b8e17a4ca2bb000afa6e989195d761b (diff) | |
download | egawk-4e03c2c0d247af83d43a802ca645f3f83f57ffa8.tar.gz egawk-4e03c2c0d247af83d43a802ca645f3f83f57ffa8.tar.bz2 egawk-4e03c2c0d247af83d43a802ca645f3f83f57ffa8.zip |
Move old extension doc to end of appendix.
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 132 |
1 files changed, 66 insertions, 66 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 693d2dcf..8a440f5e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -632,12 +632,12 @@ texts being (a) (see below), and with the Back-Cover Texts being (b) * Future Extensions:: New features that may be implemented one day. * Implementation Limitations:: Some limitations of the implementation. -* Old Extension Mechansim:: Some compatibility for old extensions. * Extension Design:: Design notes about the extension API. * Old Extension Problems:: Problems with the old mechanism. * Extension New Mechanism Goals:: Goals for the new mechanism. * Extension Other Design Decisions:: Some other design decisions. * Extension Future Growth:: Some room for future growth. +* Old Extension Mechansim:: Some compatibility for old extensions. * Basic High Level:: The high level view. * Basic Data Typing:: A very quick intro to data types. @@ -26287,8 +26287,8 @@ and maintainers of `gawk'. Everything in it applies specifically to * Additions:: Making Additions To `gawk'. * Future Extensions:: New features that may be implemented one day. * Implementation Limitations:: Some limitations of the implementation. -* Old Extension Mechansim:: Some compatibility for old extensions. * Extension Design:: Design notes about the extension API. +* Old Extension Mechansim:: Some compatibility for old extensions. File: gawk.info, Node: Compatibility Mode, Next: Additions, Up: Notes @@ -26752,7 +26752,7 @@ Additions::, if you are interested in tackling any of the projects listed there. -File: gawk.info, Node: Implementation Limitations, Next: Old Extension Mechansim, Prev: Future Extensions, Up: Notes +File: gawk.info, Node: Implementation Limitations, Next: Extension Design, Prev: Future Extensions, Up: Notes C.4 Some Limitations of the Implementation ========================================== @@ -26783,48 +26783,9 @@ Size of a literal string `MAX_INT ' Size of a printf string `MAX_INT ' -File: gawk.info, Node: Old Extension Mechansim, Next: Extension Design, Prev: Implementation Limitations, Up: Notes - -C.5 Compatibility For Old Extensions -==================================== - -*note Dynamic Extensions::, describes the supported API and mechanisms -for writing extensions for `gawk'. This API was introduced in *FIXME: -VERSION*. However, for many years `gawk' provided an extension -mechanism that required knowledge of `gawk' internals and that was not -as well designed. - - In order to provide a transition period, `gawk' version *FIXME: -VERSION* continues to support the original extension mechanism. This -will be true for the life of exactly one major release. This support -will be withdrawn, and removed from the source code, at the next major -release. - - Briefly, original-style extensions should be compiled by including -the `awk.h' header file in the extension source code. Additionally, you -must define the identifier `GAWK' when building (use `-DGAWK' with -Unix-style compilers). Otherwise, the definitions in `gawkapi.h' will -cause conflicts with those in `awk.h' and your extension will not -compile. - - Just as in previous versions, you load an old-style extension with -the `extension()' built-in function (which is not otherwise documented). -This function in turn finds and loads the shared object file containing -the extension and calls its `dl_load()' C routine. - - Because original-style and new-style extensions use different -initialiation routines (`dl_load()' versus `dlload()'), they may safely -be installed in the same directory (to be found by `AWKLIBPATH') -without conflict. - - The `gawk' development team strongly recommends that you convert any -old extensions that you may have to use the new API described in *note -Dynamic Extensions::. - - -File: gawk.info, Node: Extension Design, Prev: Old Extension Mechansim, Up: Notes +File: gawk.info, Node: Extension Design, Next: Old Extension Mechansim, Prev: Implementation Limitations, Up: Notes -C.6 Extension API Design +C.5 Extension API Design ======================== This minor node documents the design of the extension API, including a @@ -26852,7 +26813,7 @@ mechanism was bolted onto the side and was not really thought out. File: gawk.info, Node: Old Extension Problems, Next: Extension New Mechanism Goals, Up: Extension Design -C.6.1 Problems With The Old Mechanism +C.5.1 Problems With The Old Mechanism ------------------------------------- The old extension mechanism had several problems: @@ -26888,7 +26849,7 @@ it together. More information about the `xgawk' project is provided in File: gawk.info, Node: Extension New Mechanism Goals, Next: Extension Other Design Decisions, Prev: Old Extension Problems, Up: Extension Design -C.6.2 Goals For A New Mechanism +C.5.2 Goals For A New Mechanism ------------------------------- Some goals for the new API were: @@ -26973,7 +26934,7 @@ dynamically at runtime is problematic on Windows. File: gawk.info, Node: Extension Other Design Decisions, Next: Extension Future Growth, Prev: Extension New Mechanism Goals, Up: Extension Design -C.6.3 Other Design Decisions +C.5.3 Other Design Decisions ---------------------------- As an arbitrary design decision, extensions can read the values of @@ -27017,7 +26978,7 @@ extensions. File: gawk.info, Node: Extension Future Growth, Prev: Extension Other Design Decisions, Up: Extension Design -C.6.4 Room For Future Growth +C.5.4 Room For Future Growth ---------------------------- The API can later be expanded, in two ways: @@ -27036,6 +26997,45 @@ The API can later be expanded, in two ways: respect to any of the above. +File: gawk.info, Node: Old Extension Mechansim, Prev: Extension Design, Up: Notes + +C.6 Compatibility For Old Extensions +==================================== + +*note Dynamic Extensions::, describes the supported API and mechanisms +for writing extensions for `gawk'. This API was introduced in *FIXME: +VERSION*. However, for many years `gawk' provided an extension +mechanism that required knowledge of `gawk' internals and that was not +as well designed. + + In order to provide a transition period, `gawk' version *FIXME: +VERSION* continues to support the original extension mechanism. This +will be true for the life of exactly one major release. This support +will be withdrawn, and removed from the source code, at the next major +release. + + Briefly, original-style extensions should be compiled by including +the `awk.h' header file in the extension source code. Additionally, you +must define the identifier `GAWK' when building (use `-DGAWK' with +Unix-style compilers). Otherwise, the definitions in `gawkapi.h' will +cause conflicts with those in `awk.h' and your extension will not +compile. + + Just as in previous versions, you load an old-style extension with +the `extension()' built-in function (which is not otherwise documented). +This function in turn finds and loads the shared object file containing +the extension and calls its `dl_load()' C routine. + + Because original-style and new-style extensions use different +initialiation routines (`dl_load()' versus `dlload()'), they may safely +be installed in the same directory (to be found by `AWKLIBPATH') +without conflict. + + The `gawk' development team strongly recommends that you convert any +old extensions that you may have to use the new API described in *note +Dynamic Extensions::. + + File: gawk.info, Node: Basic Concepts, Next: Glossary, Prev: Notes, Up: Top Appendix D Basic Programming Concepts @@ -32319,23 +32319,23 @@ Ref: Derived Files-Footnote-21076290 Ref: Derived Files-Footnote-31076890 Node: Future Extensions1076988 Node: Implementation Limitations1077569 -Node: Old Extension Mechansim1078828 -Node: Extension Design1080620 -Node: Old Extension Problems1081734 -Ref: Old Extension Problems-Footnote-11083242 -Node: Extension New Mechanism Goals1083299 -Ref: Extension New Mechanism Goals-Footnote-11086658 -Node: Extension Other Design Decisions1086844 -Node: Extension Future Growth1088950 -Node: Basic Concepts1089771 -Node: Basic High Level1090452 -Ref: figure-general-flow1090723 -Ref: figure-process-flow1091322 -Ref: Basic High Level-Footnote-11094551 -Node: Basic Data Typing1094736 -Node: Glossary1098091 -Node: Copying1123402 -Node: GNU Free Documentation License1160959 -Node: Index1186096 +Node: Extension Design1078821 +Node: Old Extension Problems1079970 +Ref: Old Extension Problems-Footnote-11081478 +Node: Extension New Mechanism Goals1081535 +Ref: Extension New Mechanism Goals-Footnote-11084894 +Node: Extension Other Design Decisions1085080 +Node: Extension Future Growth1087186 +Node: Old Extension Mechansim1088007 +Node: Basic Concepts1089764 +Node: Basic High Level1090445 +Ref: figure-general-flow1090716 +Ref: figure-process-flow1091315 +Ref: Basic High Level-Footnote-11094544 +Node: Basic Data Typing1094729 +Node: Glossary1098084 +Node: Copying1123395 +Node: GNU Free Documentation License1160952 +Node: Index1186089 End Tag Table |