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.bugs Subject: bug#41531: 27.0.91; Better handle asynchronous eldoc backends Date: Sat, 4 Jul 2020 13:04:35 +0300 Message-ID: References: <875zckuet9.fsf@gmail.com> <87sgecssch.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37083"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 Cc: Stefan Monnier , andreyk.mad@gmail.com To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= , 41531@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jul 04 12:05:12 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1jrf2l-0009XH-4R for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 04 Jul 2020 12:05:11 +0200 Original-Received: from localhost ([::1]:36102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jrf2j-0003tY-N4 for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 04 Jul 2020 06:05:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40226) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jrf2d-0003tQ-16 for bug-gnu-emacs@gnu.org; Sat, 04 Jul 2020 06:05:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:46541) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jrf2c-0002XQ-Nh for bug-gnu-emacs@gnu.org; Sat, 04 Jul 2020 06:05:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jrf2c-0004Hx-Gh for bug-gnu-emacs@gnu.org; Sat, 04 Jul 2020 06:05:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 04 Jul 2020 10:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41531 X-GNU-PR-Package: emacs Original-Received: via spool by 41531-submit@debbugs.gnu.org id=B41531.159385708916458 (code B ref 41531); Sat, 04 Jul 2020 10:05:02 +0000 Original-Received: (at 41531) by debbugs.gnu.org; 4 Jul 2020 10:04:49 +0000 Original-Received: from localhost ([127.0.0.1]:58087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jrf2O-0004HO-PT for submit@debbugs.gnu.org; Sat, 04 Jul 2020 06:04:48 -0400 Original-Received: from mail-wm1-f41.google.com ([209.85.128.41]:34171) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jrf2L-0004HA-Lk for 41531@debbugs.gnu.org; Sat, 04 Jul 2020 06:04:46 -0400 Original-Received: by mail-wm1-f41.google.com with SMTP id g10so12360449wmc.1 for <41531@debbugs.gnu.org>; Sat, 04 Jul 2020 03:04:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=VwXM7qoUhqf+HEwuUmgUlTsVIN30W8k0bdpZKi4QzKs=; b=RtyCgyys45QhpoUJYZ7ddJqlVayFuLHTj5NxPJ4ikwBh3G+ghow+QTo9ixZb+rC1jU c1SwCnp7JA9rE/zCIqqhETN6gxbjhF/nQd1LNUafC0koQt/+Lc+pOHv0kYEHlpXZ8isH Q0F+VpcQZb3u1o93Dyd5kbrs9RjYUzTQtCXQr3qyNOyzYSTEgs/e2qBDowArZh0mXBYg XdTGdH+SItLyZApAGtmnkiFVayZxVpfO5H11CYT3lPT6+00862VmOateMPp+I50jpwcP erFWK7PqKMgGi0LJ89ZDa4/MY9KUfbBobu7hcuuuVIej/q/lpKw8xi26Su0mxAjVaIwA mYKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=VwXM7qoUhqf+HEwuUmgUlTsVIN30W8k0bdpZKi4QzKs=; b=D9wD4G6D4UR/VkMgWtjcg32QOMA5ZormDqD7hZeU+w1vrv6Y8/WHCSFKHwbYvQqb7J 1o2qsMW8LJJh5FB4pfTggngwvrzqc0fv/72TuFOgIIzX8fvtJjLobSW5/HYNYojB2CJs aa6XK3nYCSpT/8SFUjTncLMTX/pLAPN2ZK0A6kcqCeSF0OXcAaTjh/gcGeGwNKaNv+pK 47sVSo6asTyqpV2W3zsDzU4j4dv11wk0fOgf+oQvdnQqgjoFNh42Qy5CNkQhQ9vv7CUC 4cHqR+Dxc+P/xGUXqEZ3p2XB2WgDotpV9DXnkuj161xnAmYOeVeOULc8goZ/1TjkAG7L TCNA== X-Gm-Message-State: AOAM5318L7HGyPkaEqKQMoXc6lgMui2MXpv2Vcx25uIqNzTNO6JITFTD ifh6mVy4rZU518nOT8UNpZM= X-Google-Smtp-Source: ABdhPJy3E2m7Ex0GKsGxe1mqE8VfwX7XIsvZk927yjXGSeiwH9pS8gVezgvymFYU1D0xPdF+OXPsZw== X-Received: by 2002:a05:600c:258:: with SMTP id 24mr1430404wmj.126.1593857078777; Sat, 04 Jul 2020 03:04:38 -0700 (PDT) Original-Received: from [192.168.0.3] ([66.205.73.129]) by smtp.googlemail.com with ESMTPSA id p4sm17554961wrx.63.2020.07.04.03.04.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 04 Jul 2020 03:04:37 -0700 (PDT) In-Reply-To: <87sgecssch.fsf@gmail.com> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:182688 Archived-At: On 30.06.2020 14:31, João Távora wrote: > Dmitry has expressed his intent to make the new eldoc.el work with a new > futures/promises library. He prototyped one of those libraries. I have > nothing against that in the future. However, > > 1. I don't have the resources to make the eldoc.el prototype work with > Dmitry's or other libraries; > > 2. We should revisit the purpose and the details of that and other > libraries in a separate discussion. For now it's high time we > advance the Eldoc libray;. Unsurprisingly, I object to this approach. We should have better async support in multiple Emacs facilities, and that means standardizing on some particular async primitives and functions that can manipulate them. There is no need to release support for ad-hoc async values (you didn't like mine, so it's only fair play that I object to yours) when we can transition to full futures right away. I'll get into a little more detail in the more full review, tonight or tomorrow, but for now my impression is that, in the absence of such standard library and async manipulation functions, you decided to implement them specially in Eldoc. Even though most of that logic should be extracted to general purpose code that manipulates async objects (futures/promises or the like). And I wonder how the desire not to have such logic in Eglot has influenced your total vision of the API. Because with futures in standard library, it could look fairly different, and could need fewer changes compared to its current shape. Regarding #1, it should be trivial to reimplement on top of futures. I could do this myself, as long as everybody is fine with the proposed shape of futures on standardize on.