From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.help Subject: Re: Is Elisp really that slow? Date: Sun, 19 May 2019 20:40:23 +0200 Message-ID: <87r28umgo8.fsf@telefonica.net> References: <20190514235412.kncazq45szlum2gr@Ergus> <838sv6cmwt.fsf@gnu.org> <20190516202327.5cgy2s4kppy3ahxa@Ergus> <871s0yqg2i.fsf@telefonica.net> <3210C8E9-7A74-47D6-81A0-470948E6D09C@gmail.com> <87r28xq0j1.fsf@telefonica.net> <576240a5-c92a-5cf8-898b-43f214a2b580@yandex.ru> <83imu9beyn.fsf@gnu.org> <8463581c-c40f-a66a-5c9c-0995a3b45cd0@yandex.ru> <83bm01b83i.fsf@gnu.org> <66e5fc8d-5cf4-89cd-5c4f-7fad581a97f5@yandex.ru> <83zhnl9pak.fsf@gnu.org> <6c23e6a7-91b9-92db-0f2d-ac11fdf5a35c@yandex.ru> <83woip9mgs.fsf@gnu.org> <83tvdr8yxd.fsf@gnu.org> <874l5rnwsp.fsf@telefonica.net> <87y333m2yz.fsf@telefonica.net> <87h89qtquc.fsf@mail.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="40516"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.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 Sun May 19 20:40:52 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 1hSQjr-000ANn-Em for geh-help-gnu-emacs@m.gmane.org; Sun, 19 May 2019 20:40:51 +0200 Original-Received: from localhost ([127.0.0.1]:52072 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSQjq-0005rs-Gv for geh-help-gnu-emacs@m.gmane.org; Sun, 19 May 2019 14:40:50 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:35119) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSQjg-0005ra-42 for help-gnu-emacs@gnu.org; Sun, 19 May 2019 14:40:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hSQje-0006gn-ER for help-gnu-emacs@gnu.org; Sun, 19 May 2019 14:40:40 -0400 Original-Received: from [195.159.176.226] (port=38678 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hSQje-0006gR-7Y for help-gnu-emacs@gnu.org; Sun, 19 May 2019 14:40:38 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hSQjW-000A2z-Px for help-gnu-emacs@gnu.org; Sun, 19 May 2019 20:40:30 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:VZD89/zUfa8ZH3mZo38kTJ5o8LM= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 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:120555 Archived-At: Stefan Huchler writes: > I replaced as example C-c C-c in org mode (edit-special) with Menu + d + > d, the problem is that vanilla Emacs doesn't allow that kind of bindings > as far as I know: > > (:map xah-fly-e-keymap > ("e" . (lambda () (interactive) > (if org-src-mode (org-edit-src-exit) > (org-edit-special))))) > > But I have no standard keyboard, but the fly-keys can also be accessed > with Space + d + d. (in command mode) > > And it's e in the code because I use dvorak. d is easier to hit as c, > and C is not more rememberable then d it's completely randomly chosen. > > Also I would argue that most people press C-c C-c with left control > instead of the ergonomic way to use the right control therefor you train > people to use unergonomic keychords. I'm afraid that this is hard to fix from Emacs. People (myself included) tend to chord in unhealthy ways. The problem is similar to postural injuries: you feel comfortable but you are harming yourself on the long term. The real solution is to train people on ergonomics. Admitedly, Emacs is not a model of good practices on this regards. > But the main problem is not the char you use but that you have to hold > this modifiers, which "reduces ergonomics" as compromise I would also > be ok with having some sort of sticky keys? and you press once Ctrl > release then press c c. I'll argue that holding "C-c C-c" is more ergonomic that "C-c c". As for sticky keys, maybe you can activate them with your OS/desktop environment? > But this is not even a optional feature in emacs: > https://www.emacswiki.org/emacs/StickyModifiers > > And I would argue it should be the default behaviour, but it should at > least be a opiton. So don't claim it has to do with mnemonics or > ergonomics it has historic reasons not more not less. I would also argue > that consistence is not that important. I never claimed that C-c C-c was chosen because it is ergonomic on a global sense, but because is ergonomic given the imposed constraints which require the C-c prefix for major modes. > But another suggestion for that, if C-c C-c is meant as shortcut for a > "important-function" why not have a binding for "do-important-action" or > "do-major-action" and depending on mode that functions calls the > important function of the mode. So that the user can choose globaly a > keybinding for that and don't has to do that for 80 modes > seperately. and the developer of the mode just somewhere sets which > function is bound to C-c C-c by setting: > (setq mode-important-function 'compile...) > > That would give at least so much consistancy that you don't have to > change the keybinding 50 times in 50 modes if you want to change it, and > in some where I was to lazy yet I still have to press C-c C-c and in > some I press my Menu + e + e. This is one of those ideas that sounds good when proposed but are hard to implement. You will face obstacles as, for instance, the fact that key bindings are mentioned on the manual files as well all over the websphere on questions and answers, etc. Then you have the problem of collisions, etc. This is an area that I'm interested on and, on the past, I proposed some steps towards better discoverability and ergonomy and volunteered to do the boring, lengthy, clerical part of the job, but no Emacs hacker was interested enough to do the technical part. I also pondered similar ideas to what others proposed on this thread about some sort of "semantic" UI but it is a very hard problem, moreover if you try to implement something solid that could be defended with rigorous arguments instead of something that others will view as a collection of personal quirks.