From 60c61db01eafbb47684c5a9464efb402beb20658 Mon Sep 17 00:00:00 2001
From: Yuri Chornoivan <yurchor@ukr.net>
Date: Fri, 1 Apr 2022 14:40:18 +0300
Subject: [PATCH] Fix minor typos

---
 Bug-administration                   | 2 +-
 doc/dev/concepts.texi                | 2 +-
 src/data/ods-reader.c                | 2 +-
 src/data/pc+-file-reader.c           | 2 +-
 src/data/session.c                   | 2 +-
 src/data/sys-file-reader.c           | 2 +-
 src/language/expressions/generate.py | 2 +-
 src/language/stats/factor.c          | 4 ++--
 src/language/stats/matrix.c          | 2 +-
 src/language/tests/float-format.c    | 2 +-
 src/libpspp/string-map.c             | 2 +-
 src/libpspp/stringi-map.c            | 2 +-
 src/ui/gui/psppire-buttonbox.c       | 2 +-
 tests/language/stats/matrix.at       | 2 +-
 14 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/Bug-administration b/Bug-administration
index 8206e61ff..5affeab82 100644
--- a/Bug-administration
+++ b/Bug-administration
@@ -14,4 +14,4 @@ Severity:
 * Bugs which cause a crash when correct input is given are "Major"
 * Bugs which render the software unusable are "Blocker"
 
-Obviously some cases are unclear and judgement has be be used.
+Obviously some cases are unclear and judgement has to be used.
diff --git a/doc/dev/concepts.texi b/doc/dev/concepts.texi
index d1cf5f201..ed7f44d06 100644
--- a/doc/dev/concepts.texi
+++ b/doc/dev/concepts.texi
@@ -2184,7 +2184,7 @@ current name.
 Renames each of the @var{count} variables in @var{vars} to the name in
 the corresponding position of @var{new_names}.  If the renaming would
 result in a duplicate variable name, returns false and stores one of
-the names that would be be duplicated into @code{*@var{err_name}}, if
+the names that would be duplicated into @code{*@var{err_name}}, if
 @var{err_name} is non-null.  Otherwise, the renaming is successful,
 and true is returned.
 @end deftypefun
diff --git a/src/data/ods-reader.c b/src/data/ods-reader.c
index b2efe2c57..dc861f29a 100644
--- a/src/data/ods-reader.c
+++ b/src/data/ods-reader.c
@@ -129,7 +129,7 @@ struct cache_datum
 {
   struct hmap_node node;
 
-  /* The the number of the sheet.  */
+  /* The number of the sheet.  */
   int sheet;
 
   /* The cell's row.  */
diff --git a/src/data/pc+-file-reader.c b/src/data/pc+-file-reader.c
index 72d9fe1d0..8e9cb94df 100644
--- a/src/data/pc+-file-reader.c
+++ b/src/data/pc+-file-reader.c
@@ -403,7 +403,7 @@ find_and_delete_var (struct dictionary *dict, const char *name)
     dict_delete_var (dict, var);
 }
 
-/* Decodes the dictionary read from R, saving it into into *DICT.  Character
+/* Decodes the dictionary read from R, saving it into *DICT.  Character
    strings in R are decoded using ENCODING, or an encoding obtained from R if
    ENCODING is null, or the locale encoding if R specifies no encoding.
 
diff --git a/src/data/session.c b/src/data/session.c
index ae37c76b9..90922f3b2 100644
--- a/src/data/session.c
+++ b/src/data/session.c
@@ -178,7 +178,7 @@ session_get_dataset_by_seqno (const struct session *s, unsigned int seqno)
   return NULL;
 }
 
-/* Returns an identifier that is is not currently in use as a dataset name.
+/* Returns an identifier that is not currently in use as a dataset name.
    The caller must free the returned identifier, with free(). */
 char *
 session_generate_dataset_name (struct session *s)
diff --git a/src/data/sys-file-reader.c b/src/data/sys-file-reader.c
index 7684acbc5..fb4fa53ac 100644
--- a/src/data/sys-file-reader.c
+++ b/src/data/sys-file-reader.c
@@ -744,7 +744,7 @@ sfm_get_strings (const struct any_reader *r_, struct pool *pool,
   return aux.n;
 }
 
-/* Decodes the dictionary read from R, saving it into into *DICT.  Character
+/* Decodes the dictionary read from R, saving it into *DICT.  Character
    strings in R are decoded using ENCODING, or an encoding obtained from R if
    ENCODING is null, or the locale encoding if R specifies no encoding.
 
diff --git a/src/language/expressions/generate.py b/src/language/expressions/generate.py
index ffe780a3c..d700c46ff 100644
--- a/src/language/expressions/generate.py
+++ b/src/language/expressions/generate.py
@@ -233,7 +233,7 @@ class Op:
         circumstances.
 
         If this operation has a minimum number of valid arguments,
-        'min_valid_src' should be an an expression that evaluates to
+        'min_valid_src' should be an expression that evaluates to
         the minimum number of valid arguments for this operation.
 
         """
diff --git a/src/language/stats/factor.c b/src/language/stats/factor.c
index 8a5efac14..1e369f991 100644
--- a/src/language/stats/factor.c
+++ b/src/language/stats/factor.c
@@ -443,7 +443,7 @@ n_extracted_factors (const struct cmd_factor *factor, struct idata *idata)
 
 
 /* Returns a newly allocated matrix identical to M.
-   It it the callers responsibility to free the returned value.
+   It is the callers responsibility to free the returned value.
 */
 static gsl_matrix *
 matrix_dup (const gsl_matrix *m)
