Apply spelling corrections from Fossies spellcheck

See https://fossies.org/features.html#codespell
Spelling issues in Git commit messages or lib/* source are not applied.

* README.OS2.template: Apply spelling corrections.
* README.VMS: Ditto.
* src/commands.c: Ditto.
* src/config.ami.template: Ditto.
* src/configh.dos.template: Ditto.
* src/job.c: Ditto.
* src/job.h: Ditto.
* src/read.c: Ditto.
* src/variable.c: Ditto.
* src/vms_exit.c: Ditto.
* src/vms_export_symbol.c: Ditto.
* src/vms_progname.c: Ditto.
* src/vmsfunctions.c: Ditto.
* src/vmsjobs.c: Ditto.
* src/w32/pathstuff.c: Ditto.
* tests/scripts/variables/automatic: Ditto.
* tests/test_driver.pl: Ditto.
diff --git a/README.OS2.template b/README.OS2.template
index 54450d9..85df2e4 100644
--- a/README.OS2.template
+++ b/README.OS2.template
@@ -138,7 +138,7 @@
 shell in every case. Normally you could simply set MAKESHELL="/bin/sh"
 to do this but the testsuite ignores the environment. -DNO_CHDIR2 causes
 make not to use drive letters for directory names (i.e. _chdir2() and
-_getcwd2() are NOT used).  The testsuite interpretes the whole output of
+_getcwd2() are NOT used).  The testsuite interprets the whole output of
 make, especially statements like make[1]: Entering directory
 'C:/somewhere/make-3.79.1/tests' where the testsuite does not expect the
 drive letter. This would be interpreted as an error even if there is
diff --git a/README.VMS b/README.VMS
index 5532b01..9c53896 100644
--- a/README.VMS
+++ b/README.VMS
@@ -11,7 +11,7 @@
   There is an older implementation of GNU Make that was ported to GNV.
   Work is now in progress to merge that port to get a single version
   of GNU Make available.  When that merge is done, GNU Make will auto
-  detect that it is running under a Posix shell and then operate as close to
+  detect that it is running under a POSIX shell and then operate as close to
   GNU Make on Unix as possible.
 
   The descriptions below are for running GNU make from DCL or equivalent.
@@ -62,15 +62,15 @@
   enabled if the GNU Make is set to the older behavior.
 
   The name GNV$MAKE_SHELL_SIM when enabled will cause GNU Make to try to
-  simulate a Posix shell more closely.  The following behaviors occur:
+  simulate a POSIX shell more closely.  The following behaviors occur:
 
     * Single quotes are converted to double quotes and any double
       quotes inside of them are doubled.  No environment variable expansion
       is simulated.
-    * A exit command status will be converted to a Posix Exit
+    * A exit command status will be converted to a POSIX Exit
       where 0 is success and non-zero is failure.
     * The $ character will cause environment variable expansion.
-    * Environent variables can be set on the command line before a command.
+    * Environment variables can be set on the command line before a command.
 
   VMS generally uses logical name search lists instead of path variables
   where the resolution is handled by VMS independent of the program.  Which
@@ -88,7 +88,7 @@
 
   If you are creating a OpenVMS specific makefile from scratch, you should also
   look at MMK (Madgoat Make) available at https://github.com/endlesssoftware/mmk
-  MMK uses full OpenVMS syntax and a persistent subprocess is used for the
+  MMK uses full OpenVMS syntax and a persistent sub-process is used for the
   recipe lines, allowing multiple line rules.
 
   The default makefile search order is "makefile.vms", "gnumakefile",
@@ -207,15 +207,15 @@
   override OpenVMS symbols/logicals.
 
   OpenVMS logical and symbols names show up as "environment" using the
-  origin function.  when the "-e" option is specified, the origion function
-  shows them as "environment override".  On Posix the test scripts indicate
+  origin function.  when the "-e" option is specified, the origin function
+  shows them as "environment override".  On POSIX the test scripts indicate
   that they should show up just as "environment".
 
   When GNU make reads in a symbol or logical name into the environment, it
   converts any dollar signs found to double dollar signs for convenience in
   using DCL symbols and logical names in recipes.  When GNU make exports a
   DCL symbol for a child process, if the first dollar sign found is followed
-  by second dollar sign, then all double dollar signs will be convirted to
+  by second dollar sign, then all double dollar signs will be converted to
   single dollar signs.
 
   The variable $(ARCH) is predefined as IA64, ALPHA or VAX respectively.
@@ -233,17 +233,17 @@
 
   Empty commands are handled correctly and don't end in a new DCL process.
 
-  The exit command needs to have OpenVMS exit codes.  To pass a Posix code
+  The exit command needs to have OpenVMS exit codes.  To pass a POSIX code
   back to the make script, you need to encode it by multiplying it by 8
   and then adding %x1035a002 for a failure code and %x1035a001 for a
-  success.  Make will interpret any posix code other than 0 as a failure.
-  TODO: Add an option have simulate Posix exit commands in recipes.
+  success.  Make will interpret any POSIX code other than 0 as a failure.
+  TODO: Add an option have simulate POSIX exit commands in recipes.
 
   Lexical functions can be used in pipes to simulate shell file test rules.
 
   Example:
 
-  Posix:
+  POSIX:
 b : c ; [ -f $@ ] || echo >> $@
 
   OpenVMS:
@@ -261,16 +261,16 @@
 
 Runtime issues:
 
-  The OpenVMS C Runtime has a convention for encoding a Posix exit status into
+  The OpenVMS C Runtime has a convention for encoding a POSIX exit status into
   to OpenVMS exit codes.  These status codes will have the hex value of
   0x35a000.  OpenVMS exit code may also have a hex value of %x10000000 set on
   them.  This is a flag to tell DCL not to write out the exit code.
 
-  To convert an OpenVMS encoded Posix exit status code to the original code
+  To convert an OpenVMS encoded POSIX exit status code to the original code
   You subtract %x35a000 and any flags from the OpenVMS code and divide it by 8.
 
   WARNING: Backward-incompatibility!
-  The make program exit now returns the same encoded Posix exit code as on
+  The make program exit now returns the same encoded POSIX exit code as on
   Unix. Previous versions returned the OpenVMS exit status code if that is what
   caused the recipe to fail.
   TODO: Provide a way for scripts calling make to obtain that OpenVMS status
@@ -280,9 +280,9 @@
   will have the error "-E-" severity set on exit.
 
   MAKE_TROUBLE is returned only if the option "-q" or "--question" is used and
-  has a Posix value of 1 and an OpenVMS status of %x1035a00a.
+  has a POSIX value of 1 and an OpenVMS status of %x1035a00a.
 
-  MAKE_FAILURE has a Posix value of 2 and an OpenVMS status of %x1035a012.
+  MAKE_FAILURE has a POSIX value of 2 and an OpenVMS status of %x1035a012.
 
   Output from GNU make may have single quotes around some values where on
   other platforms it does not.  Also output that would be in double quotes
@@ -294,10 +294,10 @@
   There may be a "Waiting for unfinished jobs..." show up in the output.
 
   Error messages generated by Make or Unix utilities may slightly vary from
-  Posix platforms.  Typically the case may be different.
+  POSIX platforms.  Typically the case may be different.
 
-  When make deletes files, on posix platforms it writes out 'rm' and the list
-  of files.  On VMS, only the files are writen out, one per line.
+  When make deletes files, on POSIX platforms it writes out 'rm' and the list
+  of files.  On VMS, only the files are written out, one per line.
   TODO: VMS
 
   There may be extra leading white space or additional or missing whitespace
@@ -323,15 +323,15 @@
   to override this in your makefile, or whatever).
 
 
-Unix compatibilty features:
----------------------------
+Unix compatibility features:
+----------------------------
 
   If the command 'echo' is seen, any single quotes on the line will be
   converted to double quotes.
 
   The variable $(CD) is implemented as a built in Change Directory
   command. This invokes the 'builtin_cd'  Executing a 'set default'
-  recipe doesn't do the trick, since it only affects the subprocess
+  recipe doesn't do the trick, since it only affects the sub-process
   spawned for that command.
 
   The 'builtin_cd' is generally expected to be on its own line.
@@ -347,7 +347,7 @@
   Unix shell style I/O redirection is supported. You can now write lines like:
   "<tab>mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt"
 
-  Posix shells have ":" as a null command.  These are now handled.
+  POSIX shells have ":" as a null command.  These are now handled.
   https://savannah.gnu.org/bugs/index.php?41761
 
   A note on appending the redirected output.  A simple mechanism is
@@ -367,10 +367,10 @@
   The older implementation wrote the output to a temporary file in
   in sys$scratch: and then attempted to append the file to the existing file.
   The temporary file names looked like "CMDxxxxx.". Any time the created
-  command procedure can not complete, this happens. Pressing Ctrl+Y to
+  command procedure can not complete, this happens. Pressing CTRL+Y to
   abort make is one case.
 
-  In case of Ctrl+Y the associated command procedure is left in SYS$SCRATCH:.
+  In case of CTRL+Y the associated command procedure is left in SYS$SCRATCH:.
   The command procedures will be named gnv$make_cmd*.com.
 
   The CtrlY handler now uses $delprc to delete all children. This way also
@@ -378,12 +378,12 @@
   then sends SIGQUIT to itself, which is handled in common code.
 
   Temporary command files are now deleted in the OpenVMS child termination
-  handler. That deletes them even if a Ctrl+C was pressed.
+  handler. That deletes them even if a CTRL+C was pressed.
   TODO: Does the previous section about >> leaving files still apply?
 
-  The behavior of pressing Ctrl+C is not changed. It still has only an effect,
+  The behavior of pressing CTRL+C is not changed. It still has only an effect,
   after the current action is terminated. If that doesn't happen or takes too
-  long, Ctrl+Y should be used instead.
+  long, CTRL+Y should be used instead.
 
 
 Build Options:
@@ -422,7 +422,7 @@
   child.
 
   GNU make was not currently translating the OpenVMS encoded POSIX values
-  returned to it back to the Posix values.  I have temporarily modified the
+  returned to it back to the POSIX values.  I have temporarily modified the
   Perl test script to compensate for it.  This should be being handled
   internally to Make.
   TODO: Verify and update the Perl test script.
@@ -435,7 +435,7 @@
   Symlink support is not present.  Symlinks are supported by OpenVMS 8.3 and
   later.
 
-  Error messages should be supressed with the "-" at the beginning of a line.
+  Error messages should be suppressed with the "-" at the beginning of a line.
   On openVMS they were showing up.  TODO: Is this still an issue?
 
   The internal vmsify and unixify OpenVMS to/from UNIX are not handling logical
@@ -443,7 +443,7 @@
 
 
 Build instructions:
-------------------
+-------------------
 
   Don't use the HP C V7.2-001 compiler, which has an incompatible change
   how __STDC__ is defined. This results at least in compile time warnings.
@@ -478,7 +478,7 @@
    https://sourceforge.net/projects/gnv/files/
 
    As the test scripts need to create some foreign commands that persist
-   after the test is run, it is recommend that either you use a subprocess or
+   after the test is run, it is recommend that either you use a sub-process or
    a dedicated login to run the tests.
 
    To get detailed information for running the tests:
@@ -499,12 +499,12 @@
    $ perl run_make_tests.pl
 
 
-Acknowlegements:
+Acknowledgments:
 ----------------
 
 See NEWS. for details of past changes.
 
-  These are the currently known contributers to this port.
+  These are the currently known contributors to this port.
 
   Hartmut Becker
   John Malmberg
diff --git a/src/commands.c b/src/commands.c
index 88c33a3..dd17999 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -508,7 +508,7 @@
 #ifdef WINDOWS32
   extern HANDLE main_thread;
 
-  /* Windows creates a sperate thread for handling Ctrl+C, so we need
+  /* Windows creates a separate thread for handling Ctrl+C, so we need
      to suspend the main thread, or else we will have race conditions
      when both threads call reap_children.  */
   if (main_thread)
