summaryrefslogtreecommitdiffstats
path: root/src/buffer.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-12-23 22:59:18 +0100
committerBram Moolenaar <Bram@vim.org>2019-12-23 22:59:18 +0100
commit53989554a44caca0964376d60297f08ec257c53c (patch)
tree34d2140d4201e015661344b05ffb4c2d9aed97ff /src/buffer.c
parent70188f5b23ea7efec7adaf74e0af797d1bb1afe8 (diff)
patch 8.2.0035: saving and restoring called_emsg is clumsyv8.2.0035
Problem: Saving and restoring called_emsg is clumsy. Solution: Count the number of error messages.
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/buffer.c b/src/buffer.c
index da10579ccc..740d31b91b 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -3746,19 +3746,17 @@ maketitle(void)
if (stl_syntax & STL_IN_TITLE)
{
int use_sandbox = FALSE;
- int save_called_emsg = called_emsg;
+ int called_emsg_before = called_emsg;
# ifdef FEAT_EVAL
use_sandbox = was_set_insecurely((char_u *)"titlestring", 0);
# endif
- called_emsg = FALSE;
build_stl_str_hl(curwin, title_str, sizeof(buf),
p_titlestring, use_sandbox,
0, maxlen, NULL, NULL);
- if (called_emsg)
+ if (called_emsg > called_emsg_before)
set_string_option_direct((char_u *)"titlestring", -1,
(char_u *)"", OPT_FREE, SID_ERROR);
- called_emsg |= save_called_emsg;
}
else
#endif
@@ -3879,19 +3877,17 @@ maketitle(void)
if (stl_syntax & STL_IN_ICON)
{
int use_sandbox = FALSE;
- int save_called_emsg = called_emsg;
+ int called_emsg_before = called_emsg;
# ifdef FEAT_EVAL
use_sandbox = was_set_insecurely((char_u *)"iconstring", 0);
# endif
- called_emsg = FALSE;
build_stl_str_hl(curwin, icon_str, sizeof(buf),
p_iconstring, use_sandbox,
0, 0, NULL, NULL);
- if (called_emsg)
+ if (called_emsg > called_emsg_before)
set_string_option_direct((char_u *)"iconstring", -1,
(char_u *)"", OPT_FREE, SID_ERROR);
- called_emsg |= save_called_emsg;
}
else
#endif