forked from aniani/vim
patch 8.0.1168: wrong highlighting with combination of match and 'cursorline'
Problem: wrong highlighting with combination of match and 'cursorline'. Solution: Use "line_attr" when appropriate. (Ozaki Kiichi, closes #2111) But don't highlight more than one character.
This commit is contained in:
14
src/screen.c
14
src/screen.c
@@ -4168,6 +4168,9 @@ win_line(
|
||||
if (shl != &search_hl && cur != NULL)
|
||||
cur = cur->next;
|
||||
}
|
||||
/* Only highlight one character after the last column. */
|
||||
if (*ptr == NUL && did_line_attr >= 1)
|
||||
search_attr = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -5064,7 +5067,9 @@ win_line(
|
||||
++did_line_attr;
|
||||
|
||||
/* don't do search HL for the rest of the line */
|
||||
if (line_attr != 0 && char_attr == search_attr && col > 0)
|
||||
if (line_attr != 0 && char_attr == search_attr
|
||||
&& (did_line_attr > 1
|
||||
|| (wp->w_p_list && lcs_eol > 0)))
|
||||
char_attr = line_attr;
|
||||
# ifdef FEAT_DIFF
|
||||
if (diff_hlf == HLF_TXD)
|
||||
@@ -5320,6 +5325,13 @@ win_line(
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
/* highlight 'hlsearch' match at end of line */
|
||||
|| (prevcol_hl_flag == TRUE
|
||||
# ifdef FEAT_SYN_HL
|
||||
&& !(wp->w_p_cul && lnum == wp->w_cursor.lnum
|
||||
&& !(wp == curwin && VIsual_active))
|
||||
# endif
|
||||
# ifdef FEAT_DIFF
|
||||
&& diff_hlf == (hlf_T)0
|
||||
# endif
|
||||
# if defined(LINE_ATTR)
|
||||
&& did_line_attr <= 1
|
||||
# endif
|
||||
|
Reference in New Issue
Block a user