]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.1277 v7.3.1277
authorBram Moolenaar <Bram@vim.org>
Sun, 30 Jun 2013 15:24:16 +0000 (17:24 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 30 Jun 2013 15:24:16 +0000 (17:24 +0200)
Problem:    In diff mode 'cursorline' also draws in the non-active window.
            When 'nu' and 'sbr' are set the 'sbr' string is not underlined.
Solution:   Only draw the cursor line in the current window. Combine the
            'cursorline' and other highlighting attributes. (Christian
            Brabandt)

src/screen.c
src/version.c

index b33a000d73cf86d70f5623f34353f83807656711..eb1b1df4961a495eb764dfdf7682f19e295f0720 100644 (file)
@@ -3366,9 +3366,11 @@ win_line(wp, lnum, startrow, endrow, nochange)
 #endif
 
 #ifdef FEAT_SYN_HL
-    /* Cursor line highlighting for 'cursorline'.  Not when Visual mode is
-     * active, because it's not clear what is selected then. */
-    if (wp->w_p_cul && lnum == wp->w_cursor.lnum && !VIsual_active)
+    /* Cursor line highlighting for 'cursorline' in the current window.  Not
+     * when Visual mode is active, because it's not clear what is selected
+     * then. */
+    if (wp->w_p_cul && wp == curwin && lnum == wp->w_cursor.lnum
+                                                           && !VIsual_active)
     {
        line_attr = hl_attr(HLF_CUL);
        area_highlighting = TRUE;
@@ -3541,7 +3543,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
                     * the current line differently.
                     * TODO: Can we use CursorLine instead of CursorLineNr
                     * when CursorLineNr isn't set? */
-                   if ((wp->w_p_cul || wp->w_p_rnu)
+                   if (((wp->w_p_cul && wp == curwin) || wp->w_p_rnu)
                                                 && lnum == wp->w_cursor.lnum)
                        char_attr = hl_attr(HLF_CLN);
 #endif
@@ -3582,6 +3584,12 @@ win_line(wp, lnum, startrow, endrow, nochange)
                     * required when 'linebreak' is also set. */
                    if (tocol == vcol)
                        tocol += n_extra;
+#ifdef FEAT_SYN_HL
+                   /* combine 'showbreak' with 'cursorline' */
+                   if (wp->w_p_cul && wp == curwin
+                                                && lnum == wp->w_cursor.lnum)
+                       char_attr = hl_combine_attr(char_attr, HLF_CLN);
+#endif
                }
 # endif
            }
index 08e2d79499f21f148237a551d2cc68eb9c33a31d..a3b0657ef6afea644531f229d3c78fcd78e3cb23 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1277,
 /**/
     1276,
 /**/