summaryrefslogtreecommitdiff
path: root/lib/supple/comms.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/supple/comms.lua')
-rw-r--r--lib/supple/comms.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/supple/comms.lua b/lib/supple/comms.lua
index 25aeb39..d175bff 100644
--- a/lib/supple/comms.lua
+++ b/lib/supple/comms.lua
@@ -20,6 +20,7 @@ local tonumber = tonumber
local error = error
local getinfo = debug.getinfo
local concat = table.concat
+local xpcall = xpcall
local fd = -1
@@ -55,9 +56,11 @@ local function captcha(msg)
local traceback = {}
local level = 2
local info = getinfo(level, "Snlf")
- while info do
- if info.currentline > 0 and
- not info.short_src:match("/supple/[^%.]+%.lua$") then
+ local function in_supple()
+ return info.short_src:match("/supple/[^%.]+%.lua$")
+ end
+ while info and info.func ~= xpcall do
+ if info.currentline > 0 and not in_supple() then
local ttype, tag = objects.find_tag(info.func)
if ttype then
info.name = tag