mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #5859 from jamessan/vim-7.4.1866
vim-patch:7.4.1866,7.4.1868
This commit is contained in:
commit
f7639e2490
@ -21569,7 +21569,10 @@ void func_unref(char_u *name)
|
||||
if (name != NULL && isdigit(*name)) {
|
||||
fp = find_func(name);
|
||||
if (fp == NULL) {
|
||||
EMSG2(_(e_intern2), "func_unref()");
|
||||
#ifdef EXITFREE
|
||||
if (!entered_free_all_mem)
|
||||
#endif
|
||||
EMSG2(_(e_intern2), "func_unref()");
|
||||
} else {
|
||||
user_func_unref(fp);
|
||||
}
|
||||
|
@ -636,6 +636,10 @@ EXTERN int exiting INIT(= FALSE);
|
||||
/* TRUE when planning to exit Vim. Might
|
||||
* still keep on running if there is a changed
|
||||
* buffer. */
|
||||
#if defined(EXITFREE)
|
||||
// true when in or after free_all_mem()
|
||||
EXTERN bool entered_free_all_mem INIT(= false);
|
||||
#endif
|
||||
/* volatile because it is used in signal handler deathtrap(). */
|
||||
EXTERN volatile int full_screen INIT(= FALSE);
|
||||
/* TRUE when doing full-screen output
|
||||
|
@ -488,13 +488,12 @@ void time_to_bytes(time_t time_, uint8_t buf[8])
|
||||
void free_all_mem(void)
|
||||
{
|
||||
buf_T *buf, *nextbuf;
|
||||
static bool entered = false;
|
||||
|
||||
/* When we cause a crash here it is caught and Vim tries to exit cleanly.
|
||||
* Don't try freeing everything again. */
|
||||
if (entered)
|
||||
if (entered_free_all_mem)
|
||||
return;
|
||||
entered = true;
|
||||
entered_free_all_mem = true;
|
||||
|
||||
// Don't want to trigger autocommands from here on.
|
||||
block_autocmds();
|
||||
|
@ -572,9 +572,9 @@ static int included_patches[] = {
|
||||
1871,
|
||||
// 1870 NA
|
||||
// 1869 NA
|
||||
// 1868,
|
||||
1868,
|
||||
1867,
|
||||
// 1866,
|
||||
1866,
|
||||
// 1865 NA
|
||||
// 1864 NA
|
||||
// 1863 NA
|
||||
|
Loading…
Reference in New Issue
Block a user