forked from aniani/vim
patch 7.4.2104
Problem: Code duplication when unreferencing a function. Solution: De-duplicate.
This commit is contained in:
@@ -2640,11 +2640,11 @@ ex_delfunction(exarg_T *eap)
|
|||||||
void
|
void
|
||||||
func_unref(char_u *name)
|
func_unref(char_u *name)
|
||||||
{
|
{
|
||||||
ufunc_T *fp;
|
ufunc_T *fp = NULL;
|
||||||
|
|
||||||
if (name == NULL)
|
if (name == NULL)
|
||||||
return;
|
return;
|
||||||
else if (isdigit(*name))
|
if (isdigit(*name))
|
||||||
{
|
{
|
||||||
fp = find_func(name);
|
fp = find_func(name);
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
@@ -2654,25 +2654,18 @@ func_unref(char_u *name)
|
|||||||
#endif
|
#endif
|
||||||
EMSG2(_(e_intern2), "func_unref()");
|
EMSG2(_(e_intern2), "func_unref()");
|
||||||
}
|
}
|
||||||
else if (--fp->uf_refcount <= 0)
|
|
||||||
{
|
|
||||||
/* Only delete it when it's not being used. Otherwise it's done
|
|
||||||
* when "uf_calls" becomes zero. */
|
|
||||||
if (fp->uf_calls == 0)
|
|
||||||
func_free(fp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (STRNCMP(name, "<lambda>", 8) == 0)
|
else if (STRNCMP(name, "<lambda>", 8) == 0)
|
||||||
{
|
{
|
||||||
/* fail silently, when lambda function isn't found. */
|
/* fail silently, when lambda function isn't found. */
|
||||||
fp = find_func(name);
|
fp = find_func(name);
|
||||||
if (fp != NULL && --fp->uf_refcount <= 0)
|
}
|
||||||
{
|
if (fp != NULL && --fp->uf_refcount <= 0)
|
||||||
/* Only delete it when it's not being used. Otherwise it's done
|
{
|
||||||
* when "uf_calls" becomes zero. */
|
/* Only delete it when it's not being used. Otherwise it's done
|
||||||
if (fp->uf_calls == 0)
|
* when "uf_calls" becomes zero. */
|
||||||
func_free(fp);
|
if (fp->uf_calls == 0)
|
||||||
}
|
func_free(fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -758,6 +758,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2104,
|
||||||
/**/
|
/**/
|
||||||
2103,
|
2103,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user