unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 66998@debbugs.gnu.org, Morgon Kanter <morgon.kanter@gmail.com>
Subject: bug#66998: 29.1; Regression for recursive keyboard macros + minibuffers in (I think) Emacs 28
Date: Wed, 8 Nov 2023 12:53:13 +0000	[thread overview]
Message-ID: <ZUuEuYSC-z-1Zfg9@ACM> (raw)
In-Reply-To: <83msvo1kwn.fsf@gnu.org>

Hello, Eli.

On Wed, Nov 08, 2023 at 14:36:56 +0200, Eli Zaretskii wrote:
> > From: Morgon Kanter <morgon.kanter@gmail.com>
> > Date: Tue, 7 Nov 2023 22:29:22 -0500

> > I believe there is a regression, but possibly intentional, caused by this patch:
> > https://github.com/emacs-mirror/emacs/commit/203e61ff837128b397eb313a5bb1b703f0eae0ec

> > This affects minibuffers created when (kbd-macro-query t) is called as
> > part of the hook that runs when the (read-from-minibuffer) function is
> > called. You get the error message "Not in most nested command loop". For
> > example, this code here:
> > https://www.emacswiki.org/emacs/KeyboardMacros#h5o-5

> > Or, pasting the code in question:

> >     (defun my-macro-query (arg)
> >       "Prompt for input using minibuffer during kbd macro execution.
> >     With prefix argument, allows you to select what prompt string to use.
> >     If the input is non-empty, it is inserted at point."
> >       (interactive "P")
> >       (let* ((prompt (if arg (read-from-minibuffer "PROMPT: ") "Input: "))
> >              (input (minibuffer-with-setup-hook (lambda () (kbd-macro-query t))
> >                       (read-from-minibuffer prompt))))
> >         (unless (string= "" input) (insert input))))
> >     (global-set-key (kbd "C-x Q") 'my-macro-query)

> > If you attempt to start a keyboard macro via F3, then attempt to read a
> > minibuffer with the above code via C-x Q, upon pressing ENTER to close
> > the minibuffer, you get the following error message:
> > "Not in most nested command loop"

> > You won't be able to close out the minibuffer, the only way I found to
> > proceed was to C-] or multiple escapes, which canceled the keyboard
> > macro creation. As a result, it appears we can't use the above method to
> > read and set variables during keyboard macro creation. I'm not sure if
> > this is intentional or not, or if there's a replacement for the above or
> > not. But it appears to be a regression from before that series of patches.

> Alan, can you please look into this?

Will do.

-- 
Alan Mackenzie (Nuremberg, Germany).





  reply	other threads:[~2023-11-08 12:53 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-08  3:29 bug#66998: 29.1; Regression for recursive keyboard macros + minibuffers in (I think) Emacs 28 Morgon Kanter
2023-11-08  6:41 ` bug#66998: Further information Morgon Kanter
2023-11-08 12:36 ` bug#66998: 29.1; Regression for recursive keyboard macros + minibuffers in (I think) Emacs 28 Eli Zaretskii
2023-11-08 12:53   ` Alan Mackenzie [this message]
2023-11-09 17:37 ` Alan Mackenzie
2023-11-09 18:41   ` Morgon Kanter
2023-11-10 18:57     ` Alan Mackenzie
2023-11-12 18:26       ` Morgon Kanter
2024-05-31 10:16     ` Alan Mackenzie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZUuEuYSC-z-1Zfg9@ACM \
    --to=acm@muc.de \
    --cc=66998@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=morgon.kanter@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).