diff --git a/src/config.ami.template b/src/config.ami.template
index 0d2baa2..0d44fc6 100644
--- a/src/config.ami.template
+++ b/src/config.ami.template
@@ -324,10 +324,10 @@
 /* Define if you have the sun library (-lsun).  */
 /* #undef HAVE_LIBSUN */
 
-/* Output sync sypport */
+/* Output sync support */
 #define NO_OUTPUT_SYNC
 
-/* Define for Case Insensitve behavior */
+/* Define for Case Insensitive behavior */
 #define HAVE_CASE_INSENSITIVE_FS
 
 /* Build host information. */
diff --git a/src/configh.dos.template b/src/configh.dos.template
index 3dd78d3..227a9f4 100644
--- a/src/configh.dos.template
+++ b/src/configh.dos.template
@@ -100,7 +100,7 @@
 /* Define to the version of this package. */
 #define PACKAGE_VERSION "%VERSION%"
 
-/* Output sync sypport */
+/* Output sync support */
 #define NO_OUTPUT_SYNC
 
 /* Version number of package */
diff --git a/src/job.c b/src/job.c
index ae1f18b..94835c0 100644
--- a/src/job.c
+++ b/src/job.c
@@ -2754,7 +2754,7 @@
   /* We used to have a double quote (") in sh_chars_dos[] below, but
      that caused any command line with quoted file names be run
      through a temporary batch file, which introduces command-line
-     limit of 4K charcaters imposed by cmd.exe.  Since CreateProcess
+     limit of 4K characters imposed by cmd.exe.  Since CreateProcess
      can handle quoted file names just fine, removing the quote lifts
      the limit from a very frequent use case, because using quoted
      file names is commonplace on MS-Windows.  */
