Mercurial > vim
comparison src/eval.c @ 9165:062eb6d28b0c v7.4.1866
commit https://github.com/vim/vim/commit/a96732150cda2f242133228579b05437a39b8daa
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 1 22:21:06 2016 +0200
patch 7.4.1866
Problem: Invalid memory access when exiting with EXITFREE defined.
(Dominique Pelle)
Solution: Set "really_exiting" and skip error messages.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 01 Jun 2016 22:30:07 +0200 |
parents | 731ee601de16 |
children | 9bbe6ec0e6dc |
comparison
equal
deleted
inserted
replaced
9164:fe7386df8418 | 9165:062eb6d28b0c |
---|---|
25346 | 25346 |
25347 if (name != NULL && isdigit(*name)) | 25347 if (name != NULL && isdigit(*name)) |
25348 { | 25348 { |
25349 fp = find_func(name); | 25349 fp = find_func(name); |
25350 if (fp == NULL) | 25350 if (fp == NULL) |
25351 EMSG2(_(e_intern2), "func_unref()"); | 25351 { |
25352 /* Ignore when invoked through free_all_mem(). */ | |
25353 if (!really_exiting) | |
25354 EMSG2(_(e_intern2), "func_unref()"); | |
25355 } | |
25352 else if (--fp->uf_refcount <= 0) | 25356 else if (--fp->uf_refcount <= 0) |
25353 { | 25357 { |
25354 /* Only delete it when it's not being used. Otherwise it's done | 25358 /* Only delete it when it's not being used. Otherwise it's done |
25355 * when "uf_calls" becomes zero. */ | 25359 * when "uf_calls" becomes zero. */ |
25356 if (fp->uf_calls == 0) | 25360 if (fp->uf_calls == 0) |