comparison src/option.c @ 4219:6fe728bf165e v7.3.861

updated for version 7.3.861 Problem: ":setlocal number" clears global value of 'relativenumber'. Solution: Do it properly. (Markus Heidelberg)
author Bram Moolenaar <bram@vim.org>
date Wed, 13 Mar 2013 20:42:32 +0100
parents ecf21be84def
children edd0bc1f26bd
comparison
equal deleted inserted replaced
4218:a3d776a5719b 4219:6fe728bf165e
7629 curbuf = save_curbuf; 7629 curbuf = save_curbuf;
7630 } 7630 }
7631 } 7631 }
7632 #endif 7632 #endif
7633 7633
7634 /* 'number', 'relativenumber' */ 7634 /* If 'number' is set, reset 'relativenumber'. */
7635 else if ((int *)varp == &curwin->w_p_nu 7635 /* If 'relativenumber' is set, reset 'number'. */
7636 || (int *)varp == &curwin->w_p_rnu) 7636 else if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
7637 { 7637 {
7638 /* If 'number' is set, reset 'relativenumber'. */ 7638 curwin->w_p_rnu = FALSE;
7639 /* If 'relativenumber' is set, reset 'number'. */ 7639
7640 if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu) 7640 /* Only reset the global value if the own value is set globally. */
7641 { 7641 if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
7642 curwin->w_p_rnu = FALSE;
7643 curwin->w_allbuf_opt.wo_rnu = FALSE; 7642 curwin->w_allbuf_opt.wo_rnu = FALSE;
7644 } 7643 }
7645 if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu) 7644 else if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
7646 { 7645 {
7647 curwin->w_p_nu = FALSE; 7646 curwin->w_p_nu = FALSE;
7647
7648 /* Only reset the global value if the own value is set globally. */
7649 if (((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0))
7648 curwin->w_allbuf_opt.wo_nu = FALSE; 7650 curwin->w_allbuf_opt.wo_nu = FALSE;
7649 } 7651 }
7652 else if ((int *)varp == &curwin->w_allbuf_opt.wo_nu
7653 && curwin->w_allbuf_opt.wo_nu)
7654 {
7655 curwin->w_allbuf_opt.wo_rnu = FALSE;
7656 }
7657 else if ((int *)varp == &curwin->w_allbuf_opt.wo_rnu
7658 && curwin->w_allbuf_opt.wo_rnu)
7659 {
7660 curwin->w_allbuf_opt.wo_nu = FALSE;
7650 } 7661 }
7651 7662
7652 else if ((int *)varp == &curbuf->b_p_ro) 7663 else if ((int *)varp == &curbuf->b_p_ro)
7653 { 7664 {
7654 /* when 'readonly' is reset globally, also reset readonlymode */ 7665 /* when 'readonly' is reset globally, also reset readonlymode */