To: vim_dev@googlegroups.com Subject: Patch 7.3.301 Fcc: outbox From: Bram Moolenaar 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{\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 ///