Subject: bug#5584: 23.1.90; Setting enable-recursive-minibuffers to non-nil ignores minibuffer history

From: Stefan Kangas <[email-masked]>
Date: Wed, 23 Oct 2019 13:23:56 +0200

found 5584 27.0.50
tags 5584 + confirmed
quit

Brent Goodrick <[email-masked]> writes:

> Starting from `emacs -Q' off of a freshly built Emacs from CVS on a
> 32-bit RHEL5 system (but the system doesn't matter since I've seen this
> on Windows and 64-bit Linux):
>
> 1. Switch into the *scratch* buffer
> 2. Type the following:
>      (setq enable-recursive-minibuffers t)
>    Hit Control-J to evaluate it
> 3. Type M-x flush-lines RET
> 4. While the minibuffer is active waiting for the string for
>    `flush-lines', type M-: (or its equivalent of `M-x eval-expression')
> 5. Type (insert "flubber") RET
> 6. Type RET to complete the flush-lines
> 7. Do steps 3 and 4 again.
> 8. Type M-p and notice the error message stating no previous history element,
>    which is incorrect.

I can reproduce this on the current master branch.

> The reason this is an issue is that I find myself constantly needing
> to type in a regular expression using `rx' syntax via
>
>   (insert (rx ....))
>
> and not being able to get back to that history element is a burden for
> complex rx expressions.  Not using `' seems to fix it, but then I give
> up recursive minibuffers which I find very handy.

Best regards,
Stefan Kangas