From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Huchler Newsgroups: gmane.emacs.help Subject: Re: Is Elisp really that slow? Date: Fri, 24 May 2019 01:05:00 +0200 Message-ID: <87zhncsrfn.fsf@mail.de> References: <87h89qtquc.fsf@mail.de> <87sgt59bys.fsf@robertthorpeconsulting.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="15119"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri May 24 01:05:23 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 1hTwm2-0003nj-OA for geh-help-gnu-emacs@m.gmane.org; Fri, 24 May 2019 01:05:22 +0200 Original-Received: from localhost ([127.0.0.1]:44392 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTwm1-0000Az-Qs for geh-help-gnu-emacs@m.gmane.org; Thu, 23 May 2019 19:05:21 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:33934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTwlq-00007p-P4 for help-gnu-emacs@gnu.org; Thu, 23 May 2019 19:05:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTwlp-0006z5-JT for help-gnu-emacs@gnu.org; Thu, 23 May 2019 19:05:10 -0400 Original-Received: from [195.159.176.226] (port=36284 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTwlp-0006xO-Ch for help-gnu-emacs@gnu.org; Thu, 23 May 2019 19:05:09 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hTwln-0003W1-1E for help-gnu-emacs@gnu.org; Fri, 24 May 2019 01:05:07 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:GuilYcXBEqTqPz8/2EcE3bJEfBA= 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:120591 Archived-At: Robert Thorpe writes: > The keybindings of the form "C-c C-something" are used by the current > mode. So, C-mode enables "C-c C-c", for example. The bindings of the > form "C-c something" are for the user to define. Where the "something" > isn't control, of course. > > How is this to work with sticky key? Does the user have to press ctrl > then c and then ctrl again to switch off the stickiness before pressing > c the second time? A timeout could also be used, but that brings it's > own problems. No you would change it to Ctrl + c + c. You only need the timeout if you use both my ideas I mentioned at the same time. So CUA mode uses a timeout, but it does not use sticky keys. So if you press C-c it runs a small timeout and if you don't press something else that like again C-c it uses it as copy command like notepad/gedit would do. But if you don't need this double use of C-c you could do it without a timeout. and Just do the Ctrl + c + c and skip the second Ctrl. You barely find a mode that has both defined. C-c c and C-c C-c. But that is when you limit the bindings to C-c as start. so I güss here in Message mode C-c C-f s stands for change subject and append and C-c C-f C-s stands for move to subject. Both would be come down to Ctrl + c + f + s in my suggestion. So you would need to press the Ctrl again but that would be still more ergonomic than keeping the key pressed I think, because holding and streating the finger is still less ergonomic. My solution for C-c C-c in that mode and in most is to bind it to: m message-send-and-exit But I have no standard keyborad :D But we do it with Shift the same way, if I would write TEST I press left shift + t + rshift + e + lshift + s + lshit + t, maybe I hold it for the last 2 letters but I use always the one on the oposite site, because that is more ergonomic. And now ask yourself do you ergonomically correctly press left control + c or right control, most including me use left, which is not ergonomic, but it's faster and deep in our muscle memory. But to make it short with that minimal backward compatible change yes you would press ctrl again and I don't see a need for a timeout. The only problem would be that you have to implement it for every os and that might not be totally trivial. xah-fly-keys does that with menu or whatever key you define but menu is no modifier key it's harder to do with modifier keys because the US normaly first waits after you press a modifier what follows and sents that compiled thing as keysignal to the process, as far as I know. So describe key doesn't even register that I press Ctrl till I press a non modifier key. But if xemacs could do it emacs should be able, too. And I mean gnome can do it too. and Emacs is also only a desktop environment (exwm) :D