From: Gregory Heytings <gregory@heytings.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: luangruo@yahoo.com, larsi@gnus.org, 52053@debbugs.gnu.org
Subject: bug#52053: 29.0.50; Nonsensical button "C-x C-f" in scratch buffer
Date: Thu, 25 Nov 2021 22:45:02 +0000 [thread overview]
Message-ID: <612d659daa5de288a9f9@heytings.org> (raw)
In-Reply-To: <83v90g467g.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 24 bytes --]
Updated patch attached.
[-- Attachment #2: Type: text/x-diff, Size: 4273 bytes --]
From 7098a09b3d1d53e2a0c50f57d92fc397a65b4e39 Mon Sep 17 00:00:00 2001
From: Gregory Heytings <gregory@heytings.org>
Date: Thu, 25 Nov 2021 22:37:37 +0000
Subject: [PATCH] Do not buttonize key bindings outside of *Help* buffers
* lisp/help.el (substitute-command-keys--in-help): New variable to
differentiate calls to substitute-command-keys in *Help* buffers from
other calls.
(substitute-command-keys): Use the new variable:
help-link-key-to-documentation is supposed to have an effect only
"in *Help* buffers". Fixes bug#52053.
(describe-key): Use the new variable.
* lisp/help-fns.el (describe-function, describe-variable,
describe-symbol): Use the new variable.
* lisp/help-macro.el (make-help-screen): Use the new variable.
---
lisp/help-fns.el | 9 ++++++---
lisp/help-macro.el | 3 ++-
lisp/help.el | 7 ++++++-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 17fabe4f63..a018cc293b 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -249,7 +249,8 @@ describe-function
;; calling that.
(let ((describe-function-orig-buffer
(or describe-function-orig-buffer
- (current-buffer))))
+ (current-buffer)))
+ (substitute-command-keys--in-help t))
(help-setup-xref
(list (lambda (function buffer)
@@ -1085,7 +1086,8 @@ describe-variable
(user-error "You didn't specify a variable")
(save-excursion
(let ((valvoid (not (with-current-buffer buffer (boundp variable))))
- val val-start-pos locus)
+ val val-start-pos locus
+ (substitute-command-keys--in-help t))
;; Extract the value before setting up the output buffer,
;; in case `buffer' *is* the output buffer.
(unless valvoid
@@ -1619,7 +1621,8 @@ describe-symbol
(cons name
(funcall descfn symbol buffer frame))))
describe-symbol-backends))))
- (single (null (cdr docs))))
+ (single (null (cdr docs)))
+ (substitute-command-keys--in-help t))
(while (cdr docs)
(goto-char (point-min))
(let ((inhibit-read-only t)
diff --git a/lisp/help-macro.el b/lisp/help-macro.el
index 588efee66b..25f6b3ba46 100644
--- a/lisp/help-macro.el
+++ b/lisp/help-macro.el
@@ -93,7 +93,8 @@ make-help-screen
"Help command."
(interactive)
(let ((line-prompt
- (substitute-command-keys ,help-line)))
+ (substitute-command-keys ,help-line))
+ (substitute-command-keys--in-help t))
(when three-step-help
(message "%s" line-prompt))
(let* ((help-screen ,help-text)
diff --git a/lisp/help.el b/lisp/help.el
index 9122d96271..d527f48020 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -929,7 +929,8 @@ describe-key
seq (event-start event))))
`(,seq ,brief-desc ,defn ,locus)))
key-list))
- 2)))
+ 2))
+ (substitute-command-keys--in-help t))
(help-setup-xref (list (lambda (key-list buf)
(describe-key key-list
(if (buffer-live-p buf) buf)))
@@ -1072,6 +1073,9 @@ help-link-key-to-documentation
:version "29.1"
:group 'help)
+(defvar substitute-command-keys--in-help nil
+ "Internal variable used by `substitute-command-keys'.")
+
(defun substitute-command-keys (string)
"Substitute key descriptions for command names in STRING.
Each substring of the form \\\\=[COMMAND] is replaced by either a
@@ -1181,6 +1185,7 @@ substitute-command-keys
(delete-char (- end-point (point)))
(let ((key (help--key-description-fontified key)))
(insert (if (and help-link-key-to-documentation
+ substitute-command-keys--in-help
(functionp fun))
;; The `fboundp' fixes bootstrap.
(if (fboundp 'help-mode--add-function-link)
--
2.33.0
next prev parent reply other threads:[~2021-11-25 22:45 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87czmr5gr7.fsf.ref@yahoo.com>
2021-11-23 10:05 ` bug#52053: 29.0.50; Nonsensical button "C-x C-f" in scratch buffer Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-24 6:17 ` Phil Sainty
2021-11-24 7:53 ` Lars Ingebrigtsen
2021-11-24 9:28 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-24 10:58 ` Lars Ingebrigtsen
2021-11-24 11:15 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-24 11:27 ` Lars Ingebrigtsen
2021-11-24 11:36 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-24 16:39 ` Lars Ingebrigtsen
2021-11-24 17:05 ` Andreas Schwab
2021-11-25 0:45 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-25 13:34 ` Lars Ingebrigtsen
2021-11-26 0:38 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-26 12:36 ` Lars Ingebrigtsen
2021-11-26 12:52 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-11-25 10:23 ` Gregory Heytings
2021-11-25 10:59 ` Eli Zaretskii
2021-11-25 11:07 ` Gregory Heytings
2021-11-25 11:21 ` Eli Zaretskii
2021-11-25 12:47 ` Robert Pluim
2021-11-25 13:20 ` Eli Zaretskii
2021-11-25 13:36 ` Lars Ingebrigtsen
2021-11-25 13:41 ` Gregory Heytings
2021-11-25 14:16 ` Eli Zaretskii
2021-11-25 14:55 ` Gregory Heytings
2021-11-25 15:15 ` Eli Zaretskii
2021-11-25 22:45 ` Gregory Heytings [this message]
2021-11-26 6:26 ` Eli Zaretskii
2021-11-26 9:24 ` Robert Pluim
2021-11-26 11:13 ` Eli Zaretskii
2021-11-26 11:17 ` Robert Pluim
2021-11-27 16:06 ` Gregory Heytings
2021-11-27 16:08 ` Gregory Heytings
2021-11-29 13:56 ` Lars Ingebrigtsen
2021-11-29 14:05 ` Eli Zaretskii
2021-11-29 14:13 ` Lars Ingebrigtsen
2021-11-29 17:59 ` Stefan Kangas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=612d659daa5de288a9f9@heytings.org \
--to=gregory@heytings.org \
--cc=52053@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=larsi@gnus.org \
--cc=luangruo@yahoo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.