Gary Johnson wrote:

> Under some conditions, the cursorcolumn highlighting is shifted to 
> the right on folded lines.
> 
> In the following example, 'somefile' just needs to contain several 
> lines of text (maybe a dozen), each line several characters long (> 
> 16).  I set the highlighting of CursorColumn to have a blue 
> background in a color terminal so as to be able to distinguish it 
> clearly from the Folded group.
> 
>    $ vim -N -u NONE -i NONE somefile
> 
>    :hi CursorColumn ctermbg=4
>    :set cuc
>    :set nowrap
> 
> Manually fold a set of lines somewhere in the text, e.g.,
> 
>    :4,6fold
> 
> Move the cursor to a non-folded line a few columns from the left 
> margin, e.g.,
> 
>    8G
>    8|
>    
> Now, use the 'zs' command to scroll the text horizontally so that 
> the cursor column is at the left of the screen:
> 
>    zs
> 
> Notice that the cursorcolumn highlighting is now in the first screen 
> column of unfolded lines, but is in screen column 8 (in this 
> example) on the folded lines.  Moving the cursor to the right, e.g., 
> by typing l, moves the cursorcolumn highlighting to the right, but 
> it remains 8 columns too far to the right in the folded lines.
> 
> This bug appears in vim 7.2.22 compiled for Cygwin and running in 
> rxvt and compiled for Red Hat Linux and running in xterm.  Here is 
> the version information for the Linux build.

This patch should fix it:


*** ../vim-7.2.022/src/screen.c Thu Jul 24 20:29:09 2008
--- src/screen.c        Fri Sep 26 21:23:06 2008
***************
*** 2439,2447 ****
  
  #ifdef FEAT_SYN_HL
      /* Show 'cursorcolumn' in the fold line. */
!     if (wp->w_p_cuc && (int)wp->w_virtcol + txtcol < W_WIDTH(wp))
!       ScreenAttrs[off + wp->w_virtcol + txtcol] = hl_combine_attr(
!                ScreenAttrs[off + wp->w_virtcol + txtcol], hl_attr(HLF_CUC));
  #endif
  
      SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),
--- 2439,2455 ----
  
  #ifdef FEAT_SYN_HL
      /* Show 'cursorcolumn' in the fold line. */
!     if (wp->w_p_cuc)
!     {
!       txtcol += wp->w_virtcol;
!       if (wp->w_p_wrap)
!           txtcol -= wp->w_skipcol;
!       else
!           txtcol -= wp->w_leftcol;
!       if (txtcol >= 0 && txtcol < W_WIDTH(wp))
!           ScreenAttrs[off + txtcol] = hl_combine_attr(
!                                ScreenAttrs[off + txtcol], hl_attr(HLF_CUC));
!     }
  #endif
  
      SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),


-- 
>From "know your smileys":
 :-E    Has major dental problems

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui