Subject: bug#56535: 28.1; `no' and `no-ding' values for isearch-wrap-pause option (since Emacs 28.1) not working as documented

From: Juri Linkov <[email-masked]>
Date: Wed, 20 Jul 2022 20:51:59 +0300

>> Now we have to find a better name to describe what it really does.
>> Probably it should have the prefix "no-" since it makes no pause
>> like the existing two values 'no' and 'no-ding':
>>
>>   :type '(choice (const :tag "Pause before wrapping" t)
>>                  (const :tag "No pause before wrapping" no)
>>                  (const :tag "No pause and no flashing" no-ding)
>>                  (const :tag "Disable wrapping" nil))
>>
>> This raises the question: should it ding and flash on wrapping?
>> Or two new separate values are needed: one to ding when wrapping
>> on typing a character, and another not to ding?  To ding, or not to ding?
>
> Definitely ding. Lot of people do prefer visual feedback.
>
> How about this?
>
> :type '(choice
> (const :tag "Pause before wrapping" t)
> (const :tag "No pause before wrapping for non-incremental search" nis-no)
> (const :tag "No pause and no flashing for non-incremental search" nis-no-ding)
> ;;This will cover non-incremental searches as well
> (const :tag "Absolutely no pause before wrapping" no)
> ;;This will cover non-incremental searches as well
> (const :tag "Absolutely no pause and no flashing" no-ding)
> (const :tag "Disable wrapping" nil))

I suppose non-incremental search here means repeatable search,
i.e. the search that is being repeated with C-s C-s.
Maybe then better to emphasize this difference explicitly?
For example: 'inc-no' and 'inc-no-ding' for incremental wrapping,
and leave the existing 'no' and 'no-ding' for repeatable wrapping.