function luaK.goiftrue(V,I,b)local p V:dischargevars(I,b)local h=b.k if h=="\086\075"or h=="\086\075\078\085\077"or h=="\086\084\082\085\069"then p=V.NO_JUMP elseif h=="\086\070\065\076\083\069"then p=V:jump(I)elseif h=="\086\074\077\080"then V:invertjump(I,b)p=b.info else p=V:jumponcond(I,b,false)end b.f=V:concat(I,b.f,p)V:patchtohere(I,b.t)b.t=V.NO_JUMP end
------------------------------------------------------------------------
--
-- * used in luaK:infix(), (lparser) luaY:cond()
------------------------------------------------------------------------
function luaK:goiftrue(fs, e)
	local pc -- pc of last jump
	self:dischargevars(fs, e)
	local k = e.k
	if k == "VK" or k == "VKNUM" or k == "VTRUE" then
		pc = self.NO_JUMP -- always true; do nothing
	elseif k == "VFALSE" then
		pc = self:jump(fs) -- always jump
	elseif k == "VJMP" then
		self:invertjump(fs, e)
		pc = e.info
	else
		pc = self:jumponcond(fs, e, false)
	end
	e.f = self:concat(fs, e.f, pc) -- insert last jump in `f' list
	self:patchtohere(fs, e.t)
	e.t = self.NO_JUMP
end
