Patch 8.0.0628 (after 8.0.0626
Problem:    Cursor disappears after silent mapping. (Ramel Eshed)
Solution:   Do restore the cursor when it was changed, but don't change it in
            the first place for a silent mapping.
Files:      src/getchar.c


*** ../vim-8.0.0627/src/getchar.c       2017-06-05 19:32:28.702723156 +0200
--- src/getchar.c       2017-06-07 20:38:30.133907045 +0200
***************
*** 2583,2589 ****
   * get a character: 3. from the user - handle <Esc> in Insert mode
   */
                /*
!                * special case: if we get an <ESC> in insert mode and there
                 * are no more characters at once, we pretend to go out of
                 * insert mode.  This prevents the one second delay after
                 * typing an <ESC>.  If we get something after all, we may
--- 2583,2589 ----
   * get a character: 3. from the user - handle <Esc> in Insert mode
   */
                /*
!                * Special case: if we get an <ESC> in insert mode and there
                 * are no more characters at once, we pretend to go out of
                 * insert mode.  This prevents the one second delay after
                 * typing an <ESC>.  If we get something after all, we may
***************
*** 2617,2624 ****
                        mode_deleted = TRUE;
                    }
  #ifdef FEAT_GUI
!                   /* may show different cursor shape */
!                   if (gui.in_use)
                    {
                        int         save_State;
  
--- 2617,2624 ----
                        mode_deleted = TRUE;
                    }
  #ifdef FEAT_GUI
!                   /* may show a different cursor shape */
!                   if (gui.in_use && State != NORMAL && !cmd_silent)
                    {
                        int         save_State;
  
***************
*** 2913,2928 ****
      }
  #ifdef FEAT_GUI
      /* may unshow different cursor shape */
!     if (gui.in_use)
!     {
!       if (cmd_silent)
!           gui_dont_update_cursor(TRUE);
!       else
!           gui_can_update_cursor();
! 
!       if (shape_changed)
!           gui_update_cursor(TRUE, FALSE);
!     }
  #endif
  
      --vgetc_busy;
--- 2913,2920 ----
      }
  #ifdef FEAT_GUI
      /* may unshow different cursor shape */
!     if (gui.in_use && shape_changed)
!       gui_update_cursor(TRUE, FALSE);
  #endif
  
      --vgetc_busy;
*** ../vim-8.0.0627/src/version.c       2017-06-05 19:56:01.124964522 +0200
--- src/version.c       2017-06-07 20:39:19.821545423 +0200
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     628,
  /**/

-- 
Shift happens.
                -- Doppler

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui