diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2014-05-13 22:17:05 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2014-05-13 22:17:05 +0300 |
commit | cd78eac2bc3b182ddca47b97f7f460c3358c7b09 (patch) | |
tree | ce45b7cff871fc132e93525fc9b4c6aa4e97d9fd /doc | |
parent | 1f09ba8c86f73123383cd69d38414f8e922855e0 (diff) | |
download | egawk-cd78eac2bc3b182ddca47b97f7f460c3358c7b09.tar.gz egawk-cd78eac2bc3b182ddca47b97f7f460c3358c7b09.tar.bz2 egawk-cd78eac2bc3b182ddca47b97f7f460c3358c7b09.zip |
Get print version set up to pass makeinfo.
Diffstat (limited to 'doc')
-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 beb0413c..41671458 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 9bcd7e0c..5587b9e8 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). @@ -26557,14 +26558,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: @@ -26623,13 +26624,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' @@ -31697,7 +31698,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 128) @@ -33205,531 +33206,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-1430686 -Ref: Auto-set-Footnote-2430891 -Node: ARGC and ARGV430947 -Node: Arrays434801 -Node: Array Basics436299 -Node: Array Intro437125 -Ref: figure-array-elements439098 -Node: Reference to Elements441505 -Node: Assigning Elements443778 -Node: Array Example444269 -Node: Scanning an Array446001 -Node: Controlling Scanning449016 -Ref: Controlling Scanning-Footnote-1454189 -Node: Delete454505 -Ref: Delete-Footnote-1457270 -Node: Numeric Array Subscripts457327 -Node: Uninitialized Subscripts459510 -Node: Multidimensional461135 -Node: Multiscanning464228 -Node: Arrays of Arrays465817 -Node: Functions470457 -Node: Built-in471276 -Node: Calling Built-in472354 -Node: Numeric Functions474342 -Ref: Numeric Functions-Footnote-1478176 -Ref: Numeric Functions-Footnote-2478533 -Ref: Numeric Functions-Footnote-3478581 -Node: String Functions478850 -Ref: String Functions-Footnote-1501861 -Ref: String Functions-Footnote-2501990 -Ref: String Functions-Footnote-3502238 -Node: Gory Details502325 -Ref: table-sub-escapes503994 -Ref: table-sub-posix-92505348 -Ref: table-sub-proposed506699 -Ref: table-posix-sub508053 -Ref: table-gensub-escapes509598 -Ref: Gory Details-Footnote-1510774 -Ref: Gory Details-Footnote-2510825 -Node: I/O Functions510976 -Ref: I/O Functions-Footnote-1518099 -Node: Time Functions518246 -Ref: Time Functions-Footnote-1528710 -Ref: Time Functions-Footnote-2528778 -Ref: Time Functions-Footnote-3528936 -Ref: Time Functions-Footnote-4529047 -Ref: Time Functions-Footnote-5529159 -Ref: Time Functions-Footnote-6529386 -Node: Bitwise Functions529652 -Ref: table-bitwise-ops530214 -Ref: Bitwise Functions-Footnote-1534459 -Node: Type Functions534643 -Node: I18N Functions535785 -Node: User-defined537430 -Node: Definition Syntax538234 -Ref: Definition Syntax-Footnote-1543149 -Node: Function Example543218 -Ref: Function Example-Footnote-1545862 -Node: Function Caveats545884 -Node: Calling A Function546402 -Node: Variable Scope547357 -Node: Pass By Value/Reference550345 -Node: Return Statement553853 -Node: Dynamic Typing556835 -Node: Indirect Calls557764 -Node: Library Functions567451 -Ref: Library Functions-Footnote-1570964 -Ref: Library Functions-Footnote-2571107 -Node: Library Names571278 -Ref: Library Names-Footnote-1574751 -Ref: Library Names-Footnote-2574971 -Node: General Functions575057 -Node: Strtonum Function576085 -Node: Assert Function579015 -Node: Round Function582341 -Node: Cliff Random Function583882 -Node: Ordinal Functions584898 -Ref: Ordinal Functions-Footnote-1587975 -Ref: Ordinal Functions-Footnote-2588227 -Node: Join Function588438 -Ref: Join Function-Footnote-1590209 -Node: Getlocaltime Function590409 -Node: Readfile Function594150 -Node: Data File Management595989 -Node: Filetrans Function596621 -Node: Rewind Function600690 -Node: File Checking602077 -Node: Empty Files603171 -Node: Ignoring Assigns605401 -Node: Getopt Function606955 -Ref: Getopt Function-Footnote-1618258 -Node: Passwd Functions618461 -Ref: Passwd Functions-Footnote-1627439 -Node: Group Functions627527 -Node: Walking Arrays635611 -Node: Sample Programs637747 -Node: Running Examples638421 -Node: Clones639149 -Node: Cut Program640373 -Node: Egrep Program650224 -Ref: Egrep Program-Footnote-1657997 -Node: Id Program658107 -Node: Split Program661756 -Ref: Split Program-Footnote-1665275 -Node: Tee Program665403 -Node: Uniq Program668206 -Node: Wc Program675635 -Ref: Wc Program-Footnote-1679901 -Ref: Wc Program-Footnote-2680101 -Node: Miscellaneous Programs680193 -Node: Dupword Program681381 -Node: Alarm Program683412 -Node: Translate Program688219 -Ref: Translate Program-Footnote-1692606 -Ref: Translate Program-Footnote-2692854 -Node: Labels Program692988 -Ref: Labels Program-Footnote-1696359 -Node: Word Sorting696443 -Node: History Sorting700327 -Node: Extract Program702166 -Ref: Extract Program-Footnote-1709669 -Node: Simple Sed709797 -Node: Igawk Program712859 -Ref: Igawk Program-Footnote-1728030 -Ref: Igawk Program-Footnote-2728231 -Node: Anagram Program728369 -Node: Signature Program731437 -Node: Advanced Features732537 -Node: Nondecimal Data734423 -Node: Array Sorting736006 -Node: Controlling Array Traversal736703 -Node: Array Sorting Functions744987 -Ref: Array Sorting Functions-Footnote-1748856 -Node: Two-way I/O749050 -Ref: Two-way I/O-Footnote-1754482 -Node: TCP/IP Networking754564 -Node: Profiling757408 -Node: Internationalization764911 -Node: I18N and L10N766336 -Node: Explaining gettext767022 -Ref: Explaining gettext-Footnote-1772090 -Ref: Explaining gettext-Footnote-2772274 -Node: Programmer i18n772439 -Node: Translator i18n776666 -Node: String Extraction777460 -Ref: String Extraction-Footnote-1778421 -Node: Printf Ordering778507 -Ref: Printf Ordering-Footnote-1781289 -Node: I18N Portability781353 -Ref: I18N Portability-Footnote-1783802 -Node: I18N Example783865 -Ref: I18N Example-Footnote-1786503 -Node: Gawk I18N786575 -Node: Debugger787196 -Node: Debugging788167 -Node: Debugging Concepts788600 -Node: Debugging Terms790456 -Node: Awk Debugging793053 -Node: Sample Debugging Session793945 -Node: Debugger Invocation794465 -Node: Finding The Bug795798 -Node: List of Debugger Commands802285 -Node: Breakpoint Control803619 -Node: Debugger Execution Control807283 -Node: Viewing And Changing Data810643 -Node: Execution Stack813999 -Node: Debugger Info815466 -Node: Miscellaneous Debugger Commands819460 -Node: Readline Support824638 -Node: Limitations825469 -Node: Arbitrary Precision Arithmetic827721 -Ref: Arbitrary Precision Arithmetic-Footnote-1829370 -Node: General Arithmetic829518 -Node: Floating Point Issues831238 -Node: String Conversion Precision832119 -Ref: String Conversion Precision-Footnote-1833824 -Node: Unexpected Results833933 -Node: POSIX Floating Point Problems836086 -Ref: POSIX Floating Point Problems-Footnote-1839911 -Node: Integer Programming839949 -Node: Floating-point Programming841688 -Ref: Floating-point Programming-Footnote-1848019 -Ref: Floating-point Programming-Footnote-2848289 -Node: Floating-point Representation848553 -Node: Floating-point Context849718 -Ref: table-ieee-formats850557 -Node: Rounding Mode851941 -Ref: table-rounding-modes852420 -Ref: Rounding Mode-Footnote-1855435 -Node: Gawk and MPFR855614 -Node: Arbitrary Precision Floats857023 -Ref: Arbitrary Precision Floats-Footnote-1859466 -Node: Setting Precision859782 -Ref: table-predefined-precision-strings860468 -Node: Setting Rounding Mode862613 -Ref: table-gawk-rounding-modes863017 -Node: Floating-point Constants864204 -Node: Changing Precision865633 -Ref: Changing Precision-Footnote-1867030 -Node: Exact Arithmetic867204 -Node: Arbitrary Precision Integers870342 -Ref: Arbitrary Precision Integers-Footnote-1873357 -Node: Dynamic Extensions873504 -Node: Extension Intro874962 -Node: Plugin License876227 -Node: Extension Mechanism Outline876912 -Ref: load-extension877329 -Ref: load-new-function878807 -Ref: call-new-function879802 -Node: Extension API Description881817 -Node: Extension API Functions Introduction883104 -Node: General Data Types888031 -Ref: General Data Types-Footnote-1893726 -Node: Requesting Values894025 -Ref: table-value-types-returned894762 -Node: Memory Allocation Functions895716 -Ref: Memory Allocation Functions-Footnote-1898462 -Node: Constructor Functions898558 -Node: Registration Functions900316 -Node: Extension Functions901001 -Node: Exit Callback Functions903303 -Node: Extension Version String904552 -Node: Input Parsers905202 -Node: Output Wrappers914959 -Node: Two-way processors919469 -Node: Printing Messages921677 -Ref: Printing Messages-Footnote-1922754 -Node: Updating `ERRNO'922906 -Node: Accessing Parameters923645 -Node: Symbol Table Access924875 -Node: Symbol table by name925389 -Node: Symbol table by cookie927365 -Ref: Symbol table by cookie-Footnote-1931497 -Node: Cached values931560 -Ref: Cached values-Footnote-1935050 -Node: Array Manipulation935141 -Ref: Array Manipulation-Footnote-1936239 -Node: Array Data Types936278 -Ref: Array Data Types-Footnote-1938981 -Node: Array Functions939073 -Node: Flattening Arrays942909 -Node: Creating Arrays949761 -Node: Extension API Variables954486 -Node: Extension Versioning955122 -Node: Extension API Informational Variables957023 -Node: Extension API Boilerplate958109 -Node: Finding Extensions961913 -Node: Extension Example962473 -Node: Internal File Description963203 -Node: Internal File Ops967294 -Ref: Internal File Ops-Footnote-1978803 -Node: Using Internal File Ops978943 -Ref: Using Internal File Ops-Footnote-1981290 -Node: Extension Samples981556 -Node: Extension Sample File Functions983080 -Node: Extension Sample Fnmatch991567 -Node: Extension Sample Fork993336 -Node: Extension Sample Inplace994549 -Node: Extension Sample Ord996327 -Node: Extension Sample Readdir997163 -Node: Extension Sample Revout998695 -Node: Extension Sample Rev2way999288 -Node: Extension Sample Read write array999978 -Node: Extension Sample Readfile1001861 -Node: Extension Sample API Tests1002961 -Node: Extension Sample Time1003486 -Node: gawkextlib1004850 -Node: Language History1007631 -Node: V7/SVR3.11009224 -Node: SVR41011544 -Node: POSIX1012986 -Node: BTL1014372 -Node: POSIX/GNU1015106 -Node: Feature History1020705 -Node: Common Extensions1033681 -Node: Ranges and Locales1034993 -Ref: Ranges and Locales-Footnote-11039610 -Ref: Ranges and Locales-Footnote-21039637 -Ref: Ranges and Locales-Footnote-31039871 -Node: Contributors1040092 -Node: Installation1045473 -Node: Gawk Distribution1046367 -Node: Getting1046851 -Node: Extracting1047677 -Node: Distribution contents1049369 -Node: Unix Installation1055090 -Node: Quick Installation1055707 -Node: Additional Configuration Options1058153 -Node: Configuration Philosophy1059889 -Node: Non-Unix Installation1062243 -Node: PC Installation1062701 -Node: PC Binary Installation1064000 -Node: PC Compiling1065848 -Node: PC Testing1068792 -Node: PC Using1069968 -Node: Cygwin1074136 -Node: MSYS1074945 -Node: VMS Installation1075459 -Node: VMS Compilation1076255 -Ref: VMS Compilation-Footnote-11077507 -Node: VMS Dynamic Extensions1077565 -Node: VMS Installation Details1078938 -Node: VMS Running1081189 -Node: VMS GNV1084023 -Node: VMS Old Gawk1084746 -Node: Bugs1085216 -Node: Other Versions1089134 -Node: Notes1095218 -Node: Compatibility Mode1096018 -Node: Additions1096801 -Node: Accessing The Source1097728 -Node: Adding Code1099168 -Node: New Ports1105213 -Node: Derived Files1109348 -Ref: Derived Files-Footnote-11114669 -Ref: Derived Files-Footnote-21114703 -Ref: Derived Files-Footnote-31115303 -Node: Future Extensions1115401 -Node: Implementation Limitations1115984 -Node: Extension Design1117232 -Node: Old Extension Problems1118386 -Ref: Old Extension Problems-Footnote-11119894 -Node: Extension New Mechanism Goals1119951 -Ref: Extension New Mechanism Goals-Footnote-11123316 -Node: Extension Other Design Decisions1123502 -Node: Extension Future Growth1125608 -Node: Old Extension Mechanism1126444 -Node: Basic Concepts1128184 -Node: Basic High Level1128865 -Ref: figure-general-flow1129137 -Ref: figure-process-flow1129736 -Ref: Basic High Level-Footnote-11132965 -Node: Basic Data Typing1133150 -Node: Glossary1136505 -Node: Copying1161736 -Node: GNU Free Documentation License1199292 -Node: Index1224428 +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-1430706 +Ref: Auto-set-Footnote-2430911 +Node: ARGC and ARGV430967 +Node: Arrays434821 +Node: Array Basics436319 +Node: Array Intro437145 +Ref: figure-array-elements439118 +Node: Reference to Elements441525 +Node: Assigning Elements443798 +Node: Array Example444289 +Node: Scanning an Array446021 +Node: Controlling Scanning449036 +Ref: Controlling Scanning-Footnote-1454209 +Node: Delete454525 +Ref: Delete-Footnote-1457290 +Node: Numeric Array Subscripts457347 +Node: Uninitialized Subscripts459530 +Node: Multidimensional461155 +Node: Multiscanning464248 +Node: Arrays of Arrays465837 +Node: Functions470477 +Node: Built-in471296 +Node: Calling Built-in472374 +Node: Numeric Functions474362 +Ref: Numeric Functions-Footnote-1478196 +Ref: Numeric Functions-Footnote-2478553 +Ref: Numeric Functions-Footnote-3478601 +Node: String Functions478870 +Ref: String Functions-Footnote-1501881 +Ref: String Functions-Footnote-2502010 +Ref: String Functions-Footnote-3502258 +Node: Gory Details502345 +Ref: table-sub-escapes504014 +Ref: table-sub-posix-92505368 +Ref: table-sub-proposed506719 +Ref: table-posix-sub508073 +Ref: table-gensub-escapes509618 +Ref: Gory Details-Footnote-1510794 +Ref: Gory Details-Footnote-2510845 +Node: I/O Functions510996 +Ref: I/O Functions-Footnote-1518119 +Node: Time Functions518266 +Ref: Time Functions-Footnote-1528730 +Ref: Time Functions-Footnote-2528798 +Ref: Time Functions-Footnote-3528956 +Ref: Time Functions-Footnote-4529067 +Ref: Time Functions-Footnote-5529179 +Ref: Time Functions-Footnote-6529406 +Node: Bitwise Functions529672 +Ref: table-bitwise-ops530234 +Ref: Bitwise Functions-Footnote-1534479 +Node: Type Functions534663 +Node: I18N Functions535805 +Node: User-defined537450 +Node: Definition Syntax538254 +Ref: Definition Syntax-Footnote-1543169 +Node: Function Example543238 +Ref: Function Example-Footnote-1545882 +Node: Function Caveats545904 +Node: Calling A Function546422 +Node: Variable Scope547377 +Node: Pass By Value/Reference550365 +Node: Return Statement553873 +Node: Dynamic Typing556855 +Node: Indirect Calls557784 +Node: Library Functions567471 +Ref: Library Functions-Footnote-1570984 +Ref: Library Functions-Footnote-2571127 +Node: Library Names571298 +Ref: Library Names-Footnote-1574771 +Ref: Library Names-Footnote-2574991 +Node: General Functions575077 +Node: Strtonum Function576105 +Node: Assert Function579035 +Node: Round Function582361 +Node: Cliff Random Function583902 +Node: Ordinal Functions584918 +Ref: Ordinal Functions-Footnote-1587995 +Ref: Ordinal Functions-Footnote-2588247 +Node: Join Function588458 +Ref: Join Function-Footnote-1590229 +Node: Getlocaltime Function590429 +Node: Readfile Function594170 +Node: Data File Management596009 +Node: Filetrans Function596641 +Node: Rewind Function600710 +Node: File Checking602097 +Node: Empty Files603191 +Node: Ignoring Assigns605421 +Node: Getopt Function606975 +Ref: Getopt Function-Footnote-1618278 +Node: Passwd Functions618481 +Ref: Passwd Functions-Footnote-1627459 +Node: Group Functions627547 +Node: Walking Arrays635631 +Node: Sample Programs637767 +Node: Running Examples638441 +Node: Clones639169 +Node: Cut Program640393 +Node: Egrep Program650244 +Ref: Egrep Program-Footnote-1658017 +Node: Id Program658127 +Node: Split Program661776 +Ref: Split Program-Footnote-1665295 +Node: Tee Program665423 +Node: Uniq Program668226 +Node: Wc Program675655 +Ref: Wc Program-Footnote-1679921 +Ref: Wc Program-Footnote-2680121 +Node: Miscellaneous Programs680213 +Node: Dupword Program681401 +Node: Alarm Program683432 +Node: Translate Program688239 +Ref: Translate Program-Footnote-1692626 +Ref: Translate Program-Footnote-2692874 +Node: Labels Program693008 +Ref: Labels Program-Footnote-1696379 +Node: Word Sorting696463 +Node: History Sorting700347 +Node: Extract Program702186 +Ref: Extract Program-Footnote-1709689 +Node: Simple Sed709817 +Node: Igawk Program712879 +Ref: Igawk Program-Footnote-1728050 +Ref: Igawk Program-Footnote-2728251 +Node: Anagram Program728389 +Node: Signature Program731457 +Node: Advanced Features732557 +Node: Nondecimal Data734443 +Node: Array Sorting736026 +Node: Controlling Array Traversal736723 +Node: Array Sorting Functions745007 +Ref: Array Sorting Functions-Footnote-1748876 +Node: Two-way I/O749070 +Ref: Two-way I/O-Footnote-1754502 +Node: TCP/IP Networking754584 +Node: Profiling757428 +Node: Internationalization764931 +Node: I18N and L10N766356 +Node: Explaining gettext767042 +Ref: Explaining gettext-Footnote-1772110 +Ref: Explaining gettext-Footnote-2772294 +Node: Programmer i18n772459 +Node: Translator i18n776686 +Node: String Extraction777480 +Ref: String Extraction-Footnote-1778441 +Node: Printf Ordering778527 +Ref: Printf Ordering-Footnote-1781309 +Node: I18N Portability781373 +Ref: I18N Portability-Footnote-1783822 +Node: I18N Example783885 +Ref: I18N Example-Footnote-1786523 +Node: Gawk I18N786595 +Node: Debugger787216 +Node: Debugging788187 +Node: Debugging Concepts788620 +Node: Debugging Terms790476 +Node: Awk Debugging793073 +Node: Sample Debugging Session793965 +Node: Debugger Invocation794485 +Node: Finding The Bug795818 +Node: List of Debugger Commands802305 +Node: Breakpoint Control803639 +Node: Debugger Execution Control807303 +Node: Viewing And Changing Data810663 +Node: Execution Stack814019 +Node: Debugger Info815486 +Node: Miscellaneous Debugger Commands819480 +Node: Readline Support824658 +Node: Limitations825489 +Node: Arbitrary Precision Arithmetic827741 +Ref: Arbitrary Precision Arithmetic-Footnote-1829390 +Node: General Arithmetic829538 +Node: Floating Point Issues831258 +Node: String Conversion Precision832139 +Ref: String Conversion Precision-Footnote-1833844 +Node: Unexpected Results833953 +Node: POSIX Floating Point Problems836106 +Ref: POSIX Floating Point Problems-Footnote-1839931 +Node: Integer Programming839969 +Node: Floating-point Programming841708 +Ref: Floating-point Programming-Footnote-1848039 +Ref: Floating-point Programming-Footnote-2848309 +Node: Floating-point Representation848573 +Node: Floating-point Context849738 +Ref: table-ieee-formats850577 +Node: Rounding Mode851961 +Ref: table-rounding-modes852440 +Ref: Rounding Mode-Footnote-1855455 +Node: Gawk and MPFR855634 +Node: Arbitrary Precision Floats857043 +Ref: Arbitrary Precision Floats-Footnote-1859486 +Node: Setting Precision859802 +Ref: table-predefined-precision-strings860488 +Node: Setting Rounding Mode862633 +Ref: table-gawk-rounding-modes863037 +Node: Floating-point Constants864224 +Node: Changing Precision865653 +Ref: Changing Precision-Footnote-1867050 +Node: Exact Arithmetic867224 +Node: Arbitrary Precision Integers870362 +Ref: Arbitrary Precision Integers-Footnote-1873377 +Node: Dynamic Extensions873524 +Node: Extension Intro874982 +Node: Plugin License876247 +Node: Extension Mechanism Outline876932 +Ref: load-extension877349 +Ref: load-new-function878827 +Ref: call-new-function879822 +Node: Extension API Description881837 +Node: Extension API Functions Introduction883124 +Node: General Data Types888051 +Ref: General Data Types-Footnote-1893746 +Node: Requesting Values894045 +Ref: table-value-types-returned894782 +Node: Memory Allocation Functions895736 +Ref: Memory Allocation Functions-Footnote-1898482 +Node: Constructor Functions898578 +Node: Registration Functions900336 +Node: Extension Functions901021 +Node: Exit Callback Functions903323 +Node: Extension Version String904572 +Node: Input Parsers905222 +Node: Output Wrappers914979 +Node: Two-way processors919489 +Node: Printing Messages921697 +Ref: Printing Messages-Footnote-1922774 +Node: Updating `ERRNO'922926 +Node: Accessing Parameters923665 +Node: Symbol Table Access924895 +Node: Symbol table by name925409 +Node: Symbol table by cookie927385 +Ref: Symbol table by cookie-Footnote-1931517 +Node: Cached values931580 +Ref: Cached values-Footnote-1935070 +Node: Array Manipulation935161 +Ref: Array Manipulation-Footnote-1936259 +Node: Array Data Types936298 +Ref: Array Data Types-Footnote-1939001 +Node: Array Functions939093 +Node: Flattening Arrays942929 +Node: Creating Arrays949781 +Node: Extension API Variables954506 +Node: Extension Versioning955142 +Node: Extension API Informational Variables957043 +Node: Extension API Boilerplate958129 +Node: Finding Extensions961933 +Node: Extension Example962493 +Node: Internal File Description963223 +Node: Internal File Ops967314 +Ref: Internal File Ops-Footnote-1978823 +Node: Using Internal File Ops978963 +Ref: Using Internal File Ops-Footnote-1981310 +Node: Extension Samples981576 +Node: Extension Sample File Functions983100 +Node: Extension Sample Fnmatch991587 +Node: Extension Sample Fork993356 +Node: Extension Sample Inplace994569 +Node: Extension Sample Ord996347 +Node: Extension Sample Readdir997183 +Node: Extension Sample Revout998715 +Node: Extension Sample Rev2way999308 +Node: Extension Sample Read write array999998 +Node: Extension Sample Readfile1001881 +Node: Extension Sample API Tests1002981 +Node: Extension Sample Time1003506 +Node: gawkextlib1004870 +Node: Language History1007651 +Node: V7/SVR3.11009244 +Node: SVR41011564 +Node: POSIX1013006 +Node: BTL1014392 +Node: POSIX/GNU1015126 +Node: Feature History1020725 +Node: Common Extensions1033701 +Node: Ranges and Locales1035013 +Ref: Ranges and Locales-Footnote-11039630 +Ref: Ranges and Locales-Footnote-21039657 +Ref: Ranges and Locales-Footnote-31039891 +Node: Contributors1040112 +Node: Installation1045493 +Node: Gawk Distribution1046387 +Node: Getting1046871 +Node: Extracting1047697 +Node: Distribution contents1049389 +Node: Unix Installation1055110 +Node: Quick Installation1055727 +Node: Additional Configuration Options1058173 +Node: Configuration Philosophy1059909 +Node: Non-Unix Installation1062263 +Node: PC Installation1062721 +Node: PC Binary Installation1064032 +Node: PC Compiling1065880 +Node: PC Testing1068840 +Node: PC Using1070016 +Node: Cygwin1074184 +Node: MSYS1074993 +Node: VMS Installation1075507 +Node: VMS Compilation1076303 +Ref: VMS Compilation-Footnote-11077555 +Node: VMS Dynamic Extensions1077613 +Node: VMS Installation Details1078986 +Node: VMS Running1081237 +Node: VMS GNV1084071 +Node: VMS Old Gawk1084794 +Node: Bugs1085264 +Node: Other Versions1089182 +Node: Notes1095266 +Node: Compatibility Mode1096066 +Node: Additions1096849 +Node: Accessing The Source1097776 +Node: Adding Code1099216 +Node: New Ports1105261 +Node: Derived Files1109396 +Ref: Derived Files-Footnote-11114717 +Ref: Derived Files-Footnote-21114751 +Ref: Derived Files-Footnote-31115351 +Node: Future Extensions1115449 +Node: Implementation Limitations1116032 +Node: Extension Design1117280 +Node: Old Extension Problems1118434 +Ref: Old Extension Problems-Footnote-11119942 +Node: Extension New Mechanism Goals1119999 +Ref: Extension New Mechanism Goals-Footnote-11123364 +Node: Extension Other Design Decisions1123550 +Node: Extension Future Growth1125656 +Node: Old Extension Mechanism1126492 +Node: Basic Concepts1128232 +Node: Basic High Level1128913 +Ref: figure-general-flow1129185 +Ref: figure-process-flow1129784 +Ref: Basic High Level-Footnote-11133013 +Node: Basic Data Typing1133198 +Node: Glossary1136553 +Node: Copying1161784 +Node: GNU Free Documentation License1199340 +Node: Index1224476 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index c69be641..10897efd 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} @@ -17670,8 +17695,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}, @@ -19543,9 +19573,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 @@ -30156,8 +30188,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 @@ -30613,8 +30652,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. @@ -32492,8 +32534,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; @@ -35915,7 +35963,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/* @@ -36146,16 +36197,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. @@ -36169,6 +36225,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 @@ -36207,13 +36264,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. @@ -36235,6 +36300,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. @@ -36308,6 +36374,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 @@ -36319,6 +36386,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 @@ -36331,7 +36399,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 @@ -36343,11 +36411,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 @@ -36360,6 +36429,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 @@ -36377,12 +36448,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: @@ -36926,6 +37009,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 @@ -37008,8 +37093,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 6e1b9fba..f54748e6 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} @@ -16843,8 +16868,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}, @@ -18716,9 +18746,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 @@ -29300,8 +29332,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 @@ -29757,8 +29796,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. @@ -31636,8 +31678,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; @@ -35059,7 +35107,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/* @@ -35290,16 +35341,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. @@ -35313,6 +35369,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 @@ -35351,13 +35408,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. @@ -35379,6 +35444,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. @@ -35452,6 +35518,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 @@ -35463,6 +35530,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 @@ -35475,7 +35543,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 @@ -35487,11 +35555,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 @@ -35504,6 +35573,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 @@ -35521,12 +35592,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: @@ -36070,6 +36153,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 @@ -36152,8 +36237,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 |