webmcp
annotate framework/env/execute/_initializers.lua @ 238:4a735f198ded
Bugfix for globals exception (compare with _G instead of _ENV)
| author | jbe | 
|---|---|
| date | Sat Feb 28 23:58:51 2015 +0100 (2015-02-28) | 
| parents | 6ac7133bb58e | 
| children | f66037207da8 | 
| rev | line source | 
|---|---|
| jbe@214 | 1 function execute._initializers(initializer_path_element) | 
| jbe@214 | 2 local yieldvalue = {} | 
| jbe@214 | 3 local coro = coroutine.wrap(function() | 
| jbe@214 | 4 execute.multi_wrapped( | 
| jbe@214 | 5 execute._create_sorted_execution_list( | 
| jbe@214 | 6 function(add_by_path) | 
| jbe@214 | 7 add_by_path(initializer_path_element) | 
| jbe@214 | 8 add_by_path(WEBMCP_APP_NAME, initializer_path_element) | 
| jbe@214 | 9 end, | 
| jbe@214 | 10 function(full_path, relative_path) | 
| jbe@214 | 11 execute.file_path{ file_path = full_path } | 
| jbe@214 | 12 end | 
| jbe@214 | 13 ), | 
| jbe@214 | 14 function() | 
| jbe@214 | 15 coroutine.yield(yieldvalue) | 
| jbe@214 | 16 end | 
| jbe@214 | 17 ) | 
| jbe@214 | 18 return yieldvalue | 
| jbe@214 | 19 end) | 
| jbe@214 | 20 local function cont() | 
| jbe@214 | 21 assert(coro() == yieldvalue, "Unexpected yield") | 
| jbe@214 | 22 end | 
| jbe@214 | 23 cont() | 
| jbe@214 | 24 execute._finalizers[#execute._finalizers+1] = cont | 
| jbe@214 | 25 end |