updated for version 7.4.391
Problem: No 'cursorline' highlighting when the cursor is on a line with
diff highlighting. (Benjamin Fritz)
Solution: Combine the highlight attributes. (Christian Brabandt)
diff --git a/src/screen.c b/src/screen.c
index 188b36f..3ab53d9 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -3702,7 +3702,12 @@
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(char_attr,
+ hl_attr(HLF_CUL));
+ }
#endif
p_extra = NULL;
c_extra = ' ';
@@ -3753,7 +3758,8 @@
#ifdef FEAT_SYN_HL
/* combine 'showbreak' with 'cursorline' */
if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
- char_attr = hl_combine_attr(char_attr, HLF_CLN);
+ char_attr = hl_combine_attr(char_attr,
+ hl_attr(HLF_CUL));
#endif
}
# endif
@@ -3931,6 +3937,8 @@
&& 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(line_attr, hl_attr(HLF_CUL));
}
#endif
@@ -4729,7 +4737,12 @@
{
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(char_attr,
+ hl_attr(HLF_CUL));
+ }
}
# endif
}
@@ -10174,9 +10187,9 @@
break;
screen_puts_len(NameBuff, len, 0, col,
#if defined(FEAT_SYN_HL)
- hl_combine_attr(attr, hl_attr(HLF_T))
+ hl_combine_attr(attr, hl_attr(HLF_T))
#else
- attr
+ attr
#endif
);
col += len;
diff --git a/src/version.c b/src/version.c
index d2de43f..fa2efdf 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 391,
+/**/
390,
/**/
389,