Fixed wrong error message in 'return math.seed(0)'

Bug introduced in commit 28d829c8: OP_TAILCALL might raise an
error without saving 'pc'. (This commit also fixes a detail in
'testes/uf8.lua'.)
This commit is contained in:
Roberto Ierusalimschy
2019-04-04 16:31:24 -03:00
parent 5ca1075b71
commit 8004798b03
3 changed files with 11 additions and 5 deletions

View File

@@ -99,6 +99,10 @@ assert(not string.find(doit"a={13}; local bbbb=1; a[bbbb](3)", "'bbbb'"))
checkmessage("a={13}; local bbbb=1; a[bbbb](3)", "number")
checkmessage("a=(1)..{}", "a table value")
-- tail calls
checkmessage("local a={}; return a.bbbb(3)", "field 'bbbb'")
checkmessage("a={}; do local a=1 end; return a:bbbb(3)", "method 'bbbb'")
checkmessage("a = #print", "length of a function value")
checkmessage("a = #3", "length of a number value")

View File

@@ -66,7 +66,7 @@ local function check (s, t, nonstrict)
assert(utf8.len(s, pi, pi1 - 1, nonstrict) == 1)
assert(utf8.len(s, pi, -1, nonstrict) == l - i + 1)
assert(utf8.len(s, pi1, -1, nonstrict) == l - i)
assert(utf8.len(s, 1, pi, -1, nonstrict) == i)
assert(utf8.len(s, 1, pi, nonstrict) == i)
end
local i = 0