Conditions:
* diff mode
* visual selection (characterwise or blockwise) started on a line with
DiffAdd, DiffChange or DiffText highlighting
* cursor column <= start column of the visual selection
* console Vim, GUI not in use (reproduced on Linux and Windows)
-> character of the cursor should not be inverted (noinvcur=TRUE in
the sources in win_line())
Now the "Normal" highlighting is used instead of DiffAdd, DiffChange or
DiffText from the first column of this line up until the cursor.
To reproduce:
vim -u NONE -U NONE -d -c "normal 7j7lv" misc1.c misc2.c
---
src/screen.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/screen.c b/src/screen.c
index 6d408eb..dade446 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -3555,6 +3555,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
/* Use line_attr when not in the Visual or 'incsearch' area
* (area_attr may be 0 when "noinvcur" is set). */
else if (line_attr != 0 && ((fromcol == -10 && tocol == MAXCOL)
+ || ((colnr_T)vcol != wp->w_virtcol)
|| (vcol < fromcol || vcol >= tocol)))
char_attr = line_attr;
#endif
--
1.6.2.106.gc2bb8
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---