Patch 9.0.0828
Problem:    Various typos.
Solution:   Correct typos. (closes #11432)
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/textprop.c, src/typval.c,
            src/usercmd.c src/userfunc.c, src/vim9cmds.c, src/vim9execute.c,
            src/vim9expr.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


*** ../vim-9.0.0827/src/GvimExt/Make_ming.mak   2022-06-14 12:28:13.000000000 
+0100
--- src/GvimExt/Make_ming.mak   2022-11-02 12:40:40.634379093 +0000
***************
*** 3,9 ****
  # 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
  # already loaded in memory. The binary image contains as well information
  # for automatic pseudo-rebasing, if needed by the system. ALV 2004-02-29
  
--- 3,9 ----
  # To be used with MingW and Cygwin.
  #
  # Originally, the DLL base address was fixed: -Wl,--image-base=0x1C000000
! # 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
  
*** ../vim-9.0.0827/src/INSTALLpc.txt   2022-10-16 19:45:24.558960645 +0100
--- src/INSTALLpc.txt   2022-11-02 12:40:40.634379093 +0000
***************
*** 72,78 ****
  
  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
  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.
--- 72,78 ----
  
  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 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.
*** ../vim-9.0.0827/src/blob.c  2022-10-21 11:25:25.689652476 +0100
--- src/blob.c  2022-11-02 12:40:40.634379093 +0000
***************
*** 716,722 ****
  }
  
  /*
!  * Implementaion of reduce() for Blob "argvars[0]" using the function "expr"
   * starting with the optional initial value "argvars[2]" and return the result
   * in "rettv".
   */
--- 716,722 ----
  }
  
  /*
!  * 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".
   */
*** ../vim-9.0.0827/src/bufwrite.c      2022-11-01 20:33:39.991400397 +0000
--- src/bufwrite.c      2022-11-02 12:45:17.346047264 +0000
***************
*** 1475,1481 ****
                        {
                            if (buf_write_bytes(&write_info) == FAIL)
                            {
!                               errmsg = (char_u 
*)_(e_canot_write_to_backup_file_add_bang_to_override);
                                break;
                            }
                            ui_breakcheck();
--- 1475,1481 ----
                        {
                            if (buf_write_bytes(&write_info) == FAIL)
                            {
!                               errmsg = (char_u 
*)_(e_cant_write_to_backup_file_add_bang_to_override);
                                break;
                            }
                            ui_breakcheck();
*** ../vim-9.0.0827/src/change.c        2022-10-29 19:54:03.849448379 +0100
--- src/change.c        2022-11-02 12:40:40.634379093 +0000
***************
*** 1378,1384 ****
   * "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.
   *
   * Return OK for success, FAIL for failure
   */
--- 1378,1384 ----
   * "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 front of the new line.
   *
   * Return OK for success, FAIL for failure
   */
*** ../vim-9.0.0827/src/charset.c       2022-10-14 20:09:00.895207512 +0100
--- src/charset.c       2022-11-02 12:40:40.634379093 +0000
***************
*** 2291,2297 ****
        }
        else
        {
!           // prevent a larg unsigned number to become negative
            if (un > VARNUM_MAX)
                un = VARNUM_MAX;
            *nptr = (varnumber_T)un;
--- 2291,2297 ----
        }
        else
        {
!           // prevent a large unsigned number to become negative
            if (un > VARNUM_MAX)
                un = VARNUM_MAX;
            *nptr = (varnumber_T)un;
*** ../vim-9.0.0827/src/config.h.in     2022-10-08 19:26:35.698195391 +0100
--- src/config.h.in     2022-11-02 12:40:40.634379093 +0000
***************
*** 135,141 ****
  /* Define if struct sigcontext is present */
  #undef HAVE_SIGCONTEXT
  
! /* Define if touuper/tolower only work on lower/upercase characters */
  #undef BROKEN_TOUPPER
  
  /* Define if stat() ignores a trailing slash */
--- 135,141 ----
  /* Define if struct sigcontext is present */
  #undef HAVE_SIGCONTEXT
  
! /* Define if toupper/tolower only work on lower/uppercase characters */
  #undef BROKEN_TOUPPER
  
  /* Define if stat() ignores a trailing slash */
*** ../vim-9.0.0827/src/dict.c  2022-09-28 16:16:10.256335629 +0100
--- src/dict.c  2022-11-02 12:40:40.634379093 +0000
***************
*** 1016,1022 ****
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dicitonary), key);
                clear_tv(&tvkey);
                clear_tv(&tv);
                goto failret;
--- 1016,1022 ----
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dictionary), key);
                clear_tv(&tvkey);
                clear_tv(&tv);
                goto failret;
*** ../vim-9.0.0827/src/drawline.c      2022-10-17 18:54:41.680610638 +0100
--- src/drawline.c      2022-11-02 12:40:40.634379093 +0000
***************
*** 2041,2047 ****
                                    text_prop_follows = TRUE;
  
                                // When 'wrap' is off then for "below" we need
