Description: Correct some typographical and grammatical errors.
 At least two typos in the intl/ directory were left as-is, since
 this seems to be imported libintl source code.
Forwarded: not-yet
Author: Peter Pentchev <roam@ringlet.net>
Last-Update: 2021-12-30

--- a/ChangeLog.2
+++ b/ChangeLog.2
@@ -50,7 +50,7 @@
 
        * misc/mixal-mode.el: -g option no longer needed on compilation.
 
-       * doc/mdk_mixasm.texi: fix of grammer mistake.
+       * doc/mdk_mixasm.texi: fix a grammar mistake.
 
 2005-03-26  Sergey Poznyakoff  <gray@gnu.org>
 
--- a/INSTALL
+++ b/INSTALL
@@ -4,7 +4,7 @@
 Download the source tarball
 ===========================
 
-   GNU MDK is distributed as a source tarball available for download in
+   GNU MDK is distributed as a source tarball available for download at
 the following URLs:
 
    * <ftp://ftp.gnu.org/pub/gnu/mdk> (or one of its mirrors
@@ -48,7 +48,7 @@
    - GNU Libguile 2.0.x (http://www.gnu.org/software/guile) (optional)
 
    If present, readline and history are used to provide command
-completion and history management to the command line MIX virtual
+completion and history management to the command-line MIX virtual
 machine, `mixvm'.  GTK+ and libglade are needed if you want to build
 the graphical interface to the MIX virtual machine, `gmixvm'. Finally,
 if libguile is found, the MDK utilities will be compiled with Guile
@@ -74,7 +74,7 @@
 
    The first command, `configure', will setup the makefiles for your
 system. In particular, `configure' will look for GTK+ and libglade,
-and, if they are present, will generate the appropiate makefiles for
+and, if they are present, will generate the appropriate makefiles for
 building the `gmixvm' graphical user interface. Upon completion, you
 should see a message with the configuration results like the following:
 
@@ -87,7 +87,7 @@
          - gmixvm (mixvm GTK+ GUI, with guile support)
          - mixguile (the mixvm guile shell)
 
-where the last lines may be missing if you lack the above mentioned
+where the last lines may be missing if you lack the above-mentioned
 libraries.
 
    The next command, `make', will actually build the MDK programs in
@@ -102,14 +102,14 @@
    - `mixguile/mixguile'
 
    You can run these programs from within their directories, but I
-recommend you to install them in proper locations using `make install'
+recommend that you install them in the proper locations using `make install'
 from a root shell.
 
 Emacs support
 =============
 
    `mixvm' can be run within an Emacs GUD buffer using the elisp
-program `misc/mixvm.el', kindly contributed by {No value for `PHILIP'}.
+program `misc/mixvm.el', kindly contributed by Philip Ellis King.
 
    `mixvm.el' provides an interface between MDK's `mixvm' and Emacs,
 via GUD.  Place this file in your load-path, optionally adding the
@@ -120,8 +120,8 @@
 Special configure flags
 =======================
 
-   You can fine tunning the configuration process using the following
-switches with configure:
+   You can fine-tune the configuration process using the following
+switches for configure:
 
  - User Option: -enable-gui[=yes|no]
  - User Option: -disable-gui
--- a/NEWS
+++ b/NEWS
@@ -148,7 +148,7 @@
    - cbpo help string corrected (thanks to Michael Vernov).
    - I1 and I2 in mixvm swapped to their correct position (closes #15746).
    - Obsolete CFLAGS for Darwin removed.
-   - mixal-mode.el syncronised with Emacs CVS.
+   - mixal-mode.el synchronised with Emacs CVS.
    - Segmentation fault when clicking Memory title (closes #15910).
    - Writing to char devices caused an out-of-bounds array access
      (thanks to Aleix Conchillo).
--- a/THANKS
+++ b/THANKS
@@ -34,7 +34,7 @@
      reviewed the MDK documentation, providing insightful advice.
 
    * Eric S. Raymond contributed the documentation file doc/MIX.DOC
-     and the samples sample/elevator.mixal, sample/mistery.mixal from
+     and the samples sample/elevator.mixal, sample/mystery.mixal from
      his MIXAL package.
 
    * Ryan Schmidt, Agustin Navarro (<anp@cantv.net>), Ying-Chieh Liao
--- a/misc/mixal-mode.el
+++ b/misc/mixal-mode.el
@@ -253,7 +253,7 @@
          "Store in cell Nr. M the contents of rA.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield."
          2)
 
@@ -261,7 +261,7 @@
          "Store in cell Nr. M the contents of rX.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield."
          2)
 
@@ -269,7 +269,7 @@
          "Store in cell Nr. M the contents of rI1.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield.
 Because index registers only have 2 bytes and a sign, the rest of the bytes
 are assumed to be 0."
@@ -279,7 +279,7 @@
          "Store in cell Nr. M the contents of rI2.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield.
 Because index registers only have 2 bytes and a sign, the rest of the bytes
 are assumed to be 0."
@@ -289,7 +289,7 @@
          "Store in cell Nr. M the contents of rI3.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield.
 Because index registers only have 2 bytes and a sign, the rest of the bytes
 are assumed to be 0."
@@ -299,7 +299,7 @@
          "Store in cell Nr. M the contents of rI4.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield.
 Because index registers only have 2 bytes and a sign, the rest of the bytes
 are assumed to be 0."
@@ -309,7 +309,7 @@
          "Store in cell Nr. M the contents of rI5.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield.
 Because index registers only have 2 bytes and a sign, the rest of the bytes
 are assumed to be 0."
@@ -319,7 +319,7 @@
          "Store in cell Nr. M the contents of rI6.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The
+bytes are taken starting with the rightmost side of the register. The
 sign of the memory cell is not changed, unless it is part of the subfield.
 Because index registers only have 2 bytes and a sign, the rest of the bytes
 are assumed to be 0."
@@ -329,7 +329,7 @@
          "Store in cell Nr. M the contents of rJ.
 The modification of the operation code represents the subfield of the
 memory cell that is to be overwritten with bytes from a register. These
-bytes are taken beginning by the rightmost side of the register. The sign
+bytes are taken starting with the rightmost side of the register. The sign
 of rJ is always +, sign of the memory cell is not changed, unless it is
 part of the subfield. The default field for STJ is (0:2)."
          2)
@@ -343,7 +343,7 @@
     (ADD arithmetic "add" 1 field
          "Add to A the contents of cell Nr. M.
 Subfield is padded with zero to make a word.
-If the result is to large, the operation result modulo 1,073,741,823 (the
+If the result is too large, the operation result modulo 1,073,741,823 (the
 maximum value storable in a MIX word) is stored in `rA', and the overflow
 toggle is set to TRUE."
          2)
