# HG changeset patch # User jbe # Date 1469097810 -7200 # Node ID c37d4bf50a4ba1c09ce249c24b077fcf47113469 # Parent e3da778a8bf39f7ff8f9dd3aa789d9249e362ca1 Pass error string of coroutine in execute._initializers diff -r e3da778a8bf3 -r c37d4bf50a4b framework/env/execute/_initializers.lua --- a/framework/env/execute/_initializers.lua Wed Jun 01 19:59:05 2016 +0200 +++ b/framework/env/execute/_initializers.lua Thu Jul 21 12:43:30 2016 +0200 @@ -16,18 +16,19 @@ end ) end) - local success, yieldvalue = coroutine.resume(coro) + local success, value = coroutine.resume(coro) if not success then - error(debug.traceback(coro, "Error in initializer")) + error(debug.traceback(coro, "Error in initializer: " .. tostring(value))) end if coroutine.status(coro) == "dead" then error("Initializers failed to call execute.inner()") - elseif yieldvalue ~= yieldvalue_inner then + elseif value ~= yieldvalue_inner then error("Unexpected yield in initializer") end execute._finalizers[#execute._finalizers+1] = function() - if not coroutine.resume(coro) then - error(debug.traceback(coro, "Error in finalizer")) + local success, value = coroutine.resume(coro) + if not success then + error(debug.traceback(coro, "Error in finalizer: " .. tostring(value))) end if coroutine.status(coro) ~= "dead" then error("Unexpected yield in finalizer")