diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2021-01-23 20:21:27 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2021-01-23 20:21:27 +0200 |
commit | 30f33344588322c1dd875a779906cb8fbfa4813e (patch) | |
tree | cc12ed47f50eab9f653954cd1e2cb3d2f90cf514 /doc | |
parent | 09464314120c03b6870678108c10d99c58d4aa39 (diff) | |
download | egawk-30f33344588322c1dd875a779906cb8fbfa4813e.tar.gz egawk-30f33344588322c1dd875a779906cb8fbfa4813e.tar.bz2 egawk-30f33344588322c1dd875a779906cb8fbfa4813e.zip |
Several small fixes in the manual.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 574 | ||||
-rw-r--r-- | doc/gawk.texi | 37 | ||||
-rw-r--r-- | doc/gawktexi.in | 25 |
4 files changed, 322 insertions, 319 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 226b7021..71d7b756 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2021-01-23 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: A number of small fixes, thanks to + Antonio Columbo. + 2021-01-21 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Other Versions): Add information on more diff --git a/doc/gawk.info b/doc/gawk.info index 2f8470dc..955c89ce 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -18042,14 +18042,14 @@ overlap with 'gawk''s, a '--' is needed to tell 'gawk' to stop looking for options. Next comes the code that handles the 'egrep'-specific behavior. -'egrep' uses the first nonoption on the command line is used. if no -pattern is supplied with '-e'. If the pattern is empty, that means no -pattern was supplied, so it's necessary to print an error message and -exit. The 'awk' command-line arguments up to 'ARGV[Optind]' are -cleared, so that 'awk' won't try to process them as files. If no files -are specified, the standard input is used, and if multiple files are -specified, we make sure to note this so that the file names can precede -the matched lines in the output: +'egrep' uses the first nonoption on the command line if no pattern is +supplied with '-e'. If the pattern is empty, that means no pattern was +supplied, so it's necessary to print an error message and exit. The +'awk' command-line arguments up to 'ARGV[Optind]' are cleared, so that +'awk' won't try to process them as files. If no files are specified, +the standard input is used, and if multiple files are specified, we make +sure to note this so that the file names can precede the matched lines +in the output: if (pattern == "") pattern = ARGV[Optind++] @@ -21822,16 +21822,16 @@ source code, it will appear that way in the output. File: gawk.info, Node: Extension Philosophy, Next: Advanced Features Summary, Prev: Profiling, Up: Advanced Features -12.6 Builtin Features vs. Extensions -==================================== +12.6 Builtin Features versus Extensions +======================================= As this and subsequent major nodes show, 'gawk' has a large number of extensions over standard 'awk' built-in to the program. These have developed over time. More recently, the focus has moved to using the extension mechanism (*note Dynamic Extensions::) for adding features. This minor node discusses the "guiding philosophy" behind what should be -added to the interpreter as a built-in feature vs. what should be done -in extensions. +added to the interpreter as a built-in feature versus what should be +done in extensions. There are several goals: @@ -21846,9 +21846,8 @@ in extensions. 4. Extend the core interpreter only if some feature is: A. Truly desirable. - B. Cannot be done via (2) or (3) above. + B. Cannot be done via library files or loadable extensions. C. Can be implemented without too much pain in the core. - Combining modules with 'awk' files is a powerful technique. Some of the sample extensions demonstrate this. @@ -21898,7 +21897,8 @@ File: gawk.info, Node: Advanced Features Summary, Prev: Extension Philosophy, * You can also just "pretty-print" the program. * New features should be developed using the extension mechansim if - possible, and added to the core interpreter only as a last resort. + possible; they should be added to the core interpreter only as a + last resort. File: gawk.info, Node: Internationalization, Next: Debugger, Prev: Advanced Features, Up: Top @@ -34715,7 +34715,7 @@ Index * .pot files: Explaining gettext. (line 31) * / (forward slash), to enclose regular expressions: Regexp. (line 10) * / (forward slash), /= operator: Assignment Ops. (line 129) -* / (forward slash), /= operator, vs. /=.../ regexp constant: Assignment Ops. +* / (forward slash), /= operator, vs. /=.../ regexp constant: Assignment Ops. (line 149) * / (forward slash), / operator: Precedence. (line 54) * / (forward slash), /= operator <1>: Precedence. (line 94) @@ -35562,7 +35562,7 @@ Index (line 17) * dark corner, regexp constants, /= operator and: Assignment Ops. (line 149) -* dark corner, /= operator vs. /=.../ regexp constant: Assignment Ops. +* dark corner, /= operator vs. /=.../ regexp constant: Assignment Ops. (line 149) * dark corner, "0" is actually true: Truth Values. (line 24) * dark corner, range patterns, line continuation and: Ranges. (line 64) @@ -36200,7 +36200,7 @@ Index * formatting, strings: String Functions. (line 395) * forward slash (/), to enclose regular expressions: Regexp. (line 10) * forward slash (/), /= operator: Assignment Ops. (line 129) -* forward slash (/), /= operator, vs. /=.../ regexp constant: Assignment Ops. +* forward slash (/), /= operator, vs. /=.../ regexp constant: Assignment Ops. (line 149) * forward slash (/), / operator: Precedence. (line 54) * forward slash (/), /= operator <1>: Precedence. (line 94) @@ -38352,275 +38352,275 @@ Node: Running Examples728199 Node: Clones728927 Node: Cut Program730151 Node: Egrep Program740291 -Node: Id Program749302 -Node: Split Program759249 -Ref: Split Program-Footnote-1769139 -Node: Tee Program769312 -Node: Uniq Program772102 -Node: Wc Program779690 -Node: Bytes vs. Characters780087 -Node: Using extensions781635 -Node: wc program782389 -Node: Miscellaneous Programs787254 -Node: Dupword Program788467 -Node: Alarm Program790497 -Node: Translate Program795352 -Ref: Translate Program-Footnote-1799917 -Node: Labels Program800187 -Ref: Labels Program-Footnote-1803538 -Node: Word Sorting803622 -Node: History Sorting807694 -Node: Extract Program809919 -Node: Simple Sed817973 -Node: Igawk Program821047 -Ref: Igawk Program-Footnote-1835378 -Ref: Igawk Program-Footnote-2835580 -Ref: Igawk Program-Footnote-3835702 -Node: Anagram Program835817 -Node: Signature Program838879 -Node: Programs Summary840126 -Node: Programs Exercises841340 -Ref: Programs Exercises-Footnote-1845470 -Node: Advanced Features845556 -Node: Nondecimal Data847623 -Node: Array Sorting849214 -Node: Controlling Array Traversal849914 -Ref: Controlling Array Traversal-Footnote-1858282 -Node: Array Sorting Functions858400 -Ref: Array Sorting Functions-Footnote-1863491 -Node: Two-way I/O863687 -Ref: Two-way I/O-Footnote-1871408 -Ref: Two-way I/O-Footnote-2871595 -Node: TCP/IP Networking871677 -Node: Profiling874795 -Node: Extension Philosophy884104 -Node: Advanced Features Summary885555 -Node: Internationalization887554 -Node: I18N and L10N889034 -Node: Explaining gettext889721 -Ref: Explaining gettext-Footnote-1895613 -Ref: Explaining gettext-Footnote-2895798 -Node: Programmer i18n895963 -Ref: Programmer i18n-Footnote-1900912 -Node: Translator i18n900961 -Node: String Extraction901755 -Ref: String Extraction-Footnote-1902887 -Node: Printf Ordering902973 -Ref: Printf Ordering-Footnote-1905759 -Node: I18N Portability905823 -Ref: I18N Portability-Footnote-1908279 -Node: I18N Example908342 -Ref: I18N Example-Footnote-1911617 -Ref: I18N Example-Footnote-2911690 -Node: Gawk I18N911799 -Node: I18N Summary912448 -Node: Debugger913789 -Node: Debugging914789 -Node: Debugging Concepts915230 -Node: Debugging Terms917039 -Node: Awk Debugging919614 -Ref: Awk Debugging-Footnote-1920559 -Node: Sample Debugging Session920691 -Node: Debugger Invocation921225 -Node: Finding The Bug922611 -Node: List of Debugger Commands929085 -Node: Breakpoint Control930418 -Node: Debugger Execution Control934112 -Node: Viewing And Changing Data937474 -Node: Execution Stack941015 -Node: Debugger Info942652 -Node: Miscellaneous Debugger Commands946723 -Node: Readline Support951785 -Node: Limitations952681 -Node: Debugging Summary955235 -Node: Namespaces956514 -Node: Global Namespace957625 -Node: Qualified Names959023 -Node: Default Namespace960022 -Node: Changing The Namespace960763 -Node: Naming Rules962377 -Node: Internal Name Management964225 -Node: Namespace Example965267 -Node: Namespace And Features967829 -Node: Namespace Summary969264 -Node: Arbitrary Precision Arithmetic970741 -Node: Computer Arithmetic972228 -Ref: table-numeric-ranges975994 -Ref: table-floating-point-ranges976487 -Ref: Computer Arithmetic-Footnote-1977145 -Node: Math Definitions977202 -Ref: table-ieee-formats980518 -Ref: Math Definitions-Footnote-1981121 -Node: MPFR features981226 -Node: FP Math Caution982944 -Ref: FP Math Caution-Footnote-1984016 -Node: Inexactness of computations984385 -Node: Inexact representation985345 -Node: Comparing FP Values986705 -Node: Errors accumulate987946 -Node: Getting Accuracy989379 -Node: Try To Round992089 -Node: Setting precision992988 -Ref: table-predefined-precision-strings993685 -Node: Setting the rounding mode995515 -Ref: table-gawk-rounding-modes995889 -Ref: Setting the rounding mode-Footnote-1999820 -Node: Arbitrary Precision Integers999999 -Ref: Arbitrary Precision Integers-Footnote-11003174 -Node: Checking for MPFR1003323 -Node: POSIX Floating Point Problems1004797 -Ref: POSIX Floating Point Problems-Footnote-11009082 -Node: Floating point summary1009120 -Node: Dynamic Extensions1011310 -Node: Extension Intro1012863 -Node: Plugin License1014129 -Node: Extension Mechanism Outline1014926 -Ref: figure-load-extension1015365 -Ref: figure-register-new-function1016930 -Ref: figure-call-new-function1018022 -Node: Extension API Description1020084 -Node: Extension API Functions Introduction1021797 -Ref: table-api-std-headers1023633 -Node: General Data Types1027882 -Ref: General Data Types-Footnote-11036512 -Node: Memory Allocation Functions1036811 -Ref: Memory Allocation Functions-Footnote-11041312 -Node: Constructor Functions1041411 -Node: API Ownership of MPFR and GMP Values1044877 -Node: Registration Functions1046190 -Node: Extension Functions1046890 -Node: Exit Callback Functions1052212 -Node: Extension Version String1053462 -Node: Input Parsers1054125 -Node: Output Wrappers1066846 -Node: Two-way processors1071358 -Node: Printing Messages1073623 -Ref: Printing Messages-Footnote-11074794 -Node: Updating ERRNO1074947 -Node: Requesting Values1075686 -Ref: table-value-types-returned1076423 -Node: Accessing Parameters1077359 -Node: Symbol Table Access1078596 -Node: Symbol table by name1079108 -Ref: Symbol table by name-Footnote-11082132 -Node: Symbol table by cookie1082260 -Ref: Symbol table by cookie-Footnote-11086445 -Node: Cached values1086509 -Ref: Cached values-Footnote-11090045 -Node: Array Manipulation1090198 -Ref: Array Manipulation-Footnote-11091289 -Node: Array Data Types1091326 -Ref: Array Data Types-Footnote-11093984 -Node: Array Functions1094076 -Node: Flattening Arrays1098574 -Node: Creating Arrays1105550 -Node: Redirection API1110317 -Node: Extension API Variables1113150 -Node: Extension Versioning1113861 -Ref: gawk-api-version1114290 -Node: Extension GMP/MPFR Versioning1116021 -Node: Extension API Informational Variables1117649 -Node: Extension API Boilerplate1118722 -Node: Changes from API V11122696 -Node: Finding Extensions1124268 -Node: Extension Example1124827 -Node: Internal File Description1125625 -Node: Internal File Ops1129705 -Ref: Internal File Ops-Footnote-11141055 -Node: Using Internal File Ops1141195 -Ref: Using Internal File Ops-Footnote-11143578 -Node: Extension Samples1143852 -Node: Extension Sample File Functions1145381 -Node: Extension Sample Fnmatch1153030 -Node: Extension Sample Fork1154517 -Node: Extension Sample Inplace1155735 -Node: Extension Sample Ord1159361 -Node: Extension Sample Readdir1160197 -Ref: table-readdir-file-types1161086 -Node: Extension Sample Revout1162153 -Node: Extension Sample Rev2way1162742 -Node: Extension Sample Read write array1163482 -Node: Extension Sample Readfile1165424 -Node: Extension Sample Time1166519 -Node: Extension Sample API Tests1168271 -Node: gawkextlib1168763 -Node: Extension summary1171681 -Node: Extension Exercises1175383 -Node: Language History1176625 -Node: V7/SVR3.11178281 -Node: SVR41180433 -Node: POSIX1181867 -Node: BTL1183248 -Node: POSIX/GNU1183977 -Node: Feature History1189755 -Node: Common Extensions1206074 -Node: Ranges and Locales1207357 -Ref: Ranges and Locales-Footnote-11211973 -Ref: Ranges and Locales-Footnote-21212000 -Ref: Ranges and Locales-Footnote-31212235 -Node: Contributors1212458 -Node: History summary1218455 -Node: Installation1219835 -Node: Gawk Distribution1220779 -Node: Getting1221263 -Node: Extracting1222226 -Node: Distribution contents1223864 -Node: Unix Installation1230344 -Node: Quick Installation1231026 -Node: Shell Startup Files1233440 -Node: Additional Configuration Options1234529 -Node: Configuration Philosophy1236844 -Node: Non-Unix Installation1239213 -Node: PC Installation1239673 -Node: PC Binary Installation1240511 -Node: PC Compiling1240946 -Node: PC Using1242063 -Node: Cygwin1245616 -Node: MSYS1246840 -Node: VMS Installation1247442 -Node: VMS Compilation1248233 -Ref: VMS Compilation-Footnote-11249462 -Node: VMS Dynamic Extensions1249520 -Node: VMS Installation Details1251205 -Node: VMS Running1253458 -Node: VMS GNV1257737 -Node: VMS Old Gawk1258472 -Node: Bugs1258943 -Node: Bug address1259606 -Node: Usenet1262588 -Node: Maintainers1263592 -Node: Other Versions1264777 -Node: Installation summary1272642 -Node: Notes1273851 -Node: Compatibility Mode1274645 -Node: Additions1275427 -Node: Accessing The Source1276352 -Node: Adding Code1277789 -Node: New Ports1284008 -Node: Derived Files1288383 -Ref: Derived Files-Footnote-11294043 -Ref: Derived Files-Footnote-21294078 -Ref: Derived Files-Footnote-31294676 -Node: Future Extensions1294790 -Node: Implementation Limitations1295448 -Node: Extension Design1296658 -Node: Old Extension Problems1297802 -Ref: Old Extension Problems-Footnote-11299320 -Node: Extension New Mechanism Goals1299377 -Ref: Extension New Mechanism Goals-Footnote-11302741 -Node: Extension Other Design Decisions1302930 -Node: Extension Future Growth1305043 -Node: Notes summary1305649 -Node: Basic Concepts1306807 -Node: Basic High Level1307488 -Ref: figure-general-flow1307770 -Ref: figure-process-flow1308455 -Ref: Basic High Level-Footnote-11311756 -Node: Basic Data Typing1311941 -Node: Glossary1315269 -Node: Copying1347154 -Node: GNU Free Documentation License1384697 -Node: Index1409817 +Node: Id Program749292 +Node: Split Program759239 +Ref: Split Program-Footnote-1769129 +Node: Tee Program769302 +Node: Uniq Program772092 +Node: Wc Program779680 +Node: Bytes vs. Characters780077 +Node: Using extensions781625 +Node: wc program782379 +Node: Miscellaneous Programs787244 +Node: Dupword Program788457 +Node: Alarm Program790487 +Node: Translate Program795342 +Ref: Translate Program-Footnote-1799907 +Node: Labels Program800177 +Ref: Labels Program-Footnote-1803528 +Node: Word Sorting803612 +Node: History Sorting807684 +Node: Extract Program809909 +Node: Simple Sed817963 +Node: Igawk Program821037 +Ref: Igawk Program-Footnote-1835368 +Ref: Igawk Program-Footnote-2835570 +Ref: Igawk Program-Footnote-3835692 +Node: Anagram Program835807 +Node: Signature Program838869 +Node: Programs Summary840116 +Node: Programs Exercises841330 +Ref: Programs Exercises-Footnote-1845460 +Node: Advanced Features845546 +Node: Nondecimal Data847613 +Node: Array Sorting849204 +Node: Controlling Array Traversal849904 +Ref: Controlling Array Traversal-Footnote-1858272 +Node: Array Sorting Functions858390 +Ref: Array Sorting Functions-Footnote-1863481 +Node: Two-way I/O863677 +Ref: Two-way I/O-Footnote-1871398 +Ref: Two-way I/O-Footnote-2871585 +Node: TCP/IP Networking871667 +Node: Profiling874785 +Node: Extension Philosophy884094 +Node: Advanced Features Summary885573 +Node: Internationalization887588 +Node: I18N and L10N889068 +Node: Explaining gettext889755 +Ref: Explaining gettext-Footnote-1895647 +Ref: Explaining gettext-Footnote-2895832 +Node: Programmer i18n895997 +Ref: Programmer i18n-Footnote-1900946 +Node: Translator i18n900995 +Node: String Extraction901789 +Ref: String Extraction-Footnote-1902921 +Node: Printf Ordering903007 +Ref: Printf Ordering-Footnote-1905793 +Node: I18N Portability905857 +Ref: I18N Portability-Footnote-1908313 +Node: I18N Example908376 +Ref: I18N Example-Footnote-1911651 +Ref: I18N Example-Footnote-2911724 +Node: Gawk I18N911833 +Node: I18N Summary912482 +Node: Debugger913823 +Node: Debugging914823 +Node: Debugging Concepts915264 +Node: Debugging Terms917073 +Node: Awk Debugging919648 +Ref: Awk Debugging-Footnote-1920593 +Node: Sample Debugging Session920725 +Node: Debugger Invocation921259 +Node: Finding The Bug922645 +Node: List of Debugger Commands929119 +Node: Breakpoint Control930452 +Node: Debugger Execution Control934146 +Node: Viewing And Changing Data937508 +Node: Execution Stack941049 +Node: Debugger Info942686 +Node: Miscellaneous Debugger Commands946757 +Node: Readline Support951819 +Node: Limitations952715 +Node: Debugging Summary955269 +Node: Namespaces956548 +Node: Global Namespace957659 +Node: Qualified Names959057 +Node: Default Namespace960056 +Node: Changing The Namespace960797 +Node: Naming Rules962411 +Node: Internal Name Management964259 +Node: Namespace Example965301 +Node: Namespace And Features967863 +Node: Namespace Summary969298 +Node: Arbitrary Precision Arithmetic970775 +Node: Computer Arithmetic972262 +Ref: table-numeric-ranges976028 +Ref: table-floating-point-ranges976521 +Ref: Computer Arithmetic-Footnote-1977179 +Node: Math Definitions977236 +Ref: table-ieee-formats980552 +Ref: Math Definitions-Footnote-1981155 +Node: MPFR features981260 +Node: FP Math Caution982978 +Ref: FP Math Caution-Footnote-1984050 +Node: Inexactness of computations984419 +Node: Inexact representation985379 +Node: Comparing FP Values986739 +Node: Errors accumulate987980 +Node: Getting Accuracy989413 +Node: Try To Round992123 +Node: Setting precision993022 +Ref: table-predefined-precision-strings993719 +Node: Setting the rounding mode995549 +Ref: table-gawk-rounding-modes995923 +Ref: Setting the rounding mode-Footnote-1999854 +Node: Arbitrary Precision Integers1000033 +Ref: Arbitrary Precision Integers-Footnote-11003208 +Node: Checking for MPFR1003357 +Node: POSIX Floating Point Problems1004831 +Ref: POSIX Floating Point Problems-Footnote-11009116 +Node: Floating point summary1009154 +Node: Dynamic Extensions1011344 +Node: Extension Intro1012897 +Node: Plugin License1014163 +Node: Extension Mechanism Outline1014960 +Ref: figure-load-extension1015399 +Ref: figure-register-new-function1016964 +Ref: figure-call-new-function1018056 +Node: Extension API Description1020118 +Node: Extension API Functions Introduction1021831 +Ref: table-api-std-headers1023667 +Node: General Data Types1027916 +Ref: General Data Types-Footnote-11036546 +Node: Memory Allocation Functions1036845 +Ref: Memory Allocation Functions-Footnote-11041346 +Node: Constructor Functions1041445 +Node: API Ownership of MPFR and GMP Values1044911 +Node: Registration Functions1046224 +Node: Extension Functions1046924 +Node: Exit Callback Functions1052246 +Node: Extension Version String1053496 +Node: Input Parsers1054159 +Node: Output Wrappers1066880 +Node: Two-way processors1071392 +Node: Printing Messages1073657 +Ref: Printing Messages-Footnote-11074828 +Node: Updating ERRNO1074981 +Node: Requesting Values1075720 +Ref: table-value-types-returned1076457 +Node: Accessing Parameters1077393 +Node: Symbol Table Access1078630 +Node: Symbol table by name1079142 +Ref: Symbol table by name-Footnote-11082166 +Node: Symbol table by cookie1082294 +Ref: Symbol table by cookie-Footnote-11086479 +Node: Cached values1086543 +Ref: Cached values-Footnote-11090079 +Node: Array Manipulation1090232 +Ref: Array Manipulation-Footnote-11091323 +Node: Array Data Types1091360 +Ref: Array Data Types-Footnote-11094018 +Node: Array Functions1094110 +Node: Flattening Arrays1098608 +Node: Creating Arrays1105584 +Node: Redirection API1110351 +Node: Extension API Variables1113184 +Node: Extension Versioning1113895 +Ref: gawk-api-version1114324 +Node: Extension GMP/MPFR Versioning1116055 +Node: Extension API Informational Variables1117683 +Node: Extension API Boilerplate1118756 +Node: Changes from API V11122730 +Node: Finding Extensions1124302 +Node: Extension Example1124861 +Node: Internal File Description1125659 +Node: Internal File Ops1129739 +Ref: Internal File Ops-Footnote-11141089 +Node: Using Internal File Ops1141229 +Ref: Using Internal File Ops-Footnote-11143612 +Node: Extension Samples1143886 +Node: Extension Sample File Functions1145415 +Node: Extension Sample Fnmatch1153064 +Node: Extension Sample Fork1154551 +Node: Extension Sample Inplace1155769 +Node: Extension Sample Ord1159395 +Node: Extension Sample Readdir1160231 +Ref: table-readdir-file-types1161120 +Node: Extension Sample Revout1162187 +Node: Extension Sample Rev2way1162776 +Node: Extension Sample Read write array1163516 +Node: Extension Sample Readfile1165458 +Node: Extension Sample Time1166553 +Node: Extension Sample API Tests1168305 +Node: gawkextlib1168797 +Node: Extension summary1171715 +Node: Extension Exercises1175417 +Node: Language History1176659 +Node: V7/SVR3.11178315 +Node: SVR41180467 +Node: POSIX1181901 +Node: BTL1183282 +Node: POSIX/GNU1184011 +Node: Feature History1189789 +Node: Common Extensions1206108 +Node: Ranges and Locales1207391 +Ref: Ranges and Locales-Footnote-11212007 +Ref: Ranges and Locales-Footnote-21212034 +Ref: Ranges and Locales-Footnote-31212269 +Node: Contributors1212492 +Node: History summary1218489 +Node: Installation1219869 +Node: Gawk Distribution1220813 +Node: Getting1221297 +Node: Extracting1222260 +Node: Distribution contents1223898 +Node: Unix Installation1230378 +Node: Quick Installation1231060 +Node: Shell Startup Files1233474 +Node: Additional Configuration Options1234563 +Node: Configuration Philosophy1236878 +Node: Non-Unix Installation1239247 +Node: PC Installation1239707 +Node: PC Binary Installation1240545 +Node: PC Compiling1240980 +Node: PC Using1242097 +Node: Cygwin1245650 +Node: MSYS1246874 +Node: VMS Installation1247476 +Node: VMS Compilation1248267 +Ref: VMS Compilation-Footnote-11249496 +Node: VMS Dynamic Extensions1249554 +Node: VMS Installation Details1251239 +Node: VMS Running1253492 +Node: VMS GNV1257771 +Node: VMS Old Gawk1258506 +Node: Bugs1258977 +Node: Bug address1259640 +Node: Usenet1262622 +Node: Maintainers1263626 +Node: Other Versions1264811 +Node: Installation summary1272676 +Node: Notes1273885 +Node: Compatibility Mode1274679 +Node: Additions1275461 +Node: Accessing The Source1276386 +Node: Adding Code1277823 +Node: New Ports1284042 +Node: Derived Files1288417 +Ref: Derived Files-Footnote-11294077 +Ref: Derived Files-Footnote-21294112 +Ref: Derived Files-Footnote-31294710 +Node: Future Extensions1294824 +Node: Implementation Limitations1295482 +Node: Extension Design1296692 +Node: Old Extension Problems1297836 +Ref: Old Extension Problems-Footnote-11299354 +Node: Extension New Mechanism Goals1299411 +Ref: Extension New Mechanism Goals-Footnote-11302775 +Node: Extension Other Design Decisions1302964 +Node: Extension Future Growth1305077 +Node: Notes summary1305683 +Node: Basic Concepts1306841 +Node: Basic High Level1307522 +Ref: figure-general-flow1307804 +Ref: figure-process-flow1308489 +Ref: Basic High Level-Footnote-11311790 +Node: Basic Data Typing1311975 +Node: Glossary1315303 +Node: Copying1347188 +Node: GNU Free Documentation License1384731 +Node: Index1409851 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 7f18649a..f3d3b390 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -12738,17 +12738,17 @@ For maximum portability, do not use the @samp{**=} operator. @end docbook @cindex dark corner @subentry regexp constants @subentry @code{/=} operator and -@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs. @code{/=@dots{}/} regexp constant -@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs. @code{/=@dots{}/} regexp constant +@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs.@: @code{/=@dots{}/} regexp constant +@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs.@: @code{/=@dots{}/} regexp constant @cindex regexp constants @subentry @code{/=@dots{}/} @subentry @code{/=} operator and @c derived from email from "Nelson H. F. Beebe" <beebe@math.utah.edu> @c Date: Mon, 1 Sep 1997 13:38:35 -0600 (MDT) -@cindex dark corner @subentry @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex ambiguity, syntactic: @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex syntactic ambiguity: @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex @code{/=} operator vs. @code{/=@dots{}/} regexp constant +@cindex dark corner @subentry @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex ambiguity, syntactic: @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex syntactic ambiguity: @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant There is a syntactic ambiguity between the @code{/=} assignment operator and regexp constants whose first character is an @samp{=}. @value{DARKCORNER} @@ -12784,17 +12784,17 @@ and @command{mawk} also do not. @cindex dark corner @subentry regexp constants @subentry @code{/=} operator and -@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs. @code{/=@dots{}/} regexp constant -@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs. @code{/=@dots{}/} regexp constant +@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs.@: @code{/=@dots{}/} regexp constant +@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs.@: @code{/=@dots{}/} regexp constant @cindex regexp constants @subentry @code{/=@dots{}/} @subentry @code{/=} operator and @c derived from email from "Nelson H. F. Beebe" <beebe@math.utah.edu> @c Date: Mon, 1 Sep 1997 13:38:35 -0600 (MDT) -@cindex dark corner @subentry @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex ambiguity, syntactic: @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex syntactic ambiguity: @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex @code{/=} operator vs. @code{/=@dots{}/} regexp constant +@cindex dark corner @subentry @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex ambiguity, syntactic: @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex syntactic ambiguity: @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant There is a syntactic ambiguity between the @code{/=} assignment operator and regexp constants whose first character is an @samp{=}. @value{DARKCORNER} @@ -25596,7 +25596,7 @@ with @command{gawk}'s, a @option{--} is needed to tell @command{gawk} to stop looking for options. Next comes the code that handles the @command{egrep}-specific behavior. -@command{egrep} uses the first nonoption on the command line is used. +@command{egrep} uses the first nonoption on the command line if no pattern is supplied with @option{-e}. If the pattern is empty, that means no pattern was supplied, so it's necessary to print an error message and exit. @@ -30563,7 +30563,7 @@ constants; if you used an octal or hexadecimal value in your source code, it will appear that way in the output. @node Extension Philosophy -@section Builtin Features vs.@: Extensions +@section Builtin Features versus Extensions As this and subsequent @value{CHAPTER}s show, @command{gawk} has a large number of extensions over standard @command{awk} built-in to @@ -30571,7 +30571,7 @@ the program. These have developed over time. More recently, the focus has moved to using the extension mechanism (@pxref{Dynamic Extensions}) for adding features. This @value{SECTION} discusses the ``guiding philosophy'' behind what should be added to the interpreter as a built-in -feature vs.@: what should be done in extensions. +feature versus what should be done in extensions. There are several goals: @@ -30596,12 +30596,11 @@ Extend the core interpreter only if some feature is: @item Truly desirable. @item -Cannot be done via (2) or (3) above. +Cannot be done via library files or loadable extensions. @item Can be implemented without too much pain in the core. @end enumerate @end enumerate - Combining modules with @command{awk} files is a powerful technique. Some of the sample extensions demonstrate this. @@ -30651,8 +30650,8 @@ you tune them more easily. Sending the @code{USR1} signal while profiling cause You can also just ``pretty-print'' the program. @item -New features should be developed using the extension mechansim if possible, and added -to the core interpreter only as a last resort. +New features should be developed using the extension mechansim if possible; +they should be added to the core interpreter only as a last resort. @end itemize diff --git a/doc/gawktexi.in b/doc/gawktexi.in index f376a4dc..ab2c1b4e 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -12084,17 +12084,17 @@ For maximum portability, do not use the @samp{**=} operator. @sidebar Syntactic Ambiguities Between @samp{/=} and Regular Expressions @cindex dark corner @subentry regexp constants @subentry @code{/=} operator and -@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs. @code{/=@dots{}/} regexp constant -@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs. @code{/=@dots{}/} regexp constant +@cindex @code{/} (forward slash) @subentry @code{/=} operator @subentry vs.@: @code{/=@dots{}/} regexp constant +@cindex forward slash (@code{/}) @subentry @code{/=} operator @subentry vs.@: @code{/=@dots{}/} regexp constant @cindex regexp constants @subentry @code{/=@dots{}/} @subentry @code{/=} operator and @c derived from email from "Nelson H. F. Beebe" <beebe@math.utah.edu> @c Date: Mon, 1 Sep 1997 13:38:35 -0600 (MDT) -@cindex dark corner @subentry @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex ambiguity, syntactic: @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex syntactic ambiguity: @code{/=} operator vs. @code{/=@dots{}/} regexp constant -@cindex @code{/=} operator vs. @code{/=@dots{}/} regexp constant +@cindex dark corner @subentry @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex ambiguity, syntactic: @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex syntactic ambiguity: @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant +@cindex @code{/=} operator vs.@: @code{/=@dots{}/} regexp constant There is a syntactic ambiguity between the @code{/=} assignment operator and regexp constants whose first character is an @samp{=}. @value{DARKCORNER} @@ -24532,7 +24532,7 @@ with @command{gawk}'s, a @option{--} is needed to tell @command{gawk} to stop looking for options. Next comes the code that handles the @command{egrep}-specific behavior. -@command{egrep} uses the first nonoption on the command line is used. +@command{egrep} uses the first nonoption on the command line if no pattern is supplied with @option{-e}. If the pattern is empty, that means no pattern was supplied, so it's necessary to print an error message and exit. @@ -29499,7 +29499,7 @@ constants; if you used an octal or hexadecimal value in your source code, it will appear that way in the output. @node Extension Philosophy -@section Builtin Features vs.@: Extensions +@section Builtin Features versus Extensions As this and subsequent @value{CHAPTER}s show, @command{gawk} has a large number of extensions over standard @command{awk} built-in to @@ -29507,7 +29507,7 @@ the program. These have developed over time. More recently, the focus has moved to using the extension mechanism (@pxref{Dynamic Extensions}) for adding features. This @value{SECTION} discusses the ``guiding philosophy'' behind what should be added to the interpreter as a built-in -feature vs.@: what should be done in extensions. +feature versus what should be done in extensions. There are several goals: @@ -29532,12 +29532,11 @@ Extend the core interpreter only if some feature is: @item Truly desirable. @item -Cannot be done via (2) or (3) above. +Cannot be done via library files or loadable extensions. @item Can be implemented without too much pain in the core. @end enumerate @end enumerate - Combining modules with @command{awk} files is a powerful technique. Some of the sample extensions demonstrate this. @@ -29587,8 +29586,8 @@ you tune them more easily. Sending the @code{USR1} signal while profiling cause You can also just ``pretty-print'' the program. @item -New features should be developed using the extension mechansim if possible, and added -to the core interpreter only as a last resort. +New features should be developed using the extension mechansim if possible; +they should be added to the core interpreter only as a last resort. @end itemize |