diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/buffer.c | 11 | ||||
-rw-r--r-- | src/nvim/syntax.c | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 7c8f93163a..3ce39feda5 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -186,14 +186,17 @@ int open_buffer( } } - /* - * if there is no memfile at all, exit - * This is OK, since there are no changes to lose. - */ + // If there is no memfile at all, exit. + // This is OK, since there are no changes to lose. if (curbuf == NULL) { EMSG(_("E82: Cannot allocate any buffer, exiting...")); + + // Don't try to do any saving, with "curbuf" NULL almost nothing + // will work. + v_dying = 2; getout(2); } + EMSG(_("E83: Cannot allocate buffer, using other one...")); enter_buffer(curbuf); if (old_tw != curbuf->b_p_tw) { diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index ef4dfb3caa..f3b05c3961 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -7444,6 +7444,8 @@ static int syn_add_group(char_u *name) return 0; } + char_u *const name_up = vim_strsave_up(name); + // Append another syntax_highlight entry. struct hl_group* hlgp = GA_APPEND_VIA_PTR(struct hl_group, &highlight_ga); memset(hlgp, 0, sizeof(*hlgp)); @@ -7452,7 +7454,7 @@ static int syn_add_group(char_u *name) hlgp->sg_rgb_fg = -1; hlgp->sg_rgb_sp = -1; hlgp->sg_blend = -1; - hlgp->sg_name_u = vim_strsave_up(name); + hlgp->sg_name_u = name_up; return highlight_ga.ga_len; /* ID is index plus one */ } |