Subject: bug#67046: 29.1.50; map-y-or-n-p infinite loops if it's at the end of a kmacro

From: Eli Zaretskii <[email-masked]>
Date: Fri, 10 Nov 2023 20:55:48 +0200

> From: Spencer Baugh <[email-masked]>
> Date: Fri, 10 Nov 2023 11:47:36 -0500
> 
> >From d7aa9644b308a936926b1074d0f6eac3e425b011 Mon Sep 17 00:00:00 2001
> From: Spencer Baugh <[email-masked]>
> Date: Fri, 10 Nov 2023 11:27:10 -0500
> Subject: [PATCH] Don't infinite loop in map-y-or-n-p if at the end of kmacro
> 
> Previously, if map-y-or-n-p got -1 from read-event (indicating no
> input due to the end of a keyboard macro), it would just infinite
> loop.
> 
> Now it behaves like other commands which use read-event/read-char/etc,
> and just errors when we try to look up -1 in our keymap and find
> nothing.
> 
> Also, just for the sake of users, print a slightly prettier message
> when this happens.
> 
> * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't loop if we reach
> the end of a keyboard macro.  (Bug#67046)

You have removed the loop, so now the "try again" part is no longer
working.  How can we be sure this doesn't introduce some regression?
Do you understand why this loop was added, in commit 3f72fac865?  If
so, can you explain why it was needed?

I have added Stefan to the discussion.