GNU bug report logs - #74437
30.0.92; completion-preview-idle-delay is delayed by flyspell

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: Tomasz Hołubowicz <mail@HIDDEN>; dated Tue, 19 Nov 2024 15:05:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

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


Received: (at 74437) by debbugs.gnu.org; 23 Nov 2024 21:41:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 23 16:41:45 2024
Received: from localhost ([127.0.0.1]:59702 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tExsu-0008Jz-K0
	for submit <at> debbugs.gnu.org; Sat, 23 Nov 2024 16:41:44 -0500
Received: from out-185.mta1.migadu.com ([95.215.58.185]:25905)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mail@HIDDEN>) id 1tExss-0008Je-7G
 for 74437 <at> debbugs.gnu.org; Sat, 23 Nov 2024 16:41:42 -0500
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alternateved.com;
 s=key1; t=1732398065;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=DnSmOWPhR17JONru/2lCQrzC/R8y0S35/wFoKeXDF3E=;
 b=cfW1KZgtLLwBi3ffiaaKZAyu8+pDthQAaNmE99jWaLGvqjiod19SQBHpGFC+eZ+P44axIS
 0GPd0ZmqQEa7DYhJMSrRvNnuTnk2L2HnQy6G4rf+hehBlURhRxoq0Z4E2lIBx5Jc0gpcIf
 cQ3+H88Ohtsy0EyMaYZLrHQLd8JyCDRkKgw8TXccbyvRQ1MDNbvyAXrM3qgDwcqrhjN8aa
 A1tB14QNLOthpAbecmo6p8mlyTbyVem7rkbQd7Ha3WPOytaA6uiOEsnW9CbFtSUeln9gFq
 1GWKGLhOiFcLEDt1dJeYTRszoU8EJhu+4ypaUnXD82WwUTQ+qAlJUVRiLKRm9A==
From: Tomasz =?utf-8?Q?Ho=C5=82ubowicz?= <mail@HIDDEN>
To: Eshel Yaron <me@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <m1jzcvbqc8.fsf@HIDDEN>
References: <87cyirbfpd.fsf@HIDDEN>
 <m1cyirfbhf.fsf@HIDDEN> <86bjybta3i.fsf@HIDDEN>
 <m134jnf4oo.fsf@HIDDEN> <861pz7t4yb.fsf@HIDDEN>
 <m14j43dlmv.fsf@HIDDEN> <86sermrr8i.fsf@HIDDEN>
 <m1ldxddhri.fsf@HIDDEN> <86jzcxswbx.fsf@HIDDEN>
 <m1frnjd8zx.fsf@HIDDEN> <86mshrogur.fsf@HIDDEN>
 <m1jzcvbqc8.fsf@HIDDEN>
Date: Sat, 23 Nov 2024 22:41:00 +0100
Message-ID: <871pz14oib.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Migadu-Flow: FLOW_OUT
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <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.7 (-)

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

On Fri, Nov 22 2024, Eshel Yaron wrote:

> Done, in 097b685aa1c.
>
> Tomasz, setting this new option flyspell-delay-use-timer to non-nil
> (after building Emacs from the master branch, or applying these changes
> to your copy of flyspell.el) should hopefully resolve the extended delay
> you've been seeing.

Thank you Eshel and Eli for quick resolution of this issue!

Setting flyspell-delay-use-timer to non-nil indeed helps. The delay set wit=
h completion-preview-idle-delay option is not extended when flyspell-mode i=
s active as well.

Kind wishes,
Tomasz Ho=C5=82ubowicz


--=-=-=
Content-Type: multipart/signed; boundary="==-=-=";
	micalg=pgp-sha512; protocol="application/pgp-signature"

--==-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable


On Fri, Nov 22 2024, Eshel Yaron wrote:

> Eli Zaretskii <eliz@HIDDEN> writes:
>
>>> From: Eshel Yaron <me@HIDDEN>
>>> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
>>> Date: Fri, 22 Nov 2024 08:26:42 +0100
>>>=20
>>> >> > The question is: what do users expect to happen in those cases?
>>> >>=20
>>> >> I don't know
>>> >
>>> > Neither do I.  I didn't say something was wrong with either of these
>>> > implementations, I'm just saying they should be well tested by users
>>> > before we have enough basis to make the decisions whether the idea is
>>> > generally good and whether it should probably become the default in
>>> > some future version.
>>>=20
>>> Sounds good.  So here's a full patch that keeps the current
>>> implementation as the default:
>>
>> Thanks.  Please install on master, but please add a NEWS entry which
>> calls out this change and invites feedback on using this new behavior.
>
> Done, in 097b685aa1c.
>
> Tomasz, setting this new option flyspell-delay-use-timer to non-nil
> (after building Emacs from the master branch, or applying these changes
> to your copy of flyspell.el) should hopefully resolve the extended delay
> you've been seeing.
>
>
> Eshel

--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIwEARYKADQWIQRIVmsvIMl2XHZKlC7XvHvDVbxH+AUCZ0JL7BYcbWFpbEBhbHRl
cm5hdGV2ZWQuY29tAAoJENe8e8NVvEf4HikA/1GE60El0MkXP4D3rEOiTW5dnW2o
V2pzTUIWz+aGfy2eAQC2VyBuGvKRhOYUCnfwU/K5FH//e13sTjahCXdf8a1hBQ==
=2b6I
-----END PGP SIGNATURE-----
--==-=-=--

--=-=-=--




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

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


