diff options
Diffstat (limited to 'src/option.c')
-rw-r--r-- | src/option.c | 47 |
1 files changed, 34 insertions, 13 deletions
diff --git a/src/option.c b/src/option.c index 5f1c6f915..dcc11fcf2 100644 --- a/src/option.c +++ b/src/option.c @@ -5268,6 +5268,21 @@ insecure_flag(opt_idx, opt_flags) } #endif +#ifdef FEAT_TITLE +static void redraw_titles __ARGS((void)); + +/* + * Redraw the window title and/or tab page text later. + */ +static void redraw_titles() +{ + need_maketitle = TRUE; +# ifdef FEAT_WINDOWS + redraw_tabline = TRUE; +# endif +} +#endif + /* * Set a string option to a new value (without checking the effect). * The string is copied into allocated memory. @@ -5672,7 +5687,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf, { # ifdef FEAT_TITLE /* May show a "+" in the title now. */ - need_maketitle = TRUE; + redraw_titles(); # endif /* Add 'fileencoding' to the swap file. */ ml_setflags(curbuf); @@ -5691,7 +5706,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf, { errmsg = mb_init(); # ifdef FEAT_TITLE - need_maketitle = TRUE; + redraw_titles(); # endif } } @@ -5800,7 +5815,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf, else curbuf->b_p_tx = FALSE; #ifdef FEAT_TITLE - need_maketitle = TRUE; + redraw_titles(); #endif /* update flag in swap file */ ml_setflags(curbuf); @@ -7127,22 +7142,28 @@ set_bool_option(opt_idx, varp, value, opt_flags) curbuf->b_did_warn = FALSE; #ifdef FEAT_TITLE - need_maketitle = TRUE; + redraw_titles(); #endif } #ifdef FEAT_TITLE /* when 'modifiable' is changed, redraw the window title */ else if ((int *)varp == &curbuf->b_p_ma) - need_maketitle = TRUE; + { + redraw_titles(); + } /* when 'endofline' is changed, redraw the window title */ else if ((int *)varp == &curbuf->b_p_eol) - need_maketitle = TRUE; -#ifdef FEAT_MBYTE - /* when 'bomb' is changed, redraw the window title */ + { + redraw_titles(); + } +# ifdef FEAT_MBYTE + /* when 'bomb' is changed, redraw the window title and tab page text */ else if ((int *)varp == &curbuf->b_p_bomb) - need_maketitle = TRUE; -#endif + { + redraw_titles(); + } +# endif #endif /* when 'bin' is set also set some other options */ @@ -7150,7 +7171,7 @@ set_bool_option(opt_idx, varp, value, opt_flags) { set_options_bin(old_value, curbuf->b_p_bin, opt_flags); #ifdef FEAT_TITLE - need_maketitle = TRUE; + redraw_titles(); #endif } @@ -7301,7 +7322,7 @@ set_bool_option(opt_idx, varp, value, opt_flags) if (!value) save_file_ff(curbuf); /* Buffer is unchanged */ #ifdef FEAT_TITLE - need_maketitle = TRUE; + redraw_titles(); #endif #ifdef FEAT_AUTOCMD modified_was_set = value; @@ -7736,7 +7757,7 @@ set_num_option(opt_idx, varp, value, errbuf, errbuflen, opt_flags) newFoldLevel(); } - /* 'foldminlevel' */ + /* 'foldminlines' */ else if (pp == &curwin->w_p_fml) { foldUpdateAll(curwin); |