summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/emacs-lisp/comp.el6
1 files changed, 5 insertions, 1 deletions
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