[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31641: 26.1; iter-do variable not left unused warning
From: |
Noam Postavsky |
Subject: |
bug#31641: 26.1; iter-do variable not left unused warning |
Date: |
Tue, 29 May 2018 18:13:50 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
tags 31641 + confirmed
severity 31641 minor
quit
Christopher Wellons <wellons@nullprogram.com> writes:
> When byte-compiling an iter-do form with a variable intended to be
> left unused, the compiler emits a false warning:
>
> ;;; -*- lexical-binding: t; -*-
> (require 'generator)
> (iter-do (_ i))
> ;; -> "Warning: variable ‘_’ not left unused"
Looking at the expansion, I guess the setf should be dropped if the
variable name starts with _.
(let (_
#3=#:iter-do-result11
(#1=#:iter-do-iterator-done8 nil)
(#2=#:iter-do-iterator10 i))
(while (not #1#)
(condition-case #4=#:iter-do-condition9
(setf _ (iter-next #2#))
(iter-end-of-sequence
(setf #3# (cdr #4#))
(setf #1# t)))
(unless #1#))
#3#)