!                               // to start a new line explictly.
                                if (start_line)
                                {
                                    draw_screen_line(wp, &wlv);
--- 2041,2047 ----
                                    text_prop_follows = TRUE;
  
                                // When 'wrap' is off then for "below" we need
!                               // to start a new line explicitly.
                                if (start_line)
                                {
                                    draw_screen_line(wp, &wlv);
*** ../vim-9.0.0827/src/errors.h        2022-10-31 12:24:04.098680850 +0000
--- src/errors.h        2022-11-02 12:45:24.946038977 +0000
***************
*** 1056,1062 ****
        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[]
        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!"));
--- 1056,1062 ----
        INIT(= N_("E432: Tags file not sorted: %s"));
  EXTERN char e_no_tags_file[]
        INIT(= N_("E433: No tags file"));
! 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,1267 ****
        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[]
        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)"));
--- 1261,1267 ----
        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_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,1814 ****
        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[]
        INIT(= N_("E721: Duplicate key in Dictionary: \"%s\""));
  EXTERN char e_missing_comma_in_dictionary[]
        INIT(= N_("E722: Missing comma in Dictionary: %s"));
--- 1808,1814 ----
        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_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,2896 ****
  #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[]
        INIT(= N_("E1137: <Cmd> mapping must not include %s key"));
  #ifdef FEAT_EVAL
  EXTERN char e_using_bool_as_number[]
--- 2890,2896 ----
  #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_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,3268 ****
  #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[]
        INIT(= N_("E1283: Bitshift amount must be a positive number"));
  #endif
  #if defined(FEAT_PROP_POPUP)
--- 3262,3268 ----
  #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_positive[]
        INIT(= N_("E1283: Bitshift amount must be a positive number"));
  #endif
  #if defined(FEAT_PROP_POPUP)
*** ../vim-9.0.0827/src/eval.c  2022-10-20 14:17:14.620460233 +0100
--- src/eval.c  2022-11-02 12:40:40.638379088 +0000
***************
*** 3269,3275 ****
            if (var2.v_type != VAR_NUMBER)
                emsg(_(e_bitshift_ops_must_be_number));
            else
!               emsg(_(e_bitshift_ops_must_be_postive));
            clear_tv(rettv);
            clear_tv(&var2);
            return FAIL;
--- 3269,3275 ----
            if (var2.v_type != VAR_NUMBER)
                emsg(_(e_bitshift_ops_must_be_number));
            else
!               emsg(_(e_bitshift_ops_must_be_positive));
            clear_tv(rettv);
            clear_tv(&var2);
            return FAIL;
*** ../vim-9.0.0827/src/getchar.c       2022-10-21 13:03:29.179682686 +0100
--- src/getchar.c       2022-11-02 12:40:40.638379088 +0000
***************
*** 3942,3948 ****
                ga_concat(&line_ga, (char_u *)"<SNR>");
            else
            {
!               semsg(e_cmd_maping_must_not_include_str_key,
                                               get_special_key_name(c1, cmod));
                aborted = TRUE;
            }
--- 3942,3948 ----
                ga_concat(&line_ga, (char_u *)"<SNR>");
            else
            {
!               semsg(e_cmd_mapping_must_not_include_str_key,
                                               get_special_key_name(c1, cmod));
                aborted = TRUE;
            }
*** ../vim-9.0.0827/src/gui_gtk_x11.c   2022-10-04 16:23:39.014042183 +0100
--- src/gui_gtk_x11.c   2022-11-02 12:40:40.638379088 +0000
***************
*** 5772,5778 ****
       * 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
       * single ligature char prints as ascii, print it that way.
       */
      len_sum = 0;    // return value needs to add up since we are printing
--- 5772,5778 ----
       * 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 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,5787 ****
      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.
      is_utf8 = (*cs & 0x80);
      is_ligature = gui.ligatures_map[*cs] && (len > 1);
      if (is_ligature)
--- 5781,5787 ----
      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 through pango.
      is_utf8 = (*cs & 0x80);
      is_ligature = gui.ligatures_map[*cs] && (len > 1);
      if (is_ligature)
***************
*** 5808,5814 ****
            }
            is_utf8 = *(cs + slen) & 0x80;
            // ascii followed by utf8 could be combining
!           // if so send it trough pango
            if ((!is_utf8) && ((slen + 1) < (len - byte_sum)))
                is_utf8 = (*(cs + slen + 1) & 0x80);
            should_need_pango = (is_ligature || is_utf8);
--- 5808,5814 ----
            }
            is_utf8 = *(cs + slen) & 0x80;
            // ascii followed by utf8 could be combining
