To: vim_dev@googlegroups.com
Subject: Patch 7.3.301
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.301
Problem:    When 'smartindent' and 'copyindent' are set a Tab is used even
	    though 'expandtab' is set.
Solution:   Do not insert Tabs. Add a test. (Christian Brabandt)
Files:	    src/misc1.c, src/testdir/test19.in, src/testdir/test19.ok


*** ../vim-7.3.300/src/misc1.c	2011-07-27 17:31:42.000000000 +0200
--- src/misc1.c	2011-09-07 19:37:04.000000000 +0200
***************
*** 363,369 ****
  
  	/* Fill to next tabstop with a tab, if possible */
  	tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
! 	if (todo >= tab_pad)
  	{
  	    todo -= tab_pad;
  	    ++ind_len;
--- 363,369 ----
  
  	/* Fill to next tabstop with a tab, if possible */
  	tab_pad = (int)curbuf->b_p_ts - (ind_done % (int)curbuf->b_p_ts);
! 	if (todo >= tab_pad && !curbuf->b_p_et)
  	{
  	    todo -= tab_pad;
  	    ++ind_len;
***************
*** 372,378 ****
  	}
  
  	/* Add tabs required for indent */
! 	while (todo >= (int)curbuf->b_p_ts)
  	{
  	    todo -= (int)curbuf->b_p_ts;
  	    ++ind_len;
--- 372,378 ----
  	}
  
  	/* Add tabs required for indent */
! 	while (todo >= (int)curbuf->b_p_ts && !curbuf->b_p_et)
  	{
  	    todo -= (int)curbuf->b_p_ts;
  	    ++ind_len;
*** ../vim-7.3.300/src/testdir/test19.in	2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test19.in	2011-09-07 19:46:17.000000000 +0200
***************
*** 12,17 ****
--- 12,20 ----
  0wR			
  :" Test replacing with Tabs
  0wR			
+ :" Test that copyindent works with expandtab set
+ :set expandtab smartindent copyindent ts=8 sw=8 sts=8
+ :exe "norm! o{\<cr>x"
  :?^start?,$w! test.out
  :qa!
  ENDTEST
*** ../vim-7.3.300/src/testdir/test19.ok	2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test19.ok	2011-09-07 19:37:04.000000000 +0200
***************
*** 5,7 ****
--- 5,9 ----
      a cde
      		hi
  test text
+ {
+         x
*** ../vim-7.3.300/src/version.c	2011-09-07 19:30:17.000000000 +0200
--- src/version.c	2011-09-07 19:38:48.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
  {   /* Add new patch number below this line */
+ /**/
+     301,
  /**/

-- 
I recommend ordering large cargo containers of paper towels to make up
whatever budget underruns you have.  Paper products are always useful and they
have the advantage of being completely flushable if you need to make room in
the storage area later.
				(Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
