From 55d41f5d2bdd95871b9966c9c6492bd7521430a4 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 5 Nov 2025 10:14:11 +0100 Subject: [PATCH] * Fix native compiler for circular objects (bug#75135) * lisp/emacs-lisp/comp.el (comp--ssa-rename-insn): Fix circular objects. --- lisp/emacs-lisp/comp.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 9784f0b1255..cf8bd19580d 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2478,8 +2478,9 @@ PRE-LAMBDA and POST-LAMBDA are called in pre or post-order if non-nil." (setf (comp-vec-aref frame slot-n) mvar (cadr insn) mvar)))) (pcase insn - (`(setimm ,(pred targetp) ,_imm) - (new-lvalue)) + (`(setimm ,lval ,_imm) + (when (targetp lval) + (new-lvalue))) (`(,(pred comp--assign-op-p) ,(pred targetp) . ,_) (let ((mvar (comp-vec-aref frame slot-n))) (setf (cddr insn) (cl-nsubst-if mvar #'targetp (cddr insn))))