Subject: bug#64138: 28.2; C-x ) won't accept the universal argument

From: Eli Zaretskii <[email-masked]>
Date: Sun, 18 Jun 2023 14:05:11 +0300

> From: Al Petrofsky <[email-masked]>
> Date: Sun, 18 Jun 2023 07:00:44 -0400
> Cc: Stefan Monnier <[email-masked]>, [email-masked]
> 
> > These commands always required a numeric prefix argument, and that
> > is how they are documented.  So just "C-u" is invalid, you should
> > use "C-u 4" instead.
> 
> Hmm, kmacro-end-macro's doc string copied this paragraph verbatim from
> end-kbd-macro:
> 
>     With numeric arg, repeat macro now that many times,
>     counting the definition just completed as the first repetition.
>     An argument of zero means repeat until error.
> 
> So you're saying that end-kbd-macro was always documented wrong, and
> should have pointed out that C-u works?

No, I'm saying that just "C-u" is not a "numeric argument".

> I take the manual to be
> saying that C-u meaning C-u 4 is the norm, and it is the functions
> that are exceptions to that norm that need to clearly document that
> exception:
> 
>    A few commands treat a plain ‘C-u’ differently from an ordinary
>    argument.  A few others may treat an argument of just a minus sign
>    differently from an argument of −1.  These unusual cases are described
>    when they come up; they exist to make an individual command more
>    convenient, and they are documented in that command’s documentation
>    string.

Yes, which is why it would be good to make these commands behave
closer to the general principle that the manual describes.  I'm just
saying that they never did until now.  Which is completely legitimate,
since what these commands do is not easily and obviously categorized
as repeatable operations: the argument makes them repeat some part of
what the command does.

Anyway, I think we agree that it would be a good extension, so no need
to argue any longer.  I'd just want to hear from Stefan whether we are
missing some subtlety here.