diff options
author | bfredl <bjorn.linse@gmail.com> | 2024-02-11 15:46:14 +0100 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2024-02-13 11:54:44 +0100 |
commit | 0353dd3029f9ce31c3894530385443a90f6677ee (patch) | |
tree | fa288427461ee2c1ce1c271d01a760977a161bf5 /src/nvim/highlight.c | |
parent | 89135cff030b06f60cd596a9ae81cd9583987517 (diff) | |
download | rneovim-0353dd3029f9ce31c3894530385443a90f6677ee.tar.gz rneovim-0353dd3029f9ce31c3894530385443a90f6677ee.tar.bz2 rneovim-0353dd3029f9ce31c3894530385443a90f6677ee.zip |
refactor(lua): use Arena when converting from lua stack to API args
and for return value of nlua_exec/nlua_call_ref, as this uses
the same family of functions.
NB: the handling of luaref:s is a bit of a mess.
add api_luarefs_free_XX functions as a stop-gap as refactoring
luarefs is a can of worms for another PR:s.
as a minor feature/bug-fix, nvim_buf_call and nvim_win_call now preserves
arbitrary return values.
Diffstat (limited to 'src/nvim/highlight.c')
-rw-r--r-- | src/nvim/highlight.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/highlight.c b/src/nvim/highlight.c index e74ae817d0..5723ea1198 100644 --- a/src/nvim/highlight.c +++ b/src/nvim/highlight.c @@ -212,7 +212,7 @@ int ns_get_hl(NS *ns_hl, int hl_id, bool link, bool nodefault) Error err = ERROR_INIT; recursive++; - Object ret = nlua_call_ref(p->hl_def, "hl_def", args, true, &err); + Object ret = nlua_call_ref(p->hl_def, "hl_def", args, kRetObject, NULL, &err); recursive--; // TODO(bfredl): or "inherit", combine with global value? @@ -221,7 +221,7 @@ int ns_get_hl(NS *ns_hl, int hl_id, bool link, bool nodefault) HlAttrs attrs = HLATTRS_INIT; if (ret.type == kObjectTypeDictionary) { fallback = false; - Dict(highlight) dict = { 0 }; + Dict(highlight) dict = KEYDICT_INIT; if (api_dict_to_keydict(&dict, KeyDict_highlight_get_field, ret.data.dictionary, &err)) { attrs = dict2hlattrs(&dict, true, &it.link_id, &err); @@ -1086,7 +1086,7 @@ HlAttrs dict2hlattrs(Dict(highlight) *dict, bool use_rgb, int *link_id, Error *e // Handle cterm attrs if (dict->cterm.type == kObjectTypeDictionary) { - Dict(highlight_cterm) cterm[1] = { 0 }; + Dict(highlight_cterm) cterm[1] = KEYDICT_INIT; if (!api_dict_to_keydict(cterm, KeyDict_highlight_cterm_get_field, dict->cterm.data.dictionary, err)) { return hlattrs; |