diff options
Diffstat (limited to 'src/keymap.c')
| -rw-r--r-- | src/keymap.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/keymap.c b/src/keymap.c index efac410d317..7f5777c9251 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -3308,13 +3308,18 @@ describe_vector (Lisp_Object vector, Lisp_Object prefix, Lisp_Object args, | |||
| 3308 | if (this_shadowed) | 3308 | if (this_shadowed) |
| 3309 | { | 3309 | { |
| 3310 | SET_PT (PT - 1); | 3310 | SET_PT (PT - 1); |
| 3311 | static char const fmt[] = " (currently shadowed by `%s')"; | 3311 | if (SYMBOLP (shadowed_by)) |
| 3312 | USE_SAFE_ALLOCA; | 3312 | { |
| 3313 | char *buffer = SAFE_ALLOCA (sizeof fmt + | 3313 | static char const fmt[] = " (currently shadowed by `%s')"; |
| 3314 | SBYTES (SYMBOL_NAME (shadowed_by))); | 3314 | USE_SAFE_ALLOCA; |
| 3315 | esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by))); | 3315 | char *buffer = |
| 3316 | insert_string (buffer); | 3316 | SAFE_ALLOCA (sizeof fmt + SBYTES (SYMBOL_NAME (shadowed_by))); |
| 3317 | SAFE_FREE(); | 3317 | esprintf (buffer, fmt, SDATA (SYMBOL_NAME (shadowed_by))); |
| 3318 | insert_string (buffer); | ||
| 3319 | SAFE_FREE(); | ||
| 3320 | } | ||
| 3321 | else /* Could be a keymap, a lambda, or a keyboard macro. */ | ||
| 3322 | insert_string (" (currently shadowed)"); | ||
| 3318 | SET_PT (PT + 1); | 3323 | SET_PT (PT + 1); |
| 3319 | } | 3324 | } |
| 3320 | } | 3325 | } |