!           // 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);
*** ../vim-9.0.0827/src/gui_w32.c       2022-10-07 16:28:43.522256458 +0100
--- src/gui_w32.c       2022-11-02 12:40:40.638379088 +0000
***************
*** 1973,1979 ****
        if (dead_key != DEAD_KEY_OFF)
        {
            /*
!            * Expell 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
--- 1973,1979 ----
        if (dead_key != DEAD_KEY_OFF)
        {
            /*
!            * 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,2166 ****
                   )
                {
                    // post WM_CHAR='[' - which will be interpreted with CTRL
!                   // stil 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
--- 2160,2166 ----
                   )
                {
                    // post WM_CHAR='[' - which will be interpreted with CTRL
!                   // 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
*** ../vim-9.0.0827/src/highlight.c     2022-09-03 10:52:18.395075356 +0100
--- src/highlight.c     2022-11-02 12:40:40.638379088 +0000
***************
*** 634,640 ****
  /*
   * 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"
   * 'init' is set to TRUE when initializing all the highlight groups.
   */
      static void
--- 634,640 ----
  /*
   * Link highlight group 'from_hg' to 'to_hg'.
   * 'dodefault' is set to TRUE for ":highlight default link".
!  * 'forceit' is set to TRUE for ":highlight! link"
   * 'init' is set to TRUE when initializing all the highlight groups.
   */
      static void
*** ../vim-9.0.0827/src/message_test.c  2022-09-17 21:07:52.099993159 +0100
--- src/message_test.c  2022-11-02 12:40:40.638379088 +0000
***************
*** 154,160 ****
  /*
   * 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:
   * - no buffer overflows happens (with valgrind or asan)
   * - output string is always NUL terminated.
   *
--- 154,160 ----
  /*
   * Test vim_snprintf() with a focus on checking that truncation is
   * correct when buffer is small, since it cannot be tested from
!  * vim script tests. Check that:
   * - no buffer overflows happens (with valgrind or asan)
   * - output string is always NUL terminated.
   *
*** ../vim-9.0.0827/src/os_macosx.m     2022-10-08 13:49:41.889378451 +0100
--- src/os_macosx.m     2022-11-02 12:40:40.638379088 +0000
***************
*** 334,340 ****
   *
   * The limitations and differences include:
   *
!  * - The flags argument is ignored. The supplied new_value is therfore
   *   always treated as a relative time.
   * - The old_value argument is ignored.
   */
--- 334,340 ----
   *
   * The limitations and differences include:
   *
!  * - The flags argument is ignored. The supplied new_value is therefore
   *   always treated as a relative time.
   * - The old_value argument is ignored.
   */
*** ../vim-9.0.0827/src/os_win32.c      2022-10-20 13:11:12.234206115 +0100
--- src/os_win32.c      2022-11-02 12:40:40.638379088 +0000
***************
*** 1307,1313 ****
      else
        direction = zDelta >= 0 ? KE_MOUSEDOWN : KE_MOUSEUP;
  
!     // Decode the win32 console key modifers into Vim mouse modifers.
      if (pmer->dwControlKeyState & SHIFT_PRESSED)
        modifiers |= MOD_MASK_SHIFT; // MOUSE_SHIFT;
      if (pmer->dwControlKeyState & (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED))
--- 1307,1313 ----
      else
        direction = zDelta >= 0 ? KE_MOUSEDOWN : KE_MOUSEUP;
  
!     // 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))
*** ../vim-9.0.0827/src/proto/usercmd.pro       2022-06-27 23:15:28.000000000 
+0100
--- src/proto/usercmd.pro       2022-11-02 12:40:40.638379088 +0000
***************
*** 18,24 ****
  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 produce_cmdmods(char_u *buf, cmdmod_T *cmod, int quote);
  void do_ucmd(exarg_T *eap);
  /* vim: set ft=c : */
--- 18,24 ----
  void ex_comclear(exarg_T *eap);
  void uc_clear(garray_T *gap);
  void ex_delcommand(exarg_T *eap);
! 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 : */
*** ../vim-9.0.0827/src/proto/vim9execute.pro   2022-09-19 15:54:29.539117880 
+0100
--- src/proto/vim9execute.pro   2022-11-02 12:40:40.638379088 +0000
***************
*** 4,10 ****
  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);
  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);
--- 4,10 ----
  int funcstack_check_refcount(funcstack_T *funcstack);
  int set_ref_in_funcstacks(int copyID);
  int in_def_function(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);
*** ../vim-9.0.0827/src/regexp.c        2022-10-01 19:43:48.610494062 +0100
--- src/regexp.c        2022-11-02 12:40:40.638379088 +0000
***************
*** 1890,1896 ****
   * 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.
   *
   * If "flags" has REGSUB_MAGIC then behave like 'magic' is set.
   *
--- 1890,1896 ----
   * vim_regexec_multi() match.
   *
   * If "flags" has REGSUB_COPY really copy into "dest[destlen]".
!  * Otherwise nothing is copied, only compute the length of the result.
   *
   * If "flags" has REGSUB_MAGIC then behave like 'magic' is set.
   *
*** ../vim-9.0.0827/src/register.c      2022-10-15 19:03:57.548589509 +0100
--- src/register.c      2022-11-02 12:40:40.638379088 +0000
***************
*** 1857,1863 ****
  
            shortline = (vcol < col) || (vcol == col && !*ptr) ;
  
