* lisp/emacs-lisp/rmc.el (read-multiple-choice): When `read-char'
signals an error "Non-character input-event", call `read-event' to
take the non-character event out of the queue. Don't merge to master,
we just use `read-event' directly there, rather than this solution
which relies a particular error message.
(cons (capitalize (cadr elem))
(car elem)))
choices)))
- (condition-case nil
+ (condition-case err
(let ((cursor-in-echo-area t))
(read-char))
- (error nil))))
+ (error (when (equal (cadr err) "Non-character input-event")
+ ;; Use up the non-character input-event.
+ ;; Otherwise we'll just keep reading it
+ ;; again and again (Bug#32257).
+ (read-event))
+ nil))))
(setq answer (lookup-key query-replace-map (vector tchar) t))
(setq tchar
(cond