|
From: | GNU bug Tracking System |
Subject: | bug#64138: closed (28.2; C-x ) won't accept the universal argument) |
Date: | Wed, 21 Jun 2023 14:03:01 +0000 |
Your message dated Wed, 21 Jun 2023 17:02:06 +0300 with message-id <83sfak52xt.fsf@gnu.org> and subject line Re: bug#64138: 28.2; C-x ) won't accept the universal argument has caused the debbugs.gnu.org bug report #64138, regarding 28.2; C-x ) won't accept the universal argument to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs@gnu.org.) -- 64138: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64138 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems
--- Begin Message ---Subject: 28.2; C-x ) won't accept the universal argument Date: Sat, 17 Jun 2023 19:47:47 -0400 emacs-28.2 -Q -nw
C-x ( x C-u C-x )
The C-u C-x ) should complete the macro definition and then execute
the macro three times, making the buffer contents "xxxx". Instead,
the error "Wrong type argument: fixnump, (4)" occurs.
(Changing "C-u" to "C-u 4" gives the expected result.)
The "P" in the interactive declaration of kmacro-end-macro should be a
"p".
Looking at all eleven "P" in kmacro.el, I think four of them should be
"p": kmacro-call-ring-2nd, kmacro-call-ring-2nd-repeat,
kmacro-end-macro, and kmacro-end-and-call-macro.Alternatively, if the meaning of a bare C-u argument is being reserved
for some future feature, then it should be explicitly mentioned in the
documentation that C-u and C-u 4 are treated differently. As the
manual says:
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.
--- End Message ---
--- Begin Message ---Subject: Re: bug#64138: 28.2; C-x ) won't accept the universal argument Date: Wed, 21 Jun 2023 17:02:06 +0300 > From: Stefan Monnier <monnier@iro.umontreal.ca> > Cc: Al Petrofsky <al@petrofsky.org>, 64138@debbugs.gnu.org > Date: Sun, 18 Jun 2023 10:08:04 -0400 > > >> I have no objections to extending those commands to accept just C-u, > >> though. Stefan, any reasons why not? > > Offhand, I can't think of any reason why not. > > BTW: the main question here is whether a C-1 prefix should be treated > the same as the absence of a prefix. AFAICT, the `arg` argument > of `kmacro-end-macro` is only used once, to pass it to `end-kbd-macro`, > and that function starts with: > > if (NILP (repeat)) > XSETFASTINT (repeat, 1); > else > CHECK_FIXNUM (repeat); > > so, the absence of a prefix arg currently should indeed always behave > exactly as with a `C-1` arg. > IOW, I'm pretty sure now that there is not reason why not. OK, thanks. I've now installed this on the master branch, and I'm closing this bug.
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |