Subject: bug#61943: 29.0.60; icomplete--in-region-setup should activate icomplete-fido-mode-map too

From: Sean Whitton <[email-masked]>
Date: Fri, 03 Mar 2023 19:13:04 -0700

Hello,

On Fri 03 Mar 2023 at 08:26PM GMT, João Távora wrote:

> I imagined it would show the typical constantly-adjusting
> fido-mode/icomplete list of candidates in the echo area, but it
> doesn't, only for in-buffer instead of minibuffer.
> Instead, it seems to popup *Completions* as usual.
>
> Am I being dense here? How do you set it up? Is it just
> (setq icomplete-in-buffer t) + M-x fido-mode as I did?
> And how do you invoke it? Is it C-M-i?

Well, the candidates are meant to appear as an overlay after point, not
in the minibuffer.  However, there's something strange going on in that
sometimes you can get the candidates display in-buffer but *also* the
*Completions* buffer popping up.

Sometimes this happens and sometimes it doesn't, I haven't figured out
the pattern yet ...

>> I am a fido-mode user.  I noticed that my custom bindings for the
>> fido-mode minibuffer don't work for in-buffer completion.  I think that
>> icomplete--in-region-setup should compose in icomplete-fido-mode-map, in
>> addition to icomplete-minibuffer-map, in the case that fido-mode is on?
>
> This probably makes sense, but please, for my benefit, try to show
> a minimal config with just Emacs -Q and your keybindings that
> you want to use in both fido modes.

Sure, e.g. evaluating these forms in emacs -Q:

(setq icomplete-in-buffer t)
(fido-mode 1)
(define-key icomplete-fido-mode-map [?\M-.] #'icomplete-forward-completions)
(define-key icomplete-fido-mode-map [?\M-,] #'icomplete-backward-completions)

..  then do something like typing "icomplete- into *scratch* and then C-M-i.

-- 
Sean Whitton