From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Ihor Radchenko Newsgroups: gmane.emacs.devel Subject: Re: What is the most useful potential feature which Emacs lacks? Date: Tue, 02 Jun 2020 13:15:18 +0800 Message-ID: <875zca3v6h.fsf@localhost> References: <87a71mm86d.fsf@red-bean.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="55146"; mail-complaints-to="usenet@ciao.gmane.io" Cc: excalamus@tutanota.com, van.ly+2020@sdf.org, emacs-devel@gnu.org To: Karl Fogel , Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jun 02 07:20:38 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 1jfzLq-000EFA-9r for ged-emacs-devel@m.gmane-mx.org; Tue, 02 Jun 2020 07:20:38 +0200 Original-Received: from localhost ([::1]:40448 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jfzLp-0001GE-BL for ged-emacs-devel@m.gmane-mx.org; Tue, 02 Jun 2020 01:20:37 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34028) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jfzLL-0000of-Ri for emacs-devel@gnu.org; Tue, 02 Jun 2020 01:20:07 -0400 Original-Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]:34317) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jfzLK-00066r-Qc; Tue, 02 Jun 2020 01:20:07 -0400 Original-Received: by mail-pj1-x1044.google.com with SMTP id a45so679320pje.1; Mon, 01 Jun 2020 22:20:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=wkMh1WryOZ/JBz2QyXLrGfw7V4QUk6GdqVynA+/8EjA=; b=jckpIgzB5wmKD+ykFxh6+n3KhLQ4GdB8WEXw/jvTfX9g4+88oFkmZhs1fqG4uqB7Zk EkNpZfwWU9NQ59lmBKzd6K6Y0ZwnN0R0c+oK/n/+udZyDe5CAQqxm1PzORJnneHBzch4 SKZP1Uutj3K/2rVBpF0NXBlVBdAQDXhk1FyzVYEoPpBm9PN/Yl6yybwMu7AuZaLHkfzz zBnKpjjl9xXZpv8lI0Fe47+iHisNlVvtFy41AmY4BxVz6Ycs5yPajPGcRjXCIn4d932E NbvQV9BuNek7NRyC6uDZ3SxzrbHFeaDg2MPlsc0OPmwtAieFMphvWDQ9Tnes6TLtWHaq 8IMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=wkMh1WryOZ/JBz2QyXLrGfw7V4QUk6GdqVynA+/8EjA=; b=hqazH2cKyou5fJEUfeJ3r0jQE1dwIC+SnTRm2A35WDsOfrD6fwBJ0iC4Ni8DXiHS+l kaF9pZTjg969SDzNga4+2RgpYbiM7J9qa06XtOH1/cD0kO5CgSFreYCptejolQHxh1KC VEeYXY+0ebKLI2YcsuBVSkxmp1iMBnnvpwQUYStGPL+gNrmh0fMoGR0rPZpE/DHX6aVB GFRcn8XGJw0HERZc/cf7XmJXo5qCw9lrWNJAwtabEb9Jz98Dx292ZNcc1vdBo9VOERRy LC0ink7FI4srV3X9yXl0tSxbWhyhq/w0kwPYxlXI/nnSIFT4pibJPftXjwmZ/yGQ+MDN mQZg== X-Gm-Message-State: AOAM533tlBdIIxpqmRrVRjMzmLRNoOMR1z0sfXhFGvJiLSWf2/u7uFDs n63VanyCy6gF213hlzIWXwY= X-Google-Smtp-Source: ABdhPJzpzowOc1da/mbl7EsVG3xZVfMRxqMcWeWj8iw+rkAebEIcTsucg2Fw8N9xKAcpR563AyG1Xg== X-Received: by 2002:a17:90a:d818:: with SMTP id a24mr3376873pjv.75.1591075204355; Mon, 01 Jun 2020 22:20:04 -0700 (PDT) Original-Received: from localhost ([23.27.206.164]) by smtp.gmail.com with ESMTPSA id t25sm1030908pgo.7.2020.06.01.22.20.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2020 22:20:03 -0700 (PDT) In-Reply-To: <87a71mm86d.fsf@red-bean.com> Received-SPF: pass client-ip=2607:f8b0:4864:20::1044; envelope-from=yantar92@gmail.com; helo=mail-pj1-x1044.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: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=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:251751 Archived-At: > Having separate Emacs processes that communicate with each other is best, I think. As a bonus, it might be used as a basis for true concurrency. Best, Ihor Karl Fogel writes: > On 31 May 2020, Richard Stallman wrote: >>It would be good to do that in a truly usable way. >> >>Emacs has had the feature of running multiple terminals at once for >>over 20 years, but there are bad problems in it. To do it right, to >>has to have a thread for each terminal, and they have to be able to >>get in and out of the minibuffer separately. >> >>The other way to do this is to have separate Emacs processes that >>communicate with each other. We would need to use modification hooks >>to take note of changes and transmit them to the other Emacses. >> >>Or perhaps one Emacs could be the "server", and the others act as clients, >>maintaining mirrors of the document. > > Having separate Emacs processes that communicate with each other is best, I think. > > As Yuri Khan pointed out, experienced users have customized their Emacsen in distinctive ways, such that having to edit inside someone else's Emacs setup would be annoying. > > Furthermore, there are privacy concerns with sharing an Emacs process. I might want to collaborate with people on one buffer while having private things in other buffers. It would be harder to reliably lock out access to those other buffers if the collaboration were happening in the same Emacs process. > > Meanwhile, this concern... > >>However, it then follows that each instance is going to have its own >>supporting tools. So, a power user who has an elaborate setup with LSP, >>flycheck, whatever, will not be able to share the advantages of his >>setup with a newbie. > > ...is not a big deal IMHO. The primary goal of collaborative editing is the editing. Anyway, if the expert can see the newbie editing in real time, the expert can suggest usage or configuration improvements, which the newbie can install or learn to do in her own Emacs. That's how teaching normally happens anyway. It's not important for the newbie to have access to the expert's personal customizations, because it's rare that the most useful lesson for a newbie involves duplicating some expert's idiosyncratic personal configuraton rather than learning some built-in thing already available in Emacs. I mean, the newbie might be urged to set a few variables in her .emacs, or turn on some auto-mode associations or something, but that's normal customization (and the expert can share *her* .emacs via the same collaborative editing method, if she wants to do so). > > I wish I had time to work on any of the leads at https://www.emacswiki.org/emacs/CollaborativeEditing. That page lists a number of protocols and third-party free software libraries that could be used to make Emacs do inter-process collaborative editing. The client side of Floobits plugin listed there is free software and seems promising (it is apparently working -- I have no direct experience of this, as I haven't used it because the server-side is proprietary. I emailed them in early May to ask how much it would cost to get them to liberate the server side, and never received a response). 'git clone https://github.com/Floobits/floobits-emacs.git' will get you the client-side code, anyway. > > Best regards, > -Karl >