From: Andrea Corallo Date: Tue, 1 Oct 2024 16:15:02 +0000 (+0200) Subject: * Don't iterate over an hash table while modifyiong it in comp. X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=135ef35492601b14d2b5a438bab6f766de8def1b;p=emacs.git * 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) --- 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