Subject: bug#1305: All code that currently beeps should use visual bell instead

From: Stefan Kangas <[email-masked]>
Date: Mon, 19 Apr 2021 08:26:53 -0500

Lars Ingebrigtsen <[email-masked]> writes:

> Stefan Monnier <[email-masked]> writes:
>
>>> It's more intrusive than what many people are using -- which is neither
>>> an audible nor a visible bell, but just the echo area saying "Quit" when
>>> you hit `C-g' (etc).
>>
>> But those people won't be affected by a change in the default.
>
> Dmitry's useful overview of the various distributions (thanks) had this,
> for instance:
>
> ---
> Prelude and Spacemacs:
>
>   (setq ring-bell-function 'ignore)
> ---
>
> If I understand correctly, this doesn't set `visible-bell', but only
> uses the default value (which is nil).  So changing the default will
> indeed affect these users (until the distributions update themselves to
> set visible-bell to nil).

Is this the scenario you have in mind?

    (setq visible-bell t)
    (setq ring-bell-function #'ignore)
    (defun foo () (interactive) (ding))

    M-x foo RET

This gives no visible bell here.