GNU bug report logs - #77715
[PATCH] Add ring-bell functions for mode line and header line.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Elijah Gabe Pérez <eg642616@HIDDEN>; Keywords: patch; dated Thu, 10 Apr 2025 17:56:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 13:41:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 30 09:41:43 2025
Received: from localhost ([127.0.0.1]:40871 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uA7h1-000191-HP
	for submit <at> debbugs.gnu.org; Wed, 30 Apr 2025 09:41:43 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:46728)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1uA7gx-00018Y-Nz
 for 77715 <at> debbugs.gnu.org; Wed, 30 Apr 2025 09:41:40 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1uA7gr-0001ET-Nw; Wed, 30 Apr 2025 09:41:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ZgeDGw+7s5K3SoKqUWIfQw5g4KVOeU/QQrBuL80dfnY=; b=gdfcE57eN217
 9g0VHeWp6Z8SeprCVjzG+h1WM2Brbhs11ssQkxcwia3zp+hdnwuMVVfGa7HVD3BFiRbphfx8jfqbN
 D8z4cQAT1e6Mx73khYbhltW3EkKNwIhDcKSuRM6lU/t1dgCfHzo0cECNw1XC8bJbm2uHSiliCFj2u
 NuEYLHCkfcmv0KUoYCi8g9qi5KBFphbtAtdEldLLnnc3SwXaZg50j2zlVGqEs4YXyyrFTksrGRCA/
 b633Q+y9egoCQrMD5rB/D3vUksuBGPN+v9xZ6MCMng3I6QQkG0yYyBcKaa2OSbCDxlBJNNENt2y+u
 eKo5oB7IbKuY0RcyZ1aVJA==;
Date: Wed, 30 Apr 2025 16:41:30 +0300
Message-Id: <864iy5ojg5.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Ship Mints <shipmints@HIDDEN>
In-Reply-To: <CAN+1HbqW3pfhhE4-GNO5MuQ+CNDkc0Sr2rcxw8etf=FhLR+nkA@HIDDEN>
 (message from Ship Mints on Wed, 30 Apr 2025 09:10:05 -0400)
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN> <86ldrkr01n.fsf@HIDDEN>
 <87plgwyune.fsf@HIDDEN> <861ptbr0ks.fsf@HIDDEN> <87msby7brp.fsf@HIDDEN>
 <CAN+1HbqW3pfhhE4-GNO5MuQ+CNDkc0Sr2rcxw8etf=FhLR+nkA@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77715
Cc: eg642616@HIDDEN, 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Ship Mints <shipmints@HIDDEN>
> Date: Wed, 30 Apr 2025 09:10:05 -0400
> Cc: Eli Zaretskii <eliz@HIDDEN>, 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
> 
> Face flashing isn't a feature of bell ringing, it's the opposite.

??? Then why is ring-bell-functions being mentioned?

> I'd consider putting the face flashing code with
> face-related code so it's clear faces can be flashed anywhere for any reason the users want.

But this code is not general enough for that.  It was written
explicitly for additional optional values for ring-bell-functions, as
the doc strings say.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 13:10:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 30 09:10:27 2025
Received: from localhost ([127.0.0.1]:40691 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uA7Cl-0007o7-7R
	for submit <at> debbugs.gnu.org; Wed, 30 Apr 2025 09:10:27 -0400
Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]:57376)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1uA7Cg-0007ng-Uj
 for 77715 <at> debbugs.gnu.org; Wed, 30 Apr 2025 09:10:24 -0400
Received: by mail-qt1-x82a.google.com with SMTP id
 d75a77b69052e-47686580529so85031721cf.2
 for <77715 <at> debbugs.gnu.org>; Wed, 30 Apr 2025 06:10:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1746018617; x=1746623417; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=1NKgN91Go/QDfJsUZewKzauOWtXXqRr+cp2QlRMjdO4=;
 b=OHNc8m1P3Jr8zBtMDScAsGCK0j93YTqIlLpUYYrE/dpAhcoFPLArAn0H1fL6CQtp0h
 c4OwapZY9jUdXWZZWzs8HiaBx4fFWB0YEWhe38yQVyli9F6l0voyzSKn+2+4QeYMs761
 y5c8FhF4681fddffDee+ZAvs4IJzsStBX3qlINbmIiuiMiXyQr/BLIPJh4NNpCwexVoi
 +E2Zb6xXrGGIjHBB8RBk4Sd+l7/fZBDLcW7OQXZvkSta/HGxKcya2FKVxiroO9dm68SC
 lJ38MYCeOyHRQpDIHCSI5q6KtHGtFfae4XspSPOafpGMQt32p7H1IiPNLDtDYJFAC3no
 KOlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1746018617; x=1746623417;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=1NKgN91Go/QDfJsUZewKzauOWtXXqRr+cp2QlRMjdO4=;
 b=wbabxQgHrJhcySx2+j70kO+J1Ta2AwvJrbwV+J29OLx58L8CXQLleERojdUVxucoAo
 1283GQ62MkNx25DQFhVYdHXUpnPg1k4IxBVfF2su5wDUwdepFleRcltszWBAozTKp1Pw
 RhMQ5qUq5NOnriPkeYMu5MlRFaucHX86R7lZ4k9N15hJJbwt9XROb7/Lgf5VrNL6B5cT
 QWtKbOaF/hTWZKB5fWiqX7rc1Gxt+OGCHnF9YcCMfnDOSTNnIIDJPbmQ6uxF1zlNQ8m8
 R6/FZhf5qk8tU8ie5fMkdetH7cu7FtRoDomw6M97kkU8bFOShQSdBXL/W8OcOso3zoMU
 ULtg==
X-Forwarded-Encrypted: i=1;
 AJvYcCXHm5D5KyhHj4bTsQfz0WShjiw5nDCwBBf4OihHc72ad/URUskLU7JQrgAsvL6zqzQ88qql4w==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxEPk0mHhc7lqiauHnzuGf/AH7Ak+K0bvwOWGkhiB1HRyhLjdzX
 aHs3eL+hTvFjMVUPaVKJ848vpHF99TlruxDwD6DBfu2w2zGYQfHgZ2O9L0VxbpJonowO0YC4LFl
 53T6Tchn0THZ0bkYGe5A0gVTN2tk=
X-Gm-Gg: ASbGnctP0OUsoMWyAFrVkUaKRZekRp207UXJxwtcPjD0fg9Fgsj/gSPXM7blJGyp5sg
 etlBsRi9HBW5jsnJlzr2VoQmEagXtvdzT9fGBQRDXlaPsTW416E2Qmd13Svww9xEImhaucCk/l4
 FXkPIyMIvx8Bw/QOHgEMMzpb7+XYv1BBwF
X-Google-Smtp-Source: AGHT+IFTqqiX8EsDmm5aGat1s8jg80/m2/QN7k190VSYPykfWVxIth8PGVs0WFAAT8vlrHUVcB+pIjN6DPcO/M0masQ=
X-Received: by 2002:a05:622a:5c8b:b0:476:8296:17e5 with SMTP id
 d75a77b69052e-489c3c94323mr45488731cf.17.1746018616864; Wed, 30 Apr 2025
 06:10:16 -0700 (PDT)
MIME-Version: 1.0
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN> <86ldrkr01n.fsf@HIDDEN>
 <87plgwyune.fsf@HIDDEN> <861ptbr0ks.fsf@HIDDEN> <87msby7brp.fsf@HIDDEN>
In-Reply-To: <87msby7brp.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Wed, 30 Apr 2025 09:10:05 -0400
X-Gm-Features: ATxdqUGfmFeSmi8nDSMs4glUSCzbwRzQia8tjPcWiKoItUjlYcoviKfiERQ_LG8
Message-ID: <CAN+1HbqW3pfhhE4-GNO5MuQ+CNDkc0Sr2rcxw8etf=FhLR+nkA@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000006df1ce0633fea3d5"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77715
Cc: Eli Zaretskii <eliz@HIDDEN>, 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000006df1ce0633fea3d5
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 29, 2025 at 8:07=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@gm=
ail.com>
wrote:

> Eli Zaretskii <eliz@HIDDEN> writes:
>
> >> From: Elijah Gabe P=C3=A9rez <eg642616@HIDDEN>
> >> Cc: 77715 <at> debbugs.gnu.org,  shipmints@HIDDEN,  drew.adams@HIDDEN=
m
> >> Date: Mon, 28 Apr 2025 13:04:53 -0600
> >>
> >> >> --- a/lisp/simple.el
> >> >> +++ b/lisp/simple.el
> >> >> @@ -9389,6 +9389,50 @@ auto-save-mode
> >> >>    (and (< buffer-saved-size 0)
> >> >>         (setq buffer-saved-size 0)))
> >> >
> >> > I don't think we need this in simple.el.  This is a minor convenienc=
e
> >> > feature, so it doesn't have to be preloaded.  It can be on a separat=
e
> >> > file with the 2 functions it exports autoloaded.
> >>
> >> Sure, but wouldn't be redundant making yet another file for just these=
 2
