bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#45474: Icomplete exhibiting in recursive minibuffer when it shouldn’


From: Gregory Heytings
Subject: bug#45474: Icomplete exhibiting in recursive minibuffer when it shouldn’t
Date: Thu, 15 Apr 2021 17:40:04 +0000



How to reproduce from emacs -Q:

 (setq enable-recursive-minibuffers t)
 (setq icomplete-show-matches-on-no-input t)
 M-x icomplete-mode RET
 C-x C-f
   [Icomplete now exhibits some filenames in the minibuffer]
 M-:
   [Icomplete shouldn’t exhibit anything here but it still
    exhibits the filenames from the previous step and even
    allows you to complete them with C-j]

You can replace C-x C-f with other similar commands, e.g., C-x b or M-x. I’m not sure if this bug comes from how Icomplete configures itself or the implementation of recursive minibuffers. It appears that icomplete-simple-completing-p returns t when the M-: is happening in a recursive minibuffer, even though it should return nil so that Icomplete doesn’t configure itself.

If the M-: is not in a recursive minibuffer, everything is OK since icomplete-simple-completing-p returns nil.


Indeed; patch attached. Ideally this should be done inside icomplete-minibuffer-setup, but if we did this (by checking minibuffer-completing-symbol), it would prevent icomplete-mode from being active in the opposite situation: M-: followed by C-x C-f.

Attachment: Disable-icomplete-mode-when-reading-an-Emacs-Lisp-ex.patch
Description: Text Data


reply via email to

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