[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#39558: 26.3; icomplete and display *Completions* in child frame
From: |
Andrii Kolomoiets |
Subject: |
bug#39558: 26.3; icomplete and display *Completions* in child frame |
Date: |
Wed, 12 Feb 2020 11:15:18 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (darwin) |
Eli Zaretskii <eliz@gnu.org> writes:
>> 1. emacs -Q
>> 2. evaluate
>> (customize-set-variable
>> 'display-buffer-alist
>> '(("\\*Completions\\*" display-buffer-in-child-frame)))
>> 3. M-x icomplete-mode
>> 4. M-x f<TAB>
>>
>> Error in post-command-hook (icomplete-post-command-hook):
>> (wrong-type-argument number-or-marker-p nil)
>
> 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.)