1
0
forked from aniani/vim

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)
This commit is contained in:
Bram Moolenaar
2013-02-13 15:44:26 +01:00
parent 181ace28ed
commit f4e5e86627
8 changed files with 23 additions and 10 deletions

View File

@@ -7109,7 +7109,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
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, opt_flags)
}
#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)