Subject: bug#45177: 27.1; Access to invoking top level command in minibuffer

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 11 Dec 2020 21:41:58 +0100

[email-masked] writes:

> For command based settings it would be nice to be able to have
> access to the top level command from which the current minibuffer
> session was invoked from. This should also work with multiple minibuffer
> invokations during a command. Using `minibuffer-setup-hook' to save
> `real-this-command' does not work, for example with:
>
> ```elisp
> (defun example-command ()
>   (interactive)
>   (read-string "Example: ")
>   (message "%s" real-this-command))
> ```
>
> `real-this-command' will be `exit-minibuffer' after the `read-string'
> so any minibuffer invokation within that command afterwards will no
> longer know about `example-command'.

Hm...  I'm not quite sure "the top level command" is a well-defined
concept?  You can enter a number of nested recursive edits, and I think
what you probably want is the innermost command that invoked a recursive
edit?

So perhaps it would make sense for Frecursive_edit (or some other handy
function when entering the minibuffer) to let-bind a new variable (say,
`this-recursive-command'?) to the value of `real-this-command'?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no