diff --git a/src/job.h b/src/job.h
index ee290fb..fc92bcf 100644
--- a/src/job.h
+++ b/src/job.h
@@ -29,7 +29,7 @@
 #endif
 
 #define CHILDBASE                                               \
-    char *cmd_name;       /* Alloced copy of command run.  */   \
+    char *cmd_name;       /* Allocated copy of command run.  */ \
     char **environment;   /* Environment for commands. */       \
     VMSCHILD                                                    \
     struct output output  /* Output for this child.  */
diff --git a/src/read.c b/src/read.c
index fa197fb..db52a55 100644
--- a/src/read.c
+++ b/src/read.c
@@ -3215,10 +3215,10 @@
       /* Strip leading "this directory" references.  */
       if (NONE_SET (flags, PARSEFS_NOSTRIP))
 #ifdef VMS
-        /* Skip leading '[]'s. should only be one set or bug somwhere else */
+        /* Skip leading '[]'s. should only be one set or bug somewhere else */
         if (p - s > 2 && s[0] == '[' && s[1] == ']')
             s += 2;
-        /* Skip leading '<>'s. should only be one set or bug somwhere else */
+        /* Skip leading '<>'s. should only be one set or bug somewhere else */
         if (p - s > 2 && s[0] == '<' && s[1] == '>')
             s += 2;
 #endif
