From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.devel Subject: Re: `global-set-key' vs `keymap-global-set' `key-valid-p' syntax Date: Thu, 09 May 2024 17:24:14 +0200 Message-ID: <8734qrnh41.fsf@dataswamp.org> References: <874jba9ma9.fsf@dataswamp.org> <87v83p98kv.fsf@dataswamp.org> <87o79h91ir.fsf@dataswamp.org> <87r0eb6zr3.fsf@dataswamp.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24232"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:tiYphdK0J0hFS9laNnthVSO+FG4= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu May 09 17:27:40 2024 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 1s55gK-00064G-15 for ged-emacs-devel@m.gmane-mx.org; Thu, 09 May 2024 17:27:40 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s55fd-0001MY-Kq; Thu, 09 May 2024 11:26:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s55dG-0000CS-LZ for emacs-devel@gnu.org; Thu, 09 May 2024 11:24:30 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s55dE-0005fd-Ux for emacs-devel@gnu.org; Thu, 09 May 2024 11:24:30 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1s55dC-0001Sb-3U for emacs-devel@gnu.org; Thu, 09 May 2024 17:24:26 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 09 May 2024 11:26:50 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:319085 Archived-At: Warning, don't set "C-[" as a key or use it as a definition, that breaks M-x as C-[, or ^[, is also ESC. $ ascii '^[' ASCII 1/11 is decimal 027, hex 1b, octal 033, bits 00011011: called ^[, ESC Official name: Escape Yes, making a new (?) definition with the same name also does not help. You can however rewire the terminal emulator to insert another char on that keystroke and then give that key another definition name, e.g. like this for the character inserted being 1005 in hex: (keymap-set input-decode-map (char-to-string ?\u1005) "C-") For some reason tho, this logic does not seem to apply to C-; or ^;, which is also 027: ascii '^;' ASCII 1/11 is decimal 027, hex 1b, octal 033, bits 00011011: called ^[, ESC Official name: Escape It can be set and used in a definition with that name, "C-;", I have no idea why but I guess just to be safe/consistent one can call it "C-". Using de facto key notation on a US QWERTY, C-[ is somewhat ergonomic, whereas C-; is really nice! So recommended. -- underground experts united https://dataswamp.org/~incal