webmcp

annotate framework/env/execute/inner.lua @ 29:0b7e87f2dc91

add trace.debug_traceback() function

It inserts a traceback into the trace debug log. Usefull on development of unknown code.
author Daniel Poelzleithner <poelzi@poelzi.org>
date Mon Sep 20 15:29:23 2010 +0200 (2010-09-20)
parents 9fdfb27f8e67
children 1fcdd5c6f498
rev   line source
jbe/bsw@0 1 --[[--
jbe/bsw@0 2 execute.inner()
jbe/bsw@0 3
jbe/bsw@0 4 It is MANDATORY to call this function once in each filter of a WebMCP application. Calling execute.inner() calls the next filter in the filter chain, or the view or action, if there are no more filters following. Code executed BEFORE calling this function is executed BEFORE the view or action, while code executed AFTER calling this function is executed AFTER the view of action.
jbe/bsw@0 5
jbe/bsw@0 6 --]]--
jbe/bsw@0 7
jbe/bsw@0 8 function execute.inner()
jbe/bsw@0 9 local stack = execute._wrap_stack
jbe/bsw@0 10 local pos = #stack
jbe/bsw@0 11 if pos == 0 then
jbe/bsw@0 12 error("Unexpected call of execute.inner().")
jbe/bsw@0 13 end
jbe/bsw@0 14 local inner_func = stack[pos]
jbe/bsw@0 15 if not inner_func then
jbe/bsw@0 16 error("Repeated call of execute.inner().")
jbe/bsw@0 17 end
jbe/bsw@0 18 stack[pos] = false
jbe/bsw@0 19 inner_func()
jbe/bsw@0 20 end

Impressum / About Us