Re: Patch 8.0.0626

2017-06-07 Fir de Conversatie Ramel Eshed
On Tuesday, June 6, 2017 at 11:25:30 PM UTC+3, Bram Moolenaar wrote:
> Ramel Eshed wrote:
> 
> > On Monday, June 5, 2017 at 8:32:57 PM UTC+3, Bram Moolenaar wrote:
> > > Patch 8.0.0626
> > > Problem:In the GUI the cursor may flicker.
> > > Solution:   Check the cmd_silent flag before updating the cursor shape.
> > > (Hirohito Higashi, closes #1637)
> > > Files:  src/getchar.c
> > > 
> > > 
> > > *** ../vim-8.0.0625/src/getchar.c 2017-04-08 18:41:07.339941299 +0200
> > > --- src/getchar.c 2017-06-05 19:28:16.696484466 +0200
> > > ***
> > > *** 2913,2920 
> > >   }
> > >   #ifdef FEAT_GUI
> > >   /* may unshow different cursor shape */
> > > ! if (gui.in_use && shape_changed)
> > > ! gui_update_cursor(TRUE, FALSE);
> > >   #endif
> > >   
> > >   --vgetc_busy;
> > > --- 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;
> > > *** ../vim-8.0.0625/src/version.c 2017-06-05 18:46:20.497845949 +0200
> > > --- src/version.c 2017-06-05 19:06:06.449739127 +0200
> > > ***
> > > *** 766,767 
> > > --- 766,769 
> > >   {   /* Add new patch number below this line */
> > > + /**/
> > > + 626,
> > >   /**/
> > > 
> > > -- 
> > > "How is your new girlfriend?"
> > > "90-60-90 man!"
> > > "What, pale purple?"
> > > 
> > >  /// Bram Moolenaar -- b...@moolenaar.net -- 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
> > > ///
> > 
> > Hi Bram,
> > 
> > This match makes the cursor disappear using the following mapping (tested 
> > on linux):
> > 
> > gvim -u NONE -N
> > :noremap   
> > 
> > now hit  -> no cursor
> 
> Yes, that is wrong.  I was wondering about the conditions anyway.  I
> would think that if shape_changed isn't set then nothing should happen.
> How about this:
> 
> #ifdef FEAT_GUI
> /* may unshow different cursor shape */
> if (gui.in_use && shape_changed && !cmd_silent)
>   gui_update_cursor(TRUE, FALSE);
> #endif
> 
> But then we perhaps get the flicker again?  An alternative is to not
> call gui_update_cursor() for NORMAL mode:
> 
> #ifdef FEAT_GUI
>   /* may show different cursor shape */
>   if (gui.in_use && State != NORMAL && !cmd_silent)
>   {
>   int save_State;
> 
>   save_State = State;
>   State = NORMAL;
>   gui_update_cursor(TRUE, FALSE);
>   State = save_State;
>   shape_changed = TRUE;
>   }
> #endif
> 
> -- 

Both options solved my problem, but I'm not sure about the original denite 
plugin issue.

Thanks

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.0.0626

2017-06-06 Fir de Conversatie Bram Moolenaar

Ramel Eshed wrote:

> On Monday, June 5, 2017 at 8:32:57 PM UTC+3, Bram Moolenaar wrote:
> > Patch 8.0.0626
> > Problem:In the GUI the cursor may flicker.
> > Solution:   Check the cmd_silent flag before updating the cursor shape.
> > (Hirohito Higashi, closes #1637)
> > Files:  src/getchar.c
> > 
> > 
> > *** ../vim-8.0.0625/src/getchar.c   2017-04-08 18:41:07.339941299 +0200
> > --- src/getchar.c   2017-06-05 19:28:16.696484466 +0200
> > ***
> > *** 2913,2920 
> >   }
> >   #ifdef FEAT_GUI
> >   /* may unshow different cursor shape */
> > ! if (gui.in_use && shape_changed)
> > !   gui_update_cursor(TRUE, FALSE);
> >   #endif
> >   
> >   --vgetc_busy;
> > --- 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;
> > *** ../vim-8.0.0625/src/version.c   2017-06-05 18:46:20.497845949 +0200
> > --- src/version.c   2017-06-05 19:06:06.449739127 +0200
> > ***
> > *** 766,767 
> > --- 766,769 
> >   {   /* Add new patch number below this line */
> > + /**/
> > + 626,
> >   /**/
> > 
> > -- 
> > "How is your new girlfriend?"
> > "90-60-90 man!"
> > "What, pale purple?"
> > 
> >  /// Bram Moolenaar -- b...@moolenaar.net -- 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///
> 
> Hi Bram,
> 
> This match makes the cursor disappear using the following mapping (tested on 
> linux):
> 
> gvim -u NONE -N
> :noremap   
> 
> now hit  -> no cursor

Yes, that is wrong.  I was wondering about the conditions anyway.  I
would think that if shape_changed isn't set then nothing should happen.
How about this:

#ifdef FEAT_GUI
/* may unshow different cursor shape */
if (gui.in_use && shape_changed && !cmd_silent)
gui_update_cursor(TRUE, FALSE);
#endif

But then we perhaps get the flicker again?  An alternative is to not
call gui_update_cursor() for NORMAL mode:

#ifdef FEAT_GUI
/* may show different cursor shape */
if (gui.in_use && State != NORMAL && !cmd_silent)
{
int save_State;

save_State = State;
State = NORMAL;
gui_update_cursor(TRUE, FALSE);
State = save_State;
shape_changed = TRUE;
}
#endif

-- 
hundred-and-one symptoms of being an internet addict:
13. You refer to going to the bathroom as downloading.

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.0.0626

2017-06-06 Fir de Conversatie Ramel Eshed
On Monday, June 5, 2017 at 8:32:57 PM UTC+3, Bram Moolenaar wrote:
> Patch 8.0.0626
> Problem:In the GUI the cursor may flicker.
> Solution:   Check the cmd_silent flag before updating the cursor shape.
> (Hirohito Higashi, closes #1637)
> Files:  src/getchar.c
> 
> 
> *** ../vim-8.0.0625/src/getchar.c 2017-04-08 18:41:07.339941299 +0200
> --- src/getchar.c 2017-06-05 19:28:16.696484466 +0200
> ***
> *** 2913,2920 
>   }
>   #ifdef FEAT_GUI
>   /* may unshow different cursor shape */
> ! if (gui.in_use && shape_changed)
> ! gui_update_cursor(TRUE, FALSE);
>   #endif
>   
>   --vgetc_busy;
> --- 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;
> *** ../vim-8.0.0625/src/version.c 2017-06-05 18:46:20.497845949 +0200
> --- src/version.c 2017-06-05 19:06:06.449739127 +0200
> ***
> *** 766,767 
> --- 766,769 
>   {   /* Add new patch number below this line */
> + /**/
> + 626,
>   /**/
> 
> -- 
> "How is your new girlfriend?"
> "90-60-90 man!"
> "What, pale purple?"
> 
>  /// Bram Moolenaar -- b...@moolenaar.net -- 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///

Hi Bram,

This match makes the cursor disappear using the following mapping (tested on 
linux):

gvim -u NONE -N
:noremap   

now hit  -> no cursor

Thanks,
Ramel

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.0.0626

2017-06-06 Fir de Conversatie skywind3000
It would be very nice if we can get rid of other flicker in gvim (eg. 
scrolling).
I have tried twice to implement a double buffer for gvim. but failed.

MacVim will not flicker and nvim-qt will not flicker too,
Is it possible to have a non-flicker gvim ? since it's 2017 now.

Erasing and drawing directly on the screen without a back buffer 
is something as old as windows 95.


在 2017年6月6日星期二 UTC+8上午1:32:57,Bram Moolenaar写道:
> Patch 8.0.0626
> Problem:In the GUI the cursor may flicker.
> Solution:   Check the cmd_silent flag before updating the cursor shape.
> (Hirohito Higashi, closes #1637)
> Files:  src/getchar.c
> 
> 
> *** ../vim-8.0.0625/src/getchar.c 2017-04-08 18:41:07.339941299 +0200
> --- src/getchar.c 2017-06-05 19:28:16.696484466 +0200
> ***
> *** 2913,2920 
>   }
>   #ifdef FEAT_GUI
>   /* may unshow different cursor shape */
> ! if (gui.in_use && shape_changed)
> ! gui_update_cursor(TRUE, FALSE);
>   #endif
>   
>   --vgetc_busy;
> --- 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;
> *** ../vim-8.0.0625/src/version.c 2017-06-05 18:46:20.497845949 +0200
> --- src/version.c 2017-06-05 19:06:06.449739127 +0200
> ***
> *** 766,767 
> --- 766,769 
>   {   /* Add new patch number below this line */
> + /**/
> + 626,
>   /**/
> 
> -- 
> "How is your new girlfriend?"
> "90-60-90 man!"
> "What, pale purple?"
> 
>  /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Patch 8.0.0626

2017-06-05 Fir de Conversatie Bram Moolenaar

Patch 8.0.0626
Problem:In the GUI the cursor may flicker.
Solution:   Check the cmd_silent flag before updating the cursor shape.
(Hirohito Higashi, closes #1637)
Files:  src/getchar.c


*** ../vim-8.0.0625/src/getchar.c   2017-04-08 18:41:07.339941299 +0200
--- src/getchar.c   2017-06-05 19:28:16.696484466 +0200
***
*** 2913,2920 
  }
  #ifdef FEAT_GUI
  /* may unshow different cursor shape */
! if (gui.in_use && shape_changed)
!   gui_update_cursor(TRUE, FALSE);
  #endif
  
  --vgetc_busy;
--- 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;
*** ../vim-8.0.0625/src/version.c   2017-06-05 18:46:20.497845949 +0200
--- src/version.c   2017-06-05 19:06:06.449739127 +0200
***
*** 766,767 
--- 766,769 
  {   /* Add new patch number below this line */
+ /**/
+ 626,
  /**/

-- 
"How is your new girlfriend?"
"90-60-90 man!"
"What, pale purple?"

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.