diff --git a/_glua-tests/issues.lua b/_glua-tests/issues.lua index 65a2c7f4..6d6343ab 100644 --- a/_glua-tests/issues.lua +++ b/_glua-tests/issues.lua @@ -470,6 +470,16 @@ function test() end test() +-- issue #455 +function test() + local path = "." + local fd, _, code = io.open(path, "r") + assert(fd ~= nil) + local _, _, ecode = fd:read(1) + assert(ecode == 1) +end +test() + -- issue #459 function test() local a, b = io.popen("ls", nil) diff --git a/iolib.go b/iolib.go index 3f5f295c..781b18ff 100644 --- a/iolib.go +++ b/iolib.go @@ -404,10 +404,10 @@ normalreturn: return L.GetTop() - top errreturn: - L.RaiseError(err.Error()) - //L.Push(LNil) - //L.Push(LString(err.Error())) - return 2 + L.Push(LNil) + L.Push(LString(err.Error())) + L.Push(LNumber(1)) // C-Lua compatibility: Original Lua pushes errno to the stack + return 3 } var fileSeekOptions = []string{"set", "cur", "end"}