diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2014-05-13 22:18:32 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2014-05-13 22:18:32 +0300 |
commit | 0fb3bc1f907fc707d3ffc662adf51021560a0ddc (patch) | |
tree | bda07b35b9ca20d3cb2f42c1764da8486b7438fc | |
parent | 49b06342a826719088367b8edd89e401c42b432a (diff) | |
parent | cd78eac2bc3b182ddca47b97f7f460c3358c7b09 (diff) | |
download | egawk-0fb3bc1f907fc707d3ffc662adf51021560a0ddc.tar.gz egawk-0fb3bc1f907fc707d3ffc662adf51021560a0ddc.tar.bz2 egawk-0fb3bc1f907fc707d3ffc662adf51021560a0ddc.zip |
Merge branch 'gawk-4.1-stable'
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 1091 | ||||
-rw-r--r-- | doc/gawk.texi | 172 | ||||
-rw-r--r-- | doc/gawktexi.in | 172 |
4 files changed, 812 insertions, 627 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index eecfbd04..b9909498 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2014-05-13 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Complete formatting for FOR_PRINT and not FOR_PRINT. + 2014-05-07 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: Docbook edits for preface and parts. diff --git a/doc/gawk.info b/doc/gawk.info index faaa1364..1824c649 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -806,9 +806,10 @@ different computing environments. This Info file, while describing the of `awk' called `gawk' (which stands for "GNU `awk'"). `gawk' runs on a broad range of Unix systems, ranging from Intel(R)-architecture PC-based computers up through large-scale systems. `gawk' has also -been ported to Mac OS X, Microsoft Windows (all versions), and OpenVMS. -(Some other, obsolete systems to which `gawk' was once ported are no -longer supported and the code for those systems has been removed.) +been ported to Mac OS X, Microsoft Windows (all versions) and OS/2 PCs, +and OpenVMS. (Some other, obsolete systems to which `gawk' was once +ported are no longer supported and the code for those systems has been +removed.) * Menu: @@ -1047,7 +1048,7 @@ material for those who are completely unfamiliar with computer programming. The *note Glossary::, defines most, if not all, the significant -terms used throughout the book. If you find terms that you aren't +terms used throughout the Info file. If you find terms that you aren't familiar with, try looking them up here. *note Copying::, and *note GNU Free Documentation License::, present @@ -1125,7 +1126,7 @@ editor. GNU Emacs is the most widely used version of Emacs today. Software Foundation to create a complete, freely distributable, POSIX-compliant computing environment. The FSF uses the "GNU General Public License" (GPL) to ensure that their software's source code is -always available to the end user. A copy of the GPL is included for +always available to the end user. A copy of the GPL is included for your reference (*note Copying::). The GPL applies to the C language source code for `gawk'. To find out more about the FSF and the GNU Project online, see the GNU Project's home page (http://www.gnu.org). @@ -26565,14 +26566,14 @@ B.3.1 Installation on PC Operating Systems This minor node covers installation and usage of `gawk' on x86 machines running MS-DOS, any version of MS-Windows, or OS/2. In this minor node, the term "Windows32" refers to any of Microsoft -Windows-95/98/ME/NT/2000/XP/Vista/7. +Windows-95/98/ME/NT/2000/XP/Vista/7/8. - The limitations of MS-DOS (and MS-DOS shells under Windows32 or -OS/2) has meant that various "DOS extenders" are often used with -programs such as `gawk'. The varying capabilities of Microsoft Windows -3.1 and Windows32 can add to the confusion. For an overview of the -considerations, please refer to `README_d/README.pc' in the -distribution. + The limitations of MS-DOS (and MS-DOS shells under the other +operating systems) has meant that various "DOS extenders" are often +used with programs such as `gawk'. The varying capabilities of +Microsoft Windows 3.1 and Windows32 can add to the confusion. For an +overview of the considerations, please refer to `README_d/README.pc' in +the distribution. * Menu: @@ -26631,13 +26632,13 @@ B.3.1.2 Compiling `gawk' for PC Operating Systems ................................................. `gawk' can be compiled for MS-DOS, Windows32, and OS/2 using the GNU -development tools from DJ Delorie (DJGPP: MS-DOS only) or Eberhard -Mattes (EMX: MS-DOS, Windows32 and OS/2). The file -`README_d/README.pc' in the `gawk' distribution contains additional -notes, and `pc/Makefile' contains important information on compilation -options. +development tools from DJ Delorie (DJGPP: MS-DOS only), MinGW +(Windows32) or Eberhard Mattes (EMX: MS-DOS, Windows32 and OS/2). The +file `README_d/README.pc' in the `gawk' distribution contains +additional notes, and `pc/Makefile' contains important information on +compilation options. - To build `gawk' for MS-DOS and Windows32, copy the files in the `pc' +To build `gawk' for MS-DOS and Windows32, copy the files in the `pc' directory (_except_ for `ChangeLog') to the directory with the rest of the `gawk' sources, then invoke `make' with the appropriate target name as an argument to build `gawk'. The `Makefile' copied from the `pc' @@ -31705,7 +31706,7 @@ Index * gawk, MS-Windows version of: PC Using. (line 10) * gawk, newlines in: Statements/Lines. (line 12) * gawk, octal numbers and: Nondecimal-numbers. (line 42) -* gawk, OS/2 version of: PC Using. (line 10) +* gawk, OS/2 version of: PC Using. (line 16) * gawk, PROCINFO array in <1>: Two-way I/O. (line 116) * gawk, PROCINFO array in <2>: Time Functions. (line 47) * gawk, PROCINFO array in: Auto-set. (line 136) @@ -33213,531 +33214,531 @@ Tag Table: Node: Top1292 Node: Foreword40832 Node: Preface45177 -Ref: Preface-Footnote-148310 -Ref: Preface-Footnote-248417 -Node: History48649 -Node: Names51023 -Ref: Names-Footnote-152487 -Node: This Manual52560 -Ref: This Manual-Footnote-158334 -Node: Conventions58434 -Node: Manual History60590 -Ref: Manual History-Footnote-164020 -Ref: Manual History-Footnote-264061 -Node: How To Contribute64135 -Node: Acknowledgments65374 -Node: Getting Started69568 -Node: Running gawk71947 -Node: One-shot73137 -Node: Read Terminal74362 -Ref: Read Terminal-Footnote-176012 -Ref: Read Terminal-Footnote-276288 -Node: Long76459 -Node: Executable Scripts77835 -Ref: Executable Scripts-Footnote-179668 -Ref: Executable Scripts-Footnote-279770 -Node: Comments80317 -Node: Quoting82784 -Node: DOS Quoting88100 -Node: Sample Data Files88775 -Node: Very Simple91290 -Node: Two Rules95940 -Node: More Complex97835 -Ref: More Complex-Footnote-1100767 -Node: Statements/Lines100852 -Ref: Statements/Lines-Footnote-1105307 -Node: Other Features105572 -Node: When106500 -Node: Invoking Gawk108648 -Node: Command Line110111 -Node: Options110894 -Ref: Options-Footnote-1126706 -Node: Other Arguments126731 -Node: Naming Standard Input129393 -Node: Environment Variables130487 -Node: AWKPATH Variable131045 -Ref: AWKPATH Variable-Footnote-1133823 -Ref: AWKPATH Variable-Footnote-2133868 -Node: AWKLIBPATH Variable134128 -Node: Other Environment Variables134887 -Node: Exit Status138542 -Node: Include Files139217 -Node: Loading Shared Libraries142795 -Node: Obsolete144178 -Node: Undocumented144875 -Node: Regexp145117 -Node: Regexp Usage146506 -Node: Escape Sequences148539 -Node: Regexp Operators154206 -Ref: Regexp Operators-Footnote-1161686 -Ref: Regexp Operators-Footnote-2161833 -Node: Bracket Expressions161931 -Ref: table-char-classes163821 -Node: GNU Regexp Operators166344 -Node: Case-sensitivity170067 -Ref: Case-sensitivity-Footnote-1172959 -Ref: Case-sensitivity-Footnote-2173194 -Node: Leftmost Longest173302 -Node: Computed Regexps174503 -Node: Reading Files177852 -Node: Records179854 -Node: awk split records180589 -Node: gawk split records185447 -Ref: gawk split records-Footnote-1189968 -Node: Fields190005 -Ref: Fields-Footnote-1192969 -Node: Nonconstant Fields193055 -Ref: Nonconstant Fields-Footnote-1195285 -Node: Changing Fields195487 -Node: Field Separators201441 -Node: Default Field Splitting204143 -Node: Regexp Field Splitting205260 -Node: Single Character Fields208601 -Node: Command Line Field Separator209660 -Node: Full Line Fields213002 -Ref: Full Line Fields-Footnote-1213510 -Node: Field Splitting Summary213556 -Ref: Field Splitting Summary-Footnote-1216655 -Node: Constant Size216756 -Node: Splitting By Content221363 -Ref: Splitting By Content-Footnote-1225113 -Node: Multiple Line225153 -Ref: Multiple Line-Footnote-1231009 -Node: Getline231188 -Node: Plain Getline233404 -Node: Getline/Variable235499 -Node: Getline/File236646 -Node: Getline/Variable/File238030 -Ref: Getline/Variable/File-Footnote-1239629 -Node: Getline/Pipe239716 -Node: Getline/Variable/Pipe242415 -Node: Getline/Coprocess243522 -Node: Getline/Variable/Coprocess244774 -Node: Getline Notes245511 -Node: Getline Summary248315 -Ref: table-getline-variants248723 -Node: Read Timeout249635 -Ref: Read Timeout-Footnote-1253462 -Node: Command line directories253520 -Node: Printing254402 -Node: Print256033 -Node: Print Examples257374 -Node: Output Separators260153 -Node: OFMT262169 -Node: Printf263527 -Node: Basic Printf264433 -Node: Control Letters265972 -Node: Format Modifiers269826 -Node: Printf Examples275853 -Node: Redirection278560 -Node: Special Files285532 -Node: Special FD286065 -Ref: Special FD-Footnote-1289689 -Node: Special Network289763 -Node: Special Caveats290613 -Node: Close Files And Pipes291409 -Ref: Close Files And Pipes-Footnote-1298547 -Ref: Close Files And Pipes-Footnote-2298695 -Node: Expressions298845 -Node: Values299977 -Node: Constants300653 -Node: Scalar Constants301333 -Ref: Scalar Constants-Footnote-1302192 -Node: Nondecimal-numbers302442 -Node: Regexp Constants305442 -Node: Using Constant Regexps305917 -Node: Variables308987 -Node: Using Variables309642 -Node: Assignment Options311366 -Node: Conversion313241 -Ref: table-locale-affects318677 -Ref: Conversion-Footnote-1319301 -Node: All Operators319410 -Node: Arithmetic Ops320040 -Node: Concatenation322545 -Ref: Concatenation-Footnote-1325341 -Node: Assignment Ops325461 -Ref: table-assign-ops330444 -Node: Increment Ops331761 -Node: Truth Values and Conditions335199 -Node: Truth Values336282 -Node: Typing and Comparison337331 -Node: Variable Typing338124 -Ref: Variable Typing-Footnote-1342024 -Node: Comparison Operators342146 -Ref: table-relational-ops342556 -Node: POSIX String Comparison346104 -Ref: POSIX String Comparison-Footnote-1347188 -Node: Boolean Ops347326 -Ref: Boolean Ops-Footnote-1351396 -Node: Conditional Exp351487 -Node: Function Calls353214 -Node: Precedence356972 -Node: Locales360641 -Node: Patterns and Actions362244 -Node: Pattern Overview363298 -Node: Regexp Patterns364975 -Node: Expression Patterns365518 -Node: Ranges369299 -Node: BEGIN/END372405 -Node: Using BEGIN/END373167 -Ref: Using BEGIN/END-Footnote-1375903 -Node: I/O And BEGIN/END376009 -Node: BEGINFILE/ENDFILE378294 -Node: Empty381230 -Node: Using Shell Variables381547 -Node: Action Overview383830 -Node: Statements386175 -Node: If Statement388029 -Node: While Statement389528 -Node: Do Statement391572 -Node: For Statement392728 -Node: Switch Statement395880 -Node: Break Statement397983 -Node: Continue Statement400038 -Node: Next Statement401831 -Node: Nextfile Statement404221 -Node: Exit Statement406876 -Node: Built-in Variables409278 -Node: User-modified410374 -Ref: User-modified-Footnote-1418059 -Node: Auto-set418121 -Ref: Auto-set-Footnote-1431023 -Ref: Auto-set-Footnote-2431228 -Node: ARGC and ARGV431284 -Node: Arrays435138 -Node: Array Basics436636 -Node: Array Intro437462 -Ref: figure-array-elements439435 -Node: Reference to Elements441842 -Node: Assigning Elements444115 -Node: Array Example444606 -Node: Scanning an Array446338 -Node: Controlling Scanning449353 -Ref: Controlling Scanning-Footnote-1454526 -Node: Delete454842 -Ref: Delete-Footnote-1457607 -Node: Numeric Array Subscripts457664 -Node: Uninitialized Subscripts459847 -Node: Multidimensional461472 -Node: Multiscanning464565 -Node: Arrays of Arrays466154 -Node: Functions470794 -Node: Built-in471613 -Node: Calling Built-in472691 -Node: Numeric Functions474679 -Ref: Numeric Functions-Footnote-1478513 -Ref: Numeric Functions-Footnote-2478870 -Ref: Numeric Functions-Footnote-3478918 -Node: String Functions479187 -Ref: String Functions-Footnote-1502198 -Ref: String Functions-Footnote-2502327 -Ref: String Functions-Footnote-3502575 -Node: Gory Details502662 -Ref: table-sub-escapes504331 -Ref: table-sub-posix-92505685 -Ref: table-sub-proposed507036 -Ref: table-posix-sub508390 -Ref: table-gensub-escapes509935 -Ref: Gory Details-Footnote-1511111 -Ref: Gory Details-Footnote-2511162 -Node: I/O Functions511313 -Ref: I/O Functions-Footnote-1518436 -Node: Time Functions518583 -Ref: Time Functions-Footnote-1529047 -Ref: Time Functions-Footnote-2529115 -Ref: Time Functions-Footnote-3529273 -Ref: Time Functions-Footnote-4529384 -Ref: Time Functions-Footnote-5529496 -Ref: Time Functions-Footnote-6529723 -Node: Bitwise Functions529989 -Ref: table-bitwise-ops530551 -Ref: Bitwise Functions-Footnote-1534796 -Node: Type Functions534980 -Node: I18N Functions536122 -Node: User-defined537767 -Node: Definition Syntax538571 -Ref: Definition Syntax-Footnote-1543486 -Node: Function Example543555 -Ref: Function Example-Footnote-1546199 -Node: Function Caveats546221 -Node: Calling A Function546739 -Node: Variable Scope547694 -Node: Pass By Value/Reference550682 -Node: Return Statement554190 -Node: Dynamic Typing557172 -Node: Indirect Calls558101 -Node: Library Functions567788 -Ref: Library Functions-Footnote-1571301 -Ref: Library Functions-Footnote-2571444 -Node: Library Names571615 -Ref: Library Names-Footnote-1575088 -Ref: Library Names-Footnote-2575308 -Node: General Functions575394 -Node: Strtonum Function576422 -Node: Assert Function579352 -Node: Round Function582678 -Node: Cliff Random Function584219 -Node: Ordinal Functions585235 -Ref: Ordinal Functions-Footnote-1588312 -Ref: Ordinal Functions-Footnote-2588564 -Node: Join Function588775 -Ref: Join Function-Footnote-1590546 -Node: Getlocaltime Function590746 -Node: Readfile Function594487 -Node: Data File Management596326 -Node: Filetrans Function596958 -Node: Rewind Function601027 -Node: File Checking602414 -Node: Empty Files603508 -Node: Ignoring Assigns605738 -Node: Getopt Function607292 -Ref: Getopt Function-Footnote-1618595 -Node: Passwd Functions618798 -Ref: Passwd Functions-Footnote-1627776 -Node: Group Functions627864 -Node: Walking Arrays635948 -Node: Sample Programs638084 -Node: Running Examples638758 -Node: Clones639486 -Node: Cut Program640710 -Node: Egrep Program650561 -Ref: Egrep Program-Footnote-1658334 -Node: Id Program658444 -Node: Split Program662093 -Ref: Split Program-Footnote-1665612 -Node: Tee Program665740 -Node: Uniq Program668543 -Node: Wc Program675972 -Ref: Wc Program-Footnote-1680238 -Ref: Wc Program-Footnote-2680438 -Node: Miscellaneous Programs680530 -Node: Dupword Program681718 -Node: Alarm Program683749 -Node: Translate Program688556 -Ref: Translate Program-Footnote-1692943 -Ref: Translate Program-Footnote-2693191 -Node: Labels Program693325 -Ref: Labels Program-Footnote-1696696 -Node: Word Sorting696780 -Node: History Sorting700664 -Node: Extract Program702503 -Ref: Extract Program-Footnote-1710006 -Node: Simple Sed710134 -Node: Igawk Program713196 -Ref: Igawk Program-Footnote-1728367 -Ref: Igawk Program-Footnote-2728568 -Node: Anagram Program728706 -Node: Signature Program731774 -Node: Advanced Features732874 -Node: Nondecimal Data734760 -Node: Array Sorting736343 -Node: Controlling Array Traversal737040 -Node: Array Sorting Functions745324 -Ref: Array Sorting Functions-Footnote-1749193 -Node: Two-way I/O749387 -Ref: Two-way I/O-Footnote-1754819 -Node: TCP/IP Networking754901 -Node: Profiling757745 -Node: Internationalization765248 -Node: I18N and L10N766673 -Node: Explaining gettext767359 -Ref: Explaining gettext-Footnote-1772427 -Ref: Explaining gettext-Footnote-2772611 -Node: Programmer i18n772776 -Node: Translator i18n777003 -Node: String Extraction777797 -Ref: String Extraction-Footnote-1778758 -Node: Printf Ordering778844 -Ref: Printf Ordering-Footnote-1781626 -Node: I18N Portability781690 -Ref: I18N Portability-Footnote-1784139 -Node: I18N Example784202 -Ref: I18N Example-Footnote-1786840 -Node: Gawk I18N786912 -Node: Debugger787533 -Node: Debugging788504 -Node: Debugging Concepts788937 -Node: Debugging Terms790793 -Node: Awk Debugging793390 -Node: Sample Debugging Session794282 -Node: Debugger Invocation794802 -Node: Finding The Bug796135 -Node: List of Debugger Commands802622 -Node: Breakpoint Control803956 -Node: Debugger Execution Control807620 -Node: Viewing And Changing Data810980 -Node: Execution Stack814336 -Node: Debugger Info815803 -Node: Miscellaneous Debugger Commands819797 -Node: Readline Support824975 -Node: Limitations825806 -Node: Arbitrary Precision Arithmetic828058 -Ref: Arbitrary Precision Arithmetic-Footnote-1829707 -Node: General Arithmetic829855 -Node: Floating Point Issues831575 -Node: String Conversion Precision832456 -Ref: String Conversion Precision-Footnote-1834161 -Node: Unexpected Results834270 -Node: POSIX Floating Point Problems836423 -Ref: POSIX Floating Point Problems-Footnote-1840248 -Node: Integer Programming840286 -Node: Floating-point Programming842025 -Ref: Floating-point Programming-Footnote-1848356 -Ref: Floating-point Programming-Footnote-2848626 -Node: Floating-point Representation848890 -Node: Floating-point Context850055 -Ref: table-ieee-formats850894 -Node: Rounding Mode852278 -Ref: table-rounding-modes852757 -Ref: Rounding Mode-Footnote-1855772 -Node: Gawk and MPFR855951 -Node: Arbitrary Precision Floats857360 -Ref: Arbitrary Precision Floats-Footnote-1859803 -Node: Setting Precision860119 -Ref: table-predefined-precision-strings860805 -Node: Setting Rounding Mode862950 -Ref: table-gawk-rounding-modes863354 -Node: Floating-point Constants864541 -Node: Changing Precision865970 -Ref: Changing Precision-Footnote-1867367 -Node: Exact Arithmetic867541 -Node: Arbitrary Precision Integers870679 -Ref: Arbitrary Precision Integers-Footnote-1873694 -Node: Dynamic Extensions873841 -Node: Extension Intro875299 -Node: Plugin License876564 -Node: Extension Mechanism Outline877249 -Ref: load-extension877666 -Ref: load-new-function879144 -Ref: call-new-function880139 -Node: Extension API Description882154 -Node: Extension API Functions Introduction883441 -Node: General Data Types888368 -Ref: General Data Types-Footnote-1894063 -Node: Requesting Values894362 -Ref: table-value-types-returned895099 -Node: Memory Allocation Functions896053 -Ref: Memory Allocation Functions-Footnote-1898799 -Node: Constructor Functions898895 -Node: Registration Functions900653 -Node: Extension Functions901338 -Node: Exit Callback Functions903640 -Node: Extension Version String904889 -Node: Input Parsers905539 -Node: Output Wrappers915296 -Node: Two-way processors919806 -Node: Printing Messages922014 -Ref: Printing Messages-Footnote-1923091 -Node: Updating `ERRNO'923243 -Node: Accessing Parameters923982 -Node: Symbol Table Access925212 -Node: Symbol table by name925726 -Node: Symbol table by cookie927702 -Ref: Symbol table by cookie-Footnote-1931834 -Node: Cached values931897 -Ref: Cached values-Footnote-1935387 -Node: Array Manipulation935478 -Ref: Array Manipulation-Footnote-1936576 -Node: Array Data Types936615 -Ref: Array Data Types-Footnote-1939318 -Node: Array Functions939410 -Node: Flattening Arrays943246 -Node: Creating Arrays950098 -Node: Extension API Variables954823 -Node: Extension Versioning955459 -Node: Extension API Informational Variables957360 -Node: Extension API Boilerplate958446 -Node: Finding Extensions962250 -Node: Extension Example962810 -Node: Internal File Description963540 -Node: Internal File Ops967631 -Ref: Internal File Ops-Footnote-1979140 -Node: Using Internal File Ops979280 -Ref: Using Internal File Ops-Footnote-1981627 -Node: Extension Samples981893 -Node: Extension Sample File Functions983417 -Node: Extension Sample Fnmatch991904 -Node: Extension Sample Fork993673 -Node: Extension Sample Inplace994886 -Node: Extension Sample Ord996664 -Node: Extension Sample Readdir997500 -Node: Extension Sample Revout999032 -Node: Extension Sample Rev2way999625 -Node: Extension Sample Read write array1000315 -Node: Extension Sample Readfile1002198 -Node: Extension Sample API Tests1003298 -Node: Extension Sample Time1003823 -Node: gawkextlib1005187 -Node: Language History1007968 -Node: V7/SVR3.11009561 -Node: SVR41011881 -Node: POSIX1013323 -Node: BTL1014709 -Node: POSIX/GNU1015443 -Node: Feature History1021042 -Node: Common Extensions1034018 -Node: Ranges and Locales1035330 -Ref: Ranges and Locales-Footnote-11039947 -Ref: Ranges and Locales-Footnote-21039974 -Ref: Ranges and Locales-Footnote-31040208 -Node: Contributors1040429 -Node: Installation1045810 -Node: Gawk Distribution1046704 -Node: Getting1047188 -Node: Extracting1048014 -Node: Distribution contents1049706 -Node: Unix Installation1055427 -Node: Quick Installation1056044 -Node: Additional Configuration Options1058490 -Node: Configuration Philosophy1060226 -Node: Non-Unix Installation1062580 -Node: PC Installation1063038 -Node: PC Binary Installation1064337 -Node: PC Compiling1066185 -Node: PC Testing1069129 -Node: PC Using1070305 -Node: Cygwin1074473 -Node: MSYS1075282 -Node: VMS Installation1075796 -Node: VMS Compilation1076592 -Ref: VMS Compilation-Footnote-11077844 -Node: VMS Dynamic Extensions1077902 -Node: VMS Installation Details1079275 -Node: VMS Running1081526 -Node: VMS GNV1084360 -Node: VMS Old Gawk1085083 -Node: Bugs1085553 -Node: Other Versions1089471 -Node: Notes1095555 -Node: Compatibility Mode1096355 -Node: Additions1097138 -Node: Accessing The Source1098065 -Node: Adding Code1099505 -Node: New Ports1105550 -Node: Derived Files1109685 -Ref: Derived Files-Footnote-11115006 -Ref: Derived Files-Footnote-21115040 -Ref: Derived Files-Footnote-31115640 -Node: Future Extensions1115738 -Node: Implementation Limitations1116321 -Node: Extension Design1117569 -Node: Old Extension Problems1118723 -Ref: Old Extension Problems-Footnote-11120231 -Node: Extension New Mechanism Goals1120288 -Ref: Extension New Mechanism Goals-Footnote-11123653 -Node: Extension Other Design Decisions1123839 -Node: Extension Future Growth1125945 -Node: Old Extension Mechanism1126781 -Node: Basic Concepts1128521 -Node: Basic High Level1129202 -Ref: figure-general-flow1129474 -Ref: figure-process-flow1130073 -Ref: Basic High Level-Footnote-11133302 -Node: Basic Data Typing1133487 -Node: Glossary1136842 -Node: Copying1162073 -Node: GNU Free Documentation License1199629 -Node: Index1224765 +Ref: Preface-Footnote-148324 +Ref: Preface-Footnote-248431 +Node: History48663 +Node: Names51037 +Ref: Names-Footnote-152501 +Node: This Manual52574 +Ref: This Manual-Footnote-158353 +Node: Conventions58453 +Node: Manual History60609 +Ref: Manual History-Footnote-164040 +Ref: Manual History-Footnote-264081 +Node: How To Contribute64155 +Node: Acknowledgments65394 +Node: Getting Started69588 +Node: Running gawk71967 +Node: One-shot73157 +Node: Read Terminal74382 +Ref: Read Terminal-Footnote-176032 +Ref: Read Terminal-Footnote-276308 +Node: Long76479 +Node: Executable Scripts77855 +Ref: Executable Scripts-Footnote-179688 +Ref: Executable Scripts-Footnote-279790 +Node: Comments80337 +Node: Quoting82804 +Node: DOS Quoting88120 +Node: Sample Data Files88795 +Node: Very Simple91310 +Node: Two Rules95960 +Node: More Complex97855 +Ref: More Complex-Footnote-1100787 +Node: Statements/Lines100872 +Ref: Statements/Lines-Footnote-1105327 +Node: Other Features105592 +Node: When106520 +Node: Invoking Gawk108668 +Node: Command Line110131 +Node: Options110914 +Ref: Options-Footnote-1126726 +Node: Other Arguments126751 +Node: Naming Standard Input129413 +Node: Environment Variables130507 +Node: AWKPATH Variable131065 +Ref: AWKPATH Variable-Footnote-1133843 +Ref: AWKPATH Variable-Footnote-2133888 +Node: AWKLIBPATH Variable134148 +Node: Other Environment Variables134907 +Node: Exit Status138562 +Node: Include Files139237 +Node: Loading Shared Libraries142815 +Node: Obsolete144198 +Node: Undocumented144895 +Node: Regexp145137 +Node: Regexp Usage146526 +Node: Escape Sequences148559 +Node: Regexp Operators154226 +Ref: Regexp Operators-Footnote-1161706 +Ref: Regexp Operators-Footnote-2161853 +Node: Bracket Expressions161951 +Ref: table-char-classes163841 +Node: GNU Regexp Operators166364 +Node: Case-sensitivity170087 +Ref: Case-sensitivity-Footnote-1172979 +Ref: Case-sensitivity-Footnote-2173214 +Node: Leftmost Longest173322 +Node: Computed Regexps174523 +Node: Reading Files177872 +Node: Records179874 +Node: awk split records180609 +Node: gawk split records185467 +Ref: gawk split records-Footnote-1189988 +Node: Fields190025 +Ref: Fields-Footnote-1192989 +Node: Nonconstant Fields193075 +Ref: Nonconstant Fields-Footnote-1195305 +Node: Changing Fields195507 +Node: Field Separators201461 +Node: Default Field Splitting204163 +Node: Regexp Field Splitting205280 +Node: Single Character Fields208621 +Node: Command Line Field Separator209680 +Node: Full Line Fields213022 +Ref: Full Line Fields-Footnote-1213530 +Node: Field Splitting Summary213576 +Ref: Field Splitting Summary-Footnote-1216675 +Node: Constant Size216776 +Node: Splitting By Content221383 +Ref: Splitting By Content-Footnote-1225133 +Node: Multiple Line225173 +Ref: Multiple Line-Footnote-1231029 +Node: Getline231208 +Node: Plain Getline233424 +Node: Getline/Variable235519 +Node: Getline/File236666 +Node: Getline/Variable/File238050 +Ref: Getline/Variable/File-Footnote-1239649 +Node: Getline/Pipe239736 +Node: Getline/Variable/Pipe242435 +Node: Getline/Coprocess243542 +Node: Getline/Variable/Coprocess244794 +Node: Getline Notes245531 +Node: Getline Summary248335 +Ref: table-getline-variants248743 +Node: Read Timeout249655 +Ref: Read Timeout-Footnote-1253482 +Node: Command line directories253540 +Node: Printing254422 +Node: Print256053 +Node: Print Examples257394 +Node: Output Separators260173 +Node: OFMT262189 +Node: Printf263547 +Node: Basic Printf264453 +Node: Control Letters265992 +Node: Format Modifiers269846 +Node: Printf Examples275873 +Node: Redirection278580 +Node: Special Files285552 +Node: Special FD286085 +Ref: Special FD-Footnote-1289709 +Node: Special Network289783 +Node: Special Caveats290633 +Node: Close Files And Pipes291429 +Ref: Close Files And Pipes-Footnote-1298567 +Ref: Close Files And Pipes-Footnote-2298715 +Node: Expressions298865 +Node: Values299997 +Node: Constants300673 +Node: Scalar Constants301353 +Ref: Scalar Constants-Footnote-1302212 +Node: Nondecimal-numbers302462 +Node: Regexp Constants305462 +Node: Using Constant Regexps305937 +Node: Variables309007 +Node: Using Variables309662 +Node: Assignment Options311386 +Node: Conversion313261 +Ref: table-locale-affects318697 +Ref: Conversion-Footnote-1319321 +Node: All Operators319430 +Node: Arithmetic Ops320060 +Node: Concatenation322565 +Ref: Concatenation-Footnote-1325361 +Node: Assignment Ops325481 +Ref: table-assign-ops330464 +Node: Increment Ops331781 +Node: Truth Values and Conditions335219 +Node: Truth Values336302 +Node: Typing and Comparison337351 +Node: Variable Typing338144 +Ref: Variable Typing-Footnote-1342044 +Node: Comparison Operators342166 +Ref: table-relational-ops342576 +Node: POSIX String Comparison346124 +Ref: POSIX String Comparison-Footnote-1347208 +Node: Boolean Ops347346 +Ref: Boolean Ops-Footnote-1351416 +Node: Conditional Exp351507 +Node: Function Calls353234 +Node: Precedence356992 +Node: Locales360661 +Node: Patterns and Actions362264 +Node: Pattern Overview363318 +Node: Regexp Patterns364995 +Node: Expression Patterns365538 +Node: Ranges369319 +Node: BEGIN/END372425 +Node: Using BEGIN/END373187 +Ref: Using BEGIN/END-Footnote-1375923 +Node: I/O And BEGIN/END376029 +Node: BEGINFILE/ENDFILE378314 +Node: Empty381250 +Node: Using Shell Variables381567 +Node: Action Overview383850 +Node: Statements386195 +Node: If Statement388049 +Node: While Statement389548 +Node: Do Statement391592 +Node: For Statement392748 +Node: Switch Statement395900 +Node: Break Statement398003 +Node: Continue Statement400058 +Node: Next Statement401851 +Node: Nextfile Statement404241 +Node: Exit Statement406896 +Node: Built-in Variables409298 +Node: User-modified410394 +Ref: User-modified-Footnote-1418079 +Node: Auto-set418141 +Ref: Auto-set-Footnote-1431043 +Ref: Auto-set-Footnote-2431248 +Node: ARGC and ARGV431304 +Node: Arrays435158 +Node: Array Basics436656 +Node: Array Intro437482 +Ref: figure-array-elements439455 +Node: Reference to Elements441862 +Node: Assigning Elements444135 +Node: Array Example444626 +Node: Scanning an Array446358 +Node: Controlling Scanning449373 +Ref: Controlling Scanning-Footnote-1454546 +Node: Delete454862 +Ref: Delete-Footnote-1457627 +Node: Numeric Array Subscripts457684 +Node: Uninitialized Subscripts459867 +Node: Multidimensional461492 +Node: Multiscanning464585 +Node: Arrays of Arrays466174 +Node: Functions470814 +Node: Built-in471633 +Node: Calling Built-in472711 +Node: Numeric Functions474699 +Ref: Numeric Functions-Footnote-1478533 +Ref: Numeric Functions-Footnote-2478890 +Ref: Numeric Functions-Footnote-3478938 +Node: String Functions479207 +Ref: String Functions-Footnote-1502218 +Ref: String Functions-Footnote-2502347 +Ref: String Functions-Footnote-3502595 +Node: Gory Details502682 +Ref: table-sub-escapes504351 +Ref: table-sub-posix-92505705 +Ref: table-sub-proposed507056 +Ref: table-posix-sub508410 +Ref: table-gensub-escapes509955 +Ref: Gory Details-Footnote-1511131 +Ref: Gory Details-Footnote-2511182 +Node: I/O Functions511333 +Ref: I/O Functions-Footnote-1518456 +Node: Time Functions518603 +Ref: Time Functions-Footnote-1529067 +Ref: Time Functions-Footnote-2529135 +Ref: Time Functions-Footnote-3529293 +Ref: Time Functions-Footnote-4529404 +Ref: Time Functions-Footnote-5529516 +Ref: Time Functions-Footnote-6529743 +Node: Bitwise Functions530009 +Ref: table-bitwise-ops530571 +Ref: Bitwise Functions-Footnote-1534816 +Node: Type Functions535000 +Node: I18N Functions536142 +Node: User-defined537787 +Node: Definition Syntax538591 +Ref: Definition Syntax-Footnote-1543506 +Node: Function Example543575 +Ref: Function Example-Footnote-1546219 +Node: Function Caveats546241 +Node: Calling A Function546759 +Node: Variable Scope547714 +Node: Pass By Value/Reference550702 +Node: Return Statement554210 +Node: Dynamic Typing557192 +Node: Indirect Calls558121 +Node: Library Functions567808 +Ref: Library Functions-Footnote-1571321 +Ref: Library Functions-Footnote-2571464 +Node: Library Names571635 +Ref: Library Names-Footnote-1575108 +Ref: Library Names-Footnote-2575328 +Node: General Functions575414 +Node: Strtonum Function576442 +Node: Assert Function579372 +Node: Round Function582698 +Node: Cliff Random Function584239 +Node: Ordinal Functions585255 +Ref: Ordinal Functions-Footnote-1588332 +Ref: Ordinal Functions-Footnote-2588584 +Node: Join Function588795 +Ref: Join Function-Footnote-1590566 +Node: Getlocaltime Function590766 +Node: Readfile Function594507 +Node: Data File Management596346 +Node: Filetrans Function596978 +Node: Rewind Function601047 +Node: File Checking602434 +Node: Empty Files603528 +Node: Ignoring Assigns605758 +Node: Getopt Function607312 +Ref: Getopt Function-Footnote-1618615 +Node: Passwd Functions618818 +Ref: Passwd Functions-Footnote-1627796 +Node: Group Functions627884 +Node: Walking Arrays635968 +Node: Sample Programs638104 +Node: Running Examples638778 +Node: Clones639506 +Node: Cut Program640730 +Node: Egrep Program650581 +Ref: Egrep Program-Footnote-1658354 +Node: Id Program658464 +Node: Split Program662113 +Ref: Split Program-Footnote-1665632 +Node: Tee Program665760 +Node: Uniq Program668563 +Node: Wc Program675992 +Ref: Wc Program-Footnote-1680258 +Ref: Wc Program-Footnote-2680458 +Node: Miscellaneous Programs680550 +Node: Dupword Program681738 +Node: Alarm Program683769 +Node: Translate Program688576 +Ref: Translate Program-Footnote-1692963 +Ref: Translate Program-Footnote-2693211 +Node: Labels Program693345 +Ref: Labels Program-Footnote-1696716 +Node: Word Sorting696800 +Node: History Sorting700684 +Node: Extract Program702523 +Ref: Extract Program-Footnote-1710026 +Node: Simple Sed710154 +Node: Igawk Program713216 +Ref: Igawk Program-Footnote-1728387 +Ref: Igawk Program-Footnote-2728588 +Node: Anagram Program728726 +Node: Signature Program731794 +Node: Advanced Features732894 +Node: Nondecimal Data734780 +Node: Array Sorting736363 +Node: Controlling Array Traversal737060 +Node: Array Sorting Functions745344 +Ref: Array Sorting Functions-Footnote-1749213 +Node: Two-way I/O749407 +Ref: Two-way I/O-Footnote-1754839 +Node: TCP/IP Networking754921 +Node: Profiling757765 +Node: Internationalization765268 +Node: I18N and L10N766693 +Node: Explaining gettext767379 +Ref: Explaining gettext-Footnote-1772447 +Ref: Explaining gettext-Footnote-2772631 +Node: Programmer i18n772796 +Node: Translator i18n777023 +Node: String Extraction777817 +Ref: String Extraction-Footnote-1778778 +Node: Printf Ordering778864 +Ref: Printf Ordering-Footnote-1781646 +Node: I18N Portability781710 +Ref: I18N Portability-Footnote-1784159 +Node: I18N Example784222 +Ref: I18N Example-Footnote-1786860 +Node: Gawk I18N786932 +Node: Debugger787553 +Node: Debugging788524 +Node: Debugging Concepts788957 +Node: Debugging Terms790813 +Node: Awk Debugging793410 +Node: Sample Debugging Session794302 +Node: Debugger Invocation794822 +Node: Finding The Bug796155 +Node: List of Debugger Commands802642 +Node: Breakpoint Control803976 +Node: Debugger Execution Control807640 +Node: Viewing And Changing Data811000 +Node: Execution Stack814356 +Node: Debugger Info815823 +Node: Miscellaneous Debugger Commands819817 +Node: Readline Support824995 +Node: Limitations825826 +Node: Arbitrary Precision Arithmetic828078 +Ref: Arbitrary Precision Arithmetic-Footnote-1829727 +Node: General Arithmetic829875 +Node: Floating Point Issues831595 +Node: String Conversion Precision832476 +Ref: String Conversion Precision-Footnote-1834181 +Node: Unexpected Results834290 +Node: POSIX Floating Point Problems836443 +Ref: POSIX Floating Point Problems-Footnote-1840268 +Node: Integer Programming840306 +Node: Floating-point Programming842045 +Ref: Floating-point Programming-Footnote-1848376 +Ref: Floating-point Programming-Footnote-2848646 +Node: Floating-point Representation848910 +Node: Floating-point Context850075 +Ref: table-ieee-formats850914 +Node: Rounding Mode852298 +Ref: table-rounding-modes852777 +Ref: Rounding Mode-Footnote-1855792 +Node: Gawk and MPFR855971 +Node: Arbitrary Precision Floats857380 +Ref: Arbitrary Precision Floats-Footnote-1859823 +Node: Setting Precision860139 +Ref: table-predefined-precision-strings860825 +Node: Setting Rounding Mode862970 +Ref: table-gawk-rounding-modes863374 +Node: Floating-point Constants864561 +Node: Changing Precision865990 +Ref: Changing Precision-Footnote-1867387 +Node: Exact Arithmetic867561 +Node: Arbitrary Precision Integers870699 +Ref: Arbitrary Precision Integers-Footnote-1873714 +Node: Dynamic Extensions873861 +Node: Extension Intro875319 +Node: Plugin License876584 +Node: Extension Mechanism Outline877269 +Ref: load-extension877686 +Ref: load-new-function879164 +Ref: call-new-function880159 +Node: Extension API Description882174 +Node: Extension API Functions Introduction883461 +Node: General Data Types888388 +Ref: General Data Types-Footnote-1894083 +Node: Requesting Values894382 +Ref: table-value-types-returned895119 +Node: Memory Allocation Functions896073 +Ref: Memory Allocation Functions-Footnote-1898819 +Node: Constructor Functions898915 +Node: Registration Functions900673 +Node: Extension Functions901358 +Node: Exit Callback Functions903660 +Node: Extension Version String904909 +Node: Input Parsers905559 +Node: Output Wrappers915316 +Node: Two-way processors919826 +Node: Printing Messages922034 +Ref: Printing Messages-Footnote-1923111 +Node: Updating `ERRNO'923263 +Node: Accessing Parameters924002 +Node: Symbol Table Access925232 +Node: Symbol table by name925746 +Node: Symbol table by cookie927722 +Ref: Symbol table by cookie-Footnote-1931854 +Node: Cached values931917 +Ref: Cached values-Footnote-1935407 +Node: Array Manipulation935498 +Ref: Array Manipulation-Footnote-1936596 +Node: Array Data Types936635 +Ref: Array Data Types-Footnote-1939338 +Node: Array Functions939430 +Node: Flattening Arrays943266 +Node: Creating Arrays950118 +Node: Extension API Variables954843 +Node: Extension Versioning955479 +Node: Extension API Informational Variables957380 +Node: Extension API Boilerplate958466 +Node: Finding Extensions962270 +Node: Extension Example962830 +Node: Internal File Description963560 +Node: Internal File Ops967651 +Ref: Internal File Ops-Footnote-1979160 +Node: Using Internal File Ops979300 +Ref: Using Internal File Ops-Footnote-1981647 +Node: Extension Samples981913 +Node: Extension Sample File Functions983437 +Node: Extension Sample Fnmatch991924 +Node: Extension Sample Fork993693 +Node: Extension Sample Inplace994906 +Node: Extension Sample Ord996684 +Node: Extension Sample Readdir997520 +Node: Extension Sample Revout999052 +Node: Extension Sample Rev2way999645 +Node: Extension Sample Read write array1000335 +Node: Extension Sample Readfile1002218 +Node: Extension Sample API Tests1003318 +Node: Extension Sample Time1003843 +Node: gawkextlib1005207 +Node: Language History1007988 +Node: V7/SVR3.11009581 +Node: SVR41011901 +Node: POSIX1013343 +Node: BTL1014729 +Node: POSIX/GNU1015463 +Node: Feature History1021062 +Node: Common Extensions1034038 +Node: Ranges and Locales1035350 +Ref: Ranges and Locales-Footnote-11039967 +Ref: Ranges and Locales-Footnote-21039994 +Ref: Ranges and Locales-Footnote-31040228 +Node: Contributors1040449 +Node: Installation1045830 +Node: Gawk Distribution1046724 +Node: Getting1047208 +Node: Extracting1048034 +Node: Distribution contents1049726 +Node: Unix Installation1055447 +Node: Quick Installation1056064 +Node: Additional Configuration Options1058510 +Node: Configuration Philosophy1060246 +Node: Non-Unix Installation1062600 +Node: PC Installation1063058 +Node: PC Binary Installation1064369 +Node: PC Compiling1066217 +Node: PC Testing1069177 +Node: PC Using1070353 +Node: Cygwin1074521 +Node: MSYS1075330 +Node: VMS Installation1075844 +Node: VMS Compilation1076640 +Ref: VMS Compilation-Footnote-11077892 +Node: VMS Dynamic Extensions1077950 +Node: VMS Installation Details1079323 +Node: VMS Running1081574 +Node: VMS GNV1084408 +Node: VMS Old Gawk1085131 +Node: Bugs1085601 +Node: Other Versions1089519 +Node: Notes1095603 +Node: Compatibility Mode1096403 +Node: Additions1097186 +Node: Accessing The Source1098113 +Node: Adding Code1099553 +Node: New Ports1105598 +Node: Derived Files1109733 +Ref: Derived Files-Footnote-11115054 +Ref: Derived Files-Footnote-21115088 +Ref: Derived Files-Footnote-31115688 +Node: Future Extensions1115786 +Node: Implementation Limitations1116369 +Node: Extension Design1117617 +Node: Old Extension Problems1118771 +Ref: Old Extension Problems-Footnote-11120279 +Node: Extension New Mechanism Goals1120336 +Ref: Extension New Mechanism Goals-Footnote-11123701 +Node: Extension Other Design Decisions1123887 +Node: Extension Future Growth1125993 +Node: Old Extension Mechanism1126829 +Node: Basic Concepts1128569 +Node: Basic High Level1129250 +Ref: figure-general-flow1129522 +Ref: figure-process-flow1130121 +Ref: Basic High Level-Footnote-11133350 +Node: Basic Data Typing1133535 +Node: Glossary1136890 +Node: Copying1162121 +Node: GNU Free Documentation License1199677 +Node: Index1224813 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 708c3a3b..10ddd235 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -318,14 +318,12 @@ ISBN 1-882114-28-0 @* @page @w{ } @sp 9 -@center @i{To my parents, for their love, and for the wonderful -example they set for me.} +@center @i{To my parents, for their love, and for the wonderful example they set for me.} @sp 1 @center @i{To my wife Miriam, for making me complete. Thank you for building your life together with me.} @sp 1 -@center @i{To our children Chana, Rivka, Nachum and Malka, -for enrichening our lives in innumerable ways.} +@center @i{To our children Chana, Rivka, Nachum and Malka, for enrichening our lives in innumerable ways.} @sp 1 @w{ } @page @@ -986,7 +984,8 @@ for enrichening our lives in innumerable ways. <author> <firstname>Michael</firstname> <surname>Brennan</surname> - <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation> + <!-- can't put mawk into command tags. sigh. --> + <affiliation><jobtitle>Author of mawk</jobtitle></affiliation> </author> <date>March, 2001</date> </prefaceinfo> @@ -1149,7 +1148,7 @@ invoke it with the proper options or environment variables (@pxref{Options}), it is fully compatible with the POSIX@footnote{The 2008 POSIX standard is accessable online at -@url{http://www.opengroup.org/onlinepubs/9699919799/}.} +@w{@url{http://www.opengroup.org/onlinepubs/9699919799/}.}} specification of the @command{awk} language and with the Unix version of @command{awk} maintained by Brian Kernighan. @@ -1227,10 +1226,10 @@ up through large-scale systems. @command{gawk} has also been ported to Mac OS X, Microsoft Windows @ifset FOR_PRINT -(all versions) and OS/2 PCs, +(all versions), @end ifset @ifclear FOR_PRINT -(all versions), +(all versions) and OS/2 PCs, @end ifclear and OpenVMS. (Some other, obsolete systems to which @command{gawk} was once ported @@ -1517,9 +1516,14 @@ describes advanced arithmetic facilities provided by @ref{Dynamic Extensions}, describes how to add new variables and functions to @command{gawk} by writing extensions in C or C++. +@ifclear FOR_PRINT Part IV provides the appendices, the Glossary, and two licenses that cover the @command{gawk} source code and this @value{DOCUMENT}, respectively. It contains the following appendices: +@end ifclear +@ifset FOR_PRINT +Part IV provides the following appendices: +@end ifset @ref{Language History}, describes how the @command{awk} language has evolved since @@ -1535,7 +1539,9 @@ in @command{gawk} and where to get other freely available @command{awk} implementations. @ifset FOR_PRINT -To save space, we have omitted some of the appendices from this +The version of this @value{DOCUMENT} distributed with @command{gawk} +contains additional appendices and other end material. +To save space, we have omitted them from the printed edition. You may find them online, as follows: @uref{http://www.gnu.org/software/gawk/manual/html_node/Notes.html} @@ -1550,12 +1556,12 @@ are completely unfamiliar with computer programming. @uref{http://www.gnu.org/software/gawk/manual/html_node/Glossary.html, The Glossary} defines most, if not all, the significant terms used -throughout the book. If you find terms that you aren't familiar with, +throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with, try looking them up here. -@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html} and -@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html} -present the licenses that cover the @command{gawk} source code +@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html, The GNU GPL} and +@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html, the GNU FDL} +are the licenses that cover the @command{gawk} source code and this @value{DOCUMENT}, respectively. @end ifset @@ -1570,7 +1576,7 @@ provides some very cursory background material for those who are completely unfamiliar with computer programming. The @ref{Glossary}, defines most, if not all, the significant terms used -throughout the book. If you find terms that you aren't familiar with, +throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with, try looking them up here. @ref{Copying}, and @@ -1682,13 +1688,15 @@ Foundation to create a complete, freely distributable, POSIX-compliant computing environment. The FSF uses the ``GNU General Public License'' (GPL) to ensure that their software's -source code is always available to the end user. A -copy of the GPL is included +source code is always available to the end user. +@ifclear FOR_PRINT +A copy of the GPL is included @ifnotinfo in this @value{DOCUMENT} @end ifnotinfo for your reference (@pxref{Copying}). +@end ifclear The GPL applies to the C language source code for @command{gawk}. To find out more about the FSF and the GNU Project online, see @uref{http://www.gnu.org, the GNU Project's home page}. @@ -1711,8 +1719,13 @@ consider using GNU/Linux, a freely distributable, Unix-like operating system for Intel@registeredsymbol{}, Power Architecture, Sun SPARC, IBM S/390, and other +@ifclear FOR_PRINT systems.@footnote{The terminology ``GNU/Linux'' is explained in the @ref{Glossary}.} +@end ifclear +@ifset FOR_PRINT +systems. +@end ifset Many GNU/Linux distributions are available for download from the Internet. @@ -1732,8 +1745,11 @@ The @value{DOCUMENT} you are reading is actually free---at least, the information in it is free to anyone. The machine-readable source code for the @value{DOCUMENT} comes with @command{gawk}; anyone may take this @value{DOCUMENT} to a copying machine and make as many -copies as they like. (Take a moment to check the Free Documentation +copies as they like. +@ifclear FOR_PRINT +(Take a moment to check the Free Documentation License in @ref{GNU Free Documentation License}.) +@end ifclear @end ifnotinfo @ignore @@ -3285,8 +3301,14 @@ edit-compile-test-debug cycle of software development. @cindex Brian Kernighan's @command{awk} Complex programs have been written in @command{awk}, including a complete -retargetable assembler for eight-bit microprocessors (@pxref{Glossary}, for -more information), and a microcode assembler for a special-purpose Prolog +retargetable assembler for +@ifclear FOR_PRINT +eight-bit microprocessors (@pxref{Glossary}, for more information), +@end ifclear +@ifset FOR_PRINT +eight-bit microprocessors, +@end ifset +and a microcode assembler for a special-purpose Prolog computer. While the original @command{awk}'s capabilities were strained by tasks of such complexity, modern versions are more capable. Even Brian Kernighan's @@ -3514,8 +3536,11 @@ Specify @dfn{compatibility mode}, in which the GNU extensions to the @command{awk} language are disabled, so that @command{gawk} behaves just like Brian Kernighan's version @command{awk}. @xref{POSIX/GNU}, -which summarizes the extensions. Also see +which summarizes the extensions. +@ifclear FOR_PRINT +Also see @ref{Compatibility Mode}. +@end ifclear @item @option{-C} @itemx @option{--copyright} @@ -17678,8 +17703,13 @@ particular log record was written. Many programs log their timestamp in the form returned by the @code{time()} system call, which is the number of seconds since a particular epoch. On POSIX-compliant systems, it is the number of seconds since -1970-01-01 00:00:00 UTC, not counting leap seconds.@footnote{@xref{Glossary}, -especially the entries ``Epoch'' and ``UTC.''} +1970-01-01 00:00:00 UTC, not counting leap +@ifclear FOR_PRINT +seconds.@footnote{@xref{Glossary}, especially the entries ``Epoch'' and ``UTC.''} +@end ifclear +@ifset FOR_PRINT +seconds. +@end ifset All known POSIX-compliant systems support timestamps from 0 through @iftex @math{2^{31} - 1}, @@ -19551,9 +19581,11 @@ these example library functions and programs from the Texinfo source for this @value{DOCUMENT}. (This has already been done as part of the @command{gawk} distribution.) +@ifclear FOR_PRINT If you have written one or more useful, general-purpose @command{awk} functions and would like to contribute them to the @command{awk} user community, see @ref{How To Contribute}, for more information. +@end ifclear @cindex portability, example programs The programs in this @value{CHAPTER} and in @@ -30164,8 +30196,15 @@ the facilities that the API provides and how to use them, and presents a small sample extension. In addition, it documents the sample extensions included in the @command{gawk} distribution, and describes the @code{gawkextlib} project. +@ifclear FOR_PRINT @xref{Extension Design}, for a discussion of the extension mechanism goals and design. +@end ifclear +@ifset FOR_PRINT +See @uref{http://www.gnu.org/software/gawk/manual/html_node/Extension-Design.html} +for a discussion of the extension mechanism +goals and design. +@end ifset @node Plugin License @section Extension Licensing @@ -30621,8 +30660,11 @@ reading and/or changing the value of one or more scalar variables, you can obtain a @dfn{scalar cookie}@footnote{See @uref{http://catb.org/jargon/html/C/cookie.html, the ``cookie'' entry in the Jargon file} for a definition of @dfn{cookie}, and @uref{http://catb.org/jargon/html/M/magic-cookie.html, -the ``magic cookie'' entry in the Jargon file} for a nice example. See -also the entry for ``Cookie'' in the @ref{Glossary}.} +the ``magic cookie'' entry in the Jargon file} for a nice example. +@ifclear FOR_PRINT +See also the entry for ``Cookie'' in the @ref{Glossary}. +@end ifclear +} object for that variable, and then use the cookie for getting the variable's value or for changing the variable's value. @@ -32500,8 +32542,14 @@ These variables and functions are as follows: @table @code @item int plugin_is_GPL_compatible; -This asserts that the extension is compatible with the GNU GPL -(@pxref{Copying}). If your extension does not have this, @command{gawk} +This asserts that the extension is compatible with +@ifclear FOR_PRINT +the GNU GPL (@pxref{Copying}). +@end ifclear +@ifset FOR_PRINT +the GNU GPL. +@end ifset +If your extension does not have this, @command{gawk} will not load it (@pxref{Plugin License}). @item static gawk_api_t *const api; @@ -35923,7 +35971,10 @@ the sample extensions included with @command{gawk}. Files needed for building @command{gawk} on POSIX-compliant systems. @item pc/* -Files needed for building @command{gawk} under MS-Windows and OS/2 +Files needed for building @command{gawk} under MS-Windows +@ifclear FOR_PRINT +and OS/2 +@end ifclear (@pxref{PC Installation}, for details). @item vms/* @@ -36154,16 +36205,21 @@ various non-Unix systems. @cindex PC operating systems@comma{} @command{gawk} on, installing @cindex operating systems, PC@comma{} @command{gawk} on, installing This @value{SECTION} covers installation and usage of @command{gawk} on x86 machines +@ifclear FOR_PRINT running MS-DOS, any version of MS-Windows, or OS/2. +@end ifclear +@ifset FOR_PRINT +running MS-DOS and any version of MS-Windows. +@end ifset In this @value{SECTION}, the term ``Windows32'' -refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7. +refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7/8. -The limitations of MS-DOS (and MS-DOS shells under Windows32 or OS/2) has meant -that various ``DOS extenders'' are often used with programs such as -@command{gawk}. The varying capabilities of Microsoft Windows 3.1 -and Windows32 can add to the confusion. For an overview of the -considerations, please refer to @file{README_d/README.pc} in the -distribution. +The limitations of MS-DOS (and MS-DOS shells under the other operating +systems) has meant that various ``DOS extenders'' are often used with +programs such as @command{gawk}. The varying capabilities of Microsoft +Windows 3.1 and Windows32 can add to the confusion. For an overview +of the considerations, please refer to @file{README_d/README.pc} in +the distribution. @menu * PC Binary Installation:: Installing a prepared distribution. @@ -36177,6 +36233,7 @@ distribution. * MSYS:: Using @command{gawk} In The MSYS Environment. @end menu +@ifclear FOR_PRINT @node PC Binary Installation @appendixsubsubsec Installing a Prepared Distribution for PC Systems @@ -36215,13 +36272,21 @@ install-info --info-dir=x:/usr/info x:/usr/info/gawkinet.info The binary distribution may contain a separate file containing additional or more detailed installation instructions. +@end ifclear @node PC Compiling @appendixsubsubsec Compiling @command{gawk} for PC Operating Systems +@ifclear FOR_PRINT @command{gawk} can be compiled for MS-DOS, Windows32, and OS/2 using the GNU -development tools from DJ Delorie (DJGPP: MS-DOS only) or Eberhard -Mattes (EMX: MS-DOS, Windows32 and OS/2). The file +development tools from DJ Delorie (DJGPP: MS-DOS only), MinGW (Windows32) or Eberhard +Mattes (EMX: MS-DOS, Windows32 and OS/2). +@end ifclear +@ifset FOR_PRINT +@command{gawk} can be compiled for MS-DOS and Windows32 using the GNU +development tools from DJ Delorie (DJGPP: MS-DOS only) or MinGW (Windows32). +@end ifset +The file @file{README_d/README.pc} in the @command{gawk} distribution contains additional notes, and @file{pc/Makefile} contains important information on compilation options. @@ -36243,6 +36308,7 @@ build @command{gawk} using the DJGPP tools, enter @samp{make djgpp}. @uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.) To build a native MS-Windows binary of @command{gawk}, type @samp{make mingw32}. +@ifclear FOR_PRINT @cindex compiling @command{gawk} with EMX for OS/2 The 32 bit EMX version of @command{gawk} works ``out of the box'' under OS/2. However, it is highly recommended to use GCC 2.95.3 for the compilation. @@ -36316,6 +36382,7 @@ the Makefiles of this package. If you encounter any problems with find the latest version on @uref{ftp://hobbes.nmsu.edu/pub/os2/}. @end quotation +@end ifclear @node PC Testing @appendixsubsubsec Testing @command{gawk} on PC Operating Systems @@ -36327,6 +36394,7 @@ be converted so that they have the usual MS-DOS-style end-of-line markers. Alternatively, run @command{make check CMP="diff -a"} to use GNU @command{diff} in text mode instead of @command{cmp} to compare the resulting files. +@ifclear FOR_PRINT Most of the tests work properly with Stewartson's shell along with the companion utilities or appropriate GNU utilities. However, some editing of @@ -36339,7 +36407,7 @@ On OS/2 the @code{pid} test fails because @code{spawnl()} is used instead of @code{fork()}/@code{execl()} to start child processes. Also the @code{mbfw1} and @code{mbprintf1} tests fail because the needed multibyte functionality is not available. - +@end ifclear @node PC Using @appendixsubsubsec Using @command{gawk} on PC Operating Systems @@ -36351,11 +36419,12 @@ multibyte functionality is not available. Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support both the @samp{|&} operator and TCP/IP networking (@pxref{TCP/IP Networking}). +@ifclear FOR_PRINT EMX (OS/2 only) supports at least the @samp{|&} operator. +@end ifclear @cindex search paths @cindex search paths, for source files -@cindex @command{gawk}, OS/2 version of @cindex @command{gawk}, MS-DOS version of @cindex @command{gawk}, MS-Windows version of @cindex @code{;} (semicolon), @code{AWKPATH} variable and @@ -36368,6 +36437,8 @@ variable. If @env{AWKPATH} is not set or is empty, then the default search path for MS-Windows and MS-DOS versions is @code{@w{".;c:/lib/awk;c:/gnu/lib/awk"}}. +@ifclear FOR_PRINT +@cindex @command{gawk}, OS/2 version of @cindex @code{UNIXROOT} variable, on OS/2 systems The search path for OS/2 (32 bit, EMX) is determined by the prefix directory (most likely @file{/usr} or @file{c:/usr}) that has been specified as an option of @@ -36385,12 +36456,24 @@ An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS or @command{cmd.exe} under MS-Windows or OS/2) may be useful for @command{awk} programming. The DJGPP collection of tools includes an MS-DOS port of Bash, and several shells are available for OS/2, including @command{ksh}. +@end ifclear +@ifset FOR_PRINT +An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS +or @command{cmd.exe} under MS-Windows) may be useful for @command{awk} programming. +The DJGPP collection of tools includes an MS-DOS port of Bash. +@end ifset @cindex common extensions, @code{BINMODE} variable @cindex extensions, common@comma{} @code{BINMODE} variable @cindex differences in @command{awk} and @command{gawk}, @code{BINMODE} variable @cindex @code{BINMODE} variable -Under MS-Windows, OS/2 and MS-DOS, @command{gawk} (and many other text programs) silently +@ifclear FOR_PRINT +Under MS-Windows, OS/2 and MS-DOS, +@end ifclear +@ifset FOR_PRINT +Under MS-Windows and MS-DOS, +@end ifset +@command{gawk} (and many other text programs) silently translate end-of-line @code{"\r\n"} to @code{"\n"} on input and @code{"\n"} to @code{"\r\n"} on output. A special @code{BINMODE} variable @value{COMMONEXT} allows control over these translations and is interpreted as follows: @@ -36935,6 +37018,8 @@ as follows: @item MS-Windows with MINGW @tab Eli Zaretskii, @EMAIL{eliz@@gnu.org,eliz at gnu dot org}. +@c Leave this in the print version on purpose. OS/2 not mentioned anywhere else +@c in the print version though. @item OS/2 @tab Andreas Buening, @EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}. @item VMS @tab Pat Rankin, @EMAIL{r.pat.rankin@@gmail.com,r.pat.rankin at gmail.com}, and @@ -37018,8 +37103,13 @@ for a list of extensions in this @command{awk} that are not in POSIX @command{aw @cindex source code, @command{mawk} @item @command{mawk} Michael Brennan wrote an independent implementation of @command{awk}, -called @command{mawk}. It is available under the GPL -(@pxref{Copying}), +called @command{mawk}. It is available under the +@ifclear FOR_PRINT +GPL (@pxref{Copying}), +@end ifclear +@ifset FOR_PRINT +GPL, +@end ifset just as @command{gawk} is. The original distribution site for the @command{mawk} source code diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 32a7543d..d45cae06 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -313,14 +313,12 @@ ISBN 1-882114-28-0 @* @page @w{ } @sp 9 -@center @i{To my parents, for their love, and for the wonderful -example they set for me.} +@center @i{To my parents, for their love, and for the wonderful example they set for me.} @sp 1 @center @i{To my wife Miriam, for making me complete. Thank you for building your life together with me.} @sp 1 -@center @i{To our children Chana, Rivka, Nachum and Malka, -for enrichening our lives in innumerable ways.} +@center @i{To our children Chana, Rivka, Nachum and Malka, for enrichening our lives in innumerable ways.} @sp 1 @w{ } @page @@ -981,7 +979,8 @@ for enrichening our lives in innumerable ways. <author> <firstname>Michael</firstname> <surname>Brennan</surname> - <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation> + <!-- can't put mawk into command tags. sigh. --> + <affiliation><jobtitle>Author of mawk</jobtitle></affiliation> </author> <date>March, 2001</date> </prefaceinfo> @@ -1144,7 +1143,7 @@ invoke it with the proper options or environment variables (@pxref{Options}), it is fully compatible with the POSIX@footnote{The 2008 POSIX standard is accessable online at -@url{http://www.opengroup.org/onlinepubs/9699919799/}.} +@w{@url{http://www.opengroup.org/onlinepubs/9699919799/}.}} specification of the @command{awk} language and with the Unix version of @command{awk} maintained by Brian Kernighan. @@ -1222,10 +1221,10 @@ up through large-scale systems. @command{gawk} has also been ported to Mac OS X, Microsoft Windows @ifset FOR_PRINT -(all versions) and OS/2 PCs, +(all versions), @end ifset @ifclear FOR_PRINT -(all versions), +(all versions) and OS/2 PCs, @end ifclear and OpenVMS. (Some other, obsolete systems to which @command{gawk} was once ported @@ -1484,9 +1483,14 @@ describes advanced arithmetic facilities provided by @ref{Dynamic Extensions}, describes how to add new variables and functions to @command{gawk} by writing extensions in C or C++. +@ifclear FOR_PRINT Part IV provides the appendices, the Glossary, and two licenses that cover the @command{gawk} source code and this @value{DOCUMENT}, respectively. It contains the following appendices: +@end ifclear +@ifset FOR_PRINT +Part IV provides the following appendices: +@end ifset @ref{Language History}, describes how the @command{awk} language has evolved since @@ -1502,7 +1506,9 @@ in @command{gawk} and where to get other freely available @command{awk} implementations. @ifset FOR_PRINT -To save space, we have omitted some of the appendices from this +The version of this @value{DOCUMENT} distributed with @command{gawk} +contains additional appendices and other end material. +To save space, we have omitted them from the printed edition. You may find them online, as follows: @uref{http://www.gnu.org/software/gawk/manual/html_node/Notes.html} @@ -1517,12 +1523,12 @@ are completely unfamiliar with computer programming. @uref{http://www.gnu.org/software/gawk/manual/html_node/Glossary.html, The Glossary} defines most, if not all, the significant terms used -throughout the book. If you find terms that you aren't familiar with, +throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with, try looking them up here. -@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html} and -@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html} -present the licenses that cover the @command{gawk} source code +@uref{http://www.gnu.org/software/gawk/manual/html_node/Copying.html, The GNU GPL} and +@uref{http://www.gnu.org/software/gawk/manual/html_node/GNU-Free-Documentation-License.html, the GNU FDL} +are the licenses that cover the @command{gawk} source code and this @value{DOCUMENT}, respectively. @end ifset @@ -1537,7 +1543,7 @@ provides some very cursory background material for those who are completely unfamiliar with computer programming. The @ref{Glossary}, defines most, if not all, the significant terms used -throughout the book. If you find terms that you aren't familiar with, +throughout the @value{DOCUMENT}. If you find terms that you aren't familiar with, try looking them up here. @ref{Copying}, and @@ -1649,13 +1655,15 @@ Foundation to create a complete, freely distributable, POSIX-compliant computing environment. The FSF uses the ``GNU General Public License'' (GPL) to ensure that their software's -source code is always available to the end user. A -copy of the GPL is included +source code is always available to the end user. +@ifclear FOR_PRINT +A copy of the GPL is included @ifnotinfo in this @value{DOCUMENT} @end ifnotinfo for your reference (@pxref{Copying}). +@end ifclear The GPL applies to the C language source code for @command{gawk}. To find out more about the FSF and the GNU Project online, see @uref{http://www.gnu.org, the GNU Project's home page}. @@ -1678,8 +1686,13 @@ consider using GNU/Linux, a freely distributable, Unix-like operating system for Intel@registeredsymbol{}, Power Architecture, Sun SPARC, IBM S/390, and other +@ifclear FOR_PRINT systems.@footnote{The terminology ``GNU/Linux'' is explained in the @ref{Glossary}.} +@end ifclear +@ifset FOR_PRINT +systems. +@end ifset Many GNU/Linux distributions are available for download from the Internet. @@ -1699,8 +1712,11 @@ The @value{DOCUMENT} you are reading is actually free---at least, the information in it is free to anyone. The machine-readable source code for the @value{DOCUMENT} comes with @command{gawk}; anyone may take this @value{DOCUMENT} to a copying machine and make as many -copies as they like. (Take a moment to check the Free Documentation +copies as they like. +@ifclear FOR_PRINT +(Take a moment to check the Free Documentation License in @ref{GNU Free Documentation License}.) +@end ifclear @end ifnotinfo @ignore @@ -3213,8 +3229,14 @@ edit-compile-test-debug cycle of software development. @cindex Brian Kernighan's @command{awk} Complex programs have been written in @command{awk}, including a complete -retargetable assembler for eight-bit microprocessors (@pxref{Glossary}, for -more information), and a microcode assembler for a special-purpose Prolog +retargetable assembler for +@ifclear FOR_PRINT +eight-bit microprocessors (@pxref{Glossary}, for more information), +@end ifclear +@ifset FOR_PRINT +eight-bit microprocessors, +@end ifset +and a microcode assembler for a special-purpose Prolog computer. While the original @command{awk}'s capabilities were strained by tasks of such complexity, modern versions are more capable. Even Brian Kernighan's @@ -3442,8 +3464,11 @@ Specify @dfn{compatibility mode}, in which the GNU extensions to the @command{awk} language are disabled, so that @command{gawk} behaves just like Brian Kernighan's version @command{awk}. @xref{POSIX/GNU}, -which summarizes the extensions. Also see +which summarizes the extensions. +@ifclear FOR_PRINT +Also see @ref{Compatibility Mode}. +@end ifclear @item @option{-C} @itemx @option{--copyright} @@ -16851,8 +16876,13 @@ particular log record was written. Many programs log their timestamp in the form returned by the @code{time()} system call, which is the number of seconds since a particular epoch. On POSIX-compliant systems, it is the number of seconds since -1970-01-01 00:00:00 UTC, not counting leap seconds.@footnote{@xref{Glossary}, -especially the entries ``Epoch'' and ``UTC.''} +1970-01-01 00:00:00 UTC, not counting leap +@ifclear FOR_PRINT +seconds.@footnote{@xref{Glossary}, especially the entries ``Epoch'' and ``UTC.''} +@end ifclear +@ifset FOR_PRINT +seconds. +@end ifset All known POSIX-compliant systems support timestamps from 0 through @iftex @math{2^{31} - 1}, @@ -18724,9 +18754,11 @@ these example library functions and programs from the Texinfo source for this @value{DOCUMENT}. (This has already been done as part of the @command{gawk} distribution.) +@ifclear FOR_PRINT If you have written one or more useful, general-purpose @command{awk} functions and would like to contribute them to the @command{awk} user community, see @ref{How To Contribute}, for more information. +@end ifclear @cindex portability, example programs The programs in this @value{CHAPTER} and in @@ -29308,8 +29340,15 @@ the facilities that the API provides and how to use them, and presents a small sample extension. In addition, it documents the sample extensions included in the @command{gawk} distribution, and describes the @code{gawkextlib} project. +@ifclear FOR_PRINT @xref{Extension Design}, for a discussion of the extension mechanism goals and design. +@end ifclear +@ifset FOR_PRINT +See @uref{http://www.gnu.org/software/gawk/manual/html_node/Extension-Design.html} +for a discussion of the extension mechanism +goals and design. +@end ifset @node Plugin License @section Extension Licensing @@ -29765,8 +29804,11 @@ reading and/or changing the value of one or more scalar variables, you can obtain a @dfn{scalar cookie}@footnote{See @uref{http://catb.org/jargon/html/C/cookie.html, the ``cookie'' entry in the Jargon file} for a definition of @dfn{cookie}, and @uref{http://catb.org/jargon/html/M/magic-cookie.html, -the ``magic cookie'' entry in the Jargon file} for a nice example. See -also the entry for ``Cookie'' in the @ref{Glossary}.} +the ``magic cookie'' entry in the Jargon file} for a nice example. +@ifclear FOR_PRINT +See also the entry for ``Cookie'' in the @ref{Glossary}. +@end ifclear +} object for that variable, and then use the cookie for getting the variable's value or for changing the variable's value. @@ -31644,8 +31686,14 @@ These variables and functions are as follows: @table @code @item int plugin_is_GPL_compatible; -This asserts that the extension is compatible with the GNU GPL -(@pxref{Copying}). If your extension does not have this, @command{gawk} +This asserts that the extension is compatible with +@ifclear FOR_PRINT +the GNU GPL (@pxref{Copying}). +@end ifclear +@ifset FOR_PRINT +the GNU GPL. +@end ifset +If your extension does not have this, @command{gawk} will not load it (@pxref{Plugin License}). @item static gawk_api_t *const api; @@ -35067,7 +35115,10 @@ the sample extensions included with @command{gawk}. Files needed for building @command{gawk} on POSIX-compliant systems. @item pc/* -Files needed for building @command{gawk} under MS-Windows and OS/2 +Files needed for building @command{gawk} under MS-Windows +@ifclear FOR_PRINT +and OS/2 +@end ifclear (@pxref{PC Installation}, for details). @item vms/* @@ -35298,16 +35349,21 @@ various non-Unix systems. @cindex PC operating systems@comma{} @command{gawk} on, installing @cindex operating systems, PC@comma{} @command{gawk} on, installing This @value{SECTION} covers installation and usage of @command{gawk} on x86 machines +@ifclear FOR_PRINT running MS-DOS, any version of MS-Windows, or OS/2. +@end ifclear +@ifset FOR_PRINT +running MS-DOS and any version of MS-Windows. +@end ifset In this @value{SECTION}, the term ``Windows32'' -refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7. +refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7/8. -The limitations of MS-DOS (and MS-DOS shells under Windows32 or OS/2) has meant -that various ``DOS extenders'' are often used with programs such as -@command{gawk}. The varying capabilities of Microsoft Windows 3.1 -and Windows32 can add to the confusion. For an overview of the -considerations, please refer to @file{README_d/README.pc} in the -distribution. +The limitations of MS-DOS (and MS-DOS shells under the other operating +systems) has meant that various ``DOS extenders'' are often used with +programs such as @command{gawk}. The varying capabilities of Microsoft +Windows 3.1 and Windows32 can add to the confusion. For an overview +of the considerations, please refer to @file{README_d/README.pc} in +the distribution. @menu * PC Binary Installation:: Installing a prepared distribution. @@ -35321,6 +35377,7 @@ distribution. * MSYS:: Using @command{gawk} In The MSYS Environment. @end menu +@ifclear FOR_PRINT @node PC Binary Installation @appendixsubsubsec Installing a Prepared Distribution for PC Systems @@ -35359,13 +35416,21 @@ install-info --info-dir=x:/usr/info x:/usr/info/gawkinet.info The binary distribution may contain a separate file containing additional or more detailed installation instructions. +@end ifclear @node PC Compiling @appendixsubsubsec Compiling @command{gawk} for PC Operating Systems +@ifclear FOR_PRINT @command{gawk} can be compiled for MS-DOS, Windows32, and OS/2 using the GNU -development tools from DJ Delorie (DJGPP: MS-DOS only) or Eberhard -Mattes (EMX: MS-DOS, Windows32 and OS/2). The file +development tools from DJ Delorie (DJGPP: MS-DOS only), MinGW (Windows32) or Eberhard +Mattes (EMX: MS-DOS, Windows32 and OS/2). +@end ifclear +@ifset FOR_PRINT +@command{gawk} can be compiled for MS-DOS and Windows32 using the GNU +development tools from DJ Delorie (DJGPP: MS-DOS only) or MinGW (Windows32). +@end ifset +The file @file{README_d/README.pc} in the @command{gawk} distribution contains additional notes, and @file{pc/Makefile} contains important information on compilation options. @@ -35387,6 +35452,7 @@ build @command{gawk} using the DJGPP tools, enter @samp{make djgpp}. @uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.) To build a native MS-Windows binary of @command{gawk}, type @samp{make mingw32}. +@ifclear FOR_PRINT @cindex compiling @command{gawk} with EMX for OS/2 The 32 bit EMX version of @command{gawk} works ``out of the box'' under OS/2. However, it is highly recommended to use GCC 2.95.3 for the compilation. @@ -35460,6 +35526,7 @@ the Makefiles of this package. If you encounter any problems with find the latest version on @uref{ftp://hobbes.nmsu.edu/pub/os2/}. @end quotation +@end ifclear @node PC Testing @appendixsubsubsec Testing @command{gawk} on PC Operating Systems @@ -35471,6 +35538,7 @@ be converted so that they have the usual MS-DOS-style end-of-line markers. Alternatively, run @command{make check CMP="diff -a"} to use GNU @command{diff} in text mode instead of @command{cmp} to compare the resulting files. +@ifclear FOR_PRINT Most of the tests work properly with Stewartson's shell along with the companion utilities or appropriate GNU utilities. However, some editing of @@ -35483,7 +35551,7 @@ On OS/2 the @code{pid} test fails because @code{spawnl()} is used instead of @code{fork()}/@code{execl()} to start child processes. Also the @code{mbfw1} and @code{mbprintf1} tests fail because the needed multibyte functionality is not available. - +@end ifclear @node PC Using @appendixsubsubsec Using @command{gawk} on PC Operating Systems @@ -35495,11 +35563,12 @@ multibyte functionality is not available. Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support both the @samp{|&} operator and TCP/IP networking (@pxref{TCP/IP Networking}). +@ifclear FOR_PRINT EMX (OS/2 only) supports at least the @samp{|&} operator. +@end ifclear @cindex search paths @cindex search paths, for source files -@cindex @command{gawk}, OS/2 version of @cindex @command{gawk}, MS-DOS version of @cindex @command{gawk}, MS-Windows version of @cindex @code{;} (semicolon), @code{AWKPATH} variable and @@ -35512,6 +35581,8 @@ variable. If @env{AWKPATH} is not set or is empty, then the default search path for MS-Windows and MS-DOS versions is @code{@w{".;c:/lib/awk;c:/gnu/lib/awk"}}. +@ifclear FOR_PRINT +@cindex @command{gawk}, OS/2 version of @cindex @code{UNIXROOT} variable, on OS/2 systems The search path for OS/2 (32 bit, EMX) is determined by the prefix directory (most likely @file{/usr} or @file{c:/usr}) that has been specified as an option of @@ -35529,12 +35600,24 @@ An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS or @command{cmd.exe} under MS-Windows or OS/2) may be useful for @command{awk} programming. The DJGPP collection of tools includes an MS-DOS port of Bash, and several shells are available for OS/2, including @command{ksh}. +@end ifclear +@ifset FOR_PRINT +An @command{sh}-like shell (as opposed to @command{command.com} under MS-DOS +or @command{cmd.exe} under MS-Windows) may be useful for @command{awk} programming. +The DJGPP collection of tools includes an MS-DOS port of Bash. +@end ifset @cindex common extensions, @code{BINMODE} variable @cindex extensions, common@comma{} @code{BINMODE} variable @cindex differences in @command{awk} and @command{gawk}, @code{BINMODE} variable @cindex @code{BINMODE} variable -Under MS-Windows, OS/2 and MS-DOS, @command{gawk} (and many other text programs) silently +@ifclear FOR_PRINT +Under MS-Windows, OS/2 and MS-DOS, +@end ifclear +@ifset FOR_PRINT +Under MS-Windows and MS-DOS, +@end ifset +@command{gawk} (and many other text programs) silently translate end-of-line @code{"\r\n"} to @code{"\n"} on input and @code{"\n"} to @code{"\r\n"} on output. A special @code{BINMODE} variable @value{COMMONEXT} allows control over these translations and is interpreted as follows: @@ -36079,6 +36162,8 @@ as follows: @item MS-Windows with MINGW @tab Eli Zaretskii, @EMAIL{eliz@@gnu.org,eliz at gnu dot org}. +@c Leave this in the print version on purpose. OS/2 not mentioned anywhere else +@c in the print version though. @item OS/2 @tab Andreas Buening, @EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}. @item VMS @tab Pat Rankin, @EMAIL{r.pat.rankin@@gmail.com,r.pat.rankin at gmail.com}, and @@ -36162,8 +36247,13 @@ for a list of extensions in this @command{awk} that are not in POSIX @command{aw @cindex source code, @command{mawk} @item @command{mawk} Michael Brennan wrote an independent implementation of @command{awk}, -called @command{mawk}. It is available under the GPL -(@pxref{Copying}), +called @command{mawk}. It is available under the +@ifclear FOR_PRINT +GPL (@pxref{Copying}), +@end ifclear +@ifset FOR_PRINT +GPL, +@end ifset just as @command{gawk} is. The original distribution site for the @command{mawk} source code |