Subject: bug#39558: 26.3; icomplete and display *Completions* in child frame

From: Alan Third <[email-masked]>
Date: Wed, 11 Aug 2021 22:16:18 +0100

On Wed, Aug 11, 2021 at 02:34:37PM +0200, Lars Ingebrigtsen wrote:
> Andrii Kolomoiets <[email-masked]> writes:
> 
> >> I cannot reproduce this, so maybe this is Darwin-specific.
> >
> > You are right.
> >
> > There are this code in lisp/term/ns-win.el:581:
> > (add-hook 'after-make-frame-functions 'select-frame)
> >
> > Evaluating it allow you to catch that error in
> > icomplete-post-command-hook under X as well.
> >
> > To avoid original issue under Darwin:
> >
> > (setq after-make-frame-functions nil)
> > (customize-set-variable
> >  'display-buffer-alist
> >  '(("\\*Completions\\*" display-buffer-in-child-frame
> >     (child-frame-parameters . ((minibuffer . nil))))))
> >
> > (The `(minibuffer . nil)' frame parameter is required if we want to leave
> > focus on original frame. IDK why `(no-focus-on-map . t)' doesn't help
> > here.)
> 
> Andrii, are you still seeing this issue in more recent versions of
> Emacs?  If so, perhaps Alan has some comments here (added to the CCs).

I don't know if it's any help but the after-make-frame-functions
setting is related to bug#3397.

I've had a look and haven't been able to work out what we need to do
to fix that one.

-- 
Alan Third