Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9529292821 | |||
| d2b65ffde4 |
@ -302,3 +302,8 @@ func (s *State) GetAllLuaFunctions(names ...string) (map[string]*LuaFunction, er
|
|||||||
}
|
}
|
||||||
return funcs, nil
|
return funcs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PushLuaFunction pushes a stored LuaFunction reference onto the stack
|
||||||
|
func (s *State) PushLuaFunction(lf *LuaFunction) {
|
||||||
|
C.lua_rawgeti(s.L, C.LUA_REGISTRYINDEX, C.int(lf.ref))
|
||||||
|
}
|
||||||
|
|||||||
@ -207,6 +207,12 @@ func (s *State) PushValue(v any) error {
|
|||||||
s.PushString(val)
|
s.PushString(val)
|
||||||
case GoFunction:
|
case GoFunction:
|
||||||
return s.PushGoFunction(val)
|
return s.PushGoFunction(val)
|
||||||
|
case *LuaFunction:
|
||||||
|
C.lua_rawgeti(s.L, C.LUA_REGISTRYINDEX, C.int(val.ref))
|
||||||
|
if val.ref == C.LUA_NOREF || val.ref == C.LUA_REFNIL {
|
||||||
|
s.Pop(1)
|
||||||
|
s.PushNil()
|
||||||
|
}
|
||||||
case []int:
|
case []int:
|
||||||
return s.pushIntSlice(val)
|
return s.pushIntSlice(val)
|
||||||
case []string:
|
case []string:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user