diff --git a/src/variable.c b/src/variable.c
index e379622..d9e1a4a 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -212,9 +212,9 @@
 
 #ifdef VMS
   /* VMS does not populate envp[] with DCL symbols and logical names which
-     historically are mapped to environent variables.
+     historically are mapped to environment variables.
      If the variable is not yet defined, then we need to check if getenv()
-     can find it.  Do not do this for origin == o_env to avoid infinte
+     can find it.  Do not do this for origin == o_env to avoid infinite
      recursion */
   if (HASH_VACANT (v) && (origin != o_env))
     {
@@ -475,8 +475,9 @@
     }
 
 #ifdef VMS
-  /* VMS does not populate envp[] with DCL symbols and logical names which
-     historically are mapped to enviroment varables and returned by getenv() */
+  /* VMS doesn't populate envp[] with DCL symbols and logical names, which
+     historically are mapped to environment variables and returned by
+     getenv().  */
   {
     char *vname = alloca (length + 1);
     char *value;
diff --git a/src/vms_exit.c b/src/vms_exit.c
index b54bba1..9b5c129 100644
--- a/src/vms_exit.c
+++ b/src/vms_exit.c
@@ -1,6 +1,6 @@
 /* vms_exit.c
  *
- * Wrapper for the VMS exit() command to tranlate UNIX codes to be
+ * Wrapper for the VMS exit() command to translate UNIX codes to be
  * encoded for POSIX, but also have VMS severity levels.
  * The posix_exit() variant only sets a severity level for status code 1.
  *
diff --git a/src/vms_export_symbol.c b/src/vms_export_symbol.c
index 9b4ed78..418c45c 100644
--- a/src/vms_export_symbol.c
+++ b/src/vms_export_symbol.c
@@ -77,7 +77,7 @@
   struct dsc$descriptor_s value_desc;
   char name[MAX_DCL_SYMBOL_LEN + 1];    /* + 1 byte for null terminator */
   char value[MAX_DCL_SYMBOL_VALUE +1];  /* + 1 byte for null terminator */
-  char pad[3]; /* Pad structure to longword allignment */
+  char pad[3]; /* Pad structure to longword alignment */
 };
 
 static struct dcl_symbol * vms_dcl_symbol_head = NULL;
