def fail_if_error(kind, err, bndng, filename, lineno)

      return if err < 1

      s = Lib.lua_tolstring(@pointer, -1, nil).read_string
      Lib.lua_settop(@pointer, -2)

      fail LuaError.new(kind, err, s, bndng, filename, lineno)
    end
def fail_if_error(kind, err, bndng, filename, lineno)

      return if err < 1

      s = Lib.lua_tolstring(@pointer, -1, nil).read_string
      Lib.lua_settop(@pointer, -2)

      fail LuaError.new(kind, err, s, bndng, filename, lineno)
    end
--
 Resumes a coroutine (that has been placed, under its arguments,
 on top of the stack).

def do_resume(stack_bottom, arg_count)
  err = Lib.lua_resume(@pointer, arg_count)
  fail_if_error('eval:resume', err, nil, nil, nil)
  return_result(stack_bottom)
end
++
 This method will raise an error with err > 0, else it will immediately
 return.