@@ -2014,7 +2014,7 @@ do_factor_by_matrix (const struct cmd_factor *factor, struct idata *idata)
   if (!idata->mm.cov && !(idata->mm.corr && idata->mm.var_matrix))
     {
       msg (ME, _("The dataset has no covariance matrix or a "
-                 "correlation matrix along with standard devications."));
+                 "correlation matrix along with standard deviations."));
       return;
     }
 
diff --git a/src/language/stats/matrix.c b/src/language/stats/matrix.c
index 9bbc37f9a..c1e4adff8 100644
--- a/src/language/stats/matrix.c
+++ b/src/language/stats/matrix.c
@@ -7196,7 +7196,7 @@ matrix_write_parse (struct matrix_state *s)
     {
       char s[FMT_STRING_LEN_MAX + 1];
       fmt_to_string (write->format, s);
-      msg (SE, _("Format %s is too wide for %zu-byte matrix eleemnts."),
+      msg (SE, _("Format %s is too wide for %zu-byte matrix elements."),
            s, sizeof (double));
       goto error;
     }
diff --git a/src/language/tests/float-format.c b/src/language/tests/float-format.c
index e1d91168b..48a49116f 100644
--- a/src/language/tests/float-format.c
+++ b/src/language/tests/float-format.c
@@ -194,7 +194,7 @@ parse_fp (struct lexer *lexer, struct fp *fp)
 /* Renders SRC, which contains SRC_SIZE bytes of a floating-point
    number in the given FORMAT, as relatively human-readable
    null-terminated string in the DST_SIZE bytes in DST.  DST_SIZE
-   must be be large enough to hold the output. */
+   must be large enough to hold the output. */
 static void
 make_printable (enum float_format format, const void *src_, size_t src_size,
                 char *dst, size_t dst_size)
diff --git a/src/libpspp/string-map.c b/src/libpspp/string-map.c
index afa94b135..670154fc5 100644
--- a/src/libpspp/string-map.c
+++ b/src/libpspp/string-map.c
@@ -75,7 +75,7 @@ string_map_node_set_value_nocopy (struct string_map_node *node, char *value)
   node->value = value;
 }
 
-/* Frees NODE and and its key and value.  Ordinarily nodes are owned by
+/* Frees NODE and its key and value.  Ordinarily nodes are owned by
    string_maps, but this function should only be used by a caller that owns
    NODE, such as one that has called string_map_delete_nofree() for the
    node. */
diff --git a/src/libpspp/stringi-map.c b/src/libpspp/stringi-map.c
index ba3e41ef7..b47cbd409 100644
--- a/src/libpspp/stringi-map.c
+++ b/src/libpspp/stringi-map.c
@@ -77,7 +77,7 @@ stringi_map_node_set_value_nocopy (struct stringi_map_node *node, char *value)
   node->value = value;
 }
 
-/* Frees NODE and and its key and value.  Ordinarily nodes are owned by
+/* Frees NODE and its key and value.  Ordinarily nodes are owned by
    stringi_maps, but this function should only be used by a caller that owns
    NODE, such as one that has called stringi_map_delete_nofree() for the
    node. */
diff --git a/src/ui/gui/psppire-buttonbox.c b/src/ui/gui/psppire-buttonbox.c
index 68a147f74..a01518994 100644
--- a/src/ui/gui/psppire-buttonbox.c
+++ b/src/ui/gui/psppire-buttonbox.c
@@ -146,7 +146,7 @@ psppire_button_box_class_init (PsppireButtonBoxClass *class)
   default_flags =
     g_param_spec_flags ("default",
 			"Default",
-			"The mask that decides what what button grabs the default",
+			"The mask that decides what button grabs the default",
 			PSPPIRE_TYPE_BUTTON_MASK,
 			0,
 			G_PARAM_READWRITE);
diff --git a/tests/language/stats/matrix.at b/tests/language/stats/matrix.at
index 557e8c597..67a6153bd 100644
--- a/tests/language/stats/matrix.at
+++ b/tests/language/stats/matrix.at
@@ -3501,7 +3501,7 @@ matrix.sps:18: error: WRITE: FORMAT specifies 5 repetitions with record width
 matrix.sps:19: error: WRITE: Output format E5.0 specifies width 5, but E
 requires a width between 6 and 40.
 
-matrix.sps:20: error: WRITE: Format A9 is too wide for 8-byte matrix eleemnts.
+matrix.sps:20: error: WRITE: Format A9 is too wide for 8-byte matrix elements.
 
 matrix.sps:21.7-21.11: error: MATRIX: WRITE with MODE=TRIANGULAR requires a
 square matrix but the matrix to be written has dimensions 1×2.
-- 
2.30.2

