Subject: bug#62355: 30.0.50; C-g doesn't always quit minibuffer on first press

From: Drew Adams <[email-masked]>
Date: Thu, 23 Mar 2023 19:47:49 +0000

Whether or not there's a bug here I leave up
to you.  (But I concur with what Eli said.)
___

While you're using the minibuffer, you
(interactively), as well as code running during
the interaction, can do any number of things,
some of which can initiate contexts where `C-g'
does something specific (e.g. exits from some
interaction within that context).  This is of
course amplified if you (or some code) initiates
a recursive minibuffer.

Things to remember here:

1. `C-g' is a general command.  Its behavior
is specific to the latest context for which it
has a meaning/behavior.

2. To exit the minibuffer (a single level)
directly, you can always use `C-]', which runs
the command `abort-recursive-edit'.

Get in the habit of using `C-j' to cancel/abort
the current minibuffer level.

If you have non-nil `enable-recursive-edit'
then you can also do this when in the minibuffer,
to exit _all_ minibuffer levels and return to
top level: `M-x top-level'.  (It also exits all
recursive edits, not just recursive minibuffers.)