diff options
-rw-r--r-- | awklib/eg/lib/grcat.c | 1 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 1405 | ||||
-rw-r--r-- | doc/gawk.texi | 283 | ||||
-rw-r--r-- | doc/gawktexi.in | 283 |
5 files changed, 694 insertions, 1283 deletions
diff --git a/awklib/eg/lib/grcat.c b/awklib/eg/lib/grcat.c index cf39083c..30e81cca 100644 --- a/awklib/eg/lib/grcat.c +++ b/awklib/eg/lib/grcat.c @@ -9,7 +9,6 @@ * December 2010, move to ANSI C definition for main(). */ -/* For OS/2, do nothing. */ #if HAVE_CONFIG_H #include <config.h> #endif diff --git a/doc/ChangeLog b/doc/ChangeLog index f5743cb0..305fc8e4 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2016-10-23 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in: Remove references to MS-DOS and OS/2, + simplify the whole section on PC operating systems. + 2016-10-02 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in (Bugs): Rework this section and break into diff --git a/doc/gawk.info b/doc/gawk.info index 3c68a117..1faa775c 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -624,14 +624,11 @@ in (a) below. A copy of the license is included in the section entitled * Configuration Philosophy:: How it's all supposed to work. * Non-Unix Installation:: Installation on Other Operating Systems. -* PC Installation:: Installing and Compiling - 'gawk' on MS-DOS and OS/2. +* PC Installation:: Installing and Compiling 'gawk' on + Microsoft Windows. * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling 'gawk' for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing 'gawk' on PC systems. -* PC Using:: Running 'gawk' on MS-DOS, - Windows32 and OS/2. +* PC Compiling:: Compiling 'gawk' for Windows32. +* PC Using:: Running 'gawk' on Windows32. * Cygwin:: Building and running 'gawk' for Cygwin. * MSYS:: Using 'gawk' In The MSYS @@ -869,8 +866,7 @@ 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-architecture PC-based computers up through large-scale systems. 'gawk' has also been ported -to Mac OS X, Microsoft Windows (all versions) and OS/2 PCs, and -OpenVMS.(3) +to Mac OS X, Microsoft Windows (all versions), and OpenVMS.(3) * Menu: @@ -1515,8 +1511,7 @@ following command line: 'awk' applies the PROGRAM to the "standard input", which usually means whatever you type on the keyboard. This continues until you indicate end-of-file by typing 'Ctrl-d'. (On non-POSIX operating systems, the -end-of-file character may be different. For example, on OS/2, it is -'Ctrl-z'.) +end-of-file character may be different.) As an example, the following program prints a friendly piece of advice (from Douglas Adams's 'The Hitchhiker's Guide to the Galaxy'), to @@ -2961,7 +2956,7 @@ been found, and 'gawk' no longer needs to use 'AWKPATH'. ---------- Footnotes ---------- - (1) Semicolons on MS-Windows and MS-DOS. + (1) Semicolons on MS-Windows. (2) Your version of 'gawk' may use a different directory; it will depend upon how 'gawk' was built and installed. The actual directory is @@ -28091,8 +28086,8 @@ Various '.c', '.y', and '.h' files Files needed for building 'gawk' on POSIX-compliant systems. 'pc/*' - Files needed for building 'gawk' under MS-Windows and OS/2 (*note - PC Installation:: for details). + Files needed for building 'gawk' under MS-Windows (*note PC + Installation:: for details). 'vms/*' Files needed for building 'gawk' under Vax/VMS and OpenVMS (*note @@ -28311,35 +28306,27 @@ systems. * Menu: * PC Installation:: Installing and Compiling 'gawk' on - MS-DOS and OS/2. + Microsoft Windows. * VMS Installation:: Installing 'gawk' on VMS. File: gawk.info, Node: PC Installation, Next: VMS Installation, Up: Non-Unix Installation -B.3.1 Installation on PC Operating Systems ------------------------------------------- +B.3.1 Installation on MS-Windows +-------------------------------- This minor node covers installation and usage of 'gawk' on Intel -architecture 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/8. +architecture machines running any version of MS-Windows. In this minor +node, the term "Windows32" refers to any of Microsoft Windows +95/98/ME/NT/2000/XP/Vista/7/8/10. - The limitations of MS-DOS (and MS-DOS shells under the other -operating systems) have 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, refer to 'README_d/README.pc' in the -distribution. + See also the 'README_d/README.pc' file in the distribution. * Menu: * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling 'gawk' for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing 'gawk' on PC systems. -* PC Using:: Running 'gawk' on MS-DOS, Windows32 - and OS/2. +* PC Compiling:: Compiling 'gawk' for Windows32. +* PC Using:: Running 'gawk' on Windows32. * Cygwin:: Building and running 'gawk' for Cygwin. * MSYS:: Using 'gawk' In The MSYS Environment. @@ -28347,59 +28334,31 @@ distribution. File: gawk.info, Node: PC Binary Installation, Next: PC Compiling, Up: PC Installation -B.3.1.1 Installing a Prepared Distribution for PC Systems -......................................................... - -If you have received a binary distribution prepared by the MS-DOS -maintainers, then 'gawk' and the necessary support files appear under -the 'gnu' directory, with executables in 'gnu/bin', libraries in -'gnu/lib/awk', and manual pages under 'gnu/man'. This is designed for -easy installation to a '/gnu' directory on your drive--however, the -files can be installed anywhere provided 'AWKPATH' is set properly. -Regardless of the installation directory, the first line of 'igawk.cmd' -and 'igawk.bat' (in 'gnu/bin') may need to be edited. - - The binary distribution contains a separate file describing the -contents. In particular, it may include more than one version of the -'gawk' executable. +B.3.1.1 Installing a Prepared Distribution for MS-Windows Systems +................................................................. - OS/2 (32 bit, EMX) binary distributions are prepared for the '/usr' -directory of your preferred drive. Set 'UNIXROOT' to your installation -drive (e.g., 'e:') if you want to install 'gawk' onto another drive than -the hardcoded default 'c:'. Executables appear in '/usr/bin', libraries -under '/usr/share/awk', manual pages under '/usr/man', Texinfo -documentation under '/usr/info', and NLS files under -'/usr/share/locale'. Note that the files can be installed anywhere -provided 'AWKPATH' is set properly. - - If you already have a file '/usr/info/dir' from another package _do -not overwrite it!_ Instead enter the following commands at your prompt -(replace 'x:' by your installation drive): - - install-info --info-dir=x:/usr/info x:/usr/info/gawk.info - 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. +The only supported binary distribution for MS-Windows systems is that +provided by Eli Zaretskii's "ezwinports" +(https://sourceforge.net/projects/ezwinports/) project. Install the +compiled 'gawk' from there. -File: gawk.info, Node: PC Compiling, Next: PC Testing, Prev: PC Binary Installation, Up: PC Installation +File: gawk.info, Node: PC Compiling, Next: PC Using, Prev: PC Binary Installation, Up: PC Installation B.3.1.2 Compiling 'gawk' for PC Operating Systems ................................................. -'gawk' can be compiled for MS-DOS, Windows32, and OS/2 using MinGW -(Windows32) or Eberhard Mattes (EMX: MS-DOS, Windows32 and OS/2). The -file 'README_d/README.pc' in the 'gawk' distribution contains additional +'gawk' can be compiled for Windows32 using MinGW (Windows32). 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' -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' -directory contains a configuration section with comments and may need to -be edited in order to work with your 'make' utility. + To build 'gawk' for 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' directory +contains a configuration section with comments and may need to be edited +in order to work with your 'make' utility. The 'Makefile' supports a number of targets for building various MS-DOS and Windows32 versions. A list of targets is printed if the @@ -28407,120 +28366,25 @@ MS-DOS and Windows32 versions. A list of targets is printed if the native MS-Windows binary of 'gawk' using the MinGW tools, type 'make mingw32'. - The 32 bit EMX version of 'gawk' works "out of the box" under OS/2. -However, it is highly recommended to use GCC 2.95.3 for the compilation. -In principle, it is possible to compile 'gawk' the following way: - - $ ./configure - $ make - - This is not recommended, though. To get an OMF executable you should -use the following commands at your 'sh' prompt: - - $ CFLAGS="-O2 -Zomf -Zmt" - $ export CFLAGS - $ LDFLAGS="-s -Zcrtdll -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x6000" - $ export LDFLAGS - $ RANLIB="echo" - $ export RANLIB - $ ./configure --prefix=c:/usr - $ make AR=emxomfar - - These are just suggestions for use with GCC 2.x. You may use any -other set of (self-consistent) environment variables and compiler flags. - - If you use GCC 2.95 it is recommended to use also: - - $ LIBS="-lgcc" - $ export LIBS - - You can also get an 'a.out' executable if you prefer: - - $ CFLAGS="-O2 -Zmt" - $ export CFLAGS - $ LDFLAGS="-s -Zstack 0x6000" - $ LIBS="-lgcc" - $ unset RANLIB - $ ./configure --prefix=c:/usr - $ make - - NOTE: Compilation of 'a.out' executables also works with GCC 3.2. - Versions later than GCC 3.2 have not been tested successfully. - - 'make install' works as expected with the EMX build. - - NOTE: Ancient OS/2 ports of GNU 'make' are not able to handle the - Makefiles of this package. If you encounter any problems with - 'make', try GNU Make 3.79.1 or later versions. You should find the - latest version on <ftp://hobbes.nmsu.edu/pub/os2/>.(1) - - ---------- Footnotes ---------- - - (1) As of November 2014, this site is still there, but the author -could not find a package for GNU Make. - -File: gawk.info, Node: PC Testing, Next: PC Using, Prev: PC Compiling, Up: PC Installation - -B.3.1.3 Testing 'gawk' on PC Operating Systems -.............................................. +File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Compiling, Up: PC Installation -Using 'make' to run the standard tests and to install 'gawk' requires -additional Unix-like tools, including 'sh', 'sed', and 'cp'. In order -to run the tests, the 'test/*.ok' files may need to be converted so that -they have the usual MS-DOS-style end-of-line markers. Alternatively, -run 'make check CMP="diff -a"' to use GNU 'diff' in text mode instead of -'cmp' to compare the resulting files. - - Most of the tests work properly with Stewartson's shell along with -the companion utilities or appropriate GNU utilities. However, some -editing of 'test/Makefile' is required. It is recommended that you copy -the file 'pc/Makefile.tst' over the file 'test/Makefile' as a -replacement. Details can be found in 'README_d/README.pc' and in the -file 'pc/Makefile.tst'. - - On OS/2 the 'pid' test fails because 'spawnl()' is used instead of -'fork()'/'execl()' to start child processes. Also the 'mbfw1' and -'mbprintf1' tests fail because the needed multibyte functionality is not -available. - - -File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Testing, Up: PC Installation - -B.3.1.4 Using 'gawk' on PC Operating Systems +B.3.1.3 Using 'gawk' on PC Operating Systems ............................................ -Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support -both the '|&' operator and TCP/IP networking (*note TCP/IP -Networking::). EMX (OS/2 only) supports at least the '|&' operator. +Under MS-Windows, the Cygwin and MinGW environments support both the +'|&' operator and TCP/IP networking (*note TCP/IP Networking::). - The MS-DOS and MS-Windows versions of 'gawk' search for program files -as described in *note AWKPATH Variable::. However, semicolons (rather -than colons) separate elements in the 'AWKPATH' variable. If 'AWKPATH' -is not set or is empty, then the default search path is + The MS-Windows version of 'gawk' searches for program files as +described in *note AWKPATH Variable::. However, semicolons (rather than +colons) separate elements in the 'AWKPATH' variable. If 'AWKPATH' is +not set or is empty, then the default search path is '.;c:/lib/awk;c:/gnu/lib/awk'. - The search path for OS/2 (32 bit, EMX) is determined by the prefix -directory (most likely '/usr' or 'c:/usr') that has been specified as an -option of the 'configure' script as is the case for the Unix versions. -If 'c:/usr' is the prefix directory then the default search path -contains '.' and 'c:/usr/share/awk'. Additionally, to support binary -distributions of 'gawk' for OS/2 systems whose drive 'c:' might not -support long file names or might not exist at all, there is a special -environment variable. If 'UNIXROOT' specifies a drive then this -specific drive is also searched for program files. E.g., if 'UNIXROOT' -is set to 'e:' the complete default search path is -'.;c:/usr/share/awk;e:/usr/share/awk'. - - An 'sh'-like shell (as opposed to 'command.com' under MS-DOS or -'cmd.exe' under MS-Windows or OS/2) may be useful for 'awk' programming. -The DJGPP collection of tools(1) includes an MS-DOS port of Bash, and -several shells are available for OS/2, including 'ksh'. - - Under MS-Windows, OS/2 and MS-DOS, 'gawk' (and many other text -programs) silently translates end-of-line '\r\n' to '\n' on input and -'\n' to '\r\n' on output. A special 'BINMODE' variable (c.e.) allows -control over these translations and is interpreted as follows: + Under MS-Windows, 'gawk' (and many other text programs) silently +translates end-of-line '\r\n' to '\n' on input and '\n' to '\r\n' on +output. A special 'BINMODE' variable (c.e.) allows control over these +translations and is interpreted as follows: * If 'BINMODE' is '"r"' or one, then binary mode is set on read (i.e., no translations on reads). @@ -28576,14 +28440,10 @@ or: With proper quoting, in the first example the setting of 'RS' can be moved into the 'BEGIN' rule. - ---------- Footnotes ---------- - - (1) Available from <ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/>. - File: gawk.info, Node: Cygwin, Next: MSYS, Prev: PC Using, Up: PC Installation -B.3.1.5 Using 'gawk' In The Cygwin Environment +B.3.1.4 Using 'gawk' In The Cygwin Environment .............................................. 'gawk' can be built and used "out of the box" under MS-Windows if you @@ -28604,7 +28464,7 @@ the 'make' proceeds as usual. File: gawk.info, Node: MSYS, Prev: Cygwin, Up: PC Installation -B.3.1.6 Using 'gawk' In The MSYS Environment +B.3.1.5 Using 'gawk' In The MSYS Environment ............................................ In the MSYS environment under MS-Windows, 'gawk' automatically uses @@ -29211,9 +29071,9 @@ B.6 Summary ./configure && make && make check * 'gawk' may be built on non-POSIX systems as well. The currently - supported systems are MS-Windows using MSYS, MinGW, and Cygwin, - OS/2 using EMX, and both Vax/VMS and OpenVMS. Instructions for each - system are included in this major node. + supported systems are MS-Windows using MSYS, MinGW, and Cygwin, and + both Vax/VMS and OpenVMS. Instructions for each system are included + in this major node. * Bug reports should be sent via email to <bug-gawk@gnu.org>. Bug reports should be in English and should include the version of @@ -32362,7 +32222,7 @@ Index * /inet/... special files (gawk): TCP/IP Networking. (line 6) * /inet4/... special files (gawk): TCP/IP Networking. (line 6) * /inet6/... special files (gawk): TCP/IP Networking. (line 6) -* ; (semicolon), AWKPATH variable and: PC Using. (line 10) +* ; (semicolon), AWKPATH variable and: PC Using. (line 9) * ; (semicolon), separating statements in actions: Statements/Lines. (line 90) * ; (semicolon), separating statements in actions <1>: Action Overview. @@ -32657,7 +32517,7 @@ Index * awk programs, running: Running gawk. (line 6) * awk programs, running <1>: Long. (line 6) * awk programs, running, from shell scripts: One-shot. (line 22) -* awk programs, running, without input files: Read Terminal. (line 17) +* awk programs, running, without input files: Read Terminal. (line 16) * awk programs, shell variables in: Using Shell Variables. (line 6) * awk, function of: Getting Started. (line 6) @@ -32690,7 +32550,7 @@ Index * awka compiler for awk: Other Versions. (line 68) * AWKLIBPATH environment variable: AWKLIBPATH Variable. (line 6) * AWKPATH environment variable: AWKPATH Variable. (line 6) -* AWKPATH environment variable <1>: PC Using. (line 10) +* AWKPATH environment variable <1>: PC Using. (line 9) * awkprof.out file: Profiling. (line 6) * awksed.awk program: Simple Sed. (line 25) * awkvars.out file: Options. (line 94) @@ -32784,7 +32644,7 @@ Index * bindtextdomain() function (gawk), portability and: I18N Portability. (line 33) * BINMODE variable: User-modified. (line 15) -* BINMODE variable <1>: PC Using. (line 35) +* BINMODE variable <1>: PC Using. (line 16) * bit-manipulation functions: Bitwise Functions. (line 6) * bits2str() user-defined function: Bitwise Functions. (line 72) * bitwise AND: Bitwise Functions. (line 40) @@ -32965,7 +32825,7 @@ Index * common extensions, /dev/stderr special file: Special FD. (line 48) * common extensions, /dev/stdin special file: Special FD. (line 48) * common extensions, /dev/stdout special file: Special FD. (line 48) -* common extensions, BINMODE variable: PC Using. (line 35) +* common extensions, BINMODE variable: PC Using. (line 16) * common extensions, delete to delete entire arrays: Delete. (line 39) * common extensions, func keyword: Definition Syntax. (line 99) * common extensions, length() applied to an array: String Functions. @@ -32990,9 +32850,8 @@ Index * compiled programs: Basic High Level. (line 13) * compiled programs <1>: Glossary. (line 218) * compiling gawk for Cygwin: Cygwin. (line 6) -* compiling gawk for MS-DOS and MS-Windows: PC Compiling. (line 12) +* compiling gawk for MS-Windows: PC Compiling. (line 11) * compiling gawk for VMS: VMS Compilation. (line 6) -* compiling gawk with EMX for OS/2: PC Compiling. (line 25) * compl: Bitwise Functions. (line 44) * complement, bitwise: Bitwise Functions. (line 25) * compound statements, control statements and: Statements. (line 10) @@ -33266,7 +33125,7 @@ Index * differences in awk and gawk, BINMODE variable: User-modified. (line 15) * differences in awk and gawk, BINMODE variable <1>: PC Using. - (line 35) + (line 16) * differences in awk and gawk, close() function: Close Files And Pipes. (line 81) * differences in awk and gawk, close() function <1>: Close Files And Pipes. @@ -33499,7 +33358,7 @@ Index * extensions, common, /dev/stderr special file: Special FD. (line 48) * extensions, common, /dev/stdin special file: Special FD. (line 48) * extensions, common, /dev/stdout special file: Special FD. (line 48) -* extensions, common, BINMODE variable: PC Using. (line 35) +* extensions, common, BINMODE variable: PC Using. (line 16) * extensions, common, delete to delete entire arrays: Delete. (line 39) * extensions, common, fflush() function: I/O Functions. (line 43) * extensions, common, func keyword: Definition Syntax. (line 99) @@ -33589,7 +33448,7 @@ Index * files, descriptors, See file descriptors: Special FD. (line 6) * files, group: Group Functions. (line 6) * files, initialization and cleanup: Filetrans Function. (line 6) -* files, input, See input files: Read Terminal. (line 17) +* files, input, See input files: Read Terminal. (line 16) * files, log, timestamps in: Time Functions. (line 6) * files, managing: Data File Management. (line 6) @@ -33800,11 +33659,9 @@ Index * gawk, line continuation in: Conditional Exp. (line 34) * gawk, LINT variable in: User-modified. (line 87) * gawk, list of contributors to: Contributors. (line 6) -* gawk, MS-DOS version of: PC Using. (line 10) -* gawk, MS-Windows version of: PC Using. (line 10) +* gawk, MS-Windows version of: PC Using. (line 9) * gawk, newlines in: Statements/Lines. (line 12) * gawk, octal numbers and: Nondecimal-numbers. (line 41) -* gawk, OS/2 version of: PC Using. (line 17) * gawk, predefined variables and: Built-in Variables. (line 14) * gawk, PROCINFO array in: Auto-set. (line 148) * gawk, PROCINFO array in <1>: Time Functions. (line 47) @@ -34003,7 +33860,7 @@ Index * input files, examples: Sample Data Files. (line 6) * input files, reading: Reading Files. (line 6) * input files, running awk without: Read Terminal. (line 6) -* input files, running awk without <1>: Read Terminal. (line 17) +* input files, running awk without <1>: Read Terminal. (line 16) * input files, variable assignments and: Other Arguments. (line 26) * input pipeline: Getline/Pipe. (line 10) * input record, length of: String Functions. (line 177) @@ -34812,12 +34669,12 @@ Index * search and replace in strings: String Functions. (line 89) * search in string: String Functions. (line 155) * search paths: Programs Exercises. (line 70) -* search paths <1>: PC Using. (line 10) +* search paths <1>: PC Using. (line 9) * search paths <2>: VMS Running. (line 57) * search paths, for loadable extensions: AWKLIBPATH Variable. (line 6) * search paths, for source files: AWKPATH Variable. (line 6) * search paths, for source files <1>: Programs Exercises. (line 70) -* search paths, for source files <2>: PC Using. (line 10) +* search paths, for source files <2>: PC Using. (line 9) * search paths, for source files <3>: VMS Running. (line 57) * searching, files for regular expressions: Egrep Program. (line 6) * searching, for words: Dupword Program. (line 6) @@ -34825,7 +34682,7 @@ Index * sed utility <1>: Simple Sed. (line 6) * sed utility <2>: Glossary. (line 16) * seeding random number generator: Numeric Functions. (line 79) -* semicolon (;), AWKPATH variable and: PC Using. (line 10) +* semicolon (;), AWKPATH variable and: PC Using. (line 9) * semicolon (;), separating statements in actions: Statements/Lines. (line 90) * semicolon (;), separating statements in actions <1>: Action Overview. @@ -35189,7 +35046,6 @@ Index * Unix awk, password files, field separators and: Command Line Field Separator. (line 62) * Unix, awk scripts and: Executable Scripts. (line 6) -* UNIXROOT variable, on OS/2 systems: PC Using. (line 17) * unsigned integers: Computer Arithmetic. (line 41) * until debugger command: Debugger Execution Control. (line 82) @@ -35308,573 +35164,570 @@ Index Tag Table: Node: Top1200 -Node: Foreword342713 -Node: Foreword447155 -Node: Preface48687 -Ref: Preface-Footnote-151559 -Ref: Preface-Footnote-251666 -Ref: Preface-Footnote-351900 -Node: History52042 -Node: Names54394 -Ref: Names-Footnote-155488 -Node: This Manual55635 -Ref: This Manual-Footnote-162120 -Node: Conventions62220 -Node: Manual History64574 -Ref: Manual History-Footnote-167569 -Ref: Manual History-Footnote-267610 -Node: How To Contribute67684 -Node: Acknowledgments68813 -Node: Getting Started73699 -Node: Running gawk76138 -Node: One-shot77328 -Node: Read Terminal78591 -Node: Long80623 -Node: Executable Scripts82136 -Ref: Executable Scripts-Footnote-184931 -Node: Comments85034 -Node: Quoting87518 -Node: DOS Quoting93035 -Node: Sample Data Files93710 -Node: Very Simple96305 -Node: Two Rules101207 -Node: More Complex103092 -Node: Statements/Lines105958 -Ref: Statements/Lines-Footnote-1110417 -Node: Other Features110682 -Node: When111618 -Ref: When-Footnote-1113372 -Node: Intro Summary113437 -Node: Invoking Gawk114321 -Node: Command Line115835 -Node: Options116633 -Ref: Options-Footnote-1132732 -Ref: Options-Footnote-2132962 -Node: Other Arguments132987 -Node: Naming Standard Input135934 -Node: Environment Variables137027 -Node: AWKPATH Variable137585 -Ref: AWKPATH Variable-Footnote-1140996 -Ref: AWKPATH Variable-Footnote-2141041 -Node: AWKLIBPATH Variable141302 -Node: Other Environment Variables142559 -Node: Exit Status146380 -Node: Include Files147057 -Node: Loading Shared Libraries150652 -Node: Obsolete152080 -Node: Undocumented152772 -Node: Invoking Summary153069 -Node: Regexp154729 -Node: Regexp Usage156248 -Node: Escape Sequences158285 -Node: Regexp Operators164517 -Ref: Regexp Operators-Footnote-1171933 -Ref: Regexp Operators-Footnote-2172080 -Node: Bracket Expressions172178 -Ref: table-char-classes174654 -Node: Leftmost Longest177791 -Node: Computed Regexps179094 -Node: GNU Regexp Operators182521 -Node: Case-sensitivity186200 -Ref: Case-sensitivity-Footnote-1189096 -Ref: Case-sensitivity-Footnote-2189331 -Node: Strong Regexp Constants189439 -Node: Regexp Summary190228 -Node: Reading Files191703 -Node: Records193866 -Node: awk split records194599 -Node: gawk split records199530 -Ref: gawk split records-Footnote-1204070 -Node: Fields204107 -Node: Nonconstant Fields206848 -Ref: Nonconstant Fields-Footnote-1209084 -Node: Changing Fields209288 -Node: Field Separators215216 -Node: Default Field Splitting217914 -Node: Regexp Field Splitting219032 -Node: Single Character Fields222385 -Node: Command Line Field Separator223445 -Node: Full Line Fields226663 -Ref: Full Line Fields-Footnote-1228185 -Ref: Full Line Fields-Footnote-2228231 -Node: Field Splitting Summary228332 -Node: Constant Size230406 -Node: Splitting By Content234984 -Ref: Splitting By Content-Footnote-1238955 -Node: Multiple Line239118 -Ref: Multiple Line-Footnote-1245000 -Node: Getline245179 -Node: Plain Getline247646 -Node: Getline/Variable250285 -Node: Getline/File251434 -Node: Getline/Variable/File252820 -Ref: Getline/Variable/File-Footnote-1254423 -Node: Getline/Pipe254511 -Node: Getline/Variable/Pipe257216 -Node: Getline/Coprocess258349 -Node: Getline/Variable/Coprocess259614 -Node: Getline Notes260354 -Node: Getline Summary263149 -Ref: table-getline-variants263571 -Node: Read Timeout264319 -Ref: Read Timeout-Footnote-1268225 -Node: Retrying Input268283 -Node: Command-line directories269482 -Node: Input Summary270388 -Node: Input Exercises273560 -Node: Printing274288 -Node: Print276122 -Node: Print Examples277579 -Node: Output Separators280359 -Node: OFMT282376 -Node: Printf283732 -Node: Basic Printf284517 -Node: Control Letters286091 -Node: Format Modifiers290079 -Node: Printf Examples296094 -Node: Redirection298580 -Node: Special FD305421 -Ref: Special FD-Footnote-1308589 -Node: Special Files308663 -Node: Other Inherited Files309280 -Node: Special Network310281 -Node: Special Caveats311141 -Node: Close Files And Pipes312090 -Ref: table-close-pipe-return-values318997 -Ref: Close Files And Pipes-Footnote-1319780 -Ref: Close Files And Pipes-Footnote-2319928 -Node: Nonfatal320080 -Node: Output Summary322405 -Node: Output Exercises323627 -Node: Expressions324306 -Node: Values325494 -Node: Constants326172 -Node: Scalar Constants326863 -Ref: Scalar Constants-Footnote-1327727 -Node: Nondecimal-numbers327977 -Node: Regexp Constants330990 -Node: Using Constant Regexps331516 -Node: Variables334679 -Node: Using Variables335336 -Node: Assignment Options337246 -Node: Conversion339119 -Node: Strings And Numbers339643 -Ref: Strings And Numbers-Footnote-1342706 -Node: Locale influences conversions342815 -Ref: table-locale-affects345573 -Node: All Operators346191 -Node: Arithmetic Ops346820 -Node: Concatenation349326 -Ref: Concatenation-Footnote-1352173 -Node: Assignment Ops352280 -Ref: table-assign-ops357271 -Node: Increment Ops358584 -Node: Truth Values and Conditions362044 -Node: Truth Values363118 -Node: Typing and Comparison364166 -Node: Variable Typing364986 -Node: Comparison Operators368610 -Ref: table-relational-ops369029 -Node: POSIX String Comparison372524 -Ref: POSIX String Comparison-Footnote-1374219 -Ref: POSIX String Comparison-Footnote-2374358 -Node: Boolean Ops374442 -Ref: Boolean Ops-Footnote-1378924 -Node: Conditional Exp379016 -Node: Function Calls380752 -Node: Precedence384629 -Node: Locales388288 -Node: Expressions Summary389920 -Node: Patterns and Actions392493 -Node: Pattern Overview393613 -Node: Regexp Patterns395290 -Node: Expression Patterns395832 -Node: Ranges399613 -Node: BEGIN/END402721 -Node: Using BEGIN/END403482 -Ref: Using BEGIN/END-Footnote-1406218 -Node: I/O And BEGIN/END406324 -Node: BEGINFILE/ENDFILE408638 -Node: Empty411545 -Node: Using Shell Variables411862 -Node: Action Overview414136 -Node: Statements416461 -Node: If Statement418309 -Node: While Statement419804 -Node: Do Statement421832 -Node: For Statement422980 -Node: Switch Statement426138 -Node: Break Statement428524 -Node: Continue Statement430616 -Node: Next Statement432443 -Node: Nextfile Statement434826 -Node: Exit Statement437478 -Node: Built-in Variables439881 -Node: User-modified441014 -Node: Auto-set448600 -Ref: Auto-set-Footnote-1463253 -Ref: Auto-set-Footnote-2463459 -Node: ARGC and ARGV463515 -Node: Pattern Action Summary467728 -Node: Arrays470158 -Node: Array Basics471487 -Node: Array Intro472331 -Ref: figure-array-elements474306 -Ref: Array Intro-Footnote-1477010 -Node: Reference to Elements477138 -Node: Assigning Elements479602 -Node: Array Example480093 -Node: Scanning an Array481852 -Node: Controlling Scanning484874 -Ref: Controlling Scanning-Footnote-1490273 -Node: Numeric Array Subscripts490589 -Node: Uninitialized Subscripts492773 -Node: Delete494392 -Ref: Delete-Footnote-1497144 -Node: Multidimensional497201 -Node: Multiscanning500296 -Node: Arrays of Arrays501887 -Node: Arrays Summary506654 -Node: Functions508747 -Node: Built-in509785 -Node: Calling Built-in510866 -Node: Numeric Functions512862 -Ref: Numeric Functions-Footnote-1517695 -Ref: Numeric Functions-Footnote-2518052 -Ref: Numeric Functions-Footnote-3518100 -Node: String Functions518372 -Ref: String Functions-Footnote-1541876 -Ref: String Functions-Footnote-2542004 -Ref: String Functions-Footnote-3542252 -Node: Gory Details542339 -Ref: table-sub-escapes544130 -Ref: table-sub-proposed545649 -Ref: table-posix-sub547012 -Ref: table-gensub-escapes548553 -Ref: Gory Details-Footnote-1549376 -Node: I/O Functions549530 -Ref: table-system-return-values556112 -Ref: I/O Functions-Footnote-1558092 -Ref: I/O Functions-Footnote-2558240 -Node: Time Functions558360 -Ref: Time Functions-Footnote-1568882 -Ref: Time Functions-Footnote-2568950 -Ref: Time Functions-Footnote-3569108 -Ref: Time Functions-Footnote-4569219 -Ref: Time Functions-Footnote-5569331 -Ref: Time Functions-Footnote-6569558 -Node: Bitwise Functions569824 -Ref: table-bitwise-ops570418 -Ref: Bitwise Functions-Footnote-1574756 -Node: Type Functions574929 -Node: I18N Functions577461 -Node: User-defined579112 -Node: Definition Syntax579917 -Ref: Definition Syntax-Footnote-1585604 -Node: Function Example585675 -Ref: Function Example-Footnote-1588597 -Node: Function Caveats588619 -Node: Calling A Function589137 -Node: Variable Scope590095 -Node: Pass By Value/Reference593089 -Node: Return Statement596588 -Node: Dynamic Typing599567 -Node: Indirect Calls600497 -Ref: Indirect Calls-Footnote-1610748 -Node: Functions Summary610876 -Node: Library Functions613581 -Ref: Library Functions-Footnote-1617188 -Ref: Library Functions-Footnote-2617331 -Node: Library Names617502 -Ref: Library Names-Footnote-1620962 -Ref: Library Names-Footnote-2621185 -Node: General Functions621271 -Node: Strtonum Function622374 -Node: Assert Function625396 -Node: Round Function628722 -Node: Cliff Random Function630263 -Node: Ordinal Functions631279 -Ref: Ordinal Functions-Footnote-1634342 -Ref: Ordinal Functions-Footnote-2634594 -Node: Join Function634804 -Ref: Join Function-Footnote-1636574 -Node: Getlocaltime Function636774 -Node: Readfile Function640516 -Node: Shell Quoting642488 -Node: Data File Management643889 -Node: Filetrans Function644521 -Node: Rewind Function648617 -Node: File Checking650523 -Ref: File Checking-Footnote-1651857 -Node: Empty Files652058 -Node: Ignoring Assigns654037 -Node: Getopt Function655587 -Ref: Getopt Function-Footnote-1667056 -Node: Passwd Functions667256 -Ref: Passwd Functions-Footnote-1676095 -Node: Group Functions676183 -Ref: Group Functions-Footnote-1684081 -Node: Walking Arrays684288 -Node: Library Functions Summary687296 -Node: Library Exercises688702 -Node: Sample Programs689167 -Node: Running Examples689937 -Node: Clones690665 -Node: Cut Program691889 -Node: Egrep Program701818 -Ref: Egrep Program-Footnote-1709330 -Node: Id Program709440 -Node: Split Program713120 -Ref: Split Program-Footnote-1716579 -Node: Tee Program716708 -Node: Uniq Program719498 -Node: Wc Program726924 -Ref: Wc Program-Footnote-1731179 -Node: Miscellaneous Programs731273 -Node: Dupword Program732486 -Node: Alarm Program734516 -Node: Translate Program739371 -Ref: Translate Program-Footnote-1743936 -Node: Labels Program744206 -Ref: Labels Program-Footnote-1747557 -Node: Word Sorting747641 -Node: History Sorting751713 -Node: Extract Program753548 -Node: Simple Sed761077 -Node: Igawk Program764151 -Ref: Igawk Program-Footnote-1778482 -Ref: Igawk Program-Footnote-2778684 -Ref: Igawk Program-Footnote-3778806 -Node: Anagram Program778921 -Node: Signature Program781983 -Node: Programs Summary783230 -Node: Programs Exercises784444 -Ref: Programs Exercises-Footnote-1788573 -Node: Advanced Features788664 -Node: Nondecimal Data790654 -Node: Array Sorting792245 -Node: Controlling Array Traversal792945 -Ref: Controlling Array Traversal-Footnote-1801312 -Node: Array Sorting Functions801430 -Ref: Array Sorting Functions-Footnote-1806521 -Node: Two-way I/O806717 -Ref: Two-way I/O-Footnote-1813267 -Ref: Two-way I/O-Footnote-2813454 -Node: TCP/IP Networking813536 -Node: Profiling816654 -Ref: Profiling-Footnote-1825147 -Node: Advanced Features Summary825470 -Node: Internationalization827314 -Node: I18N and L10N828794 -Node: Explaining gettext829481 -Ref: Explaining gettext-Footnote-1835373 -Ref: Explaining gettext-Footnote-2835558 -Node: Programmer i18n835723 -Ref: Programmer i18n-Footnote-1840578 -Node: Translator i18n840627 -Node: String Extraction841421 -Ref: String Extraction-Footnote-1842553 -Node: Printf Ordering842639 -Ref: Printf Ordering-Footnote-1845425 -Node: I18N Portability845489 -Ref: I18N Portability-Footnote-1847945 -Node: I18N Example848008 -Ref: I18N Example-Footnote-1850814 -Node: Gawk I18N850887 -Node: I18N Summary851532 -Node: Debugger852873 -Node: Debugging853895 -Node: Debugging Concepts854336 -Node: Debugging Terms856145 -Node: Awk Debugging858720 -Node: Sample Debugging Session859626 -Node: Debugger Invocation860160 -Node: Finding The Bug861546 -Node: List of Debugger Commands868024 -Node: Breakpoint Control869357 -Node: Debugger Execution Control873051 -Node: Viewing And Changing Data876413 -Node: Execution Stack879787 -Node: Debugger Info881424 -Node: Miscellaneous Debugger Commands885495 -Node: Readline Support890583 -Node: Limitations891479 -Ref: Limitations-Footnote-1895710 -Node: Debugging Summary895761 -Node: Arbitrary Precision Arithmetic897040 -Node: Computer Arithmetic898456 -Ref: table-numeric-ranges902047 -Ref: Computer Arithmetic-Footnote-1902769 -Node: Math Definitions902826 -Ref: table-ieee-formats906140 -Ref: Math Definitions-Footnote-1906743 -Node: MPFR features906848 -Node: FP Math Caution908565 -Ref: FP Math Caution-Footnote-1909637 -Node: Inexactness of computations910006 -Node: Inexact representation910966 -Node: Comparing FP Values912326 -Node: Errors accumulate913408 -Node: Getting Accuracy914841 -Node: Try To Round917551 -Node: Setting precision918450 -Ref: table-predefined-precision-strings919147 -Node: Setting the rounding mode920977 -Ref: table-gawk-rounding-modes921351 -Ref: Setting the rounding mode-Footnote-1924759 -Node: Arbitrary Precision Integers924938 -Ref: Arbitrary Precision Integers-Footnote-1929855 -Node: POSIX Floating Point Problems930004 -Ref: POSIX Floating Point Problems-Footnote-1933886 -Node: Floating point summary933924 -Node: Dynamic Extensions936114 -Node: Extension Intro937667 -Node: Plugin License938933 -Node: Extension Mechanism Outline939730 -Ref: figure-load-extension940169 -Ref: figure-register-new-function941734 -Ref: figure-call-new-function942826 -Node: Extension API Description944888 -Node: Extension API Functions Introduction946420 -Node: General Data Types951279 -Ref: General Data Types-Footnote-1957234 -Node: Memory Allocation Functions957533 -Ref: Memory Allocation Functions-Footnote-1960378 -Node: Constructor Functions960477 -Node: Registration Functions962222 -Node: Extension Functions962907 -Node: Exit Callback Functions965530 -Node: Extension Version String966780 -Node: Input Parsers967443 -Node: Output Wrappers977325 -Node: Two-way processors981837 -Node: Printing Messages984102 -Ref: Printing Messages-Footnote-1985273 -Node: Updating ERRNO985426 -Node: Requesting Values986165 -Ref: table-value-types-returned986902 -Node: Accessing Parameters987785 -Node: Symbol Table Access989020 -Node: Symbol table by name989532 -Node: Symbol table by cookie991553 -Ref: Symbol table by cookie-Footnote-1995705 -Node: Cached values995769 -Ref: Cached values-Footnote-1999276 -Node: Array Manipulation999367 -Ref: Array Manipulation-Footnote-11000458 -Node: Array Data Types1000495 -Ref: Array Data Types-Footnote-11003153 -Node: Array Functions1003245 -Node: Flattening Arrays1007103 -Node: Creating Arrays1014011 -Node: Redirection API1018780 -Node: Extension API Variables1021611 -Node: Extension Versioning1022244 -Ref: gawk-api-version1022681 -Node: Extension API Informational Variables1024437 -Node: Extension API Boilerplate1025501 -Node: Finding Extensions1029315 -Node: Extension Example1029874 -Node: Internal File Description1030672 -Node: Internal File Ops1034752 -Ref: Internal File Ops-Footnote-11046514 -Node: Using Internal File Ops1046654 -Ref: Using Internal File Ops-Footnote-11049037 -Node: Extension Samples1049311 -Node: Extension Sample File Functions1050840 -Node: Extension Sample Fnmatch1058489 -Node: Extension Sample Fork1059976 -Node: Extension Sample Inplace1061194 -Node: Extension Sample Ord1064404 -Node: Extension Sample Readdir1065240 -Ref: table-readdir-file-types1066129 -Node: Extension Sample Revout1066934 -Node: Extension Sample Rev2way1067523 -Node: Extension Sample Read write array1068263 -Node: Extension Sample Readfile1070205 -Node: Extension Sample Time1071300 -Node: Extension Sample API Tests1072648 -Node: gawkextlib1073140 -Node: Extension summary1075587 -Node: Extension Exercises1079289 -Node: Language History1080787 -Node: V7/SVR3.11082443 -Node: SVR41084595 -Node: POSIX1086029 -Node: BTL1087408 -Node: POSIX/GNU1088137 -Node: Feature History1093999 -Node: Common Extensions1108369 -Node: Ranges and Locales1109652 -Ref: Ranges and Locales-Footnote-11114268 -Ref: Ranges and Locales-Footnote-21114295 -Ref: Ranges and Locales-Footnote-31114530 -Node: Contributors1114751 -Node: History summary1120311 -Node: Installation1121691 -Node: Gawk Distribution1122635 -Node: Getting1123119 -Node: Extracting1124080 -Node: Distribution contents1125718 -Node: Unix Installation1131812 -Node: Quick Installation1132494 -Node: Shell Startup Files1134908 -Node: Additional Configuration Options1135986 -Node: Configuration Philosophy1137791 -Node: Non-Unix Installation1140160 -Node: PC Installation1140618 -Node: PC Binary Installation1141938 -Node: PC Compiling1143790 -Ref: PC Compiling-Footnote-11146584 -Node: PC Testing1146693 -Node: PC Using1147873 -Ref: PC Using-Footnote-11152026 -Node: Cygwin1152099 -Node: MSYS1152869 -Node: VMS Installation1153370 -Node: VMS Compilation1154161 -Ref: VMS Compilation-Footnote-11155390 -Node: VMS Dynamic Extensions1155448 -Node: VMS Installation Details1157133 -Node: VMS Running1159386 -Node: VMS GNV1163665 -Node: VMS Old Gawk1164400 -Node: Bugs1164871 -Node: Bug address1165534 -Node: Usenet1167931 -Node: Maintainers1168706 -Node: Other Versions1170082 -Node: Installation summary1176666 -Node: Notes1177717 -Node: Compatibility Mode1178582 -Node: Additions1179364 -Node: Accessing The Source1180289 -Node: Adding Code1181724 -Node: New Ports1187943 -Node: Derived Files1192431 -Ref: Derived Files-Footnote-11197916 -Ref: Derived Files-Footnote-21197951 -Ref: Derived Files-Footnote-31198549 -Node: Future Extensions1198663 -Node: Implementation Limitations1199321 -Node: Extension Design1200504 -Node: Old Extension Problems1201658 -Ref: Old Extension Problems-Footnote-11203176 -Node: Extension New Mechanism Goals1203233 -Ref: Extension New Mechanism Goals-Footnote-11206597 -Node: Extension Other Design Decisions1206786 -Node: Extension Future Growth1208899 -Node: Old Extension Mechanism1209735 -Node: Notes summary1211498 -Node: Basic Concepts1212680 -Node: Basic High Level1213361 -Ref: figure-general-flow1213643 -Ref: figure-process-flow1214328 -Ref: Basic High Level-Footnote-11217629 -Node: Basic Data Typing1217814 -Node: Glossary1221142 -Node: Copying1253089 -Node: GNU Free Documentation License1290628 -Node: Index1315746 +Node: Foreword342530 +Node: Foreword446972 +Node: Preface48504 +Ref: Preface-Footnote-151363 +Ref: Preface-Footnote-251470 +Ref: Preface-Footnote-351704 +Node: History51846 +Node: Names54198 +Ref: Names-Footnote-155292 +Node: This Manual55439 +Ref: This Manual-Footnote-161924 +Node: Conventions62024 +Node: Manual History64378 +Ref: Manual History-Footnote-167373 +Ref: Manual History-Footnote-267414 +Node: How To Contribute67488 +Node: Acknowledgments68617 +Node: Getting Started73503 +Node: Running gawk75942 +Node: One-shot77132 +Node: Read Terminal78395 +Node: Long80388 +Node: Executable Scripts81901 +Ref: Executable Scripts-Footnote-184696 +Node: Comments84799 +Node: Quoting87283 +Node: DOS Quoting92800 +Node: Sample Data Files93475 +Node: Very Simple96070 +Node: Two Rules100972 +Node: More Complex102857 +Node: Statements/Lines105723 +Ref: Statements/Lines-Footnote-1110182 +Node: Other Features110447 +Node: When111383 +Ref: When-Footnote-1113137 +Node: Intro Summary113202 +Node: Invoking Gawk114086 +Node: Command Line115600 +Node: Options116398 +Ref: Options-Footnote-1132497 +Ref: Options-Footnote-2132727 +Node: Other Arguments132752 +Node: Naming Standard Input135699 +Node: Environment Variables136792 +Node: AWKPATH Variable137350 +Ref: AWKPATH Variable-Footnote-1140761 +Ref: AWKPATH Variable-Footnote-2140795 +Node: AWKLIBPATH Variable141056 +Node: Other Environment Variables142313 +Node: Exit Status146134 +Node: Include Files146811 +Node: Loading Shared Libraries150406 +Node: Obsolete151834 +Node: Undocumented152526 +Node: Invoking Summary152823 +Node: Regexp154483 +Node: Regexp Usage156002 +Node: Escape Sequences158039 +Node: Regexp Operators164271 +Ref: Regexp Operators-Footnote-1171687 +Ref: Regexp Operators-Footnote-2171834 +Node: Bracket Expressions171932 +Ref: table-char-classes174408 +Node: Leftmost Longest177545 +Node: Computed Regexps178848 +Node: GNU Regexp Operators182275 +Node: Case-sensitivity185954 +Ref: Case-sensitivity-Footnote-1188850 +Ref: Case-sensitivity-Footnote-2189085 +Node: Strong Regexp Constants189193 +Node: Regexp Summary189982 +Node: Reading Files191457 +Node: Records193620 +Node: awk split records194353 +Node: gawk split records199284 +Ref: gawk split records-Footnote-1203824 +Node: Fields203861 +Node: Nonconstant Fields206602 +Ref: Nonconstant Fields-Footnote-1208838 +Node: Changing Fields209042 +Node: Field Separators214970 +Node: Default Field Splitting217668 +Node: Regexp Field Splitting218786 +Node: Single Character Fields222139 +Node: Command Line Field Separator223199 +Node: Full Line Fields226417 +Ref: Full Line Fields-Footnote-1227939 +Ref: Full Line Fields-Footnote-2227985 +Node: Field Splitting Summary228086 +Node: Constant Size230160 +Node: Splitting By Content234738 +Ref: Splitting By Content-Footnote-1238709 +Node: Multiple Line238872 +Ref: Multiple Line-Footnote-1244754 +Node: Getline244933 +Node: Plain Getline247400 +Node: Getline/Variable250039 +Node: Getline/File251188 +Node: Getline/Variable/File252574 +Ref: Getline/Variable/File-Footnote-1254177 +Node: Getline/Pipe254265 +Node: Getline/Variable/Pipe256970 +Node: Getline/Coprocess258103 +Node: Getline/Variable/Coprocess259368 +Node: Getline Notes260108 +Node: Getline Summary262903 +Ref: table-getline-variants263325 +Node: Read Timeout264073 +Ref: Read Timeout-Footnote-1267979 +Node: Retrying Input268037 +Node: Command-line directories269236 +Node: Input Summary270142 +Node: Input Exercises273314 +Node: Printing274042 +Node: Print275876 +Node: Print Examples277333 +Node: Output Separators280113 +Node: OFMT282130 +Node: Printf283486 +Node: Basic Printf284271 +Node: Control Letters285845 +Node: Format Modifiers289833 +Node: Printf Examples295848 +Node: Redirection298334 +Node: Special FD305175 +Ref: Special FD-Footnote-1308343 +Node: Special Files308417 +Node: Other Inherited Files309034 +Node: Special Network310035 +Node: Special Caveats310895 +Node: Close Files And Pipes311844 +Ref: table-close-pipe-return-values318751 +Ref: Close Files And Pipes-Footnote-1319534 +Ref: Close Files And Pipes-Footnote-2319682 +Node: Nonfatal319834 +Node: Output Summary322159 +Node: Output Exercises323381 +Node: Expressions324060 +Node: Values325248 +Node: Constants325926 +Node: Scalar Constants326617 +Ref: Scalar Constants-Footnote-1327481 +Node: Nondecimal-numbers327731 +Node: Regexp Constants330744 +Node: Using Constant Regexps331270 +Node: Variables334433 +Node: Using Variables335090 +Node: Assignment Options337000 +Node: Conversion338873 +Node: Strings And Numbers339397 +Ref: Strings And Numbers-Footnote-1342460 +Node: Locale influences conversions342569 +Ref: table-locale-affects345327 +Node: All Operators345945 +Node: Arithmetic Ops346574 +Node: Concatenation349080 +Ref: Concatenation-Footnote-1351927 +Node: Assignment Ops352034 +Ref: table-assign-ops357025 +Node: Increment Ops358338 +Node: Truth Values and Conditions361798 +Node: Truth Values362872 +Node: Typing and Comparison363920 +Node: Variable Typing364740 +Node: Comparison Operators368364 +Ref: table-relational-ops368783 +Node: POSIX String Comparison372278 +Ref: POSIX String Comparison-Footnote-1373973 +Ref: POSIX String Comparison-Footnote-2374112 +Node: Boolean Ops374196 +Ref: Boolean Ops-Footnote-1378678 +Node: Conditional Exp378770 +Node: Function Calls380506 +Node: Precedence384383 +Node: Locales388042 +Node: Expressions Summary389674 +Node: Patterns and Actions392247 +Node: Pattern Overview393367 +Node: Regexp Patterns395044 +Node: Expression Patterns395586 +Node: Ranges399367 +Node: BEGIN/END402475 +Node: Using BEGIN/END403236 +Ref: Using BEGIN/END-Footnote-1405972 +Node: I/O And BEGIN/END406078 +Node: BEGINFILE/ENDFILE408392 +Node: Empty411299 +Node: Using Shell Variables411616 +Node: Action Overview413890 +Node: Statements416215 +Node: If Statement418063 +Node: While Statement419558 +Node: Do Statement421586 +Node: For Statement422734 +Node: Switch Statement425892 +Node: Break Statement428278 +Node: Continue Statement430370 +Node: Next Statement432197 +Node: Nextfile Statement434580 +Node: Exit Statement437232 +Node: Built-in Variables439635 +Node: User-modified440768 +Node: Auto-set448354 +Ref: Auto-set-Footnote-1463007 +Ref: Auto-set-Footnote-2463213 +Node: ARGC and ARGV463269 +Node: Pattern Action Summary467482 +Node: Arrays469912 +Node: Array Basics471241 +Node: Array Intro472085 +Ref: figure-array-elements474060 +Ref: Array Intro-Footnote-1476764 +Node: Reference to Elements476892 +Node: Assigning Elements479356 +Node: Array Example479847 +Node: Scanning an Array481606 +Node: Controlling Scanning484628 +Ref: Controlling Scanning-Footnote-1490027 +Node: Numeric Array Subscripts490343 +Node: Uninitialized Subscripts492527 +Node: Delete494146 +Ref: Delete-Footnote-1496898 +Node: Multidimensional496955 +Node: Multiscanning500050 +Node: Arrays of Arrays501641 +Node: Arrays Summary506408 +Node: Functions508501 +Node: Built-in509539 +Node: Calling Built-in510620 +Node: Numeric Functions512616 +Ref: Numeric Functions-Footnote-1517449 +Ref: Numeric Functions-Footnote-2517806 +Ref: Numeric Functions-Footnote-3517854 +Node: String Functions518126 +Ref: String Functions-Footnote-1541630 +Ref: String Functions-Footnote-2541758 +Ref: String Functions-Footnote-3542006 +Node: Gory Details542093 +Ref: table-sub-escapes543884 +Ref: table-sub-proposed545403 +Ref: table-posix-sub546766 +Ref: table-gensub-escapes548307 +Ref: Gory Details-Footnote-1549130 +Node: I/O Functions549284 +Ref: table-system-return-values555866 +Ref: I/O Functions-Footnote-1557846 +Ref: I/O Functions-Footnote-2557994 +Node: Time Functions558114 +Ref: Time Functions-Footnote-1568636 +Ref: Time Functions-Footnote-2568704 +Ref: Time Functions-Footnote-3568862 +Ref: Time Functions-Footnote-4568973 +Ref: Time Functions-Footnote-5569085 +Ref: Time Functions-Footnote-6569312 +Node: Bitwise Functions569578 +Ref: table-bitwise-ops570172 +Ref: Bitwise Functions-Footnote-1574510 +Node: Type Functions574683 +Node: I18N Functions577215 +Node: User-defined578866 +Node: Definition Syntax579671 +Ref: Definition Syntax-Footnote-1585358 +Node: Function Example585429 +Ref: Function Example-Footnote-1588351 +Node: Function Caveats588373 +Node: Calling A Function588891 +Node: Variable Scope589849 +Node: Pass By Value/Reference592843 +Node: Return Statement596342 +Node: Dynamic Typing599321 +Node: Indirect Calls600251 +Ref: Indirect Calls-Footnote-1610502 +Node: Functions Summary610630 +Node: Library Functions613335 +Ref: Library Functions-Footnote-1616942 +Ref: Library Functions-Footnote-2617085 +Node: Library Names617256 +Ref: Library Names-Footnote-1620716 +Ref: Library Names-Footnote-2620939 +Node: General Functions621025 +Node: Strtonum Function622128 +Node: Assert Function625150 +Node: Round Function628476 +Node: Cliff Random Function630017 +Node: Ordinal Functions631033 +Ref: Ordinal Functions-Footnote-1634096 +Ref: Ordinal Functions-Footnote-2634348 +Node: Join Function634558 +Ref: Join Function-Footnote-1636328 +Node: Getlocaltime Function636528 +Node: Readfile Function640270 +Node: Shell Quoting642242 +Node: Data File Management643643 +Node: Filetrans Function644275 +Node: Rewind Function648371 +Node: File Checking650277 +Ref: File Checking-Footnote-1651611 +Node: Empty Files651812 +Node: Ignoring Assigns653791 +Node: Getopt Function655341 +Ref: Getopt Function-Footnote-1666810 +Node: Passwd Functions667010 +Ref: Passwd Functions-Footnote-1675849 +Node: Group Functions675937 +Ref: Group Functions-Footnote-1683835 +Node: Walking Arrays684042 +Node: Library Functions Summary687050 +Node: Library Exercises688456 +Node: Sample Programs688921 +Node: Running Examples689691 +Node: Clones690419 +Node: Cut Program691643 +Node: Egrep Program701572 +Ref: Egrep Program-Footnote-1709084 +Node: Id Program709194 +Node: Split Program712874 +Ref: Split Program-Footnote-1716333 +Node: Tee Program716462 +Node: Uniq Program719252 +Node: Wc Program726678 +Ref: Wc Program-Footnote-1730933 +Node: Miscellaneous Programs731027 +Node: Dupword Program732240 +Node: Alarm Program734270 +Node: Translate Program739125 +Ref: Translate Program-Footnote-1743690 +Node: Labels Program743960 +Ref: Labels Program-Footnote-1747311 +Node: Word Sorting747395 +Node: History Sorting751467 +Node: Extract Program753302 +Node: Simple Sed760831 +Node: Igawk Program763905 +Ref: Igawk Program-Footnote-1778236 +Ref: Igawk Program-Footnote-2778438 +Ref: Igawk Program-Footnote-3778560 +Node: Anagram Program778675 +Node: Signature Program781737 +Node: Programs Summary782984 +Node: Programs Exercises784198 +Ref: Programs Exercises-Footnote-1788327 +Node: Advanced Features788418 +Node: Nondecimal Data790408 +Node: Array Sorting791999 +Node: Controlling Array Traversal792699 +Ref: Controlling Array Traversal-Footnote-1801066 +Node: Array Sorting Functions801184 +Ref: Array Sorting Functions-Footnote-1806275 +Node: Two-way I/O806471 +Ref: Two-way I/O-Footnote-1813021 +Ref: Two-way I/O-Footnote-2813208 +Node: TCP/IP Networking813290 +Node: Profiling816408 +Ref: Profiling-Footnote-1824901 +Node: Advanced Features Summary825224 +Node: Internationalization827068 +Node: I18N and L10N828548 +Node: Explaining gettext829235 +Ref: Explaining gettext-Footnote-1835127 +Ref: Explaining gettext-Footnote-2835312 +Node: Programmer i18n835477 +Ref: Programmer i18n-Footnote-1840332 +Node: Translator i18n840381 +Node: String Extraction841175 +Ref: String Extraction-Footnote-1842307 +Node: Printf Ordering842393 +Ref: Printf Ordering-Footnote-1845179 +Node: I18N Portability845243 +Ref: I18N Portability-Footnote-1847699 +Node: I18N Example847762 +Ref: I18N Example-Footnote-1850568 +Node: Gawk I18N850641 +Node: I18N Summary851286 +Node: Debugger852627 +Node: Debugging853649 +Node: Debugging Concepts854090 +Node: Debugging Terms855899 +Node: Awk Debugging858474 +Node: Sample Debugging Session859380 +Node: Debugger Invocation859914 +Node: Finding The Bug861300 +Node: List of Debugger Commands867778 +Node: Breakpoint Control869111 +Node: Debugger Execution Control872805 +Node: Viewing And Changing Data876167 +Node: Execution Stack879541 +Node: Debugger Info881178 +Node: Miscellaneous Debugger Commands885249 +Node: Readline Support890337 +Node: Limitations891233 +Ref: Limitations-Footnote-1895464 +Node: Debugging Summary895515 +Node: Arbitrary Precision Arithmetic896794 +Node: Computer Arithmetic898210 +Ref: table-numeric-ranges901801 +Ref: Computer Arithmetic-Footnote-1902523 +Node: Math Definitions902580 +Ref: table-ieee-formats905894 +Ref: Math Definitions-Footnote-1906497 +Node: MPFR features906602 +Node: FP Math Caution908319 +Ref: FP Math Caution-Footnote-1909391 +Node: Inexactness of computations909760 +Node: Inexact representation910720 +Node: Comparing FP Values912080 +Node: Errors accumulate913162 +Node: Getting Accuracy914595 +Node: Try To Round917305 +Node: Setting precision918204 +Ref: table-predefined-precision-strings918901 +Node: Setting the rounding mode920731 +Ref: table-gawk-rounding-modes921105 +Ref: Setting the rounding mode-Footnote-1924513 +Node: Arbitrary Precision Integers924692 +Ref: Arbitrary Precision Integers-Footnote-1929609 +Node: POSIX Floating Point Problems929758 +Ref: POSIX Floating Point Problems-Footnote-1933640 +Node: Floating point summary933678 +Node: Dynamic Extensions935868 +Node: Extension Intro937421 +Node: Plugin License938687 +Node: Extension Mechanism Outline939484 +Ref: figure-load-extension939923 +Ref: figure-register-new-function941488 +Ref: figure-call-new-function942580 +Node: Extension API Description944642 +Node: Extension API Functions Introduction946174 +Node: General Data Types951033 +Ref: General Data Types-Footnote-1956988 +Node: Memory Allocation Functions957287 +Ref: Memory Allocation Functions-Footnote-1960132 +Node: Constructor Functions960231 +Node: Registration Functions961976 +Node: Extension Functions962661 +Node: Exit Callback Functions965284 +Node: Extension Version String966534 +Node: Input Parsers967197 +Node: Output Wrappers977079 +Node: Two-way processors981591 +Node: Printing Messages983856 +Ref: Printing Messages-Footnote-1985027 +Node: Updating ERRNO985180 +Node: Requesting Values985919 +Ref: table-value-types-returned986656 +Node: Accessing Parameters987539 +Node: Symbol Table Access988774 +Node: Symbol table by name989286 +Node: Symbol table by cookie991307 +Ref: Symbol table by cookie-Footnote-1995459 +Node: Cached values995523 +Ref: Cached values-Footnote-1999030 +Node: Array Manipulation999121 +Ref: Array Manipulation-Footnote-11000212 +Node: Array Data Types1000249 +Ref: Array Data Types-Footnote-11002907 +Node: Array Functions1002999 +Node: Flattening Arrays1006857 +Node: Creating Arrays1013765 +Node: Redirection API1018534 +Node: Extension API Variables1021365 +Node: Extension Versioning1021998 +Ref: gawk-api-version1022435 +Node: Extension API Informational Variables1024191 +Node: Extension API Boilerplate1025255 +Node: Finding Extensions1029069 +Node: Extension Example1029628 +Node: Internal File Description1030426 +Node: Internal File Ops1034506 +Ref: Internal File Ops-Footnote-11046268 +Node: Using Internal File Ops1046408 +Ref: Using Internal File Ops-Footnote-11048791 +Node: Extension Samples1049065 +Node: Extension Sample File Functions1050594 +Node: Extension Sample Fnmatch1058243 +Node: Extension Sample Fork1059730 +Node: Extension Sample Inplace1060948 +Node: Extension Sample Ord1064158 +Node: Extension Sample Readdir1064994 +Ref: table-readdir-file-types1065883 +Node: Extension Sample Revout1066688 +Node: Extension Sample Rev2way1067277 +Node: Extension Sample Read write array1068017 +Node: Extension Sample Readfile1069959 +Node: Extension Sample Time1071054 +Node: Extension Sample API Tests1072402 +Node: gawkextlib1072894 +Node: Extension summary1075341 +Node: Extension Exercises1079043 +Node: Language History1080541 +Node: V7/SVR3.11082197 +Node: SVR41084349 +Node: POSIX1085783 +Node: BTL1087162 +Node: POSIX/GNU1087891 +Node: Feature History1093753 +Node: Common Extensions1108123 +Node: Ranges and Locales1109406 +Ref: Ranges and Locales-Footnote-11114022 +Ref: Ranges and Locales-Footnote-21114049 +Ref: Ranges and Locales-Footnote-31114284 +Node: Contributors1114505 +Node: History summary1120065 +Node: Installation1121445 +Node: Gawk Distribution1122389 +Node: Getting1122873 +Node: Extracting1123834 +Node: Distribution contents1125472 +Node: Unix Installation1131557 +Node: Quick Installation1132239 +Node: Shell Startup Files1134653 +Node: Additional Configuration Options1135731 +Node: Configuration Philosophy1137536 +Node: Non-Unix Installation1139905 +Node: PC Installation1140365 +Node: PC Binary Installation1141203 +Node: PC Compiling1141638 +Node: PC Using1142755 +Node: Cygwin1145800 +Node: MSYS1146570 +Node: VMS Installation1147071 +Node: VMS Compilation1147862 +Ref: VMS Compilation-Footnote-11149091 +Node: VMS Dynamic Extensions1149149 +Node: VMS Installation Details1150834 +Node: VMS Running1153087 +Node: VMS GNV1157366 +Node: VMS Old Gawk1158101 +Node: Bugs1158572 +Node: Bug address1159235 +Node: Usenet1161632 +Node: Maintainers1162407 +Node: Other Versions1163783 +Node: Installation summary1170367 +Node: Notes1171402 +Node: Compatibility Mode1172267 +Node: Additions1173049 +Node: Accessing The Source1173974 +Node: Adding Code1175409 +Node: New Ports1181628 +Node: Derived Files1186116 +Ref: Derived Files-Footnote-11191601 +Ref: Derived Files-Footnote-21191636 +Ref: Derived Files-Footnote-31192234 +Node: Future Extensions1192348 +Node: Implementation Limitations1193006 +Node: Extension Design1194189 +Node: Old Extension Problems1195343 +Ref: Old Extension Problems-Footnote-11196861 +Node: Extension New Mechanism Goals1196918 +Ref: Extension New Mechanism Goals-Footnote-11200282 +Node: Extension Other Design Decisions1200471 +Node: Extension Future Growth1202584 +Node: Old Extension Mechanism1203420 +Node: Notes summary1205183 +Node: Basic Concepts1206365 +Node: Basic High Level1207046 +Ref: figure-general-flow1207328 +Ref: figure-process-flow1208013 +Ref: Basic High Level-Footnote-11211314 +Node: Basic Data Typing1211499 +Node: Glossary1214827 +Node: Copying1246774 +Node: GNU Free Documentation License1284313 +Node: Index1309431 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index aaecb6d2..adc5c917 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -988,14 +988,11 @@ particular records in a file and perform operations upon them. * Configuration Philosophy:: How it's all supposed to work. * Non-Unix Installation:: Installation on Other Operating Systems. -* PC Installation:: Installing and Compiling - @command{gawk} on MS-DOS and OS/2. +* PC Installation:: Installing and Compiling @command{gawk} on + Microsoft Windows. * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling @command{gawk} for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing @command{gawk} on PC systems. -* PC Using:: Running @command{gawk} on MS-DOS, - Windows32 and OS/2. +* PC Compiling:: Compiling @command{gawk} for Windows32. +* PC Using:: Running @command{gawk} on Windows32. * Cygwin:: Building and running @command{gawk} for Cygwin. * MSYS:: Using @command{gawk} In The MSYS @@ -1377,12 +1374,7 @@ ranging from Intel-architecture PC-based computers up through large-scale systems. @command{gawk} has also been ported to Mac OS X, Microsoft Windows -@ifset FOR_PRINT (all versions), -@end ifset -@ifclear FOR_PRINT -(all versions) and OS/2 PCs, -@end ifclear and OpenVMS.@footnote{Some other, obsolete systems to which @command{gawk} was once ported are no longer supported and the code for those systems has been removed.} @@ -2487,13 +2479,7 @@ awk '@var{program}' @command{awk} applies the @var{program} to the @dfn{standard input}, which usually means whatever you type on the keyboard. This continues until you indicate end-of-file by typing @kbd{Ctrl-d}. -@ifset FOR_PRINT (On non-POSIX operating systems, the end-of-file character may be different.) -@end ifset -@ifclear FOR_PRINT -(On non-POSIX operating systems, the end-of-file character may be different. -For example, on OS/2, it is @kbd{Ctrl-z}.) -@end ifclear @cindex files, input, See input files @cindex input files, running @command{awk} without @@ -4430,7 +4416,7 @@ directories (called the @dfn{search path}) one by one, looking for a file with the specified name. The search path is a string consisting of directory names -separated by colons.@footnote{Semicolons on MS-Windows and MS-DOS.} +separated by colons.@footnote{Semicolons on MS-Windows.} @command{gawk} gets its search path from the @env{AWKPATH} environment variable. If that variable does not exist, or if it has an empty value, @@ -22994,7 +22980,6 @@ is as follows: * December 2010, move to ANSI C definition for main(). */ -/* For OS/2, do nothing. */ #if HAVE_CONFIG_H #include <config.h> #endif @@ -38012,9 +37997,6 @@ Files needed for building @command{gawk} on POSIX-compliant systems. @item pc/* Files needed for building @command{gawk} under MS-Windows -@ifclear FOR_PRINT -and OS/2 -@end ifclear (@pxref{PC Installation} for details). @item vms/* @@ -38272,108 +38254,48 @@ various non-Unix systems. @menu * PC Installation:: Installing and Compiling @command{gawk} on - MS-DOS and OS/2. + Microsoft Windows. * VMS Installation:: Installing @command{gawk} on VMS. @end menu -@c Rewritten by Scott Deifik <scottd.mail@sbcglobal.net> -@c and Darrel Hankerson <hankedr@mail.auburn.edu> - @node PC Installation -@appendixsubsec Installation on PC Operating Systems +@appendixsubsec Installation on MS-Windows @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 Intel architecture 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 +on Intel architecture machines running any version of MS-Windows. In this @value{SECTION}, the term ``Windows32'' -refers to any of Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8. +refers to any of Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8/10. -The limitations of MS-DOS (and MS-DOS shells under the other operating -systems) have 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, refer to @file{README_d/README.pc} in -the distribution. +See also the @file{README_d/README.pc} file in the distribution. @menu * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling @command{gawk} for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing @command{gawk} on PC systems. -* PC Using:: Running @command{gawk} on MS-DOS, Windows32 - and OS/2. +* PC Compiling:: Compiling @command{gawk} for Windows32. +* PC Using:: Running @command{gawk} on Windows32. * Cygwin:: Building and running @command{gawk} for Cygwin. * 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 - -If you have received a binary distribution prepared by the MS-DOS -maintainers, then @command{gawk} and the necessary support files appear -under the @file{gnu} directory, with executables in @file{gnu/bin}, -libraries in @file{gnu/lib/awk}, and manual pages under @file{gnu/man}. -This is designed for easy installation to a @file{/gnu} directory on your -drive---however, the files can be installed anywhere provided @env{AWKPATH} is -set properly. Regardless of the installation directory, the first line of -@file{igawk.cmd} and @file{igawk.bat} (in @file{gnu/bin}) may need to be -edited. - -The binary distribution contains a separate file describing the -contents. In particular, it may include more than one version of the -@command{gawk} executable. - -OS/2 (32 bit, EMX) binary distributions are prepared for the @file{/usr} -directory of your preferred drive. Set @env{UNIXROOT} to your installation -drive (e.g., @samp{e:}) if you want to install @command{gawk} onto another drive -than the hardcoded default @samp{c:}. Executables appear in @file{/usr/bin}, -libraries under @file{/usr/share/awk}, manual pages under @file{/usr/man}, -Texinfo documentation under @file{/usr/info}, and NLS files -under @file{/usr/share/locale}. -Note that the files can be installed anywhere provided @env{AWKPATH} is -set properly. - -If you already have a file @file{/usr/info/dir} from another package -@emph{do not overwrite it!} Instead enter the following commands at your prompt -(replace @samp{x:} by your installation drive): - -@example -install-info --info-dir=x:/usr/info x:/usr/info/gawk.info -install-info --info-dir=x:/usr/info x:/usr/info/gawkinet.info -@end example - -The binary distribution may contain a separate file containing additional -or more detailed installation instructions. -@end ifclear +@appendixsubsubsec Installing a Prepared Distribution for MS-Windows Systems + +The only supported binary distribution for MS-Windows systems +is that provided by Eli Zaretskii's @uref{https://sourceforge.net/projects/ezwinports/, +``ezwinports''} project. Install the compiled @command{gawk} from there. @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 -MinGW (Windows32) or Eberhard -Mattes (EMX: MS-DOS, Windows32 and OS/2). -@end ifclear -@ifset FOR_PRINT -@command{gawk} can be compiled for Windows32 using -MinGW. -@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. +@command{gawk} can be compiled for Windows32 using MinGW (Windows32). +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. -@cindex compiling @command{gawk} for MS-DOS and MS-Windows -To build @command{gawk} for MS-DOS and Windows32, copy the files in +@cindex compiling @command{gawk} for MS-Windows +To build @command{gawk} for Windows32, copy the files in the @file{pc} directory (@emph{except} for @file{ChangeLog}) to the directory with the rest of the @command{gawk} sources, then invoke @command{make} with the appropriate target name as an argument to @@ -38384,177 +38306,35 @@ to be edited in order to work with your @command{make} utility. The @file{Makefile} supports a number of targets for building various MS-DOS and Windows32 versions. A list of targets is printed if the @command{make} command is given without a target. As an example, -to build a -native MS-Windows binary of @command{gawk} using the MinGW tools, +to build a native MS-Windows binary of @command{gawk} using the MinGW tools, 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. -In principle, it is possible to compile @command{gawk} the following way: - -@example -$ @kbd{./configure} -$ @kbd{make} -@end example - -This is not recommended, though. To get an OMF executable you should -use the following commands at your @command{sh} prompt: - -@example -$ @kbd{CFLAGS="-O2 -Zomf -Zmt"} -$ @kbd{export CFLAGS} -$ @kbd{LDFLAGS="-s -Zcrtdll -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x6000"} -$ @kbd{export LDFLAGS} -$ @kbd{RANLIB="echo"} -$ @kbd{export RANLIB} -$ @kbd{./configure --prefix=c:/usr} -$ @kbd{make AR=emxomfar} -@end example - -These are just suggestions for use with GCC 2.x. You may use any other set of -(self-consistent) environment variables and compiler flags. - -@ignore -To get an FHS-compliant file hierarchy it is recommended to use the additional -@command{configure} options @option{--infodir=c:/usr/share/info}, @option{--mandir=c:/usr/share/man} -and @option{--libexecdir=c:/usr/lib}. -@end ignore - -@ignore -The internal @command{gettext} library tends to be problematic. It is therefore recommended -to use either an external one (@option{--without-included-gettext}) or to disable -NLS entirely (@option{--disable-nls}). -@end ignore - -If you use GCC 2.95 it is recommended to use also: - -@example -$ @kbd{LIBS="-lgcc"} -$ @kbd{export LIBS} -@end example - -You can also get an @code{a.out} executable if you prefer: - -@example -$ @kbd{CFLAGS="-O2 -Zmt"} -$ @kbd{export CFLAGS} -$ @kbd{LDFLAGS="-s -Zstack 0x6000"} -$ @kbd{LIBS="-lgcc"} -$ @kbd{unset RANLIB} -@c $ ./configure --prefix=c:/usr --without-included-gettext -$ @kbd{./configure --prefix=c:/usr} -$ @kbd{make} -@end example - -@quotation NOTE -Compilation of @code{a.out} executables also works with GCC 3.2. -Versions later than GCC 3.2 have not been tested successfully. -@end quotation - -@samp{make install} works as expected with the EMX build. - -@quotation NOTE -Ancient OS/2 ports of GNU @command{make} are not able to handle -the Makefiles of this package. If you encounter any problems with -@command{make}, try GNU Make 3.79.1 or later versions. You should -find the latest version on -@uref{ftp://hobbes.nmsu.edu/pub/os2/}.@footnote{As of November 2014, -this site is still there, but the author could not find a package -for GNU Make.} -@end quotation -@end ifclear - -@node PC Testing -@appendixsubsubsec Testing @command{gawk} on PC Operating Systems - -Using @command{make} to run the standard tests and to install @command{gawk} -requires additional Unix-like tools, including @command{sh}, @command{sed}, and -@command{cp}. In order to run the tests, the @file{test/*.ok} files may need to -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 -@file{test/Makefile} is required. It is recommended that you copy the file -@file{pc/Makefile.tst} over the file @file{test/Makefile} as a -replacement. Details can be found in @file{README_d/README.pc} -and in the file @file{pc/Makefile.tst}. - -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 @cindex operating systems, PC, @command{gawk} on @cindex PC operating systems, @command{gawk} on -Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support +Under 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}, MS-DOS version of @cindex @command{gawk}, MS-Windows version of @cindex @code{;} (semicolon), @env{AWKPATH} variable and @cindex semicolon (@code{;}), @env{AWKPATH} variable and @cindex @env{AWKPATH} environment variable -The MS-DOS and MS-Windows versions of @command{gawk} search for +The MS-Windows version of @command{gawk} searches for program files as described in @ref{AWKPATH Variable}. However, semicolons (rather than colons) separate elements in the @env{AWKPATH} variable. If @env{AWKPATH} is not set or is empty, then the default search path is @samp{@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 -the @command{configure} script as is the case for the Unix versions. -If @file{c:/usr} is the prefix directory then the default search path contains @file{.} -and @file{c:/usr/share/awk}. -Additionally, to support binary distributions of @command{gawk} for OS/2 -systems whose drive @samp{c:} might not support long @value{FN}s or might not exist -at all, there is a special environment variable. If @env{UNIXROOT} specifies -a drive then this specific drive is also searched for program files. -E.g., if @env{UNIXROOT} is set to @file{e:} the complete default search path is -@samp{@w{.;c:/usr/share/awk;e:/usr/share/awk}}. - -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@footnote{Available from -@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.} -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@footnote{Available from -@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.} 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 -@ifclear FOR_PRINT -Under MS-Windows, OS/2 and MS-DOS, -@end ifclear -@ifset FOR_PRINT -Under MS-Windows and MS-DOS, -@end ifset +Under MS-Windows, @command{gawk} (and many other text programs) silently translates end-of-line @samp{\r\n} to @samp{\n} on input and @samp{\n} to @samp{\r\n} on output. A special @code{BINMODE} variable @value{COMMONEXT} @@ -39186,8 +38966,8 @@ The people maintaining the various @command{gawk} ports are: @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. -@c OS/2 is not mentioned anywhere else in the print version though. +@c Leave this in the document on purpose. +@c OS/2 is not mentioned anywhere else though. @item OS/2 @tab Andreas Buening, @EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de} @item VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl.net} @@ -39447,9 +39227,6 @@ cd gawk-@value{VERSION}.@value{PATCHLEVEL} @command{gawk} may be built on non-POSIX systems as well. The currently supported systems are MS-Windows using MSYS, MinGW, and Cygwin, -@ifclear FOR_PRINT -OS/2 using EMX, -@end ifclear and both Vax/VMS and OpenVMS. Instructions for each system are included in this @value{APPENDIX}. @@ -42942,7 +42719,7 @@ Consistency issues: Use @code{xxx} for the xxx operator in indexing statements, not @samp. Use MS-Windows not MS Windows - Use MS-DOS not MS-DOS + Use MS-DOS not MS DOS Use an empty set of parentheses after built-in and awk function names. Use "multiFOO" without a hyphen. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 5bf0c815..afcf749a 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -983,14 +983,11 @@ particular records in a file and perform operations upon them. * Configuration Philosophy:: How it's all supposed to work. * Non-Unix Installation:: Installation on Other Operating Systems. -* PC Installation:: Installing and Compiling - @command{gawk} on MS-DOS and OS/2. +* PC Installation:: Installing and Compiling @command{gawk} on + Microsoft Windows. * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling @command{gawk} for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing @command{gawk} on PC systems. -* PC Using:: Running @command{gawk} on MS-DOS, - Windows32 and OS/2. +* PC Compiling:: Compiling @command{gawk} for Windows32. +* PC Using:: Running @command{gawk} on Windows32. * Cygwin:: Building and running @command{gawk} for Cygwin. * MSYS:: Using @command{gawk} In The MSYS @@ -1372,12 +1369,7 @@ ranging from Intel-architecture PC-based computers up through large-scale systems. @command{gawk} has also been ported to Mac OS X, Microsoft Windows -@ifset FOR_PRINT (all versions), -@end ifset -@ifclear FOR_PRINT -(all versions) and OS/2 PCs, -@end ifclear and OpenVMS.@footnote{Some other, obsolete systems to which @command{gawk} was once ported are no longer supported and the code for those systems has been removed.} @@ -2454,13 +2446,7 @@ awk '@var{program}' @command{awk} applies the @var{program} to the @dfn{standard input}, which usually means whatever you type on the keyboard. This continues until you indicate end-of-file by typing @kbd{Ctrl-d}. -@ifset FOR_PRINT (On non-POSIX operating systems, the end-of-file character may be different.) -@end ifset -@ifclear FOR_PRINT -(On non-POSIX operating systems, the end-of-file character may be different. -For example, on OS/2, it is @kbd{Ctrl-z}.) -@end ifclear @cindex files, input, See input files @cindex input files, running @command{awk} without @@ -4341,7 +4327,7 @@ directories (called the @dfn{search path}) one by one, looking for a file with the specified name. The search path is a string consisting of directory names -separated by colons.@footnote{Semicolons on MS-Windows and MS-DOS.} +separated by colons.@footnote{Semicolons on MS-Windows.} @command{gawk} gets its search path from the @env{AWKPATH} environment variable. If that variable does not exist, or if it has an empty value, @@ -22076,7 +22062,6 @@ is as follows: * December 2010, move to ANSI C definition for main(). */ -/* For OS/2, do nothing. */ #if HAVE_CONFIG_H #include <config.h> #endif @@ -37094,9 +37079,6 @@ Files needed for building @command{gawk} on POSIX-compliant systems. @item pc/* Files needed for building @command{gawk} under MS-Windows -@ifclear FOR_PRINT -and OS/2 -@end ifclear (@pxref{PC Installation} for details). @item vms/* @@ -37354,108 +37336,48 @@ various non-Unix systems. @menu * PC Installation:: Installing and Compiling @command{gawk} on - MS-DOS and OS/2. + Microsoft Windows. * VMS Installation:: Installing @command{gawk} on VMS. @end menu -@c Rewritten by Scott Deifik <scottd.mail@sbcglobal.net> -@c and Darrel Hankerson <hankedr@mail.auburn.edu> - @node PC Installation -@appendixsubsec Installation on PC Operating Systems +@appendixsubsec Installation on MS-Windows @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 Intel architecture 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 +on Intel architecture machines running any version of MS-Windows. In this @value{SECTION}, the term ``Windows32'' -refers to any of Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8. +refers to any of Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8/10. -The limitations of MS-DOS (and MS-DOS shells under the other operating -systems) have 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, refer to @file{README_d/README.pc} in -the distribution. +See also the @file{README_d/README.pc} file in the distribution. @menu * PC Binary Installation:: Installing a prepared distribution. -* PC Compiling:: Compiling @command{gawk} for MS-DOS, - Windows32, and OS/2. -* PC Testing:: Testing @command{gawk} on PC systems. -* PC Using:: Running @command{gawk} on MS-DOS, Windows32 - and OS/2. +* PC Compiling:: Compiling @command{gawk} for Windows32. +* PC Using:: Running @command{gawk} on Windows32. * Cygwin:: Building and running @command{gawk} for Cygwin. * 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 - -If you have received a binary distribution prepared by the MS-DOS -maintainers, then @command{gawk} and the necessary support files appear -under the @file{gnu} directory, with executables in @file{gnu/bin}, -libraries in @file{gnu/lib/awk}, and manual pages under @file{gnu/man}. -This is designed for easy installation to a @file{/gnu} directory on your -drive---however, the files can be installed anywhere provided @env{AWKPATH} is -set properly. Regardless of the installation directory, the first line of -@file{igawk.cmd} and @file{igawk.bat} (in @file{gnu/bin}) may need to be -edited. - -The binary distribution contains a separate file describing the -contents. In particular, it may include more than one version of the -@command{gawk} executable. - -OS/2 (32 bit, EMX) binary distributions are prepared for the @file{/usr} -directory of your preferred drive. Set @env{UNIXROOT} to your installation -drive (e.g., @samp{e:}) if you want to install @command{gawk} onto another drive -than the hardcoded default @samp{c:}. Executables appear in @file{/usr/bin}, -libraries under @file{/usr/share/awk}, manual pages under @file{/usr/man}, -Texinfo documentation under @file{/usr/info}, and NLS files -under @file{/usr/share/locale}. -Note that the files can be installed anywhere provided @env{AWKPATH} is -set properly. - -If you already have a file @file{/usr/info/dir} from another package -@emph{do not overwrite it!} Instead enter the following commands at your prompt -(replace @samp{x:} by your installation drive): - -@example -install-info --info-dir=x:/usr/info x:/usr/info/gawk.info -install-info --info-dir=x:/usr/info x:/usr/info/gawkinet.info -@end example - -The binary distribution may contain a separate file containing additional -or more detailed installation instructions. -@end ifclear +@appendixsubsubsec Installing a Prepared Distribution for MS-Windows Systems + +The only supported binary distribution for MS-Windows systems +is that provided by Eli Zaretskii's @uref{https://sourceforge.net/projects/ezwinports/, +``ezwinports''} project. Install the compiled @command{gawk} from there. @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 -MinGW (Windows32) or Eberhard -Mattes (EMX: MS-DOS, Windows32 and OS/2). -@end ifclear -@ifset FOR_PRINT -@command{gawk} can be compiled for Windows32 using -MinGW. -@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. +@command{gawk} can be compiled for Windows32 using MinGW (Windows32). +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. -@cindex compiling @command{gawk} for MS-DOS and MS-Windows -To build @command{gawk} for MS-DOS and Windows32, copy the files in +@cindex compiling @command{gawk} for MS-Windows +To build @command{gawk} for Windows32, copy the files in the @file{pc} directory (@emph{except} for @file{ChangeLog}) to the directory with the rest of the @command{gawk} sources, then invoke @command{make} with the appropriate target name as an argument to @@ -37466,177 +37388,35 @@ to be edited in order to work with your @command{make} utility. The @file{Makefile} supports a number of targets for building various MS-DOS and Windows32 versions. A list of targets is printed if the @command{make} command is given without a target. As an example, -to build a -native MS-Windows binary of @command{gawk} using the MinGW tools, +to build a native MS-Windows binary of @command{gawk} using the MinGW tools, 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. -In principle, it is possible to compile @command{gawk} the following way: - -@example -$ @kbd{./configure} -$ @kbd{make} -@end example - -This is not recommended, though. To get an OMF executable you should -use the following commands at your @command{sh} prompt: - -@example -$ @kbd{CFLAGS="-O2 -Zomf -Zmt"} -$ @kbd{export CFLAGS} -$ @kbd{LDFLAGS="-s -Zcrtdll -Zlinker /exepack:2 -Zlinker /pm:vio -Zstack 0x6000"} -$ @kbd{export LDFLAGS} -$ @kbd{RANLIB="echo"} -$ @kbd{export RANLIB} -$ @kbd{./configure --prefix=c:/usr} -$ @kbd{make AR=emxomfar} -@end example - -These are just suggestions for use with GCC 2.x. You may use any other set of -(self-consistent) environment variables and compiler flags. - -@ignore -To get an FHS-compliant file hierarchy it is recommended to use the additional -@command{configure} options @option{--infodir=c:/usr/share/info}, @option{--mandir=c:/usr/share/man} -and @option{--libexecdir=c:/usr/lib}. -@end ignore - -@ignore -The internal @command{gettext} library tends to be problematic. It is therefore recommended -to use either an external one (@option{--without-included-gettext}) or to disable -NLS entirely (@option{--disable-nls}). -@end ignore - -If you use GCC 2.95 it is recommended to use also: - -@example -$ @kbd{LIBS="-lgcc"} -$ @kbd{export LIBS} -@end example - -You can also get an @code{a.out} executable if you prefer: - -@example -$ @kbd{CFLAGS="-O2 -Zmt"} -$ @kbd{export CFLAGS} -$ @kbd{LDFLAGS="-s -Zstack 0x6000"} -$ @kbd{LIBS="-lgcc"} -$ @kbd{unset RANLIB} -@c $ ./configure --prefix=c:/usr --without-included-gettext -$ @kbd{./configure --prefix=c:/usr} -$ @kbd{make} -@end example - -@quotation NOTE -Compilation of @code{a.out} executables also works with GCC 3.2. -Versions later than GCC 3.2 have not been tested successfully. -@end quotation - -@samp{make install} works as expected with the EMX build. - -@quotation NOTE -Ancient OS/2 ports of GNU @command{make} are not able to handle -the Makefiles of this package. If you encounter any problems with -@command{make}, try GNU Make 3.79.1 or later versions. You should -find the latest version on -@uref{ftp://hobbes.nmsu.edu/pub/os2/}.@footnote{As of November 2014, -this site is still there, but the author could not find a package -for GNU Make.} -@end quotation -@end ifclear - -@node PC Testing -@appendixsubsubsec Testing @command{gawk} on PC Operating Systems - -Using @command{make} to run the standard tests and to install @command{gawk} -requires additional Unix-like tools, including @command{sh}, @command{sed}, and -@command{cp}. In order to run the tests, the @file{test/*.ok} files may need to -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 -@file{test/Makefile} is required. It is recommended that you copy the file -@file{pc/Makefile.tst} over the file @file{test/Makefile} as a -replacement. Details can be found in @file{README_d/README.pc} -and in the file @file{pc/Makefile.tst}. - -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 @cindex operating systems, PC, @command{gawk} on @cindex PC operating systems, @command{gawk} on -Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support +Under 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}, MS-DOS version of @cindex @command{gawk}, MS-Windows version of @cindex @code{;} (semicolon), @env{AWKPATH} variable and @cindex semicolon (@code{;}), @env{AWKPATH} variable and @cindex @env{AWKPATH} environment variable -The MS-DOS and MS-Windows versions of @command{gawk} search for +The MS-Windows version of @command{gawk} searches for program files as described in @ref{AWKPATH Variable}. However, semicolons (rather than colons) separate elements in the @env{AWKPATH} variable. If @env{AWKPATH} is not set or is empty, then the default search path is @samp{@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 -the @command{configure} script as is the case for the Unix versions. -If @file{c:/usr} is the prefix directory then the default search path contains @file{.} -and @file{c:/usr/share/awk}. -Additionally, to support binary distributions of @command{gawk} for OS/2 -systems whose drive @samp{c:} might not support long @value{FN}s or might not exist -at all, there is a special environment variable. If @env{UNIXROOT} specifies -a drive then this specific drive is also searched for program files. -E.g., if @env{UNIXROOT} is set to @file{e:} the complete default search path is -@samp{@w{.;c:/usr/share/awk;e:/usr/share/awk}}. - -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@footnote{Available from -@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.} -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@footnote{Available from -@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/}.} 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 -@ifclear FOR_PRINT -Under MS-Windows, OS/2 and MS-DOS, -@end ifclear -@ifset FOR_PRINT -Under MS-Windows and MS-DOS, -@end ifset +Under MS-Windows, @command{gawk} (and many other text programs) silently translates end-of-line @samp{\r\n} to @samp{\n} on input and @samp{\n} to @samp{\r\n} on output. A special @code{BINMODE} variable @value{COMMONEXT} @@ -38268,8 +38048,8 @@ The people maintaining the various @command{gawk} ports are: @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. -@c OS/2 is not mentioned anywhere else in the print version though. +@c Leave this in the document on purpose. +@c OS/2 is not mentioned anywhere else though. @item OS/2 @tab Andreas Buening, @EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de} @item VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl.net} @@ -38529,9 +38309,6 @@ cd gawk-@value{VERSION}.@value{PATCHLEVEL} @command{gawk} may be built on non-POSIX systems as well. The currently supported systems are MS-Windows using MSYS, MinGW, and Cygwin, -@ifclear FOR_PRINT -OS/2 using EMX, -@end ifclear and both Vax/VMS and OpenVMS. Instructions for each system are included in this @value{APPENDIX}. @@ -42024,7 +41801,7 @@ Consistency issues: Use @code{xxx} for the xxx operator in indexing statements, not @samp. Use MS-Windows not MS Windows - Use MS-DOS not MS-DOS + Use MS-DOS not MS DOS Use an empty set of parentheses after built-in and awk function names. Use "multiFOO" without a hyphen. |