!           if (vcol < col) // line too short, padd with spaces
                bd.startspaces = col - vcol;
            else if (vcol > col)
            {
--- 1857,1863 ----
  
            shortline = (vcol < col) || (vcol == col && !*ptr) ;
  
!           if (vcol < col) // line too short, pad with spaces
                bd.startspaces = col - vcol;
            else if (vcol > col)
            {
*** ../vim-9.0.0827/src/screen.c        2022-10-13 22:12:07.168673806 +0100
--- src/screen.c        2022-11-02 12:40:40.642379083 +0000
***************
*** 2287,2293 ****
      if (off + 1 >= (unsigned)(screen_Rows * screen_Columns))
        return;
  
!     // Outputting the last character on the screen may scrollup the screen.
      // Don't to it!  Mark the character invalid (update it when scrolled up)
      if (row == screen_Rows - 1 && col >= screen_Columns - 2)
      {
--- 2287,2293 ----
      if (off + 1 >= (unsigned)(screen_Rows * screen_Columns))
        return;
  
!     // 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,2740 ****
      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
      // jump_to_mouse().
      new_ScreenCols = LALLOC_CLEAR_MULT(colnr_T, (Rows + 1) * Columns);
      new_LineOffset = LALLOC_MULT(unsigned, Rows);
--- 2734,2740 ----
      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 uninitialized memory in
      // jump_to_mouse().
      new_ScreenCols = LALLOC_CLEAR_MULT(colnr_T, (Rows + 1) * Columns);
      new_LineOffset = LALLOC_MULT(unsigned, Rows);
*** ../vim-9.0.0827/src/scriptfile.c    2022-10-01 19:43:48.610494062 +0100
--- src/scriptfile.c    2022-11-02 12:40:40.642379083 +0000
***************
*** 1201,1207 ****
      int           multi_mods = 0;
  
      buf[0] = NUL;
!     (void)add_win_cmd_modifers(buf, &cmdmod, &multi_mods);
  
      vim_setenv((char_u *)"OPTWIN_CMD", buf);
      cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);
--- 1201,1207 ----
      int           multi_mods = 0;
  
      buf[0] = NUL;
!     (void)add_win_cmd_modifiers(buf, &cmdmod, &multi_mods);
  
      vim_setenv((char_u *)"OPTWIN_CMD", buf);
      cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);
*** ../vim-9.0.0827/src/spell.c 2022-10-13 22:12:07.168673806 +0100
--- src/spell.c 2022-11-02 12:40:40.642379083 +0000
***************
*** 111,117 ****
      win_T     *mi_win;                // buffer being checked
  
      // for NOBREAK
!     int               mi_result2;             // "mi_resul" without following 
word
      char_u    *mi_end2;               // "mi_end" without following word
  } matchinf_T;
  
--- 111,117 ----
      win_T     *mi_win;                // buffer being checked
  
      // for NOBREAK
!     int               mi_result2;             // "mi_result" without 
following word
      char_u    *mi_end2;               // "mi_end" without following word
  } matchinf_T;
  
*** ../vim-9.0.0827/src/spell.h 2022-03-27 19:58:48.000000000 +0100
--- src/spell.h 2022-11-02 12:40:40.642379083 +0000
***************
*** 17,26 ****
  # define SPELL_PRINTTREE
  #endif
  
! // Use SPELL_COMPRESS_ALLWAYS for debugging: compress the word tree after
  // adding a word.  Only use it for small word lists!
  #if 0
! # define SPELL_COMPRESS_ALLWAYS
  #endif
  
  // Use DEBUG_TRIEWALK to print the changes made in suggest_trie_walk() for a
--- 17,26 ----
  # define SPELL_PRINTTREE
  #endif
  
! // 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_ALWAYS
  #endif
  
  // Use DEBUG_TRIEWALK to print the changes made in suggest_trie_walk() for a
*** ../vim-9.0.0827/src/spellfile.c     2022-09-05 11:04:10.687888165 +0100
--- src/spellfile.c     2022-11-02 12:40:40.642379083 +0000
***************
*** 4588,4594 ****
       *    (si_compress_cnt == 1) and the number of free nodes drops below the
       *    maximum word length.
       */
! #ifndef SPELL_COMPRESS_ALLWAYS
      if (spin->si_compress_cnt == 1
            ? spin->si_free_count < MAXWLEN
            : spin->si_blocks_cnt >= compress_start)
--- 4588,4594 ----
       *    (si_compress_cnt == 1) and the number of free nodes drops below the
       *    maximum word length.
       */
! #ifndef SPELL_COMPRESS_ALWAYS
      if (spin->si_compress_cnt == 1
            ? spin->si_free_count < MAXWLEN
            : spin->si_blocks_cnt >= compress_start)
*** ../vim-9.0.0827/src/structs.h       2022-10-29 19:54:03.849448379 +0100
--- src/structs.h       2022-11-02 12:40:40.642379083 +0000
***************
*** 823,829 ****
                                        // 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
                                        // the text, even when truncating
  
  /*
--- 823,829 ----
                                        // text is truncated
  #define TP_FLAG_START_INCL    0x100   // "start_incl" copied from proptype
  
! #define PROP_TEXT_MIN_CELLS   4       // minimum number of cells to use for
                                        // the text, even when truncating
  
  /*
***************
*** 1884,1890 ****
  #define IMP_FLAGS_AUTOLOAD    4   // script still needs to be loaded
  
  /*
!  * Info about an encoutered script.
   * When sn_state has the SN_STATE_NOT_LOADED is has not been sourced yet.
   */
  typedef struct
--- 1884,1890 ----
  #define IMP_FLAGS_AUTOLOAD    4   // script still needs to be loaded
  
  /*
!  * Info about an encountered script.
   * When sn_state has the SN_STATE_NOT_LOADED is has not been sourced yet.
   */
  typedef struct
***************
*** 2095,2101 ****
  };
  
  /*
!  * Structure to hold the variables declared in a loop that are possiblly used
   * in a closure.
   */
  typedef struct loopvars_S loopvars_T;
--- 2095,2101 ----
  };
  
  /*
!  * Structure to hold the variables declared in a loop that are possibly used
   * in a closure.
   */
  typedef struct loopvars_S loopvars_T;
*** ../vim-9.0.0827/src/tag.c   2022-09-05 19:51:09.221360577 +0100
--- src/tag.c   2022-11-02 12:40:40.642379083 +0000
***************
*** 3954,3960 ****
                }
                if (found == 0)
                {
!                   emsg(_(e_canot_find_tag_pattern));
                    curwin->w_cursor.lnum = save_lnum;
                }
                else
