summaryrefslogtreecommitdiff
path: root/src/keymap.c
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2020-11-13 19:15:21 +0100
committerStefan Kangas <stefan@marxist.se>2020-11-22 02:48:53 +0100
commitfb9326b45c769f83b619278eae41f680577d1b05 (patch)
tree359d508b2ec687f30b8c263736b43d7330dee95e /src/keymap.c
parent84dd5c9bea9112daa339e4c1b8e4e556988f3195 (diff)
downloademacs-fb9326b45c769f83b619278eae41f680577d1b05.tar.gz
Say which command shadows a key binding
* src/keymap.c (describe_vector): Say which command shadows this binding. (Bug#9293) * test/src/keymap-tests.el (help--describe-vector/bug-9293-one-shadowed-in-range): Adapt test.
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/keymap.c b/src/keymap.c
index aaba2ac838a..e22eb411f63 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -3223,7 +3223,13 @@ describe_vector (Lisp_Object vector, Lisp_Object prefix, Lisp_Object args,
if (this_shadowed)
{
SET_PT (PT - 1);
- insert_string (" (binding currently shadowed)");
+ static char const fmt[] = " (currently shadowed by `%s')";
+ USE_SAFE_ALLOCA;
+ char *buffer = SAFE_ALLOCA (sizeof fmt +
+ SBYTES (SYMBOL_NAME (shadowed_by)));
+ esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by)));
+ insert_string (buffer);
+ SAFE_FREE();
SET_PT (PT + 1);
}
}