def pcall(stack_bottom, arg_count, bndng, filename, lineno)

      #err = Lib.lua_pcall(@pointer, 0, 1, 0)
        # When there's only 1 return value.
        # Use LUA_MULTRET (-1) the rest of the time

      err = Lib.lua_pcall(@pointer, arg_count, LUA_MULTRET, @error_handler)
      fail_if_error('eval:pcall', err, bndng, filename, lineno)

      return_result(stack_bottom)
    end
def pcall(stack_bottom, arg_count, bndng, filename, lineno)

      #err = Lib.lua_pcall(@pointer, 0, 1, 0)
        # When there's only 1 return value.
        # Use LUA_MULTRET (-1) the rest of the time

      err = Lib.lua_pcall(@pointer, arg_count, LUA_MULTRET, @error_handler)
      fail_if_error('eval:pcall', err, bndng, filename, lineno)

      return_result(stack_bottom)
    end
Assumes the Lua stack is loaded with a ref to a method and arg_count
 arguments (on top of the method), will then call that Lua method and
 return a result.

 Will raise an error in case of failure.