GNU bug report logs - #61647
edit-kbd-macro: Wrong type argument: characterp, 134217785

Previous Next

Package: emacs;

Reported by: Eduardo Ochs <eduardoochs <at> gmail.com>

Date: Mon, 20 Feb 2023 05:32:01 UTC

Severity: normal

Done: Mattias Engdegård <mattiase <at> acm.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 61647 in the body.
You can then email your comments to 61647 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#61647; Package emacs. (Mon, 20 Feb 2023 05:32:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eduardo Ochs <eduardoochs <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 20 Feb 2023 05:32:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Eduardo Ochs <eduardoochs <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: edit-kbd-macro: Wrong type argument: characterp, 134217785
Date: Mon, 20 Feb 2023 02:31:25 -0300
[Message part 1 (text/plain, inline)]
Hi all, I found a keyboard macro on which edit-kbd-macro fails with
this error:

  edit-kbd-macro: Wrong type argument: characterp, 134217785

To reproduce the error run any of these two setqs - they should be
equivalent -

  (setq last-kbd-macro [134217847 134217785 134217785 134217834 5 32
    25 1 67108896 down 134217847 134217777 134217834 return 25
    134217803 134217803])

  (setq last-kbd-macro (kbd "M-w M-99 M-j C-e SPC C-y C-a C-SPC <down>
    M-w M-1 M-j RET C-y 2*M-K"))

and then run `M-x edit-kbd-macro C-x e'.

The error happens in this version of Emacs,

  GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
  3.24.24, cairo version 1.16.0) of 2023-02-20

but not in an Emacs28. Here's the output of uname -a:

  Linux scylla 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21)
  x86_64 GNU/Linux

Cheers,
  Eduardo Ochs
  http://anggtwu.net/#eev
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#61647; Package emacs. (Mon, 20 Feb 2023 11:40:01 GMT) Full text and rfc822 format available.

Message #8 received at 61647 <at> debbugs.gnu.org (full text, mbox):

From: Daniel Martín <mardani29 <at> yahoo.es>
To: Eduardo Ochs <eduardoochs <at> gmail.com>
Cc: mattiase <at> acm.org, 61647 <at> debbugs.gnu.org
Subject: Re: bug#61647: edit-kbd-macro: Wrong type argument: characterp,
 134217785
Date: Mon, 20 Feb 2023 12:39:25 +0100
Eduardo Ochs <eduardoochs <at> gmail.com> writes:

> Hi all, I found a keyboard macro on which edit-kbd-macro fails with
> this error:
>
>   edit-kbd-macro: Wrong type argument: characterp, 134217785
>
> To reproduce the error run any of these two setqs - they should be
> equivalent -
>
>   (setq last-kbd-macro [134217847 134217785 134217785 134217834 5 32
>     25 1 67108896 down 134217847 134217777 134217834 return 25
>     134217803 134217803])
>
>   (setq last-kbd-macro (kbd "M-w M-99 M-j C-e SPC C-y C-a C-SPC <down>
>     M-w M-1 M-j RET C-y 2*M-K"))
>
> and then run `M-x edit-kbd-macro C-x e'.
>

This is the commit that introduced this regression:

commit e5695faec4a43f10be3b56fa7fd436d5f54a5761
Author: Mattias Engdegård <mattiase <at> acm.org>
Date:   Fri Aug 19 13:27:53 2022 +0200

    * lisp/edmacro.el (edmacro-sanitize-for-string): Fix condition.
    
    This is of little consequence in practice since the input is always a
    vector of keys representing a prefix, where bit 7 isn't likely to be
    set when higher bits are set, but it silences a (justified) warning.

diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index efffab9b30b..26a5d2347f0 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -626,7 +626,7 @@ edmacro-sanitize-for-string
 This function assumes that the events can be stored in a string."
   (setq seq (copy-sequence seq))
   (cl-loop for i below (length seq) do
-           (when (logand (aref seq i) 128)
+           (when (/= (logand (aref seq i) 128) 0)
              (setf (aref seq i) (logand (aref seq i) 127))))
   seq)
 
Adding Mattias to the CC.




Reply sent to Mattias Engdegård <mattiase <at> acm.org>:
You have taken responsibility. (Mon, 20 Feb 2023 12:19:02 GMT) Full text and rfc822 format available.

Notification sent to Eduardo Ochs <eduardoochs <at> gmail.com>:
bug acknowledged by developer. (Mon, 20 Feb 2023 12:19:02 GMT) Full text and rfc822 format available.

Message #13 received at 61647-done <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattiase <at> acm.org>
To: Daniel Martín <mardani29 <at> yahoo.es>
Cc: Eduardo Ochs <eduardoochs <at> gmail.com>, 61647-done <at> debbugs.gnu.org
Subject: Re: bug#61647: edit-kbd-macro: Wrong type argument: characterp,
 134217785
Date: Mon, 20 Feb 2023 13:18:33 +0100
20 feb. 2023 kl. 12.39 skrev Daniel Martín <mardani29 <at> yahoo.es>:

> This is the commit that introduced this regression:

Sorry about that mistake, and thank you very much for finding it!
Now fixed on master.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#61647; Package emacs. (Mon, 20 Feb 2023 13:05:02 GMT) Full text and rfc822 format available.

Message #16 received at 61647 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Mattias Engdegård <mattiase <at> acm.org>
Cc: 61647 <at> debbugs.gnu.org, eduardoochs <at> gmail.com
Subject: Re: bug#61647: edit-kbd-macro: Wrong type argument: characterp,
 134217785
Date: Mon, 20 Feb 2023 15:05:01 +0200
> Resent-To: bug-gnu-emacs <at> gnu.org
> Cc: Eduardo Ochs <eduardoochs <at> gmail.com>, 61647-done <at> debbugs.gnu.org
> From: Mattias Engdegård <mattiase <at> acm.org>
> Date: Mon, 20 Feb 2023 13:18:33 +0100
> 
> 20 feb. 2023 kl. 12.39 skrev Daniel Martín <mardani29 <at> yahoo.es>:
> 
> > This is the commit that introduced this regression:
> 
> Sorry about that mistake, and thank you very much for finding it!
> Now fixed on master.

Thanks, but the bug exists also on the emacs-29 branch, so I think it
should be fixed there.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#61647; Package emacs. (Tue, 21 Feb 2023 09:34:02 GMT) Full text and rfc822 format available.

Message #19 received at 61647 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattiase <at> acm.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 61647 <at> debbugs.gnu.org, eduardoochs <at> gmail.com
Subject: Re: bug#61647: edit-kbd-macro: Wrong type argument: characterp,
 134217785
Date: Tue, 21 Feb 2023 10:33:10 +0100
20 feb. 2023 kl. 14.05 skrev Eli Zaretskii <eliz <at> gnu.org>:

> Thanks, but the bug exists also on the emacs-29 branch, so I think it
> should be fixed there.

Certainly, now backported.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 21 Mar 2023 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 93 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.