Merge pull request #17590 from bfredl/cbfree

refactor(autocmd): simplify check for freed callback
This commit is contained in:
bfredl 2022-03-03 15:41:38 +01:00 committed by GitHub
commit ff20d9b106
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 22 deletions

View File

@ -2473,7 +2473,7 @@ bool aucmd_exec_is_deleted(AucmdExecutable acc)
case CALLABLE_EX: case CALLABLE_EX:
return acc.callable.cmd == NULL; return acc.callable.cmd == NULL;
case CALLABLE_CB: case CALLABLE_CB:
return callback_is_freed(acc.callable.cb); return acc.callable.cb.type == kCallbackNone;
case CALLABLE_NONE: case CALLABLE_NONE:
return true; return true;
} }

View File

@ -1155,27 +1155,6 @@ void callback_free(Callback *callback)
callback->data.funcref = NULL; callback->data.funcref = NULL;
} }
/// Check if callback is freed
bool callback_is_freed(Callback callback)
{
switch (callback.type) {
case kCallbackFuncref:
return false;
break;
case kCallbackPartial:
return false;
break;
case kCallbackLua:
return callback.data.luaref == LUA_NOREF;
break;
case kCallbackNone:
return true;
break;
}
return true;
}
/// Copy a callback into a typval_T. /// Copy a callback into a typval_T.
void callback_put(Callback *cb, typval_T *tv) void callback_put(Callback *cb, typval_T *tv)
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_ALL