Skip to content

Commit 293e22e

Browse files
authored
Merge branch 'master' into fix-xpcall-error-in-error-handler
2 parents 6543bc9 + 018eaa0 commit 293e22e

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

_glua-tests/issues.lua

+12-1
Original file line numberDiff line numberDiff line change
@@ -468,4 +468,15 @@ function test()
468468
end)
469469
assert(not ok)
470470
end
471-
test()
471+
test()
472+
473+
-- issue #459
474+
function test()
475+
local a, b = io.popen("ls", nil)
476+
assert(a)
477+
assert(b == nil)
478+
local a, b = io.popen("ls", nil, nil)
479+
assert(a)
480+
assert(b == nil)
481+
end
482+
test()

iolib.go

+3
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,9 @@ func ioPopen(L *LState) int {
658658
cmd := L.CheckString(1)
659659
if L.GetTop() == 1 {
660660
L.Push(LString("r"))
661+
} else if L.GetTop() > 1 && (L.Get(2)).Type() == LTNil {
662+
L.SetTop(1)
663+
L.Push(LString("r"))
661664
}
662665
var file *LUserData
663666
var err error

0 commit comments

Comments
 (0)