From 135ef35492601b14d2b5a438bab6f766de8def1b Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Tue, 1 Oct 2024 18:15:02 +0200 Subject: [PATCH] * Don't iterate over an hash table while modifyiong it in comp. * lisp/emacs-lisp/comp.el: Don't iterate over the hash values directly as 'comp--add-cond-cstrs-target-block' can modify the hash content. (cherry picked from commit 372ce6adbf39c5b9ec92e103abe70af872085119) --- lisp/emacs-lisp/comp.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index f1c8f02ebc3..342212f5185 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -1974,7 +1974,11 @@ TARGET-BB-SYM is the symbol name of the target block." (defun comp--add-cond-cstrs-simple () "`comp--add-cstrs' worker function for each selected function." (cl-loop - for b being each hash-value of (comp-func-blocks comp-func) + ;; Don't iterate over hash values directly as + ;; `comp--add-cond-cstrs-target-block' can modify the hash table + ;; content. + for b in (cl-loop for b being each hash-value of (comp-func-blocks comp-func) + collect b) do (cl-loop named in-the-basic-block -- 2.39.2