diff options
author | Tyler Miller <tmillr@proton.me> | 2024-07-03 15:36:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-04 06:36:00 +0800 |
commit | 7f33c1967b78ca8fda11fb0ad4c7f57d563e6ede (patch) | |
tree | 647eeb832c5fd0de361c20119e00857fdf34b3dd /runtime/lua/vim/shared.lua | |
parent | 12c9791e0fef7ee0d6cf6d3b828caa488d6347ea (diff) | |
download | rneovim-7f33c1967b78ca8fda11fb0ad4c7f57d563e6ede.tar.gz rneovim-7f33c1967b78ca8fda11fb0ad4c7f57d563e6ede.tar.bz2 rneovim-7f33c1967b78ca8fda11fb0ad4c7f57d563e6ede.zip |
fix(lua): use rawget() to get __call in vim.is_callable() (#29536)
Lua 5.1 uses a "raw get" to retrieve `__call` from a metatable to
determine if a table is callable. Mirror this behavior in
`vim.is_callable()`.
Diffstat (limited to 'runtime/lua/vim/shared.lua')
-rw-r--r-- | runtime/lua/vim/shared.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua index 621de2b1c2..99530bf72e 100644 --- a/runtime/lua/vim/shared.lua +++ b/runtime/lua/vim/shared.lua @@ -997,7 +997,7 @@ function vim.is_callable(f) if m == nil then return false end - return type(m.__call) == 'function' + return type(rawget(m, '__call')) == 'function' end --- Creates a table whose missing keys are provided by {createfn} (like Python's "defaultdict"). |