emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 372ce6adbf3: * Don't iterate over an hash table while modifyiong


From: Andrea Corallo
Subject: master 372ce6adbf3: * Don't iterate over an hash table while modifyiong it in comp.
Date: Tue, 1 Oct 2024 12:30:55 -0400 (EDT)

branch: master
commit 372ce6adbf39c5b9ec92e103abe70af872085119
Author: Andrea Corallo <acorallo@gnu.org>
Commit: Andrea Corallo <acorallo@gnu.org>

    * 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.
---
 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]