Received: (at 74437) by debbugs.gnu.org; 22 Nov 2024 08:55:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 22 03:55:10 2024
Received: from localhost ([127.0.0.1]:53003 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tEPRV-0006WL-PW
	for submit <at> debbugs.gnu.org; Fri, 22 Nov 2024 03:55:10 -0500
Received: from mail.eshelyaron.com ([107.175.124.16]:33864 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1tEPRS-0006TR-Uc
 for 74437 <at> debbugs.gnu.org; Fri, 22 Nov 2024 03:55:08 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1732265706;
 bh=Akk9wdYgjqy3fkvJMvbQYgO05KSH2Hi/kO4gAK+GQNQ=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=foIhTE1tZobHfPXwjLhdWMYs8xGuNV33wb793wKdby9KdUqmRUuhpn7JUqlLnPVwU
 EcOQ5NFuwS3Q+JhhijMvtVoSkdRwuh3cSAGZNJYU3b6eH3eQF1wnWx30lUQrwsHJZX
 ztguIqf2xsWZInNV1WQB/FJBT9btwdzbI2eTmG6xD8Gt76lGo2BOVRMH9a3tb3oR8z
 DnxsbZ9+LMCIXYIrztXBWKG0bUvFOMXJnfuMOghMCuZR9hy+J5BleMWvJfEkGDQcha
 1xGZXCfExW3140335imUj66mcZIz7jTiUxFkC48aDYAf2Kq4LMi78zxms5edF5dV8C
 p/qShKUGs9PgQ==
From: Eshel Yaron <me@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <86mshrogur.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 22 Nov
 2024 09:41:32 +0200")
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
 <861pz7t4yb.fsf@HIDDEN> <m14j43dlmv.fsf@HIDDEN>
 <86sermrr8i.fsf@HIDDEN> <m1ldxddhri.fsf@HIDDEN>
 <86jzcxswbx.fsf@HIDDEN> <m1frnjd8zx.fsf@HIDDEN>
 <86mshrogur.fsf@HIDDEN>
Date: Fri, 22 Nov 2024 09:55:03 +0100
Message-ID: <m1jzcvbqc8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Eshel Yaron <me@HIDDEN>
>> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
>> Date: Fri, 22 Nov 2024 08:26:42 +0100
>> 
>> >> > The question is: what do users expect to happen in those cases?
>> >> 
>> >> I don't know
>> >
>> > Neither do I.  I didn't say something was wrong with either of these
>> > implementations, I'm just saying they should be well tested by users
>> > before we have enough basis to make the decisions whether the idea is
>> > generally good and whether it should probably become the default in
>> > some future version.
>> 
>> Sounds good.  So here's a full patch that keeps the current
>> implementation as the default:
>
> Thanks.  Please install on master, but please add a NEWS entry which
> calls out this change and invites feedback on using this new behavior.

Done, in 097b685aa1c.

Tomasz, setting this new option flyspell-delay-use-timer to non-nil
(after building Emacs from the master branch, or applying these changes
to your copy of flyspell.el) should hopefully resolve the extended delay
you've been seeing.


Eshel




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

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


Received: (at 74437) by debbugs.gnu.org; 22 Nov 2024 07:41:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 22 02:41:43 2024
Received: from localhost ([127.0.0.1]:52881 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tEOIR-00036U-C8
	for submit <at> debbugs.gnu.org; Fri, 22 Nov 2024 02:41:43 -0500
Received: from eggs.gnu.org ([209.51.188.92]:59468)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1tEOIN-00036D-M8
 for 74437 <at> debbugs.gnu.org; Fri, 22 Nov 2024 02:41:41 -0500
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 1tEOII-00020w-7r; Fri, 22 Nov 2024 02:41:34 -0500
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=sNoPHClZemrS99ax0yUtfJ+24yDzyFNLTHBOKaeKDi0=; b=SOb1FNhg/g2p
 cDRsim7aWjmlgVRqFoLmz8oLH3YDJav4cSqS8OcsaiuCdCWS9Wn+X9PDAb4I3w4sO1whgQ2nW1BfE
 Nn60zsNU6IloBTU250ZV8EEsRf7dLpdEMByuEIl7Zkr1Am7hnzcjzXrTzAF2AVb6+6R+Cvf1Sa7LV
 Vkab5NivWdSw2ZMEpLcGMiR5dOKmKyng6kEQgzJX+XQGXe53DaU34rtr/FJcG8qnV56LWRRQUbqdk
 FipmZ4aOD5I3u6GIBQfmf3SKpVWj0eBrpACaPoUa6fPuFzIMTIR9/hhkEE29Q+8WlX71O9ke24xbz
 6cm1vYv5W/aW+FJpHvMH4A==;
Date: Fri, 22 Nov 2024 09:41:32 +0200
Message-Id: <86mshrogur.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Eshel Yaron <me@HIDDEN>
In-Reply-To: <m1frnjd8zx.fsf@HIDDEN> (message from Eshel Yaron on
 Fri, 22 Nov 2024 08:26:42 +0100)
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
 <861pz7t4yb.fsf@HIDDEN> <m14j43dlmv.fsf@HIDDEN>
 <86sermrr8i.fsf@HIDDEN> <m1ldxddhri.fsf@HIDDEN>
 <86jzcxswbx.fsf@HIDDEN> <m1frnjd8zx.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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: Eshel Yaron <me@HIDDEN>
> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
> Date: Fri, 22 Nov 2024 08:26:42 +0100
> 
> >> > The question is: what do users expect to happen in those cases?
> >> 
> >> I don't know
> >
> > Neither do I.  I didn't say something was wrong with either of these
> > implementations, I'm just saying they should be well tested by users
> > before we have enough basis to make the decisions whether the idea is
> > generally good and whether it should probably become the default in
> > some future version.
> 
> Sounds good.  So here's a full patch that keeps the current
> implementation as the default:

Thanks.  Please install on master, but please add a NEWS entry which
calls out this change and invites feedback on using this new behavior.




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

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


Received: (at 74437) by debbugs.gnu.org; 22 Nov 2024 07:26:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 22 02:26:48 2024
Received: from localhost ([127.0.0.1]:52862 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tEO3z-0002Qh-Fr
	for submit <at> debbugs.gnu.org; Fri, 22 Nov 2024 02:26:47 -0500
Received: from mail.eshelyaron.com ([107.175.124.16]:57456 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1tEO3x-0002QY-Gv
 for 74437 <at> debbugs.gnu.org; Fri, 22 Nov 2024 02:26:46 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1732260405;
 bh=C+ecsWp03V5sbj66qoLFBwaV5M168DP2s+5hlXGaabw=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=qGq3mijph0tSu6xnwbVlaJBmdY9PRMHAUPlK1Tvth2+eD8/YfdEk6x5JqfUTRB8mf
 VtKM06aYphytMpuOesCjiAuQT4IUz3h6ICOyu4p9WeYUdNexGEzvrA7jPOCJwImPoA
 Uyh5TA36sT1Nj5khuoVBG+3oaolR4+WgAGVgbN8tqRuCg/WdCbSoMQGvoBuZY1SAr5
 du5DJI8FTeGhP5KnUKRuhtzGufWn8bGeEi4Xau/TG2F6ZDe4oP6VxDj6llDtf+xaT9
 NyMjdq2YsDy0FPs/1CedUD3HV2BXTxTt83vzQ2RG1vTi2SdSbpjLhJKuPZxrJLQoAJ
 +LEbsIEXFX1Yw==
From: Eshel Yaron <me@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <86jzcxswbx.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 20 Nov
 2024 18:29:06 +0200")
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
 <861pz7t4yb.fsf@HIDDEN> <m14j43dlmv.fsf@HIDDEN>
 <86sermrr8i.fsf@HIDDEN> <m1ldxddhri.fsf@HIDDEN>
 <86jzcxswbx.fsf@HIDDEN>
Date: Fri, 22 Nov 2024 08:26:42 +0100
Message-ID: <m1frnjd8zx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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 (-)

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

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Eshel Yaron <me@HIDDEN>
>> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
>> Date: Wed, 20 Nov 2024 16:52:49 +0100
>> 
>> Eli Zaretskii <eliz@HIDDEN> writes:
>> 
>> >> From: Eshel Yaron <me@HIDDEN>
>> >> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
>> >> Date: Tue, 19 Nov 2024 21:16:56 +0100
>> >
>> >> > Also, what happens if there are other async
>> >> > subprocesses running in parallel, like maybe Grep or compilation or
>> >> > url-retrieve?
>> >> 
>> >> They make progress, which seems to work as expected, at least with Grep.
>> >> That is if we use the previous patch, with the one below we pass non-nil
>> >> JUST-THIS-ONE argument to accept-process-output when called from a timer
>> >> so other processes shouldn't see new output during this call.  Either
>> >> way works, AFAICT.
>> >
>> > The question is: what do users expect to happen in those cases?
>> 
>> I don't know
>
> Neither do I.  I didn't say something was wrong with either of these
> implementations, I'm just saying they should be well tested by users
> before we have enough basis to make the decisions whether the idea is
> generally good and whether it should probably become the default in
> some future version.

Sounds good.  So here's a full patch that keeps the current
implementation as the default:


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-New-option-flyspell-delay-use-timer.patch

From 0dfa6f8b4aaa825a2587fa36f30bf9f55918ff3d Mon Sep 17 00:00:00 2001
From: Eshel Yaron <me@HIDDEN>
Date: Fri, 22 Nov 2024 08:17:25 +0100
Subject: [PATCH] New option 'flyspell-delay-use-timer'

* lisp/textmodes/flyspell.el (flyspell-delay-use-timer):
New user option.
(flyspell--timer): New variable.
(flyspell-check-word-p): Use them.
(flyspell-post-command-hook): Disable timer.
(flyspell-word): Pass non-nil SECONDS argument to
'accept-process-output' to permit quitting.  (bug#74437)
---
 lisp/textmodes/flyspell.el | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 09d4e8a8d1a..5fcb83efb57 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -810,6 +810,18 @@ flyspell-check-changed-word-p
              (let ((pos (point)))
                (or (>= pos start) (<= pos stop) (= pos (1+ stop))))))))
 
+(defcustom flyspell-delay-use-timer nil
+  "Whether Flyspell should use a timer for waiting after a delayed command.
+
+If this is non-nil, Flyspell sets up a timer for checking the word at
+point `flyspell-delay' seconds after you invoke a delayed command.
+Otherwise, if this option is nil, Flyspell uses `sit-for' to wait for
+that duration instead."
+  :type 'boolean
+  :version "31.1")
+
+(defvar flyspell--timer nil)
+
 ;;*---------------------------------------------------------------------*/
 ;;*    flyspell-check-word-p ...                                        */
 ;;*---------------------------------------------------------------------*/
@@ -844,7 +856,16 @@ flyspell-check-word-p
 	;; The current command is not delayed, that
 	;; is that we must check the word now.
 	(and (not unread-command-events)
-	     (sit-for flyspell-delay)))
+             (if (not flyspell-delay-use-timer)
+                 (sit-for flyspell-delay)
+               (setq flyspell--timer
+                     (run-with-idle-timer
+                      flyspell-delay nil
+                      (lambda (buffer)
+                        (when (eq (current-buffer) buffer)
+                          (flyspell-word nil nil t)))
+                      (current-buffer)))
+               nil)))
        (t t)))
      (t t))))
 
