From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Escaping a string for substitute-command-keys Date: Sat, 05 Oct 2019 10:12:22 +0300 Message-ID: <835zl364yx.fsf@gnu.org> References: <14423aa7-36c3-9ab7-6483-d43624f99e17@gmail.com> <83pnjd7pud.fsf@gnu.org> <83h84p7nih.fsf@gnu.org> <837e5l7j8n.fsf@gnu.org> <83imp461do.fsf@gnu.org> 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="213493"; mail-complaints-to="usenet@blaine.gmane.org" Cc: emacs-devel@gnu.org To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Oct 05 09:12:41 2019 Return-path: Envelope-to: ged-emacs-devel@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 1iGeF7-000tRt-FA for ged-emacs-devel@m.gmane.org; Sat, 05 Oct 2019 09:12:41 +0200 Original-Received: from localhost ([::1]:54530 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGeF6-0003aD-9y for ged-emacs-devel@m.gmane.org; Sat, 05 Oct 2019 03:12:40 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52300) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGeF0-0003a3-Hw for emacs-devel@gnu.org; Sat, 05 Oct 2019 03:12:35 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:35001) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iGeEz-0004Nd-AS; Sat, 05 Oct 2019 03:12:33 -0400 Original-Received: from [176.228.60.248] (port=2683 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iGeEy-000147-8F; Sat, 05 Oct 2019 03:12:32 -0400 In-reply-to: (message from =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel on Sat, 5 Oct 2019 00:06:43 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:240597 Archived-At: > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel > Date: Sat, 5 Oct 2019 00:06:43 -0400 > > On 2019-10-04 10:17, Eli Zaretskii wrote: > > help-echo is for displaying documentation, not for displaying > > general-purpose text strings. > > Btw, it was surprising to me to see that very little code in Emacs actually takes advantage of this command-substitution facility in help-echo; most help-echo strings that mention commands actually hardcode the default binding. Most probably because the call to substitute-command-keys there is a relatively recent addition. > Also related is the fact that help-echo allows kinds of values: strings or functions. In Flycheck's case (the one I know the best), it would be enough to say that help-echo is only passed through substitute-command-keys if it's a string, but not if it's a function (the reasoning being that it's easy to run the substitution inside the function, if needed). Of course, shr and Flymake would then need to switch to using functions instead of strings, as well. I'm not sure whether this is a feature or a bug. I guess we need to add some feature to control whether help-echo gets run through substitute-command-keys, or add an alternative to help-echo that works exactly like it, but without substitutions. Patches welcome.