webmcp
annotate framework/env/slot/use_temporary.lua @ 2:72860d232f32
Version 1.0.2
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
author | jbe/bsw |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | 9fdfb27f8e67 |
children |
rev | line source |
---|---|
jbe/bsw@0 | 1 --[[-- |
jbe/bsw@0 | 2 slot_content = |
jbe/bsw@0 | 3 slot.use_temporary( |
jbe/bsw@0 | 4 function() |
jbe/bsw@0 | 5 ... |
jbe/bsw@0 | 6 end |
jbe/bsw@0 | 7 ) |
jbe/bsw@0 | 8 |
jbe/bsw@0 | 9 This function creates a temporary slot and executes code in a way that slot.put(...) and other functions will write into the temporary slot. Afterwards the contents of the temporary slot are returned as a single string. |
jbe/bsw@0 | 10 |
jbe/bsw@0 | 11 --]]-- |
jbe/bsw@0 | 12 |
jbe/bsw@0 | 13 function slot.use_temporary(block) |
jbe/bsw@0 | 14 local old_slot = slot._active_slot |
jbe/bsw@0 | 15 local temp_slot_reference = {} -- just a unique reference |
jbe/bsw@0 | 16 slot._active_slot = temp_slot_reference |
jbe/bsw@0 | 17 block() |
jbe/bsw@0 | 18 slot._active_slot = old_slot |
jbe/bsw@0 | 19 local result = slot.get_content(temp_slot_reference) |
jbe/bsw@0 | 20 slot.reset(temp_slot_reference) |
jbe/bsw@0 | 21 return result |
jbe/bsw@0 | 22 end |