Subject: bug#29141: 25.3; Precise if read-key of prefix key is active

From: Pierre-Yves Luyten <[email-masked]>
Date: Fri, 3 Nov 2017 23:30:36 +0100

Hello

Context
i am working on convenience packages to help the user with available 
shortcuts. One thing i am using is "which-key". This package allows
to display visualy the existing shortcuts for a given prefix key.
Actually it might work for any keymap, so it is an efficient way
for the user to discover a keymap.

Expected behavior
Since the user needs to learn the core of Emacs, it is necessary to be 
able to present to the user, not only available shortuts, but also the 
name of the current keymap

Behavior
As far as i know, there is no way to say if a prefix key is active.
One could parse which shortcuts are active, then deduce which prefix key
is active, but this would not be very reliable.

Enhancement Request
So, is it possible to add a func to tell if there is a prefix key?
obviously i think the func might be more general, for example checking 
if there is a read-key active, else a terminal keymap, else a minor mode 
overriding map, and so on from highest to lowest priority, and checking 
if a prefix key is active -> leading to another keymap being active.
I confess i have no clue about "virtual" keymaps like "C-c".
This is a prefix key but i think different shortcuts in different keymaps.

The opened bug against which-key is : 
https://github.com/justbur/emacs-which-key/issues/176

Please tell me if this enhancement seems fair to you, in which case
do you have a clue so i can evenutally contribute.

Regards
Pierre-Yves