Subject: Re: bug#38992: 27.0.60; when enabled, fido-mode seems to break vc-git-grep

From: [email-masked]
Date: Tue, 21 Jan 2020 17:02:58 +0000 (GMT)

Hi,

I think the original problem is fixed. Now it is a question of how the fido should behave. 

The only thing I would suggest for Emacs 27 is to update the documentation of fido? This is what confused me because M-j is not mentioned by 'M-x describe-mode' and C-M-i is not the correct key for the situation where there are no matches. This confused me.

Thanks!

----

When this global minor mode is enabled, typing in the minibuffer
continuously displays a list of possible completions that match
the string you have typed.  See ‘icomplete-completions’ for a
description of how prospective completions are displayed.

For more information, see Info node ‘(emacs)Icomplete’.
For options you can set, ‘M-x customize-group icomplete’.

You can use the following key bindings to navigate and select
completions:

key             binding
---             -------

C-j		icomplete-force-complete-and-exit
ESC		Prefix Command
C-,		icomplete-backward-completions
C-.		icomplete-forward-completions

C-M-i		icomplete-force-complete


Line-Number minor mode (no indicator):
Toggle line number display in the mode line (Line Number mode).

-----

(defvar icomplete-fido-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map (kbd "C-k") 'icomplete-fido-kill)
    (define-key map (kbd "C-d") 'icomplete-fido-delete-char)
    (define-key map (kbd "RET") 'icomplete-fido-ret)
    (define-key map (kbd "C-m") 'icomplete-fido-ret)
    (define-key map (kbd "DEL") 'icomplete-fido-backward-updir)
    (define-key map (kbd "M-j") 'exit-minibuffer)
    (define-key map (kbd "C-s") 'icomplete-forward-completions)
    (define-key map (kbd "C-r") 'icomplete-backward-completions)
    (define-key map (kbd "<right>") 'icomplete-forward-completions)
    (define-key map (kbd "<left>") 'icomplete-backward-completions)
    (define-key map (kbd "C-.") 'icomplete-forward-completions)
    (define-key map (kbd "C-,") 'icomplete-backward-completions)
    map)

> On 21 January 2020 16:41 João Távora <[email-masked]> wrote:
> 
>  
> On Tue, Jan 21, 2020 at 4:32 PM Stefan Monnier <[email-masked]> wrote:
> 
> > In any case I was just pointing out that adding the default to the head
> > of the "completion candidates" increases the cases where the current
> > problem shows up.
> 
> Can anyone comment, or restate, for my benefit, what exactly the
> "current problem" is?
> 
> Is it statable in the form "currently <in this situation>  I can't use
> RET to <do this
> particular thing>, as I do in <ido-moe, foo-mode, bare completion, etc>"?
> 
> I've been using `fido-mode` pretty stable for the last month or so and don't
> notice any "obvious" improvements _to its intented interface_. Obviously,
> I am _all_ for refactorings and cleanups, but am also against any
> _regressions_ ;-), so if there are no very clearly defined improvements
> to the interface (this is a new feature, after all) , I would suggest that
> this work is done on master, not  on emacs-27.
> 
> João