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

From: Al Petrofsky <[email-masked]>
Date: Sun, 18 Jun 2023 07:00:44 -0400

> > The C-u C-x ) should complete the macro definition and then execute
> > the macro three times

> These commands always required a numeric prefix argument

The kmacro-end-macro command has always used the wrong interactive
spec, but C-u C-x ) worked in Emacs 1.9 through 21.4, when C-x ) was
bound to end-kbd-macro, which has always used "p".

> 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?  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.