diff --git a/src/diff.c b/src/diff.c
index e694cf2..ec108e9 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -3229,7 +3229,7 @@
 }
 
 /*
- * Find the inline difference within a diff block among differnt buffers.  Do
+ * Find the inline difference within a diff block among different buffers.  Do
  * this by splitting each block's content into characters or words, and then
  * use internal xdiff to calculate the per-character/word diff.  The result is
  * stored in dp instead of returned by the function.
@@ -4548,7 +4548,7 @@
     {
 	// Remember the results if using simple since it's recalculated per
 	// call. Otherwise just call diff_find_change() every time since
-	// internally the result is cached interally.
+	// internally the result is cached internally.
 	cache_results = FALSE;
     }
 
diff --git a/src/normal.c b/src/normal.c
index 6cd9004..ea30607 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -2786,7 +2786,7 @@
 		}
 		break;
 
-		// "zp", "zP" in block mode put without addind trailing spaces
+		// "zp", "zP" in block mode put without adding trailing spaces
     case 'P':
     case 'p':  nv_put(cap);
 	       break;
diff --git a/src/ops.c b/src/ops.c
index 0e3711e..b4b59de 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -248,11 +248,11 @@
     int	sum = 0;
     int	i;
 
-    // Perform the summation for indeces within the actual array.
+    // Perform the summation for indices within the actual array.
     for (i = 1; i <= index && i <= vts_array[0]; i++)
 	sum += vts_array[i];
 
-    // Add topstops whose indeces exceed the actual array.
+    // Add tabstops whose indices exceed the actual array.
     if (i <= index)
 	sum += vts_array[vts_array[0]] * (index - vts_array[0]);
 
diff --git a/src/os_unix.c b/src/os_unix.c
index dc08408..de6e661 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -4434,7 +4434,7 @@
     ws.ws_col = cols;
     ws.ws_row = rows;
 
-    // calcurate and set tty pixel size
+    // calculate and set tty pixel size
     struct cellsize cs;
     mch_calc_cell_size(&cs);
 
diff --git a/src/quickfix.c b/src/quickfix.c
index 2b12fb5..2bc2f2d 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -119,7 +119,7 @@
 };
 
 static qf_info_T ql_info_actual; // global quickfix list
-static qf_info_T *ql_info;	// points to ql_info_actual if memory allocation is sucessful.
+static qf_info_T *ql_info;	// points to ql_info_actual if memory allocation is successful.
 static int_u last_qf_id = 0;	// Last used quickfix list id
 
 #define FMT_PATTERNS 14		// maximum number of % recognized
diff --git a/src/term.c b/src/term.c
index 81b04e0..5c030ed 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1710,7 +1710,7 @@
     // Do those ones first, both may cause a screen redraw.
     "Co",
     // disabled, because it switches termguicolors, but that
-    // is noticable and confuses users
+    // is noticeable and confuses users
     // "RGB",
 # endif
     "ku", "kd", "kr", "kl",
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index 916ad19..9d39b2a 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -3598,7 +3598,7 @@
   call feedkeys("Gofuzzy\<C-X>\<C-N>\<C-N>\<C-N>\<C-Y>\<Esc>0", 'tx!')
   call assert_equal('completefuzzycollect', getline('.'))
 
-  execute('%d _')
+  %d _
   call setline(1, ['fuzzy', 'fuzzy foo', "fuzzy bar", 'fuzzycollect'])
   call feedkeys("Gofuzzy\<C-X>\<C-N>\<C-N>\<C-N>\<C-Y>\<Esc>0", 'tx!')
   call assert_equal('fuzzycollect', getline('.'))
diff --git a/src/version.c b/src/version.c
index a095b67..952c742 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1319,
+/**/
     1318,
 /**/
     1317,
