Subject: bug#56425: 28.1; post-command-hook is triggered on y-or-n-p

From: Eli Zaretskii <[email-masked]>
Date: Mon, 11 Jul 2022 14:39:31 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: Bhavin Gandhi <[email-masked]>,  [email-masked]
> Date: Mon, 11 Jul 2022 12:54:26 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > Why are you surprised?  y-or-n-p invokes read-from-minibuffer, which
> > invokes recursive-edit, which starts a recursive command loop.  And
> > the command loop calls post-command-hook on each iteration.
> 
> When writing post-command-hook code, you have to be check whether you're
> in the context you want to be (for instance, in the minubuffer or not).
> I think it's always been this way, but these day we use the
> read-from-minibuffer a lot more than we used to -- so y-or-n-p didn't
> use to have this issue, but it does now.

Yes.  Code that wants to distinguish these cases from "normal"
post-command-hook invocations should examine the value of
minibuffer-depth, I think.