Avoid a compilation warning in iter-do

* lisp/emacs-lisp/generator.el (iter-do): Avoid a compilation
warning on using variables marked for not using (bug#31641).
Eg. (iter-do (_ i))
This commit is contained in:
Lars Ingebrigtsen 2021-02-06 11:31:08 +01:00
parent b84b8dff70
commit f853f2d428

View file

@ -725,17 +725,20 @@ Return the value with which ITERATOR finished iteration."
(condition-symbol (cps--gensym "iter-do-condition"))
(it-symbol (cps--gensym "iter-do-iterator"))
(result-symbol (cps--gensym "iter-do-result")))
`(let (,var
,result-symbol
`(let (,result-symbol
(,done-symbol nil)
(,it-symbol ,iterator))
(while (not ,done-symbol)
(condition-case ,condition-symbol
(setf ,var (iter-next ,it-symbol))
(iter-end-of-sequence
(setf ,result-symbol (cdr ,condition-symbol))
(setf ,done-symbol t)))
(unless ,done-symbol ,@body))
(while
(let ((,var
(condition-case ,condition-symbol
(iter-next ,it-symbol)
(iter-end-of-sequence
(setf ,result-symbol (cdr ,condition-symbol))
(setf ,done-symbol t)))))
(unless ,done-symbol
,@body
;; Loop until done-symbol is set.
t)))
,result-symbol)))
(defvar cl--loop-args)