From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: Ctrl-[ ? Date: Tue, 18 Jun 2019 18:25:03 -0400 Message-ID: References: <08AC8151-5911-40FA-8B20-818B839D00AB@traduction-libre.org> <86h892nk2g.fsf@zoho.eu> <9379C01B-80E3-49DD-B830-46CED773DC2C@traduction-libre.org> <83lfydrkde.fsf@gnu.org> <874l51q0s4.fsf@telefonica.net> <83ef45rdij.fsf@gnu.org> <87zhmto6fa.fsf@telefonica.net> <20190607163017.GA32029@tuxteam.de> <96B116FC-8007-4C42-9AE6-585530D0C76E@comcast.net> <87muisor2h.fsf@telefonica.net> <63F9D100-CD25-445B-8184-93A25DB0FC38@comcast.net> <874l4zoiz6.fsf@telefonica.net> <87v9xfmtyr.fsf@telefonica.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="62053"; 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 Wed Jun 19 00:25: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.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hdMXa-000FwI-BF for geh-help-gnu-emacs@m.gmane.org; Wed, 19 Jun 2019 00:25:22 +0200 Original-Received: from localhost ([::1]:33876 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hdMXZ-0003Ie-3K for geh-help-gnu-emacs@m.gmane.org; Tue, 18 Jun 2019 18:25:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50998) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hdMXQ-0003GX-O9 for help-gnu-emacs@gnu.org; Tue, 18 Jun 2019 18:25:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hdMXP-0006nH-UC for help-gnu-emacs@gnu.org; Tue, 18 Jun 2019 18:25:12 -0400 Original-Received: from [195.159.176.226] (port=36744 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hdMXP-0006jl-Mn for help-gnu-emacs@gnu.org; Tue, 18 Jun 2019 18:25:11 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hdMXN-000Fep-BJ for help-gnu-emacs@gnu.org; Wed, 19 Jun 2019 00:25:09 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:L57XERx24jBeCcmwTkhfCnlILvE= 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.23 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:120973 Archived-At: > Thank you for the detailed explanation. IIUC the delicate part consists > on locating and deciding what's the right thing to do about each of > those uses of "control characters" scattered through the code base. Not really, no. We can't go and change each place, because many of the places are outside of our control. So rather, we have to find a clever way to keep the old code working as before while still adding the new feature. Using my proof-of-concept code, I see one of the major problems: - We need some way to tell define-key whether we want to add a binding to ^x (the ASCII control char) or to C-x (the combination of control with `x`), same with TAB (aka ^i) -vs- C-i, ESC (aka ^[) -vs- C-[, etc... - Once we do that we have another problem: Say your favorite major mode binds ^x ^x to FOO And say some new package adds a global binding for C-x C-x to BAR. Now the global binding takes precedence over the buffer-local binding from your favorite major mode :-( -- Stefan