Mercurial > vim
diff src/option.c @ 4113:8904ccd5ee85 v7.3.810
updated for version 7.3.810
Problem: 'relativenumber is reset unexpectedly. (Fran?ois Ingelrest)
Solution: After an option was reset also reset the global value. Add a test.
(Christian Brabandt)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 13 Feb 2013 15:44:26 +0100 |
parents | 3bd2c055319e |
children | ecf21be84def |
line wrap: on
line diff
--- a/src/option.c +++ b/src/option.c @@ -7109,7 +7109,7 @@ did_set_string_option(opt_idx, varp, new return errmsg; } -#ifdef FEAT_SYN_HL +#if defined(FEAT_SYN_HL) || defined(PROTO) /* * Simple int comparison function for use with qsort() */ @@ -7630,17 +7630,22 @@ set_bool_option(opt_idx, varp, value, op } #endif - /* 'list', 'number' */ - else if ((int *)varp == &curwin->w_p_list - || (int *)varp == &curwin->w_p_nu + /* 'number', 'relativenumber' */ + else if ((int *)varp == &curwin->w_p_nu || (int *)varp == &curwin->w_p_rnu) { /* If 'number' is set, reset 'relativenumber'. */ /* If 'relativenumber' is set, reset 'number'. */ if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu) + { curwin->w_p_rnu = FALSE; + curwin->w_allbuf_opt.wo_rnu = FALSE; + } if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu) + { curwin->w_p_nu = FALSE; + curwin->w_allbuf_opt.wo_nu = FALSE; + } } else if ((int *)varp == &curbuf->b_p_ro)