# HG changeset patch # User jbe/bsw # Date 1260442800 -3600 # Node ID 72860d232f32b1449b830d9cc969142499d1a758 # Parent 985024b165202b59b2518cf6dc2271e1723a8218 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. diff -r 985024b16520 -r 72860d232f32 demo-app/config/demo.lua --- a/demo-app/config/demo.lua Tue Nov 17 12:00:00 2009 +0100 +++ b/demo-app/config/demo.lua Thu Dec 10 12:00:00 2009 +0100 @@ -45,3 +45,4 @@ :optional_object_mode() :exec() end + diff -r 985024b16520 -r 72860d232f32 doc/autodoc-header.htmlpart --- a/doc/autodoc-header.htmlpart Tue Nov 17 12:00:00 2009 +0100 +++ b/doc/autodoc-header.htmlpart Thu Dec 10 12:00:00 2009 +0100 @@ -55,10 +55,10 @@ color: #505050; } - WebMCP 1.0.1 Documentation + WebMCP 1.0.2 Documentation -

WebMCP 1.0.1 Documentation

+

WebMCP 1.0.2 Documentation

WebMCP is a completely new web development framework, and has not been extensively tested yet. The API might change at any time, but in future releases there will be a list of all changes, which break downward compatibility.

diff -r 985024b16520 -r 72860d232f32 framework/cgi-bin/webmcp.lua --- a/framework/cgi-bin/webmcp.lua Tue Nov 17 12:00:00 2009 +0100 +++ b/framework/cgi-bin/webmcp.lua Thu Dec 10 12:00:00 2009 +0100 @@ -1,6 +1,6 @@ #!/usr/bin/env lua -_WEBMCP_VERSION = "1.0.1" +_WEBMCP_VERSION = "1.0.2" -- include "../lib/" in search path for libraries do @@ -346,10 +346,14 @@ end if not request.get_redirect_data() then + local view = request.get_view() + if string.find(view, "^_") then + error("Tried to call a private view (prefixed with underscore).") + end request.process_forward() execute.filtered_view{ module = request.get_module(), - view = request.get_view(), + view = view, } end diff -r 985024b16520 -r 72860d232f32 framework/env/ui/paginate.lua --- a/framework/env/ui/paginate.lua Tue Nov 17 12:00:00 2009 +0100 +++ b/framework/env/ui/paginate.lua Thu Dec 10 12:00:00 2009 +0100 @@ -25,6 +25,9 @@ local count = count_selector:exec().count local page_count = math.floor((count - 1) / per_page) + 1 local current_page = atom.integer:load(cgi.params[name]) or 1 + if current_page > page_count then + current_page = page_count + end selector:limit(per_page) selector:offset((current_page - 1) * per_page) local id = param.get_id_cgi() diff -r 985024b16520 -r 72860d232f32 libraries/rocketcgi/rocketcgi.lua --- a/libraries/rocketcgi/rocketcgi.lua Tue Nov 17 12:00:00 2009 +0100 +++ b/libraries/rocketcgi/rocketcgi.lua Thu Dec 10 12:00:00 2009 +0100 @@ -1,25 +1,26 @@ #!/usr/bin/env lua -local assert = assert -local error = error -local getfenv = getfenv -local getmetatable = getmetatable -local ipairs = ipairs -local next = next -local pairs = pairs -local pcall = pcall -local print = print -local rawequal = rawequal -local rawget = rawget -local rawset = rawset -local select = select -local setfenv = setfenv -local setmetatable = setmetatable -local tonumber = tonumber -local tostring = tostring -local type = type -local unpack = unpack -local xpcall = xpcall +local assert = assert +local collectgarbage = collectgarbage +local error = error +local getfenv = getfenv +local getmetatable = getmetatable +local ipairs = ipairs +local next = next +local pairs = pairs +local pcall = pcall +local print = print +local rawequal = rawequal +local rawget = rawget +local rawset = rawset +local select = select +local setfenv = setfenv +local setmetatable = setmetatable +local tonumber = tonumber +local tostring = tostring +local type = type +local unpack = unpack +local xpcall = xpcall local io = io local math = math