aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/viml/executor/executor.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-03-23 14:07:51 +0100
committerJustin M. Keyes <justinkz@gmail.com>2017-03-23 23:47:20 +0100
commit7214d0bc846179a862e8d3061d00270a6caa0d7b (patch)
treecbacd2368fc68f8ae6c18b43e4c5f6c258f6a7b5 /src/nvim/viml/executor/executor.c
parentc398402f1225e8050856260cbc6ae929ff2f5c31 (diff)
downloadrneovim-7214d0bc846179a862e8d3061d00270a6caa0d7b.tar.gz
rneovim-7214d0bc846179a862e8d3061d00270a6caa0d7b.tar.bz2
rneovim-7214d0bc846179a862e8d3061d00270a6caa0d7b.zip
XXX: ex_tabonly(): aucmd_win is not part of the window list.
During free_all_mem, somehow ex_tabonly() may free aucmd_win. But it isn't fully destroyed (maybe autocmd_busy?). When win_free_all() tries to free aucmd_win directly, it double-frees the sub-fields. Tried unnsuccessfully to work around this by invoking `:tabonly!` with autocmds disabled: diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 58c01fbe7a12..91c845e94d22 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -565,9 +565,9 @@ void free_all_mem(void) /* Close all tabs and windows. Reset 'equalalways' to avoid redraws. */ p_ea = false; if (first_tabpage->tp_next != NULL) - do_cmdline_cmd("tabonly!"); + do_cmdline_cmd("noautocmd tabonly!"); if (firstwin != lastwin) - do_cmdline_cmd("only!"); + do_cmdline_cmd("noautocmd only!"); /* Free all spell info. */ spell_free_all();
Diffstat (limited to 'src/nvim/viml/executor/executor.c')
0 files changed, 0 insertions, 0 deletions