| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.868 |
| 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.4.868 |
| Problem: 'smarttab' is also effective when 'paste' is enabled. (Alexander |
| Monakov) |
| Solution: Disable 'smarttab' when 'paste' is set. (Christian Brabandt) |
| Do the same for 'expandtab'. |
| Files: src/option.c, src/structs.h |
| |
| |
| |
| |
| |
| *** 387,396 **** |
| static long p_wm_nobin; |
| |
| /* Saved values for when 'paste' is set */ |
| static long p_tw_nopaste; |
| static long p_wm_nopaste; |
| - static long p_sts_nopaste; |
| - static int p_ai_nopaste; |
| |
| struct vimoption |
| { |
| --- 387,397 ---- |
| static long p_wm_nobin; |
| |
| /* Saved values for when 'paste' is set */ |
| + static int p_ai_nopaste; |
| + static int p_et_nopaste; |
| + static long p_sts_nopaste; |
| static long p_tw_nopaste; |
| static long p_wm_nopaste; |
| |
| struct vimoption |
| { |
| |
| *** 10702,10707 **** |
| --- 10703,10709 ---- |
| buf->b_p_fixeol = p_fixeol; |
| buf->b_p_et = p_et; |
| buf->b_p_et_nobin = p_et_nobin; |
| + buf->b_p_et_nopaste = p_et_nopaste; |
| buf->b_p_ml = p_ml; |
| buf->b_p_ml_nobin = p_ml_nobin; |
| buf->b_p_inf = p_inf; |
| |
| *** 11640,11645 **** |
| --- 11642,11648 ---- |
| { |
| static int old_p_paste = FALSE; |
| static int save_sm = 0; |
| + static int save_sta = 0; |
| #ifdef FEAT_CMDL_INFO |
| static int save_ru = 0; |
| #endif |
| |
| *** 11664,11673 **** |
| --- 11667,11678 ---- |
| buf->b_p_wm_nopaste = buf->b_p_wm; |
| buf->b_p_sts_nopaste = buf->b_p_sts; |
| buf->b_p_ai_nopaste = buf->b_p_ai; |
| + buf->b_p_et_nopaste = buf->b_p_et; |
| } |
| |
| /* save global options */ |
| save_sm = p_sm; |
| + save_sta = p_sta; |
| #ifdef FEAT_CMDL_INFO |
| save_ru = p_ru; |
| #endif |
| |
| *** 11676,11685 **** |
| save_hkmap = p_hkmap; |
| #endif |
| /* save global values for local buffer options */ |
| p_tw_nopaste = p_tw; |
| p_wm_nopaste = p_wm; |
| - p_sts_nopaste = p_sts; |
| - p_ai_nopaste = p_ai; |
| } |
| |
| /* |
| --- 11681,11691 ---- |
| save_hkmap = p_hkmap; |
| #endif |
| /* save global values for local buffer options */ |
| + p_ai_nopaste = p_ai; |
| + p_et_nopaste = p_et; |
| + p_sts_nopaste = p_sts; |
| p_tw_nopaste = p_tw; |
| p_wm_nopaste = p_wm; |
| } |
| |
| /* |
| |
| *** 11693,11702 **** |
| --- 11699,11710 ---- |
| buf->b_p_wm = 0; /* wrapmargin is 0 */ |
| buf->b_p_sts = 0; /* softtabstop is 0 */ |
| buf->b_p_ai = 0; /* no auto-indent */ |
| + buf->b_p_et = 0; /* no expandtab */ |
| } |
| |
| /* set global options */ |
| p_sm = 0; /* no showmatch */ |
| + p_sta = 0; /* no smarttab */ |
| #ifdef FEAT_CMDL_INFO |
| # ifdef FEAT_WINDOWS |
| if (p_ru) |
| |
| *** 11727,11736 **** |
| --- 11735,11746 ---- |
| buf->b_p_wm = buf->b_p_wm_nopaste; |
| buf->b_p_sts = buf->b_p_sts_nopaste; |
| buf->b_p_ai = buf->b_p_ai_nopaste; |
| + buf->b_p_et = buf->b_p_et_nopaste; |
| } |
| |
| /* restore global options */ |
| p_sm = save_sm; |
| + p_sta = save_sta; |
| #ifdef FEAT_CMDL_INFO |
| # ifdef FEAT_WINDOWS |
| if (p_ru != save_ru) |
| |
| *** 11743,11752 **** |
| p_hkmap = save_hkmap; |
| #endif |
| /* set global values for local buffer options */ |
| p_tw = p_tw_nopaste; |
| p_wm = p_wm_nopaste; |
| - p_sts = p_sts_nopaste; |
| - p_ai = p_ai_nopaste; |
| } |
| |
| old_p_paste = p_paste; |
| --- 11753,11763 ---- |
| p_hkmap = save_hkmap; |
| #endif |
| /* set global values for local buffer options */ |
| + p_ai = p_ai_nopaste; |
| + p_et = p_et_nopaste; |
| + p_sts = p_sts_nopaste; |
| p_tw = p_tw_nopaste; |
| p_wm = p_wm_nopaste; |
| } |
| |
| old_p_paste = p_paste; |
| |
| |
| |
| *** 1589,1594 **** |
| --- 1589,1595 ---- |
| int b_p_fixeol; /* 'fixendofline' */ |
| int b_p_et; /* 'expandtab' */ |
| int b_p_et_nobin; /* b_p_et saved for binary mode */ |
| + int b_p_et_nopaste; /* b_p_et saved for paste mode */ |
| #ifdef FEAT_MBYTE |
| char_u *b_p_fenc; /* 'fileencoding' */ |
| #endif |
| |
| |
| |
| *** 743,744 **** |
| --- 743,746 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 868, |
| /**/ |
| |
| -- |
| Are leaders born or made? And if they're made, can we return them under |
| warranty? |
| (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 /// |