[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] gawk branch, feature/nuke-djgpp, created. gawk-4.1.0-4760-g628b387
From: |
Arnold Robbins |
Subject: |
[SCM] gawk branch, feature/nuke-djgpp, created. gawk-4.1.0-4760-g628b3876 |
Date: |
Wed, 6 Jul 2022 08:26:47 -0400 (EDT) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".
The branch, feature/nuke-djgpp has been created
at 628b387658b5704cc711e106459ed3bee37ef600 (commit)
- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=628b387658b5704cc711e106459ed3bee37ef600
commit 628b387658b5704cc711e106459ed3bee37ef600
Author: Arnold D. Robbins <arnold@skeeve.com>
Date: Wed Jul 6 15:26:09 2022 +0300
Remove DJGPP support.
diff --git a/ChangeLog b/ChangeLog
index 94f43869..acfb88f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2022-07-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * README: Updated. Remove mention of DJGPP.
+ * awk.h, custom.h, eval.c, gawkmisc.c, io.c, main.c, nonposix.h,
+ re.c, replace.c: Remove all code for __DJGPP__.
+
2022-07-03 Arnold D. Robbins <arnold@skeeve.com>
* README: Updated. Remove mention of OS/2.
diff --git a/README b/README
index 1c9d52af..599154d3 100644
--- a/README
+++ b/README
@@ -87,10 +87,6 @@ Arnold Robbins
BUG REPORTS AND FIXES, non-Unix systems:
-MS-DOS with DJGPP:
- Juan Manuel Guerrero
- juan.guerrero@gmx.de
-
MS-Windows with MinGW:
Eli Zaretskii
eliz@gnu.org
diff --git a/awk.h b/awk.h
index 0da24149..67562f4e 100644
--- a/awk.h
+++ b/awk.h
@@ -169,9 +169,9 @@ extern void *memset_ulong(void *dest, int val, unsigned
long l);
#define fwrite fwrite_unlocked
#endif /* HAVE_FWRITE_UNLOCKED */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#include "nonposix.h"
-#endif /* defined(__DJGPP__) || defined(__MINGW32__) */
+#endif /* defined(__MINGW32__) */
/* use this as lintwarn("...")
this is a hack but it gives us the right semantics */
diff --git a/custom.h b/custom.h
index ace6c81b..67d0d1f0 100644
--- a/custom.h
+++ b/custom.h
@@ -112,8 +112,6 @@ typedef unsigned long long uint_fast64_t;
#define xirealloc xrealloc
#define ximalloc xmalloc
-#include "mbsupport.h" /* defines stuff for DJGPP to fake MBS */
-
#ifdef USE_PERSISTENT_MALLOC
#include <stdlib.h>
#include "pma.h"
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 1bf2ed3f..bf386be7 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2022-07-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Remove stuff related to DJGPP.
+ (POSIX/GNU): Updated.
+ * wordlist, wordlist3: Updated.
+
2022-07-04 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (POSIX/GNU): Updated.
diff --git a/doc/gawk.info b/doc/gawk.info
index e8dead37..16af2c5b 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -11434,10 +11434,8 @@ they are not special:
This element gives a string indicating the platform for which
'gawk' was compiled. The value will be one of the following:
- '"djgpp"'
'"mingw"'
- Microsoft Windows, using either DJGPP or MinGW,
- respectively.
+ Microsoft Windows, using MinGW.
'"os390"'
OS/390.
@@ -30057,6 +30055,8 @@ current version of 'gawk'.
- OS/2
+ - DJGPP
+
File: gawk.info, Node: Feature History, Next: Common Extensions, Prev:
POSIX/GNU, Up: Language History
@@ -31561,12 +31561,11 @@ File: gawk.info, Node: PC Using, Next: Cygwin,
Prev: PC Compiling, Up: PC In
B.3.1.3 Using 'gawk' on PC Operating Systems
............................................
-Information in this section applies to the MinGW and DJGPP ports of
-'gawk'. *Note Cygwin:: for information about the Cygwin port.
+Information in this section applies to the MinGW port of 'gawk'. *Note
+Cygwin:: for information about the Cygwin port.
Under MS-Windows, the MinGW environment supports both the '|&'
-operator and TCP/IP networking (*note TCP/IP Networking::). The DJGPP
-environment does not support '|&'.
+operator and TCP/IP networking (*note TCP/IP Networking::).
The MS-Windows version of 'gawk' searches for program files as
described in *note AWKPATH Variable::. However, semicolons (rather than
@@ -32310,8 +32309,6 @@ should be considered authoritative if it conflicts with
this Info file.
Unix and POSIX Arnold Robbins, <arnold@skeeve.com>
systems
-MS-DOS with DJGPP Juan Manuel Guerrero, <juan.guerrero@gmx.de>
-
MS-Windows with MinGW Eli Zaretskii, <eliz@gnu.org>
VMS John Malmberg, <wb8tyw@qsl.net>
@@ -32534,9 +32531,9 @@ B.6 Summary
file.
* 'gawk' may be built on non-POSIX systems as well. The currently
- supported systems are MS-Windows using MSYS, MSYS2, DJGPP, MinGW,
- and Cygwin, and both Vax/VMS and OpenVMS. Instructions for each
- system are included in this major node.
+ supported systems are MS-Windows using MSYS, MSYS2, 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
@@ -35684,7 +35681,7 @@ Index
(line 19)
* ; (semicolon), separating statements in actions <2>: Statements.
(line 10)
-* ; (semicolon), AWKPATH variable and: PC Using. (line 13)
+* ; (semicolon), AWKPATH variable and: PC Using. (line 12)
* < (left angle bracket), < operator (I/O): Getline/File. (line 6)
* < (left angle bracket), < operator: Comparison Operators.
(line 11)
@@ -36060,7 +36057,7 @@ Index
* AWKgo: Other Versions. (line 133)
* AWKLIBPATH environment variable: AWKLIBPATH Variable. (line 6)
* AWKPATH environment variable: AWKPATH Variable. (line 6)
-* AWKPATH environment variable <1>: PC Using. (line 13)
+* AWKPATH environment variable <1>: PC Using. (line 12)
* awkprof.out file: Profiling. (line 6)
* awksed.awk program: Simple Sed. (line 25)
* awkvars.out file: Options. (line 97)
@@ -36160,7 +36157,7 @@ Index
* bindtextdomain() function (gawk), portability and: I18N Portability.
(line 33)
* BINMODE variable: User-modified. (line 15)
-* BINMODE variable <1>: PC Using. (line 19)
+* BINMODE variable <1>: PC Using. (line 18)
* bit-manipulation functions: Bitwise Functions. (line 6)
* bits2str() user-defined function: Bitwise Functions. (line 70)
* bitwise, operations: Bitwise Functions. (line 6)
@@ -36383,7 +36380,7 @@ Index
* common extensions, length() applied to an array: String Functions.
(line 214)
* common extensions, func keyword: Definition Syntax. (line 99)
-* common extensions, BINMODE variable: PC Using. (line 19)
+* common extensions, BINMODE variable: PC Using. (line 18)
* comp.lang.awk newsgroup: Usenet. (line 11)
* comparison expressions: Typing and Comparison.
(line 9)
@@ -36525,7 +36522,7 @@ Index
* dark corner, exit statement: Exit Statement. (line 30)
* dark corner, value of ARGV[0]: Auto-set. (line 39)
* dark corner, FILENAME variable <1>: Auto-set. (line 108)
-* dark corner, FNR/NR variables: Auto-set. (line 406)
+* dark corner, FNR/NR variables: Auto-set. (line 404)
* dark corner, array subscripts: Uninitialized Subscripts.
(line 43)
* dark corner, regexp as second argument to index(): String Functions.
@@ -36774,8 +36771,8 @@ Index
* differences in awk and gawk, ERRNO variable: Auto-set. (line 87)
* differences in awk and gawk, FUNCTAB variable: Auto-set. (line 134)
* differences in awk and gawk, PROCINFO array: Auto-set. (line 148)
-* differences in awk and gawk, RS/RT variables <3>: Auto-set. (line 345)
-* differences in awk and gawk, SYMTAB variable: Auto-set. (line 349)
+* differences in awk and gawk, RS/RT variables <3>: Auto-set. (line 343)
+* differences in awk and gawk, SYMTAB variable: Auto-set. (line 347)
* differences in awk and gawk, ARGC/ARGV variables: ARGC and ARGV.
(line 89)
* differences in awk and gawk, array elements, deleting: Delete.
@@ -36791,7 +36788,7 @@ Index
* differences in awk and gawk, indirect function calls: Indirect Calls.
(line 6)
* differences in awk and gawk, BINMODE variable <1>: PC Using.
- (line 19)
+ (line 18)
* directories, searching, for source files: AWKPATH Variable. (line 6)
* directories, searching, for loadable extensions: AWKLIBPATH Variable.
(line 6)
@@ -36904,7 +36901,7 @@ Index
* environment variables, LC_ALL: I18N Example. (line 68)
* environment variables, LANG: I18N Example. (line 68)
* environment variables, LC_MESSAGES: I18N Example. (line 68)
-* environment variables, AWKPATH <1>: PC Using. (line 13)
+* environment variables, AWKPATH <1>: PC Using. (line 12)
* epoch, definition of: Glossary. (line 310)
* equals sign (=), = operator: Assignment Ops. (line 6)
* equals sign (=), == operator: Comparison Operators.
@@ -36972,7 +36969,7 @@ Index
* expressions, selecting: Conditional Exp. (line 6)
* expressions, as patterns: Expression Patterns. (line 6)
* Extended Regular Expressions (EREs): Bracket Expressions. (line 34)
-* extension API, version number: Auto-set. (line 284)
+* extension API, version number: Auto-set. (line 282)
* extension API, interaction with namespaces: Namespace And Features.
(line 22)
* extension API: Extension API Description.
@@ -37012,7 +37009,7 @@ Index
* extensions, in gawk, not in POSIX awk: POSIX/GNU. (line 6)
* extensions, Brian Kernighan's awk <1>: Common Extensions. (line 6)
* extensions, mawk: Common Extensions. (line 6)
-* extensions, common, BINMODE variable: PC Using. (line 19)
+* extensions, common, BINMODE variable: PC Using. (line 18)
* extract.awk program: Extract Program. (line 79)
* extraction, of marked strings (internationalization): String Extraction.
(line 6)
@@ -37148,7 +37145,7 @@ Index
(line 12)
* FNR variable: Records. (line 6)
* FNR variable <1>: Auto-set. (line 118)
-* FNR variable, changing: Auto-set. (line 406)
+* FNR variable, changing: Auto-set. (line 404)
* for statement: For Statement. (line 6)
* for statement, looping over arrays: Scanning an Array. (line 20)
* fork() extension function: Extension Sample Fork.
@@ -37312,9 +37309,9 @@ Index
* gawk, ERRNO variable in <3>: Auto-set. (line 87)
* gawk, FUNCTAB array in: Auto-set. (line 134)
* gawk, PROCINFO array in <1>: Auto-set. (line 148)
-* gawk, version of: Auto-set. (line 259)
-* gawk, RT variable in <3>: Auto-set. (line 345)
-* gawk, SYMTAB array in: Auto-set. (line 349)
+* gawk, version of: Auto-set. (line 257)
+* gawk, RT variable in <3>: Auto-set. (line 343)
+* gawk, SYMTAB array in: Auto-set. (line 347)
* gawk, IGNORECASE variable in <2>: Array Intro. (line 100)
* gawk, function arguments and: Calling Built-in. (line 16)
* gawk, IGNORECASE variable in <3>: String Functions. (line 57)
@@ -37342,7 +37339,7 @@ Index
(line 6)
* gawk, configuring: Configuration Philosophy.
(line 6)
-* gawk, MS-Windows version of: PC Using. (line 13)
+* gawk, MS-Windows version of: PC Using. (line 12)
* gawk, VMS version of: VMS Installation. (line 6)
* gawk, implementation issues: Notes. (line 6)
* gawk, implementation issues, downward compatibility: Compatibility Mode.
@@ -37758,7 +37755,7 @@ Index
* mawk utility <2>: Concatenation. (line 36)
* mawk utility <3>: Nextfile Statement. (line 47)
* mawk utility <4>: Other Versions. (line 39)
-* maximum precision supported by MPFR library: Auto-set. (line 273)
+* maximum precision supported by MPFR library: Auto-set. (line 271)
* McIlroy, Doug: Glossary. (line 255)
* McPhee, Patrick T.J.: Contributors. (line 103)
* memory, allocating for extensions: Memory Allocation Functions.
@@ -37773,7 +37770,7 @@ Index
* messages from extensions: Printing Messages. (line 6)
* metacharacters, escape sequences for: Escape Sequences. (line 139)
* metacharacters, in regular expressions: Regexp Operators. (line 6)
-* minimum precision required by MPFR library: Auto-set. (line 276)
+* minimum precision required by MPFR library: Auto-set. (line 274)
* Minshall, Greg: Getopt Function. (line 105)
* mkbool: Boolean Functions. (line 10)
* mktime: Time Functions. (line 25)
@@ -37870,7 +37867,7 @@ Index
* not Boolean-logic operator: Boolean Ops. (line 6)
* NR variable: Records. (line 6)
* NR variable <1>: Auto-set. (line 143)
-* NR variable, changing: Auto-set. (line 406)
+* NR variable, changing: Auto-set. (line 404)
* null strings, in gawk arguments, quoting and: Quoting. (line 82)
* null strings, in gawk arguments, quoting and <1>: Other Arguments.
(line 73)
@@ -37987,7 +37984,7 @@ Index
(line 39)
* package, definition of: Global Namespace. (line 18)
* Papadopoulos, Panos: Contributors. (line 131)
-* parent process ID of gawk process: Auto-set. (line 248)
+* parent process ID of gawk process: Auto-set. (line 246)
* parentheses (), regexp operator: Regexp Operator Details.
(line 77)
* parentheses (), in a profile: Profiling. (line 146)
@@ -38186,8 +38183,8 @@ Index
* printing, mailing labels: Labels Program. (line 6)
* printing, messages from extensions: Printing Messages. (line 6)
* private variables: Library Names. (line 11)
-* process group ID of gawk process: Auto-set. (line 242)
-* process ID of gawk process: Auto-set. (line 245)
+* process group ID of gawk process: Auto-set. (line 240)
+* process ID of gawk process: Auto-set. (line 243)
* processes, two-way communications with: Two-way I/O. (line 6)
* processing data: Basic High Level. (line 6)
* PROCINFO array: Auto-set. (line 148)
@@ -38377,7 +38374,7 @@ Index
* right angle bracket (>), >> operator (I/O) <1>: Precedence. (line 64)
* right shift, bitwise: Bitwise Functions. (line 33)
* Ritchie, Dennis: Basic Data Typing. (line 54)
-* RLENGTH variable: Auto-set. (line 332)
+* RLENGTH variable: Auto-set. (line 330)
* RLENGTH variable, match() function and: String Functions. (line 241)
* Robbins, Miriam: Acknowledgments. (line 94)
* Robbins, Jean: Acknowledgments. (line 94)
@@ -38407,12 +38404,12 @@ Index
* RS variable, multiline records and: Multiple Line. (line 17)
* RS variable <1>: User-modified. (line 135)
* rshift: Bitwise Functions. (line 55)
-* RSTART variable: Auto-set. (line 338)
+* RSTART variable: Auto-set. (line 336)
* RSTART variable, match() function and: String Functions. (line 241)
* RT variable: awk split records. (line 118)
* RT variable <1>: gawk split records. (line 66)
* RT variable <2>: Multiple Line. (line 138)
-* RT variable <3>: Auto-set. (line 345)
+* RT variable <3>: Auto-set. (line 343)
* Rubin, Paul: History. (line 30)
* Rubin, Paul <1>: Contributors. (line 16)
* rule, definition of: Getting Started. (line 21)
@@ -38430,7 +38427,7 @@ Index
* scanning arrays: Scanning an Array. (line 6)
* scanning multidimensional arrays: Multiscanning. (line 11)
* Schorr, Andrew: Acknowledgments. (line 60)
-* Schorr, Andrew <1>: Auto-set. (line 376)
+* Schorr, Andrew <1>: Auto-set. (line 374)
* Schorr, Andrew <2>: Contributors. (line 136)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
@@ -38440,8 +38437,8 @@ Index
* search paths, for loadable extensions: AWKLIBPATH Variable. (line 6)
* search paths: Programs Exercises. (line 70)
* search paths, for source files <1>: Programs Exercises. (line 70)
-* search paths <1>: PC Using. (line 13)
-* search paths, for source files <2>: PC Using. (line 13)
+* search paths <1>: PC Using. (line 12)
+* search paths, for source files <2>: PC Using. (line 12)
* search paths <2>: VMS Running. (line 57)
* search paths, for source files <3>: VMS Running. (line 57)
* searching, files for regular expressions: Egrep Program. (line 6)
@@ -38457,7 +38454,7 @@ Index
(line 19)
* semicolon (;), separating statements in actions <2>: Statements.
(line 10)
-* semicolon (;), AWKPATH variable and: PC Using. (line 13)
+* semicolon (;), AWKPATH variable and: PC Using. (line 12)
* separators, for records: awk split records. (line 6)
* separators, for records <1>: awk split records. (line 85)
* separators, for records, regular expressions as: awk split records.
@@ -38554,7 +38551,7 @@ Index
* sidebar, Syntactic Ambiguities Between /= and Regular Expressions:
Assignment Ops.
(line 148)
* sidebar, Operator Evaluation Order: Increment Ops. (line 58)
-* sidebar, Changing NR and FNR: Auto-set. (line 404)
+* sidebar, Changing NR and FNR: Auto-set. (line 402)
* sidebar, Matching the Null String: String Functions. (line 561)
* sidebar, Interactive Versus Noninteractive Buffering: I/O Functions.
(line 73)
@@ -38712,9 +38709,9 @@ Index
* substr: String Functions. (line 499)
* substring: String Functions. (line 499)
* Sumner, Andrew: Other Versions. (line 64)
-* supplementary groups of gawk process: Auto-set. (line 289)
+* supplementary groups of gawk process: Auto-set. (line 287)
* switch statement: Switch Statement. (line 6)
-* SYMTAB array: Auto-set. (line 349)
+* SYMTAB array: Auto-set. (line 347)
* syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 150)
* system: I/O Functions. (line 105)
@@ -38933,10 +38930,10 @@ Index
* variables, global, for library functions: Library Names. (line 11)
* variables, private: Library Names. (line 11)
* variables <1>: Basic Data Typing. (line 6)
-* version of, gawk: Auto-set. (line 259)
-* version of, GNU MP library: Auto-set. (line 267)
-* version of, GNU MPFR library: Auto-set. (line 269)
-* version of, gawk extension API: Auto-set. (line 284)
+* version of, gawk: Auto-set. (line 257)
+* version of, GNU MP library: Auto-set. (line 265)
+* version of, GNU MPFR library: Auto-set. (line 267)
+* version of, gawk extension API: Auto-set. (line 282)
* vertical bar (|): Regexp Operator Details.
(line 66)
* vertical bar (|), | operator (I/O): Getline/Pipe. (line 10)
@@ -39223,401 +39220,401 @@ Node: Exit Statement469789
Node: Built-in Variables472192
Node: User-modified473325
Node: Auto-set481092
-Ref: Auto-set-Footnote-1497859
-Ref: Auto-set-Footnote-2498065
-Node: ARGC and ARGV498121
-Node: Pattern Action Summary502334
-Node: Arrays504764
-Node: Array Basics506093
-Node: Array Intro506937
-Ref: figure-array-elements508912
-Ref: Array Intro-Footnote-1511617
-Node: Reference to Elements511745
-Node: Assigning Elements514209
-Node: Array Example514700
-Node: Scanning an Array516654
-Node: Controlling Scanning519676
-Ref: Controlling Scanning-Footnote-1526132
-Node: Numeric Array Subscripts526448
-Node: Uninitialized Subscripts528632
-Node: Delete530251
-Ref: Delete-Footnote-1533003
-Node: Multidimensional533060
-Node: Multiscanning536155
-Node: Arrays of Arrays537746
-Node: Arrays Summary542514
-Node: Functions544607
-Node: Built-in545645
-Node: Calling Built-in546798
-Node: Boolean Functions548794
-Node: Numeric Functions549348
-Ref: Numeric Functions-Footnote-1553375
-Ref: Numeric Functions-Footnote-2554023
-Ref: Numeric Functions-Footnote-3554071
-Node: String Functions554343
-Ref: String Functions-Footnote-1579185
-Ref: String Functions-Footnote-2579313
-Ref: String Functions-Footnote-3579561
-Node: Gory Details579648
-Ref: table-sub-escapes581439
-Ref: table-sub-proposed582959
-Ref: table-posix-sub584323
-Ref: table-gensub-escapes585865
-Ref: Gory Details-Footnote-1586689
-Node: I/O Functions586843
-Ref: table-system-return-values593297
-Ref: I/O Functions-Footnote-1595378
-Ref: I/O Functions-Footnote-2595526
-Node: Time Functions595646
-Ref: Time Functions-Footnote-1606317
-Ref: Time Functions-Footnote-2606385
-Ref: Time Functions-Footnote-3606543
-Ref: Time Functions-Footnote-4606654
-Ref: Time Functions-Footnote-5606766
-Ref: Time Functions-Footnote-6606993
-Node: Bitwise Functions607259
-Ref: table-bitwise-ops607853
-Ref: Bitwise Functions-Footnote-1613917
-Ref: Bitwise Functions-Footnote-2614090
-Node: Type Functions614281
-Node: I18N Functions617701
-Node: User-defined619352
-Node: Definition Syntax620164
-Ref: Definition Syntax-Footnote-1625858
-Node: Function Example625929
-Ref: Function Example-Footnote-1628851
-Node: Function Calling628873
-Node: Calling A Function629461
-Node: Variable Scope630419
-Node: Pass By Value/Reference633413
-Node: Function Caveats636057
-Ref: Function Caveats-Footnote-1638104
-Node: Return Statement638224
-Node: Dynamic Typing641203
-Node: Indirect Calls642133
-Node: Functions Summary653060
-Node: Library Functions655765
-Ref: Library Functions-Footnote-1659372
-Ref: Library Functions-Footnote-2659515
-Node: Library Names659686
-Ref: Library Names-Footnote-1663353
-Ref: Library Names-Footnote-2663576
-Node: General Functions663662
-Node: Strtonum Function664844
-Node: Assert Function667866
-Node: Round Function671192
-Node: Cliff Random Function672732
-Node: Ordinal Functions673748
-Ref: Ordinal Functions-Footnote-1676811
-Ref: Ordinal Functions-Footnote-2677063
-Node: Join Function677273
-Ref: Join Function-Footnote-1679043
-Node: Getlocaltime Function679243
-Node: Readfile Function682985
-Node: Shell Quoting684962
-Node: Isnumeric Function686390
-Node: Data File Management687778
-Node: Filetrans Function688410
-Node: Rewind Function692506
-Node: File Checking694415
-Ref: File Checking-Footnote-1695749
-Node: Empty Files695950
-Node: Ignoring Assigns697929
-Node: Getopt Function699479
-Ref: Getopt Function-Footnote-1714776
-Node: Passwd Functions714976
-Ref: Passwd Functions-Footnote-1723815
-Node: Group Functions723903
-Ref: Group Functions-Footnote-1731801
-Node: Walking Arrays732008
-Node: Library Functions Summary735016
-Node: Library Exercises736422
-Node: Sample Programs736887
-Node: Running Examples737657
-Node: Clones738385
-Node: Cut Program739609
-Node: Egrep Program749749
-Node: Id Program758750
-Node: Split Program768685
-Ref: Split Program-Footnote-1778578
-Node: Tee Program778751
-Node: Uniq Program781541
-Node: Wc Program789129
-Node: Bytes vs. Characters789516
-Node: Using extensions791064
-Node: wc program791818
-Node: Miscellaneous Programs796683
-Node: Dupword Program797896
-Node: Alarm Program799926
-Node: Translate Program804781
-Ref: Translate Program-Footnote-1809346
-Node: Labels Program809616
-Ref: Labels Program-Footnote-1812967
-Node: Word Sorting813051
-Node: History Sorting817123
-Node: Extract Program819348
-Node: Simple Sed827361
-Node: Igawk Program830435
-Ref: Igawk Program-Footnote-1844766
-Ref: Igawk Program-Footnote-2844968
-Ref: Igawk Program-Footnote-3845090
-Node: Anagram Program845205
-Node: Signature Program848267
-Node: Programs Summary849514
-Node: Programs Exercises850728
-Ref: Programs Exercises-Footnote-1854858
-Node: Advanced Features854944
-Node: Nondecimal Data857341
-Node: Boolean Typed Values858939
-Node: Array Sorting860820
-Node: Controlling Array Traversal861525
-Ref: Controlling Array Traversal-Footnote-1869893
-Node: Array Sorting Functions870011
-Ref: Array Sorting Functions-Footnote-1875922
-Node: Two-way I/O876118
-Ref: Two-way I/O-Footnote-1883844
-Ref: Two-way I/O-Footnote-2884031
-Node: TCP/IP Networking884113
-Node: Profiling887189
-Node: Persistent Memory896495
-Ref: Persistent Memory-Footnote-1902664
-Node: Extension Philosophy902791
-Node: Advanced Features Summary904278
-Node: Internationalization906450
-Node: I18N and L10N908124
-Node: Explaining gettext908811
-Ref: Explaining gettext-Footnote-1914703
-Ref: Explaining gettext-Footnote-2914888
-Node: Programmer i18n915053
-Ref: Programmer i18n-Footnote-1920002
-Node: Translator i18n920051
-Node: String Extraction920845
-Ref: String Extraction-Footnote-1921977
-Node: Printf Ordering922063
-Ref: Printf Ordering-Footnote-1924849
-Node: I18N Portability924913
-Ref: I18N Portability-Footnote-1927369
-Node: I18N Example927432
-Ref: I18N Example-Footnote-1930707
-Ref: I18N Example-Footnote-2930780
-Node: Gawk I18N930889
-Node: I18N Summary931511
-Node: Debugger932852
-Node: Debugging933852
-Node: Debugging Concepts934293
-Node: Debugging Terms936102
-Node: Awk Debugging938677
-Ref: Awk Debugging-Footnote-1939622
-Node: Sample Debugging Session939754
-Node: Debugger Invocation940288
-Node: Finding The Bug941674
-Node: List of Debugger Commands948148
-Node: Breakpoint Control949481
-Node: Debugger Execution Control953175
-Node: Viewing And Changing Data956537
-Node: Execution Stack960078
-Node: Debugger Info961715
-Node: Miscellaneous Debugger Commands965786
-Node: Readline Support970848
-Node: Limitations971744
-Node: Debugging Summary974298
-Node: Namespaces975577
-Node: Global Namespace976688
-Node: Qualified Names978086
-Node: Default Namespace979085
-Node: Changing The Namespace979826
-Node: Naming Rules981440
-Node: Internal Name Management983288
-Node: Namespace Example984330
-Node: Namespace And Features986892
-Node: Namespace Summary988327
-Node: Arbitrary Precision Arithmetic989804
-Node: Computer Arithmetic991291
-Ref: table-numeric-ranges995057
-Ref: table-floating-point-ranges995551
-Ref: Computer Arithmetic-Footnote-1996210
-Node: Math Definitions996267
-Ref: table-ieee-formats999243
-Node: MPFR features999811
-Node: MPFR On Parole1000256
-Ref: MPFR On Parole-Footnote-11001085
-Node: MPFR Intro1001240
-Node: FP Math Caution1002879
-Ref: FP Math Caution-Footnote-11003951
-Node: Inexactness of computations1004320
-Node: Inexact representation1005351
-Node: Comparing FP Values1006711
-Node: Errors accumulate1007952
-Node: Strange values1009408
-Ref: Strange values-Footnote-11011996
-Node: Getting Accuracy1012101
-Node: Try To Round1014811
-Node: Setting precision1015710
-Ref: table-predefined-precision-strings1016407
-Node: Setting the rounding mode1018238
-Ref: table-gawk-rounding-modes1018612
-Ref: Setting the rounding mode-Footnote-11022544
-Node: Arbitrary Precision Integers1022723
-Ref: Arbitrary Precision Integers-Footnote-11025898
-Node: Checking for MPFR1026047
-Node: POSIX Floating Point Problems1027521
-Ref: POSIX Floating Point Problems-Footnote-11032174
-Node: Floating point summary1032212
-Node: Dynamic Extensions1034402
-Node: Extension Intro1035955
-Node: Plugin License1037221
-Node: Extension Mechanism Outline1038018
-Ref: figure-load-extension1038457
-Ref: figure-register-new-function1040023
-Ref: figure-call-new-function1041116
-Node: Extension API Description1043179
-Node: Extension API Functions Introduction1044892
-Ref: table-api-std-headers1046728
-Node: General Data Types1050978
-Ref: General Data Types-Footnote-11059684
-Node: Memory Allocation Functions1059983
-Ref: Memory Allocation Functions-Footnote-11064484
-Node: Constructor Functions1064583
-Node: API Ownership of MPFR and GMP Values1068236
-Node: Registration Functions1069769
-Node: Extension Functions1070469
-Node: Exit Callback Functions1075791
-Node: Extension Version String1077041
-Node: Input Parsers1077704
-Node: Output Wrappers1090425
-Node: Two-way processors1094937
-Node: Printing Messages1097202
-Ref: Printing Messages-Footnote-11098373
-Node: Updating ERRNO1098526
-Node: Requesting Values1099265
-Ref: table-value-types-returned1100002
-Node: Accessing Parameters1101111
-Node: Symbol Table Access1102348
-Node: Symbol table by name1102860
-Ref: Symbol table by name-Footnote-11105885
-Node: Symbol table by cookie1106013
-Ref: Symbol table by cookie-Footnote-11110198
-Node: Cached values1110262
-Ref: Cached values-Footnote-11113798
-Node: Array Manipulation1113951
-Ref: Array Manipulation-Footnote-11115042
-Node: Array Data Types1115079
-Ref: Array Data Types-Footnote-11117737
-Node: Array Functions1117829
-Node: Flattening Arrays1122614
-Node: Creating Arrays1129590
-Node: Redirection API1134357
-Node: Extension API Variables1137190
-Node: Extension Versioning1137901
-Ref: gawk-api-version1138330
-Node: Extension GMP/MPFR Versioning1140062
-Node: Extension API Informational Variables1141690
-Node: Extension API Boilerplate1142763
-Node: Changes from API V11146737
-Node: Finding Extensions1148309
-Node: Extension Example1148868
-Node: Internal File Description1149666
-Node: Internal File Ops1153746
-Ref: Internal File Ops-Footnote-11165096
-Node: Using Internal File Ops1165236
-Ref: Using Internal File Ops-Footnote-11167619
-Node: Extension Samples1167893
-Node: Extension Sample File Functions1169422
-Node: Extension Sample Fnmatch1177071
-Node: Extension Sample Fork1178558
-Node: Extension Sample Inplace1179776
-Node: Extension Sample Ord1183402
-Node: Extension Sample Readdir1184238
-Ref: table-readdir-file-types1185127
-Node: Extension Sample Revout1186195
-Node: Extension Sample Rev2way1186784
-Node: Extension Sample Read write array1187524
-Node: Extension Sample Readfile1190689
-Node: Extension Sample Time1191784
-Node: Extension Sample API Tests1193536
-Node: gawkextlib1194028
-Node: Extension summary1196946
-Node: Extension Exercises1200648
-Node: Language History1201890
-Node: V7/SVR3.11203546
-Node: SVR41205698
-Node: POSIX1207132
-Node: BTL1208513
-Node: POSIX/GNU1209242
-Node: Feature History1215131
-Node: Common Extensions1232760
-Node: Ranges and Locales1234043
-Ref: Ranges and Locales-Footnote-11238659
-Ref: Ranges and Locales-Footnote-21238686
-Ref: Ranges and Locales-Footnote-31238921
-Node: Contributors1239144
-Node: History summary1245141
-Node: Installation1246521
-Node: Gawk Distribution1247465
-Node: Getting1247949
-Node: Extracting1248912
-Node: Distribution contents1250550
-Node: Unix Installation1257611
-Node: Quick Installation1258415
-Node: Compiling with MPFR1260835
-Node: Shell Startup Files1261525
-Node: Additional Configuration Options1262614
-Node: Configuration Philosophy1264929
-Node: Compiling from Git1267325
-Node: Building the Documentation1267880
-Node: Non-Unix Installation1269264
-Node: PC Installation1269724
-Node: PC Binary Installation1270562
-Node: PC Compiling1271435
-Node: PC Using1272552
-Node: Cygwin1276105
-Node: MSYS1277329
-Node: VMS Installation1277931
-Node: VMS Compilation1278650
-Ref: VMS Compilation-Footnote-11279879
-Node: VMS Dynamic Extensions1279937
-Node: VMS Installation Details1281622
-Node: VMS Running1283884
-Node: VMS GNV1288163
-Node: Bugs1288877
-Node: Bug definition1289789
-Node: Bug address1292725
-Node: Usenet1295913
-Node: Performance bugs1297102
-Node: Asking for help1300023
-Node: Maintainers1301990
-Node: Other Versions1303091
-Node: Installation summary1311361
-Node: Notes1312725
-Node: Compatibility Mode1313519
-Node: Additions1314301
-Node: Accessing The Source1315226
-Node: Adding Code1316663
-Node: New Ports1323478
-Node: Derived Files1327853
-Ref: Derived Files-Footnote-11333513
-Ref: Derived Files-Footnote-21333548
-Ref: Derived Files-Footnote-31334146
-Node: Future Extensions1334260
-Node: Implementation Limitations1334918
-Node: Extension Design1336128
-Node: Old Extension Problems1337272
-Ref: Old Extension Problems-Footnote-11338790
-Node: Extension New Mechanism Goals1338847
-Ref: Extension New Mechanism Goals-Footnote-11342211
-Node: Extension Other Design Decisions1342400
-Node: Extension Future Growth1344513
-Node: Notes summary1345119
-Node: Basic Concepts1346277
-Node: Basic High Level1346958
-Ref: figure-general-flow1347240
-Ref: figure-process-flow1347926
-Ref: Basic High Level-Footnote-11351228
-Node: Basic Data Typing1351413
-Node: Glossary1354741
-Node: Copying1386628
-Node: GNU Free Documentation License1424171
-Node: Index1449291
+Ref: Auto-set-Footnote-1497794
+Ref: Auto-set-Footnote-2498000
+Node: ARGC and ARGV498056
+Node: Pattern Action Summary502269
+Node: Arrays504699
+Node: Array Basics506028
+Node: Array Intro506872
+Ref: figure-array-elements508847
+Ref: Array Intro-Footnote-1511552
+Node: Reference to Elements511680
+Node: Assigning Elements514144
+Node: Array Example514635
+Node: Scanning an Array516589
+Node: Controlling Scanning519611
+Ref: Controlling Scanning-Footnote-1526067
+Node: Numeric Array Subscripts526383
+Node: Uninitialized Subscripts528567
+Node: Delete530186
+Ref: Delete-Footnote-1532938
+Node: Multidimensional532995
+Node: Multiscanning536090
+Node: Arrays of Arrays537681
+Node: Arrays Summary542449
+Node: Functions544542
+Node: Built-in545580
+Node: Calling Built-in546733
+Node: Boolean Functions548729
+Node: Numeric Functions549283
+Ref: Numeric Functions-Footnote-1553310
+Ref: Numeric Functions-Footnote-2553958
+Ref: Numeric Functions-Footnote-3554006
+Node: String Functions554278
+Ref: String Functions-Footnote-1579120
+Ref: String Functions-Footnote-2579248
+Ref: String Functions-Footnote-3579496
+Node: Gory Details579583
+Ref: table-sub-escapes581374
+Ref: table-sub-proposed582894
+Ref: table-posix-sub584258
+Ref: table-gensub-escapes585800
+Ref: Gory Details-Footnote-1586624
+Node: I/O Functions586778
+Ref: table-system-return-values593232
+Ref: I/O Functions-Footnote-1595313
+Ref: I/O Functions-Footnote-2595461
+Node: Time Functions595581
+Ref: Time Functions-Footnote-1606252
+Ref: Time Functions-Footnote-2606320
+Ref: Time Functions-Footnote-3606478
+Ref: Time Functions-Footnote-4606589
+Ref: Time Functions-Footnote-5606701
+Ref: Time Functions-Footnote-6606928
+Node: Bitwise Functions607194
+Ref: table-bitwise-ops607788
+Ref: Bitwise Functions-Footnote-1613852
+Ref: Bitwise Functions-Footnote-2614025
+Node: Type Functions614216
+Node: I18N Functions617636
+Node: User-defined619287
+Node: Definition Syntax620099
+Ref: Definition Syntax-Footnote-1625793
+Node: Function Example625864
+Ref: Function Example-Footnote-1628786
+Node: Function Calling628808
+Node: Calling A Function629396
+Node: Variable Scope630354
+Node: Pass By Value/Reference633348
+Node: Function Caveats635992
+Ref: Function Caveats-Footnote-1638039
+Node: Return Statement638159
+Node: Dynamic Typing641138
+Node: Indirect Calls642068
+Node: Functions Summary652995
+Node: Library Functions655700
+Ref: Library Functions-Footnote-1659307
+Ref: Library Functions-Footnote-2659450
+Node: Library Names659621
+Ref: Library Names-Footnote-1663288
+Ref: Library Names-Footnote-2663511
+Node: General Functions663597
+Node: Strtonum Function664779
+Node: Assert Function667801
+Node: Round Function671127
+Node: Cliff Random Function672667
+Node: Ordinal Functions673683
+Ref: Ordinal Functions-Footnote-1676746
+Ref: Ordinal Functions-Footnote-2676998
+Node: Join Function677208
+Ref: Join Function-Footnote-1678978
+Node: Getlocaltime Function679178
+Node: Readfile Function682920
+Node: Shell Quoting684897
+Node: Isnumeric Function686325
+Node: Data File Management687713
+Node: Filetrans Function688345
+Node: Rewind Function692441
+Node: File Checking694350
+Ref: File Checking-Footnote-1695684
+Node: Empty Files695885
+Node: Ignoring Assigns697864
+Node: Getopt Function699414
+Ref: Getopt Function-Footnote-1714711
+Node: Passwd Functions714911
+Ref: Passwd Functions-Footnote-1723750
+Node: Group Functions723838
+Ref: Group Functions-Footnote-1731736
+Node: Walking Arrays731943
+Node: Library Functions Summary734951
+Node: Library Exercises736357
+Node: Sample Programs736822
+Node: Running Examples737592
+Node: Clones738320
+Node: Cut Program739544
+Node: Egrep Program749684
+Node: Id Program758685
+Node: Split Program768620
+Ref: Split Program-Footnote-1778513
+Node: Tee Program778686
+Node: Uniq Program781476
+Node: Wc Program789064
+Node: Bytes vs. Characters789451
+Node: Using extensions790999
+Node: wc program791753
+Node: Miscellaneous Programs796618
+Node: Dupword Program797831
+Node: Alarm Program799861
+Node: Translate Program804716
+Ref: Translate Program-Footnote-1809281
+Node: Labels Program809551
+Ref: Labels Program-Footnote-1812902
+Node: Word Sorting812986
+Node: History Sorting817058
+Node: Extract Program819283
+Node: Simple Sed827296
+Node: Igawk Program830370
+Ref: Igawk Program-Footnote-1844701
+Ref: Igawk Program-Footnote-2844903
+Ref: Igawk Program-Footnote-3845025
+Node: Anagram Program845140
+Node: Signature Program848202
+Node: Programs Summary849449
+Node: Programs Exercises850663
+Ref: Programs Exercises-Footnote-1854793
+Node: Advanced Features854879
+Node: Nondecimal Data857276
+Node: Boolean Typed Values858874
+Node: Array Sorting860755
+Node: Controlling Array Traversal861460
+Ref: Controlling Array Traversal-Footnote-1869828
+Node: Array Sorting Functions869946
+Ref: Array Sorting Functions-Footnote-1875857
+Node: Two-way I/O876053
+Ref: Two-way I/O-Footnote-1883779
+Ref: Two-way I/O-Footnote-2883966
+Node: TCP/IP Networking884048
+Node: Profiling887124
+Node: Persistent Memory896430
+Ref: Persistent Memory-Footnote-1902599
+Node: Extension Philosophy902726
+Node: Advanced Features Summary904213
+Node: Internationalization906385
+Node: I18N and L10N908059
+Node: Explaining gettext908746
+Ref: Explaining gettext-Footnote-1914638
+Ref: Explaining gettext-Footnote-2914823
+Node: Programmer i18n914988
+Ref: Programmer i18n-Footnote-1919937
+Node: Translator i18n919986
+Node: String Extraction920780
+Ref: String Extraction-Footnote-1921912
+Node: Printf Ordering921998
+Ref: Printf Ordering-Footnote-1924784
+Node: I18N Portability924848
+Ref: I18N Portability-Footnote-1927304
+Node: I18N Example927367
+Ref: I18N Example-Footnote-1930642
+Ref: I18N Example-Footnote-2930715
+Node: Gawk I18N930824
+Node: I18N Summary931446
+Node: Debugger932787
+Node: Debugging933787
+Node: Debugging Concepts934228
+Node: Debugging Terms936037
+Node: Awk Debugging938612
+Ref: Awk Debugging-Footnote-1939557
+Node: Sample Debugging Session939689
+Node: Debugger Invocation940223
+Node: Finding The Bug941609
+Node: List of Debugger Commands948083
+Node: Breakpoint Control949416
+Node: Debugger Execution Control953110
+Node: Viewing And Changing Data956472
+Node: Execution Stack960013
+Node: Debugger Info961650
+Node: Miscellaneous Debugger Commands965721
+Node: Readline Support970783
+Node: Limitations971679
+Node: Debugging Summary974233
+Node: Namespaces975512
+Node: Global Namespace976623
+Node: Qualified Names978021
+Node: Default Namespace979020
+Node: Changing The Namespace979761
+Node: Naming Rules981375
+Node: Internal Name Management983223
+Node: Namespace Example984265
+Node: Namespace And Features986827
+Node: Namespace Summary988262
+Node: Arbitrary Precision Arithmetic989739
+Node: Computer Arithmetic991226
+Ref: table-numeric-ranges994992
+Ref: table-floating-point-ranges995486
+Ref: Computer Arithmetic-Footnote-1996145
+Node: Math Definitions996202
+Ref: table-ieee-formats999178
+Node: MPFR features999746
+Node: MPFR On Parole1000191
+Ref: MPFR On Parole-Footnote-11001020
+Node: MPFR Intro1001175
+Node: FP Math Caution1002814
+Ref: FP Math Caution-Footnote-11003886
+Node: Inexactness of computations1004255
+Node: Inexact representation1005286
+Node: Comparing FP Values1006646
+Node: Errors accumulate1007887
+Node: Strange values1009343
+Ref: Strange values-Footnote-11011931
+Node: Getting Accuracy1012036
+Node: Try To Round1014746
+Node: Setting precision1015645
+Ref: table-predefined-precision-strings1016342
+Node: Setting the rounding mode1018173
+Ref: table-gawk-rounding-modes1018547
+Ref: Setting the rounding mode-Footnote-11022479
+Node: Arbitrary Precision Integers1022658
+Ref: Arbitrary Precision Integers-Footnote-11025833
+Node: Checking for MPFR1025982
+Node: POSIX Floating Point Problems1027456
+Ref: POSIX Floating Point Problems-Footnote-11032109
+Node: Floating point summary1032147
+Node: Dynamic Extensions1034337
+Node: Extension Intro1035890
+Node: Plugin License1037156
+Node: Extension Mechanism Outline1037953
+Ref: figure-load-extension1038392
+Ref: figure-register-new-function1039958
+Ref: figure-call-new-function1041051
+Node: Extension API Description1043114
+Node: Extension API Functions Introduction1044827
+Ref: table-api-std-headers1046663
+Node: General Data Types1050913
+Ref: General Data Types-Footnote-11059619
+Node: Memory Allocation Functions1059918
+Ref: Memory Allocation Functions-Footnote-11064419
+Node: Constructor Functions1064518
+Node: API Ownership of MPFR and GMP Values1068171
+Node: Registration Functions1069704
+Node: Extension Functions1070404
+Node: Exit Callback Functions1075726
+Node: Extension Version String1076976
+Node: Input Parsers1077639
+Node: Output Wrappers1090360
+Node: Two-way processors1094872
+Node: Printing Messages1097137
+Ref: Printing Messages-Footnote-11098308
+Node: Updating ERRNO1098461
+Node: Requesting Values1099200
+Ref: table-value-types-returned1099937
+Node: Accessing Parameters1101046
+Node: Symbol Table Access1102283
+Node: Symbol table by name1102795
+Ref: Symbol table by name-Footnote-11105820
+Node: Symbol table by cookie1105948
+Ref: Symbol table by cookie-Footnote-11110133
+Node: Cached values1110197
+Ref: Cached values-Footnote-11113733
+Node: Array Manipulation1113886
+Ref: Array Manipulation-Footnote-11114977
+Node: Array Data Types1115014
+Ref: Array Data Types-Footnote-11117672
+Node: Array Functions1117764
+Node: Flattening Arrays1122549
+Node: Creating Arrays1129525
+Node: Redirection API1134292
+Node: Extension API Variables1137125
+Node: Extension Versioning1137836
+Ref: gawk-api-version1138265
+Node: Extension GMP/MPFR Versioning1139997
+Node: Extension API Informational Variables1141625
+Node: Extension API Boilerplate1142698
+Node: Changes from API V11146672
+Node: Finding Extensions1148244
+Node: Extension Example1148803
+Node: Internal File Description1149601
+Node: Internal File Ops1153681
+Ref: Internal File Ops-Footnote-11165031
+Node: Using Internal File Ops1165171
+Ref: Using Internal File Ops-Footnote-11167554
+Node: Extension Samples1167828
+Node: Extension Sample File Functions1169357
+Node: Extension Sample Fnmatch1177006
+Node: Extension Sample Fork1178493
+Node: Extension Sample Inplace1179711
+Node: Extension Sample Ord1183337
+Node: Extension Sample Readdir1184173
+Ref: table-readdir-file-types1185062
+Node: Extension Sample Revout1186130
+Node: Extension Sample Rev2way1186719
+Node: Extension Sample Read write array1187459
+Node: Extension Sample Readfile1190624
+Node: Extension Sample Time1191719
+Node: Extension Sample API Tests1193471
+Node: gawkextlib1193963
+Node: Extension summary1196881
+Node: Extension Exercises1200583
+Node: Language History1201825
+Node: V7/SVR3.11203481
+Node: SVR41205633
+Node: POSIX1207067
+Node: BTL1208448
+Node: POSIX/GNU1209177
+Node: Feature History1215083
+Node: Common Extensions1232712
+Node: Ranges and Locales1233995
+Ref: Ranges and Locales-Footnote-11238611
+Ref: Ranges and Locales-Footnote-21238638
+Ref: Ranges and Locales-Footnote-31238873
+Node: Contributors1239096
+Node: History summary1245093
+Node: Installation1246473
+Node: Gawk Distribution1247417
+Node: Getting1247901
+Node: Extracting1248864
+Node: Distribution contents1250502
+Node: Unix Installation1257563
+Node: Quick Installation1258367
+Node: Compiling with MPFR1260787
+Node: Shell Startup Files1261477
+Node: Additional Configuration Options1262566
+Node: Configuration Philosophy1264881
+Node: Compiling from Git1267277
+Node: Building the Documentation1267832
+Node: Non-Unix Installation1269216
+Node: PC Installation1269676
+Node: PC Binary Installation1270514
+Node: PC Compiling1271387
+Node: PC Using1272504
+Node: Cygwin1276000
+Node: MSYS1277224
+Node: VMS Installation1277826
+Node: VMS Compilation1278545
+Ref: VMS Compilation-Footnote-11279774
+Node: VMS Dynamic Extensions1279832
+Node: VMS Installation Details1281517
+Node: VMS Running1283779
+Node: VMS GNV1288058
+Node: Bugs1288772
+Node: Bug definition1289684
+Node: Bug address1292620
+Node: Usenet1295808
+Node: Performance bugs1296997
+Node: Asking for help1299918
+Node: Maintainers1301885
+Node: Other Versions1302892
+Node: Installation summary1311162
+Node: Notes1312519
+Node: Compatibility Mode1313313
+Node: Additions1314095
+Node: Accessing The Source1315020
+Node: Adding Code1316457
+Node: New Ports1323272
+Node: Derived Files1327647
+Ref: Derived Files-Footnote-11333307
+Ref: Derived Files-Footnote-21333342
+Ref: Derived Files-Footnote-31333940
+Node: Future Extensions1334054
+Node: Implementation Limitations1334712
+Node: Extension Design1335922
+Node: Old Extension Problems1337066
+Ref: Old Extension Problems-Footnote-11338584
+Node: Extension New Mechanism Goals1338641
+Ref: Extension New Mechanism Goals-Footnote-11342005
+Node: Extension Other Design Decisions1342194
+Node: Extension Future Growth1344307
+Node: Notes summary1344913
+Node: Basic Concepts1346071
+Node: Basic High Level1346752
+Ref: figure-general-flow1347034
+Ref: figure-process-flow1347720
+Ref: Basic High Level-Footnote-11351022
+Node: Basic Data Typing1351207
+Node: Glossary1354535
+Node: Copying1386422
+Node: GNU Free Documentation License1423965
+Node: Index1449085
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 67a12eba..62a04d37 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -16422,9 +16422,8 @@ This element gives a string indicating the platform for
which
@c nested table
@table @code
-@item "djgpp"
-@itemx "mingw"
-Microsoft Windows, using either DJGPP or MinGW, respectively.
+@item "mingw"
+Microsoft Windows, using MinGW.
@item "os390"
OS/390.
@@ -41090,7 +41089,8 @@ for @command{gawk} @value{PVERSION} 5.2:
@item
OS/2
-@c add more removed systems here
+@item
+DJGPP
@end itemize
@@ -43130,14 +43130,13 @@ type @samp{make mingw32}.
@cindex operating systems @subentry PC, @command{gawk} on
@cindex PC operating systems, @command{gawk} on
-Information in this section applies to the MinGW and
-DJGPP ports of @command{gawk}. @xref{Cygwin} for information
+Information in this section applies to the MinGW
+port of @command{gawk}. @xref{Cygwin} for information
about the Cygwin port.
Under MS-Windows, the MinGW environment supports
both the @samp{|&} operator and TCP/IP networking
(@pxref{TCP/IP Networking}).
-The DJGPP environment does not support @samp{|&}.
@cindex search paths
@cindex search paths @subentry for source files
@@ -44038,8 +44037,6 @@ The people maintaining the various @command{gawk} ports
are:
@multitable {MS-Windows with MinGW}
{123456789012345678901234567890123456789001234567890}
@item Unix and POSIX systems @tab Arnold Robbins,
@EMAIL{arnold@@skeeve.com,arnold at skeeve dot com}
-@item MS-DOS with DJGPP @tab Juan Manuel Guerrero,
@EMAIL{juan.guerrero@@gmx.de, juan dot guerrero at gmx dot de}
-
@item MS-Windows with MinGW @tab Eli Zaretskii, @EMAIL{eliz@@gnu.org,eliz at
gnu dot org}
@item VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl dot net}
@@ -44349,7 +44346,7 @@ the file.
@item
@command{gawk} may be built on non-POSIX systems as well. The currently
supported systems are MS-Windows using
-MSYS, MSYS2, DJGPP, MinGW, and Cygwin,
+MSYS, MSYS2, MinGW, and Cygwin,
and both Vax/VMS and OpenVMS.
Instructions for each system are included in this @value{APPENDIX}.
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index d72665a0..8af244cc 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -4113,7 +4113,7 @@ the arbitrary precision arithmetic features in
@command{gawk}
are ``on parole.''
The primary maintainer is no longer willing to support this feature,
but another member of the development team has stepped up to take it over.
-As long as this situation reamins stable, MPFR will be supported. If it
+As long as this situation remains stable, MPFR will be supported. If it
changes, the MPFR support will be removed from @command{gawk}.
@ignore
If you use this option, @command{gawk} generates a warning message.
@@ -15609,9 +15609,8 @@ This element gives a string indicating the platform for
which
@c nested table
@table @code
-@item "djgpp"
-@itemx "mingw"
-Microsoft Windows, using either DJGPP or MinGW, respectively.
+@item "mingw"
+Microsoft Windows, using MinGW.
@item "os390"
OS/390.
@@ -39933,7 +39932,8 @@ for @command{gawk} @value{PVERSION} 5.2:
@item
OS/2
-@c add more removed systems here
+@item
+DJGPP
@end itemize
@@ -41973,14 +41973,13 @@ type @samp{make mingw32}.
@cindex operating systems @subentry PC, @command{gawk} on
@cindex PC operating systems, @command{gawk} on
-Information in this section applies to the MinGW and
-DJGPP ports of @command{gawk}. @xref{Cygwin} for information
+Information in this section applies to the MinGW
+port of @command{gawk}. @xref{Cygwin} for information
about the Cygwin port.
Under MS-Windows, the MinGW environment supports
both the @samp{|&} operator and TCP/IP networking
(@pxref{TCP/IP Networking}).
-The DJGPP environment does not support @samp{|&}.
@cindex search paths
@cindex search paths @subentry for source files
@@ -42881,8 +42880,6 @@ The people maintaining the various @command{gawk} ports
are:
@multitable {MS-Windows with MinGW}
{123456789012345678901234567890123456789001234567890}
@item Unix and POSIX systems @tab Arnold Robbins,
@EMAIL{arnold@@skeeve.com,arnold at skeeve dot com}
-@item MS-DOS with DJGPP @tab Juan Manuel Guerrero,
@EMAIL{juan.guerrero@@gmx.de, juan dot guerrero at gmx dot de}
-
@item MS-Windows with MinGW @tab Eli Zaretskii, @EMAIL{eliz@@gnu.org,eliz at
gnu dot org}
@item VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl dot net}
@@ -43192,7 +43189,7 @@ the file.
@item
@command{gawk} may be built on non-POSIX systems as well. The currently
supported systems are MS-Windows using
-MSYS, MSYS2, DJGPP, MinGW, and Cygwin,
+MSYS, MSYS2, MinGW, and Cygwin,
and both Vax/VMS and OpenVMS.
Instructions for each system are included in this @value{APPENDIX}.
diff --git a/doc/wordlist b/doc/wordlist
index abb631eb..1f25fc30 100644
--- a/doc/wordlist
+++ b/doc/wordlist
@@ -861,7 +861,6 @@ dircategory
direntry
distributable
div
-djgpp
dl
dll
dlopen
diff --git a/doc/wordlist3 b/doc/wordlist3
index cbe0cdcb..d8846134 100644
--- a/doc/wordlist3
+++ b/doc/wordlist3
@@ -21,6 +21,7 @@ GMP
IGNORECASE
IPv
ISBN
+Jun
LC
MPFR
MSEC
diff --git a/eval.c b/eval.c
index ddbf87e3..8fde6b39 100644
--- a/eval.c
+++ b/eval.c
@@ -543,7 +543,6 @@ posix_compare(NODE *s1, NODE *s2)
s1->stptr[s1->stlen] = save1;
s2->stptr[s2->stlen] = save2;
}
-#if ! defined(__DJGPP__)
else {
/* Similar logic, using wide characters */
const wchar_t *p1, *p2;
@@ -576,7 +575,6 @@ posix_compare(NODE *s1, NODE *s2)
}
}
}
-#endif
return ret;
}
diff --git a/gawkmisc.c b/gawkmisc.c
index 165e15c6..8a7bf0e5 100644
--- a/gawkmisc.c
+++ b/gawkmisc.c
@@ -32,12 +32,12 @@
/* some old compilers don't grok #elif. sigh */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#include "pc/gawkmisc.pc"
-#else /* not __DJGPP__, not __MINGW32__ */
+#else /* not __MINGW32__ */
#if defined(VMS)
#include "vms/gawkmisc.vms"
#else /* not VMS */
#include "posix/gawkmisc.c"
#endif /* not VMS */
-#endif /* not __DJGPP__, not __MINGW32__ */
+#endif /* not __MINGW32__ */
diff --git a/io.c b/io.c
index 8fac000a..91fa2225 100644
--- a/io.c
+++ b/io.c
@@ -117,10 +117,6 @@
#define ENFILE EMFILE
#endif
-#if defined(__DJGPP__)
-#define closemaybesocket(fd) close(fd)
-#endif
-
#if defined(VMS)
#include <ssdef.h>
#ifndef SS$_EXBYTLM
@@ -183,10 +179,6 @@
#undef TANDEM /* AIX defines this in one of its header files */
#endif
-#ifdef __DJGPP__
-#define PIPES_SIMULATED
-#endif
-
#ifdef __MINGW32__
# ifndef PIPES_SIMULATED
# define pipe(fds) _pipe(fds, 0, O_NOINHERIT)
@@ -349,7 +341,7 @@ init_io()
}
-#if defined(__DJGPP__) || defined(__MINGW32__) || defined(__CYGWIN__)
+#if defined(__MINGW32__) || defined(__CYGWIN__)
/* binmode --- convert BINMODE to string for fopen */
static const char *
diff --git a/main.c b/main.c
index 53126435..999361c3 100644
--- a/main.c
+++ b/main.c
@@ -1862,8 +1862,6 @@ platform_name()
return "vms";
#elif defined(__MINGW32__)
return "mingw";
-#elif defined(__DJGPP__)
- return "djgpp";
#elif defined(USE_EBCDIC)
return "os390";
#else
diff --git a/missing_d/ChangeLog b/missing_d/ChangeLog
index f645dd06..6ca385e6 100644
--- a/missing_d/ChangeLog
+++ b/missing_d/ChangeLog
@@ -1,3 +1,7 @@
+2022-07-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * snprintf.c: Remove stuff related to __DJGPP__.
+
2022-07-03 Arnold D. Robbins <arnold@skeeve.com>
* snprintf.c: Remove stuff related to __EMX__.
diff --git a/missing_d/snprintf.c b/missing_d/snprintf.c
index dfe57c6b..af63dff7 100644
--- a/missing_d/snprintf.c
+++ b/missing_d/snprintf.c
@@ -86,7 +86,7 @@ safe_tmpfile (void)
if ((fd = mkstemp (tmpfilename)) < 0)
return NULL;
-#if ! defined(__DJGPP__) && ! defined(MSDOS) && ! defined(_MSC_VER) \
+#if ! defined(MSDOS) && ! defined(_MSC_VER) \
&& ! defined(_WIN32) && ! defined(__CRTRSXNT__) \
&& ! defined(__MINGW32__) && ! defined(__WIN32__)
/* If not MS unlink after opening. */
diff --git a/nonposix.h b/nonposix.h
index 80d30da4..92a79504 100644
--- a/nonposix.h
+++ b/nonposix.h
@@ -67,17 +67,10 @@ char *w32_setlocale (int, const char *);
#endif /* __MINGW32__ */
-#if defined(VMS) || defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(VMS) || defined(__MINGW32__)
int getpgrp(void);
#endif
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
int getppid(void);
#endif
-
-#ifdef __DJGPP__
-/* Prototypes of for Posix functions for which we define replacements
- in pc/ files. */
-wint_t btowc (int c);
-wint_t putwc (wchar_t wc, FILE *stream);
-#endif
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 65100263..ddeb8883 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,9 @@
+2022-07-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * GenMakefileTst.awk, Makefile, Makefile.tst, config.h, config.sed,
+ gawkmisc.pc, getid.c, popen.h: Remove stuff related to DJGPP.
+
+Untracked files:
2022-07-03 Arnold D. Robbins <arnold@skeeve.com>
* Makefile, config.h, config.sed, gawkmisc.pc:
diff --git a/pc/GenMakefileTst.awk b/pc/GenMakefileTst.awk
index 964573c9..6176370a 100644
--- a/pc/GenMakefileTst.awk
+++ b/pc/GenMakefileTst.awk
@@ -12,16 +12,6 @@
# Process the bits in Makefile.in we need to generate the tests properly
-# Tests that fail on DJGPP
-/^EXPECTED_FAIL_DJGPP *=/,/[^\\]$/ {
- print
- gsub(/(^EXPECTED_FAIL_DJGPP *=|\\$)/,"")
- for (i = 1; i <= NF; i++)
- djgpp[$i]
-
- next
-}
-
# Tests that fail on MinGW
/^EXPECTED_FAIL_MINGW *=/,/[^\\]$/ {
print
@@ -116,11 +106,7 @@ function print_recipe( i, start)
start = 2
# print the right warning
- if (name in djgpp && name in mingw) {
- print "\t@echo Expect $@ to fail with DJGPP and MinGW."
- } else if (name in djgpp) {
- print "\t@echo Expect $@ to fail with DJGPP."
- } else if (name in mingw) {
+ if (name in mingw) {
print "\t@echo Expect $@ to fail with MinGW."
}
diff --git a/pc/Makefile b/pc/Makefile
index 1eb1fc9e..f05aae92 100644
--- a/pc/Makefile
+++ b/pc/Makefile
@@ -1,6 +1,5 @@
# Makefile for gawk (GNU awk) Dec 2010
#
-# - for GNU C (djgpp) [32bit protected-mode executable for DOS]
# - for GNU C (mingw32) [Windows32 executable for Windows
9x/NT/2K/XP/7]
# Tested with GNU make on Windows, OS/2 and DOS.
@@ -19,12 +18,6 @@
default:
@echo "Enter $(MAK) target "
@echo " where 'target' is chosen from "
- @echo " djgpp ... DOS 32-bit exe [GNU C, Delorie, v2] "
- @echo " djgpp-mpfr . Like djgpp, but with MPFR "
- @echo " [You will need to have GNU MPFR library installed.] "
- @echo " djgpp-readline . Like djgpp, but with readline "
- @echo " [You will need to have GNU readline library installed.] "
- @echo " djgpp-readline-mpfr . djgpp with readline and MPFR "
@echo " mingw32 . Windows32 exe [Mingw32 GNU C] "
@echo " mingw32-readline . Like mingw32, but with readline "
@echo " [You will need to have GNU readline library installed.] "
@@ -37,11 +30,9 @@ default:
@echo " doc ..... Create documentation "
# Support dropped in 4.0
-# - for DJGPP v1.x [DOS 32bit protected-mode executable]
# - for MS-Visual C/C++ 4.x [Windows32 executable for Windows 9x/NT]
# - for Microsoft C 7 [16bit ececutable for DOS]
# - for Microsoft C 6.00A [16bit executable for OS/2 or DOS]
-# @echo " djgppv1 . DOS 32-bit exe [GNU C, Delorie, v1] "
# @echo " msc ..... DOS exe [Microsoft C 7 & 8 (AKA 1.52)] "
# @echo " msc6 .... DOS exe [Microsoft C 6.00a] "
# @echo " msc6os2 . OS/2 exe [Microsoft C 6.00a] "
@@ -103,48 +94,6 @@ VPATH = .;./support;./support/malloc
# End of general configuration. Some platform-specific configuration
# notes appear below.
-#========================================================================
-#========================== DJGPP =======================================
-#========================================================================
-
-ifneq ($(DJGPP),)
-prefix = /dev/env/DJDIR
-pkgdatadir = $(prefix)/share/awk
-SHLIBEXT = "\"dxe\""
-endif
-LDJG = $(CC) $(LF) -o gawk.exe $(LDRSP) $(LF2)
-BDJG = stubify -g awk.exe | stubedit awk.exe runfile=gawk
-
-djgpp:
- $(MAK) all \
- CC=gcc O=.o CF=-O2 \
- LNK=LDJG LF=-s LF2=-lm \
- BIND=BDJG
-
-djgpp-debug:
- $(MAK) all \
- CC=gcc O=.o CF='-O2 -g' \
- LNK=LDJG LF2=-lm \
- BIND=BDJG
-
-djgpp-mpfr:
- $(MAK) all \
- CC=gcc O=.o CF='-O2 -DHAVE_MPFR' \
- LNK=LDJG LF=-s LF2="-lmpfr -lgmp -lm" \
- BIND=BDJG
-
-djgpp-readline:
- $(MAK) all \
- CC=gcc O=.o CF='-O2 -DHAVE_LIBREADLINE' \
- LNK=LDJG LF=-s LF2="-lreadline -lm" \
- BIND=BDJG
-
-djgpp-readline-mpfr:
- $(MAK) all \
- CC=gcc O=.o CF='-O2 -DHAVE_LIBREADLINE -DHAVE_MPFR' \
- LNK=LDJG LF=-s LF2="-lreadline -lmpfr -lgmp -lm" \
- BIND=BDJG
-
#========================================================================
#========================== MINGW32 =====================================
#========================================================================
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index e07a22ed..9dc6837d 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -315,16 +315,6 @@ NEED_LOCALE_EN = \
NEED_LOCALE_JP = mbprintf2
NEED_LOCALE_RU = mtchi18n
-# List of tests that fail on DJGPP
-EXPECTED_FAIL_DJGPP = \
- backbigs1 backsmalls1 backw beginfile1 clos1way clos1way2 \
- clos1way3 clos1way4 clos1way5 clos1way6 errno getlndir \
- getlnhd gnuops3 gnureops id ignrcas3 inetdayt inetdayu \
- inetecht inetechu inftest jarebug mbfw1 mbprintf1 mbprintf4 \
- mbstr1 mbstr2 mpfrsqrt nonfatal1 nonfatal2 nonfatal3 pid pty1 pty2 \
- randtest regx8bit strtod sigpipe1 symtab6 timeout
-
-
# List of tests that fail on MinGW
EXPECTED_FAIL_MINGW = \
backbigs1 backsmalls1 clos1way6 devfd devfd1 devfd2 \
@@ -355,7 +345,7 @@ GENTESTS_UNUSED = Makefile.in checknegtime.awk dtdgport.awk
fix-fmtspcl.awk \
readall1.awk readall2.awk
-# List of tests on MinGW or DJGPP that need a different cmp program
+# List of tests on MinGW that need a different cmp program
NEED_TESTOUTCMP = \
beginfile2 double2 exit fmttest hsprint posix profile5 space
@@ -543,7 +533,6 @@ compare::
inftest::
@echo $@
- @echo Expect $@ to fail with DJGPP.
@echo This test is very machine specific...
@-$(AWK) -f "$(srcdir)"/inftest.awk | sed "s/inf/Inf/g" >_$@ || echo
EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -585,7 +574,7 @@ devfd::
# on the command line.
errno:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 ||
echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -599,7 +588,7 @@ tweakfld::
# command so that pid.sh is fork'ed as a child before being exec'ed.
pid::
@echo $@
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-AWKPATH="$(srcdir)" AWK=$(AWKPROG) $(SHELL) "$(srcdir)"/pid.sh $$$$ >
_`basename $@` ; :
@-$(CMP) "$(srcdir)"/pid.ok _`basename $@` && rm -f _`basename $@`
@@ -671,23 +660,21 @@ inetmesg::
@-echo file /etc/services and do "'netstat -a'".
inetechu::
- @echo Expect $@ to fail with DJGPP.
@echo This test is for establishing UDP connections
@-$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
inetecht::
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@echo This test is for establishing TCP connections
@-$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
inetdayu::
- @echo Expect $@ to fail with DJGPP.
@echo This test is for bidirectional UDP transmission
@-$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
"/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
inetdayt::
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@echo This test is for bidirectional TCP transmission
@-$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
"/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
@@ -788,7 +775,6 @@ printfbad2: printfbad2.ok
beginfile1::
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.awk .
./no/such/file Makefile >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -890,7 +876,6 @@ mpfrmemok1:
jarebug::
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-"$(srcdir)"/$@.sh "$(AWKPROG)" "$(srcdir)"/$@.awk "$(srcdir)"/$@.in
"_$@" || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -1101,7 +1086,6 @@ charasbytes:
symtab6:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk > _$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -1158,7 +1142,7 @@ watchpoint1:
pty1:
@echo $@
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-case `uname` in \
*[Oo][Ss]/390*) : ;; \
*) AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@ ; \
@@ -1167,7 +1151,7 @@ pty1:
pty2:
@echo $@
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-case `uname` in \
*[Oo][Ss]/390*) : ;; \
*) AWKPATH="$(srcdir)" $(AWK) -f $@.awk | od -c | $(AWK) '{ $$1 = $$1 ;
print }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ ; \
@@ -1176,7 +1160,7 @@ pty2:
ignrcas3::
@echo $@
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-if locale -a | grep ell_GRC.1253 > /dev/null ; then \
[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ell_GRC.1253 ; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$?
>>_$@ ; \
@@ -1208,7 +1192,6 @@ nsbad_cmd:
# Use [:] in the regexp to keep MSYS from converting the /'s to \'s.
nonfatal1:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk 2>&1 | $(AWK) '{print
gensub(/invalid[:].*$$/, "invalid", 1, $$0)}' >_$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2140,7 +2123,6 @@ rand:
randtest:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-$(LOCALES) AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 || echo
EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2310,7 +2292,6 @@ setrec1:
sigpipe1:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2377,7 +2358,6 @@ strnum2:
strtod:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1
|| echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2551,7 +2531,7 @@ fflush:
getlnhd:
@echo $@
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2619,44 +2599,38 @@ asortbool:
backw:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1
|| echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=C; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$?
>>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way2:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1
|| echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way3:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way4:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way5:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clos1way6:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2853,7 +2827,6 @@ gensub3:
getlndir:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2864,13 +2837,11 @@ gnuops2:
gnuops3:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
gnureops:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -2891,7 +2862,6 @@ icasers:
id:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3024,14 +2994,14 @@ match3:
mbstr1:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$?
>>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mbstr2:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 ||
echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3073,13 +3043,11 @@ nondec2:
nonfatal2:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nonfatal3:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3231,7 +3199,6 @@ regnul2:
regx8bit:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3393,7 +3360,7 @@ symtab7:
timeout:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3484,14 +3451,14 @@ asorti:
backbigs1:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 ||
echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
backsmalls1:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 ||
echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3529,14 +3496,14 @@ lc_num1:
mbfw1:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 ||
echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mbprintf1:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 ||
echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3555,7 +3522,7 @@ mbprintf3:
mbprintf4:
@echo $@ $(ZOS_FAIL)
- @echo Expect $@ to fail with DJGPP and MinGW.
+ @echo Expect $@ to fail with MinGW.
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=ENU_USA.1252; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 ||
echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@@ -3691,7 +3658,6 @@ mpfrrndeval:
mpfrsqrt:
@echo $@
- @echo Expect $@ to fail with DJGPP.
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk -M >_$@ 2>&1 || echo EXIT CODE:
$$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
diff --git a/pc/config.h b/pc/config.h
index bec42cfa..12c14560 100644
--- a/pc/config.h
+++ b/pc/config.h
@@ -88,17 +88,17 @@
#undef HAVE_ICONV
/* Define to 1 if the system has the type `intmax_t'. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_INTMAX_T 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_INTTYPES_H 1
#endif
/* Define to 1 if you have the `isascii' function. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_ISASCII 1
#endif
@@ -121,7 +121,7 @@
#endif
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#define HAVE_LANGINFO_CODESET 1
#endif
@@ -138,7 +138,7 @@
#undef HAVE_LIBSIGSEGV
/* Define to 1 if you have the <locale.h> header file. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_LOCALE_H 1
#endif
@@ -168,15 +168,10 @@
#undef HAVE_MEMCPY_ULONG
/* Define to 1 if you have the `memmove' function. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_MEMMOVE 1
#endif
-/* Define to 1 if you have the <memory.h> header file. */
-#ifdef __DJGPP__
-#define HAVE_MEMORY_H 1
-#endif
-
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
@@ -186,11 +181,6 @@
/* Define to 1 if you have the <minix/config.h> header file. */
#undef HAVE_MINIX_CONFIG_H
-/* Define to 1 if you have the `mkstemp' function. */
-#ifdef __DJGPP__
-#define HAVE_MKSTEMP 1
-#endif
-
/* we have the mktime function */
#define HAVE_MKTIME 1
@@ -210,12 +200,12 @@
#undef HAVE_POSIX_OPENPT
/* Define to 1 if you have the `setenv' function. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_SETENV 1
#endif
/* Define to 1 if you have the `setlocale' function. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_SETLOCALE 1
#endif
@@ -226,7 +216,7 @@
#undef HAVE_SIGPROCMASK
/* Define to 1 if you have the `snprintf' function. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_SNPRINTF 1
#endif
@@ -241,7 +231,7 @@
#endif
/* Define to 1 if stdbool.h conforms to C99. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_STDBOOL_H 1
#endif
@@ -251,7 +241,7 @@
#endif
/* Define to 1 if you have the <stdint.h> header file. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_STDINT_H 1
#endif
@@ -259,23 +249,13 @@
#undef HAVE_STDIO_H
/* Define to 1 if you have the <stdlib.h> header file. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_STDLIB_H 1
#endif
-/* Define to 1 if you have the `strcasecmp' function. */
-#ifdef __DJGPP__
-#define HAVE_STRCASECMP 1
-#endif
-
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
-/* Define to 1 if you have the `strcoll' function. */
-#ifdef __DJGPP__
-#define HAVE_STRCOLL 1
-#endif
-
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
@@ -306,7 +286,7 @@
#define HAVE_STRTOD 1
/* Define to 1 if you have the `strtoul' function. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_STRTOUL 1
#endif
@@ -317,7 +297,7 @@
#undef HAVE_STRUCT_PASSWD_PW_PASSWD
/* Define to 1 if `st_blksize' is a member of `struct stat'. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
#endif
@@ -327,13 +307,8 @@
/* Define to 1 if you have the `system' function. */
#define HAVE_SYSTEM 1
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#ifdef __DJGPP__
-#define HAVE_SYS_IOCTL_H 1
-#endif
-
/* Define to 1 if you have the <sys/param.h> header file. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_SYS_PARAM_H 1
#endif
@@ -344,34 +319,24 @@
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
-#if defined(__MINGW32__) || defined(__DJGPP__)
+#if defined(__MINGW32__)
#define HAVE_SYS_STAT_H 1
#endif
/* Define to 1 if you have the <sys/time.h> header file. */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#define HAVE_SYS_TIME_H 1
#endif
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
-/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-#ifdef __DJGPP__
-#define HAVE_SYS_WAIT_H 1
-#endif
-
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define to 1 if you have the `timegm' function. */
#undef HAVE_TIMEGM
-/* Define to 1 if you have the `tmpfile' function. */
-#ifdef __DJGPP__
-#define HAVE_TMPFILE 1
-#endif
-
/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
`HAVE_STRUCT_TM_TM_ZONE' instead. */
#undef HAVE_TM_ZONE
@@ -394,12 +359,12 @@
#define HAVE_TZSET 1
/* Define to 1 if the system has the type `uintmax_t'. */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#define HAVE_UINTMAX_T 1
#endif
/* Define to 1 if you have the <unistd.h> header file. */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#define HAVE_UNISTD_H 1
#endif
@@ -407,7 +372,7 @@
#undef HAVE_UNSIGNED_LONG_LONG_INT
/* Define to 1 if you have the `usleep' function. */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#define HAVE_USLEEP 1
#endif
@@ -449,11 +414,6 @@
#define HAVE_WINT_T 1
#endif
-/* Define to 1 if the system has the type `_Bool'. */
-#ifdef __DJGPP__
-#define HAVE__BOOL 1
-#endif
-
/* Define to 1 if you have the `__etoa_l' function. */
#undef HAVE___ETOA_L
@@ -484,11 +444,6 @@
/* Define to 1 if *printf supports %a format */
#define PRINTF_HAS_A_FORMAT 1
-/* Define to 1 if *printf supports %F format */
-#ifdef __DJGPP__
-#define PRINTF_HAS_F_FORMAT 1
-#endif
-
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
@@ -513,7 +468,7 @@
#undef USE_EBCDIC
/* This is required to compile Gnulib regex code. */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
#define _GNU_SOURCE 1
#endif
/* Enable extensions on AIX 3, Interix. */
@@ -689,22 +644,5 @@
#undef uintmax_t
#include "custom.h"
-#ifdef __DJGPP__
-/* gcc no longer includes this by default */
-# include <sys/version.h>
-/* Library search path */
-# if (__DJGPP__ > 2 || __DJGPP_MINOR__ >= 3)
-# define DEFPATH ".;/dev/env/DJDIR/share/awk"
-# else
-# define DEFPATH ".;c:/lib/awk;c:/gnu/lib/awk"
-# endif
-
-/* Function prototype. */
-#include <stdbool.h>
-extern bool is_valid_identifier(const char *name);
-#endif
-
-#ifndef __DJGPP__
#define HAVE_POPEN_H 1
-#endif
diff --git a/pc/config.sed b/pc/config.sed
index 4547a842..1c1b7a2d 100644
--- a/pc/config.sed
+++ b/pc/config.sed
@@ -32,10 +32,6 @@
#endif
s/^#undef GETPGRP_VOID *$/#define GETPGRP_VOID 1/
s/^#undef GETGROUPS_T *$/#define GETGROUPS_T gid_t/
-/^#undef GETPGRP_VOID$/c\
-#ifdef __DJGPP__\
-#define GETPGRP_VOID 1\
-#endif
s/^#undef HAVE_ALARM *$/#define HAVE_ALARM 1/
s/^#undef HAVE_ATEXIT *$/#define HAVE_ATEXIT 1/
/^#undef HAVE_BTOWC *$/c\
@@ -55,11 +51,11 @@ s/^#undef HAVE_FMOD *$/#define HAVE_FMOD 1/
#define HAVE_GETADDRINFO 1\
#endif
/^#undef HAVE_INTMAX_T *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_INTMAX_T 1\
#endif
/^#undef HAVE_INTTYPES_H *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_INTTYPES_H 1\
#endif
/^#undef HAVE_INTTYPES_H_WITH_UINTMAX *$/c\
@@ -67,7 +63,7 @@ s/^#undef HAVE_FMOD *$/#define HAVE_FMOD 1/
#define HAVE_INTTYPES_H_WITH_UINTMAX 1\
#endif
/^#undef HAVE_ISASCII *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_ISASCII 1\
#endif
/^#undef HAVE_ISWCTYPE *$/c\
@@ -83,7 +79,7 @@ s/^#undef HAVE_FMOD *$/#define HAVE_FMOD 1/
#define HAVE_ISWUPPER 1\
#endif
/^#undef HAVE_LANGINFO_CODESET *$/c\
-#if defined(__DJGPP__) || defined(__MINGW32__)\
+#if defined(__MINGW32__)\
#define HAVE_LANGINFO_CODESET 1\
#endif
s/^#undef HAVE_LIBM *$/#define HAVE_LIBM 1/
@@ -91,7 +87,7 @@ s/^#undef HAVE_LIBM *$/#define HAVE_LIBM 1/
/* #undef HAVE_LIBREADLINE */
s/^#undef HAVE_LIMITS_H *$/#define HAVE_LIMITS_H 1/
/^#undef HAVE_LOCALE_H *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_LOCALE_H 1\
#endif
/^#undef HAVE_LONG_LONG *$/c\
@@ -109,31 +105,23 @@ s/^#undef HAVE_LIMITS_H *$/#define HAVE_LIMITS_H 1/
s/^#undef HAVE_MEMCMP *$/#define HAVE_MEMCMP 1/
s/^#undef HAVE_MEMCPY *$/#define HAVE_MEMCPY 1/
/^#undef HAVE_MEMMOVE *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_MEMMOVE 1\
#endif
-/^#undef HAVE_MEMORY_H *$/c\
-#ifdef __DJGPP__\
-#define HAVE_MEMORY_H 1\
-#endif
s/^#undef HAVE_MEMSET *$/#define HAVE_MEMSET 1/
-/^#undef HAVE_MKSTEMP *$/c\
-#ifdef __DJGPP__\
-#define HAVE_MKSTEMP 1\
-#endif
s/^#undef HAVE_MKTIME *$/#define HAVE_MKTIME 1/
/^#undef HAVE_MPFR *$/c\
/* #undef HAVE_MPFR */
/^#undef HAVE_SETENV *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_SETENV 1\
#endif
/^#undef HAVE_SETLOCALE *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_SETLOCALE 1\
#endif
/^#undef HAVE_SNPRINTF *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_SNPRINTF 1\
#endif
/^#undef HAVE_SOCKADDR_STORAGE *$/c\
@@ -146,7 +134,7 @@ s/^#undef HAVE_MKTIME *$/#define HAVE_MKTIME 1/
#endif
s/^#undef HAVE_STDARG_H *$/#define HAVE_STDARG_H 1/
/^#undef HAVE_STDBOOL_H *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_STDBOOL_H 1\
#endif
/^#undef HAVE_STDDEF_H *$/c\
@@ -154,21 +142,13 @@ s/^#undef HAVE_STDARG_H *$/#define HAVE_STDARG_H 1/
#define HAVE_STDDEF_H 1\
#endif
/^#undef HAVE_STDINT_H *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_STDINT_H 1\
#endif
/^#undef HAVE_STDLIB_H *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_STDLIB_H 1\
#endif
-/^#undef HAVE_STRCASECMP *$/c\
-#ifdef __DJGPP__\
-#define HAVE_STRCASECMP 1\
-#endif
-/^#undef HAVE_STRCOLL *$/c\
-#ifdef __DJGPP__\
-#define HAVE_STRCOLL 1\
-#endif
s/^#undef HAVE_STRCHR *$/#define HAVE_STRCHR 1/
s/^#undef HAVE_STRERROR *$/#define HAVE_STRERROR 1/
/^#undef HAVE_STRFTIME *$/c\
@@ -185,39 +165,27 @@ s/^#undef HAVE_STRING_H *$/#define HAVE_STRING_H 1/
#define HAVE_STRNCASECMP 1\
s/^#undef HAVE_STRTOD *$/#define HAVE_STRTOD 1/
/^#undef HAVE_STRTOUL *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_STRTOUL 1\
#endif
/^#undef HAVE_STRUCT_STAT_ST_BLKSIZE *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1\
#endif
-/^#undef HAVE_SYS_IOCTL_H *$/c\
-#ifdef __DJGPP__\
-#define HAVE_SYS_IOCTL_H 1\
-#endif
s/^#undef HAVE_SYSTEM *$/#define HAVE_SYSTEM 1/
/^#undef HAVE_SYS_PARAM_H *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_SYS_PARAM_H 1\
#endif
/^#undef HAVE_SYS_STAT_H *$/c\
-#if defined(__MINGW32__) || defined(__DJGPP__)\
+#if defined(__MINGW32__)\
#define HAVE_SYS_STAT_H 1\
#endif
/^#undef HAVE_SYS_TIME_H *$/c\
-#if defined(__DJGPP__) || defined(__MINGW32__)\
+#if defined(__MINGW32__)\
#define HAVE_SYS_TIME_H 1\
#endif
s/^#undef HAVE_SYS_TYPES_H *$/#define HAVE_SYS_TYPES_H 1/
-/^#undef HAVE_SYS_WAIT_H *$/c\
-#ifdef __DJGPP__\
-#define HAVE_SYS_WAIT_H 1\
-#endif
-/^#undef HAVE_TMPFILE *$/c\
-#ifdef __DJGPP__\
-#define HAVE_TMPFILE 1\
-#endif
/^#undef HAVE_TOWLOWER *$/c\
#ifdef __MINGW32__\
#define HAVE_TOWLOWER 1\
@@ -229,16 +197,16 @@ s/^#undef HAVE_SYS_TYPES_H *$/#define HAVE_SYS_TYPES_H 1/
s/^#undef HAVE_TZNAME *$/#define HAVE_TZNAME 1/
s/^#undef HAVE_TZSET *$/#define HAVE_TZSET 1/
/^#undef HAVE_UINTMAX_T *$/c\
-#if defined(__DJGPP__) || defined(__MINGW32__)\
+#if defined(__MINGW32__)\
#define HAVE_UINTMAX_T 1\
#endif
/^#undef HAVE_UNISTD_H *$/c\
-#if defined(__DJGPP__) || defined(__MINGW32__)\
+#if defined(__MINGW32__)\
#define HAVE_UNISTD_H 1\
#endif
s/^#undef HAVE_UNSIGNED_LONG_LONG *$/#define HAVE_UNSIGNED_LONG_LONG 1/
/^#undef HAVE_USLEEP *$/c\
-#if defined(__DJGPP__) || defined(__MINGW32__)\
+#if defined(__MINGW32__)\
#define HAVE_USLEEP 1\
#endif
s/^#undef HAVE_VPRINTF *$/#define HAVE_VPRINTF 1/
@@ -270,21 +238,13 @@ s/^#undef HAVE_VPRINTF *$/#define HAVE_VPRINTF 1/
#ifdef __MINGW32__\
#define HAVE_WINT_T 1\
#endif
-/^#undef HAVE__BOOL *$/c\
-#ifdef __DJGPP__\
-#define HAVE__BOOL 1\
-#endif
/^#undef PRINTF_HAS_A_FORMAT *$/c\
#define PRINTF_HAS_A_FORMAT 1
-/^#undef PRINTF_HAS_F_FORMAT *$/c\
-#ifdef __DJGPP__\
-#define PRINTF_HAS_F_FORMAT 1\
-#endif
s/^#undef PROTOTYPES *$/#define PROTOTYPES 1/
s/^#undef RETSIGTYPE *$/#define RETSIGTYPE void/
/^#.*RETSIGTYPE /a\
\
-#if defined(__DJGPP__) || defined(__MINGW32__)\
+#if defined(__MINGW32__)\
#include <limits.h>\
#endif
s/^#undef SIZEOF_UNSIGNED_INT *$/#define SIZEOF_UNSIGNED_INT 4/
@@ -298,29 +258,11 @@ s/^#undef TIME_WITH_SYS_TIME *$/#define
TIME_WITH_SYS_TIME 1/
/^\/\* Enable extensions on AIX 3, Interix. \*\//i\
/* This is required to compile Gnulib regex code. */\
-#if defined(__DJGPP__) || defined(__MINGW32__)\
+#if defined(__MINGW32__)\
#define _GNU_SOURCE 1\
#endif
s|^#undef PACKAGE_URL *$|#define PACKAGE_URL
"http://www.gnu.org/software/gawk/"|
$a\
-#ifdef __DJGPP__\
-/* gcc no longer includes this by default */\
-# include <sys/version.h>\
-\
-/* Library search path */\
-# if (__DJGPP__ > 2 || __DJGPP_MINOR__ >= 3)\
-# define DEFPATH ".;/dev/env/DJDIR/share/awk"\
-# else\
-# define DEFPATH ".;c:/lib/awk;c:/gnu/lib/awk"\
-# endif\
-\
-/* Function prototype. */\
-#include <stdbool.h>\
-extern bool is_valid_identifier(const char *name);\
-#endif\
-\
-#ifndef __DJGPP__\
-#define HAVE_POPEN_H 1\
-#endif
+#define HAVE_POPEN_H 1
diff --git a/pc/gawkmisc.pc b/pc/gawkmisc.pc
index 813c201a..c37d9934 100644
--- a/pc/gawkmisc.pc
+++ b/pc/gawkmisc.pc
@@ -193,7 +193,7 @@ os_close_on_exec(fd, name, what, dir)
int fd;
const char *name, *what, *dir;
{
-#if (defined(__DJGPP__) && (__DJGPP__ > 2 || __DJGPP_MINOR__ >= 4))
+#if __DJGPP__ > 2 || __DJGPP_MINOR__ >= 4
if (fd <= 2) /* sanity */
return;
@@ -259,10 +259,6 @@ os_is_setuid()
/* os_setbinmode --- set binary mode on file */
-#ifdef __DJGPP__
-#include <sys/exceptn.h>
-#include <io.h>
-#endif
static int orig_tty_mode = -1;
int
@@ -271,10 +267,6 @@ int fd, mode;
{
int prev_mode = setmode(fd, mode);
-#ifdef __DJGPP__
- if ((mode & O_BINARY) != 0)
- __djgpp_set_ctrl_c(1); /* allow to interrupt with Ctrl-C */
-#endif
/* Save the original tty mode as we found it. */
if (orig_tty_mode == -1 && fd >= 0 && fd <= 2)
orig_tty_mode = prev_mode;
@@ -834,7 +826,7 @@ os_maybe_set_errno (void)
#endif /* __MINGW32__ */
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
void
init_sockets(void)
@@ -849,49 +841,4 @@ init_sockets(void)
#endif
}
-#endif /* __DJGPP__ || __MINGW32__ */
-
-#ifdef __DJGPP__
-
-/* Replacement for the missing nl_langinfo. DJGPP provides only C locale. */
-#include <langinfo.h>
-
-char *
-nl_langinfo (int item)
-{
- switch (item)
- {
- case CODESET:
- default:
- return (char *) "";
- }
-}
-
-
-# if __DJGPP__ == 2 && __DJGPP_MINOR__ < 4
-int
-unsetenv (const char *name)
-{
- if (!name || !*name || strchr (name, '=') != NULL)
- return -1;
-
- return putenv (name);
-}
-#endif
-
-/* This is needed to defeat too-clever GCC warnings in dfa.c about
- comparison being always false due to limited range of data type. */
-wint_t
-btowc (int c)
-{
- return c;
-}
-
-wint_t
-putwc(wchar_t wc, FILE *stream)
-{
- return MB_CUR_MAX == 1 && wc > 0 && wc <= UCHAR_MAX
- && putc((unsigned char)wc, stream) != EOF ? (wint_t)wc : WEOF;
-}
-
-#endif /* __DJGPP__ */
+#endif /* __MINGW32__ */
diff --git a/pc/getid.c b/pc/getid.c
index 71491acf..543c559c 100644
--- a/pc/getid.c
+++ b/pc/getid.c
@@ -50,9 +50,9 @@ int getpgrp(void)
return (0);
}
-#if defined(__DJGPP__) || defined(__MINGW32__)
+#if defined(__MINGW32__)
int getppid(void)
{
return (0);
}
-#endif /* __DJGPP__ || __MINGW32__ */
+#endif /* __MINGW32__ */
diff --git a/pc/popen.h b/pc/popen.h
index 8e893326..4e6f125f 100644
--- a/pc/popen.h
+++ b/pc/popen.h
@@ -22,7 +22,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA
*/
-#if !defined (__DJGPP__)
# if defined (popen)
# undef popen
# undef pclose
@@ -31,11 +30,10 @@
# define pclose(f) os_pclose(f)
extern FILE *os_popen( const char *, const char * );
extern int os_pclose( FILE * );
-# ifdef __MINGW32__
+#ifdef __MINGW32__
# define system(c) os_system(c)
extern int os_system( const char * );
# define SIGKILL 9
extern int kill( int, int );
extern char *quote_cmd( const char * );
-# endif /* __MINGW32__ */
-#endif /* !__DJGPP__ */
+#endif /* __MINGW32__ */
diff --git a/profile.c b/profile.c
index a5b91569..5b07e223 100644
--- a/profile.c
+++ b/profile.c
@@ -119,17 +119,12 @@ set_prof_file(const char *file)
void
init_profiling_signals()
{
-#ifdef __DJGPP__
- signal(SIGINT, dump_and_exit);
- signal(SIGQUIT, just_dump);
-#else /* !__DJGPP__ */
#ifdef SIGHUP
signal(SIGHUP, dump_and_exit);
#endif
#ifdef SIGUSR1
signal(SIGUSR1, just_dump);
#endif
-#endif /* !__DJGPP__ */
}
/* indent --- print out enough tabs */
diff --git a/re.c b/re.c
index d709a5ef..fa94fdd6 100644
--- a/re.c
+++ b/re.c
@@ -388,7 +388,7 @@ void
dfaerror(const char *s)
{
fatal("%s", s);
- exit(EXIT_FATAL); /* for DJGPP */
+ exit(EXIT_FATAL);
}
/* re_cache_get --- populate regexp cache if empty */
diff --git a/replace.c b/replace.c
index 77670b06..cf97f39d 100644
--- a/replace.c
+++ b/replace.c
@@ -114,7 +114,3 @@
#ifndef HAVE_STRCOLL
#include "missing_d/strcoll.c"
#endif
-
-#if defined(__DJGPP__)
-#include "missing_d/wcmisc.c"
-#endif
diff --git a/test/ChangeLog b/test/ChangeLog
index 32ba55e1..7a342484 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,7 @@
+2022-07-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (EXPECTED_FAIL_DJGPP): Removed.
+
2022-07-01 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am: Update copyright year.
diff --git a/test/Makefile.am b/test/Makefile.am
index 46e22334..e3e2c707 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1589,15 +1589,6 @@ NEED_LOCALE_JP = mbprintf2
NEED_LOCALE_RU = mtchi18n
-# List of tests that fail on DJGPP
-EXPECTED_FAIL_DJGPP = \
- backbigs1 backsmalls1 backw beginfile1 clos1way clos1way2 \
- clos1way3 clos1way4 clos1way5 clos1way6 errno getlndir \
- getlnhd gnuops3 gnureops id ignrcas3 inetdayt inetdayu \
- inetecht inetechu inftest jarebug mbfw1 mbprintf1 mbprintf4 \
- mbstr1 mbstr2 mpfrsqrt nonfatal1 nonfatal2 nonfatal3 pid pty1 pty2 \
- randtest regx8bit strtod sigpipe1 symtab6 timeout
-
# List of tests that fail on MinGW
EXPECTED_FAIL_MINGW = \
backbigs1 backsmalls1 clos1way6 devfd devfd1 devfd2 \
@@ -1627,7 +1618,7 @@ GENTESTS_UNUSED = Makefile.in checknegtime.awk
dtdgport.awk fix-fmtspcl.awk \
printfloat.awk readdir0.awk valgrind.awk xref.awk \
readall1.awk readall2.awk
-# List of tests on MinGW or DJGPP that need a different cmp program
+# List of tests on MinGW that need a different cmp program
NEED_TESTOUTCMP = \
beginfile2 double2 exit fmttest hsprint posix profile5 space
diff --git a/test/Makefile.in b/test/Makefile.in
index 0520e71f..f801a253 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1856,16 +1856,6 @@ NEED_LOCALE_EN = \
NEED_LOCALE_JP = mbprintf2
NEED_LOCALE_RU = mtchi18n
-# List of tests that fail on DJGPP
-EXPECTED_FAIL_DJGPP = \
- backbigs1 backsmalls1 backw beginfile1 clos1way clos1way2 \
- clos1way3 clos1way4 clos1way5 clos1way6 errno getlndir \
- getlnhd gnuops3 gnureops id ignrcas3 inetdayt inetdayu \
- inetecht inetechu inftest jarebug mbfw1 mbprintf1 mbprintf4 \
- mbstr1 mbstr2 mpfrsqrt nonfatal1 nonfatal2 nonfatal3 pid pty1 pty2 \
- randtest regx8bit strtod sigpipe1 symtab6 timeout
-
-
# List of tests that fail on MinGW
EXPECTED_FAIL_MINGW = \
backbigs1 backsmalls1 clos1way6 devfd devfd1 devfd2 \
@@ -1896,7 +1886,7 @@ GENTESTS_UNUSED = Makefile.in checknegtime.awk
dtdgport.awk fix-fmtspcl.awk \
readall1.awk readall2.awk
-# List of tests on MinGW or DJGPP that need a different cmp program
+# List of tests on MinGW that need a different cmp program
NEED_TESTOUTCMP = \
beginfile2 double2 exit fmttest hsprint posix profile5 space
-----------------------------------------------------------------------
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] gawk branch, feature/nuke-djgpp, created. gawk-4.1.0-4760-g628b3876,
Arnold Robbins <=