@@ -955,6 +976,7 @@ flyspell-debug-signal-changed-checked
 (defun flyspell-post-command-hook ()
   "The `post-command-hook' used by flyspell to check a word on-the-fly."
   (interactive)
+  (when (timerp flyspell--timer) (cl-callf cancel-timer flyspell--timer))
   (when flyspell-mode
     (with-local-quit
       (let ((command this-command)
@@ -1179,7 +1201,7 @@ flyspell-word
 		  (set-process-query-on-exit-flag ispell-process nil)
                   ;; Wait until ispell has processed word.
                   (while (progn
-                           (accept-process-output ispell-process)
+                           (accept-process-output ispell-process 1)
                            (not (string= "" (car ispell-filter)))))
                   ;; (ispell-send-string "!\n")
                   ;; back to terse mode.
-- 
2.46.2


--=-=-=--




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

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


Received: (at 74437) by debbugs.gnu.org; 20 Nov 2024 16:31:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 20 11:31:27 2024
Received: from localhost ([127.0.0.1]:47540 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDnby-0004ll-Nn
	for submit <at> debbugs.gnu.org; Wed, 20 Nov 2024 11:31:27 -0500
Received: from eggs.gnu.org ([209.51.188.92]:54568)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1tDnbw-0004lV-9U
 for 74437 <at> debbugs.gnu.org; Wed, 20 Nov 2024 11:31:25 -0500
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 1tDnZl-0004EM-Hp; Wed, 20 Nov 2024 11:29:09 -0500
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=MVf1QJ+9DXrZYVngrb1Qjbw3wrUeNwWBeCddOqjKoeQ=; b=n2tesZcRwlv9
 Z30zcBSlilmtOz4ZORLr/mcZ+wp9t4TavBFubntFfryb8U6TDSyZgAzt6vPJXX6WPI4rdYUiTlg9n
 GmlyD5PozKhjBOplzSKysF4LHw7QguxMJdMcofGh7anSbNNh1TSCNQZREVe1M5MaoHBS75fJZzv5I
 4iHts3qaa0wUNZOriXmQPEZuxgx07zFR6udulbdrhhKPK46tGjN4pNtHvNzSd9UpgZwLj7p8WAOnu
 MLhIyOrgNBX12/JqeBys9r+LMD5Gv3Xxk/tRjNyoJvs2cBs8Q0EKPJRL9Z7jYIJGUn27lS3esdldl
 6NUeFfIiQpaXcw055GPKAg==;
Date: Wed, 20 Nov 2024 18:29:06 +0200
Message-Id: <86jzcxswbx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Eshel Yaron <me@HIDDEN>
In-Reply-To: <m1ldxddhri.fsf@HIDDEN> (message from Eshel Yaron on
 Wed, 20 Nov 2024 16:52:49 +0100)
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
 <861pz7t4yb.fsf@HIDDEN> <m14j43dlmv.fsf@HIDDEN>
 <86sermrr8i.fsf@HIDDEN> <m1ldxddhri.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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: Eshel Yaron <me@HIDDEN>
> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
> Date: Wed, 20 Nov 2024 16:52:49 +0100
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> >> From: Eshel Yaron <me@HIDDEN>
> >> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
> >> Date: Tue, 19 Nov 2024 21:16:56 +0100
> >
> >> > Also, what happens if there are other async
> >> > subprocesses running in parallel, like maybe Grep or compilation or
> >> > url-retrieve?
> >> 
> >> They make progress, which seems to work as expected, at least with Grep.
> >> That is if we use the previous patch, with the one below we pass non-nil
> >> JUST-THIS-ONE argument to accept-process-output when called from a timer
> >> so other processes shouldn't see new output during this call.  Either
> >> way works, AFAICT.
> >
> > The question is: what do users expect to happen in those cases?
> 
> I don't know

Neither do I.  I didn't say something was wrong with either of these
implementations, I'm just saying they should be well tested by users
before we have enough basis to make the decisions whether the idea is
generally good and whether it should probably become the default in
some future version.




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

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


Received: (at 74437) by debbugs.gnu.org; 20 Nov 2024 15:52:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 20 10:52:54 2024
Received: from localhost ([127.0.0.1]:47473 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDn0f-0002un-PQ
	for submit <at> debbugs.gnu.org; Wed, 20 Nov 2024 10:52:54 -0500
Received: from mail.eshelyaron.com ([107.175.124.16]:56546 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1tDn0e-0002uf-J3
 for 74437 <at> debbugs.gnu.org; Wed, 20 Nov 2024 10:52:53 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1732117972;
 bh=HZsxrrMFijG5XlRg3Gy4I1xzevmFRaX4tQ1Qy0ALMKw=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=TBYM8Nsr6MwtW7bL8pkTaiT2Gka7kyA522ZeAQlFnblVJSFov248jhJtcMjaqbvry
 UqYIdIlqS8j1kLDVwhDwFNJrmjBeOe44yO/c0Z1I//HLLD0g/SUp3YG0TYdyzQu4jZ
 SdEbvIZFAsUCbEDDr6qd/gxrwO8/S+hD0QsFSfe37xn7/MPAAW1chnkY1DlacAubQm
 Wf24RPleVfrApES+lz0gWpRSNZkDOq9fvezGc3FWseO4YHy7b22c2e5ovmFN57OMom
 ZEtAhGP1qA2N5NpmC3k0RTHTm7HgsOcwYhLLngRtACfXdJLRx+jwceLDYUyiA1xHNl
 76gw5YBzeD/Gw==
From: Eshel Yaron <me@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <86sermrr8i.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 20 Nov
 2024 15:04:29 +0200")
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
 <861pz7t4yb.fsf@HIDDEN> <m14j43dlmv.fsf@HIDDEN>
 <86sermrr8i.fsf@HIDDEN>
Date: Wed, 20 Nov 2024 16:52:49 +0100
Message-ID: <m1ldxddhri.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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 (-)

Hi,

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Eshel Yaron <me@HIDDEN>
>> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
>> Date: Tue, 19 Nov 2024 21:16:56 +0100
>
>> > Also, what happens if there are other async
>> > subprocesses running in parallel, like maybe Grep or compilation or
>> > url-retrieve?
>> 
>> They make progress, which seems to work as expected, at least with Grep.
>> That is if we use the previous patch, with the one below we pass non-nil
>> JUST-THIS-ONE argument to accept-process-output when called from a timer
>> so other processes shouldn't see new output during this call.  Either
>> way works, AFAICT.
>
> The question is: what do users expect to happen in those cases?

I don't know, IIUC it is just a short period (spell-checking one word)
in which other processes either do or don't see output, so I don't think
it matters that much to users either way.  It seems more natural to let
other processes make progress, because why not?  But again, either way
works for me, since both let us reconcile Flyspell with idle timers.


Best,

Eshel




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

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


Received: (at 74437) by debbugs.gnu.org; 20 Nov 2024 13:04:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 20 08:04:41 2024
Received: from localhost ([127.0.0.1]:45776 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDkNt-00039Y-2x
	for submit <at> debbugs.gnu.org; Wed, 20 Nov 2024 08:04:41 -0500
Received: from eggs.gnu.org ([209.51.188.92]:38408)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1tDkNq-00039H-B1
 for 74437 <at> debbugs.gnu.org; Wed, 20 Nov 2024 08:04:39 -0500
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 1tDkNk-0003J9-Rb; Wed, 20 Nov 2024 08:04:32 -0500
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=Iksdyk4PtxINmztHon1pp1qvbPUe3Xw+85Zc6i8APhM=; b=Yp99p9Ozjxvq
 EodCGYx1x4+NLtTx8zCc5EEkXfB1FZLstfCpRa6iR1rj7l/pdmJh5WewR28VGB/Ib5PR60wA5sZOm
 uV1G+q4DhBRnKpOcnKFSfYAoXdu9d6KL9p2x99e1drqAz5l3xG57QXAgIpH1hgAHdUtOGHvf2gb/o
 C8BBAhYjALKP2TTxMpovqtcF0Yn8j+CsLbqgqWV8I0Yc1+8kuTdbjd3L/bzwKBlsAfpJbJmH+C1ce
 5FfTZLs9HF0haT+7+Izl8WVfLkhfsX1ZMwj/c24KghKpnjpEwyJMs0cz+woWZYli1RC6sBQhpB4hI
 o6zM5WZdIcV/YukO0pEXtg==;
Date: Wed, 20 Nov 2024 15:04:29 +0200
Message-Id: <86sermrr8i.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Eshel Yaron <me@HIDDEN>
In-Reply-To: <m14j43dlmv.fsf@HIDDEN> (message from Eshel Yaron on
 Tue, 19 Nov 2024 21:16:56 +0100)
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
 <861pz7t4yb.fsf@HIDDEN> <m14j43dlmv.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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: Eshel Yaron <me@HIDDEN>
> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
> Date: Tue, 19 Nov 2024 21:16:56 +0100
> 
> >> -                           (accept-process-output ispell-process)
> >> +                           (accept-process-output ispell-process 1)
> >
> > Does this really work reliably from a timer?
> 
> I don't immediately see why it shouldn't, and the tests I tried so far
> seem to work, but your skepticism makes me wonder if there's anything
> I'm missing.  Do you have any particular potential issue in mind?

Not concretely, no.  But I see potential issues, since
accept-process-output enters a recursive wait_reading_process_output,
which could read output from other subprocesses, and timers affect how
frequently wait_reading_process_output loops.  So this should be
thoroughly tested in various scenarios.

> > You _are_ aware that this call to accept-process-output will run
> > timers while we wait?
> 
> Yes.  If that's a cause for concern, we can inhibit running timers here
> when we're calling flyspell-word from a timer, like in the patch below.

That's one measure, yes.  But it, too, should be thoroughly tested.

> > Also, what happens if there are other async
> > subprocesses running in parallel, like maybe Grep or compilation or
> > url-retrieve?
> 
> They make progress, which seems to work as expected, at least with Grep.
> That is if we use the previous patch, with the one below we pass non-nil
> JUST-THIS-ONE argument to accept-process-output when called from a timer
> so other processes shouldn't see new output during this call.  Either
> way works, AFAICT.

The question is: what do users expect to happen in those cases?




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

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


Received: (at 74437) by debbugs.gnu.org; 19 Nov 2024 20:17:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 15:17:01 2024
Received: from localhost ([127.0.0.1]:44157 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDUej-0007yg-24
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 15:17:01 -0500
Received: from mail.eshelyaron.com ([107.175.124.16]:37574 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1tDUeg-0007yX-Uc
 for 74437 <at> debbugs.gnu.org; Tue, 19 Nov 2024 15:16:59 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1732047418;
 bh=4fMPcMVek4o0X8soKfVASrh6dUvgHJIBIZBjV0Zxfl8=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=iHNzZkoQ0DbKVFEoU0KRNCZpj6vVcjV8tHGrq99C8k2f9gbDdI9z+yMwDwEhMp9Aj
 1glopd5tpMhJ80FVq2w+ou9B08iQtHf998WLEjSpkbECgPRKvf0yQr0H0/M6s7HiCP
 fIpvYtbXdS/me5KInePah/dAVxotOA9ZyLSOMCjKbK3g9vyh8wlli0054BnjtvANnf
 ledDPppWZBtrZn7jaXUi+bXsytMQsIGmObgZIgxnu0kkrEL5JifBVR6RM/q6YDyZim
 S4N++7tFENKdUt0ss+0rGnlcFTD+XZ1jFDeLk3J7rzhYdjSOHxw2SBRnVeCv7tbof1
 eyodUNZp9PBIw==
From: Eshel Yaron <me@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <861pz7t4yb.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 19 Nov
 2024 21:10:36 +0200")
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
 <861pz7t4yb.fsf@HIDDEN>
Date: Tue, 19 Nov 2024 21:16:56 +0100
Message-ID: <m14j43dlmv.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Eshel Yaron <me@HIDDEN>
>> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
>> Date: Tue, 19 Nov 2024 19:40:07 +0100
>> 
>> +(defcustom flyspell-blocking-delay t
>
> I'd name this flyspell-use-timer or somesuch.

OK, will do.  Actually, how about flyspell-delay-use-timer?  Just
flyspell-use-timer feels a bit too general: Flyspell might use timers
for other purposes regardless of this option.

>> +  "Whether to block Emacs while Flyspell waits after a delayed command."
>> +  :type 'boolean
>> +  :version "30.1")
>      ^^^^^^^^^^^^^^
> You are an optimist ;-)

Oh well, 31.1 it is then :)

>> -                           (accept-process-output ispell-process)
>> +                           (accept-process-output ispell-process 1)
>
> Does this really work reliably from a timer?

I don't immediately see why it shouldn't, and the tests I tried so far
seem to work, but your skepticism makes me wonder if there's anything
I'm missing.  Do you have any particular potential issue in mind?

> You _are_ aware that this call to accept-process-output will run
> timers while we wait?

Yes.  If that's a cause for concern, we can inhibit running timers here
when we're calling flyspell-word from a timer, like in the patch below.

> Also, what happens if there are other async
> subprocesses running in parallel, like maybe Grep or compilation or
> url-retrieve?

They make progress, which seems to work as expected, at least with Grep.
That is if we use the previous patch, with the one below we pass non-nil
JUST-THIS-ONE argument to accept-process-output when called from a timer
so other processes shouldn't see new output during this call.  Either
way works, AFAICT.


diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 7bf9cb1ae9d..5442b46cd1d 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -810,6 +810,13 @@ flyspell-check-changed-word-p
              (let ((pos (point)))
                (or (>= pos start) (<= pos stop) (= pos (1+ stop))))))))
 
+(defcustom flyspell-delay-use-timer nil
+  "Whether to use a timer for waiting after a delayed command."
+  :type 'boolean
+  :version "31.1")
+
+(defvar flyspell--timer nil)
+
 ;;*---------------------------------------------------------------------*/
 ;;*    flyspell-check-word-p ...                                        */
 ;;*---------------------------------------------------------------------*/
@@ -844,7 +851,16 @@ flyspell-check-word-p
 	;; The current command is not delayed, that
 	;; is that we must check the word now.
 	(and (not unread-command-events)
-	     (sit-for flyspell-delay)))
+             (if (not flyspell-delay-use-timer)
+                 (sit-for flyspell-delay)
+               (setq flyspell--timer
+                     (run-with-idle-timer
+                      flyspell-delay nil
+                      (lambda (buffer)
+                        (when (eq (current-buffer) buffer)
+                          (flyspell-word nil nil t)))
+                      (current-buffer)))
+               nil)))
        (t t)))
      (t t))))
 
