aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/_async.lua
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/lua/vim/_async.lua')
-rw-r--r--runtime/lua/vim/_async.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/lua/vim/_async.lua b/runtime/lua/vim/_async.lua
index 8abe206a51..47f37b675b 100644
--- a/runtime/lua/vim/_async.lua
+++ b/runtime/lua/vim/_async.lua
@@ -1,6 +1,7 @@
local M = {}
local max_timeout = 30000
+local copcall = package.loaded.jit and pcall or require('coxpcall').pcall
--- @param thread thread
--- @param on_finish fun(err: string?, ...:any)
@@ -21,7 +22,7 @@ local function resume(thread, on_finish, ...)
--- @cast fn -string
--- @type boolean, string?
- local ok, err = pcall(fn, function(...)
+ local ok, err = copcall(fn, function(...)
resume(thread, on_finish, ...)
end)