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
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui