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----- --==-=-=-- --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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?
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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?
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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----- --==-=-=-- --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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----- --==-=-=-- --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.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----- --==-=-=-- --=-=-=--
Tomasz Hołubowicz <mail@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#74437
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.