From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Round-tripping key definitions Date: Wed, 17 Nov 2021 21:48:40 -0500 Message-ID: References: <875yswtzxh.fsf@gnus.org> <87o86ohzyv.fsf@gnus.org> <87ilwqqjx3.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23616"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Richard Stallman , psainty@orcon.net.nz, larsi@gnus.org, emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 18 03:49:43 2021 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 1mnXUd-0005sp-B4 for ged-emacs-devel@m.gmane-mx.org; Thu, 18 Nov 2021 03:49:43 +0100 Original-Received: from localhost ([::1]:43880 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mnXUW-0001jT-Ok for ged-emacs-devel@m.gmane-mx.org; Wed, 17 Nov 2021 21:49:36 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:42642) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mnXTl-000139-EH for emacs-devel@gnu.org; Wed, 17 Nov 2021 21:48:49 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:35373) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mnXTi-0000S3-5F; Wed, 17 Nov 2021 21:48:48 -0500 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 58DBC440F67; Wed, 17 Nov 2021 21:48:43 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 8B866440F49; Wed, 17 Nov 2021 21:48:41 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1637203721; bh=ahj5Epv0K75mSYHn5wpl9V5MDSyYsXP1F7wb7FBWn5s=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=B47UiT1dlifK+OfBY1q9iLpXVxs++naTNlJ98yQqmxjoAh/xIYVg0aYseWq/E8isD IQzUJsJG7QPbkyLmZax0RX5aYqqvDQVedJI6WoSNMd4rbDxesNZ4kYA8HTDuH12ocw wzzdJo2QFau7VBLXvI2f+qW3oiIRPK8HoP/TBmzYXW4GTJZ3uVlwa2mxSowWnRwYiL VRheB+NY7M/GLFIQ6hxhuvtUJamtsPVGwhJPebqwoyMl8NGwodOHuxu+GHmpLsTMdj nlfZYkJuR/bU2UlCrQYlSyaIi/Gd/E1ujP0fqebaulgDRXjXRtdSY8wnmKmYuq66WS jGHF/L/5s/zsw== Original-Received: from ceviche (unknown [45.72.128.33]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1A0A6120302; Wed, 17 Nov 2021 21:48:41 -0500 (EST) In-Reply-To: <87ilwqqjx3.fsf@yahoo.com> (Po Lu's message of "Thu, 18 Nov 2021 10:25:44 +0800") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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" Xref: news.gmane.io gmane.emacs.devel:279649 Archived-At: >> I thought so too, but I've been playing with a quick&dirty patch to >> see how much breakage it introduces and it seems it's not nearly as >> bad as I thought. I'm starting to believe that maybe we could pull it >> off, tho I haven't had enough experience with it yet to be sure. > Removing the correspondence between ctrl modifier and the ASCII control > character would at the very least break the xwidget code in a > non-trivial manner, a and probably a lot of comint-related code too, > just to name a few. What gets broken depends on exactly what is done and how (e.g. the conflation of the control modifier bit with the ASCII control chars is done "separately" in a few different places (e.g. when processing key events, OT1H, and when reading ELisp code, OAOH) and it's not necessarily indispensable to change them all at the same time or in the same way). I don't have any plan to push such a change (at least not yet ;-). I just played with it, to get a feel for what's the landscape like, and I was surprised to see that it might be not nearly as a bad as I expected. BTW, in that same vicinity is another (yet more tricky) conflation, which is the one for the shift modifier. I have a pretty good idea of what the control modifier should do ideally (if we could rewrite the past), but I don't even have a clear idea of how to handle the shift modifier in a clean and regular way. > It would also break `teco.el', a fun toy implementing the TECO text > editor inside GNU Emacs. If it only breaks `teco.el` and xwidget, then we're in business (because I'd be happy to update those). > I have no interest in updating the xwidget code if this change is made. I'd expect a change to those things would come with the corresponding changes to the xwidget code, if needed. Stefan