@@ -955,6 +971,7 @@ flyspell-debug-signal-changed-checked
 (defun flyspell-post-command-hook ()
   "The `post-command-hook' used by flyspell to check a word on-the-fly."
   (interactive)
+  (when (timerp flyspell--timer) (cl-callf cancel-timer flyspell--timer))
   (when flyspell-mode
     (with-local-quit
       (let ((command this-command)
@@ -1095,13 +1112,14 @@ flyspell-word
 ;;*---------------------------------------------------------------------*/
 ;;*    flyspell-word ...                                                */
 ;;*---------------------------------------------------------------------*/
-(defun flyspell-word (&optional following known-misspelling)
+(defun flyspell-word (&optional following known-misspelling block-timers)
   "Spell check a word.
 If the optional argument FOLLOWING, or, when called interactively
 `ispell-following-word', is non-nil, checks the following (rather
 than preceding) word when the cursor is not over a word.  If
 optional argument KNOWN-MISSPELLING is non-nil considers word a
-misspelling and skips redundant spell-checking step.
+misspelling and skips redundant spell-checking step.  Non-nil optional
+argument BLOCK-TIMERS says not to run timers while spell-checking.
 
 See `flyspell-get-word' for details of how this finds the word to
 spell-check."
@@ -1179,7 +1197,8 @@ flyspell-word
 		  (set-process-query-on-exit-flag ispell-process nil)
                   ;; Wait until ispell has processed word.
                   (while (progn
-                           (accept-process-output ispell-process)
+                           (accept-process-output ispell-process 1 nil
+                                                  (when block-timers 0))
                            (not (string= "" (car ispell-filter)))))
                   ;; (ispell-send-string "!\n")
                   ;; back to terse mode.




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

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


Received: (at 74437) by debbugs.gnu.org; 19 Nov 2024 19:10:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 14:10:49 2024
Received: from localhost ([127.0.0.1]:44041 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDTcf-000552-89
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 14:10:49 -0500
Received: from eggs.gnu.org ([209.51.188.92]:36618)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1tDTcc-00054n-5W
 for 74437 <at> debbugs.gnu.org; Tue, 19 Nov 2024 14:10:47 -0500
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 1tDTcU-00061X-TM; Tue, 19 Nov 2024 14:10:39 -0500
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=3QS69y1YFkq/6qnKQ6CZTxZWSbbRS0TM148Amo5Imjw=; b=gCNxJbTYHf7e
 6aLhrqU5S7M7YusuBNT3qNZ1oMTAQnyriB/nlOYB73hU115LgXw/VCEUwbhTxhvIUbvw+STTDsglx
 XKs8KBLDMHW4kSEkjLdsE3NGn/FR8QlWL6OBkjhtTuEnF0EB+LAAZ84I/+s2Aq515mMlHHEnt2oM7
 ansQebga1BCL7lcDiutEfKlTdYtDnVCIMMO9mTTICXghwPBzTsvDtj9aX8WErPDHK5JGOv2wHgJO+
 HR0oVZHIcYKi4jxsS8StoYmwphF3DbAJ0JX+gm6kJPsx32sMZ3k+ur58LiSnjF+bnbkKAkpS4i7K3
 VX5n8vUj5hGxmKmZQ4XrDg==;
Date: Tue, 19 Nov 2024 21:10:36 +0200
Message-Id: <861pz7t4yb.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Eshel Yaron <me@HIDDEN>
In-Reply-To: <m134jnf4oo.fsf@HIDDEN> (message from Eshel Yaron on
 Tue, 19 Nov 2024 19:40:07 +0100)
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN> <m134jnf4oo.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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: Eshel Yaron <me@HIDDEN>
> Cc: 74437 <at> debbugs.gnu.org,  mail@HIDDEN
> Date: Tue, 19 Nov 2024 19:40:07 +0100
> 
> +(defcustom flyspell-blocking-delay t

I'd name this flyspell-use-timer or somesuch.

> +  "Whether to block Emacs while Flyspell waits after a delayed command."
> +  :type 'boolean
> +  :version "30.1")
     ^^^^^^^^^^^^^^
You are an optimist ;-)


> -                           (accept-process-output ispell-process)
> +                           (accept-process-output ispell-process 1)

Does this really work reliably from a timer?  You _are_ aware that
this call to accept-process-output will run timers while we wait?
Also, what happens if there are other async subprocesses running in
parallel, like maybe Grep or compilation or url-retrieve?




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

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


Received: (at 74437) by debbugs.gnu.org; 19 Nov 2024 18:40:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 13:40:12 2024
Received: from localhost ([127.0.0.1]:43996 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDT92-0003kv-AG
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 13:40:12 -0500
Received: from mail.eshelyaron.com ([107.175.124.16]:42794 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1tDT8z-0003kV-VV
 for 74437 <at> debbugs.gnu.org; Tue, 19 Nov 2024 13:40:11 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1732041609;
 bh=8SK3p01z2pbev0B0hPz6hpsvp/Riy2UCahLv6SKlUrk=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=Qy13cBDDEY8XB9EfuOqv4PQSR204tTVpYLYN7EzCPfQlDmNsqTw4CfDw06b1FfDQ0
 Yorv9ET65DNd5tc1xU/NkINd5AVGoWtJPWldl4y2sLXiA+gB+0JnYo39981hGoRNBL
 vLQdODRtpZroxcfXck9ZlJhsNHIwKmDBfm5bwRyupwlbps8s9x7nRnckDfHYmMgPGo
 sqSkA27Vpi1/T7eeyqLHUKtUb1FwLz3LGdpZom0COZe5ufEeo2U9B2tzA5euU9Wl+2
 ivrMLC3pCF1mpGyMfhJwBSxEvUK1zfxWMCmaJ9H0rsII+VdvpBHJJZ5LEaRyDQCxDO
 eYXOItrMdk7Xg==
From: Eshel Yaron <me@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <86bjybta3i.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 19 Nov
 2024 19:19:29 +0200")
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
 <86bjybta3i.fsf@HIDDEN>
Date: Tue, 19 Nov 2024 19:40:07 +0100
Message-ID: <m134jnf4oo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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 (-)

Hi,

Eli Zaretskii <eliz@HIDDEN> writes:

>> Cc: mail@HIDDEN
>> Date: Tue, 19 Nov 2024 17:13:16 +0100
>> From:  Eshel Yaron via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>> 
>> The root cause is a peculiarity of flyspell-mode: it calls sit-for and
>> blocks Emacs for 3 whole seconds (by default, see flyspell-delay) after
>> certain commands, including after (org-)self-insert-command.  This also
>> blocks the idle timer that Completion Preview mode uses, unfortunately.
>> 
>> A quick search shows that this behavior of flyspell affects other
>> features as well.  For example, IIUC, auto completion in Corfu switched
>> to using run-at-time instead of run-with-idle-timer due to this issue.
>> 
>> I think flyspell should be modified to use a timer instead of sit-for,
>> so as to avoid blocking idle timers.  I can come up with such a patch,
>> but it's not quite trivial, so I wonder what others think about this
>> issue and how it should be addressed.
>
> This is likely to cause differences in behavior that some users will
> be unhappy about (how do you support delaying only after some
> commands? and how do you interact with async subprocess from an idle
> timer?).  So if you want to install such a patch, it must be an opt-in
> feature, so we could let users try it for some time before we decide
> whether to retire the old behavior based on sit-for.

All right, something like this?

diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 7bf9cb1ae9d..7ba5bb871ea 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -810,6 +810,13 @@ flyspell-check-changed-word-p
              (let ((pos (point)))
                (or (>= pos start) (<= pos stop) (= pos (1+ stop))))))))
 
+(defcustom flyspell-blocking-delay t
+  "Whether to block Emacs while Flyspell waits after a delayed command."
+  :type 'boolean
+  :version "30.1")
+
+(defvar flyspell--timer nil)
+
 ;;*---------------------------------------------------------------------*/
 ;;*    flyspell-check-word-p ...                                        */
 ;;*---------------------------------------------------------------------*/
@@ -844,7 +851,15 @@ flyspell-check-word-p
 	;; The current command is not delayed, that
 	;; is that we must check the word now.
 	(and (not unread-command-events)
-	     (sit-for flyspell-delay)))
+             (if flyspell-blocking-delay
+                 (sit-for flyspell-delay)
+               (setq flyspell--timer
+                     (run-with-idle-timer
+                      flyspell-delay nil
+                      (lambda (buffer)
+                        (when (eq (current-buffer) buffer) (flyspell-word)))
+                      (current-buffer)))
+               nil)))
        (t t)))
      (t t))))
 
