]> granicus.if.org Git - vim/commitdiff
updated for version 7.4.467 v7.4.467
authorBram Moolenaar <Bram@vim.org>
Thu, 9 Oct 2014 11:24:43 +0000 (13:24 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 9 Oct 2014 11:24:43 +0000 (13:24 +0200)
src/normal.c
src/screen.c
src/testdir/test_listlbr.in
src/testdir/test_listlbr.ok
src/version.c

index a8d74117c7e708b679b467b355cb567770363893..8384d6ffea14eb07455551b520783a86ca78bfd7 100644 (file)
@@ -1380,6 +1380,12 @@ do_pending_operator(cap, old_col, gui_yank)
     pos_T      old_cursor;
     int                empty_region_error;
     int                restart_edit_save;
+#ifdef FEAT_LINEBREAK
+    int                lbr_saved = curwin->w_p_lbr;
+
+    curwin->w_p_lbr = FALSE;   /* avoid a problem with unwanted linebreaks in
+                                * block mode */
+#endif
 
     /* The visual area is remembered for redo */
     static int     redo_VIsual_mode = NUL; /* 'v', 'V', or Ctrl-V */
@@ -2136,6 +2142,9 @@ do_pending_operator(cap, old_col, gui_yank)
        oap->block_mode = FALSE;
        clearop(oap);
     }
+#ifdef FEAT_LINEBREAK
+    curwin->w_p_lbr = lbr_saved;
+#endif
 }
 
 /*
index 7a9311a453f7ded3ad13a41cc826ed64f2940074..fae2703f71b13e33a8fba7ad23c49b56ab2d4fa1 100644 (file)
@@ -1584,9 +1584,17 @@ win_update(wp)
             */
            if (VIsual_mode == Ctrl_V)
            {
-               colnr_T fromc, toc;
+               colnr_T     fromc, toc;
+#if defined(FEAT_VIRTUALEDIT) && defined(FEAT_LINEBREAK)
+               int         save_ve_flags = ve_flags;
 
+               if (curwin->w_p_lbr)
+                   ve_flags = VE_ALL;
+#endif
                getvcols(wp, &VIsual, &curwin->w_cursor, &fromc, &toc);
+#if defined(FEAT_VIRTUALEDIT) && defined(FEAT_LINEBREAK)
+               ve_flags = save_ve_flags;
+#endif
                ++toc;
                if (curwin->w_curswant == MAXCOL)
                    toc = MAXCOL;
index f155f85a4b107c603f2c5162086e5f3f7389c060..f6618c5a42e93911945af23a643d5700de33ae38 100644 (file)
@@ -2,7 +2,7 @@ Test for linebreak and list option (non-utf8)
 
 STARTTEST
 :so small.vim
-:if !exists("+linebreak") || !exists("+conceal") | e! test.ok | w! test.out | qa! | endif
+:if !exists("+linebreak") || !has("conceal") | e! test.ok | w! test.out | qa! | endif
 :10new|:vsp|:vert resize 20
 :put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \"
 :norm! zt
@@ -56,6 +56,14 @@ STARTTEST
 :syn match All /.*/ contains=ConcealVar
 :let line=ScreenChar(winwidth(0))
 :call DoRecordScreen()
+:set cpo&vim linebreak
+:let g:test ="Test 6: set linebreak with visual block mode"
+:let line="REMOVE: this not"
+:$put =line
+:let line="REMOVE: aaaaaaaaaaaaa"
+:$put =line
+:1/^REMOVE:
+0\16jf x:$put
 :%w! test.out
 :qa!
 ENDTEST
index 9b8037f4d32ecc6290e502c8a81b3583eac58dd1..ee74667661aa50701f9416afac397139cbba1657 100644 (file)
@@ -32,3 +32,7 @@ Sabbbbbb bla
 ~                   
 ~                   
 ~                   
+this not
+aaaaaaaaaaaaa
+REMOVE: 
+REMOVE: 
index 6417a491d8363b21f279a34d278738ae2f8ab954..5979660f43f7e0be93ec7d3f91370227d70d319f 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    467,
 /**/
     466,
 /**/