--- 3954,3960 ----
                }
                if (found == 0)
                {
!                   emsg(_(e_cannot_find_tag_pattern));
                    curwin->w_cursor.lnum = save_lnum;
                }
                else
*** ../vim-9.0.0827/src/term.c  2022-11-01 22:04:31.082780034 +0000
--- src/term.c  2022-11-02 12:40:40.642379083 +0000
***************
*** 155,161 ****
  // 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
  // OK    -> can write t_8u
  int write_t_8u_state = FALSE;
  # endif
--- 155,161 ----
  // 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 outputting t_8u while FALSE
  // OK    -> can write t_8u
  int write_t_8u_state = FALSE;
  # endif
*** ../vim-9.0.0827/src/terminal.c      2022-10-16 19:26:31.680328579 +0100
--- src/terminal.c      2022-11-02 12:40:40.642379083 +0000
***************
*** 2396,2402 ****
  }
  
  /*
!  * Return the highight group ID for the terminal and the window.
   */
      static int
  term_get_highlight_id(term_T *term, win_T *wp)
--- 2396,2402 ----
  }
  
  /*
!  * Return the highlight group ID for the terminal and the window.
   */
      static int
  term_get_highlight_id(term_T *term, win_T *wp)
*** ../vim-9.0.0827/src/textprop.c      2022-10-13 14:34:39.577698160 +0100
--- src/textprop.c      2022-11-02 12:40:40.646379078 +0000
***************
*** 900,906 ****
      if (ht == NULL || ht->ht_used == 0)
        return NULL;
  
!     // Make the loopup faster by creating an array with pointers to
      // hashtable entries, sorted on pt_id.
      if (*array == NULL)
      {
--- 900,906 ----
      if (ht == NULL || ht->ht_used == 0)
        return NULL;
  
!     // Make the lookup faster by creating an array with pointers to
      // hashtable entries, sorted on pt_id.
      if (*array == NULL)
      {
*** ../vim-9.0.0827/src/typval.c        2022-10-10 16:08:12.478393959 +0100
--- src/typval.c        2022-11-02 12:40:40.646379078 +0000
***************
*** 1407,1413 ****
  }
  
  /*
!  * Compare "tv1" to "tv2" as lists acording 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.
   */
--- 1407,1413 ----
  }
  
  /*
!  * 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,1495 ****
  }
  
  /*
!  * Compare "tv1" to "tv2" as blobs acording to "type".
   * Put the result, false or true, in "res".
   * Return FAIL and give an error message when the comparison can't be done.
   */
--- 1489,1495 ----
  }
  
  /*
!  * 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,1535 ****
  }
  
  /*
!  * Compare "tv1" to "tv2" as dictionaries acording 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.
   */
--- 1529,1535 ----
  }
  
  /*
!  * 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,1576 ****
  }
  
  /*
!  * Compare "tv1" to "tv2" as funcrefs acording 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,1576 ----
  }
  
  /*
!  * 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.
   */
*** ../vim-9.0.0827/src/usercmd.c       2022-10-18 13:11:18.466896436 +0100
--- src/usercmd.c       2022-11-02 12:40:40.646379078 +0000
***************
*** 1420,1426 ****
   * was added.  Return the number of bytes added.
   */
      size_t
! add_win_cmd_modifers(char_u *buf, cmdmod_T *cmod, int *multi_mods)
  {
      size_t result = 0;
  
--- 1420,1426 ----
   * was added.  Return the number of bytes added.
   */
      size_t
! add_win_cmd_modifiers(char_u *buf, cmdmod_T *cmod, int *multi_mods)
  {
      size_t result = 0;
  
***************
*** 1537,1543 ****
        }
      }
      // flags from cmod->cmod_split
!     result += add_win_cmd_modifers(buf, cmod, &multi_mods);
  
      if (quote && buf != NULL)
      {
--- 1537,1543 ----
        }
      }
      // flags from cmod->cmod_split
!     result += add_win_cmd_modifiers(buf, cmod, &multi_mods);
  
      if (quote && buf != NULL)
      {
*** ../vim-9.0.0827/src/userfunc.c      2022-10-01 15:32:42.535442251 +0100
--- src/userfunc.c      2022-11-02 12:40:40.646379078 +0000
***************
*** 2921,2927 ****
      // 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_sctx = current_sctx;
      current_sctx = fp->uf_script_ctx;
--- 2921,2927 ----
      // 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_current_ectx();
  
      save_current_sctx = current_sctx;
      current_sctx = fp->uf_script_ctx;
***************
*** 5064,5070 ****
      if (is_export)
      {
        fp->uf_flags |= FC_EXPORT;
!       // let ex_export() know the export worked.
        is_export = FALSE;
      }
  
--- 5064,5070 ----
      if (is_export)
      {
        fp->uf_flags |= FC_EXPORT;
!       // let do_one_cmd() know the export worked.
        is_export = FALSE;
      }
  
*** ../vim-9.0.0827/src/vim9cmds.c      2022-10-13 16:12:51.748207004 +0100
--- src/vim9cmds.c      2022-11-02 12:40:40.646379078 +0000
***************
*** 1438,1444 ****
      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.
        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
--- 1438,1444 ----
      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
!       // 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
*** ../vim-9.0.0827/src/vim9execute.c   2022-10-07 14:31:04.324852691 +0100
--- src/vim9execute.c   2022-11-02 12:40:40.650379073 +0000
***************
*** 234,240 ****
            item = dict_find(dict, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dicitonary), key);
                dict_unref(dict);
                return MAYBE;
            }
