Masanori Misono wrote:

> Hi Bram,
> 
> 2017年1月14日土曜日 23時21分21秒 UTC+9 Bram Moolenaar:
> > Hirohito Higashi wrote:
> > 
> > > Hi Bram,
> > > 
> > > 2017-1-14(Sat) 22:54:57 UTC+9 Bram Moolenaar:
> > > > Patch 8.0.0181
> > > > Summary:    with cursorbind set cursor column highlighting is off
> > > > Problem:    When 'cursorbind' and 'cursorcolumn' are both on, the column
> > > >             highlignt in non-current windows is wrong.
> > > > Solution:   Add validate_cursor(). (Masanori Misono, closes #1372)
> > > > Files:      src/move.c
> > > > 
> > > > 
> > > > *** ../vim-8.0.0180/src/move.c  2016-11-06 15:25:37.693627473 +0100
> > > > --- src/move.c  2017-01-12 22:32:01.408155308 +0100
> > > > ***************
> > > > *** 2841,2846 ****
> > > > --- 2841,2850 ----
> > > >             restart_edit_save = restart_edit;
> > > >             restart_edit = TRUE;
> > > >             check_cursor();
> > > > + # ifdef FEAT_SYN_HL
> > > > +           if (curwin->w_p_cuc)
> > > > +               validate_cursor();
> > > > + # endif
> > > >             restart_edit = restart_edit_save;
> > > >   # ifdef FEAT_MBYTE
> > > >             /* Correct cursor for multi-byte character. */
> > > > *** ../vim-8.0.0180/src/version.c       2017-01-14 14:36:03.229775080 
> > > > +0100
> > > > --- src/version.c       2017-01-14 14:53:33.111310935 +0100
> > > > ***************
> > > > *** 766,767 ****
> > > > --- 766,769 ----
> > > >   {   /* Add new patch number below this line */
> > > > + /**/
> > > > +     181,
> > > >   /**/
> > > 
> > > Is the following patch correct?
> > > https://groups.google.com/d/msg/vim_dev/afsWQ48bfn0/xF-mCefjBwAJ
> > 
> > It works for me.
> > 
> > -- 
> > God made the integers; all else is the work of Man.
> >             -- Kronecker
> > 
> >  /// 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    ///
> 
> 
> If we only set cursorbind and cursorline only, validate_cursor() is not 
> called.
> Maybe we need to do something like following:
> 
> diff --git a/src/move.c b/src/move.c
> index 86b19aafc..ff522c02c 100644
> --- a/src/move.c
> +++ b/src/move.c
> @@ -2841,10 +2841,12 @@ do_check_cursorbind(void)
>             restart_edit_save = restart_edit;
>             restart_edit = TRUE;
>             check_cursor();
> +           if (curwin->w_p_crb
>  # ifdef FEAT_SYN_HL
> -           if (curwin->w_p_cuc)
> -               validate_cursor();
> +              || curwin->w_p_cuc
>  # endif
> +              )
> +               validate_cursor();
>             restart_edit = restart_edit_save;
>  # ifdef FEAT_MBYTE
>             /* Correct cursor for multi-byte character. */

Checking w_p_crb is not needed, it is already checked in the "if" above.

I solved it by using NOT_VALID for redraw_later(), but now relaize that
is less efficient than calling validate_cursor() when 'cuc' or 'cul' is
set.

-- 
Ten bugs in the hand is better than one as yet undetected.

 /// 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.

Raspunde prin e-mail lui