On Fr, 11 Jul 2014, Benjamin Fritz wrote:

> I'm not sure if this ever worked, but I noticed today that with
> 'cursorline' set, there is no highlight on lines that have DiffChange
> highlighting.
> 
> Moving the cursor to a line without DiffChange highlighting makes the
> cursor visible again.
> 
> I think this is a bug; it makes cursorline much less useful in diff mode.

I think, the attached patch fixes it.

Mit freundlichen Grüßen
Christian
-- 
Wie wir von manchen Menschen verkannt werden, beweisen uns nicht
selten ihre Geschenke.
                -- Sigmund Graff

-- 
-- 
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.
diff --git a/src/screen.c b/src/screen.c
--- a/src/screen.c
+++ b/src/screen.c
@@ -3702,7 +3702,12 @@ win_line(wp, lnum, startrow, endrow, noc
 		    char_attr = 0; /* was: hl_attr(HLF_AT); */
 #ifdef FEAT_DIFF
 		    if (diff_hlf != (hlf_T)0)
-			char_attr = hl_attr(diff_hlf);
+		    {
+			if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
+			    char_attr = hl_combine_attr(diff_hlf, hl_attr(HLF_CUC));
+			else
+			    char_attr = hl_attr(diff_hlf);
+		    }
 #endif
 		    p_extra = NULL;
 		    c_extra = ' ';
@@ -3930,7 +3935,10 @@ win_line(wp, lnum, startrow, endrow, noc
 		if (diff_hlf == HLF_TXD && ptr - line > change_end
 							      && n_extra == 0)
 		    diff_hlf = HLF_CHD;		/* changed line */
-		line_attr = hl_attr(diff_hlf);
+		if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
+		    line_attr = hl_combine_attr(diff_hlf, hl_attr(HLF_CUC));
+		else
+		    line_attr = hl_attr(diff_hlf);
 	    }
 #endif
 
@@ -4727,7 +4735,12 @@ win_line(wp, lnum, startrow, endrow, noc
 		    {
 			diff_hlf = HLF_CHD;
 			if (attr == 0 || char_attr != attr)
-			    char_attr = hl_attr(diff_hlf);
+			{
+			    if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
+				char_attr = hl_combine_attr(diff_hlf, hl_attr(HLF_CUC));
+			    else
+				char_attr = hl_attr(diff_hlf);
+			}
 		    }
 # endif
 		}

Raspunde prin e-mail lui