changeset 30986:360f286b5869 v9.0.0828

patch 9.0.0828: various typos Commit: https://github.com/vim/vim/commit/c57b5bcd22826e0852c2bc9c7d4382e1cac7cb74 Author: dundargoc <gocdundar@gmail.com> Date: Wed Nov 2 13:30:51 2022 +0000 patch 9.0.0828: various typos Problem: Various typos. Solution: Correct typos. (closes https://github.com/vim/vim/issues/11432)
author Bram Moolenaar <Bram@vim.org>
date Wed, 02 Nov 2022 14:45:11 +0100
parents 25894f29103e
children 7a936b4ef3f6
files src/GvimExt/Make_ming.mak src/INSTALLpc.txt src/blob.c src/bufwrite.c src/change.c src/charset.c src/config.h.in src/dict.c src/drawline.c src/errors.h src/eval.c src/getchar.c src/gui_gtk_x11.c src/gui_w32.c src/highlight.c src/message_test.c src/os_macosx.m src/os_win32.c src/proto/usercmd.pro src/proto/vim9execute.pro src/regexp.c src/register.c src/screen.c src/scriptfile.c src/spell.c src/spell.h src/spellfile.c src/structs.h src/tag.c src/term.c src/terminal.c src/testdir/test_channel.vim src/testdir/test_channel_lsp.py src/testdir/test_cmdmods.vim src/testdir/test_expr.vim src/testdir/test_fold.vim src/testdir/test_langmap.vim src/testdir/test_map_functions.vim src/testdir/test_options.vim src/testdir/test_popupwin.vim src/testdir/test_termcodes.vim src/testdir/test_textprop.vim src/testdir/test_vim9_cmd.vim src/testdir/test_vim9_script.vim src/testdir/test_vimscript.vim src/testdir/test_visual.vim src/testdir/test_winbar.vim src/testdir/test_window_cmd.vim src/textprop.c src/typval.c src/usercmd.c src/userfunc.c src/version.c src/vim9cmds.c src/vim9execute.c src/vim9expr.c
diffstat 56 files changed, 86 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/src/GvimExt/Make_ming.mak
+++ b/src/GvimExt/Make_ming.mak
@@ -3,7 +3,7 @@
 # To be used with MingW and Cygwin.
 #
 # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
-# Now it is allocated dymanically by the linker by evaluating all DLLs
+# Now it is allocated dynamically by the linker by evaluating all DLLs
 # already loaded in memory. The binary image contains as well information
 # for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29
 
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -72,7 +72,7 @@ straightforward.  Older versions probabl
 
 Visual Studio installed a batch file called vcvarsall.bat, which you must
 run to set up paths for nmake and MSVC.  We provide a batch file
