Subject: Re: bug#78980: 31.0.50; C-z crashes emacsclient -nw

From: Gerd Möllmann <[email-masked]>
Date: Thu, 10 Jul 2025 17:08:37 +0200

martin rudalics <[email-masked]> writes:

>  > The functionality on GUIs sounds like we should have something like
>  >
>  >    bool is_displayed(struct frame *f) {
>  >        // Öeave window system frames alone
>  >        if (!is_tty_frame(f))
>  >            return true;
>  >        // Don't display if not marked visible.
>  >        if (!FRAME_VISIBLE_P(f))
>  >            return false;
>  >        // If marked visible but parent isn't displayed
>  >        const struct frame *oarent = FRAME_PARENT_FRAME(f);
>  >        return parent ? is_displayed(parent) : true;
>  >    }
>  >
>  > WDYT?
>
> But that's precisely what frame_redisplay_p is supposed to accomplish.
> Look at the patch below which further simplifies what Pip Cet proposed
> earlier.

Than I guess I've simply not understood what's going on. Or maybe the
problem is that a call to frame_redisplay_p is missing in
redisplay_interlal, where is_tty_root_frame_with_visible_child is
called? Anyway, I'll better shut up :-).