@@ -351,7 +351,7 @@
     (SUB arithmetic "subtract" 2 field
          "Subtract to A the contents of cell Nr. M.
 Subfield is padded with zero to make a word.
-If the result is to large, the operation result modulo 1,073,741,823 (the
+If the result is too large, the operation result modulo 1,073,741,823 (the
 maximum value storable in a MIX word) is stored in `rA', and the overflow
 toggle is set to TRUE."
          2)
@@ -363,8 +363,8 @@
 
     (DIV arithmetic "divide" 4 field
          "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX.
-The sign is taken from rA, and after the divide the sign of rA is set to + when
-both the sign of rA and M where the same. Divide by zero and overflow of rA
+The sign is taken from rA, and after the division the sign of rA is set to + when
+both the signs of rA and M where the same. Divide by zero and overflow of rA
 result in undefined behavior."
          12)
 
@@ -555,42 +555,42 @@
     (CMP1 comparison "compare I1" 57 field
           "Compare contents of rI1 with contents of M.
 The field specifier works on both fields. The comparison indicator
-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
+is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1,2 and 3
 have a value of 0."
           2)
 
     (CMP2 comparison "compare I2" 58 field
           "Compare contents of rI2 with contents of M.
 The field specifier works on both fields. The comparison indicator
-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
+is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1,2 and 3
 have a value of 0."
           2)
 
     (CMP3 comparison "compare I3" 59 field
           "Compare contents of rI3 with contents of M.
 The field specifier works on both fields. The comparison indicator
-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
+is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1,2 and 3
 have a value of 0."
           2)
 
     (CMP4 comparison "compare I4" 60 field
           "Compare contents of rI4 with contents of M.
 The field specifier works on both fields. The comparison indicator
-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
+is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1,2 and 3
 have a value of 0."
           2)
 
     (CMP5 comparison "compare I5" 61 field
           "Compare contents of rI5 with contents of M.
 The field specifier works on both fields. The comparison indicator
-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
+is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1,2 and 3
 have a value of 0."
           2)
 
     (CMP6 comparison "compare I6" 62 field
           "Compare contents of rI6 with contents of M.
 The field specifier works on both fields. The comparison indicator
-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
+is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1, 2 and 3
 have a value of 0."
           2)
 
@@ -965,41 +965,41 @@
           1)
 
     (SLA miscellaneous "shift left A" 6
-         "Shift to A, M bytes left.
-Hero's will be added to the right."
+         "Shift A, M bytes to the left.
+Zeros will be added to the right."
          2)
 
     (SRA miscellaneous "shift right A" 6
-         "Shift to A, M bytes right.
+         "Shift A, M bytes to the right.
 Zeros will be added to the left."
          2)
 
     (SLAX miscellaneous "shift left AX" 6
-          "Shift AX, M bytes left.
+          "Shift AX, M bytes to the left.
 Zeros will be added to the right."
           2)
 
     (SRAX miscellaneous "shift right AX" 6
-          "Shift AX, M bytes right.
+          "Shift AX, M bytes to the right.
 Zeros will be added to the left."
           2)
 
     (SLC miscellaneous "shift left AX circularly" 6
-         "Shift AX, M bytes left circularly.
-The bytes that fall off to the left will be added to the right."
+         "Shift AX, M bytes to the left circularly.
+The bytes that fall off on the left will be added to the right."
          2)
 
     (SRC miscellaneous "shift right AX circularly" 6
-         "Shift AX, M bytes right circularly.
-The bytes that fall off to the right will be added to the left."
+         "Shift AX, M bytes to the right circularly.
+The bytes that fall off on the right will be added to the left."
          2)
 
     (SLB miscellaneous "shift left AX binary" 6
-         "Shift AX, M binary places left."
+         "Shift AX, M binary places to the left."
          2)
 
     (SRB miscellaneous "shift right AX binary" 6
-         "Shift AX, M binary places right."
+         "Shift AX, M binary places to the right."
          2)
 
     (MOVE miscellaneous "move" 7 number
@@ -1039,14 +1039,14 @@
           1)
 
     (NUM conversion "convert to numeric" 5
-         "Convert rAX to its numerical value and store it in rA.
-the register rAX is assumed to contain a character representation of
+         "Convert rAX to its numerical value and store it into rA.
+The register rAX is assumed to contain a character representation of
 a number."
          10)
 
     (CHAR conversion "convert to characters" 5
           "Convert the number stored in rA to a character representation.
-The converted character representation is stored in rAX."
+The converted character representation is stored into rAX."
           10))
 
   "Alist that contains all the possible operation codes for mix.
@@ -1097,7 +1097,7 @@
 	   ;; transform it to a valid table so completion can use it
 	   (table (mapcar (lambda (elm) (cons (symbol-name (car elm)) nil))
 			  mixal-operation-codes-alist))
-	   ;; prompt is different depending on we are close to a valid op-code
+	   ;; prompt is different depending on whether we are close to a valid op-code
 	   (have-default (assq (intern-soft (current-word))
                                mixal-operation-codes-alist))
 	   (prompt (concat "Describe operation code "
--- a/mixguile/mixguile.c
+++ b/mixguile/mixguile.c
@@ -101,7 +101,7 @@
   g_assert (dispatcher_);
 }
 
-/* access the mixguile comand dispatcher */
+/* access the mixguile command dispatcher */
 mix_vm_cmd_dispatcher_t *
 mixguile_get_cmd_dispatcher (void)
 {
--- a/mixguile/mixguile.h
+++ b/mixguile/mixguile.h
@@ -58,7 +58,7 @@
 extern void
 mixguile_enter_repl (void *closure, int argc, char *argv[]);
 
-/* access the comand dispatcher */
+/* access the command dispatcher */
 extern mix_vm_cmd_dispatcher_t *
 mixguile_get_cmd_dispatcher (void);
 
--- a/mixlib/mix_eval.c
+++ b/mixlib/mix_eval.c
@@ -183,7 +183,7 @@
 {
   g_return_val_if_fail (eval != NULL, FALSE);
   if (eval->table != NULL)
-    return mix_symbol_table_substract_table (eval->table, table);
+    return mix_symbol_table_subtract_table (eval->table, table);
   else
     return FALSE;
 }
--- a/mixlib/mix_eval.h
+++ b/mixlib/mix_eval.h
@@ -32,7 +32,7 @@
 
 /* possible evaluation outcomes*/
 typedef enum {
-  MIX_EVAL_OK, /* sucess*/
+  MIX_EVAL_OK, /* success*/
   MIX_EVAL_SYNTAX, /* syntax error */
   MIX_EVAL_INV_FSPEC, /* out of range fspec */
   MIX_EVAL_MIS_PAREN, /* mismatched parenthesis */
--- a/mixlib/mix_symbol_table.c
+++ b/mixlib/mix_symbol_table.c
@@ -97,7 +97,7 @@
 }
 
 gboolean
-mix_symbol_table_substract_table (mix_symbol_table_t *table,
+mix_symbol_table_subtract_table (mix_symbol_table_t *table,
 				  const mix_symbol_table_t *other)
 {
   g_return_val_if_fail (table != NULL, FALSE);
--- a/mixlib/mix_symbol_table.h
+++ b/mixlib/mix_symbol_table.h
@@ -53,7 +53,7 @@
 			      const mix_symbol_table_t *from);
 
 extern gboolean
-mix_symbol_table_substract_table (mix_symbol_table_t *table,
+mix_symbol_table_subtract_table (mix_symbol_table_t *table,
 				  const mix_symbol_table_t *other);
 
 /* Add/remove symbols one by one */
--- a/mixlib/mix_types.h
+++ b/mixlib/mix_types.h
@@ -50,7 +50,7 @@
 /* Operations */
 /* Addition */
 #define mix_byte_add(x,y) mix_byte_new((x) + (y))
-/* Substraction */
+/* Subtraction */
 #define mix_byte_sub(x,y) mix_byte_new((x) - (y))
 /* Product */
 #define mix_byte_mul(x,y) mix_byte_new((x) * (y))
--- a/mixlib/mix_vm.c
+++ b/mixlib/mix_vm.c
@@ -536,7 +536,7 @@
     N_("Cannot access device for reading"),
     N_("Cannot access device for writing"),
     N_("Unexpected error"),
-    N_("Unknow error code")
+    N_("Unknown error code")
   };
 
   return errors[code > MIX_VM_ERROR_UNEXPECTED ?
--- a/mixlib/xmix_vm.h
+++ b/mixlib/xmix_vm.h
@@ -53,7 +53,7 @@
   gint max_backtrace_amount;    /* the limit of backtraces */
   mix_address_t start_addr;	/* start address of loaded file */
   GTree *line_table;		/* source line no -> address  */
-  GTree *address_table;		/* adress -> source line no */
+  GTree *address_table;		/* address -> source line no */
   gint8 bp[MEM_CELLS_NO_/8];	/* each bit signals a break point */
   mix_vm_clock_t *clock;		/* the vm clock */
   mix_symbol_table_t *symbol_table;
--- a/po/de.po
+++ b/po/de.po
@@ -304,7 +304,7 @@
 #: mixlib/mix_predicate.c:197
 #, c-format
 msgid "Comparison flag changed to %s"
-msgstr "Comparision Flag geändert zu %s"
+msgstr "Comparison Flag geändert zu %s"
 
 #: mixlib/mix_predicate.c:201
 #, c-format
--- a/mixgtk/mixgtk.glade
+++ b/mixgtk/mixgtk.glade
@@ -763,7 +763,7 @@
                     <property name="height_request">0</property>
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">MIX asssembler path</property>
+                    <property name="label" translatable="yes">MIX assembler path</property>
                     <property name="single_line_mode">True</property>
                     <property name="xalign">0.47999998927116394</property>
                     <property name="yalign">0.52999997138977051</property>
--- a/doc/MIX.DOC
+++ b/doc/MIX.DOC
@@ -44,7 +44,7 @@
 it can be used to hold information shifted to the right out of rA.  The index
 registers rI1, rI2, rI3, rI4, rI5, and rI6 are used primarily for counting and
 for referencing variable memory addresses.  The J-register always hold the
-address of the instruction following the preceding ``JUMP'' intruction, and it
+address of the instruction following the preceding ``JUMP'' instruction, and it
 is primarily used in connection with subroutines.
     Besides thesee registers, MIX contains
     
@@ -124,7 +124,7 @@
     If I is zero, the ``,I'' is omitted.  If F is the -normal- F-specification
 for this particular operator, the ``(F)'' need not be written.  The normal F-
 specification for almost all operators is (0:5), representing a whole word.
-If a different F is standard, it will be mentioned explicity when we discuss
+If a different F is standard, it will be mentioned explicitly when we discuss
 a particular operator.
 
 ...
