Subject: Re: bug#78916: 31.0.50; C-g fails to exit loop

From: Stefan Monnier <[email-masked]>
Date: Thu, 03 Jul 2025 15:23:30 -0400

>> -             ((eq answer 'scroll-other-window)
>> -              (ignore-errors (scroll-other-window)) t)
>> -             ((eq answer 'scroll-other-window-down)
>> -              (ignore-errors (scroll-other-window-down)) t)
>> +             ((functionp answer)
>> +              (call-interactively answer) t)
>
> Why not 'commandp'?

No strong reason:

- `call-interactively` doesn't work on vectors and strings, only
  on functions.
- I prefer an error about a function failing to be interactive than just
  ignoring the binding.

But yeah, the second point also applies to strings and vectors, so maybe
it should be (or (functionp answer) (commandp answer)) or even
(or (functionp answer) (not (symbolp answer))) ?

        Stefan