emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Final" version of tty child frames


From: Gerd Möllmann
Subject: Re: "Final" version of tty child frames
Date: Wed, 08 Jan 2025 11:29:06 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

martin rudalics <rudalics@gmx.at> writes:

> The cause is that my 'tty-make-child-frame' has
>
>        `((parent-frame . ,(selected-frame))
> ...
>          (minibuffer . nil)
>
> but the consequences are completely unclear to me.  What happens is that
> make_terminal_frame has this
>
>         if (EQ (mini, Qnone) || NILP (mini))
>           f = make_frame_without_minibuffer (Qnil, kb, Qnil);
>
> which reenters make_terminal_frame and does
>
>       if (FRAME_LIVE_P (root))
>       SET_FRAME_VISIBLE (root, false);
>
> for the old selected "root" frame.

Guess that wasn't what I intended :-).

> What's the purpose of creating a new top frame without minibuffer
> here?

The frame from make_frame_without_minibuffer is supposed to become a
child frame at bit later

      if (f == NULL)
        f = make_frame (true);
      f->parent_frame = parent;
      ^^^^^^^^^^^^^^^^^^^^^^^^

> We end up with three frames - the initial one, the child frame and the
> new root frame without minibuffer.  redisplay_internal eventually
> detects here

I've not yet understood where the third frame is created. Probably have to
see this in the debugger to get into this again.

Could you please submit a bug so that I don't forget looking into this?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]