Karsten Hopp 861a60
To: vim_dev@googlegroups.com
Karsten Hopp 861a60
Subject: Patch 7.4.416
Karsten Hopp 861a60
Fcc: outbox
Karsten Hopp 861a60
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 861a60
Mime-Version: 1.0
Karsten Hopp 861a60
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 861a60
Content-Transfer-Encoding: 8bit
Karsten Hopp 861a60
------------
Karsten Hopp 861a60
Karsten Hopp 861a60
Patch 7.4.416
Karsten Hopp 861a60
Problem:    Problem with breakindent/showbreak and tabs.
Karsten Hopp 861a60
Solution:   Handle tabs differently. (Christian Brabandt)
Karsten Hopp 861a60
Files:	    src/testdir/test_breakindent.in, src/testdir/test_breakindent.ok,
Karsten Hopp 861a60
	    src/charset.c
Karsten Hopp 861a60
Karsten Hopp 861a60
Karsten Hopp 861a60
*** ../vim-7.4.415/src/testdir/test_breakindent.in	2014-06-25 14:39:35.114348584 +0200
Karsten Hopp 861a60
--- src/testdir/test_breakindent.in	2014-08-24 21:13:12.188584738 +0200
Karsten Hopp 861a60
***************
Karsten Hopp 861a60
*** 73,78 ****
Karsten Hopp 861a60
--- 73,95 ----
Karsten Hopp 861a60
  :let width = strlen(text[1:])+indent(2)*4+strlen(&sbr)*3 " text wraps 3 times
Karsten Hopp 861a60
  :$put =g:test
Karsten Hopp 861a60
  :$put =printf(\"strdisplaywidth: %d == calculated: %d\", strdisplaywidth(text), width)
Karsten Hopp 861a60
+ :"
Karsten Hopp 861a60
+ :" Test, that the string "    a\tb\tc\td\te" is correctly
Karsten Hopp 861a60
+ :" displayed in a 20 column wide window (see bug report
Karsten Hopp 861a60
+ :" https://groups.google.com/d/msg/vim_dev/ZOdg2mc9c9Y/TT8EhFjEy0IJ
Karsten Hopp 861a60
+ :only
Karsten Hopp 861a60
+ :vert 20new
Karsten Hopp 861a60
+ :set all& nocp breakindent briopt=min:10
Karsten Hopp 861a60
+ :call setline(1, ["    a\tb\tc\td\te", "    z   y       x       w       v"])
Karsten Hopp 861a60
+ :/^\s*a
Karsten Hopp 861a60
+ fbgjyl:let line1 = @0
Karsten Hopp 861a60
+ :?^\s*z
Karsten Hopp 861a60
+ fygjyl:let line2 = @0
Karsten Hopp 861a60
+ :quit!
Karsten Hopp 861a60
+ :$put ='Test 12: breakindent with wrapping Tab'
Karsten Hopp 861a60
+ :$put =line1
Karsten Hopp 861a60
+ :$put =line2
Karsten Hopp 861a60
+ :"
Karsten Hopp 861a60
  :%w! test.out
Karsten Hopp 861a60
  :qa!
Karsten Hopp 861a60
  ENDTEST
Karsten Hopp 861a60
*** ../vim-7.4.415/src/testdir/test_breakindent.ok	2014-06-25 14:39:35.114348584 +0200
Karsten Hopp 861a60
--- src/testdir/test_breakindent.ok	2014-08-24 21:13:36.228583867 +0200
Karsten Hopp 861a60
***************
Karsten Hopp 861a60
*** 53,55 ****
Karsten Hopp 861a60
--- 53,58 ----
Karsten Hopp 861a60
  
Karsten Hopp 861a60
   Test 11: strdisplaywidth when breakindent is on
Karsten Hopp 861a60
  strdisplaywidth: 46 == calculated: 64
Karsten Hopp 861a60
+ Test 12: breakindent with wrapping Tab
Karsten Hopp 861a60
+ d
Karsten Hopp 861a60
+ w
Karsten Hopp 861a60
*** ../vim-7.4.415/src/charset.c	2014-07-16 23:39:50.247084976 +0200
Karsten Hopp 861a60
--- src/charset.c	2014-08-24 21:14:46.340581324 +0200
Karsten Hopp 861a60
***************
Karsten Hopp 861a60
*** 1195,1204 ****
Karsten Hopp 861a60
  	    if (wp->w_p_bri)
Karsten Hopp 861a60
  		added += get_breakindent_win(wp, line);
Karsten Hopp 861a60
  
Karsten Hopp 861a60
! 	    if (tab_corr)
Karsten Hopp 861a60
! 		size += (added / wp->w_buffer->b_p_ts) * wp->w_buffer->b_p_ts;
Karsten Hopp 861a60
! 	    else
Karsten Hopp 861a60
! 		size += added;
Karsten Hopp 861a60
  	    if (col != 0)
Karsten Hopp 861a60
  		added = 0;
Karsten Hopp 861a60
  	}
Karsten Hopp 861a60
--- 1195,1201 ----
Karsten Hopp 861a60
  	    if (wp->w_p_bri)
Karsten Hopp 861a60
  		added += get_breakindent_win(wp, line);
Karsten Hopp 861a60
  
Karsten Hopp 861a60
! 	    size += added;
Karsten Hopp 861a60
  	    if (col != 0)
Karsten Hopp 861a60
  		added = 0;
Karsten Hopp 861a60
  	}
Karsten Hopp 861a60
*** ../vim-7.4.415/src/version.c	2014-08-23 14:18:20.868620959 +0200
Karsten Hopp 861a60
--- src/version.c	2014-08-24 18:06:08.860991777 +0200
Karsten Hopp 861a60
***************
Karsten Hopp 861a60
*** 743,744 ****
Karsten Hopp 861a60
--- 743,746 ----
Karsten Hopp 861a60
  {   /* Add new patch number below this line */
Karsten Hopp 861a60
+ /**/
Karsten Hopp 861a60
+     416,
Karsten Hopp 861a60
  /**/
Karsten Hopp 861a60
Karsten Hopp 861a60
-- 
Karsten Hopp 861a60
hundred-and-one symptoms of being an internet addict:
Karsten Hopp 861a60
57. You begin to wonder how on earth your service provider is allowed to call
Karsten Hopp 861a60
    200 hours per month "unlimited."
Karsten Hopp 861a60
Karsten Hopp 861a60
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 861a60
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 861a60
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 861a60
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///