Subject: bug#61917: 29.0.60; native compilation issues

From: Naofumi Yasufuku <[email-masked]>
Date: Sat, 25 Mar 2023 21:49:25 +0900

Hello all,

Al Haji-Ali <[email-masked]> writes:

> Hello Andrea,
>
> On 20/03/2023, Andrea Corallo wrote:
>> 263d6c38539 now in emacs-29 should fix this, could you verify and let us
>> know?
>
> Thanks! The issue does seem to be fixed in this commit.
>

My latest emacs-29 08fbc133756 build (includes bug#61917 fixes)
fails to start with the following errors after recompiling eln-cache:

------------------------------------------------------------------------
Loading /Users/naofumi/.ddskk/init (native compiled elisp)...done
skk-emacs-prepare-modeline-properties: Wrong type argument: listp, :type
Error in post-command-hook (yas--post-command-handler): (wrong-number-of-arguments #<subr signal> 1) [2 times]
------------------------------------------------------------------------

------------------------------------------------------------------------
4a7a0c9a9f521b04b23580901e9c0a662b504e32
Author:     Andrea Corallo <[email-masked]>
AuthorDate: Tue Mar 21 11:51:03 2023 +0100
Commit:     Andrea Corallo <[email-masked]>
CommitDate: Tue Mar 21 12:10:31 2023 +0100

* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Improve 263d6c38539

1 file changed, 1 insertion(+), 1 deletion(-)
lisp/emacs-lisp/comp.el | 2 +-

modified   lisp/emacs-lisp/comp.el
@@ -1773,7 +1773,7 @@ comp-emit-set-call-subr
              (maxarg (cdr arity)))
         (when (eq maxarg 'unevalled)
           (signal 'native-ice (list "subr contains unevalled args" subr-name)))
-        (if (not (subrp subr-name))
+        (if (not (subr-primitive-p subr-name))
             ;; The primitive got redefined before the compiler is
             ;; invoked! (bug#61917)
             (comp-emit-set-call `(callref funcall

------------------------------------------------------------------------

Should it be "(not (subr-primitive-p subr))" instead of
"(not (subr-primitive-p subr-name))"?

------------------------------------------------------------------------
1 file changed, 1 insertion(+), 1 deletion(-)
lisp/emacs-lisp/comp.el | 2 +-

modified   lisp/emacs-lisp/comp.el
@@ -1773,7 +1773,7 @@ comp-emit-set-call-subr
              (maxarg (cdr arity)))
         (when (eq maxarg 'unevalled)
           (signal 'native-ice (list "subr contains unevalled args" subr-name)))
-        (if (not (subr-primitive-p subr-name))
+        (if (not (subr-primitive-p subr))
             ;; The primitive got redefined before the compiler is
             ;; invoked! (bug#61917)
             (comp-emit-set-call `(callref funcall

------------------------------------------------------------------------

Best regards,
  Naofumi