From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Adding Flycheck to NonGNU ELPA Date: Fri, 23 Feb 2024 23:09:53 +0200 Message-ID: References: <41bdb94a-3f9c-4b46-b061-b0c5e31a403e@app.fastmail.com> <871q98bb7q.fsf@posteo.net> <72490bec-175b-46b6-aaf9-153b3c242b70@app.fastmail.com> <87le7g9tg9.fsf@posteo.net> <874je413vo.fsf@tanaka.verona.se> <87le7f1hlq.fsf@posteo.net> <69829f55-511b-4543-9a1b-938a5e8ac08c@gutov.dev> <87zfvtwy2w.fsf@posteo.net> <706be920-cbd4-42d8-8c76-3abdb7e7b026@gutov.dev> <87edd5wv59.fsf@posteo.net> <553db84b-e29b-4622-a02d-77e250f2d1d2@gutov.dev> <6F5EE2C9-D4C9-46BB-A478-74A360059B90@sanityinc.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26635"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: Steve Purcell , Stefan Kangas , Stefan Monnier , Philip Kaludercic , joakim@verona.se, Bozhidar Batsov , Emacs Devel To: Spencer Baugh Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Feb 23 22:38:11 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rddFD-0006c9-0J for ged-emacs-devel@m.gmane-mx.org; Fri, 23 Feb 2024 22:38:11 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rddDh-0001Fb-KB; Fri, 23 Feb 2024 16:36:37 -0500 Original-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 ) id 1rdco1-0002Si-Db for emacs-devel@gnu.org; Fri, 23 Feb 2024 16:10:05 -0500 Original-Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rdcny-0002T7-75 for emacs-devel@gnu.org; Fri, 23 Feb 2024 16:10:04 -0500 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 921A75C0076; Fri, 23 Feb 2024 16:09:58 -0500 (EST) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 23 Feb 2024 16:09:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1708722598; x=1708808998; bh=QZ4j1AO4D8/tfnD1y5oT7HHbOKJ3tTp1KHHvyjpFLIw=; b= k0i6KBJjTXOW+hbf0kcIaYjIcWMr+LBcnUAhCr9Dj/FLBsgbQqD1GBGbISpEjXF/ 8w3hld9gsKgKCuDWRAOLJ88NkggbVEo0Xq6/GLVZovMxv5orA1fksgeCwYa3qVB4 dA6LU7/2vikNkIxy0quRNoHpRAUsJytDSMQExFu2sogdYBUYGrKt9vl7ku/ZLLRK aCdoByk1cqwaBa5b6iuleQ6G7RtYhN86hqsk0hdzT4Xp1weFcgNkFvfCk7u1fVSK K+6nIFtTaDz0GaYcLQtIHkf2HVYGGB5SV35//yiQhkD4XuTll6SwGVYJ9ftPeqdH 1bAiweGLGpXj8hf8hFkaAw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1708722598; x= 1708808998; bh=QZ4j1AO4D8/tfnD1y5oT7HHbOKJ3tTp1KHHvyjpFLIw=; b=A ZA8xPfXKBI42bkKA8waFzxerP+jyGoYxH/Y1gaHKdw8KkGmmwFneuoufRKuUQdci 4EQFZIYR7IYrrjMBvVe3K+vOrDV6RKagdcXW5MTEFJHMqtikekAn+7GMdKvwm1Ye 55DwWnD/4+DnraxR7K3cObY6aGS2BgEBvwh5lHfxSnqqys6RIweaBBcejmf54rqt oTPHZ+oC3Q0aYIw2V3je9nqhgkm96mstfBrn+DjgVbaZLJ00QEEn2B9YIYb1lkrY iuQEISX2eUSNOTu7/7HoFFla59/9dwelOIwifZxlJOiCWvdG9oyJi6xb/LGWPa2U w2F8yg1zIdMSlY7PITPYg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrfeeigddugeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepteduleejgeehtefgheegjeekueehvdevieekueeftddvtdevfefhvdevgedu jeehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 23 Feb 2024 16:09:55 -0500 (EST) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=66.111.4.25; envelope-from=dmitry@gutov.dev; helo=out1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:316477 Archived-At: On 23/02/2024 18:20, Spencer Baugh wrote: > From looking at ruby-flymake--helper, maybe it would be best to have a > new helper for working with processes. It looks like > ruby-flymake--helper just wants to: > > 1. Send the current buffer text to a process. > 2. When the process exits cleanly, call a callback with all the > process's output. > > It seems like we could add a helper that supports that. Then > ruby-flymake--helper would disappear in favor of some > process-run-and-call function. Some kind of helper that covers the existing variations is indeed what I was thinking of. Though maybe (additionally) a macro version with a terse syntax would appeal to some, too. > Or... IMO, even better than a helper would be using Elisp threads for > this. Then there's no need for any callback stuff. Really, threads are > a natural fit for flymake, since flymake already provides a UI which can > display data computed asynchronously by threads, and that's IMO the > hardest part of using threads. I'm not sure about Lisp threads for this particular purpose because they carry their own complexity (flakier error handling, for example), and the asynchrony requirement is solved by the current callback-based interface. I think threads can bring more value where you would be able to write code in a sequential fashion, while having it executed asynchronously (unrelatedly, one of the subjects you touched on in bug#69188). But maybe I'm wrong, you're welcome to show otherwise, maybe with a code example.