summaryrefslogtreecommitdiff
path: root/src/option.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/option.c')
-rw-r--r--src/option.c47
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);