-"msvc2015.bat" for this.  You may need to edit it if you didn't instal Visual
+"msvc2015.bat" for this.  You may need to edit it if you didn't install Visual
 Studio in the standard location.
 If you use VS2017 or later, you can use "msvc-latest.bat" (or "msvc2017.bat"
 and so on for the specific version).  You must specify the architecture (e.g.
--- a/src/blob.c
+++ b/src/blob.c
@@ -716,7 +716,7 @@ blob_insert_func(typval_T *argvars, typv
 }
 
 /*
- * Implementaion of reduce() for Blob "argvars[0]" using the function "expr"
+ * Implementation of reduce() for Blob "argvars[0]" using the function "expr"
  * starting with the optional initial value "argvars[2]" and return the result
  * in "rettv".
  */
--- a/src/bufwrite.c
+++ b/src/bufwrite.c
@@ -1475,7 +1475,7 @@ buf_write(
 			{
 			    if (buf_write_bytes(&write_info) == FAIL)
 			    {
-				errmsg = (char_u *)_(e_canot_write_to_backup_file_add_bang_to_override);
+				errmsg = (char_u *)_(e_cant_write_to_backup_file_add_bang_to_override);
 				break;
 			    }
 			    ui_breakcheck();
--- a/src/change.c
+++ b/src/change.c
@@ -1378,7 +1378,7 @@ del_bytes(
  * "second_line_indent": indent for after ^^D in Insert mode or if flag
  *			  OPENLINE_COM_LIST
  * "did_do_comment" is set to TRUE when intentionally putting the comment
- * leader in fromt of the new line.
+ * leader in front of the new line.
  *
  * Return OK for success, FAIL for failure
  */
--- a/src/charset.c
+++ b/src/charset.c
@@ -2291,7 +2291,7 @@ vim_str2nr(
 	}
 	else
 	{
-	    // prevent a larg unsigned number to become negative
+	    // prevent a large unsigned number to become negative
 	    if (un > VARNUM_MAX)
 		un = VARNUM_MAX;
 	    *nptr = (varnumber_T)un;
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -135,7 +135,7 @@
 /* Define if struct sigcontext is present */
 #undef HAVE_SIGCONTEXT
 
-/* Define if touuper/tolower only work on lower/upercase characters */
+/* Define if toupper/tolower only work on lower/uppercase characters */
 #undef BROKEN_TOUPPER
 
 /* Define if stat() ignores a trailing slash */
--- a/src/dict.c
+++ b/src/dict.c
@@ -1016,7 +1016,7 @@ eval_dict(char_u **arg, typval_T *rettv,
 	    item = dict_find(d, key, -1);
 	    if (item != NULL)
 	    {
-		semsg(_(e_duplicate_key_in_dicitonary), key);
+		semsg(_(e_duplicate_key_in_dictionary), key);
 		clear_tv(&tvkey);
 		clear_tv(&tv);
 		goto failret;
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -2041,7 +2041,7 @@ win_line(
 				    text_prop_follows = TRUE;
 
 				// When 'wrap' is off then for "below" we need
-				// to start a new line explictly.
+				// to start a new line explicitly.
 				if (start_line)
 				{
 				    draw_screen_line(wp, &wlv);
--- a/src/errors.h
+++ b/src/errors.h
@@ -1056,7 +1056,7 @@ EXTERN char e_tags_file_not_sorted_str[]
 	INIT(= N_("E432: Tags file not sorted: %s"));
 EXTERN char e_no_tags_file[]
 	INIT(= N_("E433: No tags file"));
-EXTERN char e_canot_find_tag_pattern[]
+EXTERN char e_cannot_find_tag_pattern[]
 	INIT(= N_("E434: Can't find tag pattern"));
 EXTERN char e_couldnt_find_tag_just_guessing[]
 	INIT(= N_("E435: Couldn't find tag, just guessing!"));
@@ -1261,7 +1261,7 @@ EXTERN char e_is_read_only_add_bang_to_o
 	INIT(= N_("is read-only (add ! to override)"));
 EXTERN char e_str_is_read_only_add_bang_to_override[]
 	INIT(= N_("E505: \"%s\" is read-only (add ! to override)"));
-EXTERN char e_canot_write_to_backup_file_add_bang_to_override[]
+EXTERN char e_cant_write_to_backup_file_add_bang_to_override[]
 	INIT(= N_("E506: Can't write to backup file (add ! to override)"));
 EXTERN char e_close_error_for_backup_file_add_bang_to_write_anyway[]
 	INIT(= N_("E507: Close error for backup file (add ! to write anyway)"));
@@ -1808,7 +1808,7 @@ EXTERN char e_cannot_slice_dictionary[]
 	INIT(= N_("E719: Cannot slice a Dictionary"));
 EXTERN char e_missing_colon_in_dictionary[]
 	INIT(= N_("E720: Missing colon in Dictionary: %s"));
-EXTERN char e_duplicate_key_in_dicitonary[]
+EXTERN char e_duplicate_key_in_dictionary[]
 	INIT(= N_("E721: Duplicate key in Dictionary: \"%s\""));
 EXTERN char e_missing_comma_in_dictionary[]
 	INIT(= N_("E722: Missing comma in Dictionary: %s"));
@@ -2890,7 +2890,7 @@ EXTERN char e_using_string_as_bool_str[]
 #endif
 EXTERN char e_cmd_mapping_must_end_with_cr_before_second_cmd[]
 	INIT(= N_("E1136: <Cmd> mapping must end with <CR> before second <Cmd>"));
-EXTERN char e_cmd_maping_must_not_include_str_key[]
+EXTERN char e_cmd_mapping_must_not_include_str_key[]
 	INIT(= N_("E1137: <Cmd> mapping must not include %s key"));
 #ifdef FEAT_EVAL
 EXTERN char e_using_bool_as_number[]
@@ -3262,7 +3262,7 @@ EXTERN char e_atom_engine_must_be_at_sta
 #ifdef FEAT_EVAL
 EXTERN char e_bitshift_ops_must_be_number[]
 	INIT(= N_("E1282: Bitshift operands must be numbers"));
-EXTERN char e_bitshift_ops_must_be_postive[]
+EXTERN char e_bitshift_ops_must_be_positive[]
 	INIT(= N_("E1283: Bitshift amount must be a positive number"));
 #endif
 #if defined(FEAT_PROP_POPUP)
--- a/src/eval.c
+++ b/src/eval.c
@@ -3269,7 +3269,7 @@ eval5(char_u **arg, typval_T *rettv, eva
 	    if (var2.v_type != VAR_NUMBER)
 		emsg(_(e_bitshift_ops_must_be_number));
 	    else
-		emsg(_(e_bitshift_ops_must_be_postive));
+		emsg(_(e_bitshift_ops_must_be_positive));
 	    clear_tv(rettv);
 	    clear_tv(&var2);
 	    return FAIL;
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -3942,7 +3942,7 @@ getcmdkeycmd(
 		ga_concat(&line_ga, (char_u *)"<SNR>");
 	    else
 	    {
-		semsg(e_cmd_maping_must_not_include_str_key,
+		semsg(e_cmd_mapping_must_not_include_str_key,
 					       get_special_key_name(c1, cmod));
 		aborted = TRUE;
 	    }
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -5772,7 +5772,7 @@ gui_gtk2_draw_string(int row, int col, c
      * String received to output to screen can print using pre-cached glyphs
      * (fast) or Pango (slow). Ligatures and multibype utf-8 must use Pango.
      * Since we receive mixed content string, split it into logical segments
-     * that are guaranteed to go trough glyphs as much as possible. Since
+     * that are guaranteed to go through glyphs as much as possible. Since
      * single ligature char prints as ascii, print it that way.
      */
     len_sum = 0;    // return value needs to add up since we are printing
@@ -5781,7 +5781,7 @@ gui_gtk2_draw_string(int row, int col, c
     cs = s;
     // First char decides starting needs_pango mode, 0=ascii 1=utf8/ligatures.
     // Even if it is ligature char, two chars or more make ligature.
-    // Ascii followed by utf8 is also going trough pango.
+    // Ascii followed by utf8 is also going through pango.
     is_utf8 = (*cs & 0x80);
     is_ligature = gui.ligatures_map[*cs] && (len > 1);
     if (is_ligature)
@@ -5808,7 +5808,7 @@ gui_gtk2_draw_string(int row, int col, c
 	    }
 	    is_utf8 = *(cs + slen) & 0x80;
 	    // ascii followed by utf8 could be combining
-	    // if so send it trough pango
+	    // if so send it through pango
 	    if ((!is_utf8) && ((slen + 1) < (len - byte_sum)))
 		is_utf8 = (*(cs + slen + 1) & 0x80);
 	    should_need_pango = (is_ligature || is_utf8);
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -1973,7 +1973,7 @@ process_message(void)
 	if (dead_key != DEAD_KEY_OFF)
 	{
 	    /*
-	     * Expell the dead key pressed with Ctrl in a special way.
+	     * Expel the dead key pressed with Ctrl in a special way.
 	     *
 	     * After dead key was pressed with Ctrl in some cases, ESC was
 	     * artificially injected and handled by _OnChar(), now we are
@@ -2160,7 +2160,7 @@ process_message(void)
 		   )
 		{
 		    // post WM_CHAR='[' - which will be interpreted with CTRL
-		    // stil hold as ESC
+		    // still hold as ESC
 		    PostMessageW(msg.hwnd, WM_CHAR, '[', msg.lParam);
 		    // ask _OnChar() to not touch this state, wait for next key
 		    // press and maintain knowledge that we are "poisoned" with
--- a/src/highlight.c
+++ b/src/highlight.c
@@ -634,7 +634,7 @@ lookup_color(int idx, int foreground, in
 /*
  * Link highlight group 'from_hg' to 'to_hg'.
  * 'dodefault' is set to TRUE for ":highlight default link".
- * 'forceit' is set to TRUE for ":higlight! link"
+ * 'forceit' is set to TRUE for ":highlight! link"
  * 'init' is set to TRUE when initializing all the highlight groups.
  */
     static void
--- a/src/message_test.c
+++ b/src/message_test.c
@@ -154,7 +154,7 @@ test_trunc_string_mbyte(void)
 /*
  * Test vim_snprintf() with a focus on checking that truncation is
  * correct when buffer is small, since it cannot be tested from
- * vim scrip tests. Check that:
+ * vim script tests. Check that:
  * - no buffer overflows happens (with valgrind or asan)
  * - output string is always NUL terminated.
  *
--- a/src/os_macosx.m
+++ b/src/os_macosx.m
@@ -334,7 +334,7 @@ timer_create(clockid_t clockid, struct s
  *
  * The limitations and differences include:
  *
- * - The flags argument is ignored. The supplied new_value is therfore
+ * - The flags argument is ignored. The supplied new_value is therefore
  *   always treated as a relative time.
  * - The old_value argument is ignored.
  */
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1307,7 +1307,7 @@ decode_mouse_wheel(MOUSE_EVENT_RECORD *p
     else
 	direction = zDelta >= 0 ? KE_MOUSEDOWN : KE_MOUSEUP;
 
-    // Decode the win32 console key modifers into Vim mouse modifers.
+    // Decode the win32 console key modifiers into Vim mouse modifiers.
     if (pmer->dwControlKeyState & SHIFT_PRESSED)
 	modifiers |= MOD_MASK_SHIFT; // MOUSE_SHIFT;
     if (pmer->dwControlKeyState & (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED))
--- a/src/proto/usercmd.pro
+++ b/src/proto/usercmd.pro
@@ -18,7 +18,7 @@ void ex_command(exarg_T *eap);
 void ex_comclear(exarg_T *eap);
 void uc_clear(garray_T *gap);
 void ex_delcommand(exarg_T *eap);
-size_t add_win_cmd_modifers(char_u *buf, cmdmod_T *cmod, int *multi_mods);
+size_t add_win_cmd_modifiers(char_u *buf, cmdmod_T *cmod, int *multi_mods);
 size_t produce_cmdmods(char_u *buf, cmdmod_T *cmod, int quote);
 void do_ucmd(exarg_T *eap);
 /* vim: set ft=c : */
--- a/src/proto/vim9execute.pro
+++ b/src/proto/vim9execute.pro
@@ -4,7 +4,7 @@ void update_has_breakpoint(ufunc_T *ufun
 int funcstack_check_refcount(funcstack_T *funcstack);
 int set_ref_in_funcstacks(int copyID);
 int in_def_function(void);
-ectx_T *clear_currrent_ectx(void);
+ectx_T *clear_current_ectx(void);
 void restore_current_ectx(ectx_T *ectx);
 int add_defer_function(char_u *name, int argcount, typval_T *argvars);
 char_u *char_from_string(char_u *str, varnumber_T index);
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -1890,7 +1890,7 @@ clear_submatch_list(staticList10_T *sl)
  * vim_regexec_multi() match.
  *
  * If "flags" has REGSUB_COPY really copy into "dest[destlen]".
- * Oterwise nothing is copied, only compue the length of the result.
+ * Otherwise nothing is copied, only compute the length of the result.
  *
  * If "flags" has REGSUB_MAGIC then behave like 'magic' is set.
  *
--- a/src/register.c
+++ b/src/register.c
@@ -1857,7 +1857,7 @@ do_put(
 
 	    shortline = (vcol < col) || (vcol == col && !*ptr) ;
 
-	    if (vcol < col) // line too short, padd with spaces
+	    if (vcol < col) // line too short, pad with spaces
 		bd.startspaces = col - vcol;
 	    else if (vcol > col)
 	    {
--- a/src/screen.c
+++ b/src/screen.c
@@ -2287,7 +2287,7 @@ screen_char_2(unsigned off, int row, int
     if (off + 1 >= (unsigned)(screen_Rows * screen_Columns))
 	return;
 
-    // Outputting the last character on the screen may scrollup the screen.
+    // Outputting the last character on the screen may scroll the screen up.
     // Don't to it!  Mark the character invalid (update it when scrolled up)
     if (row == screen_Rows - 1 && col >= screen_Columns - 2)
     {
@@ -2734,7 +2734,7 @@ retry:
     if (enc_dbcs == DBCS_JPNU)
 	new_ScreenLines2 = LALLOC_MULT(schar_T, (Rows + 1) * Columns);
     new_ScreenAttrs = LALLOC_MULT(sattr_T, (Rows + 1) * Columns);
-    // Clear ScreenCols to avoid a warning for unitialized memory in
+    // Clear ScreenCols to avoid a warning for uninitialized memory in
     // jump_to_mouse().
     new_ScreenCols = LALLOC_CLEAR_MULT(colnr_T, (Rows + 1) * Columns);
     new_LineOffset = LALLOC_MULT(unsigned, Rows);
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1201,7 +1201,7 @@ ex_options(
     int	    multi_mods = 0;
 
     buf[0] = NUL;
-    (void)add_win_cmd_modifers(buf, &cmdmod, &multi_mods);
+    (void)add_win_cmd_modifiers(buf, &cmdmod, &multi_mods);
 
     vim_setenv((char_u *)"OPTWIN_CMD", buf);
     cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);
--- a/src/spell.c
+++ b/src/spell.c
@@ -111,7 +111,7 @@ typedef struct matchinf_S
     win_T	*mi_win;		// buffer being checked
 
     // for NOBREAK
-    int		mi_result2;		// "mi_resul" without following word
+    int		mi_result2;		// "mi_result" without following word
     char_u	*mi_end2;		// "mi_end" without following word
 } matchinf_T;
 
--- a/src/spell.h
+++ b/src/spell.h
@@ -17,10 +17,10 @@
 # define SPELL_PRINTTREE
 #endif
 
-// Use SPELL_COMPRESS_ALLWAYS for debugging: compress the word tree after
+// Use SPELL_COMPRESS_ALWAYS for debugging: compress the word tree after
 // adding a word.  Only use it for small word lists!
 #if 0
-# define SPELL_COMPRESS_ALLWAYS
+# define SPELL_COMPRESS_ALWAYS
 #endif
 
 // Use DEBUG_TRIEWALK to print the changes made in suggest_trie_walk() for a
--- a/src/spellfile.c
+++ b/src/spellfile.c
@@ -4588,7 +4588,7 @@ tree_add_word(
      *    (si_compress_cnt == 1) and the number of free nodes drops below the
      *    maximum word length.
      */
-#ifndef SPELL_COMPRESS_ALLWAYS
+#ifndef SPELL_COMPRESS_ALWAYS
     if (spin->si_compress_cnt == 1
 	    ? spin->si_free_count < MAXWLEN
 	    : spin->si_blocks_cnt >= compress_start)
--- a/src/structs.h
+++ b/src/structs.h
@@ -823,7 +823,7 @@ typedef struct textprop_S
 					// text is truncated
 #define TP_FLAG_START_INCL	0x100	// "start_incl" copied from proptype
 
-#define PROP_TEXT_MIN_CELLS	4	// minimun number of cells to use for
+#define PROP_TEXT_MIN_CELLS	4	// minimum number of cells to use for
 					// the text, even when truncating
 
 /*
@@ -1884,7 +1884,7 @@ typedef struct {
 #define IMP_FLAGS_AUTOLOAD	4   // script still needs to be loaded
 
 /*
- * Info about an encoutered script.
+ * Info about an encountered script.
  * When sn_state has the SN_STATE_NOT_LOADED is has not been sourced yet.
  */
 typedef struct
@@ -2095,7 +2095,7 @@ struct funcstack_S
 };
 
 /*
- * Structure to hold the variables declared in a loop that are possiblly used
+ * Structure to hold the variables declared in a loop that are possibly used
  * in a closure.
  */
 typedef struct loopvars_S loopvars_T;
--- a/src/tag.c
+++ b/src/tag.c
@@ -3954,7 +3954,7 @@ jumpto_tag(
 		}
 		if (found == 0)
 		{
-		    emsg(_(e_canot_find_tag_pattern));
+		    emsg(_(e_cannot_find_tag_pattern));
 		    curwin->w_cursor.lnum = save_lnum;
 		}
 		else
--- a/src/term.c
+++ b/src/term.c
@@ -155,7 +155,7 @@ static termrequest_T *all_termrequests[]
 // received.  To avoid redrawing too often, only redraw when t_8u is not reset
 // and it was supposed to be written.  Unless t_8u was set explicitly.
 // FALSE -> don't output t_8u yet
-// MAYBE -> tried outputing t_8u while FALSE
+// MAYBE -> tried outputting t_8u while FALSE
 // OK    -> can write t_8u
 int write_t_8u_state = FALSE;
 # endif
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -2396,7 +2396,7 @@ terminal_is_active()
 }
 
 /*
- * Return the highight group ID for the terminal and the window.
+ * Return the highlight group ID for the terminal and the window.
  */
     static int
 term_get_highlight_id(term_T *term, win_T *wp)
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -2563,11 +2563,11 @@ func LspTests(port)
 
   " Test for using a one time callback function to process a response
   let g:lspOtMsgs = []
-  let r = ch_sendexpr(ch, #{method: 'msg-specifc-cb', params: {}},
+  let r = ch_sendexpr(ch, #{method: 'msg-specific-cb', params: {}},
         \ #{callback: 'LspOtCb'})
   call assert_equal(9, r.id)
   call assert_equal('alive', ch_evalexpr(ch, #{method: 'ping'}).result)
-  call assert_equal([#{id: 9, jsonrpc: '2.0', result: 'msg-specifc-cb'}],
+  call assert_equal([#{id: 9, jsonrpc: '2.0', result: 'msg-specific-cb'}],
         \ g:lspOtMsgs)
 
   " Test for generating a request message from the other end (server)
--- a/src/testdir/test_channel_lsp.py
+++ b/src/testdir/test_channel_lsp.py
@@ -164,7 +164,7 @@ class ThreadedTCPRequestHandler(socketse
         self.send_lsp_msg(payload['id'], 'msg-with-id')
 
     def do_msg_specific_cb(self, payload):
-        self.send_lsp_msg(payload['id'], 'msg-specifc-cb')
+        self.send_lsp_msg(payload['id'], 'msg-specific-cb')
 
     def do_server_req(self, payload):
         self.send_lsp_msg(201, {'method': 'checkhealth', 'params': {'a': 20}})
@@ -205,7 +205,7 @@ class ThreadedTCPRequestHandler(socketse
                         'simple-notif': self.do_simple_notif,
                         'multi-notif': self.do_multi_notif,
                         'msg-with-id': self.do_msg_with_id,
-                        'msg-specifc-cb': self.do_msg_specific_cb,
+                        'msg-specific-cb': self.do_msg_specific_cb,
                         'server-req': self.do_server_req,
                         'extra-hdr-fields': self.do_extra_hdr_fields,
                         'delayed-payload': self.do_delayad_payload,
--- a/src/testdir/test_cmdmods.vim
+++ b/src/testdir/test_cmdmods.vim
@@ -1,4 +1,4 @@
-" Test for all comand modifiers in 
+" Test for all command modifiers in
 
 def Test_cmdmods_array()
   # Get all the command modifiers from ex_cmds.h.
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -35,7 +35,7 @@ func Test_version()
   call assert_true(has('patch-6.9.999'))
   call assert_true(has('patch-7.1.999'))
   call assert_true(has('patch-7.4.123'))
-  call assert_true(has('patch-7.4.123 ')) " Traling space can be allowed.
+  call assert_true(has('patch-7.4.123 ')) " Trailing space can be allowed.
 
   call assert_false(has('patch-7'))
   call assert_false(has('patch-7.4'))
--- a/src/testdir/test_fold.vim
+++ b/src/testdir/test_fold.vim
@@ -1342,7 +1342,7 @@ endfunc
 
 " Test for merging two recursive folds when an intermediate line with no fold
 " is removed
-func Test_fold_merge_recrusive()
+func Test_fold_merge_recursive()
   new
   call setline(1, ['  one', '    two', 'xxxx', '    three',
         \ '      four', "\tfive"])
--- a/src/testdir/test_langmap.vim
+++ b/src/testdir/test_langmap.vim
@@ -52,7 +52,7 @@ func Test_langmap()
   set langmap=RL
   let g:counter = 0
   nnoremap L;L <Cmd>let g:counter += 1<CR>
-  nnoremap <C-L> <Cmd>throw 'This mapping shoud not be triggered'<CR>
+  nnoremap <C-L> <Cmd>throw 'This mapping should not be triggered'<CR>
 
   " 'langmap' is applied to keys without modifiers when matching a mapping
   call feedkeys('R;R', 'tx')
--- a/src/testdir/test_map_functions.vim
+++ b/src/testdir/test_map_functions.vim
@@ -559,7 +559,7 @@ def Test_maplist()
   assert_equal(len(maps_maplist), len(map_set))
 
   # For everything returned by maplist, should be the same as from maparg.
-  # Except for "map dup", bacause maparg returns the <buffer> version
+  # Except for "map dup", because maparg returns the <buffer> version
   for d in maps_maplist
     if d.lhs == 'dup' && d.buffer == 0
       continue
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -274,7 +274,7 @@ func Test_set_completion()
   call feedkeys(":setglobal di\<C-A>\<C-B>\"\<CR>", 'tx')
   call assert_equal('"setglobal dictionary diff diffexpr diffopt digraph directory display', @:)
 
-  " Expand boolan options. When doing :set no<Tab>
+  " Expand boolean options. When doing :set no<Tab>
   " vim displays the options names without "no" but completion uses "no...".
   call feedkeys(":set nodi\<C-A>\<C-B>\"\<CR>", 'tx')
   call assert_equal('"set nodiff digraph', @:)
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -4124,8 +4124,8 @@ func Test_popup_prop_not_visible()
           fixed: false,
           })
   END
-  call writefile(lines, 'XtestPropNotVisble', 'D')
-  let buf = RunVimInTerminal('-S XtestPropNotVisble', #{rows: 10})
+  call writefile(lines, 'XtestPropNotVisible', 'D')
+  let buf = RunVimInTerminal('-S XtestPropNotVisible', #{rows: 10})
   call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_01', {})
 
   " check that hiding and unhiding the popup works
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -1222,7 +1222,7 @@ func Test_term_mouse_visual_mode()
   call assert_equal(5, col("'<"))
   call assert_equal(12, col("'>"))
 
-  " Multi-line selection. Right click inside thse selection.
+  " Multi-line selection. Right click inside the selection.
   call setline(1, repeat(['aaaaaa'], 7))
   call test_setmouse(3, 1)
   exe "normal ggVG\<RightMouse>y"
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -1896,7 +1896,7 @@ def Test_delete_line_within_multiline_pr
   try
     :2 del
   catch
-    assert_report('Line delete should have workd, but it raised an error.')
+    assert_report('Line delete should have worked, but it raised an error.')
   endtry
 
   # The property for line 2 (was 3) should no longer extend into the previous
@@ -1910,7 +1910,7 @@ def Test_delete_line_within_multiline_pr
   try
     :3 del
   catch
-    assert_report('Line delete should have workd, but it raised an error.')
+    assert_report('Line delete should have worked, but it raised an error.')
   endtry
 
   # The property for line 2 (originally 3) should no longer extend into the next
@@ -2405,7 +2405,7 @@ func Do_test_props_do_not_affect_byte_of
   exec 'setlocal fileformat=' . a:ff
 
   " Fill the buffer with varying length lines. We need a suitably large number
-  " to force Vim code through paths wehere previous error have occurred. This
+  " to force Vim code through paths where previous error have occurred. This
   " is more 'art' than 'science'.
   let text = 'a'
   call setline(1, text)
@@ -2448,7 +2448,7 @@ func Test_props_do_not_affect_byte_offse
   setlocal fileformat=unix
 
   " Fill the buffer with varying length lines. We need a suitably large number
-  " to force Vim code through paths wehere previous error have occurred. This
+  " to force Vim code through paths where previous error have occurred. This
   " is more 'art' than 'science'.
   let text = 'aa'
   call setline(1, text)
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -126,7 +126,7 @@ def Test_cmdmod_execute()
   END
   v9.CheckScriptSuccess(lines)
 
-  # "legacy" does not aply to a called function
+  # "legacy" does not apply to a called function
   lines =<< trim END
       vim9script
 
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -4366,7 +4366,7 @@ def Run_Test_debug_running_out_of_lines(
   g:StopVimInTerminal(buf)
 enddef
 
-def Test_ambigous_command_error()
+def Test_ambiguous_command_error()
   var lines =<< trim END
       vim9script
       command CmdA echomsg 'CmdA'
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -6882,7 +6882,7 @@ endfunc
 "	    Undefined behavior was detected by ubsan with line continuation
 "	    after an empty line.
 "-------------------------------------------------------------------------------
-func Test_script_emty_line_continuation()
+func Test_script_empty_line_continuation()
 
     \
 endfunc
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -1289,7 +1289,7 @@ func Test_visual_block_with_virtualedit(
 endfunc
 
 func Test_visual_block_ctrl_w_f()
-  " Emtpy block selected in new buffer should not result in an error.
+  " Empty block selected in new buffer should not result in an error.
   au! BufNew foo sil norm f
   edit foo
 
--- a/src/testdir/test_winbar.vim
+++ b/src/testdir/test_winbar.vim
@@ -132,8 +132,8 @@ func Test_winbar_not_visible()
       wincmd j
       wincmd _
   END
-  call writefile(lines, 'XtestWinbarNotVisble', 'D')
-  let buf = RunVimInTerminal('-S XtestWinbarNotVisble', #{rows: 10})
+  call writefile(lines, 'XtestWinbarNotVisible', 'D')
+  let buf = RunVimInTerminal('-S XtestWinbarNotVisible', #{rows: 10})
   call VerifyScreenDump(buf, 'Test_winbar_not_visible', {})
 
   " clean up
@@ -151,8 +151,8 @@ func Test_winbar_not_visible_custom_stat
       wincmd j
       wincmd _
   END
-  call writefile(lines, 'XtestWinbarNotVisble', 'D')
-  let buf = RunVimInTerminal('-S XtestWinbarNotVisble', #{rows: 10})
+  call writefile(lines, 'XtestWinbarNotVisible', 'D')
+  let buf = RunVimInTerminal('-S XtestWinbarNotVisible', #{rows: 10})
   call VerifyScreenDump(buf, 'Test_winbar_not_visible_custom_statusline', {})
 
   " clean up
--- a/src/testdir/test_window_cmd.vim
+++ b/src/testdir/test_window_cmd.vim
@@ -1267,7 +1267,7 @@ endfunc
 
 " Test for jumping to a vertical/horizontal neighbor window based on the
 " current cursor position
-func Test_window_goto_neightbor()
+func Test_window_goto_neighbor()
   %bw!
 
   " Vertical window movement
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -900,7 +900,7 @@ find_type_by_id(hashtab_T *ht, proptype_
     if (ht == NULL || ht->ht_used == 0)
 	return NULL;
 
-    // Make the loopup faster by creating an array with pointers to
+    // Make the lookup faster by creating an array with pointers to
     // hashtable entries, sorted on pt_id.
     if (*array == NULL)
     {
--- a/src/typval.c
+++ b/src/typval.c
@@ -1407,7 +1407,7 @@ typval_compare(
 }
 
 /*
- * Compare "tv1" to "tv2" as lists acording to "type" and "ic".
+ * Compare "tv1" to "tv2" as lists according to "type" and "ic".
  * Put the result, false or true, in "res".
  * Return FAIL and give an error message when the comparison can't be done.
  */
@@ -1489,7 +1489,7 @@ typval_compare_null(typval_T *tv1, typva
 }
 
 /*
- * Compare "tv1" to "tv2" as blobs acording to "type".
+ * Compare "tv1" to "tv2" as blobs according to "type".
  * Put the result, false or true, in "res".
  * Return FAIL and give an error message when the comparison can't be done.
  */
@@ -1529,7 +1529,7 @@ typval_compare_blob(
 }
 
 /*
- * Compare "tv1" to "tv2" as dictionaries acording to "type" and "ic".
+ * Compare "tv1" to "tv2" as dictionaries according to "type" and "ic".
  * Put the result, false or true, in "res".
  * Return FAIL and give an error message when the comparison can't be done.
  */
@@ -1570,7 +1570,7 @@ typval_compare_dict(
 }
 
 /*
- * Compare "tv1" to "tv2" as funcrefs acording to "type" and "ic".
+ * Compare "tv1" to "tv2" as funcrefs according to "type" and "ic".
  * Put the result, false or true, in "res".
  * Return FAIL and give an error message when the comparison can't be done.
  */
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -1420,7 +1420,7 @@ add_cmd_modifier(char_u *buf, char *mod_
  * was added.  Return the number of bytes added.
  */
     size_t
-add_win_cmd_modifers(char_u *buf, cmdmod_T *cmod, int *multi_mods)
+add_win_cmd_modifiers(char_u *buf, cmdmod_T *cmod, int *multi_mods)
 {
     size_t result = 0;
 
@@ -1537,7 +1537,7 @@ produce_cmdmods(char_u *buf, cmdmod_T *c
 	}
     }
     // flags from cmod->cmod_split
-    result += add_win_cmd_modifers(buf, cmod, &multi_mods);
+    result += add_win_cmd_modifiers(buf, cmod, &multi_mods);
 
     if (quote && buf != NULL)
     {
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -2921,7 +2921,7 @@ call_user_func(
     // If called from a compiled :def function the execution context must be
     // hidden, any deferred functions need to be added to the function being
     // executed here.
-    save_current_ectx = clear_currrent_ectx();
+    save_current_ectx = clear_current_ectx();
 
     save_current_sctx = current_sctx;
     current_sctx = fp->uf_script_ctx;
@@ -5064,7 +5064,7 @@ define_function(exarg_T *eap, char_u *na
     if (is_export)
     {
 	fp->uf_flags |= FC_EXPORT;
-	// let ex_export() know the export worked.
+	// let do_one_cmd() know the export worked.
 	is_export = FALSE;
     }
 
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    828,
+/**/
     827,
 /**/
     826,
--- a/src/vim9cmds.c
+++ b/src/vim9cmds.c
@@ -1438,7 +1438,7 @@ compile_break(char_u *arg, cctx_T *cctx)
     if (try_scopes > 0)
 	// Inside one or more try/catch blocks we first need to jump to the
 	// "finally" or "endtry" to cleanup.  Then come to the next JUMP
-	// intruction, which we don't know the index of yet.
+	// instruction, which we don't know the index of yet.
 	generate_TRYCONT(cctx, try_scopes, cctx->ctx_instr.ga_len + 1);
 
     // Jump to the end of the FOR or WHILE loop.  The instruction index will be
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -234,7 +234,7 @@ exe_newdict(int count, ectx_T *ectx)
 	    item = dict_find(dict, key, -1);
 	    if (item != NULL)
 	    {
-		semsg(_(e_duplicate_key_in_dicitonary), key);
+		semsg(_(e_duplicate_key_in_dictionary), key);
 		dict_unref(dict);
 		return MAYBE;
 	    }
@@ -866,7 +866,7 @@ in_def_function(void)
  * a user function.
  */
     ectx_T *
-clear_currrent_ectx(void)
+clear_current_ectx(void)
 {
     ectx_T *r = current_ectx;
 
@@ -4523,7 +4523,7 @@ exec_instructions(ectx_T *ectx)
 			if (arg2 < 0)
 			{
 			    SOURCING_LNUM = iptr->isn_lnum;
-			    emsg(_(e_bitshift_ops_must_be_postive));
+			    emsg(_(e_bitshift_ops_must_be_positive));
 			    goto on_error;
 			}
 		    }
@@ -5929,7 +5929,7 @@ unwind_def_callstack(ectx_T *ectx)
 }
 
 /*
- * Invoke any deffered functions for the top function in "ectx".
+ * Invoke any deferred functions for the top function in "ectx".
  */
     void
 may_invoke_defer_funcs(ectx_T *ectx)
--- a/src/vim9expr.c
+++ b/src/vim9expr.c
@@ -1242,7 +1242,7 @@ compile_dict(char_u **arg, cctx_T *cctx,
 	    item = dict_find(d, key, -1);
 	    if (item != NULL)
 	    {
-		semsg(_(e_duplicate_key_in_dicitonary), key);
+		semsg(_(e_duplicate_key_in_dictionary), key);
 		goto failret;
 	    }
 	    item = dictitem_alloc(key);
@@ -2725,7 +2725,7 @@ compile_expr5(char_u **arg, cctx_T *cctx
 		if (tv2->v_type != VAR_NUMBER)
 		    emsg(_(e_bitshift_ops_must_be_number));
 		else
-		    emsg(_(e_bitshift_ops_must_be_postive));
+		    emsg(_(e_bitshift_ops_must_be_positive));
 		return FAIL;
 	    }