From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: A femtolisp based emacs clone Date: Thu, 25 Aug 2016 08:28:32 -0400 Message-ID: References: <6ea295ed-010d-476d-b832-9e850a98a609@googlegroups.com> <20160823235249.b49733686b125af962883642@speakeasy.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1472133617 29341 195.159.176.226 (25 Aug 2016 14:00:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 25 Aug 2016 14:00:17 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Aug 25 16:00:10 2016 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bcvCP-0006gN-4I for geh-help-gnu-emacs@m.gmane.org; Thu, 25 Aug 2016 16:00:05 +0200 Original-Received: from localhost ([::1]:56438 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcvCM-0000Nb-H7 for geh-help-gnu-emacs@m.gmane.org; Thu, 25 Aug 2016 10:00:02 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bctm6-0001b9-3v for help-gnu-emacs@gnu.org; Thu, 25 Aug 2016 08:28:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bctm2-0004lO-0z for help-gnu-emacs@gnu.org; Thu, 25 Aug 2016 08:28:50 -0400 Original-Received: from [195.159.176.226] (port=53933 helo=blaine.gmane.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bctm1-0004jj-R6 for help-gnu-emacs@gnu.org; Thu, 25 Aug 2016 08:28:45 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1bctlu-0001jA-SP for help-gnu-emacs@gnu.org; Thu, 25 Aug 2016 14:28:38 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 31 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:pKgqG5cNtxpPwWmufcDpQHiIFow= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-Mailman-Approved-At: Thu, 25 Aug 2016 09:54:37 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:111193 Archived-At: > To your point, my biggest disappointment with emacs is its > client-server model. We have tramp. We have remote-X. For > high-latency connections, though, I always revert to terminal emuiation. > For some reason, it's the most responsive. Hurrah for 1982. Indeed. I think you could get the best of both worlds by using an approach similar to Tramp but running a little tramp-daemon on the other end, such that we can use a more efficient communication protocol (e.g. when saving a file we could locally diff it against the last version (of which the remote daemon would also keep a copy), and then only send the diff). This said, even using such a daemon it might be difficult to get good performance: part of the problem is the number of round-trips. E.g. when saving a file we have to check if the file was modified in the mean time and whether saving into a new inode would change the owner (etc...), which each require a round-trip. To get rid of these round-trips, we'd have to shortcut this code and delegate the higher-level "save file" operation to the remote server, which then has to perform those tasks but still obeying the locally set customizations about how to do each one of those tasks. > not a new idea: arguably screen, sed, and ed do it. But there's no > editor I know designed for unreliable, slow connections, which often as > not is what the Internet still is . IIRC the plan9 editor was designed with such a client/server idea. How well did it work in such high-latency situations I don't know, tho. Stefan