da0226fa7e
This was found while investigating why luarocks does not work. It was traced to a quite old lnum patch for 5.1.3. I compared against the latest 5.1.4 patch - https://github.com/LuaDist/lualnum and discovered the lessthan/lessequal evaluation was not falling through to the call_orderTM (tag methods). I have tested LuCI (simple tests) and used the following lua code to validate the patch (both host and target patches supplied): - > local my_mt = { > __eq = function(v1, v2) > print("__eq") > return false > end, > __lt = function(v1, v2) > print("__lt") > return false > end, > __le = function(v1, v2) > print("__le") > return false > end > } > > function get_my(vstring) > local my = {} > my.string = vstring; > setmetatable(my, my_mt); > return my; > end > > local a = get_my("1.0") > local b = get_my("1.0") > > local eq_works = a == b; > local lt_works = a < b; > local gt_works = a > b; > > local lte_works = a <= b; > local gte_works = a >= b; Without the patch the following error will be presented: - “attempt to compare two table values” Signed-off-by: David Thornley <david.thornley@touchstargroup.com> |
||
---|---|---|
.. | ||
010-lua-5.1.3-lnum-full-260308.patch | ||
011-lnum-use-double.patch | ||
012-lnum-fix-ltle-relational-operators.patch | ||
015-lnum-ppc-compat.patch | ||
020-shared_liblua.patch | ||
030-archindependent-bytecode.patch | ||
040-use-symbolic-functions.patch | ||
050-honor-cflags.patch | ||
100-no_readline.patch | ||
200-lua-path.patch | ||
300-opcode_performance.patch |