Subject: Re: bug#41340: 26.3; ido-completing-read doesn't respect completion-auto-help

From: "Ryan C. Thompson" <[email-masked]>
Date: Wed, 20 May 2020 10:20:06 -0400

On 5/20/20 10:12 AM, Ryan C. Thompson wrote:
> Ok, I figured out the difference between t and `lazy', and I 
> determined that the lazy setting is not meaningful for ido, since ido 
> already eagerly shows completions at all times. Hence, the attached 
> patch teaches ido how to respect `completion-auto-help' being set to 
> nil but doesn't make any special allowance for `lazy'. The existing 
> behavior of ido is already correct when `completion-auto-help' is 
> non-nil.

Actually, on further consideration, I've realized a problem with this 
approach: this patch uses the value of `completion-auto-help' to 
determine whether to call `ido-cannot-complete-command'. However, the 
ido documentation mentions the possibility of setting 
`ido-cannot-complete-command' to `ido-next-match', which allows the user 
to cycle through available completions with repeated TAB presses. This 
patch kind of breaks that, in the sense that `completion-auto-help' ends 
up affecting something totally unrelated.

Perhaps an better approach would be to define an auxiliary wrapper 
function that only calls `ido-completion-help' if `completion-auto-help' 
is non-nil, and set that as the default for `ido-cannot-complete-command'.