--- 234,240 ----
            item = dict_find(dict, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dictionary), key);
                dict_unref(dict);
                return MAYBE;
            }
***************
*** 866,872 ****
   * a user function.
   */
      ectx_T *
! clear_currrent_ectx(void)
  {
      ectx_T *r = current_ectx;
  
--- 866,872 ----
   * a user function.
   */
      ectx_T *
! clear_current_ectx(void)
  {
      ectx_T *r = current_ectx;
  
***************
*** 4523,4529 ****
                        if (arg2 < 0)
                        {
                            SOURCING_LNUM = iptr->isn_lnum;
!                           emsg(_(e_bitshift_ops_must_be_postive));
                            goto on_error;
                        }
                    }
--- 4523,4529 ----
                        if (arg2 < 0)
                        {
                            SOURCING_LNUM = iptr->isn_lnum;
!                           emsg(_(e_bitshift_ops_must_be_positive));
                            goto on_error;
                        }
                    }
***************
*** 5929,5935 ****
  }
  
  /*
!  * Invoke any deffered functions for the top function in "ectx".
   */
      void
  may_invoke_defer_funcs(ectx_T *ectx)
--- 5929,5935 ----
  }
  
  /*
!  * Invoke any deferred functions for the top function in "ectx".
   */
      void
  may_invoke_defer_funcs(ectx_T *ectx)
*** ../vim-9.0.0827/src/vim9expr.c      2022-10-19 18:04:45.787713555 +0100
--- src/vim9expr.c      2022-11-02 12:40:40.650379073 +0000
***************
*** 1242,1248 ****
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dicitonary), key);
                goto failret;
            }
            item = dictitem_alloc(key);
--- 1242,1248 ----
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dictionary), key);
                goto failret;
            }
            item = dictitem_alloc(key);
***************
*** 2725,2731 ****
                if (tv2->v_type != VAR_NUMBER)
                    emsg(_(e_bitshift_ops_must_be_number));
                else
!                   emsg(_(e_bitshift_ops_must_be_postive));
                return FAIL;
            }
  
--- 2725,2731 ----
                if (tv2->v_type != VAR_NUMBER)
                    emsg(_(e_bitshift_ops_must_be_number));
                else
!                   emsg(_(e_bitshift_ops_must_be_positive));
                return FAIL;
            }
  
*** ../vim-9.0.0827/src/testdir/test_channel.vim        2022-09-25 
11:20:59.688270261 +0100
--- src/testdir/test_channel.vim        2022-11-02 12:40:40.642379083 +0000
***************
*** 2563,2573 ****
  
    " 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: {}},
          \ #{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'}],
          \ g:lspOtMsgs)
  
    " Test for generating a request message from the other end (server)
--- 2563,2573 ----
  
    " Test for using a one time callback function to process a response
    let g:lspOtMsgs = []
!   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-specific-cb'}],
          \ g:lspOtMsgs)
  
    " Test for generating a request message from the other end (server)
*** ../vim-9.0.0827/src/testdir/test_channel_lsp.py     2022-04-19 
10:21:27.000000000 +0100
--- src/testdir/test_channel_lsp.py     2022-11-02 12:40:40.642379083 +0000
***************
*** 164,170 ****
          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')
  
      def do_server_req(self, payload):
          self.send_lsp_msg(201, {'method': 'checkhealth', 'params': {'a': 20}})
--- 164,170 ----
          self.send_lsp_msg(payload['id'], 'msg-with-id')
  
      def do_msg_specific_cb(self, payload):
!         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,211 ****
                          '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,
                          'server-req': self.do_server_req,
                          'extra-hdr-fields': self.do_extra_hdr_fields,
                          'delayed-payload': self.do_delayad_payload,
--- 205,211 ----
                          'simple-notif': self.do_simple_notif,
                          'multi-notif': self.do_multi_notif,
                          'msg-with-id': self.do_msg_with_id,
!                         '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,
*** ../vim-9.0.0827/src/testdir/test_cmdmods.vim        2022-09-09 
13:27:40.403539790 +0100
--- src/testdir/test_cmdmods.vim        2022-11-02 12:40:40.642379083 +0000
***************
*** 1,4 ****
! " Test for all comand modifiers in 
  
  def Test_cmdmods_array()
    # Get all the command modifiers from ex_cmds.h.
--- 1,4 ----
! " Test for all command modifiers in
  
  def Test_cmdmods_array()
    # Get all the command modifiers from ex_cmds.h.
*** ../vim-9.0.0827/src/testdir/test_expr.vim   2022-10-20 14:17:14.620460233 
+0100
--- src/testdir/test_expr.vim   2022-11-02 12:40:40.642379083 +0000
***************
*** 35,41 ****
    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_false(has('patch-7'))
    call assert_false(has('patch-7.4'))
--- 35,41 ----
    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 ')) " Trailing space can be allowed.
  
    call assert_false(has('patch-7'))
    call assert_false(has('patch-7.4'))