@@ -955,6 +970,7 @@ flyspell-debug-signal-changed-checked
 (defun flyspell-post-command-hook ()
   "The `post-command-hook' used by flyspell to check a word on-the-fly."
   (interactive)
+  (when (timerp flyspell--timer) (cl-callf cancel-timer flyspell--timer))
   (when flyspell-mode
     (with-local-quit
       (let ((command this-command)
@@ -1179,7 +1195,7 @@ flyspell-word
 		  (set-process-query-on-exit-flag ispell-process nil)
                   ;; Wait until ispell has processed word.
                   (while (progn
-                           (accept-process-output ispell-process)
+                           (accept-process-output ispell-process 1)
                            (not (string= "" (car ispell-filter)))))
                   ;; (ispell-send-string "!\n")
                   ;; back to terse mode.





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

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


Received: (at 74437) by debbugs.gnu.org; 19 Nov 2024 17:19:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 12:19:41 2024
Received: from localhost ([127.0.0.1]:43872 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDRt6-0008Vt-IS
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 12:19:40 -0500
Received: from eggs.gnu.org ([209.51.188.92]:46928)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1tDRt4-0008Vg-MM
 for 74437 <at> debbugs.gnu.org; Tue, 19 Nov 2024 12:19:39 -0500
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 1tDRsy-0002xx-1t; Tue, 19 Nov 2024 12:19:32 -0500
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=Se2M9fB+9TW9w6Yspi/TnmRkWeb3v46dzh8eXSPuaMQ=; b=U0+JDrwJybHo
 FOLyr6vjZYLvn3+bzWZGHePvXaEVykmJCxbwbORPGLN0+OJLX6uOSkHV4Rg0suEWEsr3WV9j6Q26s
 QnRXmw4tnZgxIm/G31UHeuPWtth+xL+A6FcS3+cFwLEfw84Zkp9Tbk9m2NqG8KUz2CEO0qdksErzs
 9Zhoyw74/x9jTm8fvHj0a4ZHR7Qx2CcD1mrDa2NmUEnuGXOTkyIq2hPcHeUoHRb401CpnvFiaHund
 pRymTr69Lg4chX3JbcCjCluK/NoaiG9PvjlSIpRrB3JnecM+hXUT4qtO465XrMKus86USNRmDcPR3
 zrqUXjX8DGU72CGeRofwMA==;
Date: Tue, 19 Nov 2024 19:19:29 +0200
Message-Id: <86bjybta3i.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Eshel Yaron <me@HIDDEN>
In-Reply-To: <m1cyirfbhf.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#74437: 30.0.92;
 completion-preview-idle-delay is delayed by flyspell
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org, mail@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 (---)

> Cc: mail@HIDDEN
> Date: Tue, 19 Nov 2024 17:13:16 +0100
> From:  Eshel Yaron via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> The root cause is a peculiarity of flyspell-mode: it calls sit-for and
> blocks Emacs for 3 whole seconds (by default, see flyspell-delay) after
> certain commands, including after (org-)self-insert-command.  This also
> blocks the idle timer that Completion Preview mode uses, unfortunately.
> 
> A quick search shows that this behavior of flyspell affects other
> features as well.  For example, IIUC, auto completion in Corfu switched
> to using run-at-time instead of run-with-idle-timer due to this issue.
> 
> I think flyspell should be modified to use a timer instead of sit-for,
> so as to avoid blocking idle timers.  I can come up with such a patch,
> but it's not quite trivial, so I wonder what others think about this
> issue and how it should be addressed.

This is likely to cause differences in behavior that some users will
be unhappy about (how do you support delaying only after some
commands? and how do you interact with async subprocess from an idle
timer?).  So if you want to install such a patch, it must be an opt-in
feature, so we could let users try it for some time before we decide
whether to retire the old behavior based on sit-for.

> As a stopgap, you can try setting flyspell-delay to 0.

That will make flyspell-mode get in the way of fast typing, AFAIU, but
maybe the OP doesn't care about that.




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

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


Received: (at 74437) by debbugs.gnu.org; 19 Nov 2024 16:57:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 11:57:36 2024
Received: from localhost ([127.0.0.1]:43840 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDRXj-0007bI-IE
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:57:35 -0500
Received: from out-178.mta0.migadu.com ([91.218.175.178]:30961)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mail@HIDDEN>) id 1tDRXh-0007b5-R1
 for 74437 <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:57:34 -0500
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alternateved.com;
 s=key1; t=1732035416;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=CTfG9NewLzSkyx9Q3bKYRSaa2SwGoLqH/GYWiDfBFCs=;
 b=ZYo0nTzth/iTp/5ibfW878nNrtYRmAlpd4NbjeY3eWiOD5+8R6IIge2x199CHDwt6gG2yB
 KlgvEwkp1okokL4ggifMcm1MCyNk/g05pbztED/aPizOB0D157k/QMqZo/fCpjWffHahR3
 JZeHSHsOVBi6/s/eHtCsMDoUhq+uMolmtDqGOqTFoWodIaaHsph8/A9tk6UOiecf8pSrf+
 EN09QzFkcZ8u337FUOL46kFKIllDD5drEEHdp1V4nvmBgYo8hYqIzM/A+9a0kHHNl5/FRh
 j6Gqb6uJ3qPSbMu6tMwbfPXUkWu2+8JLD96lbsd4KEp5BDr35Ee5tWptdU3/ug==
From: Tomasz =?utf-8?Q?Ho=C5=82ubowicz?= <mail@HIDDEN>
To: Eshel Yaron <me@HIDDEN>, =?utf-8?Q?Tomasz_Ho=C5=82ubowicz_via?=
 =?utf-8?Q?_Bug_reports_for_GNU_Emacs=2C_the_Swiss_army_knife_of_text_edit?=
 =?utf-8?Q?ors?= <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <m1cyirfbhf.fsf@HIDDEN>
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
Date: Tue, 19 Nov 2024 17:56:46 +0100
Message-ID: <87frnnkvqp.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Migadu-Flow: FLOW_OUT
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <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.7 (-)

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

Hello,

On Tue, Nov 19 2024, Eshel Yaron wrote:

> Side note: it is better to use (completion-preview-active-mode -1)
> instead of (completion-preview-hide) to dismiss the preview, since
> disabling the minor mode performs additional cleanup.  Perhaps I should
> mention that in the documentation somewhere... :)
>
Thank you for that tip!

> Thank you for this report.  I can reproduce the extended delay here.
> (In the future, please provide a minimal recipe to reproduce the issue
> starting from emacs -Q, if possible.)

Apologies for a bit noisy report, I wrote it in a bit of a rush.

If anyone would like to reproduce this issue, I believe below recipe
should be helpful:

(require 'flyspell)
(add-hook 'org-mode-hook #'flyspell-mode)

(require 'completion-preview)
(setopt completion-preview-idle-delay 0.2)
(push 'org-self-insert-command completion-preview-commands)

(global-completion-preview-mode 1)

After that open an Org file and try to trigger completion-preview by
writing a part of a word. Completion results most likely depend on the
contents of file pointed by ispell-alternate-dictionary value. If that
file is empty there might be no completions available.

> The root cause is a peculiarity of flyspell-mode: it calls sit-for and
> blocks Emacs for 3 whole seconds (by default, see flyspell-delay) after
> certain commands, including after (org-)self-insert-command.  This also
> blocks the idle timer that Completion Preview mode uses, unfortunately.
>
> A quick search shows that this behavior of flyspell affects other
> features as well.  For example, IIUC, auto completion in Corfu switched
> to using run-at-time instead of run-with-idle-timer due to this issue.
>
> I think flyspell should be modified to use a timer instead of sit-for,
> so as to avoid blocking idle timers.  I can come up with such a patch,
> but it's not quite trivial, so I wonder what others think about this
> issue and how it should be addressed.
>
> As a stopgap, you can try setting flyspell-delay to 0.

Thank you for help and explanation. I will try flyspell-delay 0 for a
time (or stick with completion-preview-mode only for prog-mode buffers
at it seems more appropriate).

Kind wishes,
Tomasz Ho=C5=82ubowicz


--=-=-=
Content-Type: multipart/signed; boundary="==-=-=";
	micalg=pgp-sha512; protocol="application/pgp-signature"

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



--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIwEARYKADQWIQRIVmsvIMl2XHZKlC7XvHvDVbxH+AUCZzzDThYcbWFpbEBhbHRl
cm5hdGV2ZWQuY29tAAoJENe8e8NVvEf4RXUA/A8DdiQjP26e+fzCIj05LuVU/2CF
tLHFR+pBl10OPCamAQCsTQplI4mTctKYOmMt/idyOzWM97jHosQLqtXKS10SBA==
=Swyk
-----END PGP SIGNATURE-----
--==-=-=--

--=-=-=--




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

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


Received: (at submit) by debbugs.gnu.org; 19 Nov 2024 16:57:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 11:57:07 2024
Received: from localhost ([127.0.0.1]:43836 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDRXH-0007aX-2h
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:57:07 -0500
Received: from lists.gnu.org ([209.51.188.17]:34990)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mail@HIDDEN>) id 1tDRXE-0007aO-IM
 for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:57:05 -0500
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 <mail@HIDDEN>)
 id 1tDRXC-0007uW-Ih
 for bug-gnu-emacs@HIDDEN; Tue, 19 Nov 2024 11:57:02 -0500
Received: from out-185.mta0.migadu.com ([2001:41d0:1004:224b::b9])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mail@HIDDEN>)
 id 1tDRXA-0006MS-4q
 for bug-gnu-emacs@HIDDEN; Tue, 19 Nov 2024 11:57:02 -0500
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alternateved.com;
 s=key1; t=1732035416;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=CTfG9NewLzSkyx9Q3bKYRSaa2SwGoLqH/GYWiDfBFCs=;
 b=ZYo0nTzth/iTp/5ibfW878nNrtYRmAlpd4NbjeY3eWiOD5+8R6IIge2x199CHDwt6gG2yB
 KlgvEwkp1okokL4ggifMcm1MCyNk/g05pbztED/aPizOB0D157k/QMqZo/fCpjWffHahR3
 JZeHSHsOVBi6/s/eHtCsMDoUhq+uMolmtDqGOqTFoWodIaaHsph8/A9tk6UOiecf8pSrf+
 EN09QzFkcZ8u337FUOL46kFKIllDD5drEEHdp1V4nvmBgYo8hYqIzM/A+9a0kHHNl5/FRh
 j6Gqb6uJ3qPSbMu6tMwbfPXUkWu2+8JLD96lbsd4KEp5BDr35Ee5tWptdU3/ug==
From: Tomasz =?utf-8?Q?Ho=C5=82ubowicz?= <mail@HIDDEN>
To: Eshel Yaron <me@HIDDEN>, =?utf-8?Q?Tomasz_Ho=C5=82ubowicz_via?=
 =?utf-8?Q?_Bug_reports_for_GNU_Emacs=2C_the_Swiss_army_knife_of_text_edit?=
 =?utf-8?Q?ors?= <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <m1cyirfbhf.fsf@HIDDEN>
References: <87cyirbfpd.fsf@HIDDEN> <m1cyirfbhf.fsf@HIDDEN>
Date: Tue, 19 Nov 2024 17:56:46 +0100
Message-ID: <87frnnkvqp.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Migadu-Flow: FLOW_OUT
Received-SPF: pass client-ip=2001:41d0:1004:224b::b9;
 envelope-from=mail@HIDDEN; helo=out-185.mta0.migadu.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, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
Cc: 74437 <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: -2.4 (--)

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

Hello,

On Tue, Nov 19 2024, Eshel Yaron wrote:

> Side note: it is better to use (completion-preview-active-mode -1)
> instead of (completion-preview-hide) to dismiss the preview, since
> disabling the minor mode performs additional cleanup.  Perhaps I should
> mention that in the documentation somewhere... :)
>
Thank you for that tip!

> Thank you for this report.  I can reproduce the extended delay here.
> (In the future, please provide a minimal recipe to reproduce the issue
> starting from emacs -Q, if possible.)

Apologies for a bit noisy report, I wrote it in a bit of a rush.

If anyone would like to reproduce this issue, I believe below recipe
should be helpful:

(require 'flyspell)
(add-hook 'org-mode-hook #'flyspell-mode)

(require 'completion-preview)
(setopt completion-preview-idle-delay 0.2)
(push 'org-self-insert-command completion-preview-commands)

(global-completion-preview-mode 1)

After that open an Org file and try to trigger completion-preview by
writing a part of a word. Completion results most likely depend on the
contents of file pointed by ispell-alternate-dictionary value. If that
file is empty there might be no completions available.

> The root cause is a peculiarity of flyspell-mode: it calls sit-for and
> blocks Emacs for 3 whole seconds (by default, see flyspell-delay) after
> certain commands, including after (org-)self-insert-command.  This also
> blocks the idle timer that Completion Preview mode uses, unfortunately.
>
> A quick search shows that this behavior of flyspell affects other
> features as well.  For example, IIUC, auto completion in Corfu switched
> to using run-at-time instead of run-with-idle-timer due to this issue.
>
> I think flyspell should be modified to use a timer instead of sit-for,
> so as to avoid blocking idle timers.  I can come up with such a patch,
> but it's not quite trivial, so I wonder what others think about this
> issue and how it should be addressed.
>
> As a stopgap, you can try setting flyspell-delay to 0.

Thank you for help and explanation. I will try flyspell-delay 0 for a
time (or stick with completion-preview-mode only for prog-mode buffers
at it seems more appropriate).

Kind wishes,
Tomasz Ho=C5=82ubowicz


--=-=-=
Content-Type: multipart/signed; boundary="==-=-=";
	micalg=pgp-sha512; protocol="application/pgp-signature"

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



--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIwEARYKADQWIQRIVmsvIMl2XHZKlC7XvHvDVbxH+AUCZzzDThYcbWFpbEBhbHRl
cm5hdGV2ZWQuY29tAAoJENe8e8NVvEf4RXUA/A8DdiQjP26e+fzCIj05LuVU/2CF
tLHFR+pBl10OPCamAQCsTQplI4mTctKYOmMt/idyOzWM97jHosQLqtXKS10SBA==
=Swyk
-----END PGP SIGNATURE-----
--==-=-=--

--=-=-=--




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

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


Received: (at 74437) by debbugs.gnu.org; 19 Nov 2024 16:13:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 11:13:24 2024
Received: from localhost ([127.0.0.1]:43763 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDQqx-0005es-QO
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:13:24 -0500
Received: from mail.eshelyaron.com ([107.175.124.16]:49010 helo=eshelyaron.com)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1tDQqt-0005eY-Qy
 for 74437 <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:13:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1732032799;
 bh=xizYcHj1Ll/4P9LtdIdiq1Jddq2NyYkEyQfEgWIE8jM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=fPu1o/2imONrPJUdj1iM4ONiIQIE75iysACgBNPlbiEeZueAbB1GfdccH0ONkuxG0
 A5kHDnMKMaTVd8UhOhkYjxyw2/Aym/h5udQlsmVgdRn0xM+DKeOLH9/s3Baw9CgrK7
 rEIRcebKLluo0D3ASMoFnyiKTaA9TJf13idPQYokS7vLsW2jWkl83q2GAq+DGWPv/k
 /CoijIoQrIAzQLAhwsFKUIGg0iMjGIxJGb+DjXy9ZEVCjKxoou4ZmG+1VOaPuACv19
 UQOgq4F4BEQzsva3bmP21LnoClttCXpiTUMioFsZ/m0J3fbZ3365ymd9klMHHIi6cY
 g3nQLQs2AU2tw==
From: Eshel Yaron <me@HIDDEN>
To: Tomasz =?utf-8?Q?Ho=C5=82ubowicz?= via "Bug reports for GNU Emacs, the
 Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <87cyirbfpd.fsf@HIDDEN> ("Tomasz =?utf-8?Q?Ho=C5=82?=
 =?utf-8?Q?ubowicz?= via \"Bug
 reports for GNU Emacs, the Swiss army knife of text editors\""'s
 message of "Tue, 19 Nov 2024 12:55:42 +0100")
References: <87cyirbfpd.fsf@HIDDEN>
Date: Tue, 19 Nov 2024 17:13:16 +0100
Message-ID: <m1cyirfbhf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74437
Cc: 74437 <at> debbugs.gnu.org,
 Tomasz =?utf-8?Q?Ho=C5=82ubowicz?= <mail@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 (-)

Hi there,

Tomasz Ho=C5=82ubowicz writes:

> Hello,
>
> This is my configuration for completion-preview:
>
> (use-package completion-preview
>   :hook (after-init . global-completion-preview-mode)
>   :bind (:map completion-preview-active-mode-map
>               ("M-n" . completion-preview-next-candidate)
>               ("M-p" . completion-preview-prev-candidate))
>   :custom (completion-preview-idle-delay 0.2)
>   :config
>   ;; Org mode has a custom `self-insert-command'
>   (push 'org-self-insert-command completion-preview-commands)
>
>   ;; Hide `completion-preview' overlay when invoking `completion-in-regio=
n'
>   (with-eval-after-load 'consult
>     (advice-add 'consult-completion-in-region :before (lambda (&rest _) (=
completion-preview-hide)))))

Side note: it is better to use (completion-preview-active-mode -1)
instead of (completion-preview-hide) to dismiss the preview, since
disabling the minor mode performs additional cleanup.  Perhaps I should
mention that in the documentation somewhere... :)

> When I enter org-mode file and flyspell-mode is toggled on then the
> completion-preview-idle-delay is much longer in reality that 0.2s. After
> I disable flyspell-mode, then the delay is truly 0.2s. It
> seems that completion-preview is being delayed by flyspell checking
> currently written word. It makes sense if we consider 'idle' literally,
> but I'm not sure if this is desired.

Thank you for this report.  I can reproduce the extended delay here.
(In the future, please provide a minimal recipe to reproduce the issue
starting from emacs -Q, if possible.)

The root cause is a peculiarity of flyspell-mode: it calls sit-for and
blocks Emacs for 3 whole seconds (by default, see flyspell-delay) after
certain commands, including after (org-)self-insert-command.  This also
blocks the idle timer that Completion Preview mode uses, unfortunately.

A quick search shows that this behavior of flyspell affects other
features as well.  For example, IIUC, auto completion in Corfu switched
to using run-at-time instead of run-with-idle-timer due to this issue.

I think flyspell should be modified to use a timer instead of sit-for,
so as to avoid blocking idle timers.  I can come up with such a patch,
but it's not quite trivial, so I wonder what others think about this
issue and how it should be addressed.

As a stopgap, you can try setting flyspell-delay to 0.


Best,

Eshel




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

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


Received: (at submit) by debbugs.gnu.org; 19 Nov 2024 16:13:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 11:13:30 2024
Received: from localhost ([127.0.0.1]:43766 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDQr3-0005fG-Gy
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:13:30 -0500
Received: from lists.gnu.org ([209.51.188.17]:54566)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1tDQqz-0005f5-Ke
 for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 11:13:26 -0500
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 <me@HIDDEN>) id 1tDQqz-0002vM-9w
 for bug-gnu-emacs@HIDDEN; Tue, 19 Nov 2024 11:13:25 -0500
Received: from mail.eshelyaron.com ([107.175.124.16] helo=eshelyaron.com)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1tDQqu-0006kI-8a
 for bug-gnu-emacs@HIDDEN; Tue, 19 Nov 2024 11:13:25 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com;
 s=mail; t=1732032799;
 bh=xizYcHj1Ll/4P9LtdIdiq1Jddq2NyYkEyQfEgWIE8jM=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=fPu1o/2imONrPJUdj1iM4ONiIQIE75iysACgBNPlbiEeZueAbB1GfdccH0ONkuxG0
 A5kHDnMKMaTVd8UhOhkYjxyw2/Aym/h5udQlsmVgdRn0xM+DKeOLH9/s3Baw9CgrK7
 rEIRcebKLluo0D3ASMoFnyiKTaA9TJf13idPQYokS7vLsW2jWkl83q2GAq+DGWPv/k
 /CoijIoQrIAzQLAhwsFKUIGg0iMjGIxJGb+DjXy9ZEVCjKxoou4ZmG+1VOaPuACv19
 UQOgq4F4BEQzsva3bmP21LnoClttCXpiTUMioFsZ/m0J3fbZ3365ymd9klMHHIi6cY
 g3nQLQs2AU2tw==
From: Eshel Yaron <me@HIDDEN>
To: Tomasz =?utf-8?Q?Ho=C5=82ubowicz?= via "Bug reports for GNU Emacs, the
 Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#74437: 30.0.92; completion-preview-idle-delay is delayed by
 flyspell
In-Reply-To: <87cyirbfpd.fsf@HIDDEN> ("Tomasz =?utf-8?Q?Ho=C5=82?=
 =?utf-8?Q?ubowicz?= via \"Bug
 reports for GNU Emacs, the Swiss army knife of text editors\""'s
 message of "Tue, 19 Nov 2024 12:55:42 +0100")
References: <87cyirbfpd.fsf@HIDDEN>
Date: Tue, 19 Nov 2024 17:13:16 +0100
Message-ID: <m1cyirfbhf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=107.175.124.16; envelope-from=me@HIDDEN;
 helo=eshelyaron.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,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
Cc: 74437 <at> debbugs.gnu.org,
 Tomasz =?utf-8?Q?Ho=C5=82ubowicz?= <mail@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: -2.4 (--)

Hi there,

Tomasz Ho=C5=82ubowicz writes:

> Hello,
>
> This is my configuration for completion-preview:
>
> (use-package completion-preview
>   :hook (after-init . global-completion-preview-mode)
>   :bind (:map completion-preview-active-mode-map
>               ("M-n" . completion-preview-next-candidate)
>               ("M-p" . completion-preview-prev-candidate))
>   :custom (completion-preview-idle-delay 0.2)
>   :config
>   ;; Org mode has a custom `self-insert-command'
>   (push 'org-self-insert-command completion-preview-commands)
>
>   ;; Hide `completion-preview' overlay when invoking `completion-in-regio=
n'
>   (with-eval-after-load 'consult
>     (advice-add 'consult-completion-in-region :before (lambda (&rest _) (=
completion-preview-hide)))))

Side note: it is better to use (completion-preview-active-mode -1)
instead of (completion-preview-hide) to dismiss the preview, since
disabling the minor mode performs additional cleanup.  Perhaps I should
mention that in the documentation somewhere... :)

> When I enter org-mode file and flyspell-mode is toggled on then the
> completion-preview-idle-delay is much longer in reality that 0.2s. After
> I disable flyspell-mode, then the delay is truly 0.2s. It
> seems that completion-preview is being delayed by flyspell checking
> currently written word. It makes sense if we consider 'idle' literally,
> but I'm not sure if this is desired.

Thank you for this report.  I can reproduce the extended delay here.
(In the future, please provide a minimal recipe to reproduce the issue
starting from emacs -Q, if possible.)

The root cause is a peculiarity of flyspell-mode: it calls sit-for and
blocks Emacs for 3 whole seconds (by default, see flyspell-delay) after
certain commands, including after (org-)self-insert-command.  This also
blocks the idle timer that Completion Preview mode uses, unfortunately.

A quick search shows that this behavior of flyspell affects other
features as well.  For example, IIUC, auto completion in Corfu switched
to using run-at-time instead of run-with-idle-timer due to this issue.

I think flyspell should be modified to use a timer instead of sit-for,
so as to avoid blocking idle timers.  I can come up with such a patch,
but it's not quite trivial, so I wonder what others think about this
issue and how it should be addressed.

As a stopgap, you can try setting flyspell-delay to 0.


Best,

Eshel




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

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


Received: (at submit) by debbugs.gnu.org; 19 Nov 2024 15:04:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 10:04:08 2024
Received: from localhost ([127.0.0.1]:43617 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tDPlu-0002Rj-Pg
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 10:04:08 -0500
Received: from lists.gnu.org ([209.51.188.17]:40430)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mail@HIDDEN>) id 1tDMpx-0001kV-Q6
 for submit <at> debbugs.gnu.org; Tue, 19 Nov 2024 06:56:08 -0500
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 <mail@HIDDEN>)
 id 1tDMpr-00027Q-RI
 for bug-gnu-emacs@HIDDEN; Tue, 19 Nov 2024 06:55:59 -0500
Received: from out-185.mta0.migadu.com ([91.218.175.185])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mail@HIDDEN>)
 id 1tDMpn-0006YI-Fk
 for bug-gnu-emacs@HIDDEN; Tue, 19 Nov 2024 06:55:58 -0500
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alternateved.com;
 s=key1; t=1732017345;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type;
 bh=b9amD6TDqUIT2rMaPwNx5tYx+2jMvkxWEjRin/jBdVw=;
 b=JLLWvmFH/d95rLL1u927N0pHZSy2Oma8MVneWNqC6xYCBmcBxMYr6fTk3dj5v6tWwFwECL
 64AborbCTY1CnAnMPEdsiaGAnhvVW3WhCZhNmtr5ZTeHCG9CjWt55pUaE+aKvQySwmN9tb
 cZAUPiG+tCjT96f281iKK/hLxjWkUz0YE4lt5PWrTg0q6x7angIzOoXhwONyGG7u1/sYin
 5JNABvPm6B+JQgLtXhz53kFFlTfeC84ec7DxdLIRT0XjDa/o1y1Yb3jChX7CMeGf4q95wv
 zWTrveLOdSKR5Huo419stvwdpBU4h0fBAcHeP8fOa12M0IvbuJ60f9AYfvw5bA==
From: =?utf-8?Q?Tomasz_Ho=C5=82ubowicz?= <mail@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 30.0.92; completion-preview-idle-delay is delayed by flyspell
X-Debbugs-Cc: 
Date: Tue, 19 Nov 2024 12:55:42 +0100
Message-ID: <87cyirbfpd.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Migadu-Flow: FLOW_OUT
Received-SPF: pass client-ip=91.218.175.185;
 envelope-from=mail@HIDDEN; helo=out-185.mta0.migadu.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,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Tue, 19 Nov 2024 10:04:05 -0500
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: -2.4 (--)

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

Hello,

This is my configuration for completion-preview:

(use-package completion-preview
  :hook (after-init . global-completion-preview-mode)
  :bind (:map completion-preview-active-mode-map
              ("M-n" . completion-preview-next-candidate)
              ("M-p" . completion-preview-prev-candidate))
  :custom (completion-preview-idle-delay 0.2)
  :config
  ;; Org mode has a custom `self-insert-command'
  (push 'org-self-insert-command completion-preview-commands)

  ;; Hide `completion-preview' overlay when invoking `completion-in-region'
  (with-eval-after-load 'consult
    (advice-add 'consult-completion-in-region :before (lambda (&rest _) (completion-preview-hide)))))

When I enter org-mode file and flyspell-mode is toggled on then the
completion-preview-idle-delay is much longer in reality that 0.2s. After
I disable flyspell-mode, then the delay is truly 0.2s. It
seems that completion-preview is being delayed by flyspell checking
currently written word. It makes sense if we consider 'idle' literally,
but I'm not sure if this is desired.

In GNU Emacs 30.0.92 (build 1, x86_64-redhat-linux-gnu, GTK+ Version
 3.24.43, cairo version 1.18.0) of 2024-11-19 built on
 f37c2cd00c6a4c8fbc0fa73e20903c45
System Description: Fedora Linux 41 (Toolbx Container Image)

Configured using:
 'configure --build=x86_64-redhat-linux --host=x86_64-redhat-linux
 --program-prefix= --disable-dependency-tracking --prefix=/usr
 --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
 --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include
 --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var
 --runstatedir=/run --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --with-cairo --with-dbus --with-gif
 --with-gpm=no --with-harfbuzz --with-jpeg --with-modules
 --with-native-compilation=aot --with-pgtk --with-png --with-rsvg
 --with-sqlite3 --with-tiff --with-tree-sitter --with-webp --with-xpm
 build_alias=x86_64-redhat-linux host_alias=x86_64-redhat-linux CC=gcc
 'CFLAGS=-DMAIL_USE_LOCKF -O2 -flto=auto -ffat-lto-objects -fexceptions
 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security
 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64
 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
 -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer
 -mno-omit-leaf-frame-pointer ' 'LDFLAGS=-Wl,-z,relro -Wl,--as-needed
 -Wl,-z,pack-relative-relocs -Wl,-z,now
 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1
 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' CXX=g++ 'CXXFLAGS=-O2
 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches
 -pipe -Wall -Werror=format-security
 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64
 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection
 -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer
 -mno-omit-leaf-frame-pointer '
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  denote-menu-bar-mode: t
  flyspell-mode: t
  rcirc-track-minor-mode: t
  server-mode: t
  recentf-mode: t
  savehist-mode: t
  save-place-mode: t
  repeat-mode: t
  global-subword-mode: t
  subword-mode: t
  delete-selection-mode: t
  electric-pair-mode: t
  pixel-scroll-precision-mode: t
  global-auto-revert-mode: t
  vertico-mode: t
  marginalia-mode: t
  global-completion-preview-mode: t
  completion-preview-mode: t
  diff-hl-margin-local-mode: t
  diff-hl-margin-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  global-treesit-auto-mode: t
  minibuffer-electric-default-mode: t
  minibuffer-depth-indicate-mode: t
  popper-echo-mode: t
  popper-mode: t
  windmove-mode: t
  override-global-mode: t
  apheleia-global-mode: t
  apheleia-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/var/home/alternateved/.config/emacs/elpa/transient-20241115.2034/transient hides /usr/share/emacs/30.0.92/lisp/transient

Features:
(shadow sort mail-extr misearch multi-isearch dired-aux hl-line denote
xref emacsbug cl-print vertico-directory completion help-fns radix-tree
puni pulse color mule-util orderless dabbrev tempel apheleia
apheleia-rcs apheleia-dp apheleia-formatters apheleia-utils apheleia-log
apheleia-formatter-context embark-org embark-consult embark ffap vc-git
cape oc-basic org-element org-persist org-id org-refile org-element-ast
inline avl-tree generator ol-eww eww xdg url-queue mm-url ol-rmail
ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view
mml-smime smime dig gnus-sum shr pixel-fill kinsoku url-file svg dom
gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap
nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range message
sendmail yank-media rfc822 mml mml-sec mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util
mail-prsvr ol-docview doc-view jka-compr image-mode exif ol-bibtex
bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-src sh-script smie executable ob-comint
org-pcomplete pcomplete org-list org-footnote org-faces org-entities
org-version ob-emacs-lisp ob-core ob-eval org-cycle org-table ol
org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu
calendar cal-loaddefs org-compat org-macs format-spec comp comp-cstr
comp-run comp-common rx cursor-sensor vertico-repeat consult bookmark
flyspell ispell gnutls network-stream puny nsm rcirc epa-file epa
derived epg rfc6068 epg-config parse-time iso8601 cus-start server
noutline outline time-date checkdoc lisp-mnt flymake project compile
text-property-search comint ansi-osc ansi-color warnings thingatpt
recentf tree-widget savehist saveplace repeat cap-words superword
subword delsel elec-pair pixel-scroll cua-base ring autorevert
filenotify vertico marginalia compat completion-preview
exec-path-from-shell diff-hl-margin diff-hl-dired dired dired-loaddefs
diff-hl log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode
track-changes flymake-collection-hook treesit-auto treesit minibuf-eldef
mb-depth popper-echo popper windmove modus-operandi-theme modus-themes
disp-table advice edmacro kmacro use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
cl-extra help-mode use-package-core finder-inf ajrepl-autoloads
apheleia-autoloads avy-autoloads cape-autoloads consult-dir-autoloads
corfu-terminal-autoloads corfu-autoloads denote-autoloads
diff-hl-autoloads dts-mode-autoloads eat-autoloads
edit-indirect-autoloads elfeed-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads exec-path-from-shell-autoloads
flymake-collection-autoloads geiser-guile-autoloads geiser-autoloads
gptel-autoloads haskell-mode-autoloads janet-ts-mode-autoloads
ledger-mode-autoloads lingva-autoloads magit-autoloads pcase
magit-section-autoloads marginalia-autoloads markdown-mode-autoloads
olivetti-autoloads orderless-autoloads pcmpl-args-autoloads
popon-autoloads popper-autoloads puni-autoloads easy-mmode
purescript-mode-autoloads rainbow-mode-autoloads sly-autoloads
smartparens-autoloads dash-autoloads tempel-autoloads
transient-autoloads treesit-auto-autoloads vertico-autoloads
vundo-autoloads web-mode-autoloads wgrep-autoloads info
with-editor-autoloads xclip-autoloads package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt bytecomp byte-compile url-vars gv cus-edit pp cus-load
icons wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc
paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode
mwheel term/pgtk-win pgtk-win term/common-win touch-screen pgtk-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads dbusbind
inotify dynamic-setting system-font-setting font-render-setting cairo
gtk pgtk multi-tty move-toolbar make-network-process native-compile
emacs)

Memory information:
((conses 16 736317 667463) (symbols 48 41370 4) (strings 32 204409 35035)
 (string-bytes 1 6531566) (vectors 16 68015) (vector-slots 8 1503632 408280)
 (floats 8 602 7069) (intervals 56 3248 2681) (buffers 992 28))

--=-=-=
Content-Type: multipart/signed; boundary="==-=-=";
	micalg=pgp-sha512; protocol="application/pgp-signature"

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


--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iIwEARYKADQWIQRIVmsvIMl2XHZKlC7XvHvDVbxH+AUCZzx8vhYcbWFpbEBhbHRl
cm5hdGV2ZWQuY29tAAoJENe8e8NVvEf4XDABAIdwqWRObkq1NvgcEL50eX3HjNOZ
x4TiHAQ7rV93vgm/AP4meOOmGtam0CCwElmTi6SY32RolRkD3HQXYah+Z6rFCA==
=0FU2
-----END PGP SIGNATURE-----
--==-=-=--

--=-=-=--




Acknowledgement sent to Tomasz Hołubowicz <mail@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#74437; 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: Sun, 12 Jan 2025 05:45:02 UTC

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