diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2016-10-23 11:56:30 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2016-10-23 11:56:30 +0300 |
commit | 2b7ce67a9289203e5523e0bdb822ccb859899acb (patch) | |
tree | a871b6e1e0722a60ca1926297c5d755f40741e07 | |
parent | 234fe8af6075075c84e142d2f62ee35a7006a39b (diff) | |
download | egawk-2b7ce67a9289203e5523e0bdb822ccb859899acb.tar.gz egawk-2b7ce67a9289203e5523e0bdb822ccb859899acb.tar.bz2 egawk-2b7ce67a9289203e5523e0bdb822ccb859899acb.zip |
Remove references to MS-DOS and OS/2 from the doc.
-rw-r--r-- | awklib/eg/lib/grcat.c | 1 | ||||
-rw-r--r-- | doc/ChangeLog | 5 | ||||
-rw-r--r-- | doc/gawk.info | 1391 | ||||
-rw-r--r-- | doc/gawk.texi | 283 | ||||
-rw-r--r-- | doc/gawktexi.in | 283 |
5 files changed, 687 insertions, 1276 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 76497789..2aaad031 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 dd82d71d..dade486a 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -619,14 +619,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 @@ -864,8 +861,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: @@ -1510,8 +1506,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 @@ -2948,7 +2943,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 @@ -27572,8 +27567,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 @@ -27758,35 +27753,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. @@ -27794,59 +27781,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. - - 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. +B.3.1.1 Installing a Prepared Distribution for MS-Windows Systems +................................................................. - 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 @@ -27854,120 +27813,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 -.............................................. - -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 +File: gawk.info, Node: PC Using, Next: Cygwin, Prev: PC Compiling, 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). @@ -28023,14 +27887,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 @@ -28051,7 +27911,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 @@ -28658,9 +28518,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 @@ -31807,7 +31667,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. @@ -32102,7 +31962,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) @@ -32135,7 +31995,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) @@ -32229,7 +32089,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) @@ -32410,7 +32270,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. @@ -32435,9 +32295,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) @@ -32711,7 +32570,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. @@ -32942,7 +32801,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) @@ -33033,7 +32892,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) @@ -33244,11 +33103,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 129) * gawk, PROCINFO array in <1>: Time Functions. (line 47) @@ -33441,7 +33298,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) @@ -34251,12 +34108,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) @@ -34264,7 +34121,7 @@ Index * sed utility <1>: Simple Sed. (line 6) * sed utility <2>: Glossary. (line 16) * seeding random number generator: Numeric Functions. (line 64) -* 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. @@ -34627,7 +34484,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) @@ -34745,566 +34601,563 @@ Index Tag Table: Node: Top1200 -Node: Foreword342345 -Node: Foreword446787 -Node: Preface48319 -Ref: Preface-Footnote-151191 -Ref: Preface-Footnote-251298 -Ref: Preface-Footnote-351532 -Node: History51674 -Node: Names54026 -Ref: Names-Footnote-155120 -Node: This Manual55267 -Ref: This Manual-Footnote-161752 -Node: Conventions61852 -Node: Manual History64206 -Ref: Manual History-Footnote-167201 -Ref: Manual History-Footnote-267242 -Node: How To Contribute67316 -Node: Acknowledgments68445 -Node: Getting Started73331 -Node: Running gawk75770 -Node: One-shot76960 -Node: Read Terminal78223 -Node: Long80255 -Node: Executable Scripts81768 -Ref: Executable Scripts-Footnote-184563 -Node: Comments84666 -Node: Quoting87150 -Node: DOS Quoting92667 -Node: Sample Data Files93342 -Node: Very Simple95937 -Node: Two Rules100839 -Node: More Complex102724 -Node: Statements/Lines105590 -Ref: Statements/Lines-Footnote-1110049 -Node: Other Features110314 -Node: When111250 -Ref: When-Footnote-1113004 -Node: Intro Summary113069 -Node: Invoking Gawk113953 -Node: Command Line115467 -Node: Options116265 -Ref: Options-Footnote-1132172 -Ref: Options-Footnote-2132402 -Node: Other Arguments132427 -Node: Naming Standard Input135374 -Node: Environment Variables136467 -Node: AWKPATH Variable137025 -Ref: AWKPATH Variable-Footnote-1140326 -Ref: AWKPATH Variable-Footnote-2140371 -Node: AWKLIBPATH Variable140632 -Node: Other Environment Variables141776 -Node: Exit Status145724 -Node: Include Files146401 -Node: Loading Shared Libraries149996 -Node: Obsolete151424 -Node: Undocumented152116 -Node: Invoking Summary152413 -Node: Regexp154073 -Node: Regexp Usage155527 -Node: Escape Sequences157564 -Node: Regexp Operators163578 -Ref: Regexp Operators-Footnote-1170994 -Ref: Regexp Operators-Footnote-2171141 -Node: Bracket Expressions171239 -Ref: table-char-classes173715 -Node: Leftmost Longest176852 -Node: Computed Regexps178155 -Node: GNU Regexp Operators181582 -Node: Case-sensitivity185261 -Ref: Case-sensitivity-Footnote-1188148 -Ref: Case-sensitivity-Footnote-2188383 -Node: Regexp Summary188491 -Node: Reading Files189957 -Node: Records192051 -Node: awk split records192784 -Node: gawk split records197715 -Ref: gawk split records-Footnote-1202255 -Node: Fields202292 -Ref: Fields-Footnote-1205072 -Node: Nonconstant Fields205158 -Ref: Nonconstant Fields-Footnote-1207394 -Node: Changing Fields207598 -Node: Field Separators213526 -Node: Default Field Splitting216224 -Node: Regexp Field Splitting217342 -Node: Single Character Fields220695 -Node: Command Line Field Separator221755 -Node: Full Line Fields224973 -Ref: Full Line Fields-Footnote-1226495 -Ref: Full Line Fields-Footnote-2226541 -Node: Field Splitting Summary226642 -Node: Constant Size228716 -Node: Splitting By Content233294 -Ref: Splitting By Content-Footnote-1237265 -Node: Multiple Line237428 -Ref: Multiple Line-Footnote-1243310 -Node: Getline243489 -Node: Plain Getline245693 -Node: Getline/Variable248332 -Node: Getline/File249481 -Node: Getline/Variable/File250867 -Ref: Getline/Variable/File-Footnote-1252470 -Node: Getline/Pipe252558 -Node: Getline/Variable/Pipe255263 -Node: Getline/Coprocess256396 -Node: Getline/Variable/Coprocess257661 -Node: Getline Notes258401 -Node: Getline Summary261196 -Ref: table-getline-variants261618 -Node: Read Timeout262366 -Ref: Read Timeout-Footnote-1266207 -Node: Command-line directories266265 -Node: Input Summary267169 -Node: Input Exercises270341 -Node: Printing271069 -Node: Print272845 -Node: Print Examples274302 -Node: Output Separators277082 -Node: OFMT279099 -Node: Printf280455 -Node: Basic Printf281240 -Node: Control Letters282814 -Node: Format Modifiers286802 -Node: Printf Examples292817 -Node: Redirection295303 -Node: Special FD302144 -Ref: Special FD-Footnote-1305312 -Node: Special Files305386 -Node: Other Inherited Files306003 -Node: Special Network307004 -Node: Special Caveats307864 -Node: Close Files And Pipes308813 -Ref: Close Files And Pipes-Footnote-1316006 -Ref: Close Files And Pipes-Footnote-2316154 -Node: Output Summary316305 -Node: Output Exercises317303 -Node: Expressions317982 -Node: Values319170 -Node: Constants319848 -Node: Scalar Constants320539 -Ref: Scalar Constants-Footnote-1321403 -Node: Nondecimal-numbers321653 -Node: Regexp Constants324666 -Node: Using Constant Regexps325192 -Node: Variables328355 -Node: Using Variables329012 -Node: Assignment Options330922 -Node: Conversion332795 -Node: Strings And Numbers333319 -Ref: Strings And Numbers-Footnote-1336382 -Node: Locale influences conversions336491 -Ref: table-locale-affects339249 -Node: All Operators339867 -Node: Arithmetic Ops340496 -Node: Concatenation343002 -Ref: Concatenation-Footnote-1345849 -Node: Assignment Ops345956 -Ref: table-assign-ops350947 -Node: Increment Ops352260 -Node: Truth Values and Conditions355720 -Node: Truth Values356794 -Node: Typing and Comparison357842 -Node: Variable Typing358662 -Node: Comparison Operators362286 -Ref: table-relational-ops362705 -Node: POSIX String Comparison366200 -Ref: POSIX String Comparison-Footnote-1367274 -Node: Boolean Ops367413 -Ref: Boolean Ops-Footnote-1371895 -Node: Conditional Exp371987 -Node: Function Calls373723 -Node: Precedence377600 -Node: Locales381259 -Node: Expressions Summary382891 -Node: Patterns and Actions385464 -Node: Pattern Overview386584 -Node: Regexp Patterns388261 -Node: Expression Patterns388803 -Node: Ranges392584 -Node: BEGIN/END395692 -Node: Using BEGIN/END396453 -Ref: Using BEGIN/END-Footnote-1399189 -Node: I/O And BEGIN/END399295 -Node: BEGINFILE/ENDFILE401609 -Node: Empty404516 -Node: Using Shell Variables404833 -Node: Action Overview407107 -Node: Statements409432 -Node: If Statement411280 -Node: While Statement412775 -Node: Do Statement414803 -Node: For Statement415951 -Node: Switch Statement419109 -Node: Break Statement421495 -Node: Continue Statement423587 -Node: Next Statement425414 -Node: Nextfile Statement427797 -Node: Exit Statement430449 -Node: Built-in Variables432852 -Node: User-modified433985 -Ref: User-modified-Footnote-1441610 -Node: Auto-set441672 -Ref: Auto-set-Footnote-1455028 -Ref: Auto-set-Footnote-2455234 -Node: ARGC and ARGV455290 -Node: Pattern Action Summary459503 -Node: Arrays461933 -Node: Array Basics463262 -Node: Array Intro464106 -Ref: figure-array-elements466081 -Ref: Array Intro-Footnote-1468785 -Node: Reference to Elements468913 -Node: Assigning Elements471377 -Node: Array Example471868 -Node: Scanning an Array473627 -Node: Controlling Scanning476649 -Ref: Controlling Scanning-Footnote-1482048 -Node: Numeric Array Subscripts482364 -Node: Uninitialized Subscripts484548 -Node: Delete486167 -Ref: Delete-Footnote-1488919 -Node: Multidimensional488976 -Node: Multiscanning492071 -Node: Arrays of Arrays493662 -Node: Arrays Summary498429 -Node: Functions500522 -Node: Built-in501560 -Node: Calling Built-in502641 -Node: Numeric Functions504637 -Ref: Numeric Functions-Footnote-1508665 -Ref: Numeric Functions-Footnote-2509022 -Ref: Numeric Functions-Footnote-3509070 -Node: String Functions509342 -Ref: String Functions-Footnote-1532846 -Ref: String Functions-Footnote-2532974 -Ref: String Functions-Footnote-3533222 -Node: Gory Details533309 -Ref: table-sub-escapes535100 -Ref: table-sub-proposed536619 -Ref: table-posix-sub537982 -Ref: table-gensub-escapes539523 -Ref: Gory Details-Footnote-1540346 -Node: I/O Functions540500 -Ref: table-system-return-values547082 -Ref: I/O Functions-Footnote-1549062 -Ref: I/O Functions-Footnote-2549210 -Node: Time Functions549330 -Ref: Time Functions-Footnote-1559852 -Ref: Time Functions-Footnote-2559920 -Ref: Time Functions-Footnote-3560078 -Ref: Time Functions-Footnote-4560189 -Ref: Time Functions-Footnote-5560301 -Ref: Time Functions-Footnote-6560528 -Node: Bitwise Functions560794 -Ref: table-bitwise-ops561388 -Ref: Bitwise Functions-Footnote-1565726 -Node: Type Functions565899 -Node: I18N Functions567055 -Node: User-defined568706 -Node: Definition Syntax569511 -Ref: Definition Syntax-Footnote-1575198 -Node: Function Example575269 -Ref: Function Example-Footnote-1578191 -Node: Function Caveats578213 -Node: Calling A Function578731 -Node: Variable Scope579689 -Node: Pass By Value/Reference582683 -Node: Return Statement586182 -Node: Dynamic Typing589161 -Node: Indirect Calls590091 -Ref: Indirect Calls-Footnote-1600342 -Node: Functions Summary600470 -Node: Library Functions603175 -Ref: Library Functions-Footnote-1606782 -Ref: Library Functions-Footnote-2606925 -Node: Library Names607096 -Ref: Library Names-Footnote-1610556 -Ref: Library Names-Footnote-2610779 -Node: General Functions610865 -Node: Strtonum Function611968 -Node: Assert Function614990 -Node: Round Function618316 -Node: Cliff Random Function619857 -Node: Ordinal Functions620873 -Ref: Ordinal Functions-Footnote-1623936 -Ref: Ordinal Functions-Footnote-2624188 -Node: Join Function624398 -Ref: Join Function-Footnote-1626168 -Node: Getlocaltime Function626368 -Node: Readfile Function630110 -Node: Shell Quoting632082 -Node: Data File Management633483 -Node: Filetrans Function634115 -Node: Rewind Function638211 -Node: File Checking640117 -Ref: File Checking-Footnote-1641451 -Node: Empty Files641652 -Node: Ignoring Assigns643631 -Node: Getopt Function645181 -Ref: Getopt Function-Footnote-1656650 -Node: Passwd Functions656850 -Ref: Passwd Functions-Footnote-1665689 -Node: Group Functions665777 -Ref: Group Functions-Footnote-1673675 -Node: Walking Arrays673882 -Node: Library Functions Summary676890 -Node: Library Exercises678296 -Node: Sample Programs678761 -Node: Running Examples679531 -Node: Clones680259 -Node: Cut Program681483 -Node: Egrep Program691412 -Ref: Egrep Program-Footnote-1698924 -Node: Id Program699034 -Node: Split Program702714 -Ref: Split Program-Footnote-1706173 -Node: Tee Program706302 -Node: Uniq Program709092 -Node: Wc Program716518 -Ref: Wc Program-Footnote-1720773 -Node: Miscellaneous Programs720867 -Node: Dupword Program722080 -Node: Alarm Program724110 -Node: Translate Program728965 -Ref: Translate Program-Footnote-1733530 -Node: Labels Program733800 -Ref: Labels Program-Footnote-1737151 -Node: Word Sorting737235 -Node: History Sorting741307 -Node: Extract Program743142 -Node: Simple Sed750671 -Node: Igawk Program753745 -Ref: Igawk Program-Footnote-1768076 -Ref: Igawk Program-Footnote-2768278 -Ref: Igawk Program-Footnote-3768400 -Node: Anagram Program768515 -Node: Signature Program771577 -Node: Programs Summary772824 -Node: Programs Exercises774038 -Ref: Programs Exercises-Footnote-1778167 -Node: Advanced Features778258 -Node: Nondecimal Data780248 -Node: Array Sorting781839 -Node: Controlling Array Traversal782539 -Ref: Controlling Array Traversal-Footnote-1790906 -Node: Array Sorting Functions791024 -Ref: Array Sorting Functions-Footnote-1796115 -Node: Two-way I/O796311 -Ref: Two-way I/O-Footnote-1802605 -Ref: Two-way I/O-Footnote-2802792 -Node: TCP/IP Networking802874 -Node: Profiling805992 -Node: Advanced Features Summary813531 -Node: Internationalization815467 -Node: I18N and L10N816947 -Node: Explaining gettext817634 -Ref: Explaining gettext-Footnote-1823526 -Ref: Explaining gettext-Footnote-2823711 -Node: Programmer i18n823876 -Ref: Programmer i18n-Footnote-1828731 -Node: Translator i18n828780 -Node: String Extraction829574 -Ref: String Extraction-Footnote-1830706 -Node: Printf Ordering830792 -Ref: Printf Ordering-Footnote-1833578 -Node: I18N Portability833642 -Ref: I18N Portability-Footnote-1836098 -Node: I18N Example836161 -Ref: I18N Example-Footnote-1838967 -Node: Gawk I18N839040 -Node: I18N Summary839685 -Node: Debugger841026 -Node: Debugging842048 -Node: Debugging Concepts842489 -Node: Debugging Terms844298 -Node: Awk Debugging846873 -Node: Sample Debugging Session847779 -Node: Debugger Invocation848313 -Node: Finding The Bug849699 -Node: List of Debugger Commands856177 -Node: Breakpoint Control857510 -Node: Debugger Execution Control861204 -Node: Viewing And Changing Data864566 -Node: Execution Stack867940 -Node: Debugger Info869577 -Node: Miscellaneous Debugger Commands873648 -Node: Readline Support878736 -Node: Limitations879632 -Node: Debugging Summary881741 -Node: Arbitrary Precision Arithmetic882914 -Node: Computer Arithmetic884330 -Ref: table-numeric-ranges887921 -Ref: Computer Arithmetic-Footnote-1888643 -Node: Math Definitions888700 -Ref: table-ieee-formats892014 -Ref: Math Definitions-Footnote-1892617 -Node: MPFR features892722 -Node: FP Math Caution894439 -Ref: FP Math Caution-Footnote-1895511 -Node: Inexactness of computations895880 -Node: Inexact representation896840 -Node: Comparing FP Values898200 -Node: Errors accumulate899282 -Node: Getting Accuracy900715 -Node: Try To Round903425 -Node: Setting precision904324 -Ref: table-predefined-precision-strings905021 -Node: Setting the rounding mode906851 -Ref: table-gawk-rounding-modes907225 -Ref: Setting the rounding mode-Footnote-1910633 -Node: Arbitrary Precision Integers910812 -Ref: Arbitrary Precision Integers-Footnote-1913796 -Node: POSIX Floating Point Problems913945 -Ref: POSIX Floating Point Problems-Footnote-1917827 -Node: Floating point summary917865 -Node: Dynamic Extensions920055 -Node: Extension Intro921608 -Node: Plugin License922874 -Node: Extension Mechanism Outline923671 -Ref: figure-load-extension924110 -Ref: figure-register-new-function925675 -Ref: figure-call-new-function926767 -Node: Extension API Description928829 -Node: Extension API Functions Introduction930277 -Node: General Data Types935089 -Ref: General Data Types-Footnote-1941044 -Node: Memory Allocation Functions941343 -Ref: Memory Allocation Functions-Footnote-1944188 -Node: Constructor Functions944287 -Node: Registration Functions946032 -Node: Extension Functions946717 -Node: Exit Callback Functions949016 -Node: Extension Version String950266 -Node: Input Parsers950929 -Node: Output Wrappers960811 -Node: Two-way processors965323 -Node: Printing Messages967588 -Ref: Printing Messages-Footnote-1968662 -Node: Updating ERRNO968815 -Node: Requesting Values969554 -Ref: table-value-types-returned970291 -Node: Accessing Parameters971174 -Node: Symbol Table Access972409 -Node: Symbol table by name972921 -Node: Symbol table by cookie974942 -Ref: Symbol table by cookie-Footnote-1979094 -Node: Cached values979158 -Ref: Cached values-Footnote-1982665 -Node: Array Manipulation982756 -Ref: Array Manipulation-Footnote-1983855 -Node: Array Data Types983892 -Ref: Array Data Types-Footnote-1986550 -Node: Array Functions986642 -Node: Flattening Arrays990500 -Node: Creating Arrays997408 -Node: Extension API Variables1002177 -Node: Extension Versioning1002813 -Ref: gawk-api-version1003250 -Node: Extension API Informational Variables1005006 -Node: Extension API Boilerplate1006070 -Node: Finding Extensions1009884 -Node: Extension Example1010443 -Node: Internal File Description1011241 -Node: Internal File Ops1015321 -Ref: Internal File Ops-Footnote-11027083 -Node: Using Internal File Ops1027223 -Ref: Using Internal File Ops-Footnote-11029606 -Node: Extension Samples1029880 -Node: Extension Sample File Functions1031409 -Node: Extension Sample Fnmatch1039058 -Node: Extension Sample Fork1040545 -Node: Extension Sample Inplace1041763 -Node: Extension Sample Ord1044973 -Node: Extension Sample Readdir1045809 -Ref: table-readdir-file-types1046698 -Node: Extension Sample Revout1047503 -Node: Extension Sample Rev2way1048092 -Node: Extension Sample Read write array1048832 -Node: Extension Sample Readfile1050774 -Node: Extension Sample Time1051869 -Node: Extension Sample API Tests1053217 -Node: gawkextlib1053709 -Node: Extension summary1056133 -Node: Extension Exercises1059825 -Node: Language History1061323 -Node: V7/SVR3.11062979 -Node: SVR41065131 -Node: POSIX1066565 -Node: BTL1067944 -Node: POSIX/GNU1068673 -Node: Feature History1074194 -Node: Common Extensions1087523 -Node: Ranges and Locales1088806 -Ref: Ranges and Locales-Footnote-11093422 -Ref: Ranges and Locales-Footnote-21093449 -Ref: Ranges and Locales-Footnote-31093684 -Node: Contributors1093905 -Node: History summary1099465 -Node: Installation1100845 -Node: Gawk Distribution1101789 -Node: Getting1102273 -Node: Extracting1103234 -Node: Distribution contents1104872 -Node: Unix Installation1110623 -Node: Quick Installation1111239 -Node: Additional Configuration Options1113666 -Node: Configuration Philosophy1115470 -Node: Non-Unix Installation1117839 -Node: PC Installation1118297 -Node: PC Binary Installation1119617 -Node: PC Compiling1121469 -Ref: PC Compiling-Footnote-11124263 -Node: PC Testing1124372 -Node: PC Using1125552 -Ref: PC Using-Footnote-11129705 -Node: Cygwin1129778 -Node: MSYS1130548 -Node: VMS Installation1131049 -Node: VMS Compilation1131840 -Ref: VMS Compilation-Footnote-11133069 -Node: VMS Dynamic Extensions1133127 -Node: VMS Installation Details1134812 -Node: VMS Running1137065 -Node: VMS GNV1141344 -Node: VMS Old Gawk1142079 -Node: Bugs1142550 -Node: Bug address1143213 -Node: Usenet1145610 -Node: Maintainers1146385 -Node: Other Versions1147761 -Node: Installation summary1154345 -Node: Notes1155396 -Node: Compatibility Mode1156261 -Node: Additions1157043 -Node: Accessing The Source1157968 -Node: Adding Code1159403 -Node: New Ports1165622 -Node: Derived Files1170110 -Ref: Derived Files-Footnote-11175595 -Ref: Derived Files-Footnote-21175630 -Ref: Derived Files-Footnote-31176228 -Node: Future Extensions1176342 -Node: Implementation Limitations1177000 -Node: Extension Design1178183 -Node: Old Extension Problems1179337 -Ref: Old Extension Problems-Footnote-11180855 -Node: Extension New Mechanism Goals1180912 -Ref: Extension New Mechanism Goals-Footnote-11184276 -Node: Extension Other Design Decisions1184465 -Node: Extension Future Growth1186578 -Node: Old Extension Mechanism1187414 -Node: Notes summary1189177 -Node: Basic Concepts1190359 -Node: Basic High Level1191040 -Ref: figure-general-flow1191322 -Ref: figure-process-flow1192007 -Ref: Basic High Level-Footnote-11195308 -Node: Basic Data Typing1195493 -Node: Glossary1198821 -Node: Copying1230768 -Node: GNU Free Documentation License1268307 -Node: Index1293425 +Node: Foreword342162 +Node: Foreword446604 +Node: Preface48136 +Ref: Preface-Footnote-150995 +Ref: Preface-Footnote-251102 +Ref: Preface-Footnote-351336 +Node: History51478 +Node: Names53830 +Ref: Names-Footnote-154924 +Node: This Manual55071 +Ref: This Manual-Footnote-161556 +Node: Conventions61656 +Node: Manual History64010 +Ref: Manual History-Footnote-167005 +Ref: Manual History-Footnote-267046 +Node: How To Contribute67120 +Node: Acknowledgments68249 +Node: Getting Started73135 +Node: Running gawk75574 +Node: One-shot76764 +Node: Read Terminal78027 +Node: Long80020 +Node: Executable Scripts81533 +Ref: Executable Scripts-Footnote-184328 +Node: Comments84431 +Node: Quoting86915 +Node: DOS Quoting92432 +Node: Sample Data Files93107 +Node: Very Simple95702 +Node: Two Rules100604 +Node: More Complex102489 +Node: Statements/Lines105355 +Ref: Statements/Lines-Footnote-1109814 +Node: Other Features110079 +Node: When111015 +Ref: When-Footnote-1112769 +Node: Intro Summary112834 +Node: Invoking Gawk113718 +Node: Command Line115232 +Node: Options116030 +Ref: Options-Footnote-1131937 +Ref: Options-Footnote-2132167 +Node: Other Arguments132192 +Node: Naming Standard Input135139 +Node: Environment Variables136232 +Node: AWKPATH Variable136790 +Ref: AWKPATH Variable-Footnote-1140091 +Ref: AWKPATH Variable-Footnote-2140125 +Node: AWKLIBPATH Variable140386 +Node: Other Environment Variables141530 +Node: Exit Status145478 +Node: Include Files146155 +Node: Loading Shared Libraries149750 +Node: Obsolete151178 +Node: Undocumented151870 +Node: Invoking Summary152167 +Node: Regexp153827 +Node: Regexp Usage155281 +Node: Escape Sequences157318 +Node: Regexp Operators163332 +Ref: Regexp Operators-Footnote-1170748 +Ref: Regexp Operators-Footnote-2170895 +Node: Bracket Expressions170993 +Ref: table-char-classes173469 +Node: Leftmost Longest176606 +Node: Computed Regexps177909 +Node: GNU Regexp Operators181336 +Node: Case-sensitivity185015 +Ref: Case-sensitivity-Footnote-1187902 +Ref: Case-sensitivity-Footnote-2188137 +Node: Regexp Summary188245 +Node: Reading Files189711 +Node: Records191805 +Node: awk split records192538 +Node: gawk split records197469 +Ref: gawk split records-Footnote-1202009 +Node: Fields202046 +Ref: Fields-Footnote-1204826 +Node: Nonconstant Fields204912 +Ref: Nonconstant Fields-Footnote-1207148 +Node: Changing Fields207352 +Node: Field Separators213280 +Node: Default Field Splitting215978 +Node: Regexp Field Splitting217096 +Node: Single Character Fields220449 +Node: Command Line Field Separator221509 +Node: Full Line Fields224727 +Ref: Full Line Fields-Footnote-1226249 +Ref: Full Line Fields-Footnote-2226295 +Node: Field Splitting Summary226396 +Node: Constant Size228470 +Node: Splitting By Content233048 +Ref: Splitting By Content-Footnote-1237019 +Node: Multiple Line237182 +Ref: Multiple Line-Footnote-1243064 +Node: Getline243243 +Node: Plain Getline245447 +Node: Getline/Variable248086 +Node: Getline/File249235 +Node: Getline/Variable/File250621 +Ref: Getline/Variable/File-Footnote-1252224 +Node: Getline/Pipe252312 +Node: Getline/Variable/Pipe255017 +Node: Getline/Coprocess256150 +Node: Getline/Variable/Coprocess257415 +Node: Getline Notes258155 +Node: Getline Summary260950 +Ref: table-getline-variants261372 +Node: Read Timeout262120 +Ref: Read Timeout-Footnote-1265961 +Node: Command-line directories266019 +Node: Input Summary266923 +Node: Input Exercises270095 +Node: Printing270823 +Node: Print272599 +Node: Print Examples274056 +Node: Output Separators276836 +Node: OFMT278853 +Node: Printf280209 +Node: Basic Printf280994 +Node: Control Letters282568 +Node: Format Modifiers286556 +Node: Printf Examples292571 +Node: Redirection295057 +Node: Special FD301898 +Ref: Special FD-Footnote-1305066 +Node: Special Files305140 +Node: Other Inherited Files305757 +Node: Special Network306758 +Node: Special Caveats307618 +Node: Close Files And Pipes308567 +Ref: Close Files And Pipes-Footnote-1315760 +Ref: Close Files And Pipes-Footnote-2315908 +Node: Output Summary316059 +Node: Output Exercises317057 +Node: Expressions317736 +Node: Values318924 +Node: Constants319602 +Node: Scalar Constants320293 +Ref: Scalar Constants-Footnote-1321157 +Node: Nondecimal-numbers321407 +Node: Regexp Constants324420 +Node: Using Constant Regexps324946 +Node: Variables328109 +Node: Using Variables328766 +Node: Assignment Options330676 +Node: Conversion332549 +Node: Strings And Numbers333073 +Ref: Strings And Numbers-Footnote-1336136 +Node: Locale influences conversions336245 +Ref: table-locale-affects339003 +Node: All Operators339621 +Node: Arithmetic Ops340250 +Node: Concatenation342756 +Ref: Concatenation-Footnote-1345603 +Node: Assignment Ops345710 +Ref: table-assign-ops350701 +Node: Increment Ops352014 +Node: Truth Values and Conditions355474 +Node: Truth Values356548 +Node: Typing and Comparison357596 +Node: Variable Typing358416 +Node: Comparison Operators362040 +Ref: table-relational-ops362459 +Node: POSIX String Comparison365954 +Ref: POSIX String Comparison-Footnote-1367028 +Node: Boolean Ops367167 +Ref: Boolean Ops-Footnote-1371649 +Node: Conditional Exp371741 +Node: Function Calls373477 +Node: Precedence377354 +Node: Locales381013 +Node: Expressions Summary382645 +Node: Patterns and Actions385218 +Node: Pattern Overview386338 +Node: Regexp Patterns388015 +Node: Expression Patterns388557 +Node: Ranges392338 +Node: BEGIN/END395446 +Node: Using BEGIN/END396207 +Ref: Using BEGIN/END-Footnote-1398943 +Node: I/O And BEGIN/END399049 +Node: BEGINFILE/ENDFILE401363 +Node: Empty404270 +Node: Using Shell Variables404587 +Node: Action Overview406861 +Node: Statements409186 +Node: If Statement411034 +Node: While Statement412529 +Node: Do Statement414557 +Node: For Statement415705 +Node: Switch Statement418863 +Node: Break Statement421249 +Node: Continue Statement423341 +Node: Next Statement425168 +Node: Nextfile Statement427551 +Node: Exit Statement430203 +Node: Built-in Variables432606 +Node: User-modified433739 +Ref: User-modified-Footnote-1441364 +Node: Auto-set441426 +Ref: Auto-set-Footnote-1454782 +Ref: Auto-set-Footnote-2454988 +Node: ARGC and ARGV455044 +Node: Pattern Action Summary459257 +Node: Arrays461687 +Node: Array Basics463016 +Node: Array Intro463860 +Ref: figure-array-elements465835 +Ref: Array Intro-Footnote-1468539 +Node: Reference to Elements468667 +Node: Assigning Elements471131 +Node: Array Example471622 +Node: Scanning an Array473381 +Node: Controlling Scanning476403 +Ref: Controlling Scanning-Footnote-1481802 +Node: Numeric Array Subscripts482118 +Node: Uninitialized Subscripts484302 +Node: Delete485921 +Ref: Delete-Footnote-1488673 +Node: Multidimensional488730 +Node: Multiscanning491825 +Node: Arrays of Arrays493416 +Node: Arrays Summary498183 +Node: Functions500276 +Node: Built-in501314 +Node: Calling Built-in502395 +Node: Numeric Functions504391 +Ref: Numeric Functions-Footnote-1508419 +Ref: Numeric Functions-Footnote-2508776 +Ref: Numeric Functions-Footnote-3508824 +Node: String Functions509096 +Ref: String Functions-Footnote-1532600 +Ref: String Functions-Footnote-2532728 +Ref: String Functions-Footnote-3532976 +Node: Gory Details533063 +Ref: table-sub-escapes534854 +Ref: table-sub-proposed536373 +Ref: table-posix-sub537736 +Ref: table-gensub-escapes539277 +Ref: Gory Details-Footnote-1540100 +Node: I/O Functions540254 +Ref: table-system-return-values546836 +Ref: I/O Functions-Footnote-1548816 +Ref: I/O Functions-Footnote-2548964 +Node: Time Functions549084 +Ref: Time Functions-Footnote-1559606 +Ref: Time Functions-Footnote-2559674 +Ref: Time Functions-Footnote-3559832 +Ref: Time Functions-Footnote-4559943 +Ref: Time Functions-Footnote-5560055 +Ref: Time Functions-Footnote-6560282 +Node: Bitwise Functions560548 +Ref: table-bitwise-ops561142 +Ref: Bitwise Functions-Footnote-1565480 +Node: Type Functions565653 +Node: I18N Functions566809 +Node: User-defined568460 +Node: Definition Syntax569265 +Ref: Definition Syntax-Footnote-1574952 +Node: Function Example575023 +Ref: Function Example-Footnote-1577945 +Node: Function Caveats577967 +Node: Calling A Function578485 +Node: Variable Scope579443 +Node: Pass By Value/Reference582437 +Node: Return Statement585936 +Node: Dynamic Typing588915 +Node: Indirect Calls589845 +Ref: Indirect Calls-Footnote-1600096 +Node: Functions Summary600224 +Node: Library Functions602929 +Ref: Library Functions-Footnote-1606536 +Ref: Library Functions-Footnote-2606679 +Node: Library Names606850 +Ref: Library Names-Footnote-1610310 +Ref: Library Names-Footnote-2610533 +Node: General Functions610619 +Node: Strtonum Function611722 +Node: Assert Function614744 +Node: Round Function618070 +Node: Cliff Random Function619611 +Node: Ordinal Functions620627 +Ref: Ordinal Functions-Footnote-1623690 +Ref: Ordinal Functions-Footnote-2623942 +Node: Join Function624152 +Ref: Join Function-Footnote-1625922 +Node: Getlocaltime Function626122 +Node: Readfile Function629864 +Node: Shell Quoting631836 +Node: Data File Management633237 +Node: Filetrans Function633869 +Node: Rewind Function637965 +Node: File Checking639871 +Ref: File Checking-Footnote-1641205 +Node: Empty Files641406 +Node: Ignoring Assigns643385 +Node: Getopt Function644935 +Ref: Getopt Function-Footnote-1656404 +Node: Passwd Functions656604 +Ref: Passwd Functions-Footnote-1665443 +Node: Group Functions665531 +Ref: Group Functions-Footnote-1673429 +Node: Walking Arrays673636 +Node: Library Functions Summary676644 +Node: Library Exercises678050 +Node: Sample Programs678515 +Node: Running Examples679285 +Node: Clones680013 +Node: Cut Program681237 +Node: Egrep Program691166 +Ref: Egrep Program-Footnote-1698678 +Node: Id Program698788 +Node: Split Program702468 +Ref: Split Program-Footnote-1705927 +Node: Tee Program706056 +Node: Uniq Program708846 +Node: Wc Program716272 +Ref: Wc Program-Footnote-1720527 +Node: Miscellaneous Programs720621 +Node: Dupword Program721834 +Node: Alarm Program723864 +Node: Translate Program728719 +Ref: Translate Program-Footnote-1733284 +Node: Labels Program733554 +Ref: Labels Program-Footnote-1736905 +Node: Word Sorting736989 +Node: History Sorting741061 +Node: Extract Program742896 +Node: Simple Sed750425 +Node: Igawk Program753499 +Ref: Igawk Program-Footnote-1767830 +Ref: Igawk Program-Footnote-2768032 +Ref: Igawk Program-Footnote-3768154 +Node: Anagram Program768269 +Node: Signature Program771331 +Node: Programs Summary772578 +Node: Programs Exercises773792 +Ref: Programs Exercises-Footnote-1777921 +Node: Advanced Features778012 +Node: Nondecimal Data780002 +Node: Array Sorting781593 +Node: Controlling Array Traversal782293 +Ref: Controlling Array Traversal-Footnote-1790660 +Node: Array Sorting Functions790778 +Ref: Array Sorting Functions-Footnote-1795869 +Node: Two-way I/O796065 +Ref: Two-way I/O-Footnote-1802359 +Ref: Two-way I/O-Footnote-2802546 +Node: TCP/IP Networking802628 +Node: Profiling805746 +Node: Advanced Features Summary813285 +Node: Internationalization815221 +Node: I18N and L10N816701 +Node: Explaining gettext817388 +Ref: Explaining gettext-Footnote-1823280 +Ref: Explaining gettext-Footnote-2823465 +Node: Programmer i18n823630 +Ref: Programmer i18n-Footnote-1828485 +Node: Translator i18n828534 +Node: String Extraction829328 +Ref: String Extraction-Footnote-1830460 +Node: Printf Ordering830546 +Ref: Printf Ordering-Footnote-1833332 +Node: I18N Portability833396 +Ref: I18N Portability-Footnote-1835852 +Node: I18N Example835915 +Ref: I18N Example-Footnote-1838721 +Node: Gawk I18N838794 +Node: I18N Summary839439 +Node: Debugger840780 +Node: Debugging841802 +Node: Debugging Concepts842243 +Node: Debugging Terms844052 +Node: Awk Debugging846627 +Node: Sample Debugging Session847533 +Node: Debugger Invocation848067 +Node: Finding The Bug849453 +Node: List of Debugger Commands855931 +Node: Breakpoint Control857264 +Node: Debugger Execution Control860958 +Node: Viewing And Changing Data864320 +Node: Execution Stack867694 +Node: Debugger Info869331 +Node: Miscellaneous Debugger Commands873402 +Node: Readline Support878490 +Node: Limitations879386 +Node: Debugging Summary881495 +Node: Arbitrary Precision Arithmetic882668 +Node: Computer Arithmetic884084 +Ref: table-numeric-ranges887675 +Ref: Computer Arithmetic-Footnote-1888397 +Node: Math Definitions888454 +Ref: table-ieee-formats891768 +Ref: Math Definitions-Footnote-1892371 +Node: MPFR features892476 +Node: FP Math Caution894193 +Ref: FP Math Caution-Footnote-1895265 +Node: Inexactness of computations895634 +Node: Inexact representation896594 +Node: Comparing FP Values897954 +Node: Errors accumulate899036 +Node: Getting Accuracy900469 +Node: Try To Round903179 +Node: Setting precision904078 +Ref: table-predefined-precision-strings904775 +Node: Setting the rounding mode906605 +Ref: table-gawk-rounding-modes906979 +Ref: Setting the rounding mode-Footnote-1910387 +Node: Arbitrary Precision Integers910566 +Ref: Arbitrary Precision Integers-Footnote-1913550 +Node: POSIX Floating Point Problems913699 +Ref: POSIX Floating Point Problems-Footnote-1917581 +Node: Floating point summary917619 +Node: Dynamic Extensions919809 +Node: Extension Intro921362 +Node: Plugin License922628 +Node: Extension Mechanism Outline923425 +Ref: figure-load-extension923864 +Ref: figure-register-new-function925429 +Ref: figure-call-new-function926521 +Node: Extension API Description928583 +Node: Extension API Functions Introduction930031 +Node: General Data Types934843 +Ref: General Data Types-Footnote-1940798 +Node: Memory Allocation Functions941097 +Ref: Memory Allocation Functions-Footnote-1943942 +Node: Constructor Functions944041 +Node: Registration Functions945786 +Node: Extension Functions946471 +Node: Exit Callback Functions948770 +Node: Extension Version String950020 +Node: Input Parsers950683 +Node: Output Wrappers960565 +Node: Two-way processors965077 +Node: Printing Messages967342 +Ref: Printing Messages-Footnote-1968416 +Node: Updating ERRNO968569 +Node: Requesting Values969308 +Ref: table-value-types-returned970045 +Node: Accessing Parameters970928 +Node: Symbol Table Access972163 +Node: Symbol table by name972675 +Node: Symbol table by cookie974696 +Ref: Symbol table by cookie-Footnote-1978848 +Node: Cached values978912 +Ref: Cached values-Footnote-1982419 +Node: Array Manipulation982510 +Ref: Array Manipulation-Footnote-1983609 +Node: Array Data Types983646 +Ref: Array Data Types-Footnote-1986304 +Node: Array Functions986396 +Node: Flattening Arrays990254 +Node: Creating Arrays997162 +Node: Extension API Variables1001931 +Node: Extension Versioning1002567 +Ref: gawk-api-version1003004 +Node: Extension API Informational Variables1004760 +Node: Extension API Boilerplate1005824 +Node: Finding Extensions1009638 +Node: Extension Example1010197 +Node: Internal File Description1010995 +Node: Internal File Ops1015075 +Ref: Internal File Ops-Footnote-11026837 +Node: Using Internal File Ops1026977 +Ref: Using Internal File Ops-Footnote-11029360 +Node: Extension Samples1029634 +Node: Extension Sample File Functions1031163 +Node: Extension Sample Fnmatch1038812 +Node: Extension Sample Fork1040299 +Node: Extension Sample Inplace1041517 +Node: Extension Sample Ord1044727 +Node: Extension Sample Readdir1045563 +Ref: table-readdir-file-types1046452 +Node: Extension Sample Revout1047257 +Node: Extension Sample Rev2way1047846 +Node: Extension Sample Read write array1048586 +Node: Extension Sample Readfile1050528 +Node: Extension Sample Time1051623 +Node: Extension Sample API Tests1052971 +Node: gawkextlib1053463 +Node: Extension summary1055887 +Node: Extension Exercises1059579 +Node: Language History1061077 +Node: V7/SVR3.11062733 +Node: SVR41064885 +Node: POSIX1066319 +Node: BTL1067698 +Node: POSIX/GNU1068427 +Node: Feature History1073948 +Node: Common Extensions1087277 +Node: Ranges and Locales1088560 +Ref: Ranges and Locales-Footnote-11093176 +Ref: Ranges and Locales-Footnote-21093203 +Ref: Ranges and Locales-Footnote-31093438 +Node: Contributors1093659 +Node: History summary1099219 +Node: Installation1100599 +Node: Gawk Distribution1101543 +Node: Getting1102027 +Node: Extracting1102988 +Node: Distribution contents1104626 +Node: Unix Installation1110368 +Node: Quick Installation1110984 +Node: Additional Configuration Options1113411 +Node: Configuration Philosophy1115215 +Node: Non-Unix Installation1117584 +Node: PC Installation1118044 +Node: PC Binary Installation1118882 +Node: PC Compiling1119317 +Node: PC Using1120434 +Node: Cygwin1123479 +Node: MSYS1124249 +Node: VMS Installation1124750 +Node: VMS Compilation1125541 +Ref: VMS Compilation-Footnote-11126770 +Node: VMS Dynamic Extensions1126828 +Node: VMS Installation Details1128513 +Node: VMS Running1130766 +Node: VMS GNV1135045 +Node: VMS Old Gawk1135780 +Node: Bugs1136251 +Node: Bug address1136914 +Node: Usenet1139311 +Node: Maintainers1140086 +Node: Other Versions1141462 +Node: Installation summary1148046 +Node: Notes1149081 +Node: Compatibility Mode1149946 +Node: Additions1150728 +Node: Accessing The Source1151653 +Node: Adding Code1153088 +Node: New Ports1159307 +Node: Derived Files1163795 +Ref: Derived Files-Footnote-11169280 +Ref: Derived Files-Footnote-21169315 +Ref: Derived Files-Footnote-31169913 +Node: Future Extensions1170027 +Node: Implementation Limitations1170685 +Node: Extension Design1171868 +Node: Old Extension Problems1173022 +Ref: Old Extension Problems-Footnote-11174540 +Node: Extension New Mechanism Goals1174597 +Ref: Extension New Mechanism Goals-Footnote-11177961 +Node: Extension Other Design Decisions1178150 +Node: Extension Future Growth1180263 +Node: Old Extension Mechanism1181099 +Node: Notes summary1182862 +Node: Basic Concepts1184044 +Node: Basic High Level1184725 +Ref: figure-general-flow1185007 +Ref: figure-process-flow1185692 +Ref: Basic High Level-Footnote-11188993 +Node: Basic Data Typing1189178 +Node: Glossary1192506 +Node: Copying1224453 +Node: GNU Free Documentation License1261992 +Node: Index1287110 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index fe3be3bc..e1b8fbbb 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -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.} @@ -2482,13 +2474,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 @@ -4417,7 +4403,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, @@ -22683,7 +22669,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 @@ -37333,9 +37318,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/* @@ -37554,108 +37536,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 @@ -37666,177 +37588,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} @@ -38468,8 +38248,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} @@ -38729,9 +38509,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}. @@ -42224,7 +42001,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 509b17d3..207c85bb 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -978,14 +978,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 @@ -1367,12 +1364,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.} @@ -2449,13 +2441,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 @@ -4328,7 +4314,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, @@ -21774,7 +21760,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 @@ -36424,9 +36409,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/* @@ -36645,108 +36627,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 @@ -36757,177 +36679,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} @@ -37559,8 +37339,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} @@ -37820,9 +37600,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}. @@ -41315,7 +41092,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. |