From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: yyoncho Newsgroups: gmane.emacs.devel Subject: Re: Questions about throw-on-input Date: Fri, 15 May 2020 20:50:16 +0300 Message-ID: References: <8920fe6a-8fe4-addd-c29e-2213850bf974@web.de> <83k11f7v4q.fsf@gnu.org> <4506133a-5e63-4ae7-9b5d-830359e8b673@default> <65A78ACE-1A1E-4D45-B565-5D5788B8BB20@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000ded9d705a5b37220" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="93396"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Yuan Fu , Richard Stallman , emacs-devel , Philipp Stephani , Arthur Miller , Alexander Miller , Eli Zaretskii , Drew Adams To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri May 15 19:51:08 2020 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 1jZeUF-000OBa-T2 for ged-emacs-devel@m.gmane-mx.org; Fri, 15 May 2020 19:51:07 +0200 Original-Received: from localhost ([::1]:37132 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZeUE-00069O-V2 for ged-emacs-devel@m.gmane-mx.org; Fri, 15 May 2020 13:51:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48102) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZeTi-0005jz-N0 for emacs-devel@gnu.org; Fri, 15 May 2020 13:50:35 -0400 Original-Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]:46254) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jZeTg-0007dH-Db; Fri, 15 May 2020 13:50:34 -0400 Original-Received: by mail-lf1-x129.google.com with SMTP id v5so2510836lfp.13; Fri, 15 May 2020 10:50:30 -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; bh=0pvDrmasi2w9dP2jMk5zKpu17PKOG/q6OGAzWeuelc4=; b=iKdDGmGAnnvRYj7mAXShv5Qne0OQyNg6Icv9Lfa8QHmzwrW8wJx9UGuPiICAi8jgDm MIGhJRaXsw1qeuksSNFvs+kflnQrB2ulthxZR8tWrQuPAtTLGfOU2rj1Wh9H2PhaOr1x JfFjjZXYRcBHQJ6Fexmw0JrqPAueULc0u5d4lOObeBgR6VvHZOjLbptGOdZYb/OC0g78 MX9GaWvUDtr7xkMTCxDyy/WjO3gYVyyLbQ1nJxCmXoDNTraHhEZwK/r6AS7ZPHoTNML3 whTM7z30n6NE95poJ1mrBFFVEQtCLScFEVajyEq5oburM+fbZMCk4f7MvDU4F8OtWSsw vF8w== 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; bh=0pvDrmasi2w9dP2jMk5zKpu17PKOG/q6OGAzWeuelc4=; b=Nom5fjiLlxjaIn2f/7r4DQhgewja6wUgiEYL4M0dGGoZNFHWV80srJ4wq9aGcMOKqw kHwRoSvuRU58thC57DEE/kziAYn+KOHr3A9mNaFWOMf/OFMebGfYQsjDCdOJNb6gElXb gxpEHzzf3rbuCE3EgBXMhzICrA9uQjrXg4mT0odpFTHcNbi84Uud764LYptSNSrtQWEm yRbTOwfKNfmaW2bNGq3mPgX5I7VRC0x1IyiCwSG7zxaIN+tPt7/YCbqp7lz1R2ooT+P/ mZSCHxeJOAuJtNsXHPfA70JYZqUyEukG+uoyI3gqt2euXWFd+r/ChYEp0+q78EXzjZ78 vpWQ== X-Gm-Message-State: AOAM531W1gGNH5H7dOTBBz1Mt0w6gfCUApuTn0MO2BT1uqoaNwzIEBaO EWjXNEwI4hdOzJbKYRiJkkheI5t5tMuOFsIStm8= X-Google-Smtp-Source: ABdhPJweLQvmauIdPtCgbA4nJO788Takg+4sQ7khoqv2YPA9QuhZNL5F9SoFoImj3ZZL1H7o4kOOW4+WloX8HfN5xGg= X-Received: by 2002:a19:490d:: with SMTP id w13mr3126159lfa.96.1589565028487; Fri, 15 May 2020 10:50:28 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::129; envelope-from=yyoncho@gmail.com; helo=mail-lf1-x129.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.io gmane.emacs.devel:250408 Archived-At: --000000000000ded9d705a5b37220 Content-Type: text/plain; charset="UTF-8" Hi Stefan, If you don't need to share anything, than `async.el` does the trick. > But in most cases, in order to be able to show completion candidates, > you need to get access to some data. > FWIW if we consider the lsp-mode scenario the ability to start a separate thread which does not share anything with the main thread and introducing mechanisms for sending/receiving messages(either by copying the data or by transferring the ownership) will be very useful and won't break any existing elisp code. All this is similar to what emacs async is but without the interprocess and serialization overhead which is a dealbreaker for the described scenario. IMO this will be very useful even with some restrictions like not allowing buffer transfer. Thanks, Ivan --000000000000ded9d705a5b37220 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Stefan,


If you don't need to share anything, than `async.el` does the trick. But in most cases, in order to be able to show completion candidates,
you need to get access to some data.

FW= IW if we consider the lsp-mode scenario the ability to start a separate thr= ead which does not share anything with the main thread and introducing mech= anisms for sending/receiving messages(either by copying the data or by tran= sferring=C2=A0the ownership) will be very useful and won't break any ex= isting elisp code. All this is similar to what emacs async is but without= =C2=A0the interprocess and serialization overhead which is a dealbreaker fo= r the described scenario. IMO this will be very useful even with some restr= ictions like not allowing buffer transfer.

Thanks,=
Ivan
--000000000000ded9d705a5b37220--