From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Ergus Newsgroups: gmane.emacs.help Subject: Re: Is Elisp really that slow? Date: Fri, 17 May 2019 19:19:17 +0200 Message-ID: <20190517171917.37qbj5bbl5wtnjd2@Ergus> References: <83ftpecwu1.fsf@gnu.org> <20190516161408.4dov3dwk5h4yoizn@Ergus> <838sv6cmwt.fsf@gnu.org> <20190516202327.5cgy2s4kppy3ahxa@Ergus> <871s0yqg2i.fsf@telefonica.net> <3210C8E9-7A74-47D6-81A0-470948E6D09C@gmail.com> <87r28xq0j1.fsf@telefonica.net> <20190517055202.ted62gt6hqcip7xt@Ergus> <83mujlbgjh.fsf@gnu.org> <87pnoht56v.fsf@mail.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="62783"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: NeoMutt/20180716 Cc: help-gnu-emacs@gnu.org To: Stefan Huchler Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri May 17 19:34:58 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hRgkz-000G8H-AE for geh-help-gnu-emacs@m.gmane.org; Fri, 17 May 2019 19:34:57 +0200 Original-Received: from localhost ([127.0.0.1]:51612 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRgky-0005dL-5J for geh-help-gnu-emacs@m.gmane.org; Fri, 17 May 2019 13:34:56 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:45858) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRggB-0001tB-S5 for help-gnu-emacs@gnu.org; Fri, 17 May 2019 13:30:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hRgVz-0001y2-IV for help-gnu-emacs@gnu.org; Fri, 17 May 2019 13:19:29 -0400 Original-Received: from sonic311-14.consmr.mail.bf2.yahoo.com ([74.6.131.124]:39358) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hRgVx-0001vu-T0 for help-gnu-emacs@gnu.org; Fri, 17 May 2019 13:19:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1558113564; bh=MR1H+hdpf9Tq6wNbQCpIUF06n06ieYLmV/JvuOhYFNw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject; b=r2lqaI+/UPH6zr5KOVnYXI6ttOYN0VU85sU2+FDzcB7zv5qsdQttWKHAiJHR0sAJasOISQ021tNLAFC4xXxFnIYiY9NcThuUC2KX65M+wJ5czeUIE+dkC1ZZPXGlsARHCTPHg/FfztwHL0b2j5uu38vfoaQA2/TZb6YGbXHxdQXNcYqtx8UGq6lyJ2RCa2iQQ+j56rK3VQ5TtjBmaQJxDUCSSMqJ0/tObY6VtB3bZ9Wa8GBI+mgD08npV87eDxTs9CQXmE5nukpEU8IKtnUR/c2TLsKt+MZbQ4k2DG1g3rA9HOe+h+lg98l26GhJvGV0LwoEDDqchNFvFx/6eTh3oA== X-YMail-OSG: pK02AzYVM1lKkeHBoIZmSPQlLUIRWsiwuFOWJxCHfGJrNsJWoNsnRzNkLK0FE.W pm11W4n2QjfNVDiVqnzguBGjbIud4gY1E6z49i8yEas73dXM064iAIp1TWSk0CfJhlceip9J8JwT hWXDcOX5RRTPvN4mjRlZJT1sh1ClwuHLsenXelEbCAskMofzapzPi0sdz2GyLA36aRyXQzUdOa1q jJlA_wf6hnS02FaYlnBSG6OskkWKZynPIX.KBR4PHCk.O1UY5DzvuXJHos9yvtl3T5Qg.ydH8sVA zb_3vplX3EJY3juT2Ibq.zeQb__wCVsq2q2r04AjGgwakr6HPHACW7TdSevCRuh.fAsBeCUZiqhg yX7FV8fyjj041rz8CNEg3ZBhkuH8D7Sm4m45P.4kIrM7Mg8xY71aG775YKLOtSokYNAWHJFNHS68 _7wV.QD4U.KthHU_rDz8_UaZ4Eg0LG7M1J6DACJY6nTsw4QwEChd4fAzH1T_zEP55vPHWRhXJtfv GkJfEzCmP.NXmhllblE0ICMqP.0goWuAqwt6NzglWgTYRjNfWgKvQQmh_35wrgWQTfZcSr6aNsgI ZFFp2eTumTZRdwt7WzSwb_N.u7T6qmmfsgPZlG7bLUtbdnP5OxJUVQqXE.Mn0xi7pTmCIe0xfKDJ CR3FS.Ef0UJVgL6fpCdYtEBr_xB9tYMkpyN1Sw4pZLww.dbb7knBTJpxfRlG0NwR5I5FrOGdX4NY .CtVWWtZIsHdqdzCtbQmyRQtTTx4gNaRkhNPjYvVgxDLeSMQG3axJTIaMXTWs0PrrX1cjrEHiXVh 29zBFj9iUFbYBaQoWBN52gC7WX48idZahNFzB79hBk Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.bf2.yahoo.com with HTTP; Fri, 17 May 2019 17:19:24 +0000 Original-Received: from 84.88.50.33 (EHLO Ergus) ([84.88.50.33]) by smtp425.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 272386f1a6ccc7c18f84bdc4eab2a088; Fri, 17 May 2019 17:19:22 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87pnoht56v.fsf@mail.de> X-Mailer: WebService/1.1.13634 hermes Apache-HttpAsyncClient/4.1.4 (Java/1.8.0_181) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 74.6.131.124 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:120503 Archived-At: On Fri, May 17, 2019 at 06:29:44PM +0200, Stefan Huchler wrote: >Hello guys, > >Eli Zaretskii writes: > >> If you want to argue that Emacs should be a dual-mode editor like the >> vi family, and that this is your "future", then we will never agree. >> One of the revolutions that Emacs brought to text editing was its lack >> of modality, where you just type text to have it inserted. Dual-mode >> editors are a thing of the past in my eyes, a remnant from the old >> days when editors didn't have the real-time display, where you needed >> to have commands like "move N lines from the current one, then delete >> M lines" etc. Please don't even get me (and others) started on this >> "feature". > >I was reading your conversation and was mostly on your side till here. I >have to disagree with you at this point, sure many of this do things 10 >times commands are very seldom useful, not never but seldom. > >But that has nothing to do with modal vs non modal. Modal is more >efficiant, something simple as copy / paste is not only less keys to >press but literally more healthy, pressing c + reposition + v instead of >M-k + reposition + C-Y is just better for your fingers. > >And for programmers 50% of commands you do as programmer are not basic >text manipulation like insert/delete key. So 50% of the >keystrokes/combitations you use on emacs are a attack on your health, >and are more likely to result in a error, hitting a long C-c C-q or even >longer commands is not so easy, even you don't get pain in your fingers. > >Btw it's not only pain where many emacs famous hackers became problems >with, it's also getting faster tired. > >http://ergoemacs.org/emacs/command-frequency.html > >But I have to admit that I use the paredit commands or at least some of >em not so much for navigation but for manipulation. It kind of makes >sense and they are mostly 1-2 modifier and a arrow key. They are easy to >remember and that is a plus of course, I just think that the GNU project >should prioratise the health of their Users more than the >rememberability. > >Btw there is a middle ground, look at xah-fly-keys, besides the modal >mode it also has a mode that depending on the keyboard can use key >combinations that are no keychords, so you don't have to hold a >modifier, which is what hurts your pinky. > >So I hit my easy accessable Menu key and then afterwards the c key for >copying as example, the holding of keys and then stretching to other >keys is what hurts the pinky so much and why C-c C-f as example is a >horrible command. > >Sadly we have to accept the current default keyboard layout therefor the >default settings in xah-fly keys is that space is the command key and >that only in command mode so for that you need the modal mode. > >But we should not forget that the old emacs defaults were made for more >ergonomic keyboards that today we don't have anymore: > >http://ergoemacs.org/emacs/emacs_kb_shortcuts_pain.html > >They had the Ctrl and meta/alt key switched. So witch a bit of flexing >you could press the ctrl key with your thumb and not with your pinky. > >So that the keyboard shortcuts are optimised for A rememberability and B >old lisps keyboards that 99.999% of the users don't use is surely not a >good default, I am sorry. > I have experienced the issue that when adding a new functionality (to isearch) there is not an available/standard method to assign a binding for it. But also I ended discovering a new set of shortcuts I didn't know. >A way to solve that would maybe be intergrating something like ergoemacs >or xah-fly-keys and if you start emacs without config ask do you want >modal or classic mode, or something along that line. > That could be something very interesting. I am not proposing to make all the ergoemacs changes, but there are interesting ideas there. But ergoemacs actually failed because all the modules and packages bind the default keys to the "expected" action. So for example next-line is hardcoded to anything that moves one line down in helm, counsel, emms, and so on. So at the end the user never gets a real 100% ergoemacs experience. Similar happens in evil mode or even in cua-mode that is integrated inside emacs. One never gets the 100% of the experience. >Heck switching Control and Meta key in all keyboard configurations would >probably better the situation a lot. Because that was what the first >developer wanted back then with their lisp keyboards, but because of >backward compatibility the sitution became worse because the keyboard >changed and no emacs developer reacted to it. > >> And you contradict yourself here: simple text editors all provide >> operations on the selected portion of text. Emacs does that, while >> vim tells the users to remember the cryptic "N,M s/foo/bar/g" stuff >> that goes back to the 50-year old ed(1) and sed(1) editors! > >I agree on that > >> Excuse me, but this is nonsense. Our menu and tool bar say copy/paste >> for at least 20 years, as do the manuals. I wonder when people will >> stop beating this dead horse. > >Yet how do you remember M-k and C-y because you know it means kill/yank, >else this shortcut makes no sense, so at least if you prioratise >rememberability over the health of the developers be consequent, if you >call it copy and paste make it C-c or M-c and for paste C-p. Then you >would at least be consequent. > >That C-p is bound to previous line is no real reason because you also >have they arrow keys bound to it (which also is easier to remember), and >that C-c is for extentions their shortcut beginning also don't matter >because that problem is solved in cua-mode just add a small timer if you >are not fast enough to add the second part it's copy if you are fast >enough you can do your long shortcut. > Personally I won't like to use the arrow keys, but if that could release some bindings for a more standard behavior and simplify the access to some functionalities (like get indentation), I will respect the decision. Another opportunity to release and access some similar commands affected by the lack of bindings is to unify isearch with replace as isearch-mode already have its own map. for a dynamic behavior there is the iedit package. and multi-cursors. swiper actually uses C-s for search, but C-n and C-p for next and previous candidate, and with a bind to C-c m enables multiple cursors (to replace all) and as C-r will be free, then it could be used to switch from isearch to query-replace (as M-r switches to regex search). Please, don't tell me that this won't fly; I already know.