From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#41531: 27.0.91; Better handle asynchronous eldoc backends Date: Thu, 28 May 2020 00:57:56 +0100 Message-ID: References: <875zckuet9.fsf@gmail.com> <4987863b-d390-5f87-eb1c-2cca4f4b7262@yandex.ru> <87k10zsd85.fsf@gmail.com> <384e543b-61fd-fe10-605c-b511499ecec2@yandex.ru> <87ftbmr8d9.fsf@gmail.com> <8a1901d4-d8f1-ff45-ee2c-57e6770755bc@yandex.ru> <87tv02pits.fsf@gmail.com> <31721651-6c51-8c34-22cf-f68c0269016a@yandex.ru> <919188b1-154a-668a-7b0a-82fb96121c9e@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="92405"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 41531@debbugs.gnu.org, Stefan Monnier , Andrii Kolomoiets To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu May 28 01:59:09 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 1je5wz-000Nvm-AC for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 28 May 2020 01:59:09 +0200 Original-Received: from localhost ([::1]:56054 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1je5wy-0001rK-DU for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 27 May 2020 19:59:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1je5ws-0001rD-Rh for bug-gnu-emacs@gnu.org; Wed, 27 May 2020 19:59:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38790) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1je5ws-0006hr-Ih for bug-gnu-emacs@gnu.org; Wed, 27 May 2020 19:59:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1je5ws-0007bw-Ir for bug-gnu-emacs@gnu.org; Wed, 27 May 2020 19:59:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 27 May 2020 23:59: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.159062390029204 (code B ref 41531); Wed, 27 May 2020 23:59:02 +0000 Original-Received: (at 41531) by debbugs.gnu.org; 27 May 2020 23:58:20 +0000 Original-Received: from localhost ([127.0.0.1]:50336 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1je5wB-0007ay-VZ for submit@debbugs.gnu.org; Wed, 27 May 2020 19:58:20 -0400 Original-Received: from mail-io1-f53.google.com ([209.85.166.53]:36582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1je5w6-0007af-DZ for 41531@debbugs.gnu.org; Wed, 27 May 2020 19:58:18 -0400 Original-Received: by mail-io1-f53.google.com with SMTP id y18so7634558iow.3 for <41531@debbugs.gnu.org>; Wed, 27 May 2020 16:58:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=4ZisIWOGePaVkPJtqrM6MtOFQis99I73k2d/arP9AKk=; b=IqzgYZdLViTOVxwwlvExT3TIRk0ppj9euM28JIr0rqBLhjbS1l4bQqlvQuIX1PjlqP ULV+CYg1Thkg8Un8dOfGYvTnHFDCRuWONqGmN067KER8Ckv0vf3fig545+nint7rbO0y HyTvz3iaswy/sDVJR8YSoBHEG2OxdEbCIhEl9lCIv/nheW8U4NJVeU/60x/Lf5N1amJZ EZMlLMfZQIyRFI0S2Xq0FiAEDYq//7ySAs8pry9EaC1RjaqMrrmZ5UhDyoHuep1wpsuH /4nC/EblqvEpuQxeZjgUgqXuK91mfbin7JHeGRmFne7TWhHkF/MMb5XLLL8Z3cMmNV7S usKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=4ZisIWOGePaVkPJtqrM6MtOFQis99I73k2d/arP9AKk=; b=DLqw6trWnHB6yeG+fIEBFGfK5Smne9e163urKV4YDSgZ+Ph2GcqpaHXK8cn6qCNt8s bYec4JIzLEUQ89Zyjer5VhHMzML1NOXL/dBHqOYSMQrSAXDbnrIiCOIJxr6jSnoGmrNF VbKkusHhiWrZV8y2Lpn4WpnPDxw/OnQonUrXhBF4KtHRtuWlGviXqk0ozOVe9WyXIDTn 9C3qfw2ziQaFc5vLABcqMd6eB3HFzi3WaLZKXZIyZMRGLmNBMsaGB1DkY7yHxT/EG4Ov PMjWxiSzXwZJS6wTy4Kr8Jq9kS9arKk/8tQ5A9k+0nPOWWADLLkyycGDZ0g94fFJGsBM uRxA== X-Gm-Message-State: AOAM530wDK9DvVLt4hTyYhksFLvn/3mjQXUxHDaa0xvpUshTh3K4kAQK 4nPvixSf19TPIjNn59hlCi4UtzuSR8mARKp+l5E= X-Google-Smtp-Source: ABdhPJySypImtBw2v1DvVkVl44dbzs9eBTxpsDJ6GOKTmTmd5lLCIjla5mTAMb94SSZKx8sgFQDW35Oc0Vv2ubN4onw= X-Received: by 2002:a6b:6818:: with SMTP id d24mr341223ioc.57.1590623888644; Wed, 27 May 2020 16:58:08 -0700 (PDT) In-Reply-To: <919188b1-154a-668a-7b0a-82fb96121c9e@yandex.ru> 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:181119 Archived-At: On Thu, May 28, 2020 at 12:35 AM Dmitry Gutov wrote: > It's a somewhat incorrect behavior that is, however, easier to implement. In the futures, how would you prevent a client from giving you a stale future? You have the very same problem. Callbacks aren't "easier" to implement than futures, either. I'm not saying they are "superior", as you seem to be pretending with futures, They just happen to be the style that's most used in Emacs. Futures are really good when you bring in continuations: i.e. functions that can halt and resume their processing, so you can write normally, as if there was no async, but still have it happen automatically. But that requires an evaluator, which is what generator.el does, and that's what enables proper futures like the ones in emacs-aio. Anything other than that is just moving objects and funcalls around, for style (or lack thereof, to some people) > Either way, that would require an additional way to signal. Try to fit > this into your proposal. It won't match so well. I've already shown you're mistaken. > > Suspend this discussion? Sure, this discussion yes, if your want. > > But not this bugfix: that would be exactly what "holding hostage" > > means. Don't hold this bugfix hostage: it has nothing to do with > > futures. > > It's a new feature, not a bugfix. No it's not. Async clients are using internal functions. eldoc-message is an internal function. eldoc is broken for async clients, always has been. You know this, of course. I worked on a fix and your're holding it up because of a longing for an abstraction that you kinda like but are still having doubts about. Jo=C3=A3o