*** ../vim-9.0.0827/src/testdir/test_fold.vim   2022-10-01 15:32:42.539442245 
+0100
--- src/testdir/test_fold.vim   2022-11-02 12:40:40.642379083 +0000
***************
*** 1342,1348 ****
  
  " Test for merging two recursive folds when an intermediate line with no fold
  " is removed
! func Test_fold_merge_recrusive()
    new
    call setline(1, ['  one', '    two', 'xxxx', '    three',
          \ '      four', "\tfive"])
--- 1342,1348 ----
  
  " Test for merging two recursive folds when an intermediate line with no fold
  " is removed
! func Test_fold_merge_recursive()
    new
    call setline(1, ['  one', '    two', 'xxxx', '    three',
          \ '      four', "\tfive"])
*** ../vim-9.0.0827/src/testdir/test_langmap.vim        2022-10-20 
17:59:34.610510336 +0100
--- src/testdir/test_langmap.vim        2022-11-02 12:40:40.642379083 +0000
***************
*** 52,58 ****
    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>
  
    " 'langmap' is applied to keys without modifiers when matching a mapping
    call feedkeys('R;R', 'tx')
--- 52,58 ----
    set langmap=RL
    let g:counter = 0
    nnoremap L;L <Cmd>let g:counter += 1<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')
*** ../vim-9.0.0827/src/testdir/test_map_functions.vim  2022-08-31 
16:40:14.250932016 +0100
--- src/testdir/test_map_functions.vim  2022-11-02 12:40:40.642379083 +0000
***************
*** 559,565 ****
    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
    for d in maps_maplist
      if d.lhs == 'dup' && d.buffer == 0
        continue
--- 559,565 ----
    assert_equal(len(maps_maplist), len(map_set))
  
    # For everything returned by maplist, should be the same as from maparg.
!   # Except for "map dup", because maparg returns the <buffer> version
    for d in maps_maplist
      if d.lhs == 'dup' && d.buffer == 0
        continue
*** ../vim-9.0.0827/src/testdir/test_options.vim        2022-10-03 
11:22:59.217008645 +0100
--- src/testdir/test_options.vim        2022-11-02 12:40:40.642379083 +0000
***************
*** 274,280 ****
    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>
    " 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', @:)
--- 274,280 ----
    call feedkeys(":setglobal di\<C-A>\<C-B>\"\<CR>", 'tx')
    call assert_equal('"setglobal dictionary diff diffexpr diffopt digraph 
directory display', @:)
  
!   " 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', @:)
*** ../vim-9.0.0827/src/testdir/test_popupwin.vim       2022-10-02 
14:28:08.142530572 +0100
--- src/testdir/test_popupwin.vim       2022-11-02 12:40:40.646379078 +0000
***************
*** 4124,4131 ****
            fixed: false,
            })
    END
!   call writefile(lines, 'XtestPropNotVisble', 'D')
!   let buf = RunVimInTerminal('-S XtestPropNotVisble', #{rows: 10})
    call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_01', {})
  
    " check that hiding and unhiding the popup works
--- 4124,4131 ----
            fixed: false,
            })
    END
!   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
*** ../vim-9.0.0827/src/testdir/test_termcodes.vim      2022-11-01 
18:34:02.783964409 +0000
--- src/testdir/test_termcodes.vim      2022-11-02 12:40:40.646379078 +0000
***************
*** 1222,1228 ****
    call assert_equal(5, col("'<"))
    call assert_equal(12, col("'>"))
  
!   " Multi-line selection. Right click inside thse selection.
    call setline(1, repeat(['aaaaaa'], 7))
    call test_setmouse(3, 1)
    exe "normal ggVG\<RightMouse>y"
--- 1222,1228 ----
    call assert_equal(5, col("'<"))
    call assert_equal(12, col("'>"))
  
!   " Multi-line selection. Right click inside the selection.
    call setline(1, repeat(['aaaaaa'], 7))
    call test_setmouse(3, 1)
    exe "normal ggVG\<RightMouse>y"
*** ../vim-9.0.0827/src/testdir/test_textprop.vim       2022-10-17 
18:54:41.680610638 +0100
--- src/testdir/test_textprop.vim       2022-11-02 12:40:40.646379078 +0000
***************
*** 1896,1902 ****
    try
      :2 del
    catch
!     assert_report('Line delete should have workd, but it raised an error.')
    endtry
  
    # The property for line 2 (was 3) should no longer extend into the previous
--- 1896,1902 ----
    try
      :2 del
    catch
!     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,1916 ****
    try
      :3 del
    catch
!     assert_report('Line delete should have workd, but it raised an error.')
    endtry
  
    # The property for line 2 (originally 3) should no longer extend into the 
next
--- 1910,1916 ----
    try
      :3 del
    catch
!     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,2411 ****
    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
    " is more 'art' than 'science'.
    let text = 'a'
    call setline(1, text)
--- 2405,2411 ----
    exec 'setlocal fileformat=' . a:ff
  
    " Fill the buffer with varying length lines. We need a suitably large number
!   " 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,2454 ****
    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
    " is more 'art' than 'science'.
    let text = 'aa'
    call setline(1, text)
--- 2448,2454 ----
    setlocal fileformat=unix
  
    " Fill the buffer with varying length lines. We need a suitably large number
!   " to force Vim code through paths where previous error have occurred. This
    " is more 'art' than 'science'.
    let text = 'aa'
    call setline(1, text)
