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: Eli Zaretskii
Subject: Re: "Final" version of tty child frames
Date: Sat, 11 Jan 2025 12:51:27 +0200

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: Jared Finder <jared@finder.org>,  Eli Zaretskii <eliz@gnu.org>,
>   emacs-devel@gnu.org
> Date: Thu, 09 Jan 2025 11:45:45 +0100
> 
> martin rudalics <rudalics@gmx.at> writes:
> 
> >> I've not yet understood where the third frame is created. Probably have to
> >> see this in the debugger to get into this again.
> >
> > Without really checking it must be here
> >
> >       /* Use default-minibuffer-frame if possible.  */
> >       if (!FRAMEP (KVAR (kb, Vdefault_minibuffer_frame))
> >       || ! FRAME_LIVE_P (XFRAME (KVAR (kb, Vdefault_minibuffer_frame))))
> >     {
> >       Lisp_Object initial_frame;
> >
> >       /* If there's no minibuffer frame to use, create one.  */
> >       initial_frame = call1 (Qmake_initial_minibuffer_frame,
> >                              display);
> >       kset_default_minibuffer_frame (kb, initial_frame);
> >     }
> >
> > 'default-minibuffer-frame' on ttys is nil, only 'x-create-frame' and the
> > like set it AFAICT.  Even if it were some frame, it might be of no use:
> > On a tty the mini window to use _must_ be on the visible frame.  So
> > Emacs makes a new initial_frame and uses that frame's mini window.  But
> > the child frame gets another root frame and sooner or later this will
> > crash anyway.  The attached patch fixes it here.
> 
> That would have taken me some time to understand :-). 
> 
> > martin (who can still post a bug report if you think it's needed)
> 
> If that solves everything you reported previously, no bug needed. LGTM.
> (Sorry, I'm a bit forgetful when I'm doing something else, and a todo
> list doesn't really help, it seems to grow only.)
> 
> LGTM, please apply.

Now installed on the master branch, thanks.



reply via email to

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