Subject: Re: bug#45412: File ... is large (... MiB), really open? (y)es or (n)o or (l)iterally

From: Juri Linkov <[email-masked]>
Date: Sun, 11 Apr 2021 01:52:56 +0300

>>>> Another approach could be to offer a C-h binding that opens a help
>>>> window that describes the possible options and briefly links to the
>>>> customization entry point that removes the prompt permanently.
>>>
>>> Yeah, that sounds like a good idea.
>>
>> I agree, this is really the best idea.
>
> OK, I've implemented it in the attached patch.  Suggestions
> welcome.
>
> +            (while (null choice)
> +              (setq choice (read-char-choice
> +                            (concat prompt " (y)es, (n)o, (l)iterally, (?)")
> +                            '(?y ?Y ?n ?N ?l ?L ?? ?\C-h)))
> +              (when (memq choice '(?? ?\C-h))
> +                (files--ask-user-about-large-file-help
> +                 op-type (funcall byte-count-to-string-function size))

To avoid the additional loop, maybe it's easier just to let-bind
the variable 'help-form' that is handled by 'read-char-choice'.