@@ -108,7 +108,7 @@
 
   symbol = vms_dcl_symbol_head;
 
-  /* Walk the list of symbols.  This is done durring exit,
+  /* Walk the list of symbols.  This is done during exit,
    * so no need to free memory.
    */
   while (symbol != NULL)
diff --git a/src/vms_progname.c b/src/vms_progname.c
index 95d0521..dcb25aa 100644
--- a/src/vms_progname.c
+++ b/src/vms_progname.c
@@ -417,7 +417,7 @@
                 }
             }
 
-            /* Find the .exe on the name (case insenstive) and toss it */
+            /* Find the .exe on the name (case insensitive) and toss it */
             dotexe = strrchr (vms_new_nam, '.');
             if (dotexe != NULL) {
                 if ((dotexe[1] == 'e' || dotexe[1] == 'E') &&
diff --git a/src/vmsfunctions.c b/src/vmsfunctions.c
index 51310da..9ef6302 100644
--- a/src/vmsfunctions.c
+++ b/src/vmsfunctions.c
@@ -149,7 +149,7 @@
    If something goes wrong in sys$parse (unlikely, this is a VMS/CRTL supplied
    file specification) or if there is an empty name part (not easy to produce,
    but it is possible) just return "make".
-   Somes notes ...
+   Some notes ...
    NAM[L]$M_SYNCHK requests a syntax check, only.
    NAM is for ODS2 names (shorter parts, output usually converted to UPPERCASE).
    NAML is for ODS2/ODS5 names (longer parts, output unchanged).
diff --git a/src/vmsjobs.c b/src/vmsjobs.c
index 979a209..89dddf5 100644
--- a/src/vmsjobs.c
+++ b/src/vmsjobs.c
@@ -331,7 +331,7 @@
 static char *
 posix_parse_dq (struct token_info *token)
 {
-  /* Unix mode:  Any imbedded \" becomes doubled.
+  /* Unix mode:  Any embedded \" becomes doubled.
                  \t is tab, \\, \$ leading character stripped.
                  $ character replaced with \' unless escaped.
   */
@@ -463,7 +463,7 @@
                 }
               break;
             case '\'':
-              /* Symbol substitution ony in double quotes */
+              /* Symbol substitution only in double quotes */
               if ((p[1] == '\'') && (parse_level[nest] == '"'))
                 {
                   nest++;
diff --git a/src/w32/pathstuff.c b/src/w32/pathstuff.c
index 99b6a3f..b825631 100644
--- a/src/w32/pathstuff.c
+++ b/src/w32/pathstuff.c
@@ -177,7 +177,7 @@
         *pathp = '\0';
 
         /*
-         * Loop through PATH and convert one elemnt of the path at at
+         * Loop through PATH and convert one element of the path at at
          * a time. Single file pathnames will fail this and fall
          * to the logic below loop.
          */
diff --git a/tests/scripts/variables/automatic b/tests/scripts/variables/automatic
index 0b2e451..efd039c 100644
--- a/tests/scripts/variables/automatic
+++ b/tests/scripts/variables/automatic
@@ -107,7 +107,7 @@
 
 unlink('foo');
 
-# TEST #4: ensure prereq ordering is correct when the commmand target has none
+# TEST #4: ensure prereq ordering is correct when the command target has none
 # See Savannah bug #21198
 
 run_make_test('
diff --git a/tests/test_driver.pl b/tests/test_driver.pl
index f18e785..ccd43c5 100644
--- a/tests/test_driver.pl
+++ b/tests/test_driver.pl
@@ -266,7 +266,7 @@
     foreach my $dir (@dirs) {
       next if ($dir =~ /^(\..*|CVS|RCS)$/ || ! -d "$scriptpath/$dir");
       push (@rmdirs, $dir);
-      # VMS can have overlayed file systems, so directories may repeat.
+      # VMS can have overlaid file systems, so directories may repeat.
       next if -d "$workpath/$dir";
       mkdir ("$workpath/$dir", 0777)
           or &error ("Couldn't mkdir $workpath/$dir: $!\n");