> >> functions?
> >
> > Nothing wrong with having a separate file for this feature.  We could
> > call it ring-bell-fns.el or something, and with time other ring-bell
> > functions might be added to it.
>
> It makes sense, I've renamed the file to `ring-bell-fns.el'.
>
> >> >> +    (unwind-protect
> >> >> +        (sit-for flash-face-duration)
> >> >> +      (mapc #'face-remap-remove-relative cookies))))
> >> >
> >> > Using sit-for means any input event will interrupt the wait.  Other
> >> > ring-bell-functions don't behave like that.  Are you sure sleep-for =
is
> >> > not better for this purpose?
> >>
> >> Emacs would freeze if I use sleep-for instead, I've tested using it
> >> but it seems that emacs is going to crash, very uncomfortable when I'm
> >> editing quickly.
> >
> > But that's how the built-in ring-bell functions work: they wait
> > unconditionally.  As I explained earlier, using sit-for might cause
> > the entire feature to seem not to work.
> >
> > As a compromise, perhaps use sleep-for if the time is short enough,
> > and sit-for otherwise?
>
> Fine, i've updated it to only use sleep-for if flash duration time is
> long and fallback to sit-for otherwise.
>
> >> >> +    (let ((with-temp-message
> >> >> +              (propertize " " 'display `(space :align-to right)
> 'face
> >> >> +                          'flash-face))
> >> >
> >> > Why do you use propertize here instead of face-remap-add-relative?
> >>
> >> That is for the echo-area/minibuffer, which AFAIK doesn't have a face
> >> that i can use for this.  So instead it displays an empty message with
> >> a face that extends to the end of minibuffer.
> >
> > The face used by default in the echo-area is the default face.  (There
> > could be cases when echo-area messages use other, non-default faces.)
>
> Thanks for the clarification, I've rewrote the function to remap the
> default face only in the minibuffer.
>
> >> +(defcustom flash-face-duration 0.05
> >> +  "Time (in seconds) used for flash face duration."
> >> +  :type 'number
> >> +  :group 'faces
> >
> > Are you sure this is the best group for this option?  Why not
> > something related to flash-bell or bell-ring?  Same question regarding
> > the faces defined for this feature: placing them in the faces group
> > could drown them in the large sea of faces we have, and make them less
> > discoverable.
>
> I've create its proper defgroup, but I'm not sure about the name and
> docstring I've given it.
>

Face flashing isn't a feature of bell ringing, it's the opposite.  I'd
consider putting the face flashing code with face-related code so it's
clear faces can be flashed anywhere for any reason the users want.

--0000000000006df1ce0633fea3d5
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
t-family:monospace"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
On Tue, Apr 29, 2025 at 8:07=E2=80=AFPM Elijah Gabe P=C3=A9rez &lt;<a href=
=3D"mailto:eg642616@HIDDEN">eg642616@HIDDEN</a>&gt; wrote:</span></di=
v></div><div class=3D"gmail_quote gmail_quote_container"><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">Eli Zaretskii &lt;<a href=3D"mailto:eliz@g=
nu.org" target=3D"_blank">eliz@HIDDEN</a>&gt; writes:<br>
<br>
&gt;&gt; From: Elijah Gabe P=C3=A9rez &lt;<a href=3D"mailto:eg642616@gmail.=
com" target=3D"_blank">eg642616@HIDDEN</a>&gt;<br>
&gt;&gt; Cc: <a href=3D"mailto:77715 <at> debbugs.gnu.org" target=3D"_blank">777=
15 <at> debbugs.gnu.org</a>,=C2=A0 <a href=3D"mailto:shipmints@HIDDEN" target=
=3D"_blank">shipmints@HIDDEN</a>,=C2=A0 <a href=3D"mailto:drew.adams@ora=
cle.com" target=3D"_blank">drew.adams@HIDDEN</a><br>
&gt;&gt; Date: Mon, 28 Apr 2025 13:04:53 -0600<br>
&gt;&gt; <br>
&gt;&gt; &gt;&gt; --- a/lisp/simple.el<br>
&gt;&gt; &gt;&gt; +++ b/lisp/simple.el<br>
&gt;&gt; &gt;&gt; @@ -9389,6 +9389,50 @@ auto-save-mode<br>
&gt;&gt; &gt;&gt;=C2=A0 =C2=A0 (and (&lt; buffer-saved-size 0)<br>
&gt;&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq buffer-saved-size =
0)))<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I don&#39;t think we need this in simple.el.=C2=A0 This is a =
minor convenience<br>
&gt;&gt; &gt; feature, so it doesn&#39;t have to be preloaded.=C2=A0 It can=
 be on a separate<br>
&gt;&gt; &gt; file with the 2 functions it exports autoloaded.<br>
&gt;&gt; <br>
&gt;&gt; Sure, but wouldn&#39;t be redundant making yet another file for ju=
st these 2<br>
&gt;&gt; functions?<br>
&gt;<br>
&gt; Nothing wrong with having a separate file for this feature.=C2=A0 We c=
ould<br>
&gt; call it ring-bell-fns.el or something, and with time other ring-bell<b=
r>
&gt; functions might be added to it.<br>
<br>
It makes sense, I&#39;ve renamed the file to `ring-bell-fns.el&#39;.<br>
<br>
&gt;&gt; &gt;&gt; +=C2=A0 =C2=A0 (unwind-protect<br>
&gt;&gt; &gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (sit-for flash-face-duration=
)<br>
&gt;&gt; &gt;&gt; +=C2=A0 =C2=A0 =C2=A0 (mapc #&#39;face-remap-remove-relat=
ive cookies))))<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Using sit-for means any input event will interrupt the wait.=
=C2=A0 Other<br>
&gt;&gt; &gt; ring-bell-functions don&#39;t behave like that.=C2=A0 Are you=
 sure sleep-for is<br>
&gt;&gt; &gt; not better for this purpose?<br>
&gt;&gt; <br>
&gt;&gt; Emacs would freeze if I use sleep-for instead, I&#39;ve tested usi=
ng it<br>
&gt;&gt; but it seems that emacs is going to crash, very uncomfortable when=
 I&#39;m<br>
&gt;&gt; editing quickly.<br>
&gt;<br>
&gt; But that&#39;s how the built-in ring-bell functions work: they wait<br=
>
&gt; unconditionally.=C2=A0 As I explained earlier, using sit-for might cau=
se<br>
&gt; the entire feature to seem not to work.<br>
&gt;<br>
&gt; As a compromise, perhaps use sleep-for if the time is short enough,<br=
>
&gt; and sit-for otherwise?<br>
<br>
Fine, i&#39;ve updated it to only use sleep-for if flash duration time is<b=
r>
long and fallback to sit-for otherwise.<br>
<br>
&gt;&gt; &gt;&gt; +=C2=A0 =C2=A0 (let ((with-temp-message<br>
&gt;&gt; &gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (proper=
tize &quot; &quot; &#39;display `(space :align-to right) &#39;face<br>
&gt;&gt; &gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &#39;flash-face))<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Why do you use propertize here instead of face-remap-add-rela=
tive?<br>
&gt;&gt; <br>
&gt;&gt; That is for the echo-area/minibuffer, which AFAIK doesn&#39;t have=
 a face<br>
&gt;&gt; that i can use for this.=C2=A0 So instead it displays an empty mes=
sage with<br>
&gt;&gt; a face that extends to the end of minibuffer.<br>
&gt;<br>
&gt; The face used by default in the echo-area is the default face.=C2=A0 (=
There<br>
&gt; could be cases when echo-area messages use other, non-default faces.)<=
br>
<br>
Thanks for the clarification, I&#39;ve rewrote the function to remap the<br=
>
default face only in the minibuffer.<br>
<br>
&gt;&gt; +(defcustom flash-face-duration 0.05<br>
&gt;&gt; +=C2=A0 &quot;Time (in seconds) used for flash face duration.&quot=
;<br>
&gt;&gt; +=C2=A0 :type &#39;number<br>
&gt;&gt; +=C2=A0 :group &#39;faces<br>
&gt;<br>
&gt; Are you sure this is the best group for this option?=C2=A0 Why not<br>
&gt; something related to flash-bell or bell-ring?=C2=A0 Same question rega=
rding<br>
&gt; the faces defined for this feature: placing them in the faces group<br=
>
&gt; could drown them in the large sea of faces we have, and make them less=
<br>
&gt; discoverable.<br>
<br>
I&#39;ve create its proper defgroup, but I&#39;m not sure about the name an=
d<br>
docstring I&#39;ve given it.<br></blockquote><div><br></div><div class=3D"g=
mail_default" style=3D"font-family:monospace">Face flashing isn&#39;t a fea=
ture of bell ringing, it&#39;s the opposite.=C2=A0 I&#39;d consider putting=
 the face flashing code with face-related code so it&#39;s clear faces can =
be flashed anywhere for any reason the users want.</div></div></div>

--0000000000006df1ce0633fea3d5--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 30 Apr 2025 00:07:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 29 20:07:18 2025
Received: from localhost ([127.0.0.1]:37461 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9uyr-0006s7-6e
	for submit <at> debbugs.gnu.org; Tue, 29 Apr 2025 20:07:17 -0400
Received: from mail-ot1-x342.google.com ([2607:f8b0:4864:20::342]:49341)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u9uyo-0006rd-3j
 for 77715 <at> debbugs.gnu.org; Tue, 29 Apr 2025 20:07:15 -0400
Received: by mail-ot1-x342.google.com with SMTP id
 46e09a7af769-7301c227512so4075250a34.2
 for <77715 <at> debbugs.gnu.org>; Tue, 29 Apr 2025 17:07:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745971628; x=1746576428; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=yCIvRxsZwLTuv7ses8ofr8b3ubLoSVhbKLnZtrPTmW4=;
 b=JDNoyXeW1+16PEOMDSPNbVfMIQwPtogTBKT0sXyOSBqHIMuR/7OG4zm922OUmaangu
 ObRMUHTUJTeDkr4R3vD4EnijO6cVMaR60S2OO8BPZFzDAaUmsycYRpw9UjfMlltIPc/1
 bd1Glqy436pR1wzazAoMdAfd97SWVzGzaXKvRstIIJ+qjF/rsnSnGd3NKHQ9gNotNAW1
 wYnQM2q+Ps7/KMFG2rVvDguGtmf48l9ZJJoIW3E4/zUFc9+fFZIeFdLl56AN/tbCIzhW
 /Efpi6PVX0X2TdyiehW0dL9+JYIiasaB/gl4wbWNq3fRdB9ZJyrAugJ+54nXGufwMetP
 gyMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745971628; x=1746576428;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=yCIvRxsZwLTuv7ses8ofr8b3ubLoSVhbKLnZtrPTmW4=;
 b=gblsIRDWQ0/Azyepy3nGfEAQNra5gxyJfws0rjFkBr6RUp+XnbnByw+mOEz6UpjNon
 x0w8m/WF9qGUhoRLFnc6t00iF2/vGqHyzrJ9oWGLgWv1eBmV79nt2RJxC6Hp4CTl79cd
 rScDPXP2bNYcJ68l89Oq7UgTkWaUD367p+6WQNXLGkuNVVzf6V0jkCfmC+yHU6fy77WA
 JJ5k6dEnClf60Cb3+5RN4z3E4X37XJ7CMdlXfoAw6WJnYIk1G5cvz3RJIiZuJUbJpiqc
 ImLsQvlHKoJEabYD0vjoHUrgXlh5t76N2rHeXC9KL5LyErzs5uAnLAMiD4ziTPh4D1i9
 iH/A==
X-Gm-Message-State: AOJu0Yy2fMiHE5lMqYYIwnXj9NuITu8hN1cPk7CzXt8bThmVSnSAsJt+
 LRUZ2YpvDnODJHEdD8Y9yM39TZk9oXArwv/Ds1rVD9uj8ttgC+3o
X-Gm-Gg: ASbGnctaLlE4gkBJM1mWQJHKbrZuKIMME6FZL6WTuo6v81PhFFjL6Vf/HJyFGRUgbBx
 qKcDsJR1O2XLL0KS//7FUc9hPYRai5ikeGsRi530gPcRtGfuNGKmvKzEXBzr6aXOHU1XXOzxLXx
 hO9AG014KwVcm0ejQ9AyeRXgxAT3MxEIC9PHuAIJUhLf3Ll5KTXZPVDAPL39noRlG8eEXzQbzsD
 NmWLhdUjf4Yr5wSPTNV7gLpQCBCBoiuqx41OQ2/RIup7nIakkdWkMg4qNywK3XxY17h+e1ZLan9
 EbqCRZYlAYxd0/Ar0M8=
X-Google-Smtp-Source: AGHT+IGCKd6qciJ4k1nfad3TmAFpKnYcfAcwGFYUr13sYKQUEwSh1KoH9T0I/yuEEBt4Lp+eXjLxLg==
X-Received: by 2002:a05:6830:3506:b0:72b:9965:d997 with SMTP id
 46e09a7af769-731c0a961c3mr680466a34.18.1745971628055; 
 Tue, 29 Apr 2025 17:07:08 -0700 (PDT)
Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id
 46e09a7af769-7308b118074sm579573a34.18.2025.04.29.17.07.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 29 Apr 2025 17:07:07 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <861ptbr0ks.fsf@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN>
 <86ldrkr01n.fsf@HIDDEN> <87plgwyune.fsf@HIDDEN>
 <861ptbr0ks.fsf@HIDDEN>
Date: Tue, 29 Apr 2025 18:07:06 -0600
Message-ID: <87msby7brp.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  Eli Zaretskii writes: >> From: Elijah Gabe Pérez >> Cc: 77715 <at> debbugs.gnu.org,
    shipmints@HIDDEN, drew.adams@HIDDEN >> Date: Mon, 28 Apr 2025 13:04:53
    -0600 >> >> >> --- a/lisp/simple.el >> >> +++ b/lisp/simple.el [...] 
 
 Content analysis details:   (1.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [2607:f8b0:4864:20:0:0:0:342 listed in]
                             [list.dnswl.org]
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
                             in digit (eg642616[at]gmail.com)
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (eg642616[at]gmail.com)
  1.0 FREEMAIL_REPLY         From and body contain different freemails
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org, shipmints@HIDDEN, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Elijah Gabe P=C3=A9rez <eg642616@HIDDEN>
>> Cc: 77715 <at> debbugs.gnu.org,  shipmints@HIDDEN,  drew.adams@HIDDEN
>> Date: Mon, 28 Apr 2025 13:04:53 -0600
>>=20
>> >> --- a/lisp/simple.el
>> >> +++ b/lisp/simple.el
>> >> @@ -9389,6 +9389,50 @@ auto-save-mode
>> >>    (and (< buffer-saved-size 0)
>> >>         (setq buffer-saved-size 0)))
>> >
>> > I don't think we need this in simple.el.  This is a minor convenience
>> > feature, so it doesn't have to be preloaded.  It can be on a separate
>> > file with the 2 functions it exports autoloaded.
>>=20
>> Sure, but wouldn't be redundant making yet another file for just these 2
>> functions?
>
> Nothing wrong with having a separate file for this feature.  We could
> call it ring-bell-fns.el or something, and with time other ring-bell
> functions might be added to it.

It makes sense, I've renamed the file to `ring-bell-fns.el'.

>> >> +    (unwind-protect
>> >> +        (sit-for flash-face-duration)
>> >> +      (mapc #'face-remap-remove-relative cookies))))
>> >
>> > Using sit-for means any input event will interrupt the wait.  Other
>> > ring-bell-functions don't behave like that.  Are you sure sleep-for is
>> > not better for this purpose?
>>=20
>> Emacs would freeze if I use sleep-for instead, I've tested using it
>> but it seems that emacs is going to crash, very uncomfortable when I'm
>> editing quickly.
>
> But that's how the built-in ring-bell functions work: they wait
> unconditionally.  As I explained earlier, using sit-for might cause
> the entire feature to seem not to work.
>
> As a compromise, perhaps use sleep-for if the time is short enough,
> and sit-for otherwise?

Fine, i've updated it to only use sleep-for if flash duration time is
long and fallback to sit-for otherwise.

>> >> +    (let ((with-temp-message
>> >> +              (propertize " " 'display `(space :align-to right) 'face
>> >> +                          'flash-face))
>> >
>> > Why do you use propertize here instead of face-remap-add-relative?
>>=20
>> That is for the echo-area/minibuffer, which AFAIK doesn't have a face
>> that i can use for this.  So instead it displays an empty message with
>> a face that extends to the end of minibuffer.
>
> The face used by default in the echo-area is the default face.  (There
> could be cases when echo-area messages use other, non-default faces.)

Thanks for the clarification, I've rewrote the function to remap the
default face only in the minibuffer.

>> +(defcustom flash-face-duration 0.05
>> +  "Time (in seconds) used for flash face duration."
>> +  :type 'number
>> +  :group 'faces
>
> Are you sure this is the best group for this option?  Why not
> something related to flash-bell or bell-ring?  Same question regarding
> the faces defined for this feature: placing them in the faces group
> could drown them in the large sea of faces we have, and make them less
> discoverable.

I've create its proper defgroup, but I'm not sure about the name and
docstring I've given it.



--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=0001-New-ring-bell-functions-for-flash-faces.-bug-77715.patch
Content-Transfer-Encoding: quoted-printable

From 9ed6088f05a54ef4e6a974ad157dff2d749e9b8c Mon Sep 17 00:00:00 2001
From: =3D?UTF-8?q?El=3DC3=3DADas=3D20Gabriel=3D20P=3DC3=3DA9rez?=3D <eg6426=
16@HIDDEN>
Date: Thu, 10 Apr 2025 11:38:21 -0600
Subject: [PATCH] New ring-bell functions for flash faces.  (bug#77715)

New functions for flash any face or echo area once whether
`ring-bell-function' is called.
* lisp/ring-bell-fns.el: New file.
* etc/NEWS: Announce changes.
---
 etc/NEWS              | 25 ++++++++++++
 lisp/ring-bell-fns.el | 95 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 120 insertions(+)
 create mode 100644 lisp/ring-bell-fns.el

diff --git a/etc/NEWS b/etc/NEWS
index a5936b1c6cf..6eee690e09b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1935,6 +1935,31 @@ change their face if the current line exceeds the 'f=
ill-column'.  The
 new face 'display-fill-column-indicator-warning-face' is used to
 highlight the fill-column indicators.  By default, this is disabled.
=20
+---
+*** New function 'flash-face-bell-function'.
+This function flash a face briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-echo-area-bell-function'.
+This function flash current echo area briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New user option 'flash-face-duration'.
+This option controls flash duration for 'flash-face-bell-function' and
+'flash-echo-area-bell-function'.
+
+---
+*** New user option 'flash-face-faces'.
+This option tells 'flash-face-bell-function' which faces should flash.
+
+---
+*** New user option 'flash-face-attributes'
+This option tells 'flash-face-bell-function' and
+'flash-echo-area-bell-function' which face attributes should use
+for flash.
+
 ---
 ** Flymake
=20
diff --git a/lisp/ring-bell-fns.el b/lisp/ring-bell-fns.el
new file mode 100644
index 00000000000..e9ab59ef34f
--- /dev/null
+++ b/lisp/ring-bell-fns.el
@@ -0,0 +1,95 @@
+;;; ring-bell-fns.el --- Collection of functions for ring-bell  -*- lexica=
l-binding: t; -*-
+
+;; Copyright (C) 2025 Free Software Foundation, Inc.
+
+;; Author: Elijah Gabe P=C3=A9rez <eg642616@HIDDEN>
+;; Keywords: faces
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Collection of functions intended to be used with `ring-bell-function'.
+;; as alternatives to `visible-bell'
+
+;;; Code:
+(require 'face-remap)
+
+(defgroup ring-bell nil
+  "Customization options for ring bell."
+  :version "31.1"
+  :group 'emacs)
+
+(defcustom flash-face-attributes
+  '(:background "red" :foreground "white")
+  "Face attributes to use in any function from `ring-bell-fns'.
+This is intended to be used in any function from `ring-bell-fns' such as
+`flash-face-bell-function' and `flash-echo-area-bell-function' for make
+the flash face more noticeable."
+  :type 'plist
+  :version "31.1")
+
+(defcustom flash-face-duration 0.05
+  "Time (in seconds) used for flash face duration."
+  :type 'number
+  :version "31.1")
+
+(defcustom flash-face-faces
+  '(mode-line-active)
+  "A list of faces to be flashed by `flash-face-bell-function'."
+  :type '(repeat face)
+  :version "31.1")
+
+;;;###autoload
+(defun flash-face-bell-function ()
+  "Ring-bell function that flashes faces.
+Intended to be used in `ring-bell-function'."
+  (when-let* (((numberp flash-face-duration)) ; Ensure time is a number
+              (cookies (mapcar (lambda (f) (apply #'face-remap-add-relativ=
e f flash-face-attributes))
+                               flash-face-faces)))
+    (unwind-protect
+        ;; Use sit-for if the duration is very long for not blocking
+        ;; emacs, otherwise fallback to sleep-for.
+        (if (> flash-face-duration 0.1)
+            (sit-for flash-face-duration)
+          ;; And redisplay for apply the face remap
+          (redisplay)
+          (sleep-for flash-face-duration))
+      (mapc #'face-remap-remove-relative cookies))))
+
+;;;###autoload
+(defun flash-echo-area-bell-function ()
+  "Flash echo area as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (with-current-buffer (window-buffer (minibuffer-window)) ; Get in minibu=
ffer buffer
+    (let ((cookie (apply #'face-remap-add-relative 'default flash-face-att=
ributes)))
+      ;; When minibuffer is not displaying anything (empty) the face
+      ;; remap will not work, insert an temporal space in the
+      ;; minibuffer ONLY if it's empty for fix this.
+      (if (=3D (buffer-size) 0)
+          (insert ?\s))
+      (unwind-protect
+          ;; Use sit-for if the duration is very long for not blocking
+          ;; emacs, otherwise fallback to sleep-for.
+          (if (> flash-face-duration 0.1)
+              (sit-for flash-face-duration)
+            ;; And redisplay for apply the face remap
+            (redisplay)
+            (sleep-for flash-face-duration))
+        (face-remap-remove-relative cookie)))))
+
+(provide 'ring-bell-fns)
+;;; ring-bell-fns.el ends here
--=20
2.49.0


--=-=-=
Content-Type: text/plain


-- 
                                          - E.G via GNU Emacs and Org.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 29 Apr 2025 05:36:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 29 01:36:35 2025
Received: from localhost ([127.0.0.1]:45223 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9ddy-00018e-Fd
	for submit <at> debbugs.gnu.org; Tue, 29 Apr 2025 01:36:34 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:51950)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u9ddt-00016x-SD
 for 77715 <at> debbugs.gnu.org; Tue, 29 Apr 2025 01:36:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u9ddn-0001m0-Ki; Tue, 29 Apr 2025 01:36:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=y5Ctpc/SGX+8P4+F9dJ7xv3pKMxyJyOcqQ8zkQQelEk=; b=hUJs9btfj67IyHGDO6OM
 xPCJn9Csy2FUNafu1WQ+ANY3veFjxKR9Y01vomvngZHnZ00ccMDj0kLU5qO44ubCwY8iIZCJqXQaI
 ++d73ZpDPo/qEPYjPeg5WqTrJj9NQpunungRmRHrw2XofiW+Q+XsUXZOQL3wyU+LqLAQIOXfVQIUV
 ezD4kYoFUxvocYPitKrz/TqKJmsAfXOVPsLC0yw17RcPV8Fx1/NKTz051IMMLTpLqjux3s2k0gLsQ
 zmGeo+FrSZPdZebIRZZg+HtGB+bJ3U+wnAesQtoxkCRmx8XcL3goc/VnWcxfeWU5qEdOZOdqoe9/U
 dzj5ASOuLXvpjQ==;
Date: Tue, 29 Apr 2025 08:36:19 +0300
Message-Id: <861ptbr0ks.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Elijah Gabe =?iso-8859-1?Q?P=E9rez?= <eg642616@HIDDEN>
In-Reply-To: <87plgwyune.fsf@HIDDEN> (message from Elijah Gabe
 =?iso-8859-1?Q?P=E9rez?= on Mon, 28 Apr 2025 13:04:53 -0600)
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN>
 <86ldrkr01n.fsf@HIDDEN> <87plgwyune.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org, shipmints@HIDDEN, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Elijah Gabe Pérez <eg642616@HIDDEN>
> Cc: 77715 <at> debbugs.gnu.org,  shipmints@HIDDEN,  drew.adams@HIDDEN
> Date: Mon, 28 Apr 2025 13:04:53 -0600
> 
> >> --- a/lisp/simple.el
> >> +++ b/lisp/simple.el
> >> @@ -9389,6 +9389,50 @@ auto-save-mode
> >>    (and (< buffer-saved-size 0)
> >>         (setq buffer-saved-size 0)))
> >
> > I don't think we need this in simple.el.  This is a minor convenience
> > feature, so it doesn't have to be preloaded.  It can be on a separate
> > file with the 2 functions it exports autoloaded.
> 
> Sure, but wouldn't be redundant making yet another file for just these 2
> functions?

Nothing wrong with having a separate file for this feature.  We could
call it ring-bell-fns.el or something, and with time other ring-bell
functions might be added to it.

Alternatively, we could add these two functions and the related
variables to subr-x.el.

> >> +    (unwind-protect
> >> +        (sit-for flash-face-duration)
> >> +      (mapc #'face-remap-remove-relative cookies))))
> >
> > Using sit-for means any input event will interrupt the wait.  Other
> > ring-bell-functions don't behave like that.  Are you sure sleep-for is
> > not better for this purpose?
> 
> Emacs would freeze if I use sleep-for instead, I've tested using it
> but it seems that emacs is going to crash, very uncomfortable when I'm
> editing quickly.

But that's how the built-in ring-bell functions work: they wait
unconditionally.  As I explained earlier, using sit-for might cause
the entire feature to seem not to work.

As a compromise, perhaps use sleep-for if the time is short enough,
and sit-for otherwise?

> >> +(defun flash-echo-area-bell-function ()
> >> +  "Flash echo area as ring a bell.
> >> +Intended to be used in `ring-bell-function'."
> >> +  ;; like `with-temp-message' but suppress message log for not flood
> >> +  ;; messages buffer
> >> +  (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer
> >
> > What conflict is that?
> >
> > It seems like the above means the feature will not work (i.e., no
> > flash) if the minibuffer is active?  If so, is that a good idea?
> 
> When the cursor is the minibuffer (eval-expression, M-x and like) and the
> ring-bell function is called the message is displayed as:
> "[                                                                ]"
>    ^ The bell face.
> 
> I found that it's caused by `minibuffer-message', but I'm not sure why
> and how to remove the "[" "]".

That's a feature: the "[...]" is intended to tell the user that the
message is from some background processing, unrelated to the
minibuffer prompt.  Why did you want to remove the brackets?

> I honestly think that while in the minibuffer this function is not
> necessary since it already displays a message (since you are supposed to
> be focused on the minibuffer)

Again, that's not how other ring-bell alternatives work.

> For example:
>  Typing `M-x' inside minibuffer displays message:
>  [Command attempted to use minibuffer while in minibuffer]
> 
>  If this function (flash-echo-area-bell-function) is enabled there
>  it would display:
>  [
> ]
> 
>  and later:
> 
>  [Command attempted to use minibuffer while in minibuffer]

This probably means there's some subtle bug in the current
implementation, and avoiding to flash when in the minibuffer just
sweeps the bug under the carpet.  I suggest to debug the reasons and
fix them, or at least understand them well enough so that we could
reason whether fixing them is a good idea.

> >> +    (let ((with-temp-message
> >> +              (propertize " " 'display `(space :align-to right) 'face
> >> +                          'flash-face))
> >
> > Why do you use propertize here instead of face-remap-add-relative?
> 
> That is for the echo-area/minibuffer, which AFAIK doesn't have a face
> that i can use for this.  So instead it displays an empty message with
> a face that extends to the end of minibuffer.

The face used by default in the echo-area is the default face.  (There
could be cases when echo-area messages use other, non-default faces.)

> +(defcustom flash-face-duration 0.05
> +  "Time (in seconds) used for flash face duration."
> +  :type 'number
> +  :group 'faces

Are you sure this is the best group for this option?  Why not
something related to flash-bell or bell-ring?  Same question regarding
the faces defined for this feature: placing them in the faces group
could drown them in the large sea of faces we have, and make them less
discoverable.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 19:05:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 28 15:05:06 2025
Received: from localhost ([127.0.0.1]:35409 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9Tmr-0005R5-1h
	for submit <at> debbugs.gnu.org; Mon, 28 Apr 2025 15:05:05 -0400
Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244]:61532)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u9Tmn-0005On-Sj
 for 77715 <at> debbugs.gnu.org; Mon, 28 Apr 2025 15:05:03 -0400
Received: by mail-oi1-x244.google.com with SMTP id
 5614622812f47-3f6dccdcadaso4187834b6e.2
 for <77715 <at> debbugs.gnu.org>; Mon, 28 Apr 2025 12:05:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745867096; x=1746471896; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=snI1MtJhVXYFRJgChfeaKPyCa++K64leMICzGQ7g3oc=;
 b=eqsZNb0xcARks3d6SBBtzmghHGTsCGJqo+qT94IDqnnZLNzGLG3mrV2ClDpdZDbWYw
 DUcOt5w6zr1OYOwvmLr/QUxQyFefuRMMLalRhIqo1YOrwoRgIRCstpy4eDteB+TyaGvB
 hJUiFrgzmxLhcQ2h2atwv07fJQt9YjGSm1D3PErou/Fx/B2PDfoiUWBytG4PT5haG7Jd
 wDCx0CnA6L2tSs8Z8WMV8vznRcTJsAOJXIitOAiq2Ae/jl/Y0fZb2KSalo5J4rH5VwAO
 aDO5fAr7Gx7V3YrPNRIscQUZNB4r/PoGcnwARGHCOoyPs3VpBLO9hXM+79gEo5sxsgi0
 qIcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745867096; x=1746471896;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=snI1MtJhVXYFRJgChfeaKPyCa++K64leMICzGQ7g3oc=;
 b=tEPSkcuXbQUw69QNUbMjTl7moMUOrWE2UY8MfVAibrUWqnHCs0NP6D2G0kMTPwTt3Q
 UXkUqFWUX9mezByuiaqqZE6vImyKvso4VtbXG2JsRKjpaRP3Cl3kYfPSH5Vn1x7fn8k4
 IPsuCKjkVgAwRTfNRENViJj4M32Q4WckmRhaQiAPSb2z8Sbs8OCFq4cBMe6rHjE86DTX
 qcCa9VFYuFJ5lqvv9pEl56lkIBViF+2f0A7ZtMT8hKcsMv9sBAgWz6pVnRF6T75DLSFJ
 teGnIne5n7DYIVvj+UmQfMhhOz0Z1+oBDwW6Nj3bjr+08Swf/m3cYsQzjPwIT39Gt6As
 w7kQ==
X-Gm-Message-State: AOJu0YyuhXDUSO0vhI3ey0bE8+pKqZnLeUxCEQTXN4URN2JCwHEbd7KU
 xY/IKVAsa589+zal2NXZF+jBd6HpxDSZVAgFNwwslJzKA1b8qGnc
X-Gm-Gg: ASbGncsP15LG/x1LnJ1L9HtrMIXrC++xs1VjQWSyLb5pC6LH/TR4fcble+ifgJhIPfU
 Qbd3QO0ZKbdrjip+U7RW07adZeOTq1w7BABOta2JDBBamgII/THE/mu2WJQuEtvOK/Gyyu29Y/x
 RK43DvmXZN8VO2QXQF9XJpgugKlGQ+NeS86Wdm5ITIsDNgnpvfxYemmJDwOvbL/PvRuEQSkIrFj
 jhvZTYdp0gSrk+vAxcDDpG38XFqsw+YK47yn4Je52YcKXVArq4isle+fdmMJTc0eK1jJknsLV8Q
 TG8aznit
X-Google-Smtp-Source: AGHT+IG3TcOo3ecuhOchMR+6lO0hnfOn49pn6ED/gNiATt9zL8Gr9dlcoVpAbUCJMLkT9MWNeK7Pgg==
X-Received: by 2002:aca:1006:0:b0:3f9:1fee:8055 with SMTP id
 5614622812f47-402107efaa3mr388828b6e.15.1745867095621; 
 Mon, 28 Apr 2025 12:04:55 -0700 (PDT)
Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id
 006d021491bc7-60646862ee9sm2037550eaf.4.2025.04.28.12.04.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 28 Apr 2025 12:04:55 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <86ldrkr01n.fsf@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN>
 <86ldrkr01n.fsf@HIDDEN>
Date: Mon, 28 Apr 2025 13:04:53 -0600
Message-ID: <87plgwyune.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org, shipmints@HIDDEN, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

--=-=-=
Content-Type: text/plain

Eli Zaretskii <eliz@HIDDEN> writes:

>> --- a/lisp/faces.el
>> +++ b/lisp/faces.el
>> @@ -2825,6 +2825,17 @@ header-line-inactive
>>    :group 'mode-line-faces
>>    :group 'basic-faces)
>>  
>> +(defface flash-face
>> +  '((((class color) (min-colors 88))
>> +     :background "red3" :foreground "white")
>> +    (((class color grayscale) (min-colors 88))
>> +     :background "grey10" :foreground "white")
>> +    (t
>> +     :inherit error :inverse-video t))
>> +  "Basic face used for flash a face briefly."
>> +  :version "31.1"
>> +  :group 'basic-faces)
>
> Can you tell why this face is defined in faces.el?  We don't need to
> have it preloaded in Emacs.  Moreover, AFAIU this is not really a
> face, to be used like other faces.  Instead, this is just a collection
> of face attributes to add to other faces for producing the "flash"
> effect.  So I'd rather we would not even use defface for it.  Or if
> the alternatives are too awkward and inconvenient, at least let's make
> the name of this face be an internal name (with two dashes), and
> explain in the doc string how is this used.

I made it a defface specially for any custom theme that wants to set it.
So it can be "updated" to fit the current theme.

Anyway, I've changed it to a defcustom.

>> --- a/lisp/simple.el
>> +++ b/lisp/simple.el
>> @@ -9389,6 +9389,50 @@ auto-save-mode
>>    (and (< buffer-saved-size 0)
>>         (setq buffer-saved-size 0)))
>
> I don't think we need this in simple.el.  This is a minor convenience
> feature, so it doesn't have to be preloaded.  It can be on a separate
> file with the 2 functions it exports autoloaded.

Sure, but wouldn't be redundant making yet another file for just these 2
functions? I added to simple.el because i didn't know where to put the code.
In that case I have moved it to a separate file.

>> +(defcustom flash-face-duration 0.05
>> +  "Time (in seconds) used for flash face duration."
>> +  :type 'float
>      ^^^^^^^^^^^^
> Why not 'number instead?  Do you really want to support only floats?

Ops, i forgot it.

>> +Intended to be used in `ring-bell-function'."
>> +  (when-let* (flash-face-duration ; Ensure time is non-nil
>                                        ^^^^^^^^^^^^^^^^^^^^^^
> Why non-nil and not numberp?

Fixed.

>> +              (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face))
>> +                               flash-face-faces)))
>
> Are you sure using face-remap-add-relative will work as expected with
> any face in flash-face-faces?  Support for face remapping is not
> magic, it must be explicitly coded in several places.  It might work
> quite well for basic faces, but I'm not sure what happens with faces
> defined by various packages.  For that reason, I'm not sure asking
> users to specify a list of faces is the best idea.  How many different
> faces did you test this with?  Did you try the default face, or
> diff-mode faces, for example?

I've tested it with built-in faces and with some third-party packages;
it works fine:

  (setopt flash-face-faces
          '(mode-line-active
            mode-line
            
            default
            hl-line
            trailing-whitespace
            whitespace-trailing
            header-line-active
            header-line
            diff-added
            diff-removed
            diff-refine-added
            diff-indicator-added
            tab-bar
            tab-bar-tab
            centaur-tabs-selected
            centaur-tabs-close-selected
            solaire-mode-line-inactive-face
            solaire-mode-line-active-face))

And it should work for every face defined.

Asking to user to specify others faces is necessary from my POV,
there are packages that overrides some faces with their own one.

>> +    (unwind-protect
>> +        (sit-for flash-face-duration)
>> +      (mapc #'face-remap-remove-relative cookies))))
>
> Using sit-for means any input event will interrupt the wait.  Other
> ring-bell-functions don't behave like that.  Are you sure sleep-for is
> not better for this purpose?

Emacs would freeze if I use sleep-for instead, I've tested using it
but it seems that emacs is going to crash, very uncomfortable when I'm
editing quickly.  Using sit-for at least makes it noticeable and without
interrupting you while editing.  I had planned to use `run-with-timer'
but as Ship pointed, it is not recommended.

>> +(defun flash-echo-area-bell-function ()
>> +  "Flash echo area as ring a bell.
>> +Intended to be used in `ring-bell-function'."
>> +  ;; like `with-temp-message' but suppress message log for not flood
>> +  ;; messages buffer
>> +  (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer
>
> What conflict is that?
>
> It seems like the above means the feature will not work (i.e., no
> flash) if the minibuffer is active?  If so, is that a good idea?

When the cursor is the minibuffer (eval-expression, M-x and like) and the
ring-bell function is called the message is displayed as:
"[                                                                ]"
   ^ The bell face.

I found that it's caused by `minibuffer-message', but I'm not sure why
and how to remove the "[" "]".

I honestly think that while in the minibuffer this function is not
necessary since it already displays a message (since you are supposed to
be focused on the minibuffer)

For example:
 Typing `M-x' inside minibuffer displays message:
 [Command attempted to use minibuffer while in minibuffer]

 If this function (flash-echo-area-bell-function) is enabled there
 it would display:
 [
]

 and later:

 [Command attempted to use minibuffer while in minibuffer]


>> +    (let ((with-temp-message
>> +              (propertize " " 'display `(space :align-to right) 'face
>> +                          'flash-face))
>
> Why do you use propertize here instead of face-remap-add-relative?

That is for the echo-area/minibuffer, which AFAIK doesn't have a face
that i can use for this.  So instead it displays an empty message with
a face that extends to the end of minibuffer.


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=0001-New-ring-bell-functions-for-flash-faces.-bug-77715.patch
Content-Transfer-Encoding: quoted-printable

From 129a5a772f1a578fd60ed4ba13cd12ae6fcd6229 Mon Sep 17 00:00:00 2001
From: =3D?UTF-8?q?El=3DC3=3DADas=3D20Gabriel=3D20P=3DC3=3DA9rez?=3D <eg6426=
16@HIDDEN>
Date: Thu, 10 Apr 2025 11:38:21 -0600
Subject: [PATCH] New ring-bell functions for flash faces.  (bug#77715)

New functions for flash any face or echo area once whether
`ring-bell-function' is called.
* lisp/flash-bell.el: New file.
* etc/NEWS: Announce changes.
---
 etc/NEWS           | 25 +++++++++++++
 lisp/flash-bell.el | 90 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+)
 create mode 100644 lisp/flash-bell.el

diff --git a/etc/NEWS b/etc/NEWS
index a5936b1c6cf..6eee690e09b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1935,6 +1935,31 @@ change their face if the current line exceeds the 'f=
ill-column'.  The
 new face 'display-fill-column-indicator-warning-face' is used to
 highlight the fill-column indicators.  By default, this is disabled.
=20
+---
+*** New function 'flash-face-bell-function'.
+This function flash a face briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-echo-area-bell-function'.
+This function flash current echo area briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New user option 'flash-face-duration'.
+This option controls flash duration for 'flash-face-bell-function' and
+'flash-echo-area-bell-function'.
+
+---
+*** New user option 'flash-face-faces'.
+This option tells 'flash-face-bell-function' which faces should flash.
+
+---
+*** New user option 'flash-face-attributes'
+This option tells 'flash-face-bell-function' and
+'flash-echo-area-bell-function' which face attributes should use
+for flash.
+
 ---
 ** Flymake
=20
diff --git a/lisp/flash-bell.el b/lisp/flash-bell.el
new file mode 100644
index 00000000000..a50c23ae3ea
--- /dev/null
+++ b/lisp/flash-bell.el
@@ -0,0 +1,90 @@
+;;; flash-bell.el --- Functions intended to be used in ring-bell-function =
 -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2025 Free Software Foundation, Inc.
+
+;; Author: Elijah Gabe P=C3=A9rez <eg642616@HIDDEN>
+;; Keywords: faces
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Functions for flash something whether `ring-bell-function' is called.
+
+;;; Code:
+(require 'face-remap)
+
+(defcustom flash-face-attributes
+  '(:background "red" :foreground "white")
+  "Face attributes to use in any function from flash-bell.el.
+This is intended to be used in any function from flash-bell.el such as
+`flash-face-bell-function' and `flash-echo-area-bell-function' for make
+the flash face more noticeable."
+  :type 'plist
+  :group 'faces
+  :version "31.1")
+
+(defcustom flash-face-duration 0.05
+  "Time (in seconds) used for flash face duration."
+  :type 'number
+  :group 'faces
+  :version "31.1")
+
+(defcustom flash-face-faces
+  '(mode-line-active)
+  "A list of faces to be flashed by `flash-face-bell-function'."
+  :type '(repeat face)
+  :group 'faces
+  :version "31.1")
+
+;;;###autoload
+(defun flash-face-bell-function ()
+  "Ring-bell function that flashes faces.
+Intended to be used in `ring-bell-function'."
+  (when-let* (((numberp flash-face-duration)) ; Ensure time is a number
+              (cookies (mapcar (lambda (f) (apply #'face-remap-add-relativ=
e f flash-face-attributes))
+                               flash-face-faces)))
+    (unwind-protect
+        (sit-for flash-face-duration)
+      (mapc #'face-remap-remove-relative cookies))))
+
+;;;###autoload
+(defun flash-echo-area-bell-function ()
+  "Flash echo area as ring a bell.
+Intended to be used in `ring-bell-function'."
+  ;; like `with-temp-message' but suppress message log for not flood
+  ;; messages buffer.
+  ;; If we are inside minibuffer, it already displays a noticeable message
+  ;; that can make our bell does not display properly, so disable it
+  ;; only if we are there.
+  (unless (minibufferp)
+    (let ((with-temp-message
+              (propertize " " 'display `(space :align-to right) 'face
+                          flash-face-attributes))
+          (current-message))
+      (unwind-protect
+          (progn
+            (when with-temp-message
+              (setq current-message (current-message))
+              (let (message-log-max)
+                (message "%s" with-temp-message)))
+            (sit-for flash-face-duration))
+        (and with-temp-message
+             (if current-message (message "%s" current-message)
+               (message nil)))))))
+
+(provide 'flash-bell)
+;;; flash-bell.el ends here
--=20
2.49.0


--=-=-=
Content-Type: text/plain



-- 
                                          - E.G via GNU Emacs and Org.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 13:24:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 28 09:24:01 2025
Received: from localhost ([127.0.0.1]:55241 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9OSm-0007fl-Ek
	for submit <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:24:01 -0400
Received: from mail-ua1-x930.google.com ([2607:f8b0:4864:20::930]:47324)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1u9OSh-0007ee-1H
 for 77715 <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:23:58 -0400
Received: by mail-ua1-x930.google.com with SMTP id
 a1e0cc1a2514c-877b9328604so3014757241.2
 for <77715 <at> debbugs.gnu.org>; Mon, 28 Apr 2025 06:23:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745846629; x=1746451429; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=PReGLhewPISyJq5kfGOlJ/8DaVfiW5sIOgmyzAO6SFE=;
 b=iVWIiE6SkBkgwIxiSw8hJfqcTPKSSjNQO50BToxb68vfBERQkiwg49YxLvu+Gyu2Bb
 I0Xs+ZdcunWeOUiBS7FNtJdE/ES2Oe3VumAvoky/yKFPG5CtDWQ+WKZFvAoi1xXoyXIi
 3lZKwfWJRiVFZKqYIpBWCKIqQcr5xzde7zg5CFvBIDlHv3NUB3988UqP/2H7ObBPcEMY
 4kxdIvEAQIfNE6Q1ptlCLQ/ZixN3LtwvwDm3mpe52Fb46QU4L6eYTu+jBjqwn3P9uFdR
 YjRuOhSBHnZLn4WhtP0IWh4USzsS58kaeTSz69PQrr3h9S1J9hTLls+PfEQdTfBgwfCF
 jBjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745846629; x=1746451429;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=PReGLhewPISyJq5kfGOlJ/8DaVfiW5sIOgmyzAO6SFE=;
 b=RH1ek5uCfA+NOZRQjHmUlvDhHAzC59Q8Lf98IGkcKbI7L43v6xo8TU2aS6QK9gwVGz
 uH+Cnjq6heEGd7o2ILtVFcAU0LPueRZuJSd3eki8eG9plhpkMl2fM5pYSmBSo9PyY0cY
 pQxdLtXuLfTOPaqjB62QySfGbbOXkq/EJ19d8vClG4GVguCyUaU4DRJ02BI5EJP+P9Hu
 BODesuEqbIomPTqFFfRXTd/3QpIb8KAPY0yhD7/SMG7vyj8+lDnQqIw2ZXVbnrhxQuok
 tXWGWwAECGVGH8CjORKFMagVzpSyNj+32coQ9Q5sclRV7fAArd2rRJGTVbAj3vtYbs2y
 m6Ig==
X-Forwarded-Encrypted: i=1;
 AJvYcCWk5v/kE3i+EZQ06czh8VWVR1pdgf78FTSt3pWuTXF1xBVOnUhsvV1QIgGZfIEclElFrJBhjA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yw7CNKIwMzOo+vs6NR0if/EmBwZPiu99lyZhszSCD4hjMr36haE
 +JY+jnwuA43MeGKo0YQIUjhemu8pj0J52eiuylMnAiU5aaF+3CLE8ahdmMCw7wOSfwqENhkYqBD
 HblbsnZjbZL0i8Upeo/JeS//+pFI=
X-Gm-Gg: ASbGncuAa/mb8G26uePk3uZsdYCHzNZHi1J6x2G7tkqqrxGLqnP0AYlQnTCnicpy/k7
 Gnnqo8WHjfbfGpT49D/JhNSOs1i8hUspL6Rmn13qiLaDOX9A1f0toI90NiC1C++geG96EYRxRwP
 wGhsuRbtHfshGW8lgGifthrA==
X-Google-Smtp-Source: AGHT+IHcuTPQvQAYBX/14I0TwM+REq2E9pW+FwjJTQfi+P1vx+g0bYtH7ZQubUbYFJ/JXGX8r44+eQmE2Sv6JIUmsHA=
X-Received: by 2002:a05:6102:160a:b0:4bb:e5bf:9c79 with SMTP id
 ada2fe7eead31-4d5456546a2mr7537930137.22.1745846629237; Mon, 28 Apr 2025
 06:23:49 -0700 (PDT)
MIME-Version: 1.0
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN> <86ldrkr01n.fsf@HIDDEN>
 <CAN+1Hbp6oZvkNq3xhYprYS3X8H=39ajyDHGL3KsGpBZ0ZDnFYg@HIDDEN>
 <86a580qv97.fsf@HIDDEN>
In-Reply-To: <86a580qv97.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Mon, 28 Apr 2025 09:23:38 -0400
X-Gm-Features: ATxdqUHff4XTCpNz5vSlVY0mRw5qFOsKcLgfnYUytW_U7Jq5RF2IQp599ukFJ90
Message-ID: <CAN+1Hbq77kCAwVZxzQRBckqjRg2GTX2EFN76HGozy-sGhzer4g@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000002b0e3d0633d698c0"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77715
Cc: eg642616@HIDDEN, 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000002b0e3d0633d698c0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 28, 2025 at 9:19=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Ship Mints <shipmints@HIDDEN>
> > Date: Mon, 28 Apr 2025 09:06:42 -0400
> > Cc: Elijah Gabe P=C3=A9rez <eg642616@HIDDEN>,
> >       77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
> >
> > On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wr=
ote:
> >
> >  > +              (cookies (mapcar (lambda (f) (face-remap-add-relative
> f 'flash-face))
> >  > +                               flash-face-faces)))
> >
> >  Are you sure using face-remap-add-relative will work as expected with
> >  any face in flash-face-faces?  Support for face remapping is not
> >  magic, it must be explicitly coded in several places.  It might work
> >  quite well for basic faces, but I'm not sure what happens with faces
> >  defined by various packages.  For that reason, I'm not sure asking
> >  users to specify a list of faces is the best idea.  How many different
> >  faces did you test this with?  Did you try the default face, or
> >  diff-mode faces, for example?
> >
> > I use my version of this implementation with the following list of
> faces: '(internal-border tab-bar
> > mode-line-active mode-line-inactive)
>
> These are all basic faces (see xfaces.c), for which the C code applies
> face-remapping.  I asked about other faces.
>

I haven't tried others is what I was saying.  Elijah should test more faces
as part of the due diligence to get this into Emacs core.

>  > +    (unwind-protect
> >  > +        (sit-for flash-face-duration)
> >  > +      (mapc #'face-remap-remove-relative cookies))))
> >
> >  Using sit-for means any input event will interrupt the wait.  Other
> >  ring-bell-functions don't behave like that.  Are you sure sleep-for is
> >  not better for this purpose?
> >
> > My implementation uses sit-for and the duration is short enough (mine i=
s
> set to 0.05 seconds) that this is
> > fine.  And if it were any longer, I'd want C-g to interrupt it and
> remove the remappings.
>
> What if the user want 0.1 sec, and there's an input event after just
> 10 msec?  The difference is perceptible by humans.
>

Same. The ring bell use case is sufficiently visually intrusive that if the
sit-for is interrupted by an input event, I'm good with that.

--0000000000002b0e3d0633d698c0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
t-family:monospace"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
On Mon, Apr 28, 2025 at 9:19=E2=80=AFAM Eli Zaretskii &lt;<a href=3D"mailto=
:eliz@HIDDEN">eliz@HIDDEN</a>&gt; wrote:</span></div></div><div class=3D"=
gmail_quote gmail_quote_container"><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">&gt; From: Ship Mints &lt;<a href=3D"mailto:shipmints@HIDDEN"=
 target=3D"_blank">shipmints@HIDDEN</a>&gt;<br>
&gt; Date: Mon, 28 Apr 2025 09:06:42 -0400<br>
&gt; Cc: Elijah Gabe P=C3=A9rez &lt;<a href=3D"mailto:eg642616@HIDDEN" t=
arget=3D"_blank">eg642616@HIDDEN</a>&gt;, <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"mailto:77715 <at> debbugs.gnu.org" tar=
get=3D"_blank">77715 <at> debbugs.gnu.org</a>, <a href=3D"mailto:drew.adams@orac=
le.com" target=3D"_blank">drew.adams@HIDDEN</a><br>
&gt; <br>
&gt; On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii &lt;<a href=3D"m=
ailto:eliz@HIDDEN" target=3D"_blank">eliz@HIDDEN</a>&gt; wrote:<br>
&gt; <br>
&gt;=C2=A0 &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (cookies =
(mapcar (lambda (f) (face-remap-add-relative f &#39;flash-face))<br>
&gt;=C2=A0 &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0flash-face-faces)))<=
br>
&gt; <br>
&gt;=C2=A0 Are you sure using face-remap-add-relative will work as expected=
 with<br>
&gt;=C2=A0 any face in flash-face-faces?=C2=A0 Support for face remapping i=
s not<br>
&gt;=C2=A0 magic, it must be explicitly coded in several places.=C2=A0 It m=
ight work<br>
&gt;=C2=A0 quite well for basic faces, but I&#39;m not sure what happens wi=
th faces<br>
&gt;=C2=A0 defined by various packages.=C2=A0 For that reason, I&#39;m not =
sure asking<br>
&gt;=C2=A0 users to specify a list of faces is the best idea.=C2=A0 How man=
y different<br>
&gt;=C2=A0 faces did you test this with?=C2=A0 Did you try the default face=
, or<br>
&gt;=C2=A0 diff-mode faces, for example?<br>
&gt; <br>
&gt; I use my version of this implementation with the following list of fac=
es: &#39;(internal-border tab-bar<br>
&gt; mode-line-active mode-line-inactive)<br>
<br>
These are all basic faces (see xfaces.c), for which the C code applies<br>
face-remapping.=C2=A0 I asked about other faces.<br></blockquote><div><br><=
/div><div class=3D"gmail_default" style=3D"font-family:monospace">I haven&#=
39;t tried others is what I was saying.=C2=A0 Elijah should test more faces=
 as part of the due diligence to get this into Emacs core.</div><div class=
=3D"gmail_default" style=3D"font-family:monospace"><br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
 rgb(204,204,204);padding-left:1ex">
&gt;=C2=A0 &gt; +=C2=A0 =C2=A0 (unwind-protect<br>
&gt;=C2=A0 &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (sit-for flash-face-duration)<=
br>
&gt;=C2=A0 &gt; +=C2=A0 =C2=A0 =C2=A0 (mapc #&#39;face-remap-remove-relativ=
e cookies))))<br>
&gt; <br>
&gt;=C2=A0 Using sit-for means any input event will interrupt the wait.=C2=
=A0 Other<br>
&gt;=C2=A0 ring-bell-functions don&#39;t behave like that.=C2=A0 Are you su=
re sleep-for is<br>
&gt;=C2=A0 not better for this purpose?<br>
&gt; <br>
&gt; My implementation uses sit-for and the duration is short enough (mine =
is set to 0.05 seconds) that this is<br>
&gt; fine.=C2=A0 And if it were any longer, I&#39;d want C-g to interrupt i=
t and remove the remappings.<br>
<br>
What if the user want 0.1 sec, and there&#39;s an input event after just<br=
>
10 msec?=C2=A0 The difference is perceptible by humans.<br></blockquote><di=
v><br></div><div class=3D"gmail_default" style=3D"font-family:monospace">Sa=
me. The ring bell use case is sufficiently visually intrusive that if the s=
it-for is interrupted by an input event, I&#39;m good with that.</div></div=
></div>

--0000000000002b0e3d0633d698c0--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 13:19:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 28 09:19:39 2025
Received: from localhost ([127.0.0.1]:55149 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9OOY-0007IX-T3
	for submit <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:19:39 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:39324)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u9OOV-0007Hx-05
 for 77715 <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:19:36 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u9OOM-0006qS-EU; Mon, 28 Apr 2025 09:19:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=xLTYEXI4rEciBk3Rx0R5EA8nhdId6gyPZ+bGzCbB3eo=; b=RzzrumCqw26K6Gp4uKPD
 MkE8ks6iqGM/HVWWQvkfv13zCmnc4wv657H63LW+kjDq1NVLCKI/FeFN6pIBtHhm1aVoCnc8AvIXp
 ZbG91bVMXnke2HUvNvkz5NBtrcNaSATKoV4YQrFBt5taOaa5QeEEzWpOE/3QAwwv9L7bgIuptV3WZ
 MBqZnnSthNHAiBIKfYp6J26n/0/bY3DnbwIQDrdaPZt8zT5mEsTwwAb86AV5pk8fLEUd5K4pDSa53
 vvOaSYqYbPzxhzriv+6ukFHFPw6pk5Pkx2ZDTEF2fIPjf9vlwFM0cxINTfHl0EhCsQp5yElqxM11N
 fV85kl6HtbxYkQ==;
Date: Mon, 28 Apr 2025 16:19:00 +0300
Message-Id: <86a580qv97.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Ship Mints <shipmints@HIDDEN>
In-Reply-To: <CAN+1Hbp6oZvkNq3xhYprYS3X8H=39ajyDHGL3KsGpBZ0ZDnFYg@HIDDEN>
 (message from Ship Mints on Mon, 28 Apr 2025 09:06:42 -0400)
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN> <86ldrkr01n.fsf@HIDDEN>
 <CAN+1Hbp6oZvkNq3xhYprYS3X8H=39ajyDHGL3KsGpBZ0ZDnFYg@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77715
Cc: eg642616@HIDDEN, 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Ship Mints <shipmints@HIDDEN>
> Date: Mon, 28 Apr 2025 09:06:42 -0400
> Cc: Elijah Gabe Pérez <eg642616@HIDDEN>, 
> 	77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
> 
> On Mon, Apr 28, 2025 at 7:35 AM Eli Zaretskii <eliz@HIDDEN> wrote:
> 
>  > +              (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face))
>  > +                               flash-face-faces)))
> 
>  Are you sure using face-remap-add-relative will work as expected with
>  any face in flash-face-faces?  Support for face remapping is not
>  magic, it must be explicitly coded in several places.  It might work
>  quite well for basic faces, but I'm not sure what happens with faces
>  defined by various packages.  For that reason, I'm not sure asking
>  users to specify a list of faces is the best idea.  How many different
>  faces did you test this with?  Did you try the default face, or
>  diff-mode faces, for example?
> 
> I use my version of this implementation with the following list of faces: '(internal-border tab-bar
> mode-line-active mode-line-inactive)

These are all basic faces (see xfaces.c), for which the C code applies
face-remapping.  I asked about other faces.

>  > +    (unwind-protect
>  > +        (sit-for flash-face-duration)
>  > +      (mapc #'face-remap-remove-relative cookies))))
> 
>  Using sit-for means any input event will interrupt the wait.  Other
>  ring-bell-functions don't behave like that.  Are you sure sleep-for is
>  not better for this purpose?
> 
> My implementation uses sit-for and the duration is short enough (mine is set to 0.05 seconds) that this is
> fine.  And if it were any longer, I'd want C-g to interrupt it and remove the remappings.

What if the user want 0.1 sec, and there's an input event after just
10 msec?  The difference is perceptible by humans.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 13:07:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 28 09:07:02 2025
Received: from localhost ([127.0.0.1]:55112 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9OCM-0005kU-7Y
	for submit <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:07:02 -0400
Received: from mail-yb1-xb2c.google.com ([2607:f8b0:4864:20::b2c]:44219)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1u9OCJ-0005k9-Qe
 for 77715 <at> debbugs.gnu.org; Mon, 28 Apr 2025 09:07:00 -0400
Received: by mail-yb1-xb2c.google.com with SMTP id
 3f1490d57ef6-e731cd5f2adso2127638276.0
 for <77715 <at> debbugs.gnu.org>; Mon, 28 Apr 2025 06:06:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745845614; x=1746450414; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=+eV80Z4D/Qt4GwS1mGC+cTwoeX/sAmCLeCqshjlII0s=;
 b=Ey5BNhzG16PsQqVxR+BvFrbQ9fWLlo/l1zMTOBXUqL+9YREr+j3wv72tbuGw7ckrFl
 qVw9LdaWO/gRrpDINh9Dmj4taBee5sSqzLLmqgJ0UYonaZNQApCuAj4G50AWdeXASLR1
 eD683CipHhmsgkPczVjRSxaOYp01Vm0jLOPNThI1SpDwHp13hU4ptRJRoJ77lUdHur97
 KurNQlo2oXuaDtr3iUx+B0q/7ZOEVoNzOYAomO5u6OFlizLUuTURdylC9fXA2EEXBOPz
 FPCYH2oCOmej14Hzk/bF0Ns0WJjrNy/4jLyzf+NJAwJgE3qa8/ml90J6bokXU5adzyMX
 x3NQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745845614; x=1746450414;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=+eV80Z4D/Qt4GwS1mGC+cTwoeX/sAmCLeCqshjlII0s=;
 b=U8dAuoMpPag1rSD1R4+mcaOxVrHSOzAdhJF+BteLikOy7tpnMzIj6LEAKJrscZGKe4
 icZqArorE/Fp8PS1OmqrlrzRFLypAnOAeZolB4OiQ1cC4MTng25QNSkbMpNjJRP1mU94
 DdCPJNHF7D8VXXRkLHBPax4KOKueKl8lT3zcP1zg60XdfhbQAq3vQPZIDbhdIpRsy1VD
 k6D+ysezbI7kIBDITDm5HLoLidONV27t2klBgQWyvq7uxL3L6576ZNknAVnhPXLLMlzt
 2fn1gREG9UhoCXlpqqIKXRdXvSIWsg1LOs46ovqP3DltCVKYY5F4k3U0kZS4Er/JbzBu
 vyXw==
X-Forwarded-Encrypted: i=1;
 AJvYcCW/UnxQTJSpTXtgFdv8NFUNZ/Dq2gkDWhFd22jvVbu+1z6b/dFnVLaxE3vKtWjKpJmGMTbD7A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YznvXj9xmmlC51mXVPXuTE37ZDW9XLN0bl9+nikHrX4IW1OhurO
 kQpgGh1BSqcT5lSp9XTavm6nqmftK5yZ30lR1pzK0X6wlxB+MWQkuOCHhkZfQ6I2V5/oAGChelg
 SrexDHUx3oQYp5wyvwQ207/sJ8AY=
X-Gm-Gg: ASbGncsOBee5wgvfWP41SvaOa4o6diAJ2sw6/xfiTkfPbEuzfc/2kMidI7JH7m7bzy/
 11k5tyxpPD8YWqSWiUfjDvDSRlujPEYnf8Eq23BG/rlrqLvEfpsubuQXoBnwL1hI2If0cwPB4+g
 49v4z/DbRPUQz8fT6Mp4SyPA==
X-Google-Smtp-Source: AGHT+IHW3znChejqSsR7SGNEx++AWyva1u1XUGzHINVyExNnSXXKqFojBxTUWC6FH1clvO4DPk+DrJNWul5tLOdB0OU=
X-Received: by 2002:a05:6902:18ce:b0:e73:2d80:aae0 with SMTP id
 3f1490d57ef6-e732d80abfamr9111494276.49.1745845613901; Mon, 28 Apr 2025
 06:06:53 -0700 (PDT)
MIME-Version: 1.0
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN> <86ldrkr01n.fsf@HIDDEN>
In-Reply-To: <86ldrkr01n.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Mon, 28 Apr 2025 09:06:42 -0400
X-Gm-Features: ATxdqUHHjGq2ICDtyu2Byubt5EmtZCVFapHT8Y7OpWsh0JqN3-5mnlZ2BM42MUo
Message-ID: <CAN+1Hbp6oZvkNq3xhYprYS3X8H=39ajyDHGL3KsGpBZ0ZDnFYg@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000a6451c0633d65bc6"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77715
Cc: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>,
 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000a6451c0633d65bc6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote:

> > +              (cookies (mapcar (lambda (f) (face-remap-add-relative f
> 'flash-face))
> > +                               flash-face-faces)))
>
> Are you sure using face-remap-add-relative will work as expected with
> any face in flash-face-faces?  Support for face remapping is not
> magic, it must be explicitly coded in several places.  It might work
> quite well for basic faces, but I'm not sure what happens with faces
> defined by various packages.  For that reason, I'm not sure asking
> users to specify a list of faces is the best idea.  How many different
> faces did you test this with?  Did you try the default face, or
> diff-mode faces, for example?
>

I use my version of this implementation with the following list of faces:
'(internal-border tab-bar mode-line-active mode-line-inactive)

> +    (unwind-protect
> > +        (sit-for flash-face-duration)
> > +      (mapc #'face-remap-remove-relative cookies))))
>
> Using sit-for means any input event will interrupt the wait.  Other
> ring-bell-functions don't behave like that.  Are you sure sleep-for is
> not better for this purpose?
>

My implementation uses sit-for and the duration is short enough (mine is
set to 0.05 seconds) that this is fine.  And if it were any longer, I'd
want C-g to interrupt it and remove the remappings.

>
> > +(defun flash-echo-area-bell-function ()
> > +  "Flash echo area as ring a bell.
> > +Intended to be used in `ring-bell-function'."
> > +  ;; like `with-temp-message' but suppress message log for not flood
> > +  ;; messages buffer
> > +  (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer
>
> What conflict is that?
>
> It seems like the above means the feature will not work (i.e., no
> flash) if the minibuffer is active?  If so, is that a good idea?
>

My implementation doesn't have this condition so I'm not sure what it tries
to do or avoid.

-Stephane

--000000000000a6451c0633d65bc6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
t-family:monospace"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
On Mon, Apr 28, 2025 at 7:35=E2=80=AFAM Eli Zaretskii &lt;<a href=3D"mailto=
:eliz@HIDDEN">eliz@HIDDEN</a>&gt; wrote:</span></div></div><div class=3D"=
gmail_quote gmail_quote_container"><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (cookies =
(mapcar (lambda (f) (face-remap-add-relative f &#39;flash-face))<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0flash-face-faces)))<br>
<br>
Are you sure using face-remap-add-relative will work as expected with<br>
any face in flash-face-faces?=C2=A0 Support for face remapping is not<br>
magic, it must be explicitly coded in several places.=C2=A0 It might work<b=
r>
quite well for basic faces, but I&#39;m not sure what happens with faces<br=
>
defined by various packages.=C2=A0 For that reason, I&#39;m not sure asking=
<br>
users to specify a list of faces is the best idea.=C2=A0 How many different=
<br>
faces did you test this with?=C2=A0 Did you try the default face, or<br>
diff-mode faces, for example?<br></blockquote><div><br></div><div class=3D"=
gmail_default" style=3D"font-family:monospace">I use my version of this imp=
lementation with the following list of faces: &#39;(internal-border tab-bar=
 mode-line-active mode-line-inactive)</div><div class=3D"gmail_default" sty=
le=3D"font-family:monospace"><br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">
&gt; +=C2=A0 =C2=A0 (unwind-protect<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (sit-for flash-face-duration)<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 (mapc #&#39;face-remap-remove-relative cookies))=
))<br>
<br>
Using sit-for means any input event will interrupt the wait.=C2=A0 Other<br=
>
ring-bell-functions don&#39;t behave like that.=C2=A0 Are you sure sleep-fo=
r is<br>
not better for this purpose?<br></blockquote><div><br></div><div class=3D"g=
mail_default" style=3D"font-family:monospace">My implementation uses sit-fo=
r and the duration is short enough (mine is set to 0.05 seconds) that this =
is fine.=C2=A0 And if it were any longer, I&#39;d want C-g to interrupt it =
and remove the remappings.</div><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex"><br>
&gt; +(defun flash-echo-area-bell-function ()<br>
&gt; +=C2=A0 &quot;Flash echo area as ring a bell.<br>
&gt; +Intended to be used in `ring-bell-function&#39;.&quot;<br>
&gt; +=C2=A0 ;; like `with-temp-message&#39; but suppress message log for n=
ot flood<br>
&gt; +=C2=A0 ;; messages buffer<br>
&gt; +=C2=A0 (unless (minibufferp) ; Avoid conflicts if cursor is in minibu=
ffer<br>
<br>
What conflict is that?<br>
<br>
It seems like the above means the feature will not work (i.e., no<br>
flash) if the minibuffer is active?=C2=A0 If so, is that a good idea?<br></=
blockquote><div><font face=3D"monospace"><br></font></div><div><div class=
=3D"gmail_default" style=3D""><font face=3D"monospace">My implementation do=
esn&#39;t have this condition so I&#39;m not sure what it tries to do or av=
oid.</font></div><div class=3D"gmail_default" style=3D""><font face=3D"mono=
space">=C2=A0</font></div></div><div class=3D"gmail_default" style=3D""><fo=
nt face=3D"monospace">-Stephane</font></div></div></div>

--000000000000a6451c0633d65bc6--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 28 Apr 2025 11:35:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 28 07:35:55 2025
Received: from localhost ([127.0.0.1]:54840 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u9Mm9-0003kh-5g
	for submit <at> debbugs.gnu.org; Mon, 28 Apr 2025 07:35:55 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:45648)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u9Mm4-0003jO-SX
 for 77715 <at> debbugs.gnu.org; Mon, 28 Apr 2025 07:35:50 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u9Mlz-0007Ip-2a; Mon, 28 Apr 2025 07:35:43 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=jehHu+064wQ/yCRDjUWEV32fltyuUc7OhsVNJ0Bj3P0=; b=IOfEsMYcsmDQqbGF067r
 QOGAtLALpFaXACZr6anpYkjb32M2zN93ihS97DPiajc7hEJ/qxjmPg3YPY/28VbyxEEGUKhri5Qfu
 tcJHkhRicuZH4nmjAv4qFWJ9c7L3hAe2nn3cLOJ1JOANYKPgHvHEU9FyWnRg/rMkOGFXwn9pXS+sH
 JdJEhmXwT1rqviDqqapCgev/aOoChQ4FtM8h3+DKS4EEOcbO/I7mBKgI4SvjUPNXHjwZWm9hVqIWz
 Dt4oHZUjP3WQqwwA6JxXsXpXK14bXEv6a1ipUJyufYTMoYMbQd9XcGkYlsCbXH5pThmw324eUhYKi
 ubQy1A/r/+q1EA==;
Date: Mon, 28 Apr 2025 14:35:32 +0300
Message-Id: <86ldrkr01n.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Elijah Gabe =?iso-8859-1?Q?P=E9rez?= <eg642616@HIDDEN>
In-Reply-To: <87bjsh79sl.fsf@HIDDEN> (message from Elijah Gabe
 =?iso-8859-1?Q?P=E9rez?= on Sun, 27 Apr 2025 12:12:58 -0600)
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN> <87bjsh79sl.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org, shipmints@HIDDEN, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Elijah Gabe Pérez <eg642616@HIDDEN>
> Cc: Ship Mints <shipmints@HIDDEN>, drew.adams@HIDDEN, eliz@HIDDEN
> Date: Sun, 27 Apr 2025 12:12:58 -0600
> 
> I don't know if there still interest on this,
> I'm sending here a fixed and updated version of this patch.
> 
> This is ready to merge into master (unless there is something else).

Thanks, but there are a few aspects of this that I think "need work".

> +** New face 'flash-face'.
> +This face is used for flash a face briefly.
> +Mainly used for 'flash-echo-area-bell-function' and
> +'flash-face-bell-function'.

I see no reason to announce this face in NEWS for the reasons I
explain below.

> +---
> +*** New function 'flash-face-bell-function'.
> +This function when called will flash a face briefly.
> +Intended to be used in 'ring-bell-function'.
> +
> +---
> +*** New function 'flash-echo-area-bell-function'.
> +This function when called will flash current echo area briefly.
> +Intended to be used in 'ring-bell-function'.

The "when called" part is redundant: it should be clear that a
function can do its job only if called.

> --- a/lisp/faces.el
> +++ b/lisp/faces.el
> @@ -2825,6 +2825,17 @@ header-line-inactive
>    :group 'mode-line-faces
>    :group 'basic-faces)
>  
> +(defface flash-face
> +  '((((class color) (min-colors 88))
> +     :background "red3" :foreground "white")
> +    (((class color grayscale) (min-colors 88))
> +     :background "grey10" :foreground "white")
> +    (t
> +     :inherit error :inverse-video t))
> +  "Basic face used for flash a face briefly."
> +  :version "31.1"
> +  :group 'basic-faces)

Can you tell why this face is defined in faces.el?  We don't need to
have it preloaded in Emacs.  Moreover, AFAIU this is not really a
face, to be used like other faces.  Instead, this is just a collection
of face attributes to add to other faces for producing the "flash"
effect.  So I'd rather we would not even use defface for it.  Or if
the alternatives are too awkward and inconvenient, at least let's make
the name of this face be an internal name (with two dashes), and
explain in the doc string how is this used.

> --- a/lisp/simple.el
> +++ b/lisp/simple.el
> @@ -9389,6 +9389,50 @@ auto-save-mode
>    (and (< buffer-saved-size 0)
>         (setq buffer-saved-size 0)))

I don't think we need this in simple.el.  This is a minor convenience
feature, so it doesn't have to be preloaded.  It can be on a separate
file with the 2 functions it exports autoloaded.

> +(defcustom flash-face-duration 0.05
> +  "Time (in seconds) used for flash face duration."
> +  :type 'float
     ^^^^^^^^^^^^
Why not 'number instead?  Do you really want to support only floats?

> +(defcustom flash-face-faces
> +  '(mode-line-active)
> +  "A list of faces which `flash-face-bell-function' will flash them."

The doc string reads awkwardly.  I suggest

  Faces to be flashed by `flash-face-bell-function'.

> +(defun flash-face-bell-function ()
> +  "Flash a face or faces as ring a bell.

I'd say "Ring-bell function that flashes faces instead."

> +Intended to be used in `ring-bell-function'."
> +  (when-let* (flash-face-duration ; Ensure time is non-nil
                                       ^^^^^^^^^^^^^^^^^^^^^^
Why non-nil and not numberp?

> +              (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face))
> +                               flash-face-faces)))

Are you sure using face-remap-add-relative will work as expected with
any face in flash-face-faces?  Support for face remapping is not
magic, it must be explicitly coded in several places.  It might work
quite well for basic faces, but I'm not sure what happens with faces
defined by various packages.  For that reason, I'm not sure asking
users to specify a list of faces is the best idea.  How many different
faces did you test this with?  Did you try the default face, or
diff-mode faces, for example?

> +    (unwind-protect
> +        (sit-for flash-face-duration)
> +      (mapc #'face-remap-remove-relative cookies))))

Using sit-for means any input event will interrupt the wait.  Other
ring-bell-functions don't behave like that.  Are you sure sleep-for is
not better for this purpose?

> +(defun flash-echo-area-bell-function ()
> +  "Flash echo area as ring a bell.
> +Intended to be used in `ring-bell-function'."
> +  ;; like `with-temp-message' but suppress message log for not flood
> +  ;; messages buffer
> +  (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer

What conflict is that?

It seems like the above means the feature will not work (i.e., no
flash) if the minibuffer is active?  If so, is that a good idea?

> +    (let ((with-temp-message
> +              (propertize " " 'display `(space :align-to right) 'face
> +                          'flash-face))

Why do you use propertize here instead of face-remap-add-relative?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 27 Apr 2025 18:13:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 27 14:13:11 2025
Received: from localhost ([127.0.0.1]:44365 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u96V5-0001yT-17
	for submit <at> debbugs.gnu.org; Sun, 27 Apr 2025 14:13:11 -0400
Received: from mail-ot1-x342.google.com ([2607:f8b0:4864:20::342]:51295)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u96V1-0001xn-N4
 for 77715 <at> debbugs.gnu.org; Sun, 27 Apr 2025 14:13:08 -0400
Received: by mail-ot1-x342.google.com with SMTP id
 46e09a7af769-72c14138668so1089637a34.2
 for <77715 <at> debbugs.gnu.org>; Sun, 27 Apr 2025 11:13:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745777581; x=1746382381; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=Tc0Kvk2/O8HR95x1Uyf5lZbYCOAmwDU3gAZbaCM3Bck=;
 b=NvXo6084OqwH4EgXBD9mL+Whul6hii1gUfOEg74f3sPUZh5fxwvyZVZNAT6mKE2/4A
 iPHKFw0ChGaU9n8rsxMFQFMcFsks9uIwX0MlXcdMrpZTrhd5oFdg3/OAHTKm3wC9F0W/
 owaLbtNNgyh7MHtO3Y3P0su964mdA7e/gHSnMc0c6Xr6+jHwwc6/aeSqu8mMhrt1KvwB
 2Lg0xUDDM2QqjxNuBa+vOtJDqzcoDaCjAz73Yrv+RHX71BbApdtSqZoiEn0pauMOfXJU
 Ofnm+iXtP3u+ENoU/A+i02dCo7O4UlEnbAbvqdnczozUDP+BNHpCEjQNNXrSFtwzXa/Y
 wHCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745777581; x=1746382381;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Tc0Kvk2/O8HR95x1Uyf5lZbYCOAmwDU3gAZbaCM3Bck=;
 b=m4YRKeXOOhK52w2Gfz1l/T/aczOXdObAp8Pv3PqOoJ3jJcl3AGBH1Q9kc3fjKpVDMz
 WMf/0QB5EIPihY+JlNmAZThGysZOOcizP/+tKmkcYPbCbeG6oCQIzHB9/QzbSTiqH8Lv
 Ft2F0v0qNjCirkC8ty480ruXKrolQcb9L6JsV3Z6k5MfPA2SjlGUcyaKbMeZcXxRKkLD
 pAntqi9kjs0FVN+ml7oTCLGDDyjsYcc49sPKg/gKTm4eAFvCpPPtztBl4+cesVHxue/N
 qZIHrL/v4St6TGMLqJFT+2UVRqhrRSwd9Rj/SnDhUqFfUAnqisANi7ljo/NsFiKX1GN+
 B3MA==
X-Gm-Message-State: AOJu0YzGkSe5WCr9XtC2rc2TNCEUBYQ74YGPzBSz8CQICQE4Ljmjjlwi
 1kx3iHdY/9jRpjIfLvMBwhiKl5zrd6OxDEsO42RrB6jdybQPpwnN
X-Gm-Gg: ASbGncvqhV2Ox+tqSHt7ROyMzy8A9VgZ3c91Bu6ygetzyi3awP11X0tIDfB/T7AzZGK
 nPK0/np5LGgR4a5lZKEVgICxsL1yYN50nOWr/zw8AxfQGSdpZ/UN5g7GCFYS/U7e1hswFyPF/Yb
 AYyjOIPL7YApVKqHr/pJhT/lY4TtntZzqf3Tbko63avg4JzBTNrtrr5a1y72URmY8Y2RXv4J/dI
 k7gw2oCVfHXkA7c1aAWg4gGEDc/rzQVaH0E7GV0ausnADyC/ppQ6eFz0KgYgyTK24Yt7btJNmDX
 Fpp2+6SW
X-Google-Smtp-Source: AGHT+IEiF8849Ng3ZRAab8TH42baelFxl52FrOIRlgcZsrceQTkhp34Qdr5LIRqrw9yk2vzZU6QDlQ==
X-Received: by 2002:a05:6830:378c:b0:72c:320b:f76b with SMTP id
 46e09a7af769-73065093a53mr3966096a34.1.1745777581335; 
 Sun, 27 Apr 2025 11:13:01 -0700 (PDT)
Received: from fedora ([2806:10ae:e:8863::1]) by smtp.gmail.com with ESMTPSA id
 46e09a7af769-7304f399a10sm1484180a34.65.2025.04.27.11.12.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 27 Apr 2025 11:13:00 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: 77715 <at> debbugs.gnu.org
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <87wmbqpmb7.fsf@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
 <87wmbqpmb7.fsf@HIDDEN>
Date: Sun, 27 Apr 2025 12:12:58 -0600
Message-ID: <87bjsh79sl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77715
Cc: eliz@HIDDEN, Ship Mints <shipmints@HIDDEN>, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

--=-=-=
Content-Type: text/plain

I don't know if there still interest on this,
I'm sending here a fixed and updated version of this patch.

This is ready to merge into master (unless there is something else).


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-New-ring-bell-functions-for-flash-faces.-bug-77715.patch

From 8941df9a32bdadef37a665f9665aafd5805dc255 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN>
Date: Thu, 10 Apr 2025 11:38:21 -0600
Subject: [PATCH] New ring-bell functions for flash faces.  (bug#77715)

New functions for flash any face or echo area once whether
`ring-bell-function' is called.
* lisp/faces.el (flash-face): New face.
* lisp/simple.el (flash-line-duration, flash-face-faces): New
user options.
(flash-face-bell-function, flash-echo-area-bell-function): New
functions.
---
 etc/NEWS       | 24 ++++++++++++++++++++++++
 lisp/faces.el  | 11 +++++++++++
 lisp/simple.el | 44 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 79 insertions(+)

diff --git a/etc/NEWS b/etc/NEWS
index ade5abc43fc..8fb56c341f5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -429,6 +429,11 @@ on the header lines are now these two: the selected window uses
 
 ** In 'customize-face', the "Font family" attribute now supports completion.
 
+** New face 'flash-face'.
+This face is used for flash a face briefly.
+Mainly used for 'flash-echo-area-bell-function' and
+'flash-face-bell-function'.
+
 ** 'process-adaptive-read-buffering' is now nil by default.
 Setting this variable to a non-nil value reduces performance and leads
 to wrong results in some cases.  We believe that it is no longer useful;
@@ -1919,6 +1924,25 @@ change their face if the current line exceeds the 'fill-column'.  The
 new face 'display-fill-column-indicator-warning-face' is used to
 highlight the fill-column indicators.  By default this is disabled.
 
+---
+*** New function 'flash-face-bell-function'.
+This function when called will flash a face briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-echo-area-bell-function'.
+This function when called will flash current echo area briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New user option 'flash-face-duration'.
+This option controls flash duration for 'flash-face-bell-function' and
+'flash-echo-area-bell-function'.
+
+---
+*** New user option 'flash-face-faces'.
+This option tells 'flash-face-bell-function' which faces should flash.
+
 ---
 ** Flymake
 
diff --git a/lisp/faces.el b/lisp/faces.el
index dbc0a2e04f6..b749627254c 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2825,6 +2825,17 @@ header-line-inactive
   :group 'mode-line-faces
   :group 'basic-faces)
 
+(defface flash-face
+  '((((class color) (min-colors 88))
+     :background "red3" :foreground "white")
+    (((class color grayscale) (min-colors 88))
+     :background "grey10" :foreground "white")
+    (t
+     :inherit error :inverse-video t))
+  "Basic face used for flash a face briefly."
+  :version "31.1"
+  :group 'basic-faces)
+
 (defface vertical-border
   '((((type tty)) :inherit mode-line-inactive))
   "Face used for vertical window dividers on ttys."
diff --git a/lisp/simple.el b/lisp/simple.el
index ee09a6f1b19..5aa3027ada2 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -9389,6 +9389,50 @@ auto-save-mode
   (and (< buffer-saved-size 0)
        (setq buffer-saved-size 0)))
 
+(declare-function face-remap-remove-relative "face-remap" (cookie))
+
+(defcustom flash-face-duration 0.05
+  "Time (in seconds) used for flash face duration."
+  :type 'float
+  :version "31.1")
+
+(defcustom flash-face-faces
+  '(mode-line-active)
+  "A list of faces which `flash-face-bell-function' will flash them."
+  :type '(repeat face)
+  :version "31.1")
+
+(defun flash-face-bell-function ()
+  "Flash a face or faces as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (when-let* (flash-face-duration ; Ensure time is non-nil
+              (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face))
+                               flash-face-faces)))
+    (unwind-protect
+        (sit-for flash-face-duration)
+      (mapc #'face-remap-remove-relative cookies))))
+
+(defun flash-echo-area-bell-function ()
+  "Flash echo area as ring a bell.
+Intended to be used in `ring-bell-function'."
+  ;; like `with-temp-message' but suppress message log for not flood
+  ;; messages buffer
+  (unless (minibufferp) ; Avoid conflicts if cursor is in minibuffer
+    (let ((with-temp-message
+              (propertize " " 'display `(space :align-to right) 'face
+                          'flash-face))
+          (current-message))
+      (unwind-protect
+          (progn
+            (when with-temp-message
+              (setq current-message (current-message))
+              (let (message-log-max)
+                (message "%s" with-temp-message)))
+            (sit-for flash-face-duration))
+        (and with-temp-message
+             (if current-message (message "%s" current-message)
+               (message nil)))))))
+
 (defgroup paren-blinking nil
   "Blinking matching of parens and expressions."
   :prefix "blink-matching-"
-- 
2.49.0


--=-=-=
Content-Type: text/plain

-- 
                                          - E.G via GNU Emacs and Org.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 18:47:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 11 14:47:51 2025
Received: from localhost ([127.0.0.1]:51741 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u3JPr-0002dX-98
	for submit <at> debbugs.gnu.org; Fri, 11 Apr 2025 14:47:51 -0400
Received: from mail-oo1-xc41.google.com ([2607:f8b0:4864:20::c41]:58529)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u3JPo-0002dI-Oi
 for 77715 <at> debbugs.gnu.org; Fri, 11 Apr 2025 14:47:49 -0400
Received: by mail-oo1-xc41.google.com with SMTP id
 006d021491bc7-601a46ee19fso1108609eaf.0
 for <77715 <at> debbugs.gnu.org>; Fri, 11 Apr 2025 11:47:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744397262; x=1745002062; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=LGK1VH8YiiU+t19fJGyUaIrHOFGfIoEPmw6s3SeSn3E=;
 b=VWcAEsCSvSPaFsLmhuZcF/+gXN9bEdpz9V/yjH8Ajx6GCEZ8sep8wICaBHA9GmQMwH
 bIw71Z2mVD0UQA7erE2j77/U2FmL9Wfbe+eq7h0XC/EifPuxudAvsFGL4GGbxy7lTHN3
 io2VAI8cCzo9iFHNMvoOFo+6E3PzBPPzLwCW03WAgyibqnurotnvxL7Q8GOnOqzSvYBN
 VOEuacTJYIKQfizOvAmrnsmafNpXVKFPPms+MCHXVG7ONdcx72NTGjVGen7Iq0kD4sYN
 /S8pek6NYTHpzPYUHG9DF8FTVPHfLaU8wQcMxk0H5lw/gEAplbB3+sKuAaWKFo4ba1Cz
 FC8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744397262; x=1745002062;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=LGK1VH8YiiU+t19fJGyUaIrHOFGfIoEPmw6s3SeSn3E=;
 b=aLCOyDfr8xoOwuYJqO5FEDkEEFZea9/I6TGIuTlAbN/9tA70/Kq9CvHBYoG0Z46U8h
 LgPifedXctEWpd1QIEOiBSnZKv2ok1Rl/Sa4QilhEDDreKi+e2k/C4bIb42mS4lAV0TH
 Ks1EIGBIh5SzGMheNJJJcR/AwEwCvvjfxmzk7/P86rWNfP74rNNGzk/fNEyGTQ6nShos
 96NqGOkiTabnfcpf0w4+mQ8+jkIJzERKpjiWp9+97S9e28YQ5cxg7+A23LazXLvM5IzN
 YX222WYmGGP8biqmwD52w6kTBuppzgT5oHmvcpS/XHrICU6/E7S8MLBSlwYDyoQLHKcX
 N/AA==
X-Gm-Message-State: AOJu0YzIKUOp/2XoiHznpvyFCjOcOvMSJvG7FDHr5g052RB1XORMTaQW
 zIYf0isWmEL5PjCnKpZ59TDEPLUiKffw7jnVyNA/xt3cYc5elfsg
X-Gm-Gg: ASbGncu9vNp8cOrmkE4RQ4FcAk9F6PaPsGC9tGOA8agLs5k651A4eLP5l4y5JcfjzEa
 QnNjzlxJmAODc/zqHyNKXeQGaR9Gvil1orvCV3oVAF5Y+jr5HTWI/6nEuJpXymjj31cOFiok9iC
 0V1scnJLifPql5CHjjYUFGBi4LAQR3eyREUHmFT/g4ziWhMnfUa9+Kd1dvKzqYKgp5XvPEog2Pw
 OFgeXFJKwG/yMHsCceSp0yZ0/pmAZApt8bk9xAUcbepBtI7kiapb7Xqi7zG5fiUUIx6o+qCiflo
 EmtKaTRz
X-Google-Smtp-Source: AGHT+IFjBiRVHA2yun65gR56MH1Pc+Yi96RhTBoUjItaEzEtyfXwfUnVX5n8izUvtCmcGs82MDi6BA==
X-Received: by 2002:a05:6820:1b85:b0:602:15e6:4559 with SMTP id
 006d021491bc7-6046f59c185mr2053852eaf.6.1744397262642; 
 Fri, 11 Apr 2025 11:47:42 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
 006d021491bc7-6045f5bdbf0sm1028013eaf.40.2025.04.11.11.47.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Apr 2025 11:47:42 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Ship Mints <shipmints@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
 <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
Date: Fri, 11 Apr 2025 12:47:40 -0600
Message-ID: <87wmbqpmb7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

Ship Mints <shipmints@HIDDEN> writes:
>  Anyway, it changed it for use sit-for instead.
>
> Cool.  You wrapped it with unwind-protect, yes?

Yes.

>>> Is a new face really necessary just to implement a flash?  The implementation I proposed
>>> allows the user to specify any face attributes to define what they want for a flash.  I wouldn't use this
>>> feature without it being more reliable and flexible.
>>  I think that adding a new face for this would be better, it makes custom
>>  themes set it and change it dynamically; of course, the user can change
>>  face attributes freely.
> As long as the implementation accepts a list of faces to flash as mine does, that sounds good.  I'd just
> ignore the new face in my use.

Yeah it does:

+(defcustom flash-face-faces
+  '(mode-line-active)

By default it is set to `mode-line-active'.

-- 
                                          - E.G via GNU Emacs and Org.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 18:23:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 11 14:23:03 2025
Received: from localhost ([127.0.0.1]:51712 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u3J1q-0001RA-PW
	for submit <at> debbugs.gnu.org; Fri, 11 Apr 2025 14:23:03 -0400
Received: from mail-ua1-x92d.google.com ([2607:f8b0:4864:20::92d]:55624)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1u3J1o-0001QZ-Ru
 for 77715 <at> debbugs.gnu.org; Fri, 11 Apr 2025 14:23:01 -0400
Received: by mail-ua1-x92d.google.com with SMTP id
 a1e0cc1a2514c-86b9d1f729eso983773241.3
 for <77715 <at> debbugs.gnu.org>; Fri, 11 Apr 2025 11:23:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744395774; x=1745000574; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=U7tCPJEXUcJPhojO62WBzbb5YDYxfNCqK7/aMZA4/JE=;
 b=A/7Yfi85r53q0q1EylC2YA5vsTq6jnYKOKM7Nk1su4hOoRGmscu+A1jgqInvTWqW38
 +D+ZUoMHIJd1FteObf728muWA2w1G4TX8joeJVHg9JpUh2l6/ik6BSb1uY14ww94gPlA
 RoSHkeaD1tAF/HAKjgG6iVQx9OB9DiDKMKAT6QHVDrq6YtnVcR9eVRwE6o3xZC7+SNcX
 hd7JarXCuast1p4bENw2fjyyuENS3uWyRlRuw9uiUSPmh5yd5P92pKdSa8N/UJkiFyb7
 WpgOamyuM+fJNvulF9PkaYioL7CSUsJ/D20LEInTsiGMF15KWQ3FyxUISs4/Ii8ioM1/
 pTFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744395774; x=1745000574;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=U7tCPJEXUcJPhojO62WBzbb5YDYxfNCqK7/aMZA4/JE=;
 b=QgwifcL+l4FLAnysZSwhK8SvkWrDW1sx0FQ1risay7k/SIndyZfB7FuBAF331crPjY
 fgvZiypK3BxTCU4KM837nMDvJ0buyZgrVnwfSqfOXW/pS1pQwnMsNffv8XPV5lhLFQ5S
 7+88avMA60N4kTBuYcOZcsE1VxmRPZ/buSR2BfaTEO9tbYmHmKgebNTJag02umtmSsVF
 MzDjV+AlvVeJiO5y9KleUIjAk356AXIyS3dBSJScJxt7b90/qVVIiOCznvo8IVLjuunH
 7/iZFFprULPjOmvsOJYMhPrzmzvX9lCwel0oWQeCqYPsWLujxLe0KJYnKINPjwVoL1x7
 JGIA==
X-Gm-Message-State: AOJu0YxayQNVowQx8ETH8uc5pgEviC4KgZXEyRSmj+pzs+KAhgt4mEFL
 tmXP9g4vRBrBKgYx0yO/Yf8iFkODKgYMswr9sm4St6hsgD7B5UzYdrccmgXVj7nwEvguWnLzBJv
 QDdUFii8/o+HWP7AyDIInSJqIKEynZA==
X-Gm-Gg: ASbGncsxHPHuqas9pI358kE+cvygsVaRjPEMurxL97dEzuqEsRF2cxZkSgMVoL95mCT
 Bu2mZLcxQEibl+EUvDEo8snUmJC1YeiIBGoDDxN94JBUn1YmZyzRXbjUjBp/l0B40c0y+lhIyOq
 ByDMBtAsmPW4DADPwtVFhkBdgayiiO65RY
X-Google-Smtp-Source: AGHT+IEn3pKn9NaBgZqPA9JzWAvsz1PHSrWWs34LYoNLi+MHnIv09FX5nkQHjuuc0r92oGmppZK4a1NNgsoX4ym/R1w=
X-Received: by 2002:a05:6102:5e85:b0:4c4:f128:3acf with SMTP id
 ada2fe7eead31-4c9e4fff09amr2549636137.16.1744395774252; Fri, 11 Apr 2025
 11:22:54 -0700 (PDT)
MIME-Version: 1.0
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
 <87plhitvdl.fsf@HIDDEN>
In-Reply-To: <87plhitvdl.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Fri, 11 Apr 2025 14:22:43 -0400
X-Gm-Features: ATxdqUHpXhWcjKx0mx8FGOEMTR_xmyawolx8JGzQ-Got3QVR_RUdjtEYEDvOHgk
Message-ID: <CAN+1Hbrq72q=RkedojaPKWL6pA=DSmEURdO8z0BMrak7z9qaKA@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000078de3f063284ca09"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000078de3f063284ca09
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 11, 2025 at 2:18=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@gm=
ail.com>
wrote:

> Ship Mints <shipmints@HIDDEN> writes:
> > I think the term duration is better than length when describing time
> intervals.
>
> I agree.
>
> > I still prefer the unwind-protected sit-for method that guarantees the
> remaps are removed to the one with
> > the timer where I've experienced errors intervening with a race
> condition creating new cookies that are
> > not removed.  Try mashing C-g with your timer implementation and you'll
> see it.
>
> The problem with using sit-for is that it delays the message displayed
> (usually "Quit") until timer stops (or if there is an input), it look
> like Emacs froze.
>

At 0.05 seconds, that's not likely.

Anyway, it changed it for use sit-for instead.
>

Cool.  You wrapped it with unwind-protect, yes?

> Is a new face really necessary just to implement a flash?  The
> implementation I proposed
> > allows the user to specify any face attributes to define what they want
> for a flash.  I wouldn't use this
> > feature without it being more reliable and flexible.
>
> I think that adding a new face for this would be better, it makes custom
> themes set it and change it dynamically; of course, the user can change
> face attributes freely.
>

As long as the implementation accepts a list of faces to flash as mine
does, that sounds good.  I'd just ignore the new face in my use.

--00000000000078de3f063284ca09
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
t-family:monospace"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
On Fri, Apr 11, 2025 at 2:18=E2=80=AFPM Elijah Gabe P=C3=A9rez &lt;<a href=
=3D"mailto:eg642616@HIDDEN">eg642616@HIDDEN</a>&gt; wrote:</span></di=
v></div><div class=3D"gmail_quote gmail_quote_container"><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">Ship Mints &lt;<a href=3D"mailto:shipmints=
@gmail.com" target=3D"_blank">shipmints@HIDDEN</a>&gt; writes:<br>
&gt; I think the term duration is better than length when describing time i=
ntervals.<br>
<br>
I agree.<br>
<br>
&gt; I still prefer the unwind-protected sit-for method that guarantees the=
 remaps are removed to the one with<br>
&gt; the timer where I&#39;ve experienced errors intervening with a race co=
ndition creating new cookies that are<br>
&gt; not removed.=C2=A0 Try mashing C-g with your timer implementation and =
you&#39;ll see it.<br>
<br>
The problem with using sit-for is that it delays the message displayed<br>
(usually &quot;Quit&quot;) until timer stops (or if there is an input), it =
look<br>
like Emacs froze.<br></blockquote><div><br></div><div><div class=3D"gmail_d=
efault" style=3D"font-family:monospace">At 0.05 seconds, that&#39;s not lik=
ely.</div></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex">
Anyway, it changed it for use sit-for instead.<br></blockquote><div><br></d=
iv><div class=3D"gmail_default" style=3D"font-family:monospace">Cool.=C2=A0=
 You wrapped it with unwind-protect, yes?</div><div class=3D"gmail_default"=
 style=3D"font-family:monospace"><br></div><blockquote class=3D"gmail_quote=
" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);=
padding-left:1ex">
&gt; Is a new face really necessary just to implement a flash?=C2=A0 The im=
plementation I proposed<br>
&gt; allows the user to specify any face attributes to define what they wan=
t for a flash.=C2=A0 I wouldn&#39;t use this<br>
&gt; feature without it being more reliable and flexible.<br>
<br>
I think that adding a new face for this would be better, it makes custom<br=
>
themes set it and change it dynamically; of course, the user can change<br>
face attributes freely.<br></blockquote><div><br></div><div class=3D"gmail_=
default" style=3D"font-family:monospace">As long as the implementation acce=
pts a list of faces to flash as mine does, that sounds good.=C2=A0 I&#39;d =
just ignore the new face in my use.</div></div></div>

--00000000000078de3f063284ca09--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 18:18:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 11 14:18:25 2025
Received: from localhost ([127.0.0.1]:51705 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u3IxN-0001Ch-5w
	for submit <at> debbugs.gnu.org; Fri, 11 Apr 2025 14:18:25 -0400
Received: from mail-oi1-x243.google.com ([2607:f8b0:4864:20::243]:42275)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u3IxK-0001CS-PY
 for 77715 <at> debbugs.gnu.org; Fri, 11 Apr 2025 14:18:23 -0400
Received: by mail-oi1-x243.google.com with SMTP id
 5614622812f47-3fea0363284so1267235b6e.1
 for <77715 <at> debbugs.gnu.org>; Fri, 11 Apr 2025 11:18:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744395497; x=1745000297; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=fpu0HVker8YjkDo0jmjB0+XQDGWKAOqwgnfvO8opqzA=;
 b=G5teIWUauTOuwge16IegQtzlFJmHir6GoiWSB3nZ2NxeijEkxSDTYiGsacrzDP6j8p
 CYLR4jUVpUfIBrQDdwhPETBtqvrOvkErPbjFv8eTF8Ntivu3i0aQ1CwrEeqC4folKIjI
 xVYUTfVmDHjmc7uWZRRwpa2OiKEtrhfHG1TOtsyTXOSjy9Ao5OHcpG1C775GcJ6s0+dr
 2I2NNL+sUPMGuYsy3mtf6FguxDkYn8vURYpxVugTHKN6q0SR+9q45pHmNnNaRL6230fU
 BMq7aq2yFgpg1JN+ftOFcknXbQZJGjBk8a5HXnpGSmK7ewuCOhSxGUwXoqMYWclSkDKt
 Y1ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744395497; x=1745000297;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=fpu0HVker8YjkDo0jmjB0+XQDGWKAOqwgnfvO8opqzA=;
 b=HZoLXUWHhZardRWWAs0iTo0lK8XezIbLcr2SPnu8Lq6fTgank4H/CbqXqmTF5+RsX2
 Ox/CL3ICS1FwtGgCeURtZ6xoEId1gBTSpo/Be6VxeYvk8b+cye/HnaYs6ciPI7QyTMv5
 6rJ29gypAGz+DuAAy45+ey44h1jgs9vyHnUX4tkMG9Uoemf24gxcGBVaBk+mxHq83XLN
 12oW4Oh16+JEVyYL1F8unU6M/VdfN1/LZvX6AkjIzE8SpZzBp5pbOyKx+YZR9g76byou
 WvI0dARAZ3oDMQ0tdRLwid5aIhgZZw7NSgN1cDM35Rgei7saA1WcrMzMIoKqlULD78XY
 0TmA==
X-Gm-Message-State: AOJu0Yy78TOaRbM/YqaGQHmWYZJbHBAmZ9qZ8/lQzfb8Ih8rcCktXtpN
 vvOX3fgPj6iwpBs/hU4dPdNJudwID6eZl6Ok8owLNG1oxxS7bIYR
X-Gm-Gg: ASbGncvU5vjS+OPeO8i0PRm7x4EJXTz1x86AEKH4V8RLVfIyezgUtKqVTWf7Trftklj
 WcdHCIfytuez7SogT6FI8t50q3HL3OQgK54Ie8SnWovb8SxbAxjrJ8ZDGG3kwwJza2m/MNIgGgY
 4A0brxzIugBzqrAmhtm8yxa+uEKgE4uB+KxXO6ouvTT07DebsTYm8UGx0j/SttfcC8PLN6oG5nC
 0bSVZCWPNd/JeAOmOrHTWD9QyqdQpa8SGVucOzzbAM8wX+QuUUtoxX6s11/BSY/EcngtC+SGnUD
 s0YV4OMz
X-Google-Smtp-Source: AGHT+IFL4LGVrhDnkLGaYmCLkki/WMyNELwaoK/8lf4nwf2WRd8N0QnwqeQSeL3SHelU3dHAaaUMPQ==
X-Received: by 2002:a05:6808:2396:b0:3f4:11b3:206b with SMTP id
 5614622812f47-4007c09cec3mr4878759b6e.17.1744395496844; 
 Fri, 11 Apr 2025 11:18:16 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
 5614622812f47-400762a0724sm1018774b6e.16.2025.04.11.11.18.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 11 Apr 2025 11:18:16 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Ship Mints <shipmints@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
 <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
Date: Fri, 11 Apr 2025 12:18:14 -0600
Message-ID: <87plhitvdl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org, drew.adams@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

--=-=-=
Content-Type: text/plain

Ship Mints <shipmints@HIDDEN> writes:
> I think the term duration is better than length when describing time intervals.

I agree.

> I still prefer the unwind-protected sit-for method that guarantees the remaps are removed to the one with
> the timer where I've experienced errors intervening with a race condition creating new cookies that are
> not removed.  Try mashing C-g with your timer implementation and you'll see it.

The problem with using sit-for is that it delays the message displayed
(usually "Quit") until timer stops (or if there is an input), it look
like Emacs froze.

Anyway, it changed it for use sit-for instead.

> Is a new face really necessary just to implement a flash?  The implementation I proposed
> allows the user to specify any face attributes to define what they want for a flash.  I wouldn't use this
> feature without it being more reliable and flexible.

I think that adding a new face for this would be better, it makes custom
themes set it and change it dynamically; of course, the user can change
face attributes freely.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Add-ring-bell-function-for-flash-faces.-bug-77715.patch

From 00d44767ac13b9c8420319884fbb6dccb0c3bf73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN>
Date: Thu, 10 Apr 2025 11:38:21 -0600
Subject: [PATCH] Add ring-bell function for flash faces.  (bug#77715)

New functions for flash any face or echo area once whether
`ring-bell-function' is called.
* lisp/faces.el (flash-face): New face.
* lisp/simple.el (flash-line-duration, flash-face-faces): New
user option.
(flash-face-bell-function, flash-echo-area-bell-function): New
functions.
---
 etc/NEWS       | 24 ++++++++++++++++++++++++
 lisp/faces.el  | 11 +++++++++++
 lisp/simple.el | 31 +++++++++++++++++++++++++++++++
 3 files changed, 66 insertions(+)

diff --git a/etc/NEWS b/etc/NEWS
index c08b0052639..dcf3608fcf5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1716,6 +1716,25 @@ change their face if the current line exceeds the 'fill-column'.  The
 new face 'display-fill-column-indicator-warning-face' is used to
 highlight the fill-column indicators.  By default this is disabled.
 
+---
+*** New function 'flash-face-bell-function'.
+This function when called will flash a face briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-echo-area-bell-function'.
+This function when called will flash current echo area briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New user option 'flash-face-duration'.
+This option controls duration for 'flash-face-bell-function' and
+'flash-echo-area-bell-function'.
+
+---
+*** New user option 'flash-face-faces'.
+This option tells 'flash-face-bell-function' which faces should flash.
+
 
 * New Modes and Packages in Emacs 31.1
 
@@ -1753,6 +1772,11 @@ modes that support it, such as: c-mode, c++-mode, java-mode, js-mode,
 css-mode, and derived: html-mode, mhtml-mode, xml-mode and nxml-mode,
 pascal-mode, lua-ts-mode, lisp-mode and common-lisp-mode
 
+** New face 'flash-face'.
+This face is used for flash a face briefly.
+Mainly used for 'flash-echo-area-bell-function' and
+'flash-face-bell-function'.
+
 
 * Incompatible Lisp Changes in Emacs 31.1
 
diff --git a/lisp/faces.el b/lisp/faces.el
index dbc0a2e04f6..b749627254c 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2825,6 +2825,17 @@ header-line-inactive
   :group 'mode-line-faces
   :group 'basic-faces)
 
+(defface flash-face
+  '((((class color) (min-colors 88))
+     :background "red3" :foreground "white")
+    (((class color grayscale) (min-colors 88))
+     :background "grey10" :foreground "white")
+    (t
+     :inherit error :inverse-video t))
+  "Basic face used for flash a face briefly."
+  :version "31.1"
+  :group 'basic-faces)
+
 (defface vertical-border
   '((((type tty)) :inherit mode-line-inactive))
   "Face used for vertical window dividers on ttys."
diff --git a/lisp/simple.el b/lisp/simple.el
index 7037158df8d..f2b94160cbd 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -9383,6 +9383,37 @@ auto-save-mode
   (and (< buffer-saved-size 0)
        (setq buffer-saved-size 0)))
 
+(defcustom flash-face-duration 0.05
+  "Time (in seconds) used for flash face duration."
+  :type 'float
+  :version "31.1")
+
+(defcustom flash-face-faces
+  '(mode-line-active)
+  "A list of faces which `flash-face-bell-function' will flash them."
+  :type 'float
+  :version "31.1")
+
+(defun flash-face-bell-function ()
+  "Flash a face or faces as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (when-let* (flash-face-duration ; Ensure time is non-nil
+              (cookies (mapcar (lambda (f) (face-remap-add-relative f 'flash-face))
+                               flash-face-faces)))
+    (unwind-protect
+        (sit-for flash-face-duration)
+      (mapc #'face-remap-remove-relative cookies))))
+
+(defun flash-echo-area-bell-function ()
+  "Flash echo area as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (message
+   (propertize "ring!"
+               'display `(space . (:align-to right))
+               'face 'flash-face))
+  (sit-for flash-face-duration)
+  (message ""))
+
 (defgroup paren-blinking nil
   "Blinking matching of parens and expressions."
   :prefix "blink-matching-"
-- 
2.49.0


--=-=-=
Content-Type: text/plain



-- 
                                          - E.G via GNU Emacs and Org.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 12:01:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 11 08:01:16 2025
Received: from localhost ([127.0.0.1]:49257 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u3D4O-0007vQ-7h
	for submit <at> debbugs.gnu.org; Fri, 11 Apr 2025 08:01:16 -0400
Received: from mail-qk1-x731.google.com ([2607:f8b0:4864:20::731]:60750)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1u3D4J-0007v1-27
 for 77715 <at> debbugs.gnu.org; Fri, 11 Apr 2025 08:01:15 -0400
Received: by mail-qk1-x731.google.com with SMTP id
 af79cd13be357-7c5e1b40f68so203999485a.1
 for <77715 <at> debbugs.gnu.org>; Fri, 11 Apr 2025 05:01:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744372865; x=1744977665; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=GdShivn3nEAo7vf90fEjrmbin+MDLhEH9AsAijWCCK8=;
 b=K5DwboiavOf+2Ak1X3cygbKf42UpPSOYYvhJTqw+/mcgiR/GaveVaEi+kO5HCkan5u
 qw5Y+WXzalARMYAnn1PMymUVbB1WAYTVOuz9Z2L/7T4Wupdcl/Vo7oMuaXInBTkh8kn7
 vPV+Y98mi03DhhF28I4/SueTnUQlCnODxbgddBzLoBZGQ6aj0xEfLoskM4YlPdxkImZK
 y8FXgcAql0FerI+jG8UavmKZBuhfETmeXORfohjky+tcfRGgp+voJ+tsWX3Qcu2dmp2E
 2GKvDgSnT4CpfguapnnL0sNbDAjie+PN4DKWqit9h5pfuAWf3ny1CsanP451cUfDyNGs
 vtqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744372865; x=1744977665;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=GdShivn3nEAo7vf90fEjrmbin+MDLhEH9AsAijWCCK8=;
 b=FSEpAJwWVlN3Kx569JeikJeXJWPobOFGZVZkRI8b9heTLYyE6ilYo9SESWgQEG/YqN
 XLrSrz44qYmZ0UXFqhwwiwNHl2GWSDz63jNgug1fqOUiAjnay5ZCH0sH5EWq7hncOQ3s
 phnsE6AxgPV2xlzOOQMH3EOVckkdnjgGONV222PLxYgo8GhRMGjsDBG4IE8w+BfUH80I
 DW7GdAs4ATQAIkt5TUi9oHtqKdyir500191s0uK1ru0ROLn3QPER/zAt5HtjcMowW8OD
 wGW1m/w0NT9dlZyTt9yamcSegiK9ak7fW9FBU8LhL/a+QHpmUt5R6A2TpMLe9oLzcc7+
 iH3A==
X-Forwarded-Encrypted: i=1;
 AJvYcCWh3r1k+1OvKovsM3kOWeDxtQVC39Ja7hFTyu431FqfTpoz0eTkimk+CYC0/RaVQCuzmmHuFA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz7J6g/QAZuHWQwryp2KWBr/VFzMHCKlWIlQot759cJZeDFJRld
 R1XT61SspTMS9DV3EmdPP0e7mYSw6Z8lQPU6vdoMDKku/8mkeSGrmT9KBp57UzS3unDJvkymvz/
 FMz5iX3n6FmPzYqIxfKu7BDVOOlPbZA==
X-Gm-Gg: ASbGnctIdQXpMUyUPzIU3OwFXx6bwIdGVQKVLiLMcJKKDH8eQZonA282sMFYzJYKwZl
 CAhEj0HIiveIXnW9Xuwn/1+ngyCfh7wJaAWEguXSOX2OOnUincmg98hz5loXrrpx/3zPrXvwJdz
 k6RYzRK4scccS37uuLxBcBmQ==
X-Google-Smtp-Source: AGHT+IGWlwFg+BZ2Fcv+ddg2X/dBvrF9mtunqZyG/xOpr/A5N6OC8VJr2u1R8rGA4LzpVgrmhnvZbg3VFAnDgUqKSeU=
X-Received: by 2002:a05:6102:2acf:b0:4c5:8a2f:d244 with SMTP id
 ada2fe7eead31-4c9e4f1d1a6mr1076485137.13.1744372854599; Fri, 11 Apr 2025
 05:00:54 -0700 (PDT)
MIME-Version: 1.0
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
In-Reply-To: <874iyvv1te.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Fri, 11 Apr 2025 08:00:43 -0400
X-Gm-Features: ATxdqUHUOt3lPKve9cQOHajcvGVkg6ICGUtCTbGnyD4932u9N71jTvvonSOYNCk
Message-ID: <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000005acde306327f742b"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77715
Cc: "Drew Adams via Bug reports for GNU Emacs,
 the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>,
 "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 Drew Adams <drew.adams@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000005acde306327f742b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 10, 2025 at 11:01=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@g=
mail.com>
wrote:

> Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
> editors" <bug-gnu-emacs@HIDDEN> writes:
>
> > I wrote:
> >
> >> When Emacs dings it's typically due to a user error.
> >>
> >> Where do you see the error message? In the echo area.
> >>
> >> Putting the attention-grabbing "flash" or whatever
> >> in the echo area draws your attention to it, where
> >> you see the msg telling you what happened.
> >>
> >> Why draw or keep the user's attention _away_ from
> >> that message? The user error might have little or
> >> nothing to do with the text at the cursor of the
> >> selected window.
> >>
> >> Draw the user's attention _from_ there to the helpful
> >> message.
> >
> > `visible-bell' has been around forever. Flashing
> > the entire frame (or as the Emacs manual says, "the
> > whole screen") is overkill, and it doesn't direct
> > your attention to the error message. Similar problem
> > with the alternatives I think you're considering,
> > even if they're less overkill than `visible-bell'
> > behavior.
> >
> > A modest attention-grabber, out of the way in the
> > echo area is better, IMO.
>
> I think these features could coexist together, it wouldn't hurt.
>
> Flash the mode (or header) line for bell it is something that people
> have wanted to have, see packages such as mode-line-bell, doom-themes
> (both in MELPA), and nano-bell.
>
> I made my own implementation of echo-bell:


I think the term duration is better than length when describing time
intervals.

I still prefer the unwind-protected sit-for method that guarantees the
remaps are removed to the one with the timer where I've experienced errors
intervening with a race condition creating new cookies that are not
removed.  Try mashing C-g with your timer implementation and you'll see it.

I also prefer the implementation that I proposed that takes a list of faces
to flash rather than hard-code an assumption about what users want to
flash.  Then this isn't tied to the mode line if that's not what people
want.  Is a new face really necessary just to implement a flash?  The
implementation I proposed allows the user to specify any face attributes to
define what they want for a flash.  I wouldn't use this feature without it
being more reliable and flexible.

--0000000000005acde306327f742b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
t-family:monospace"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
On Thu, Apr 10, 2025 at 11:01=E2=80=AFPM Elijah Gabe P=C3=A9rez &lt;<a href=
=3D"mailto:eg642616@HIDDEN">eg642616@HIDDEN</a>&gt; wrote:</span></di=
v></div><div class=3D"gmail_quote gmail_quote_container"><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">Drew Adams via &quot;Bug reports for GNU E=
macs, the Swiss army knife of text<br>
editors&quot; &lt;<a href=3D"mailto:bug-gnu-emacs@HIDDEN" target=3D"_blank=
">bug-gnu-emacs@HIDDEN</a>&gt; writes:<br>
<br>
&gt; I wrote:<br>
&gt;<br>
&gt;&gt; When Emacs dings it&#39;s typically due to a user error.<br>
&gt;&gt; <br>
&gt;&gt; Where do you see the error message? In the echo area.<br>
&gt;&gt; <br>
&gt;&gt; Putting the attention-grabbing &quot;flash&quot; or whatever<br>
&gt;&gt; in the echo area draws your attention to it, where<br>
&gt;&gt; you see the msg telling you what happened.<br>
&gt;&gt; <br>
&gt;&gt; Why draw or keep the user&#39;s attention _away_ from<br>
&gt;&gt; that message? The user error might have little or<br>
&gt;&gt; nothing to do with the text at the cursor of the<br>
&gt;&gt; selected window.<br>
&gt;&gt; <br>
&gt;&gt; Draw the user&#39;s attention _from_ there to the helpful<br>
&gt;&gt; message.<br>
&gt;<br>
&gt; `visible-bell&#39; has been around forever. Flashing<br>
&gt; the entire frame (or as the Emacs manual says, &quot;the<br>
&gt; whole screen&quot;) is overkill, and it doesn&#39;t direct<br>
&gt; your attention to the error message. Similar problem<br>
&gt; with the alternatives I think you&#39;re considering,<br>
&gt; even if they&#39;re less overkill than `visible-bell&#39;<br>
&gt; behavior.<br>
&gt;<br>
&gt; A modest attention-grabber, out of the way in the <br>
&gt; echo area is better, IMO.<br>
<br>
I think these features could coexist together, it wouldn&#39;t hurt.<br>
<br>
Flash the mode (or header) line for bell it is something that people<br>
have wanted to have, see packages such as mode-line-bell, doom-themes<br>
(both in MELPA), and nano-bell.<br>
<br>
I made my own implementation of echo-bell:</blockquote><div><br></div><div =
class=3D"gmail_default" style=3D"font-family:monospace">I think the term du=
ration is better than length when describing time intervals.</div><div clas=
s=3D"gmail_default" style=3D"font-family:monospace"><br></div><div class=3D=
"gmail_default" style=3D"font-family:monospace">I still prefer the unwind-p=
rotected sit-for method that guarantees the remaps are removed to the one w=
ith the timer where I&#39;ve experienced errors intervening with a race con=
dition creating new cookies that are not removed.=C2=A0 Try mashing C-g wit=
h your timer implementation and you&#39;ll see it.</div><div class=3D"gmail=
_default" style=3D"font-family:monospace"><br></div><div class=3D"gmail_def=
ault" style=3D"font-family:monospace">I also prefer the implementation that=
 I proposed that takes a list of faces to flash rather than hard-code an as=
sumption about what users want to flash.=C2=A0 Then this isn&#39;t tied to =
the mode line if that&#39;s not what people want.=C2=A0 Is a new face reall=
y necessary=C2=A0just to implement a flash?=C2=A0 The implementation I prop=
osed allows the user to specify any face attributes to define what they wan=
t for a flash.=C2=A0 I wouldn&#39;t use this feature without it being more =
reliable and flexible.</div></div></div>

--0000000000005acde306327f742b--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 11 Apr 2025 12:01:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 11 08:01:22 2025
Received: from localhost ([127.0.0.1]:49260 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u3D4T-0007vi-Tv
	for submit <at> debbugs.gnu.org; Fri, 11 Apr 2025 08:01:22 -0400
Received: from lists.gnu.org ([2001:470:142::17]:35028)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1u3D4Q-0007vD-T1
 for submit <at> debbugs.gnu.org; Fri, 11 Apr 2025 08:01:19 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <shipmints@HIDDEN>)
 id 1u3D4J-0006MR-3m
 for bug-gnu-emacs@HIDDEN; Fri, 11 Apr 2025 08:01:12 -0400
Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <shipmints@HIDDEN>)
 id 1u3D4G-00042Y-RT
 for bug-gnu-emacs@HIDDEN; Fri, 11 Apr 2025 08:01:10 -0400
Received: by mail-qt1-x82c.google.com with SMTP id
 d75a77b69052e-476805acddaso17382031cf.1
 for <bug-gnu-emacs@HIDDEN>; Fri, 11 Apr 2025 05:01:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744372865; x=1744977665; darn=gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=GdShivn3nEAo7vf90fEjrmbin+MDLhEH9AsAijWCCK8=;
 b=cd/TjuNKqAOLiCnSpt1EkZ2aV/wnjuPF+GgUV3foLs6H/I6iznLy3e8M+Q5zYvL6jJ
 wNmr2RJY7kCfbcUDHO4vuVRvIJdY/tnzyNk2OBhFpKXpNgmgXcl42FNpu65HpdRvkUea
 Z43XnQfjCuSFI7FsIJTazmy4Ex9TFoYrL2aP1/KB43Z2wzVSTOAdv50qGN3rSqEE/4fQ
 jJYWdaWsa/GDxfyut/GgsQfpI1gDhPwY/MyNLFoN3xsrpUPTq6rVsZ3gfWqDvJW494iX
 lHltJY5x4N4gTq8/gfGcqqiOHQy2X9wlB1H/U2Iyvx0U9e8u7wO5k2rkDfSiOUV/LFAE
 qdhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744372865; x=1744977665;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=GdShivn3nEAo7vf90fEjrmbin+MDLhEH9AsAijWCCK8=;
 b=ACCJ10IC5bBYTilDAqrhK8iKzG/5tOid9FY/2v6ZtckDWkZ/fBEGqrfm6PpXf0cRbz
 8fWUx3OAmD1sWwBYK5yrY+aiUPCmWsgGYKcaQ8EXf+u1L4CE6EvgVBsCZvUxDywJ3EHj
 6vWZUK7ddG4nvFtufSYteLuT6lMBFigO5jv+K9le7HRLnxUtEr68RG+vDi0eIYk8Joey
 Ndu6wwYUA5JL2sqUBwmWe5DE3gfnHPVvPqnYkNoRwK29mMdR/Byz5tu+oaPoH0RVfQf/
 9ine3VVnYVWzeIGzDOEV/iVxMP/soBG0CJo90FNF6WybjvvmbcQ6ADy0w+jNrdErVqsq
 Sxmg==
X-Gm-Message-State: AOJu0YxmsK4JwufFRcxklScK0JUsB/vkTqZPX4AD1xJPiy3MQTYvAHo8
 0g79arYogjJo+ptYaLrz/doOajWfmdXf2YJipjlAnkc6simMarQ934ggZEfaV27QA5ItykGhMja
 XJPl8ZZv90tJ2UvIdAkyE7OBAbmmWjQ==
X-Gm-Gg: ASbGnctOExiT+QiCXaLf+Yq1/dTHGHRT6wcGOY5HJsX1hg8VJnCqUrTuPUOLlUPWfY9
 lKfr+1P5ch4+X6Frbi5ZB+/s/ae43hF57H3zAgKCO/d2FE6NW8t1OAmrtecgDDMrpwnySbmEQWL
 QKdxrEyhcgP7WVKhCO5s2jlg==
X-Google-Smtp-Source: AGHT+IGWlwFg+BZ2Fcv+ddg2X/dBvrF9mtunqZyG/xOpr/A5N6OC8VJr2u1R8rGA4LzpVgrmhnvZbg3VFAnDgUqKSeU=
X-Received: by 2002:a05:6102:2acf:b0:4c5:8a2f:d244 with SMTP id
 ada2fe7eead31-4c9e4f1d1a6mr1076485137.13.1744372854599; Fri, 11 Apr 2025
 05:00:54 -0700 (PDT)
MIME-Version: 1.0
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
 <874iyvv1te.fsf@HIDDEN>
In-Reply-To: <874iyvv1te.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Fri, 11 Apr 2025 08:00:43 -0400
X-Gm-Features: ATxdqUHUOt3lPKve9cQOHajcvGVkg6ICGUtCTbGnyD4932u9N71jTvvonSOYNCk
Message-ID: <CAN+1Hbr5JVeML4NkxFEfsdNRg+De9D1S+TVShKqObDgT+F4SAw@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000005acde306327f742b"
Received-SPF: pass client-ip=2607:f8b0:4864:20::82c;
 envelope-from=shipmints@HIDDEN; helo=mail-qt1-x82c.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: "Drew Adams via Bug reports for GNU Emacs,
 the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>,
 "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 Drew Adams <drew.adams@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

--0000000000005acde306327f742b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 10, 2025 at 11:01=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@g=
mail.com>
wrote:

> Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
> editors" <bug-gnu-emacs@HIDDEN> writes:
>
> > I wrote:
> >
> >> When Emacs dings it's typically due to a user error.
> >>
> >> Where do you see the error message? In the echo area.
> >>
> >> Putting the attention-grabbing "flash" or whatever
> >> in the echo area draws your attention to it, where
> >> you see the msg telling you what happened.
> >>
> >> Why draw or keep the user's attention _away_ from
> >> that message? The user error might have little or
> >> nothing to do with the text at the cursor of the
> >> selected window.
> >>
> >> Draw the user's attention _from_ there to the helpful
> >> message.
> >
> > `visible-bell' has been around forever. Flashing
> > the entire frame (or as the Emacs manual says, "the
> > whole screen") is overkill, and it doesn't direct
> > your attention to the error message. Similar problem
> > with the alternatives I think you're considering,
> > even if they're less overkill than `visible-bell'
> > behavior.
> >
> > A modest attention-grabber, out of the way in the
> > echo area is better, IMO.
>
> I think these features could coexist together, it wouldn't hurt.
>
> Flash the mode (or header) line for bell it is something that people
> have wanted to have, see packages such as mode-line-bell, doom-themes
> (both in MELPA), and nano-bell.
>
> I made my own implementation of echo-bell:


I think the term duration is better than length when describing time
intervals.

I still prefer the unwind-protected sit-for method that guarantees the
remaps are removed to the one with the timer where I've experienced errors
intervening with a race condition creating new cookies that are not
removed.  Try mashing C-g with your timer implementation and you'll see it.

I also prefer the implementation that I proposed that takes a list of faces
to flash rather than hard-code an assumption about what users want to
flash.  Then this isn't tied to the mode line if that's not what people
want.  Is a new face really necessary just to implement a flash?  The
implementation I proposed allows the user to specify any face attributes to
define what they want for a flash.  I wouldn't use this feature without it
being more reliable and flexible.

--0000000000005acde306327f742b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon=
t-family:monospace"><span style=3D"font-family:Arial,Helvetica,sans-serif">=
On Thu, Apr 10, 2025 at 11:01=E2=80=AFPM Elijah Gabe P=C3=A9rez &lt;<a href=
=3D"mailto:eg642616@HIDDEN">eg642616@HIDDEN</a>&gt; wrote:</span></di=
v></div><div class=3D"gmail_quote gmail_quote_container"><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">Drew Adams via &quot;Bug reports for GNU E=
macs, the Swiss army knife of text<br>
editors&quot; &lt;<a href=3D"mailto:bug-gnu-emacs@HIDDEN" target=3D"_blank=
">bug-gnu-emacs@HIDDEN</a>&gt; writes:<br>
<br>
&gt; I wrote:<br>
&gt;<br>
&gt;&gt; When Emacs dings it&#39;s typically due to a user error.<br>
&gt;&gt; <br>
&gt;&gt; Where do you see the error message? In the echo area.<br>
&gt;&gt; <br>
&gt;&gt; Putting the attention-grabbing &quot;flash&quot; or whatever<br>
&gt;&gt; in the echo area draws your attention to it, where<br>
&gt;&gt; you see the msg telling you what happened.<br>
&gt;&gt; <br>
&gt;&gt; Why draw or keep the user&#39;s attention _away_ from<br>
&gt;&gt; that message? The user error might have little or<br>
&gt;&gt; nothing to do with the text at the cursor of the<br>
&gt;&gt; selected window.<br>
&gt;&gt; <br>
&gt;&gt; Draw the user&#39;s attention _from_ there to the helpful<br>
&gt;&gt; message.<br>
&gt;<br>
&gt; `visible-bell&#39; has been around forever. Flashing<br>
&gt; the entire frame (or as the Emacs manual says, &quot;the<br>
&gt; whole screen&quot;) is overkill, and it doesn&#39;t direct<br>
&gt; your attention to the error message. Similar problem<br>
&gt; with the alternatives I think you&#39;re considering,<br>
&gt; even if they&#39;re less overkill than `visible-bell&#39;<br>
&gt; behavior.<br>
&gt;<br>
&gt; A modest attention-grabber, out of the way in the <br>
&gt; echo area is better, IMO.<br>
<br>
I think these features could coexist together, it wouldn&#39;t hurt.<br>
<br>
Flash the mode (or header) line for bell it is something that people<br>
have wanted to have, see packages such as mode-line-bell, doom-themes<br>
(both in MELPA), and nano-bell.<br>
<br>
I made my own implementation of echo-bell:</blockquote><div><br></div><div =
class=3D"gmail_default" style=3D"font-family:monospace">I think the term du=
ration is better than length when describing time intervals.</div><div clas=
s=3D"gmail_default" style=3D"font-family:monospace"><br></div><div class=3D=
"gmail_default" style=3D"font-family:monospace">I still prefer the unwind-p=
rotected sit-for method that guarantees the remaps are removed to the one w=
ith the timer where I&#39;ve experienced errors intervening with a race con=
dition creating new cookies that are not removed.=C2=A0 Try mashing C-g wit=
h your timer implementation and you&#39;ll see it.</div><div class=3D"gmail=
_default" style=3D"font-family:monospace"><br></div><div class=3D"gmail_def=
ault" style=3D"font-family:monospace">I also prefer the implementation that=
 I proposed that takes a list of faces to flash rather than hard-code an as=
sumption about what users want to flash.=C2=A0 Then this isn&#39;t tied to =
the mode line if that&#39;s not what people want.=C2=A0 Is a new face reall=
y necessary=C2=A0just to implement a flash?=C2=A0 The implementation I prop=
osed allows the user to specify any face attributes to define what they wan=
t for a flash.=C2=A0 I wouldn&#39;t use this feature without it being more =
reliable and flexible.</div></div></div>

--0000000000005acde306327f742b--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 11 Apr 2025 03:01:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 23:01:46 2025
Received: from localhost ([127.0.0.1]:47954 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u34eH-0007vG-Dc
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 23:01:46 -0400
Received: from mail-oi1-x242.google.com ([2607:f8b0:4864:20::242]:46080)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u34eE-0007uy-22
 for 77715 <at> debbugs.gnu.org; Thu, 10 Apr 2025 23:01:42 -0400
Received: by mail-oi1-x242.google.com with SMTP id
 5614622812f47-3f9a7cbc8f1so490274b6e.0
 for <77715 <at> debbugs.gnu.org>; Thu, 10 Apr 2025 20:01:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744340496; x=1744945296; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=RPAGW7v1sahg1W3fHr3w12So9O4u4kvXiJUJkLGhK2k=;
 b=OeA3rVOC6FKZPhkA4EEfAF7vk59McytXZ5eEZmMe6v03ddpQK2akGL7/UgDBCbx5aJ
 S1NQgfeeVusZRbgSHa4QndntS2atS4fmj5wrEXQxUPXDQ/segydgQBoG3czHf2800EtB
 uvLc+cj8PW2XlhHq49I9akVO2+Y/5h4sESAJ3ygNH5rOZGG0yuHbsZZC6sb155/nQ8+0
 akE3si2e2EGEomB73jYSl1ALYV8cdNMKnMthriA5NV9dIhOLENgFHjJITi8RIPSPSjxE
 SIcMYPF2iyls+kGVc8txPJ0JPCgHiHN7WSN3ZcYPIPx696xVAw1WMABRO1vHbrK8He76
 wmBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744340496; x=1744945296;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=RPAGW7v1sahg1W3fHr3w12So9O4u4kvXiJUJkLGhK2k=;
 b=O89N44qfALXNyWQipFcnBljdx2kSF1/lbqrkmZG5jitq1RunlQLSQwBld1KB26P8AO
 E8lLaYDdtwAsxPqaGx+4zbPd8pJBrUNlK3k3ARjSjY8vD3JXF8PmBKijUp5CRnMNBYml
 OgC9z/I+QLmgDJA6v9Q1yuhjf3Wl8Sx8hTrirzqrY+RlPxbFtAIez8HIbiGYyYD8IN5G
 MNlLMIe6MOPCGulDMimPR940WmxEJP7Z9CMYHRnPznRdqfThVlFbbQCFw0BvwQQRlbcl
 NCtzkZo+RrBvaAvGYTo99Zi7t1drHUKYBO+X/00SV8RZLajcDG4gl4vyLKY1BXFLBE/d
 rrdQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCWR1V/9dyeTqHU4EEfg1odEZ7JS1t0ASUTnl+XMPnhH8wsGznhr6lKp8VMA+zpr/wc7ogoBIw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwRwhlm64bEaDD3I55TN5qbTYSyqUYeT+KubZZpc+RfVjgjdLKQ
 qqYkhu9znamSK6R4fSwQPsZ/ZP0uog2r0fLW7/f1ZQ9zMY5Hp6yW
X-Gm-Gg: ASbGncvOjOraXfJb4ir/l+UFmbFG/cr50hSpbH7NUuiDlXGwndfMNlK3h+T6n6koICT
 25ymeJ4vBD1rob8xFKZt4JeLCsELoHNQZdwE1DsX2KWhugKTitdIJgOd1oLnkriqkg4t4m+/hSX
 DANl9sj/LWOTZgAGNMCWceuh+e8pD+TSvx6rzqHhxPMn6hTuXw9IYcpouPfV1UZEZhu1MBIqejX
 pg+rwA3aMvjMeU3rofkQTuhkEev8GO+Lk8sSJzHRo84+ndlObPJxlNgbNLQNaZoM2Hc3h5EXnw+
 32URxXr4
X-Google-Smtp-Source: AGHT+IGR0QrWirijt9bSFgUmFvzpwBCU1Jxqx+fVw7KXeCsv9SZZlJU5J1uuvPx0djR6aSBsH6gJBw==
X-Received: by 2002:a05:6808:1b26:b0:3fe:aecb:7110 with SMTP id
 5614622812f47-400850f95bbmr575897b6e.37.1744340495951; 
 Thu, 10 Apr 2025 20:01:35 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
 5614622812f47-40082515ebesm237552b6e.11.2025.04.10.20.01.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 10 Apr 2025 20:01:35 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
 editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
Date: Thu, 10 Apr 2025 21:01:33 -0600
Message-ID: <874iyvv1te.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77715
Cc: "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 "shipmints@HIDDEN" <shipmints@HIDDEN>,
 Drew Adams <drew.adams@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

--=-=-=
Content-Type: text/plain

Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@HIDDEN> writes:

> I wrote:
>
>> When Emacs dings it's typically due to a user error.
>> 
>> Where do you see the error message? In the echo area.
>> 
>> Putting the attention-grabbing "flash" or whatever
>> in the echo area draws your attention to it, where
>> you see the msg telling you what happened.
>> 
>> Why draw or keep the user's attention _away_ from
>> that message? The user error might have little or
>> nothing to do with the text at the cursor of the
>> selected window.
>> 
>> Draw the user's attention _from_ there to the helpful
>> message.
>
> `visible-bell' has been around forever. Flashing
> the entire frame (or as the Emacs manual says, "the
> whole screen") is overkill, and it doesn't direct
> your attention to the error message. Similar problem
> with the alternatives I think you're considering,
> even if they're less overkill than `visible-bell'
> behavior.
>
> A modest attention-grabber, out of the way in the 
> echo area is better, IMO.

I think these features could coexist together, it wouldn't hurt.

Flash the mode (or header) line for bell it is something that people
have wanted to have, see packages such as mode-line-bell, doom-themes
(both in MELPA), and nano-bell.

I made my own implementation of echo-bell:

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Add-ring-bell-function-for-flash-faces.-bug-77715.patch

From af63c6ba42160de07c75cf3e2c483551798678b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN>
Date: Thu, 10 Apr 2025 11:38:21 -0600
Subject: [PATCH] Add ring-bell function for flash faces.  (bug#77715)

New function for flash mode line, header line or echo area once
whether `ring-bell-function' is called.
* lisp/faces.el (flash-line): New faces.
* lisp/simple.el (flash-line-length): New user option.
(flash-header-line-bell-function, flash-header-line-bell-function)
(flash-echo-area-bell-function): New functions.
---
 etc/NEWS       | 20 ++++++++++++++++++++
 lisp/faces.el  | 14 ++++++++++++++
 lisp/simple.el | 35 +++++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+)

diff --git a/etc/NEWS b/etc/NEWS
index c08b0052639..4affd9c9d40 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1716,6 +1716,26 @@ change their face if the current line exceeds the 'fill-column'.  The
 new face 'display-fill-column-indicator-warning-face' is used to
 highlight the fill-column indicators.  By default this is disabled.
 
+---
+*** New function 'flash-mode-line-bell-function'.
+This function when called will flash current mode line briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-header-line-bell-function'.
+This function when called will flash current header line briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-echo-area-bell-function'.
+This function when called will flash current echo area briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New user option 'flash-line-length'.
+This option controls length for flash the mode line, header line or
+echo area.
+
 
 * New Modes and Packages in Emacs 31.1
 
diff --git a/lisp/faces.el b/lisp/faces.el
index dbc0a2e04f6..cc1767fa41d 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2745,6 +2745,20 @@ mode-line-inactive
   :group 'mode-line-faces
   :group 'basic-faces)
 
+(defface flash-line
+  '((((class color) (min-colors 88))
+     :box (:line-width -1 :color "brown" :style nil)
+     :background "red3" :foreground "white")
+    (((class color grayscale) (min-colors 88))
+     :box (:line-width -1 :style nil)
+     :background "grey10" :foreground "white")
+    (t
+     :inherit error :inverse-video t))
+  "Basic face for flash mode line or header line."
+  :version "31.1"
+  :group 'mode-line-faces
+  :group 'basic-faces)
+
 (defface mode-line-highlight
   '((((supports :box t) (class color grayscale) (min-colors 88))
      :box (:line-width 2 :color "grey40" :style released-button))
diff --git a/lisp/simple.el b/lisp/simple.el
index 7037158df8d..6a8ea94cf14 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -9383,6 +9383,41 @@ auto-save-mode
   (and (< buffer-saved-size 0)
        (setq buffer-saved-size 0)))
 
+(defcustom flash-line-length 0.05
+  "Length (in seconds) used for control mode line and header line flash time.
+This length is used by `flash-header-line-bell-function',
+`flash-mode-line-bell-function' and `flash-echo-area-bell-function'."
+  :type 'float
+  :version "31.1")
+
+(defun flash-mode-line-bell-function ()
+  "Flash current mode line as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (when-let* (flash-line-length ; Ensure time is non-nil
+              (cookie (face-remap-add-relative 'mode-line-active 'flash-line)))
+    (run-with-timer flash-line-length nil
+                    #'face-remap-remove-relative
+                    cookie)))
+
+(defun flash-header-line-bell-function ()
+  "Flash current header line as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (when-let* (flash-line-length ; Ensure time is non-nil
+              (cookie (face-remap-add-relative 'header-line-active 'flash-line)))
+    (run-with-timer flash-line-length nil
+                    #'face-remap-remove-relative
+                    cookie)))
+
+(defun flash-echo-area-bell-function ()
+  "Flash echo area as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (message
+   (propertize "ring!"
+               'display `(space . (:align-to right))
+               'face 'flash-line))
+  (sit-for flash-line-length)
+  (message ""))
+
 (defgroup paren-blinking nil
   "Blinking matching of parens and expressions."
   :prefix "blink-matching-"
-- 
2.49.0


--=-=-=
Content-Type: text/plain

-- 
                                          - E.G via GNU Emacs and Org.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 11 Apr 2025 03:01:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 23:01:49 2025
Received: from localhost ([127.0.0.1]:47957 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u34eL-0007vW-7k
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 23:01:49 -0400
Received: from lists.gnu.org ([2001:470:142::17]:56628)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u34eH-0007v3-MU
 for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 23:01:48 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eg642616@HIDDEN>)
 id 1u34eB-0001qh-Hm
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 23:01:39 -0400
Received: from mail-oi1-x244.google.com ([2607:f8b0:4864:20::244])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <eg642616@HIDDEN>)
 id 1u34e9-00038b-MH
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 23:01:39 -0400
Received: by mail-oi1-x244.google.com with SMTP id
 5614622812f47-3f9a7cbc8f1so490273b6e.0
 for <bug-gnu-emacs@HIDDEN>; Thu, 10 Apr 2025 20:01:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744340496; x=1744945296; darn=gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=RPAGW7v1sahg1W3fHr3w12So9O4u4kvXiJUJkLGhK2k=;
 b=fDr6cdGa0WsZIhUKNpkk8DwaSXH5VVOgA/MCMKy3JIwsgCxpbTATfAirmI5Sk4pEXh
 /c9yJz0jZf6qo+bC7JU6Ht7rMUZbeZpDj7X0rHG5jVppX5ekCM0Qs2Fw/xpZyE/iW0i3
 kCKtaBNaywv9ytuN6fKdLkDgvzbuyxrT0RlbWnMOqpqwOqYYMtwDgBDROC6g8/FIGsLx
 oxLmM3eHZ5tlAw8+iDUIfiwqhPOhxnO/xs489ZfrzJAm4KS1ZoaJbrsL/MdcSjPdykkc
 p4cc5KbyE5f3L8J7mXIp5j0+f6Y+UqpzRjTsifkCe+qTkZQelFUJze0niLgwSR3eEXwD
 OBRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744340496; x=1744945296;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=RPAGW7v1sahg1W3fHr3w12So9O4u4kvXiJUJkLGhK2k=;
 b=vcUvW/UipDeDrgvW7q7RAaG/52oywlL/OA7k0pmCVtf1/6TD0hev949WHDiWZL6drz
 m2Cfux3m8Y2TH90V5Y/HuKqf1H64adB+jWv5RLTbC6UPfdy5mPFDVQ9mVmbMz2GidhKz
 No794jJU0vt4m3Pq9HXyJGfE+lXIRmFELrWWyX/mdLRsznEIGLel5j1+s7NlcBVdR7t1
 0oqpZ9BS9No2BucN9wOyqQfld04HJQu4944vVoYdbtqWeoJe8XZRLEHQLOVORAt6z+m0
 vapVEoL1WvZm4ZpawFA+xa6m5guiJ35NAj8048qt8GYo/LxOk4dB3liEwQOsEDSVdJ5R
 gjNw==
X-Gm-Message-State: AOJu0YxRhI9GpVKPUbRCz2btfFS1IRZ4GgGeT/HKaA73fFeVooXvDKYc
 t8lbfeOTOO05TEn9q359AlAqVZopFavq4nEZUxEM8piWVNWv4/h/
X-Gm-Gg: ASbGncslng+UO0mlPAZP3dVkm1gmYi0kSGij42SCnrcS2vX6CcYhwEbrzi/OuGGQI8j
 cxAvffH/SNtJNOkFqYT3DFquAZR0fN6+KAf5IGYcGq0jZDwRH+XyezW3/vSacwAeQ9WkpmlGBba
 i1ogLWD6yHlxZBGFro45kO/yED9a4i+sYyr53QMXXum6JZpc+OCTLKhdS6lLw6j6pQO5bF15A7g
 nh9K4BJ1jnZ73kjV/FR2vBZ9VRVMj+bCleGbRJfkfSYjITLJKTy42IUF/QvvFW4UnVULPEPF+Zz
 eegGPZeS
X-Google-Smtp-Source: AGHT+IGR0QrWirijt9bSFgUmFvzpwBCU1Jxqx+fVw7KXeCsv9SZZlJU5J1uuvPx0djR6aSBsH6gJBw==
X-Received: by 2002:a05:6808:1b26:b0:3fe:aecb:7110 with SMTP id
 5614622812f47-400850f95bbmr575897b6e.37.1744340495951; 
 Thu, 10 Apr 2025 20:01:35 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
 5614622812f47-40082515ebesm237552b6e.11.2025.04.10.20.01.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 10 Apr 2025 20:01:35 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
 editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
 <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
Date: Thu, 10 Apr 2025 21:01:33 -0600
Message-ID: <874iyvv1te.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2607:f8b0:4864:20::244;
 envelope-from=eg642616@HIDDEN; helo=mail-oi1-x244.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  Drew Adams via "Bug reports for GNU Emacs, the Swiss army
 knife of text editors" writes: > I wrote: > >> When Emacs dings it's typically
 due to a user error. >> >> Where do you see the error message? In the echo
 area. >> >> Putting the attention-grabbing "flash" or whatever >> in the
 echo [...] 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (eg642616[at]gmail.com)
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (eg642616[at]gmail.com)
X-Debbugs-Envelope-To: submit
Cc: "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 "shipmints@HIDDEN" <shipmints@HIDDEN>,
 Drew Adams <drew.adams@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

--=-=-=
Content-Type: text/plain

Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@HIDDEN> writes:

> I wrote:
>
>> When Emacs dings it's typically due to a user error.
>> 
>> Where do you see the error message? In the echo area.
>> 
>> Putting the attention-grabbing "flash" or whatever
>> in the echo area draws your attention to it, where
>> you see the msg telling you what happened.
>> 
>> Why draw or keep the user's attention _away_ from
>> that message? The user error might have little or
>> nothing to do with the text at the cursor of the
>> selected window.
>> 
>> Draw the user's attention _from_ there to the helpful
>> message.
>
> `visible-bell' has been around forever. Flashing
> the entire frame (or as the Emacs manual says, "the
> whole screen") is overkill, and it doesn't direct
> your attention to the error message. Similar problem
> with the alternatives I think you're considering,
> even if they're less overkill than `visible-bell'
> behavior.
>
> A modest attention-grabber, out of the way in the 
> echo area is better, IMO.

I think these features could coexist together, it wouldn't hurt.

Flash the mode (or header) line for bell it is something that people
have wanted to have, see packages such as mode-line-bell, doom-themes
(both in MELPA), and nano-bell.

I made my own implementation of echo-bell:

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Add-ring-bell-function-for-flash-faces.-bug-77715.patch

From af63c6ba42160de07c75cf3e2c483551798678b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN>
Date: Thu, 10 Apr 2025 11:38:21 -0600
Subject: [PATCH] Add ring-bell function for flash faces.  (bug#77715)

New function for flash mode line, header line or echo area once
whether `ring-bell-function' is called.
* lisp/faces.el (flash-line): New faces.
* lisp/simple.el (flash-line-length): New user option.
(flash-header-line-bell-function, flash-header-line-bell-function)
(flash-echo-area-bell-function): New functions.
---
 etc/NEWS       | 20 ++++++++++++++++++++
 lisp/faces.el  | 14 ++++++++++++++
 lisp/simple.el | 35 +++++++++++++++++++++++++++++++++++
 3 files changed, 69 insertions(+)

diff --git a/etc/NEWS b/etc/NEWS
index c08b0052639..4affd9c9d40 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1716,6 +1716,26 @@ change their face if the current line exceeds the 'fill-column'.  The
 new face 'display-fill-column-indicator-warning-face' is used to
 highlight the fill-column indicators.  By default this is disabled.
 
+---
+*** New function 'flash-mode-line-bell-function'.
+This function when called will flash current mode line briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-header-line-bell-function'.
+This function when called will flash current header line briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New function 'flash-echo-area-bell-function'.
+This function when called will flash current echo area briefly.
+Intended to be used in 'ring-bell-function'.
+
+---
+*** New user option 'flash-line-length'.
+This option controls length for flash the mode line, header line or
+echo area.
+
 
 * New Modes and Packages in Emacs 31.1
 
diff --git a/lisp/faces.el b/lisp/faces.el
index dbc0a2e04f6..cc1767fa41d 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2745,6 +2745,20 @@ mode-line-inactive
   :group 'mode-line-faces
   :group 'basic-faces)
 
+(defface flash-line
+  '((((class color) (min-colors 88))
+     :box (:line-width -1 :color "brown" :style nil)
+     :background "red3" :foreground "white")
+    (((class color grayscale) (min-colors 88))
+     :box (:line-width -1 :style nil)
+     :background "grey10" :foreground "white")
+    (t
+     :inherit error :inverse-video t))
+  "Basic face for flash mode line or header line."
+  :version "31.1"
+  :group 'mode-line-faces
+  :group 'basic-faces)
+
 (defface mode-line-highlight
   '((((supports :box t) (class color grayscale) (min-colors 88))
      :box (:line-width 2 :color "grey40" :style released-button))
diff --git a/lisp/simple.el b/lisp/simple.el
index 7037158df8d..6a8ea94cf14 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -9383,6 +9383,41 @@ auto-save-mode
   (and (< buffer-saved-size 0)
        (setq buffer-saved-size 0)))
 
+(defcustom flash-line-length 0.05
+  "Length (in seconds) used for control mode line and header line flash time.
+This length is used by `flash-header-line-bell-function',
+`flash-mode-line-bell-function' and `flash-echo-area-bell-function'."
+  :type 'float
+  :version "31.1")
+
+(defun flash-mode-line-bell-function ()
+  "Flash current mode line as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (when-let* (flash-line-length ; Ensure time is non-nil
+              (cookie (face-remap-add-relative 'mode-line-active 'flash-line)))
+    (run-with-timer flash-line-length nil
+                    #'face-remap-remove-relative
+                    cookie)))
+
+(defun flash-header-line-bell-function ()
+  "Flash current header line as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (when-let* (flash-line-length ; Ensure time is non-nil
+              (cookie (face-remap-add-relative 'header-line-active 'flash-line)))
+    (run-with-timer flash-line-length nil
+                    #'face-remap-remove-relative
+                    cookie)))
+
+(defun flash-echo-area-bell-function ()
+  "Flash echo area as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (message
+   (propertize "ring!"
+               'display `(space . (:align-to right))
+               'face 'flash-line))
+  (sit-for flash-line-length)
+  (message ""))
+
 (defgroup paren-blinking nil
   "Blinking matching of parens and expressions."
   :prefix "blink-matching-"
-- 
2.49.0


--=-=-=
Content-Type: text/plain

-- 
                                          - E.G via GNU Emacs and Org.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 21:57:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 17:57:44 2025
Received: from localhost ([127.0.0.1]:47398 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2zu4-00007C-6d
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 17:57:44 -0400
Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:42330)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>)
 id 1u2zu1-000073-9s
 for 77715 <at> debbugs.gnu.org; Thu, 10 Apr 2025 17:57:42 -0400
Received: from pps.filterd (m0333520.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53ALatJQ006104;
 Thu, 10 Apr 2025 21:57:40 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
 :content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to; s=
 corp-2023-11-20; bh=psYHMDANZ1CNIWheUsEtf/AIWB2/sS8hBQHgHyoyFq4=; b=
 NQ4bMjuI+/jItLXZQ9KILLmxdrbIuttCBxO80WWJooMkGsuDBSrh/VPiBYqIjtOR
 d9sEiZzdjuHas75tvhhC8iR/M7VPStHh4SAEVRZqrttK6wtmiSGWOF+Kzfj4mnAO
 77i3Anhngx51/2HxvjwkKDrbDetZt6tLjCPSIaEf4zX9/Vt1cqWKt6yKyYZmEJMJ
 kX9BSJ1onRx7r6Ouv4PQmNJgonhUdlGDAkuHJ6/E7mcm6PuLtHLN6v4WY4G0B86o
 ICmkZ4o/CFKPJBL8mk/4LNcIWnl+awiwavtJgON2JJZnQ1D/htW8QndBd6X3e7th
 Za7DnN7TCuLeYAF81iJjQg==
Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta02.appoci.oracle.com [147.154.114.232])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45xp28g2ed-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 21:57:40 +0000 (GMT)
Received: from pps.filterd
 (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 53ALVMN4016314; Thu, 10 Apr 2025 21:57:39 GMT
Received: from sn4pr2101cu001.outbound.protection.outlook.com
 (mail-southcentralusazlp17012015.outbound.protection.outlook.com
 [40.93.14.15])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 45ttyctwwn-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 21:57:39 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NAA2b+/LMexSOAWV4Kcd3lw0OnPKM+xtSjgl/csCaiuczvlgAWsVQ4ucA4V4Nfmn+RWH2JwbWlVXtW6q8nHTVzSDNONbjNH0eTUe0Lp8LXPzrfkja6D3ECCGrskXBuxGrFYG7TF5UMcxh+tI9CHyKW6goWQzhfjPT8ZbfxCog4FH6goHfpm11G/GFuKlR9+ZLKARZ3g3ji1+GYsNOtc85rn89ssxYYYqsnkbujqy3zQrKMq4GgMXhrpdrLUMIVdN5QVhiezF/kYTEGZcCC8Lz6y+4iNI1JdA+Egzg5LcanZdVpyn3I4GRZB0lm1wFzDqj12S1Imv7AUK6yOCy2vilA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=psYHMDANZ1CNIWheUsEtf/AIWB2/sS8hBQHgHyoyFq4=;
 b=kRXKTdv6hn38R0PsRlvO2NlJN/+NlJk+mlRPZCraXEH9sCuKGuiIvJEscPzm9uyEJBBbLcX7CBUW/TqmcjLbPxBROdGmNcvlyd+6D0WmNnTIadsOkBXgUzxbgQGIz2Lt7Fz02T7aJ+ieGlvaeeW2FG3hJFleQsr/Wmq+JQvkIenvqr3AILBdnhySDX9M1WriOMnVRGaLgf+vcclSIcSeX4kTg2FESva4WDismA9gBJxweFwDtPxt/WJ9VGIL6ZeAC7LFm5KhtWxtBxuTKY3+DwHGD3mD2TpBqZbs47zOZNJuTlRz76Dv34wihBPEaUzr6u1p7xEw4iRDjxErQGJL3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=psYHMDANZ1CNIWheUsEtf/AIWB2/sS8hBQHgHyoyFq4=;
 b=wVEHmvKc5uQBQBe0uQmJhUZaviU1lbO4ToEwb6XFg9ALjnXl3Ripoiy5CnZkyybBJEtxWahKQDtog0yv/99AK0ftgdMXAWO5DvPhx6dM9tu2fvYAJuYVZ/2SVKww2/8XlGbXP/ppfrlicSi485jNPROsxJBqjj7j8SOkRlp3lEg=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by SA1PR10MB7816.namprd10.prod.outlook.com (2603:10b6:806:3a3::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.21; Thu, 10 Apr
 2025 21:57:37 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8632.025; Thu, 10 Apr 2025
 21:57:37 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Drew Adams <drew.adams@HIDDEN>, "eg642616@HIDDEN"
 <eg642616@HIDDEN>, "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>
Subject: RE: [External] : bug#77715: [PATCH] Add ring-bell functions for mode
 line and header line.
Thread-Topic: [External] : bug#77715: [PATCH] Add ring-bell functions for mode
 line and header line.
Thread-Index: AQHbqknqRw/6hZ6F90+28Fr3z7Y8+7OdatuggAAGMOA=
Date: Thu, 10 Apr 2025 21:57:37 +0000
Message-ID: <DS7PR10MB52322142B2862E67A184FFF7F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
 <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
In-Reply-To: <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|SA1PR10MB7816:EE_
x-ms-office365-filtering-correlation-id: f34997fd-b07f-4d89-68aa-08dd787ab4d5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?TWtMaFVsRlQ5eHg3MXJQTWJpcnVidHN3N2dOUG4wUk9Ed1Bwd2p3STE3S2xr?=
 =?utf-8?B?aW9NRHREckdneVMwcGE4QWZ3eG51YzM4UnhLMXZYODF6L1Z6WlFocFNrRC9R?=
 =?utf-8?B?SFJRWXJnbERSKzMxd09RTE0xb1dpRWw3QmdaSE1MWGRHOVVpOXgyTDBuai9C?=
 =?utf-8?B?TEZYcGx5VllNMmxiSmNMYjJtSmg2WXhKVW9ZeDNOZ0lxVzUxOHFXWjFoRTlB?=
 =?utf-8?B?MHpMQ1JpNkpGL0d0N0gxU3JWM3RmT2xvSUZFbm9xaWQwMURpNTY2d0NJNk92?=
 =?utf-8?B?Z1VOMDAzYzU2eGNZTUlITTVKM0gvNk41OTlmbkRsVUhvZjg0VXdEWFNZeXBD?=
 =?utf-8?B?bXROY2tmcjF5ZmFxdXpOTnJlbkFia2sycTNGa1BlVjh0RWduenBSSDFyQ0Fz?=
 =?utf-8?B?ZUNyRy8yMllFUlBlb1N6WlRiTnNpL2RrK2FmdTE2YVhkQ0VTMWZKOWFLSGRu?=
 =?utf-8?B?NTMxNjdDMjg3M2QyRWgra010T3hrVUpBSGZLcE1MYkMzbHFUWDRZdTI5cjQ3?=
 =?utf-8?B?YjFWU0lvN3lzSElteHc5M3U4UkNkcUxET2lmaFVlUWtrMDQ5TFRJR2ErOWl2?=
 =?utf-8?B?UzBTcEdFRGRHeHZJRDNTb1JPUEtoY1NmN25rT1MxRTRaYm14YkQ1c0hnd2s5?=
 =?utf-8?B?aDU4d3VYZFpQTmVPZGR1WGU1RGZBUytGZ2M2em5RWnlUd2tsdUNKd3VqZE00?=
 =?utf-8?B?V1hhYW9ERkljS3J0SWMvQWhUQUVrU29BWGEwNHB2ZmpVSkRjZytQcllTY2lp?=
 =?utf-8?B?ZytrMHZrYVlST2dnVExlQXk3SktzZkJOSWNxYmYra2FRaW4zMGxZbXNTdzRK?=
 =?utf-8?B?Ujg1Y2xzQW9sWHU1Zm9ObUFLbUhJVmovT1NGYlVUM3MvSVE5Tjl1REdSNWQ3?=
 =?utf-8?B?YkZ3cW5Id2JNQU8rNWlmcmMvalZtay9ieUI4REJUYWpKUlRWanZDN2szcHBU?=
 =?utf-8?B?dG4wQjN2WU5QVVc0VXBvZncxU09uWElkWWU3YTRjMGNkbGxObDh5RVY2RytT?=
 =?utf-8?B?ODlHTE5nbU1tQXkyVU5nN2dMNTFMeTBDNS93dU5sMDMwYUtxYSsycU1TTmZw?=
 =?utf-8?B?eE1WaGJYQXJ5YWJMbEg4akdMT0l5MXh5T2RZY293T21XRzRBYzdTK2M3THdB?=
 =?utf-8?B?ZTE3UTRIaE1SNjJzZ3VaOXU5dVloSlhLeGxaTnpTS2dzM0JEQ3B4WkFwSW02?=
 =?utf-8?B?NFRTclE1dFdPdStJM3ZxTXJuRXNjS0tDR0JadXlVZm45LzNlaHVTbUZTU1FK?=
 =?utf-8?B?ZHZ0TjNIQ2RVWlNzSjFCb0ZFYjFDWkhsSVRGNUhraExEZlNKZlBiMTNpT0V2?=
 =?utf-8?B?ZGM1T2NrRE9IZmNRblk0SFdIalliOTBpUmZCUy8rajd1Vzk2b0JWcG5XdG42?=
 =?utf-8?B?Wis3Y09ZalczMm5CUFAxcGpvSDZKWVZTeGZiYUVSYmN1dFVJOTBWcHRYU2JN?=
 =?utf-8?B?TS9mcHJjUnI2R0NWZUJNaGdWU2diT3ArcUIvcHJGdVZDVnhlL3hxeWcxUklL?=
 =?utf-8?B?RnU1WHAwUHR5ZEtmQXgyRFVHeVFGTi9rb2svN096L1hZZG4zWE8vNU9WamZj?=
 =?utf-8?B?eW1OeWNRVmN6RkxZMnpiYUd4NDRPcUxBMlFNejc1QndSeElYYkxtVWJGNEZ2?=
 =?utf-8?B?bmFNQmxPNjl3NjlJUnZQNjJRUHllWEhVK1AwZDVXMEJiRVJtRktNWkg1NUtK?=
 =?utf-8?B?eGNtMEY1QkRpUG9FRVBtbTZMdlQxMlVmRmYvbmVSUzFjdmdBNlQvZWpOc3Nw?=
 =?utf-8?B?NDlkQVJVazNCSld6OEY5d0xVL2RTYU0wUnVlTEdER0N3bThKRUdaUmM1bXBr?=
 =?utf-8?B?S0VFN1Z6aXJ0TENQaVdoSG5IMG5HVUZ4OHE0SitxK2tlVyt2VnN0RE5oaTQx?=
 =?utf-8?B?c2V4WDZ0b0xlU0FWSUZncFJiajZYK3Jkck5Rb1BhY1l2aUJtN2NkRkk5alAr?=
 =?utf-8?Q?pc8TkEfk06SZyeBS/6uADVNkQK2zGDmH?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K1RlRXpWa3pIRHV5WnlhZmxtT0dDeG40RHdYeTF5bGNZNmpaL0JQazZmU0Zj?=
 =?utf-8?B?TjhUMzZVSHFZVmkrakZxVExxQkhqL3lPVEtSNkxBY2lpU3dKQUsyY2w3VFZ6?=
 =?utf-8?B?OFdNOE9UN0RLaDBvbFgyRDFzZTd3QUtTaUdIdEhTM1M3RG5iTS84NWJtQVZB?=
 =?utf-8?B?NUFTc2lYYkJIZmMxR0RXV0d0NXFiN0FEVDRNNlhCYk90eDI1UkYzNEpMMUlD?=
 =?utf-8?B?T0J2ZndwK1FkWWtRakhMbnNXbG9OT3FKU1JBUlIyWFh2R1hiTUZmZ0dkOXIr?=
 =?utf-8?B?VlJubUJWLzZYd2hCMWJWTllkWnFEcXBHL1YrUzYzRllMb2tXT1g3a2JOa0Jm?=
 =?utf-8?B?N3lybWVmZnhyTTgwTXNJbnNsdVlJOUQ4TnlsM3Z4cysvVllGUXdRRERYU21I?=
 =?utf-8?B?Umd3ZlYyNTRZOUM3bzlEKzJaQUorOC9wVFQ1UVpwRHVnMGlCTExoUkVnSHV4?=
 =?utf-8?B?MGUyQlpPb0FUK21ON2NRRnNRNWdlNm1ZNGRDbzB5czVpL2dqWGZUajNKanFO?=
 =?utf-8?B?Q2lnZnpvbWlpZGwycnVocitXVHNEODQ1Y2VWTTE3VXoxM1ZNTUVKTE9XNGZ3?=
 =?utf-8?B?RnBBY282a0hZZ1pNKzZPSmdsRjJ1WnMyOFlteEFTZG9FNnpiSDVUUm9aKzVs?=
 =?utf-8?B?ZHgyN0tFMWpieldLY05Cc2E1RStvLzFaaXozMm8wOVpySFlHOVVEbEtNK0lt?=
 =?utf-8?B?eGUzdDRSVjJPbG40bWRZeUFNNFZLaUdXR2cyLytuLzdzUzlCN0NMWjc1bDFH?=
 =?utf-8?B?dG1lb2FYeWFsRDNueEZzbktBWHJua2NRNHlHNGt2V01VN0QxOC9jWWxyNHp3?=
 =?utf-8?B?Vm1tc3VSWFh3TzVyVmRidUpXTWxMSWFINE9IUHl5aU5jcitTK0cwZEM4Mk42?=
 =?utf-8?B?YzVSL1VKOFk1dU1NWVQ4Mkd2NVhiUGhOWmhOWko1Nmh3aFBhVXpOUG9NRFRG?=
 =?utf-8?B?dVVBUjhhOUxsbXVoSWU0aG5FdzRDZXdYYTBUZ2ZZMmtSdm91VXptT1JmMEdi?=
 =?utf-8?B?Tk9nZmJmdEluS1NSWGplOHlxYjY3bmgxa2g3SDJLN3k2K3Y2OVZhSFJIemQ2?=
 =?utf-8?B?UmNxMDNhemo0ZmJ1NU9oZDMzM1JaS3g0ZGhIK1dGQzAvSzRaTzJxUnVwaHJx?=
 =?utf-8?B?bWJpTTJrc1dmT2phV1Vtc2lycFJ4OFBmeksyQjZ4NjV1UHJsWlpwSEhEZ1BY?=
 =?utf-8?B?aVRRM3hpM2V0TGtRUkdRQ0d3c0xvcGpRQWhkOEFRNWJnMDNjaFNVb3I1SGRk?=
 =?utf-8?B?a0lDL2pUblNoY0FnVkZsZW5XV1hKOWpJSkRvS3JUQUJoVTRLZk5ZVXJGRHpp?=
 =?utf-8?B?MEJZblhOWTY3RUlZV3Yrek9LQlp0L3BUWnk1ZHUvZ0pnZVZQQUpGanlUMjFS?=
 =?utf-8?B?cFI1MUtCcldOVXI4ajUzVmtXU0RvbDVnclBjY0toTXV1MDhtMkN5RHh5bmZw?=
 =?utf-8?B?ZC83aHJtdDRGNXgwNklPeDh4VWFzcnpwbldQNDZhTEpNdUdaL3RVbEVmOUFR?=
 =?utf-8?B?bTZMOEV0bTZEVE5YRFBlSXZ2RlZFeTdTUmtKdjJaSVlRT2xXdU5HbWt0OW5D?=
 =?utf-8?B?WXVMQTJkVHB5cU90aEZlQWY3QU9IWEM2Vm5EakxOQ045dTUwdktvRExWandO?=
 =?utf-8?B?Y3BtTW5NazM5VDAwVkhrc3A2UjVNVXJRQ3hWYU5GVXoyWXZKYlBCV05MOHRp?=
 =?utf-8?B?WSs1QlVPVDNrVTNKRURWWDRYdmZodlFsRERaVUcrQ3BWNTV2Unl5dExsZWZT?=
 =?utf-8?B?eW5BckF1UlFTU1BmUWFob00zS0FhQVhXbkhiRVFYMVFBQUNnOG1LZ2tlNDht?=
 =?utf-8?B?RThXMDJRb1UwbzQ1NHU2b0kwTnU3V3E4K21FUGFMb1NLWHkzbXJqZnZpZzBY?=
 =?utf-8?B?MHMwenVzbTk3UzFTYlZYZjc1eG1TUFBSdUNYR1dGUko0MTlPQ29aaGJ6cnJl?=
 =?utf-8?B?Y2lZdHluZ01zU2NtdGZObHRKYkNFL0hPWFd5a04zWHo5SWNmcHllck4rRnZR?=
 =?utf-8?B?dEZxaXFKUXYzTGdmcGZUWnMyYkFYZ2RPdjV4YldLSDRxR3dsOHdJdU8vdTBJ?=
 =?utf-8?B?dSs4MDZpTEcwYTNyV29FRGthb2pTUVgwU3NoRmZvSkQ0NTM2MXlsMUNYZFo0?=
 =?utf-8?Q?5bDjJnED4p9/8TNdFEGEqmA+q?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cuzq2EM5sUtw6LxzBKSkgUsx3MOuE/DKFhkE6ho4M+2b0zCuQE1GAn8sGLx/Zu7zXVmlm7JyTtz2eYO1vtZzjmcBEAMPrhivUlRQfeqhRs2miJo2f1BYktXok31CPOIQShsnHIwowmmSMPX4z8tJSPCqsK79GG9I6lTOHgUQHWQNCDM+9QvP1pNepwhnXTvGVfHKnLcYo4LMw/jmmyzH9ONoPsqcffu4WA95r9iJBu1Q7cYGw82jK/SXPMcoUXw5O648ruhRTo0I0+vIozyG5PEWGi10tHoaoy932O54/D+iphvEW9Y3oVO5sDaFArKiRriMX+XWUobrSO8C8JKfYIicecajaIhiMby+E+0ompBB8U4PBWLD0b267JrKE/FJHl78NEfH5Ss48D90WrWLMfip8d1Tpx/3XJjvHuasszJ+iahB/IcKp42yRAZGJbzrYK744g/rQ9Fy5yk6q8eIMHhsknSkgpgoKEdAzxMy0lmT53xyuFM3HNi10e0NatUU0IIIPHwWBORcWuhBmU4EfncYU5/JAqu7kft0YQsLr7EbgCMfYWdA5BO7CcXu+TpvC14AtQiczOIh54DaAAiBnIhklrfn+JLpr5xgGcfiLNU=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f34997fd-b07f-4d89-68aa-08dd787ab4d5
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 21:57:37.1115 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 4HyjMZX5rrZKBsQg96ehUObhJ8jQPAsfjrw1ZXK9spsIF/OgvxSSR49ZdjmE7Zdkr5QXo9KrS/253pu1Wsp6bw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7816
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-04-10_07,2025-04-10_01,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0
 spamscore=0 suspectscore=0
 bulkscore=0 adultscore=0 malwarescore=0 phishscore=0 mlxlogscore=925
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000
 definitions=main-2504100159
X-Proofpoint-GUID: 4bChisTCRD48aiE3Feex0UirfOGS6h8C
X-Proofpoint-ORIG-GUID: 4bChisTCRD48aiE3Feex0UirfOGS6h8C
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 77715
Cc: "shipmints@HIDDEN" <shipmints@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

DQpJIHdyb3RlOg0KDQo+IFdoZW4gRW1hY3MgZGluZ3MgaXQncyB0eXBpY2FsbHkgZHVlIHRvIGEg
dXNlciBlcnJvci4NCj4gDQo+IFdoZXJlIGRvIHlvdSBzZWUgdGhlIGVycm9yIG1lc3NhZ2U/IElu
IHRoZSBlY2hvIGFyZWEuDQo+IA0KPiBQdXR0aW5nIHRoZSBhdHRlbnRpb24tZ3JhYmJpbmcgImZs
YXNoIiBvciB3aGF0ZXZlcg0KPiBpbiB0aGUgZWNobyBhcmVhIGRyYXdzIHlvdXIgYXR0ZW50aW9u
IHRvIGl0LCB3aGVyZQ0KPiB5b3Ugc2VlIHRoZSBtc2cgdGVsbGluZyB5b3Ugd2hhdCBoYXBwZW5l
ZC4NCj4gDQo+IFdoeSBkcmF3IG9yIGtlZXAgdGhlIHVzZXIncyBhdHRlbnRpb24gX2F3YXlfIGZy
b20NCj4gdGhhdCBtZXNzYWdlPyBUaGUgdXNlciBlcnJvciBtaWdodCBoYXZlIGxpdHRsZSBvcg0K
PiBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHRleHQgYXQgdGhlIGN1cnNvciBvZiB0aGUNCj4gc2Vs
ZWN0ZWQgd2luZG93Lg0KPiANCj4gRHJhdyB0aGUgdXNlcidzIGF0dGVudGlvbiBfZnJvbV8gdGhl
cmUgdG8gdGhlIGhlbHBmdWwNCj4gbWVzc2FnZS4NCg0KYHZpc2libGUtYmVsbCcgaGFzIGJlZW4g
YXJvdW5kIGZvcmV2ZXIuIEZsYXNoaW5nDQp0aGUgZW50aXJlIGZyYW1lIChvciBhcyB0aGUgRW1h
Y3MgbWFudWFsIHNheXMsICJ0aGUNCndob2xlIHNjcmVlbiIpIGlzIG92ZXJraWxsLCBhbmQgaXQg
ZG9lc24ndCBkaXJlY3QNCnlvdXIgYXR0ZW50aW9uIHRvIHRoZSBlcnJvciBtZXNzYWdlLiBTaW1p
bGFyIHByb2JsZW0NCndpdGggdGhlIGFsdGVybmF0aXZlcyBJIHRoaW5rIHlvdSdyZSBjb25zaWRl
cmluZywNCmV2ZW4gaWYgdGhleSdyZSBsZXNzIG92ZXJraWxsIHRoYW4gYHZpc2libGUtYmVsbCcN
CmJlaGF2aW9yLg0KDQpBIG1vZGVzdCBhdHRlbnRpb24tZ3JhYmJlciwgb3V0IG9mIHRoZSB3YXkg
aW4gdGhlIA0KZWNobyBhcmVhIGlzIGJldHRlciwgSU1PLg0K




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 21:47:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 17:47:01 2025
Received: from localhost ([127.0.0.1]:47371 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2zjh-00082O-1k
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 17:47:01 -0400
Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:51876)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>)
 id 1u2zje-00082C-AG
 for 77715 <at> debbugs.gnu.org; Thu, 10 Apr 2025 17:46:59 -0400
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53ALNQmR012439;
 Thu, 10 Apr 2025 21:46:57 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
 :content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to; s=
 corp-2023-11-20; bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=; b=
 bDFzMtfG/Vukq+cnE/6RRbVUp+bV6CFrp5h/slFrfW9cbIYnhYRnYfuNwheaLl/c
 J7WD3SlQM0+hl9XfhEw0raaRgTkTE2q/BUPeDKLc9+TK/5pL4zVwIx5MY3hKIa+K
 stWzcgxmAd8hrScNIkDj1NlkgT+ag9PQkD8hcfvZFEg7YIpkhaS+Va9nTii9zkYR
 zoa6HdcR8U/xRKRZ0fU5kq0fbRIWfP5L+0q1IUrR3bxiNYYBWnHsGBbLiK/NfKch
 SQroA4UZ6PflSfHku532U7/gdlHIM8DtaS3mAnLPETylbvePZy0VG/cE2Nmubzol
 y1T8lsDKAKgUgBV3yUTIBw==
Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta02.appoci.oracle.com [147.154.18.20])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45xnu9r5kg-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 21:46:56 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 53AJxGaK020944; Thu, 10 Apr 2025 21:46:55 GMT
Received: from cy7pr03cu001.outbound.protection.outlook.com
 (mail-westcentralusazlp17012039.outbound.protection.outlook.com [40.93.6.39])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 45ttyk6yyc-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 21:46:55 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tmBEyncuyomUAG2fONkSKxQUogeDJM79ufdj+vnekg4NUWeNw6OqGS3tnvkS7XNKKoMu20xThTP97wlACxbR0VSe38m21BFI14AZwgx1wSkHaJu0r9PEtqMTAneTTwtDbAzFv4nU43Ze3kgloZYx4HC/o2rKX7dHHoiyFvs9OFe5z+G3qZlOdvYSoadprWbY247f6cR4BPvHQt/5UsrxXmkyl+rG9EQ3hbI3V7dxs66oP/FT/90ksNC5Ru8/0IyIylfIgJHNsvQ1rJrCE0T8RT9LXt1D/AYvFcCxEp+zw3yoXjEZIlSaNPX0FBnkL3b54ZqYXePlA2VgIJSbfzD4gA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=;
 b=zK1xfLF5LYWP/s4wKvN6+VbO8qtFIEk7nOYtbUSnjS62OUEA+7u3kqNsH80ATi5apQ8cPq3KBbeYFeccFQQERVALG5B41lTyakn9lh2x/aI8bmS266cS4G0bVmBwLuFUuRtax2MdrqzDW6gg1Em0Um7kEa+x3LWlkRdgftXFm88nDeex09VYmpVfVCL0ASBnXyaqHl0Hzd/DtNIHnHiJNoB+Z6GuK6O/9wp0Ax/aZRAY+FCpQCNcy+hTrVQB0n/wz5PoxVDidgz2TqqBvfNFTfIsiyfDDTGXhl3t0S4Lk51ZEf9MT0m026zLyApUDCbxkGfEhw0Kr/l01dIrc5rPzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=;
 b=yjrbbsqBkA8PBpz/IsD1NLr8eGibVxE7dibdi3yUemEQpHNCeijOXW+o9xoM2GhgdIEkjv9geuUBUOdeEdhJWpYDXNbVef3uhSSaGAZSiNLPC9HLXP3oVAPX5JPUE+cGjg7XJLLAifxov1bfnOR9DC9dBjmI+KsxY6lXVjVSxNU=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by DS0PR10MB6773.namprd10.prod.outlook.com (2603:10b6:8:13d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.24; Thu, 10 Apr
 2025 21:46:53 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8632.025; Thu, 10 Apr 2025
 21:46:53 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: =?utf-8?B?RWxpamFoIEdhYmUgUMOpcmV6?= <eg642616@HIDDEN>, "Drew Adams via
 Bug reports for GNU Emacs, the Swiss army knife of text editors"
 <bug-gnu-emacs@HIDDEN>
Subject: RE: [External] : Re: bug#77715: [PATCH] Add ring-bell functions for
 mode line and header line.
Thread-Topic: [External] : Re: bug#77715: [PATCH] Add ring-bell functions for
 mode line and header line.
Thread-Index: AQHbqknqRw/6hZ6F90+28Fr3z7Y8+7Odatug
Date: Thu, 10 Apr 2025 21:46:52 +0000
Message-ID: <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
In-Reply-To: <874iyvetl1.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|DS0PR10MB6773:EE_
x-ms-office365-filtering-correlation-id: 3c333460-ded7-4fe8-3917-08dd787934e7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?Z3kxZXRWeklxUEpwRWJvUHRVLyszTUtBWndsL09SYm5MZmVMekhGVFppa3JY?=
 =?utf-8?B?WGJ1aldpSTREQm5HTUNzL1Q4V1AvUm5lbFVmOTBndHJxakpNYzh4ems5L1hu?=
 =?utf-8?B?SXRGaTY4THRCaytkV1dXbTZFZCtjMUVFL1o4WTBEMlNjak91azEvTDc5N3Rr?=
 =?utf-8?B?QzdLWWREa1FrV0pJeG50SjBRbmNQeFp5YndVc240cndtYzQvSFhkVHpTVTlz?=
 =?utf-8?B?UmV2cHhCaFRMN0xGdWxXZXNheS9TSlpORDlSKzlEZjN2bVJabW0rVGhQYzRR?=
 =?utf-8?B?RzJ4YzFPVUhWcHltL240TjJCb0dML252dGNyVS9MVkJUdUdvUGR1VjF5WHp1?=
 =?utf-8?B?ZU9aV3FVeWQzc3ZmZkVpYS9nWDhHemEwbUZuVmU4L2ZUOHNnNTlSeTF1aHJD?=
 =?utf-8?B?NHY2V0F2SG9PMCs1c2JwV2h3cmQrR3RReWxRTlZYL3NTY3IxN3pGdnp2amtv?=
 =?utf-8?B?K2wvVDRrYnBQSWdiTWRkTzRDbnZaWEovenlDYmJudU4ybUh1OVlldXphN1Iw?=
 =?utf-8?B?Z0s2YWtvSG5QTVh3OUtWR3BMNjVoTFY2ak5pcHRabW9QTUNRTFRxcitSbldr?=
 =?utf-8?B?eitMVFRHSmJvcTdoTXo0UWliek9GMlM2cmE1aktvNlVPM0dXWWZ6NW9Jbmt0?=
 =?utf-8?B?NENJUStwVitXNHlMZ2YrcEF4QldZZjFSZnd4NG9EblpGUHp0TnRxMHlYS01M?=
 =?utf-8?B?UlJZZjhkN1JFWTR0T1VRcks1aVVxR241TEU5cVlRTm5seW1Cd0Z4eDdrVEdM?=
 =?utf-8?B?aVpiQk5tcmJ4ZEMzdld5M1A4MzAwSnVpdjNVQlJ5Y2NDTUxPUldpMThtQXN1?=
 =?utf-8?B?b2xGbWtYNFpIdzdIQ0lIUW16NFpXNnZyaWJkQWZVL3dRNUgxRXBnUlVwZnp3?=
 =?utf-8?B?RTNMNi93Slh3a1Y1amJubG5xQ3IvTTZiRjE0VkVzdmQ3U3BwWVFmdG5uQkFw?=
 =?utf-8?B?bmpBblhDeDdBOHllSjRVbEROSVRKMXd2aG4xY3NOQzlCbzRreW5OcGdBMU81?=
 =?utf-8?B?VUEzWnI0VFdKN2ZDeUcwQUcxVGJsQllqQWJ3djNkdytUU241Z3ZRZ2pkcWkx?=
 =?utf-8?B?ckQyanVaMUl3dkl0eXhkNkFlY3JMdDRSSkhady91L2w2Ulo4ZmFqUUJ3cis5?=
 =?utf-8?B?WTY4bFRvRklTSTZLajdSQjRMVWgxbGFwV2EybUllWjB6Ym5ZdVI5bDdZdkZq?=
 =?utf-8?B?TEYrSTFkd0twQnhXbFI0ZFlIMy90K21XczdzbTF5enNqM3ZTNktzdnNRaTM0?=
 =?utf-8?B?N051NVByS2FBUUhOU1VydmYzMVRQQ244OTBvU0pUcllDODg4TUYrdlZobElZ?=
 =?utf-8?B?UEhndFduN1NKcXpzRnVqTUZpUTRPODJlL04veFJXaExrd3RCZXFsb09abnNT?=
 =?utf-8?B?d3UzM0hDU3ZpSnFCalNvWG1TZnhNc3ZmczBoMWRzalMrMVNJYWFDTWxycitz?=
 =?utf-8?B?a1hrZTlFL1NZcFpzeER5cXFsejlZdWtZcG1RRnVLMFMvU2hvQ21kK2drVXlB?=
 =?utf-8?B?V2txbVdXZ2NqVUtJQTdTNnhGM3BhQVhramEyRGtGdG44dHJzbjVwTkczK2tt?=
 =?utf-8?B?WEtWUDNlOWtLQzM4L0lSUkdDbmVCT2g1d2d2Rk9UL1ZLWDJJejBhTEN0eTJG?=
 =?utf-8?B?OS9hTCtkWXF1clFMMkg2VEgzSTJseVJERVdMcEpCL25WOUs2YTVxLzNpeFpo?=
 =?utf-8?B?Qk8vUER1V2s2R3FnYmFBWkF5dGZjdWhJSkxpR2FoVzcxYUQ0SGhpM3kzR2ZE?=
 =?utf-8?B?R0k0N01uUHZPYmoxZzRvWkkzYzlad3pUbk5IcTZ1MURNazVRbElYWEdqZTAx?=
 =?utf-8?B?Y25QbGtCeU81S1U5cytTVFpLTGdEL2dTZFlnMVBzTHI5cUVQUEtWV0MvUTZ3?=
 =?utf-8?B?UDlXSHpadFplRERPbThXSjBWUERDcloyT2JwbytYd09vcThaMnIvRHVkM2dy?=
 =?utf-8?Q?BwBeqsEnMtJ7Ln8N0TQCG8HDkc3ziSLw?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K1hzaUpRLzlXV0dHdTY2a0N6dlZTNE5Na2ttYnlaWTFXVGN2dGFuSVcvak9J?=
 =?utf-8?B?WEdOTGZLbEJQR3RIRkRqK2NjRFQ0bWpsc2I4UGNwaFNBR3lQYnZEaWllSTgv?=
 =?utf-8?B?U1p0bHd4TmRKeE5rVUZZdWY2WEtvQ25VV3dJRVdLNFlacllkQ2lUTTdCOUxz?=
 =?utf-8?B?TE5PbGJDUk1ac3Q0YXNrZVZwSXl6dFA1aFd0bVBXbmw2R01jSWkzS3VWTWpZ?=
 =?utf-8?B?OThhSUkwVURYUEpObEtFNk92Smwwc3RzRlk2UlZTM09xSHhTM1NuNEVKWjVq?=
 =?utf-8?B?VlpGNWFFemRaa3A2aHBNODgzeXMwaXFWalBZblo2VmdyRXZpTUhDQ1NmMEtJ?=
 =?utf-8?B?R3JCRlVPUE1MZ2Zpc3l4bmRJRnFya01Xa0VESkk3VnkrTmhsSHBSTnFvcnJG?=
 =?utf-8?B?ZXdLUUdwQzgzN05kN3F1aG9CcEtualR3NVV2Q2NCQzB5cjd5bXVLbTYrVlVa?=
 =?utf-8?B?cWwvMk9mUGoycmlEaTMwTWNQc1hEcjdZUHl2UHJ2U29NaVQ1YkZmRXdKbkV5?=
 =?utf-8?B?VHVrTGFFTmUxTDJGSExtd2hMZHB6NzkzQlpsOWJDSUNkN2o1S0ZNb0pLb2t0?=
 =?utf-8?B?V0gwcDUvajhXWXp0SFNiLzhCSyt0dnF2eG5CMGg5MzVhWHBkNjBFaTJTUXBB?=
 =?utf-8?B?aStONDFFWXo4Q1pGaGgxNWY4NDgwcHgzalR3ZWl0TjROaEdkYlFMVlVVQ1B2?=
 =?utf-8?B?ZzAxeDVjdUs4a3dDVjBabkg2YXREZE9XdHhmQUZEK0R3S0pkK2xLVnR6c3d6?=
 =?utf-8?B?Uzd4NHdKMktOOEhOR21MMG1vWHRLajYwWlBWak0rQ3NVMmhMREo1N3N3TWN3?=
 =?utf-8?B?QzRDK3IxcFpNUGdISHBjK0ZYd01Hb3FCTEp3c2xYZHhDa0ZoYzZKTWxwR0FP?=
 =?utf-8?B?OFNVbHR2SkxEdGlIMXY4Tlo4YnY0ODV1MSs2b09HTGpncVhRVmpqd0NpWS9X?=
 =?utf-8?B?Yk11eWxsRXZyMkNiQ1dTVjRhS2FraUU0TUZsN3ZNb2VwWCtMQmhMTzNkOWpP?=
 =?utf-8?B?V1k0RldBV3IrSUp3d2gzRXBEaHBBTVhMVDhhdXRUWDdYcEZPNjJWQWU0SEhv?=
 =?utf-8?B?Z05BQ2lnRDlrelF6aVR4RmtEUHZTN2c5RmpKREJMc2tPcmo1UmpHR0o3MDZH?=
 =?utf-8?B?NFZCOHhjRzNpZFY1b3RwUnoyMGxYUzZLcWZnQjZDcmJ3Z2w2T2hnZDJ1aUFh?=
 =?utf-8?B?K2NIVWFyeW1mZXRlcHBiUGUrV3cwZHdIMlozRkJBMXZublIwTGZXOGp3NHpR?=
 =?utf-8?B?V1BiWmsrU2NYVklNZGU5K3RwZjZNandTKzVSZzBlOFFmTHVuejhvRHZ4bXU1?=
 =?utf-8?B?S0VVVWhTTENoWWdaeHcyMzJ6ZzdhWFRiY0MwbFYwUDVEaTNBaDluMWJjd1ZB?=
 =?utf-8?B?akl5WXJvRG5ETmdHRC81aHRjaVdBZDRBT3A5VlFrYUM5ZzZXMEJUTEF3MHQ0?=
 =?utf-8?B?eHNIVUZRajM0UWZ6cVFHd28yWWtKZkJnOHRUZ0xtN3Bha0JwWFlNSXh3T2x1?=
 =?utf-8?B?Z2NnOWJiZjJYV200emwyWHVDSlhhUDhTaVVUVjFmR1lOK1BaTENkbitoT2Vk?=
 =?utf-8?B?MDFaSEpQb3pGQXRMYzRDRnhKNWV4ckl1cUQ5cmc5SkhVQVluS2dqZnMrckxG?=
 =?utf-8?B?T0ZRZko3eXQvOFlrRTZqRmdoNTRWN0gyS1RUdU1STGl4d1FpVndRM1A1WXRw?=
 =?utf-8?B?cDIzRktZekV5amJTY0xKZzJ4NVN2SDR3c2M1NXRVU0VudHRXSGF2UHh0QlNW?=
 =?utf-8?B?cEdrMTZSanBLQThya2JnVkFmWHREbFRiMWo5TTlZUSsvMTBXSHFhdlY2a2di?=
 =?utf-8?B?WFF5d1BPUHFxQ0IxVExTM2x0ZVlsTlRFcWQ3ek5PODB2Wm03UUZVVVdHVjd6?=
 =?utf-8?B?SVV3TDVqVHgxSHFIcUpPZTQ4TWVoMW5VRW13UVpXRUp1YmZ2S2FmTDJJZ2RH?=
 =?utf-8?B?cnlKQVFJSE5zbUZsVTl5Q1hpcHB6eDBFNTIrR29NSkF5N1BLNllSdkM4WDdl?=
 =?utf-8?B?UEtmQTV0ODdvekkwN1N0UURjNVI3MVVaQVNNVlh6SDZoMmlaN1JqTWIzVytB?=
 =?utf-8?B?em90aFhwNUdqcjZaemdMMzFZRTEyTUxhcTk1OXpleGhEc0JCek03TjNrVHRu?=
 =?utf-8?Q?ywHqdnYdozS1QwwVVWgsU8tNg?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: v4X+pUNdcQ74hLHtBnAonNby6sNM4G83USmnC3hLGi3JL5zlDw9E1nak6kNWTuU1sIz7tKGc307TP+IXSYDNZ03dYtINC2OvRHMDyYMM7kCJKSHP3sGBGLagEMnqiXdCck7ZmIEQIvh0pJj1qTg/rIxNV+DVgsc8fis5YhNi+8GOkVbfbaa4BrZESyhixxJxNTEiCRnCroynX4dSXYKNlxBvJA1kfDKQnR2nwmH1fBO4C3be4T8vA2EcoI1WbXO+tPkwqjK5hV389jKXKkM0Zs6SMPQwubCqQGHoSgC2f+N3JN1+OQc0JJRd6W0nhKVaAR7YFmggXmIwmlM3bEWaNS5PZQoGovP343JrLGZO+TDcRymEhdddrhaSdfSugiwEe+GNVRD2Of8EqDAqlXyHIlP43KvgV/sphkIeZ9H2UUpH6UYadRpxMakflH/ez0bcMt//wW74YQl57KBKhleb8Bi2YqWCr1/5Z7hcwfVi2AYD3xcLDpTg9442q34iQzJvUcy9dUcWLUvgh238dp/zRo6jJ/gEpoNs1+X4sn+Pl4pJerhbqMGvdobwhTzm8FaLrblWdeE6BANImj1drPvdKtg/LvDEhpSDmbkjmwVsw5Y=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c333460-ded7-4fe8-3917-08dd787934e7
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 21:46:53.0041 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: umNZ14o/AWu/3n/Ps9StV08TembExsE5UTyiN8XTfbQWIbe2+7oCV6blcHotIH45tsdprVcqyTHRDDUpZwiG5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6773
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-04-10_06,2025-04-10_01,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0
 spamscore=0
 mlxlogscore=946 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2502280000 definitions=main-2504100158
X-Proofpoint-GUID: qg1-IxpWgq0nbJzTtYH8hA0_KF25pWpZ
X-Proofpoint-ORIG-GUID: qg1-IxpWgq0nbJzTtYH8hA0_KF25pWpZ
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 77715
Cc: "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 Ship Mints <shipmints@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

PiBJJ20gbm90IHN1cmUgYWJvdXQgdXNpbmcgdGhlIGVjaG8gYXJlYSwgd2hlbiB3b3JraW5nIHdp
dGggbXVsdGlwbGUNCj4gd2luZG93cyAoYW5kIG9uIGxhcmdlIHNjcmVlbnMpLCB0aGUgZXllcyB0
ZW5kIHRvIGJlIG1vcmUgZm9jdXNlZCBvbg0KPiB3aGVyZSB0aGUgY3Vyc29yIG9yIHdpbmRvdyBp
cy4NCg0KV2hlbiBFbWFjcyBkaW5ncyBpdCdzIHR5cGljYWxseSBkdWUgdG8gYSB1c2VyIGVycm9y
Lg0KDQpXaGVyZSBkbyB5b3Ugc2VlIHRoZSBlcnJvciBtZXNzYWdlPyBJbiB0aGUgZWNobyBhcmVh
Lg0KDQpQdXR0aW5nIHRoZSBhdHRlbnRpb24tZ3JhYmJpbmcgImZsYXNoIiBvciB3aGF0ZXZlcg0K
aW4gdGhlIGVjaG8gYXJlYSBkcmF3cyB5b3VyIGF0dGVudGlvbiB0byBpdCwgd2hlcmUNCnlvdSBz
ZWUgdGhlIG1zZyB0ZWxsaW5nIHlvdSB3aGF0IGhhcHBlbmVkLg0KDQpXaHkgZHJhdyBvciBrZWVw
IHRoZSB1c2VyJ3MgYXR0ZW50aW9uIF9hd2F5XyBmcm9tDQp0aGF0IG1lc3NhZ2U/IFRoZSB1c2Vy
IGVycm9yIG1pZ2h0IGhhdmUgbGl0dGxlIG9yDQpub3RoaW5nIHRvIGRvIHdpdGggdGhlIHRleHQg
YXQgdGhlIGN1cnNvciBvZiB0aGUNCnNlbGVjdGVkIHdpbmRvdy4NCg0KRHJhdyB0aGUgdXNlcidz
IGF0dGVudGlvbiBfZnJvbV8gdGhlcmUgdG8gdGhlIGhlbHBmdWwNCm1lc3NhZ2UuDQoNCg==




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 10 Apr 2025 21:47:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 17:47:18 2025
Received: from localhost ([127.0.0.1]:47374 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2zjx-00083J-GU
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 17:47:17 -0400
Received: from lists.gnu.org ([2001:470:142::17]:40576)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>)
 id 1u2zju-00082w-Gy
 for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 17:47:16 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <drew.adams@HIDDEN>)
 id 1u2zjn-00068Y-Cv
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 17:47:07 -0400
Received: from mx0a-00069f02.pphosted.com ([205.220.165.32])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <drew.adams@HIDDEN>)
 id 1u2zjl-0001zN-KT
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 17:47:07 -0400
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53ALNQmR012439;
 Thu, 10 Apr 2025 21:46:57 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc
 :content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to; s=
 corp-2023-11-20; bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=; b=
 bDFzMtfG/Vukq+cnE/6RRbVUp+bV6CFrp5h/slFrfW9cbIYnhYRnYfuNwheaLl/c
 J7WD3SlQM0+hl9XfhEw0raaRgTkTE2q/BUPeDKLc9+TK/5pL4zVwIx5MY3hKIa+K
 stWzcgxmAd8hrScNIkDj1NlkgT+ag9PQkD8hcfvZFEg7YIpkhaS+Va9nTii9zkYR
 zoa6HdcR8U/xRKRZ0fU5kq0fbRIWfP5L+0q1IUrR3bxiNYYBWnHsGBbLiK/NfKch
 SQroA4UZ6PflSfHku532U7/gdlHIM8DtaS3mAnLPETylbvePZy0VG/cE2Nmubzol
 y1T8lsDKAKgUgBV3yUTIBw==
Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta02.appoci.oracle.com [147.154.18.20])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45xnu9r5kg-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 21:46:56 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 53AJxGaK020944; Thu, 10 Apr 2025 21:46:55 GMT
Received: from cy7pr03cu001.outbound.protection.outlook.com
 (mail-westcentralusazlp17012039.outbound.protection.outlook.com [40.93.6.39])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 45ttyk6yyc-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 21:46:55 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tmBEyncuyomUAG2fONkSKxQUogeDJM79ufdj+vnekg4NUWeNw6OqGS3tnvkS7XNKKoMu20xThTP97wlACxbR0VSe38m21BFI14AZwgx1wSkHaJu0r9PEtqMTAneTTwtDbAzFv4nU43Ze3kgloZYx4HC/o2rKX7dHHoiyFvs9OFe5z+G3qZlOdvYSoadprWbY247f6cR4BPvHQt/5UsrxXmkyl+rG9EQ3hbI3V7dxs66oP/FT/90ksNC5Ru8/0IyIylfIgJHNsvQ1rJrCE0T8RT9LXt1D/AYvFcCxEp+zw3yoXjEZIlSaNPX0FBnkL3b54ZqYXePlA2VgIJSbfzD4gA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=;
 b=zK1xfLF5LYWP/s4wKvN6+VbO8qtFIEk7nOYtbUSnjS62OUEA+7u3kqNsH80ATi5apQ8cPq3KBbeYFeccFQQERVALG5B41lTyakn9lh2x/aI8bmS266cS4G0bVmBwLuFUuRtax2MdrqzDW6gg1Em0Um7kEa+x3LWlkRdgftXFm88nDeex09VYmpVfVCL0ASBnXyaqHl0Hzd/DtNIHnHiJNoB+Z6GuK6O/9wp0Ax/aZRAY+FCpQCNcy+hTrVQB0n/wz5PoxVDidgz2TqqBvfNFTfIsiyfDDTGXhl3t0S4Lk51ZEf9MT0m026zLyApUDCbxkGfEhw0Kr/l01dIrc5rPzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/4YikfBuE3nC3j3enBVXlIPcS61RvYqnevAN74D9Ia4=;
 b=yjrbbsqBkA8PBpz/IsD1NLr8eGibVxE7dibdi3yUemEQpHNCeijOXW+o9xoM2GhgdIEkjv9geuUBUOdeEdhJWpYDXNbVef3uhSSaGAZSiNLPC9HLXP3oVAPX5JPUE+cGjg7XJLLAifxov1bfnOR9DC9dBjmI+KsxY6lXVjVSxNU=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by DS0PR10MB6773.namprd10.prod.outlook.com (2603:10b6:8:13d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.24; Thu, 10 Apr
 2025 21:46:53 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8632.025; Thu, 10 Apr 2025
 21:46:53 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: =?utf-8?B?RWxpamFoIEdhYmUgUMOpcmV6?= <eg642616@HIDDEN>, "Drew Adams via
 Bug reports for GNU Emacs, the Swiss army knife of text editors"
 <bug-gnu-emacs@HIDDEN>
Subject: RE: [External] : Re: bug#77715: [PATCH] Add ring-bell functions for
 mode line and header line.
Thread-Topic: [External] : Re: bug#77715: [PATCH] Add ring-bell functions for
 mode line and header line.
Thread-Index: AQHbqknqRw/6hZ6F90+28Fr3z7Y8+7Odatug
Date: Thu, 10 Apr 2025 21:46:52 +0000
Message-ID: <DS7PR10MB523264B60A4FBADC1E5185E7F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
 <874iyvetl1.fsf@HIDDEN>
In-Reply-To: <874iyvetl1.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|DS0PR10MB6773:EE_
x-ms-office365-filtering-correlation-id: 3c333460-ded7-4fe8-3917-08dd787934e7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?Z3kxZXRWeklxUEpwRWJvUHRVLyszTUtBWndsL09SYm5MZmVMekhGVFppa3JY?=
 =?utf-8?B?WGJ1aldpSTREQm5HTUNzL1Q4V1AvUm5lbFVmOTBndHJxakpNYzh4ems5L1hu?=
 =?utf-8?B?SXRGaTY4THRCaytkV1dXbTZFZCtjMUVFL1o4WTBEMlNjak91azEvTDc5N3Rr?=
 =?utf-8?B?QzdLWWREa1FrV0pJeG50SjBRbmNQeFp5YndVc240cndtYzQvSFhkVHpTVTlz?=
 =?utf-8?B?UmV2cHhCaFRMN0xGdWxXZXNheS9TSlpORDlSKzlEZjN2bVJabW0rVGhQYzRR?=
 =?utf-8?B?RzJ4YzFPVUhWcHltL240TjJCb0dML252dGNyVS9MVkJUdUdvUGR1VjF5WHp1?=
 =?utf-8?B?ZU9aV3FVeWQzc3ZmZkVpYS9nWDhHemEwbUZuVmU4L2ZUOHNnNTlSeTF1aHJD?=
 =?utf-8?B?NHY2V0F2SG9PMCs1c2JwV2h3cmQrR3RReWxRTlZYL3NTY3IxN3pGdnp2amtv?=
 =?utf-8?B?K2wvVDRrYnBQSWdiTWRkTzRDbnZaWEovenlDYmJudU4ybUh1OVlldXphN1Iw?=
 =?utf-8?B?Z0s2YWtvSG5QTVh3OUtWR3BMNjVoTFY2ak5pcHRabW9QTUNRTFRxcitSbldr?=
 =?utf-8?B?eitMVFRHSmJvcTdoTXo0UWliek9GMlM2cmE1aktvNlVPM0dXWWZ6NW9Jbmt0?=
 =?utf-8?B?NENJUStwVitXNHlMZ2YrcEF4QldZZjFSZnd4NG9EblpGUHp0TnRxMHlYS01M?=
 =?utf-8?B?UlJZZjhkN1JFWTR0T1VRcks1aVVxR241TEU5cVlRTm5seW1Cd0Z4eDdrVEdM?=
 =?utf-8?B?aVpiQk5tcmJ4ZEMzdld5M1A4MzAwSnVpdjNVQlJ5Y2NDTUxPUldpMThtQXN1?=
 =?utf-8?B?b2xGbWtYNFpIdzdIQ0lIUW16NFpXNnZyaWJkQWZVL3dRNUgxRXBnUlVwZnp3?=
 =?utf-8?B?RTNMNi93Slh3a1Y1amJubG5xQ3IvTTZiRjE0VkVzdmQ3U3BwWVFmdG5uQkFw?=
 =?utf-8?B?bmpBblhDeDdBOHllSjRVbEROSVRKMXd2aG4xY3NOQzlCbzRreW5OcGdBMU81?=
 =?utf-8?B?VUEzWnI0VFdKN2ZDeUcwQUcxVGJsQllqQWJ3djNkdytUU241Z3ZRZ2pkcWkx?=
 =?utf-8?B?ckQyanVaMUl3dkl0eXhkNkFlY3JMdDRSSkhady91L2w2Ulo4ZmFqUUJ3cis5?=
 =?utf-8?B?WTY4bFRvRklTSTZLajdSQjRMVWgxbGFwV2EybUllWjB6Ym5ZdVI5bDdZdkZq?=
 =?utf-8?B?TEYrSTFkd0twQnhXbFI0ZFlIMy90K21XczdzbTF5enNqM3ZTNktzdnNRaTM0?=
 =?utf-8?B?N051NVByS2FBUUhOU1VydmYzMVRQQ244OTBvU0pUcllDODg4TUYrdlZobElZ?=
 =?utf-8?B?UEhndFduN1NKcXpzRnVqTUZpUTRPODJlL04veFJXaExrd3RCZXFsb09abnNT?=
 =?utf-8?B?d3UzM0hDU3ZpSnFCalNvWG1TZnhNc3ZmczBoMWRzalMrMVNJYWFDTWxycitz?=
 =?utf-8?B?a1hrZTlFL1NZcFpzeER5cXFsejlZdWtZcG1RRnVLMFMvU2hvQ21kK2drVXlB?=
 =?utf-8?B?V2txbVdXZ2NqVUtJQTdTNnhGM3BhQVhramEyRGtGdG44dHJzbjVwTkczK2tt?=
 =?utf-8?B?WEtWUDNlOWtLQzM4L0lSUkdDbmVCT2g1d2d2Rk9UL1ZLWDJJejBhTEN0eTJG?=
 =?utf-8?B?OS9hTCtkWXF1clFMMkg2VEgzSTJseVJERVdMcEpCL25WOUs2YTVxLzNpeFpo?=
 =?utf-8?B?Qk8vUER1V2s2R3FnYmFBWkF5dGZjdWhJSkxpR2FoVzcxYUQ0SGhpM3kzR2ZE?=
 =?utf-8?B?R0k0N01uUHZPYmoxZzRvWkkzYzlad3pUbk5IcTZ1MURNazVRbElYWEdqZTAx?=
 =?utf-8?B?Y25QbGtCeU81S1U5cytTVFpLTGdEL2dTZFlnMVBzTHI5cUVQUEtWV0MvUTZ3?=
 =?utf-8?B?UDlXSHpadFplRERPbThXSjBWUERDcloyT2JwbytYd09vcThaMnIvRHVkM2dy?=
 =?utf-8?Q?BwBeqsEnMtJ7Ln8N0TQCG8HDkc3ziSLw?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K1hzaUpRLzlXV0dHdTY2a0N6dlZTNE5Na2ttYnlaWTFXVGN2dGFuSVcvak9J?=
 =?utf-8?B?WEdOTGZLbEJQR3RIRkRqK2NjRFQ0bWpsc2I4UGNwaFNBR3lQYnZEaWllSTgv?=
 =?utf-8?B?U1p0bHd4TmRKeE5rVUZZdWY2WEtvQ25VV3dJRVdLNFlacllkQ2lUTTdCOUxz?=
 =?utf-8?B?TE5PbGJDUk1ac3Q0YXNrZVZwSXl6dFA1aFd0bVBXbmw2R01jSWkzS3VWTWpZ?=
 =?utf-8?B?OThhSUkwVURYUEpObEtFNk92Smwwc3RzRlk2UlZTM09xSHhTM1NuNEVKWjVq?=
 =?utf-8?B?VlpGNWFFemRaa3A2aHBNODgzeXMwaXFWalBZblo2VmdyRXZpTUhDQ1NmMEtJ?=
 =?utf-8?B?R3JCRlVPUE1MZ2Zpc3l4bmRJRnFya01Xa0VESkk3VnkrTmhsSHBSTnFvcnJG?=
 =?utf-8?B?ZXdLUUdwQzgzN05kN3F1aG9CcEtualR3NVV2Q2NCQzB5cjd5bXVLbTYrVlVa?=
 =?utf-8?B?cWwvMk9mUGoycmlEaTMwTWNQc1hEcjdZUHl2UHJ2U29NaVQ1YkZmRXdKbkV5?=
 =?utf-8?B?VHVrTGFFTmUxTDJGSExtd2hMZHB6NzkzQlpsOWJDSUNkN2o1S0ZNb0pLb2t0?=
 =?utf-8?B?V0gwcDUvajhXWXp0SFNiLzhCSyt0dnF2eG5CMGg5MzVhWHBkNjBFaTJTUXBB?=
 =?utf-8?B?aStONDFFWXo4Q1pGaGgxNWY4NDgwcHgzalR3ZWl0TjROaEdkYlFMVlVVQ1B2?=
 =?utf-8?B?ZzAxeDVjdUs4a3dDVjBabkg2YXREZE9XdHhmQUZEK0R3S0pkK2xLVnR6c3d6?=
 =?utf-8?B?Uzd4NHdKMktOOEhOR21MMG1vWHRLajYwWlBWak0rQ3NVMmhMREo1N3N3TWN3?=
 =?utf-8?B?QzRDK3IxcFpNUGdISHBjK0ZYd01Hb3FCTEp3c2xYZHhDa0ZoYzZKTWxwR0FP?=
 =?utf-8?B?OFNVbHR2SkxEdGlIMXY4Tlo4YnY0ODV1MSs2b09HTGpncVhRVmpqd0NpWS9X?=
 =?utf-8?B?Yk11eWxsRXZyMkNiQ1dTVjRhS2FraUU0TUZsN3ZNb2VwWCtMQmhMTzNkOWpP?=
 =?utf-8?B?V1k0RldBV3IrSUp3d2gzRXBEaHBBTVhMVDhhdXRUWDdYcEZPNjJWQWU0SEhv?=
 =?utf-8?B?Z05BQ2lnRDlrelF6aVR4RmtEUHZTN2c5RmpKREJMc2tPcmo1UmpHR0o3MDZH?=
 =?utf-8?B?NFZCOHhjRzNpZFY1b3RwUnoyMGxYUzZLcWZnQjZDcmJ3Z2w2T2hnZDJ1aUFh?=
 =?utf-8?B?K2NIVWFyeW1mZXRlcHBiUGUrV3cwZHdIMlozRkJBMXZublIwTGZXOGp3NHpR?=
 =?utf-8?B?V1BiWmsrU2NYVklNZGU5K3RwZjZNandTKzVSZzBlOFFmTHVuejhvRHZ4bXU1?=
 =?utf-8?B?S0VVVWhTTENoWWdaeHcyMzJ6ZzdhWFRiY0MwbFYwUDVEaTNBaDluMWJjd1ZB?=
 =?utf-8?B?akl5WXJvRG5ETmdHRC81aHRjaVdBZDRBT3A5VlFrYUM5ZzZXMEJUTEF3MHQ0?=
 =?utf-8?B?eHNIVUZRajM0UWZ6cVFHd28yWWtKZkJnOHRUZ0xtN3Bha0JwWFlNSXh3T2x1?=
 =?utf-8?B?Z2NnOWJiZjJYV200emwyWHVDSlhhUDhTaVVUVjFmR1lOK1BaTENkbitoT2Vk?=
 =?utf-8?B?MDFaSEpQb3pGQXRMYzRDRnhKNWV4ckl1cUQ5cmc5SkhVQVluS2dqZnMrckxG?=
 =?utf-8?B?T0ZRZko3eXQvOFlrRTZqRmdoNTRWN0gyS1RUdU1STGl4d1FpVndRM1A1WXRw?=
 =?utf-8?B?cDIzRktZekV5amJTY0xKZzJ4NVN2SDR3c2M1NXRVU0VudHRXSGF2UHh0QlNW?=
 =?utf-8?B?cEdrMTZSanBLQThya2JnVkFmWHREbFRiMWo5TTlZUSsvMTBXSHFhdlY2a2di?=
 =?utf-8?B?WFF5d1BPUHFxQ0IxVExTM2x0ZVlsTlRFcWQ3ek5PODB2Wm03UUZVVVdHVjd6?=
 =?utf-8?B?SVV3TDVqVHgxSHFIcUpPZTQ4TWVoMW5VRW13UVpXRUp1YmZ2S2FmTDJJZ2RH?=
 =?utf-8?B?cnlKQVFJSE5zbUZsVTl5Q1hpcHB6eDBFNTIrR29NSkF5N1BLNllSdkM4WDdl?=
 =?utf-8?B?UEtmQTV0ODdvekkwN1N0UURjNVI3MVVaQVNNVlh6SDZoMmlaN1JqTWIzVytB?=
 =?utf-8?B?em90aFhwNUdqcjZaemdMMzFZRTEyTUxhcTk1OXpleGhEc0JCek03TjNrVHRu?=
 =?utf-8?Q?ywHqdnYdozS1QwwVVWgsU8tNg?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: v4X+pUNdcQ74hLHtBnAonNby6sNM4G83USmnC3hLGi3JL5zlDw9E1nak6kNWTuU1sIz7tKGc307TP+IXSYDNZ03dYtINC2OvRHMDyYMM7kCJKSHP3sGBGLagEMnqiXdCck7ZmIEQIvh0pJj1qTg/rIxNV+DVgsc8fis5YhNi+8GOkVbfbaa4BrZESyhixxJxNTEiCRnCroynX4dSXYKNlxBvJA1kfDKQnR2nwmH1fBO4C3be4T8vA2EcoI1WbXO+tPkwqjK5hV389jKXKkM0Zs6SMPQwubCqQGHoSgC2f+N3JN1+OQc0JJRd6W0nhKVaAR7YFmggXmIwmlM3bEWaNS5PZQoGovP343JrLGZO+TDcRymEhdddrhaSdfSugiwEe+GNVRD2Of8EqDAqlXyHIlP43KvgV/sphkIeZ9H2UUpH6UYadRpxMakflH/ez0bcMt//wW74YQl57KBKhleb8Bi2YqWCr1/5Z7hcwfVi2AYD3xcLDpTg9442q34iQzJvUcy9dUcWLUvgh238dp/zRo6jJ/gEpoNs1+X4sn+Pl4pJerhbqMGvdobwhTzm8FaLrblWdeE6BANImj1drPvdKtg/LvDEhpSDmbkjmwVsw5Y=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c333460-ded7-4fe8-3917-08dd787934e7
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 21:46:53.0041 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: umNZ14o/AWu/3n/Ps9StV08TembExsE5UTyiN8XTfbQWIbe2+7oCV6blcHotIH45tsdprVcqyTHRDDUpZwiG5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6773
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-04-10_06,2025-04-10_01,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0
 spamscore=0
 mlxlogscore=946 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2502280000 definitions=main-2504100158
X-Proofpoint-GUID: qg1-IxpWgq0nbJzTtYH8hA0_KF25pWpZ
X-Proofpoint-ORIG-GUID: qg1-IxpWgq0nbJzTtYH8hA0_KF25pWpZ
Received-SPF: pass client-ip=205.220.165.32;
 envelope-from=drew.adams@HIDDEN; helo=mx0a-00069f02.pphosted.com
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 Ship Mints <shipmints@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

PiBJJ20gbm90IHN1cmUgYWJvdXQgdXNpbmcgdGhlIGVjaG8gYXJlYSwgd2hlbiB3b3JraW5nIHdp
dGggbXVsdGlwbGUNCj4gd2luZG93cyAoYW5kIG9uIGxhcmdlIHNjcmVlbnMpLCB0aGUgZXllcyB0
ZW5kIHRvIGJlIG1vcmUgZm9jdXNlZCBvbg0KPiB3aGVyZSB0aGUgY3Vyc29yIG9yIHdpbmRvdyBp
cy4NCg0KV2hlbiBFbWFjcyBkaW5ncyBpdCdzIHR5cGljYWxseSBkdWUgdG8gYSB1c2VyIGVycm9y
Lg0KDQpXaGVyZSBkbyB5b3Ugc2VlIHRoZSBlcnJvciBtZXNzYWdlPyBJbiB0aGUgZWNobyBhcmVh
Lg0KDQpQdXR0aW5nIHRoZSBhdHRlbnRpb24tZ3JhYmJpbmcgImZsYXNoIiBvciB3aGF0ZXZlcg0K
aW4gdGhlIGVjaG8gYXJlYSBkcmF3cyB5b3VyIGF0dGVudGlvbiB0byBpdCwgd2hlcmUNCnlvdSBz
ZWUgdGhlIG1zZyB0ZWxsaW5nIHlvdSB3aGF0IGhhcHBlbmVkLg0KDQpXaHkgZHJhdyBvciBrZWVw
IHRoZSB1c2VyJ3MgYXR0ZW50aW9uIF9hd2F5XyBmcm9tDQp0aGF0IG1lc3NhZ2U/IFRoZSB1c2Vy
IGVycm9yIG1pZ2h0IGhhdmUgbGl0dGxlIG9yDQpub3RoaW5nIHRvIGRvIHdpdGggdGhlIHRleHQg
YXQgdGhlIGN1cnNvciBvZiB0aGUNCnNlbGVjdGVkIHdpbmRvdy4NCg0KRHJhdyB0aGUgdXNlcidz
IGF0dGVudGlvbiBfZnJvbV8gdGhlcmUgdG8gdGhlIGhlbHBmdWwNCm1lc3NhZ2UuDQoNCg==




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 18:53:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 14:53:57 2025
Received: from localhost ([127.0.0.1]:47001 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2x2C-0006tt-LB
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:53:56 -0400
Received: from mail-oa1-x43.google.com ([2001:4860:4864:20::43]:43450)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u2x2A-0006tU-0V
 for 77715 <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:53:54 -0400
Received: by mail-oa1-x43.google.com with SMTP id
 586e51a60fabf-2d0a742df27so773158fac.1
 for <77715 <at> debbugs.gnu.org>; Thu, 10 Apr 2025 11:53:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744311228; x=1744916028; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=aGwJAyDOFCuT1mbVE0IWTEZbKriM2o8SaJnAs7ZLPag=;
 b=E3iwfWtlenOFFliZCbM8ioLGtq39UFDqGxWZdpYG1sbDPeg2eauILj5qPED+dFH89d
 EzwIeNA5/33qhYtWQWSRE0gu/bgryzYmymKHAdpqwSY6BK36egTh5mgb97G6fKL+94C1
 VazY0YcvhmuyPneXu1KpeEPTtm/yn5stHxk8SJX/p2ovt8YDjcuqt+fs3x7poDOgGqW8
 7nQlNEXZIaJFrX9nGeQy63goGBUr6kIVI7SoAaJ8fXcGp/cj+m65HyVKstTNDYsvU4Z6
 Sv5Wn2u6Z5sif+klertmE0hjQcL2DJfV9r9+x+1AuU+RjMdof4wE0IJK+xKNa9NCbxJs
 aQOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744311228; x=1744916028;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=aGwJAyDOFCuT1mbVE0IWTEZbKriM2o8SaJnAs7ZLPag=;
 b=L5DvypuGzJbXr58Cb3IujDJA3swwdtlWzLOCNhBIwI5BEuD7s7/7QcdR6Ym30brsGL
 Cn452k5kYCTXCzt+aYuVNgigx7vsdIK6ZagyIC8NCttSHwgJbX7GkC2Snb6k6ITOpNHU
 GJyOa/LeHML1+iByXGAzV9CE5Wto7b3QqqOOAOps47x7zEdhyGJoY4cJmn91WPhSISQa
 EqcKqOJOByMkQtLf0Rdne+tOblO5lXngjdru7Na6d5JLoVFUBgUB+Yt+KF9VmPkXZzXj
 hQfMJSdqeqOS3/68to0G3qU1vmVztyOALy++T9S8tIn9kgey/pMFtYTVMsrUPa6Wj455
 ghEA==
X-Gm-Message-State: AOJu0YxF+hZz/8ftBTORWG0F44bh0m1aUQfrYtA5eqkHg3+W/1SeUkjx
 UtOv3u+rGlMxpv2m584P82X+2sUG84rHFr78W01iNY3RcOL/VfNW
X-Gm-Gg: ASbGnctWnw7wPBRfIKc0b6I2ioW1urClv5kSue8wTENwjlz2UCJIB2Wc3wrQLnSLfTU
 4Lv0r3rgXzvY6gw2ttRBMnR2nOpJc9S9Q7cGsc8qpJDI34GuCQIANdKM3UeUuMT5h2YzANUjS8R
 vWCKQEXSNr9c/kpuUw9cG40GxnKFzKSVAwMrGrA4zfAKVG2b9woNVeHk1wha4vn8/nO2lNNoxE5
 tULlF/AYX+IawF9T3y7DRLr/Y6jcdYNRzgpsLKmRLQyzRl20o272bZ7AmS2sLMZwVclB02pCv0I
 7sRamzG8
X-Google-Smtp-Source: AGHT+IHOSGln6vtdc7xSjURDfxqM/Dc3JOJGNuqwBH6e8QaCXn8HmyKSJ3+Ju9BgER0Q29eXo0mBEg==
X-Received: by 2002:a05:6870:1787:b0:29d:c6dd:cc6c with SMTP id
 586e51a60fabf-2d0d390aa39mr34846fac.15.1744311227891; 
 Thu, 10 Apr 2025 11:53:47 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
 46e09a7af769-72e73d8d2f3sm665368a34.31.2025.04.10.11.53.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 10 Apr 2025 11:53:47 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
 editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
Date: Thu, 10 Apr 2025 12:53:46 -0600
Message-ID: <874iyvetl1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 77715
Cc: "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 Ship Mints <shipmints@HIDDEN>, Drew Adams <drew.adams@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@HIDDEN> writes:

>> There have been third-party packages that make this, however many of
>> them diverge either in features or in faces.
>>=20
>> I think Emacs should have had this built-in.
>
> One alternative (it could be built-in):
>
> https://www.emacswiki.org/emacs/download/echo-bell.el
>
> It uses a defcustom instead of a defface, to define the background color =
for the string shown. The string is also a defcustom: "=E2=99=AA=E2=99=AA=
=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA" by default=
. A third option is the number of seconds to show the string.

I'm not sure about using the echo area, when working with multiple
windows (and on large screens), the eyes tend to be more focused on
where the cursor or window is.

Another alternative would be flash other faces too, such as Ship config
does.  I have it almost ready.

--=20
                                          - E.G via GNU Emacs and Org.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 10 Apr 2025 18:54:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 14:54:00 2025
Received: from localhost ([127.0.0.1]:47004 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2x2G-0006uC-2d
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:54:00 -0400
Received: from lists.gnu.org ([2001:470:142::17]:42468)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u2x2D-0006ta-On
 for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:53:58 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eg642616@HIDDEN>)
 id 1u2x27-0007jd-37
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 14:53:51 -0400
Received: from mail-oo1-xc43.google.com ([2607:f8b0:4864:20::c43])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <eg642616@HIDDEN>)
 id 1u2x25-0007Jb-Fo
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 14:53:50 -0400
Received: by mail-oo1-xc43.google.com with SMTP id
 006d021491bc7-601a8b6c133so990200eaf.1
 for <bug-gnu-emacs@HIDDEN>; Thu, 10 Apr 2025 11:53:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744311228; x=1744916028; darn=gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=aGwJAyDOFCuT1mbVE0IWTEZbKriM2o8SaJnAs7ZLPag=;
 b=jarJl0xDwigjmwfWABfcVlWYKGfWkg8BnBlGGpOsa+rynRl1wmPXJDZE/I5b/BF74l
 4qbJ0Qv6PezThjISi2EBj4Hu7dDymZj9jK2Uy2OY/m9EZzdk0CkZlOwz5wxVc7mUWBL+
 ZkFHP3OfgtrgTGVQgVmbV1/GEH2t825pov+FI+RaD7tx2xkjR2nCBVnfBcFLRsNoy0hT
 HkciKrZgVR0hQMn/AVdjcNzxyQXmd/fiDYtlbx2GYVtZQwVUG+vORuD/biEJFtqRXhRm
 7cAeurK6iYHnTCqJPGo+3lGTmCYwUrB8JLmzxzzp6S7D5ipXYAxq9HMeIxx8zilLdCtC
 QgDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744311228; x=1744916028;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=aGwJAyDOFCuT1mbVE0IWTEZbKriM2o8SaJnAs7ZLPag=;
 b=O5ZBXIp7uvzS3WNN47twy3l6hfn/pLUP1EbTGEn+b0IB5ZuTwbDm/RV//wuQ4XYDwW
 vzXeulQQmLpZtgbIN5CQ+5khgP8eN7myeXqc7AjXVSxKM/mjCUgyQl1w/mOP6pW1xLs5
 +19hf66CDeFFhsYI4FGkMPoY3mF62rHelgYDPykZKM7BipSNxpi57CTn5xHvCFVsBmYb
 +OZ5B94DsMY4ekKxlbAOMOagAwsNKrDy/xDEeJrCgTOByDIG+6YEB07EKR2BkF5mYsaX
 9QVrsuXUeRkD4diuPYWquPPXih3irHiNfZ2idoKY4awGnvgpQ5ahVDQ7tz5f6BIIPdDF
 Pp2Q==
X-Gm-Message-State: AOJu0YwozUghuqdrxiwrwomBKGhlGM4cmR3YIyKsayThRAce2tWAlHPH
 9rw5ShFzcq9muRzEkZWsHa4fD0OemCGMuiC49US/jj41dZ/Yq0Jo
X-Gm-Gg: ASbGnctZJivb9r+CHhUaJ+jZK5IPLjmGcEQMhi3r3xhaP6sdGBBIT4xrKV4c+xchcnT
 zB871XjRlJp9+/MUAowyAdypMAxl6DyM1VqbCLHDKlzQtolnReKY0rv3N/e9hewzt1ZlsmFvM/h
 8yP/dLqM++5cqV2PLiWJdYhkHoOMpu8QI1Tb+7Tk255kaSnSaYG9pv8JtJfJrx6ik+HmOC4xsYu
 ADonmjX49e2mq/o5/kldn+6qHKHXBVJjR/IEB9d5J4mYxJFk2XAUoXfUqH0/3UfZXIiBwv004rJ
 sePtRu07
X-Google-Smtp-Source: AGHT+IHOSGln6vtdc7xSjURDfxqM/Dc3JOJGNuqwBH6e8QaCXn8HmyKSJ3+Ju9BgER0Q29eXo0mBEg==
X-Received: by 2002:a05:6870:1787:b0:29d:c6dd:cc6c with SMTP id
 586e51a60fabf-2d0d390aa39mr34846fac.15.1744311227891; 
 Thu, 10 Apr 2025 11:53:47 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
 46e09a7af769-72e73d8d2f3sm665368a34.31.2025.04.10.11.53.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 10 Apr 2025 11:53:47 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
 editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
In-Reply-To: <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
 <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
Date: Thu, 10 Apr 2025 12:53:46 -0600
Message-ID: <874iyvetl1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=2607:f8b0:4864:20::c43;
 envelope-from=eg642616@HIDDEN; helo=mail-oo1-xc43.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  Drew Adams via "Bug reports for GNU Emacs, the Swiss army
 knife of text editors" writes: >> There have been third-party packages that
 make this, however many of >> them diverge either in features or in faces.
 >> >> I think Emacs should have had this built-in. > > One alternative (it
 could [...] 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (eg642616[at]gmail.com)
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (eg642616[at]gmail.com)
X-Debbugs-Envelope-To: submit
Cc: "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>,
 Ship Mints <shipmints@HIDDEN>, Drew Adams <drew.adams@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

Drew Adams via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@HIDDEN> writes:

>> There have been third-party packages that make this, however many of
>> them diverge either in features or in faces.
>>=20
>> I think Emacs should have had this built-in.
>
> One alternative (it could be built-in):
>
> https://www.emacswiki.org/emacs/download/echo-bell.el
>
> It uses a defcustom instead of a defface, to define the background color =
for the string shown. The string is also a defcustom: "=E2=99=AA=E2=99=AA=
=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA=E2=99=AA" by default=
. A third option is the number of seconds to show the string.

I'm not sure about using the echo area, when working with multiple
windows (and on large screens), the eyes tend to be more focused on
where the cursor or window is.

Another alternative would be flash other faces too, such as Ship config
does.  I have it almost ready.

--=20
                                          - E.G via GNU Emacs and Org.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 18:40:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 14:40:15 2025
Received: from localhost ([127.0.0.1]:46967 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2wox-00067Y-6a
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:40:15 -0400
Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:24406)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <drew.adams@HIDDEN>)
 id 1u2wou-00064N-Ez
 for 77715 <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:40:13 -0400
Received: from pps.filterd (m0246632.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53AHpq1t008244;
 Thu, 10 Apr 2025 18:40:11 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=
 content-transfer-encoding:content-type:date:from:in-reply-to
 :message-id:mime-version:references:subject:to; s=
 corp-2023-11-20; bh=SvgejP9WAMxLtGcmA69+TNY+X0fIWt22X6HsDKdWKgM=; b=
 MgFccdy4irJBx1izm0R29O/yAv8/eFQgBB8EwakvKSzIS6l2gcrU4FcK3nZpp8N+
 P/n+OtHFsx0zQybVF6miBHpJCv8xsqG2bItWOCn/li/T//15iCJEteOXfXVkRgu2
 ozLfErTl4svGYkAyyj0Tvs+uzt68p4ChZkP291jb5nrUGoDR7pRgBDquCiJ/ZrRu
 LBCh9prVbam3ctNgcXBYGfGxu75UgcwltCdoYCDyrpdd2czILWn7KXcRrHI7ct/E
 Z/XVDiLq6eNqkIFvNuG7f3VwatSd/TT6KkqrH5qpnKS7qfRQIUxdOmXzGkioEZjG
 1t4BIeY1W4wle5k/pIFlmg==
Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta03.appoci.oracle.com [130.35.103.27])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45xjrsg3qr-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 18:40:11 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 53AH1LZO013824; Thu, 10 Apr 2025 18:40:10 GMT
Received: from nam12-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170])
 by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 45ttyk05x4-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 10 Apr 2025 18:40:10 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=V4yMWWWTM5pVlJN1VdmC5fuLdCINtRpgROws9M1F9NC6Rc2c3bK6Pi2gzPu+n1DNCn9JkA2LT4lqYWCE5laDmdr0rtCOkl8hwXCr0dUxaKzJHuZDqBhcyLEF9h8dnzXzDdavJsbwVaaKTII/zkRcyM54o9ISr724uzMteWPqQdp1Vb8QgjeEEmQ+FvECmJQQEk8FRabbCI28xCD47xIVSwJgw3OSiy9BavCipPMqYls5svAsM3IaiQmcEMdb7gXDAOr0VRlLR3CWi0+5piftbgv3LuxfwRWEjoekYMsDA4uBhOaEkrO44yPrq+Vzds7UpzAzgP356sD3Kg5vjFpyTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SvgejP9WAMxLtGcmA69+TNY+X0fIWt22X6HsDKdWKgM=;
 b=hI8OL1bvyU/OnJYnovHqTXo9SRe/mAc7gDR8sclRxeasbLr13vf4JqAnh6WjDK9J69JhGoICReWlm8f64VCqKfv2n8XTVS0KotWns+kd3R0BFno5HImGltw26XtMope4wKlNSAxe9nt0mT7U8OGRz30BbntVCmPZ6gGgS6FJwsB+rKoq+/AJ291vpg45HI12xPI6dQC0o7OBWlQm8hMSjIyZmzlHuHq16EUXPvHGRPScst+XiMegSylZyzqmSLGjxgJgauIEq1z4imC84iiTNVH3u3Xl/p0ABonx5NJzugtNEVPZ2DnPsHqq8kVf9iDf/Ox8CAOjYnwFBwxSNIlMkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SvgejP9WAMxLtGcmA69+TNY+X0fIWt22X6HsDKdWKgM=;
 b=Eo7DI4jiYP2W/gPKjKGT6o5tt90e/nUvmhQad7UWJoqiJ4GbWl+tLPp3Dj0DZtjyod6OHCnXmpG2HGXYbdPiZiF/Kpl+/aeEmXX4zRVnSRRhtvnY1ajCoJCufNekjrNVt6nK+hgZYS0xOauihE4n/0Vt3C2p+fVEzCbjvksY+v0=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by CH3PR10MB7211.namprd10.prod.outlook.com (2603:10b6:610:125::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.22; Thu, 10 Apr
 2025 18:40:08 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%4]) with mapi id 15.20.8632.025; Thu, 10 Apr 2025
 18:40:08 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: =?utf-8?B?RWxpamFoIEdhYmUgUMOpcmV6?= <eg642616@HIDDEN>,
 "77715 <at> debbugs.gnu.org" <77715 <at> debbugs.gnu.org>
Subject: RE: [External] : bug#77715: [PATCH] Add ring-bell functions for mode
 line and header line.
Thread-Topic: [External] : bug#77715: [PATCH] Add ring-bell functions for mode
 line and header line.
Thread-Index: AQHbqkHrSszgehsyoEO3+tLeohvzyrOdOahw
Date: Thu, 10 Apr 2025 18:40:08 +0000
Message-ID: <DS7PR10MB5232FF7F825F7B8D71EF9609F3B72@HIDDEN>
References: <87r01zlx4n.fsf@HIDDEN>
In-Reply-To: <87r01zlx4n.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CH3PR10MB7211:EE_
x-ms-office365-filtering-correlation-id: 1964f058-bdd6-4e26-add9-08dd785f1e7b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?dXhaZnJZV2w0eXhuVlpNQlBwYVB0YW5Wc1paay9UUmllQ3hSbSszYUVXL2Nz?=
 =?utf-8?B?TnI1TTllR1BsMzlmWHN1SzZMMjc1em9BQ3hzTXFXaGpJNitSWFpvM0JTbS9X?=
 =?utf-8?B?QkR1YnJQRUdBbGhUWFY0T0EvVndMNkNiOHNmZWJOZzZDSER1a1BzSFpDQXQ3?=
 =?utf-8?B?VXZJaEdhT1YzeFlnTTNnQksrZitJaHpXRCtBRDRBZ0VKMnR5V2hyOXBONTgr?=
 =?utf-8?B?YUh6QldHdFBIVUpFVUhucE44TEZYcFpSY0pxWWFQTVJZcXZYamZGMHdwQ01p?=
 =?utf-8?B?UDJNeVZVSHFQQmQzMkRQNDBZME43NVMyTG1WNkVOUCtHTnpCN1RSRTJvVUtk?=
 =?utf-8?B?a2orWFlVQWlGa2hXbldFZUpoamp2SmhpdWVLQlVYVkpYYjllUS9HSGloRU9I?=
 =?utf-8?B?RStUUXcvTTI5RmUrd2p4VmN0K3MyamkwYTgvV3JnWEpCR2ZlUnZ1RTA0MXFM?=
 =?utf-8?B?dHlQa0FQd1ZkUENEUm80Y0NRdVprUktRY0R0QnVyN3RNK3FreFBKb3RUZGYy?=
 =?utf-8?B?NXhJN2c1T3M1SFU5TzVNdFkySU1OWjVZY1dLTmFqbS9STnppRWhPZzRQMjhU?=
 =?utf-8?B?RkhMUTZpRGk1Rm9rd2hzcWp4VnFuMnFaVm4xN0ZRMHBOYlFrVGxBanZZRnNY?=
 =?utf-8?B?Skh4ejZycjRCWWVOMURrV2VTQXBRMCs5MkdnV1dXdXZQVXBtUGx5VGVHdS9x?=
 =?utf-8?B?dXJWcFpNUkdwZlFBQU0xV3Y1bzNJYkQ4NmpQRmNPNy9LeXZaVjQyMGpVeS9l?=
 =?utf-8?B?SXI1ZTNQaEk0QjJraXdFbjJLYWJsbEJhZzIxZ2xiYW9MSUhiSHd2dEI2VVM3?=
 =?utf-8?B?eWV3VXJ2WEU1RDk2V3l5U3JFVU5CRmYvaXE1KzVMS3lmTW53L1JvcmdSSFJx?=
 =?utf-8?B?c0dzZGNlMjZ1WGpmbzdTZzJPZndOZHJycHpnd2pYc1EveGZDaWVFL2NTVEI4?=
 =?utf-8?B?MERHRUdCckZ5WStiZDBvVkRYdEd5cXJURTRTRkRoeGdXdmhza2txK2krcDc1?=
 =?utf-8?B?UnRFVHdRTDVLbzgzaDJwV1VsbTNnYWVsSDg5dFovN0pYMktmQ1JHNjl6ZlU3?=
 =?utf-8?B?UXNRdmxTZlFHWEN4OG5IM3g0ZTczWXVFS3JTOVJOZmZ4aE9pTnUyMVRVc1py?=
 =?utf-8?B?RjdMNGMrUDFmL1ZiTGRWeGZJS0lRNW82a2ZNeHorQXdzWHd6NTBzNDlucmJB?=
 =?utf-8?B?VjZ5ZXNwOHhZQy9OZ2tSaVVnbmxaR3NTWlZzV3ZLK3pKTm85Nkd6Q2N1MkVM?=
 =?utf-8?B?QWlveWRpdlYyQnh2QXFLVzRCZ05seXBTSFlBQmtLV2hDTTI2SHhUZDhOWFYr?=
 =?utf-8?B?V3QxMFJpQWxxSU1NYnd2OS9GNDA5SEtGQU9EYytQTS90YjRNZGF2VS9tcHN1?=
 =?utf-8?B?YU1WTERVb1FwZUl0RmFaQnBHOGFmaVlGVWJhb2x0UE9BN1NqeUxvakVzZVZu?=
 =?utf-8?B?YTNSZUxNWi9DTzFwVkpIQmhta25ZS080ZityaGtLTmdOSUJDVXJiQW1Yc3dj?=
 =?utf-8?B?d1JrR2xtS2pNa3llb0YwejZ5NGd0YTRiNHpYWGM3aUlSbmlaR05yYjA5d1pt?=
 =?utf-8?B?YWZZY08zQzBUVlBpRTQrZTE5b1dNdXJkQy9jYUZpUGNhSGxCVTVJbmFZcm9w?=
 =?utf-8?B?dk1pYUdqRUNIUVlReXFNSEVUOGk4V2lpOCtvczRPTXVzZzBuVnlNei9uTWI4?=
 =?utf-8?B?SWNPQzJWdHhqWGNXemFaTzhud25YQjE1dUtreHhkbEhWNXNEbEtCQ01YOHVH?=
 =?utf-8?B?ZTljb2Nta0Y1U0RTQ05zcTF6c3QvWVJSQnplNGR0Z0FqODM1T3hZWFNZc3VO?=
 =?utf-8?B?VW9TL1JrSVRiQ3liWDNITCtKb2R6RDNya1U0TnJpU293blU2Y3lMU2JLcjFw?=
 =?utf-8?B?S3dMRnVwa1lEbFRxWHozWm45YUZJODJrRzBXcDdYdTdmUE1YU3lRQzRESUNO?=
 =?utf-8?Q?6LKSnOMmuB0=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z3J2bXR2SS9DcTVxTnQzQjR3WEFpQS90UHBVbDZFQ21FcEZBeWw3cHFLQnZk?=
 =?utf-8?B?aHkwdzJNNlIvT3BRV0JySk1yY3FnY2ZyNFBTbk9kNElobDlSZG04RUE5N2lJ?=
 =?utf-8?B?V1VQRWcxYWZvTGJkVWJKVVlDS1FXaWNpRC9IL2NLaSs1M21WeUg2WlAxNlZs?=
 =?utf-8?B?Z3hNZWlHL2VxeERlMEMzMGxyd3IzUVBmbXZidVNGdW0zQ0Z2RHhFbm1HTzQ5?=
 =?utf-8?B?cmU1R0JTOUZVNWZhRi9HMU0reEhjcFN5WS80ais5UkRzTjZ2bzQyVUxST2JM?=
 =?utf-8?B?akkrZGI3UWlUTDRNemJINytlNXJaRVV0Mms2MUdvaU1XbUlBQWRFeTVVTkl4?=
 =?utf-8?B?YW9UaU1udjh1R3o0cSttT3p0ZjJVOVhpUit5YjIxNmQwT2huK2l1VUNnbDI4?=
 =?utf-8?B?SFlXcSt0MjZxSy8xUVlEV05NMVpLOTNDcHdYbkJCRTZ1VnNRNjgrbDhKRVN0?=
 =?utf-8?B?Q3JaYzduQzlBd1AyOHZ3VDl2dUZLWkpZQlUrc0dMYU9KYmpjSlB1MGxLNHl0?=
 =?utf-8?B?Z0pSUndpNUN3Y24ydDdlY0k1WDVMUFF4Mlk3UkVCSSs5ZGdZU0ZpMFlyQXVv?=
 =?utf-8?B?OFRKMTVhU2dHSkxuNmF5bEFjZ29QWWpBYTZWQ3FVN1dxUTVqbFQ4R2V6cExS?=
 =?utf-8?B?bGlid2crYm5LMDVtRFJmM3p6bjJQRWxNcWVyNFltK0hPL1IxKzM1VnRDd01P?=
 =?utf-8?B?TytHaU5icmRzL1I4REJuWHlkVFlobWpER3dRdGZjOC9Bd3VTZmxsY3UzakhR?=
 =?utf-8?B?bE4wS3lTZk54THpVMkhyYU9VNlBXOVpUZ21jcFVXSmVyL3dETnZBMmZPWFFE?=
 =?utf-8?B?UHpTcStIYzhTNkZaY3RtTVFFQkk0VlpNd0lENksrdHU2ODZ0YTZuUWI4NmlO?=
 =?utf-8?B?dlpCQ3h3MHFvTlpFR1NabWREbllPekJvRGV4azlobnlpMnlnRGxYemRLRmZ4?=
 =?utf-8?B?dThrQzhLdEppRDBxS2lGVUN1TW4yZFpiMm8wQWlPTmptZ2ZXVXU2anB4NlB6?=
 =?utf-8?B?eDRuRHV2ekxNTEwzdnJwakxHczBtZFpDRk0yTTFDVHFKSVZJNG1NMmlCb1RB?=
 =?utf-8?B?Y2JvSXNOT1phVjhoSEtvQXRuRmhQVWw2SEVIVEdTMThiZ0ZMTzZqMEp4eEZZ?=
 =?utf-8?B?SGNVbnhpMHBCVXN6TVhCQi8zcTFncVlWWEUvTjFyVW1zS2lpQlQ2TnV6SE9j?=
 =?utf-8?B?bnduOHJVbkFZd25ubXNZZGVNd0pneUU0M0REOWNaSkVaZWd6NUVzbDhRbi9z?=
 =?utf-8?B?bFFQdVM0NGdZQVBGWm83bldzM04rSHhOSkpMMHV3NFZKMm5jc2tTQVl1M3Zr?=
 =?utf-8?B?eDRBMmdieXdJZzN6TFNTcThpMGF4WStmSDdUZWt4OFVRdUV2SVh3a2VmaGlT?=
 =?utf-8?B?NURpa2dUK3NtRGhleStENURVZzFkcVJ6UHFFeTN2ZXUwTDRERkxNcG9teXd3?=
 =?utf-8?B?QUptUjVCR1dIdU85cXRwdExLUnJRbTRXck1McUl6VlNuNDAzdXVlSUZ6d1JI?=
 =?utf-8?B?dzNvb3I0Wm5KN3IxYmNKT0dWZHZQVXBlcndObDdHeDVoK3duNENreExVaWt6?=
 =?utf-8?B?ckcvRUpPNWJvYTEzaFZKZEVIdlRDcmJwL0IwQmNUL0dEcDJCa0xpWFY3N3lB?=
 =?utf-8?B?bHRpaFpzQTcweFFHeE1ZaytkSE5saENpSGhMSHhoV0ttemhkREN1ZTl6TmFo?=
 =?utf-8?B?NGYzbUFjdjk4TEtObml1TTBJMDJ6N1AxNk1sd3RIeTNnUy91T3NtTmVYNGZN?=
 =?utf-8?B?N1BUd3Nud0l2OFlrN2l6S2cvWWVvd0NUdXNXckJyd2d2cnl6TWE1d0d4eUhl?=
 =?utf-8?B?OElyRHlFWitOcVVxZXRhUThVYjBXaWhnZHhqeitQRW9OOEYzcWorbnBLV25B?=
 =?utf-8?B?Z0dteGJyVU1OamZ3SFdDMFNxQjNIbjNBZmpiTkVsNHQzaE1LZzZtVEJvZ244?=
 =?utf-8?B?cktJa2VhcUQ4aUxObGNiR2xWTXB4WlJwWWRwbXRCVElBZE9YQUNlUVlXbmx5?=
 =?utf-8?B?OUo5NVdtM0UrSGkyaDlmeUIyOXRpcDhIL2R3VHd2MEN3V3JSWEpta3pyb2lB?=
 =?utf-8?B?OVB6RUJZbDZsVkZobUsxVVNIc0Jvb3AzYXUvSG9UeVNhSy9BcXo5ZUl0VkFq?=
 =?utf-8?Q?JM8oSSCNpDkHqHWaMwlJ5th4e?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: yUJQIPXgvoJ4C3rTQ5tIeympGLUMYY8Cse05tpW1VclujPHCDfOjJhQ0DfvnHXgzjm1pjYD7n+TnPY9DNVPvoPqVXBw4yJc+q2vuRccha05OTz2Y4J26RZiIPh5mNg9gApUAW5TbO81epWsK9VoCB5eBVJUDq8YWeCf6WJI56mQZOEHYoUFeAMjocyWE6aI4V9UWgabiw6OiuMvi/76NDs0t2ZaMLEGBM4HFQwhP1Eg7Lf/O06UfX8K+6+Owcm9tAogswNa7/+dHlJrxhWylR51NXLkkMsT6wcUpJV/joOmIbJVYPx5w5fWou6nRcIiRF6pUGbklBDFvAzRs/TNpRWKRmLmpM8YrfjwtUVUe4yACTZsgzc8sajTMLOycfypbEoZnlyzCn0rZ9bpQd+2OFvuBnKDM8X5VELs0coWjIbfUtQVv/MoMBWpwLVERM+vrg3yXxKPXHoKyfVqSPiwqsuPCJLd7nIZ1fitiBl0Hklx+9LHGNSSHGEVGtNwgQuDiiOfYQS67OQh9DAmuxYGjf0iYpsS245h6pAYXabH55/r3fDFBx+yMu3xRrYNdUZZ1/O36PK/1Hskbmk9cFJVyaJTo2VQu+FGxLdkKKR7RIdk=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1964f058-bdd6-4e26-add9-08dd785f1e7b
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2025 18:40:08.5050 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 6DXOY/lwTcG+Pv4cXMaYb12P4fqNkRcRmag8eO9BUsF5tJOFjf5JhFE7SWYwEedgq9DCZqZbtUnro8Y/snLEww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7211
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34
 definitions=2025-04-10_05,2025-04-10_01,2024-11-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0
 adultscore=0
 mlxlogscore=999 bulkscore=0 suspectscore=0 mlxscore=0 spamscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2502280000 definitions=main-2504100135
X-Proofpoint-GUID: bhGv-tZb9WP08vxvdYyW_4jDyE5B_W9-
X-Proofpoint-ORIG-GUID: bhGv-tZb9WP08vxvdYyW_4jDyE5B_W9-
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 77715
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

PiBUaGVyZSBoYXZlIGJlZW4gdGhpcmQtcGFydHkgcGFja2FnZXMgdGhhdCBtYWtlIHRoaXMsIGhv
d2V2ZXIgbWFueSBvZg0KPiB0aGVtIGRpdmVyZ2UgZWl0aGVyIGluIGZlYXR1cmVzIG9yIGluIGZh
Y2VzLg0KPiANCj4gSSB0aGluayBFbWFjcyBzaG91bGQgaGF2ZSBoYWQgdGhpcyBidWlsdC1pbi4N
Cg0KT25lIGFsdGVybmF0aXZlIChpdCBjb3VsZCBiZSBidWlsdC1pbik6DQoNCmh0dHBzOi8vd3d3
LmVtYWNzd2lraS5vcmcvZW1hY3MvZG93bmxvYWQvZWNoby1iZWxsLmVsDQoNCkl0IHVzZXMgYSBk
ZWZjdXN0b20gaW5zdGVhZCBvZiBhIGRlZmZhY2UsIHRvIGRlZmluZSB0aGUgYmFja2dyb3VuZCBj
b2xvciBmb3IgdGhlIHN0cmluZyBzaG93bi4gVGhlIHN0cmluZyBpcyBhbHNvIGEgZGVmY3VzdG9t
OiAi4pmq4pmq4pmq4pmq4pmq4pmq4pmq4pmq4pmqIiBieSBkZWZhdWx0LiBBIHRoaXJkIG9wdGlv
biBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgdG8gc2hvdyB0aGUgc3RyaW5nLg0KDQo=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at 77715 <at> debbugs.gnu.org:


Received: (at 77715) by debbugs.gnu.org; 10 Apr 2025 18:06:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 14:06:30 2025
Received: from localhost ([127.0.0.1]:46898 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2wIH-00040v-SW
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:06:30 -0400
Received: from mail-ua1-x92f.google.com ([2607:f8b0:4864:20::92f]:61853)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>)
 id 1u2wIF-00040f-Sl
 for 77715 <at> debbugs.gnu.org; Thu, 10 Apr 2025 14:06:28 -0400
Received: by mail-ua1-x92f.google.com with SMTP id
 a1e0cc1a2514c-873a2ba6f7cso465373241.3
 for <77715 <at> debbugs.gnu.org>; Thu, 10 Apr 2025 11:06:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744308382; x=1744913182; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=OCRxBkEzJbIoquZKcnJ21bL4T/O2OIP1QOFAwj3Q2vE=;
 b=d/LOwjiI2z6dfciS8gG17/6o3eTVNYHDZprCD3pRKUXaT/81aRUNO0OOPNehfb5F5z
 aquDWBl/7oFn/ejVVtTDkyiDENL4QhJIaKI91/gOzBXtpB6GGgj7X37h49u/fe/TUJ0J
 BqqOtJ9Pd7tdHkk+yzyhOj6njB/RmiwOLfq+GLC8DR9vJBIm2X4maZheOaWH9PinIpPY
 4vyKgOx2qspMWcjHv6kkzThFMwmFK+VkjTHgmfzPZot2UvOY+Dv8lQZxGkulBbDhBO2X
 tPth9eMMSqDHfdgJH6u9EIk0WCKewC25jKpyUnt7ETR0kayBS/W3IFE6LPLZrXmtBGxn
 khGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744308382; x=1744913182;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=OCRxBkEzJbIoquZKcnJ21bL4T/O2OIP1QOFAwj3Q2vE=;
 b=fs/ATypTulvqJTy/icCDHPlWSJOaiMV6Wfq4KXWHxUpBnIhAdhgQUkAFBC6OjA/xET
 u8Syr2XVZe8BNbCp1MAeI69MtuBTFdoEHKY2+y34d7WSRmn/G7xFmHgMbasvnWgz3zPE
 WX5cX1DdcqqXlsjDS+a5ZUw7eN4PRKiPlUhstwGeuGNtPReyE5OPFfuLkyoJMDFRLUK+
 KLfyLqeqI/ZkQq1qcVtFxzWIfaIFcxezOgeqT1l6L63LWu2V1HrZTXwXGLUW8ErFEy8Z
 R54VjejvSK0A2HYLWVaRCARpx9jw2ZnyGaKCCW4xUTbE0pPC7NL7s/z/YMgKv8dQlyWn
 UT5Q==
X-Gm-Message-State: AOJu0YxlG9epdmGz/mrcc2iMUuo2WntVOhBUhfgFLTHUQV4nd1OS21KT
 yq4FV5fQ6K0bKhPY2+EMLgnZHL7f6/1SdxbV+hOEDWFyRypAF1AzBkhTyHmRmF5u+T6+Dzh9QEh
 lh3c1sNSKDt7PYvs7YwHFlSJhT+E=
X-Gm-Gg: ASbGncuwuF6V/MX75+0wp9rCZoL4DYfCRICDcghBec3MSmzehkd6emQZlOK0+XZWUJ7
 o9RgEWxMYuNC16BouB7VNndQFamkJCfc3kyyxmeUetD02FqP5SZlDJHj802rUDfibaVZpufXNeO
 t5mQ9dGCKqKHvHNUTN51tRm76ybr79bGnz
X-Google-Smtp-Source: AGHT+IHNjUZYelZficgyl9bGflsn6yalb5j4LEQQO/+i9HeZJ1g6FY73mgvfnacqyRVj66BhQyLtu7D/JuRl4S7X7vA=
X-Received: by 2002:a05:6122:12a3:b0:527:b88e:59bc with SMTP id
 71dfb90a1353d-527b88e5a87mr2180733e0c.8.1744308381950; Thu, 10 Apr 2025
 11:06:21 -0700 (PDT)
MIME-Version: 1.0
References: <87r01zlx4n.fsf@HIDDEN>
In-Reply-To: <87r01zlx4n.fsf@HIDDEN>
From: Ship Mints <shipmints@HIDDEN>
Date: Thu, 10 Apr 2025 14:06:09 -0400
X-Gm-Features: ATxdqUEkVIhSkPaF62M_5JeZCMvLMFYDx4pHjmvRf6XcRrl7w2XlZ7nPP4Xk-H0
Message-ID: <CAN+1HbpYsE7X34Y78nhDbp4M9aHx=0iPCDX5O-iivxKGpkNkRw@HIDDEN>
Subject: Re: bug#77715: [PATCH] Add ring-bell functions for mode line and
 header line.
To: =?UTF-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
Content-Type: multipart/alternative; boundary="0000000000007c2e27063270715d"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77715
Cc: 77715 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--0000000000007c2e27063270715d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 10, 2025 at 1:56=E2=80=AFPM Elijah Gabe P=C3=A9rez <eg642616@gm=
ail.com>
wrote:

> Tags: patch
>
> This feature flashes the current mode-line face (mode-line-active) once,
> this is intended to be used in `ring-bell-function', but it can be used
> for other purposes.
>
> There have been third-party packages that make this, however many of
> them diverge either in features or in faces.
>
> I think Emacs should have had this built-in.
>

An implementation like the one below protects from erroneously leaving
behind remapped faces:

  (defun my/flash-faces (interval faces &rest specs)
    (let ((cookies (mapcar
                    (lambda (face) (face-remap-add-relative face specs))
                    faces)))
      (unwind-protect
          (sit-for interval)
        (mapc #'face-remap-remove-relative cookies))))

  (defun my/ring-bell-function ()
    (my/flash-faces my:mode-line-ring-bell-interval ; I use 0.05
                    my:mode-line-ring-bell-faces ; I use '(internal-border
tab-bar mode-line-active mode-line-inactive)
                    :background my:mode-line-ring-bell-backround)) ; I use
"Firebrick" (I could have used the foreground from 'error)

  (setq ring-bell-function (if my:mode-line-ring-bell-interval ; I allow my
users to disable this
                               #'my/ring-bell-function
                             nil))

--0000000000007c2e27063270715d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"></div><div class=3D"gmail_quote gmail_quo=
te_container"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Apr 10, 2025 at=
 1:56=E2=80=AFPM Elijah Gabe P=C3=A9rez &lt;<a href=3D"mailto:eg642616@gmai=
l.com">eg642616@HIDDEN</a>&gt; wrote:<br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex">Tags: patch<br>
<br>
This feature flashes the current mode-line face (mode-line-active) once,<br=
>
this is intended to be used in `ring-bell-function&#39;, but it can be used=
<br>
for other purposes.<br>
<br>
There have been third-party packages that make this, however many of<br>
them diverge either in features or in faces.<br>
<br>
I think Emacs should have had this built-in.<br></blockquote><div><br></div=
><div class=3D"gmail_default" style=3D"font-family:monospace">An implementa=
tion like the one below protects from erroneously leaving behind remapped f=
aces:</div><div class=3D"gmail_default" style=3D"font-family:monospace"><br=
></div><div class=3D"gmail_default" style=3D"font-family:monospace">=C2=A0 =
(defun my/flash-faces (interval faces &amp;rest specs)<br>=C2=A0 =C2=A0 (le=
t ((cookies (mapcar<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 (lambda (face) (face-remap-add-relative face specs))<br>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 faces=
)))<br>=C2=A0 =C2=A0 =C2=A0 (unwind-protect<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 (sit-for interval)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (mapc #&#39;face-r=
emap-remove-relative cookies))))<br><br>=C2=A0 (defun my/ring-bell-function=
 ()<br>=C2=A0 =C2=A0 (my/flash-faces my:mode-line-ring-bell-interval ; I us=
e 0.05<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 my:mode-line-ring-bell-faces ; I use &#39;(internal-border tab-bar m=
ode-line-active mode-line-inactive)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 :background my:mode-line-ring-bell-backr=
ound)) ; I use &quot;Firebrick&quot; (I could have used the foreground from=
 &#39;error)<br><br>=C2=A0 (setq ring-bell-function (if my:mode-line-ring-b=
ell-interval ; I allow my users to disable this<br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0#&#39;my/ring-bell-function<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ni=
l))<br></div></div></div>

--0000000000007c2e27063270715d--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 10 Apr 2025 17:55:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 10 13:55:36 2025
Received: from localhost ([127.0.0.1]:46808 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u2w7j-0003Lx-WC
	for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 13:55:36 -0400
Received: from lists.gnu.org ([2001:470:142::17]:60848)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eg642616@HIDDEN>)
 id 1u2w7h-0003Lf-En
 for submit <at> debbugs.gnu.org; Thu, 10 Apr 2025 13:55:33 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eg642616@HIDDEN>)
 id 1u2w7a-00014v-LS
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 13:55:26 -0400
Received: from mail-oo1-xc44.google.com ([2607:f8b0:4864:20::c44])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <eg642616@HIDDEN>)
 id 1u2w7Y-00008c-Q0
 for bug-gnu-emacs@HIDDEN; Thu, 10 Apr 2025 13:55:26 -0400
Received: by mail-oo1-xc44.google.com with SMTP id
 006d021491bc7-60288fd4169so523044eaf.3
 for <bug-gnu-emacs@HIDDEN>; Thu, 10 Apr 2025 10:55:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1744307722; x=1744912522; darn=gnu.org;
 h=mime-version:message-id:date:subject:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=g83HDNl4/wbmGSmRoth5v5kokn5/UmXj3heTyB5cuOE=;
 b=nmIuvi0PObZXoI3QHPl1tElyMHKv8WSe+yg2WBIN3fNkLPzXok5C/T9Ov83DYw9zdt
 APayBMuJdhqMeRg+wmoJYC/w147iuLyAPkBcnMivXWtxcLMV1mi33d5J6uBZplc3Vhee
 18yTkqzfIcfQ1rNPexE3gWKqTMk0JwJN3SfmbF5NghDM0NXiEdsrGUPeKu5vZtM+Dnoh
 UTnO3lNItcw42B6RjYzIOoExqlXmH5oJEEKT01uNcVF3VOV+mssreItv+rvjo4cq2srd
 DlqJ436c0Qq49hIAazWZK4mCkwOChSw224GpoLr5wvWo7WLlnKVuXx0r+XRyjb0jsego
 SI9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1744307722; x=1744912522;
 h=mime-version:message-id:date:subject:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=g83HDNl4/wbmGSmRoth5v5kokn5/UmXj3heTyB5cuOE=;
 b=abnlnAUkEvIEdHo2rgWZypMX2+lwwZXHUZ177I27UadPCjzRSWgcrVDWW3HFnFqYHX
 xj70c3hvY7Qu87UU+ZBsGCVBm6h5bOwx6/0PbXiI7DkxDExwzGjhpbhAtqCv+KJ/1X21
 eziIZelpjS3bE365UEkzT/nzr0abyEbgQVgyQfST9foUoXGLKHnvP9zmkfIBODtxLlJ+
 ETFaz6oJoWCQ1fnRkwoYO2YWM4tCwmaGaVjxHvkOqCK0u82UvF8ueHr4OUZmL9GHHDFN
 6sLQH5w2SjxaBF5obafDHnJ0InWHkSfhsV/1EBWW0G9dvdh5OXCAM/7IRBQbQ08g5m26
 2scg==
X-Gm-Message-State: AOJu0YwN0F4Oei5ZXLNqFKHlk9wKhRnAGILLjDo7H8Vd4KM9SW8WWT7X
 HZvxzEAhsJnNqvLYWY64ThpRJvNqDoPcuk+2UypHppOzvLpn9BKtq55iA1Ya
X-Gm-Gg: ASbGncuB5U8TYvq+uvJnvg7VjnQCMAq8fxxsHZUGwHKkalkvifdeTJwt2UD39yHrz+b
 hkW39Sd/Xc4XD9oNMnWWv5rwpzd4360IeF0yVbEUTMEUT0fu21IckydY3fWTCpXDRiKI9LrYR64
 pb8IHt2RAglgGZIDjVU8DmT7HZI1Dfz8qMwWu55pi5uubbtyD8dRZqWPgxxF9wFrfs+uFdAcPoD
 i92ihmFyiimIlPJUUtGfPavywrOasxzFwhB6JEnYqegQIxEIOzePaV+8M5GlxysqFvnKQgoBxJi
 biwHovBU
X-Google-Smtp-Source: AGHT+IHKF9Wfe4fQL7hRkXXUB7g09ymsB7vafIjBU26QlZ+ukPpDzfM2U051BypU+EahdgX7+GyyHA==
X-Received: by 2002:a05:6870:4710:b0:2bc:6675:2043 with SMTP id
 586e51a60fabf-2d0b3647751mr2436206fac.14.1744307722519; 
 Thu, 10 Apr 2025 10:55:22 -0700 (PDT)
Received: from fedora ([2806:10ae:e:79da::1]) by smtp.gmail.com with ESMTPSA id
 586e51a60fabf-2d096cdadd3sm756668fac.32.2025.04.10.10.55.21
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 10 Apr 2025 10:55:22 -0700 (PDT)
From: =?utf-8?Q?Elijah_Gabe_P=C3=A9rez?= <eg642616@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] Add ring-bell functions for mode line and header line.
X-Debbugs-Cc: 
Date: Thu, 10 Apr 2025 11:55:20 -0600
Message-ID: <87r01zlx4n.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2607:f8b0:4864:20::c44;
 envelope-from=eg642616@HIDDEN; helo=mail-oo1-xc44.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Tags: patch This feature flashes the current mode-line face
 (mode-line-active) once, this is intended to be used in `ring-bell-function', 
 but it can be used for other purposes. There have been third-party packages
 that make this, however many of them diverge either in features or in faces.
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (eg642616[at]gmail.com)
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (eg642616[at]gmail.com)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)

--=-=-=
Content-Type: text/plain

Tags: patch

This feature flashes the current mode-line face (mode-line-active) once,
this is intended to be used in `ring-bell-function', but it can be used
for other purposes.

There have been third-party packages that make this, however many of
them diverge either in features or in faces.

I think Emacs should have had this built-in.


--=-=-=
Content-Type: text/patch
Content-Disposition: attachment;
 filename=0001-Add-ring-bell-functions-for-mode-line-and-header-lin.patch

From e17ea82e1476dd14c3502caa966332453c5513f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?El=C3=ADas=20Gabriel=20P=C3=A9rez?= <eg642616@HIDDEN>
Date: Thu, 10 Apr 2025 11:38:21 -0600
Subject: [PATCH] Add ring-bell functions for flash mode line or header line.

New functions for flash the mode line or header line once
whether `ring-bell-function' is called.  (bug#)

* lisp/faces.el (mode-line-flash, header-line-flash): New faces.
* lisp/simple.el (mode-line-ring-bell-delay)
(header-line-ring-bell-delay): New user options.
(mode-line-ring-bell--reset-face, mode-line-ring-bell)
(header-line-ring-bell--reset-face, header-line-ring-bell): New
functions.
---
 lisp/faces.el  | 21 +++++++++++++++++++++
 lisp/simple.el | 30 ++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)

diff --git a/lisp/faces.el b/lisp/faces.el
index dbc0a2e04f6..b1d84c3dac0 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -2745,6 +2745,27 @@ mode-line-inactive
   :group 'mode-line-faces
   :group 'basic-faces)
 
+(defface mode-line-flash
+  '((((class color) (min-colors 88))
+     :box (:line-width -1 :color "brown" :style nil)
+     :background "red3" :foreground "white")
+    (((class color grayscale) (min-colors 88))
+     :box (:line-width -1 :style nil)
+     :background "grey10" :foreground "white")
+    (t
+     :inherit error :inverse-video t))
+  "Basic mode line face for flash it."
+  :version "31.1"
+  :group 'mode-line-faces
+  :group 'basic-faces)
+
+(defface header-line-flash
+  '((t :inherit mode-line-flash))
+  "Basic header line face for flash it."
+  :version "31.1"
+  :group 'mode-line-faces
+  :group 'basic-faces)
+
 (defface mode-line-highlight
   '((((supports :box t) (class color grayscale) (min-colors 88))
      :box (:line-width 2 :color "grey40" :style released-button))
diff --git a/lisp/simple.el b/lisp/simple.el
index 7037158df8d..ee995c35699 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -9383,6 +9383,36 @@ auto-save-mode
   (and (< buffer-saved-size 0)
        (setq buffer-saved-size 0)))
 
+(defcustom mode-line-ring-bell-delay 0.05
+  "Delay used by `mode-line-ring-bell'."
+  :type 'float
+  :version "31.1")
+
+(defun mode-line-ring-bell--reset-face ()
+  (face-remap-reset-base 'mode-line-active))
+
+(defun mode-line-ring-bell ()
+  "Flash the mode line as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (face-remap-set-base 'mode-line-active 'mode-line-flash)
+  (run-with-timer mode-line-ring-bell-delay nil
+                  #'mode-line-ring-bell--reset-face))
+
+(defcustom header-line-ring-bell-delay 0.05
+  "Delay used by `header-line-ring-bell'."
+  :type 'float
+  :version "31.1")
+
+(defun header-line-ring-bell--reset-face ()
+  (face-remap-reset-base 'header-line-active))
+
+(defun header-line-ring-bell ()
+  "Flash the header line as ring a bell.
+Intended to be used in `ring-bell-function'."
+  (face-remap-set-base 'header-line-active 'header-line-flash)
+  (run-with-timer header-line-ring-bell-delay nil
+                  #'header-line-ring-bell--reset-face))
+
 (defgroup paren-blinking nil
   "Blinking matching of parens and expressions."
   :prefix "blink-matching-"
-- 
2.49.0


--=-=-=
Content-Type: text/plain

-- 
                                          - E.G via GNU Emacs and Org.

--=-=-=--




Acknowledgement sent to Elijah Gabe Pérez <eg642616@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#77715; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Wed, 30 Apr 2025 13:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.