*** ../vim-9.0.0827/src/testdir/test_vim9_cmd.vim       2022-10-15 
20:06:30.284328833 +0100
--- src/testdir/test_vim9_cmd.vim       2022-11-02 12:40:40.646379078 +0000
***************
*** 126,132 ****
    END
    v9.CheckScriptSuccess(lines)
  
!   # "legacy" does not aply to a called function
    lines =<< trim END
        vim9script
  
--- 126,132 ----
    END
    v9.CheckScriptSuccess(lines)
  
!   # "legacy" does not apply to a called function
    lines =<< trim END
        vim9script
  
*** ../vim-9.0.0827/src/testdir/test_vim9_script.vim    2022-10-21 
12:05:41.918401161 +0100
--- src/testdir/test_vim9_script.vim    2022-11-02 12:40:40.646379078 +0000
***************
*** 4366,4372 ****
    g:StopVimInTerminal(buf)
  enddef
  
! def Test_ambigous_command_error()
    var lines =<< trim END
        vim9script
        command CmdA echomsg 'CmdA'
--- 4366,4372 ----
    g:StopVimInTerminal(buf)
  enddef
  
! def Test_ambiguous_command_error()
    var lines =<< trim END
        vim9script
        command CmdA echomsg 'CmdA'
*** ../vim-9.0.0827/src/testdir/test_vimscript.vim      2022-10-15 
21:35:51.195403809 +0100
--- src/testdir/test_vimscript.vim      2022-11-02 12:40:40.646379078 +0000
***************
*** 6882,6888 ****
  "         Undefined behavior was detected by ubsan with line continuation
  "         after an empty line.
  
"-------------------------------------------------------------------------------
! func Test_script_emty_line_continuation()
  
      \
  endfunc
--- 6882,6888 ----
  "         Undefined behavior was detected by ubsan with line continuation
  "         after an empty line.
  
"-------------------------------------------------------------------------------
! func Test_script_empty_line_continuation()
  
      \
  endfunc
*** ../vim-9.0.0827/src/testdir/test_visual.vim 2022-10-15 21:35:51.195403809 
+0100
--- src/testdir/test_visual.vim 2022-11-02 12:40:40.646379078 +0000
***************
*** 1289,1295 ****
  endfunc
  
  func Test_visual_block_ctrl_w_f()
!   " Emtpy block selected in new buffer should not result in an error.
    au! BufNew foo sil norm   f
    edit foo
  
--- 1289,1295 ----
  endfunc
  
  func Test_visual_block_ctrl_w_f()
!   " Empty block selected in new buffer should not result in an error.
    au! BufNew foo sil norm   f
    edit foo
  
*** ../vim-9.0.0827/src/testdir/test_winbar.vim 2022-10-15 22:06:02.730483280 
+0100
--- src/testdir/test_winbar.vim 2022-11-02 12:40:40.646379078 +0000
***************
*** 132,139 ****
        wincmd j
        wincmd _
    END
!   call writefile(lines, 'XtestWinbarNotVisble', 'D')
!   let buf = RunVimInTerminal('-S XtestWinbarNotVisble', #{rows: 10})
    call VerifyScreenDump(buf, 'Test_winbar_not_visible', {})
  
    " clean up
--- 132,139 ----
        wincmd j
        wincmd _
    END
!   call writefile(lines, 'XtestWinbarNotVisible', 'D')
!   let buf = RunVimInTerminal('-S XtestWinbarNotVisible', #{rows: 10})
    call VerifyScreenDump(buf, 'Test_winbar_not_visible', {})
  
    " clean up
***************
*** 151,158 ****
        wincmd j
        wincmd _
    END
!   call writefile(lines, 'XtestWinbarNotVisble', 'D')
!   let buf = RunVimInTerminal('-S XtestWinbarNotVisble', #{rows: 10})
    call VerifyScreenDump(buf, 'Test_winbar_not_visible_custom_statusline', {})
  
    " clean up
--- 151,158 ----
        wincmd j
        wincmd _
    END
!   call writefile(lines, 'XtestWinbarNotVisible', 'D')
!   let buf = RunVimInTerminal('-S XtestWinbarNotVisible', #{rows: 10})
    call VerifyScreenDump(buf, 'Test_winbar_not_visible_custom_statusline', {})
  
    " clean up
*** ../vim-9.0.0827/src/testdir/test_window_cmd.vim     2022-11-01 
11:44:12.690558580 +0000
--- src/testdir/test_window_cmd.vim     2022-11-02 12:40:40.646379078 +0000
***************
*** 1267,1273 ****
  
  " Test for jumping to a vertical/horizontal neighbor window based on the
  " current cursor position
! func Test_window_goto_neightbor()
    %bw!
  
    " Vertical window movement
--- 1267,1273 ----
  
  " Test for jumping to a vertical/horizontal neighbor window based on the
  " current cursor position
! func Test_window_goto_neighbor()
    %bw!
  
    " Vertical window movement
*** ../vim-9.0.0827/src/version.c       2022-11-01 22:04:31.082780034 +0000
--- src/version.c       2022-11-02 13:29:27.206062462 +0000
***************
*** 697,698 ****
--- 697,700 ----
  {   /* Add new patch number below this line */
+ /**/
+     828,
  /**/

-- 
The goal of science is to build better mousetraps.
The goal of nature is to build better mice.

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20221102133246.608261C0739%40moolenaar.net.

Raspunde prin e-mail lui