GNU bug report logs - #71120
29.3; buglet in cl-loop

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Philippe Schnoebelen <phs@HIDDEN>; dated Wed, 22 May 2024 14:49:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 71120 <at> debbugs.gnu.org:


Received: (at 71120) by debbugs.gnu.org; 30 May 2024 13:14:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 30 09:14:45 2024
Received: from localhost ([127.0.0.1]:35054 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sCfcC-00006A-Sv
	for submit <at> debbugs.gnu.org; Thu, 30 May 2024 09:14:45 -0400
Received: from eggs.gnu.org ([209.51.188.92]:52166)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acorallo@HIDDEN>) id 1sCfcA-00005n-0C
 for 71120 <at> debbugs.gnu.org; Thu, 30 May 2024 09:14:43 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acorallo@HIDDEN>)
 id 1sCfbt-0007Er-BS; Thu, 30 May 2024 09:14:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=QUptmOyDq7A5bWvlnKcGADZ3rgvuo94Fz5HtlW6vdmw=; b=IGBqEgQAHZDNTXdeTEiY
 RuPSa6pvbtPW4cvJ0Eu+tIaaDsbWYklAOuBQd1G+uj4Tlba957AQV6zz7ZUQCbOUWuf6okENQxOdu
 3D6u3gmBqu0waOSvoNuDlDpQDfunltbs2drwlxRAqpZ5Theq83LTTjcVgaCVmrdEaUt9cD09hMN57
 MaseMkbvuTDChFyxQK65O4QjDUKcjsCo/nC+jXMT5Z12TvnNOkIfOfL/HKWjJsEPadEi7gRVSWAaa
 DNAVbBmZF5VKfJpfo3WXXVBqfZLu5DHXSopnFGdbh4FvMRwY721uDUEm1OZFh1WYutm3RmgM0rESQ
 4uOogkKnEcGjDA==;
Received: from acorallo by fencepost.gnu.org with local (Exim 4.90_1)
 (envelope-from <acorallo@HIDDEN>)
 id 1sCfbt-0006mF-0u; Thu, 30 May 2024 09:14:25 -0400
From: Andrea Corallo <acorallo@HIDDEN>
To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
Subject: Re: bug#71120: 29.3; buglet in cl-loop
In-Reply-To: <4ED83CF1-C697-46DF-99D2-56432A1E3B44@HIDDEN> ("Mattias
 =?utf-8?Q?Engdeg=C3=A5rd=22's?= message of "Thu, 30 May 2024 11:25:46
 +0200")
References: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN>
 <87cyp4wdj7.fsf@HIDDEN>
 <4ED83CF1-C697-46DF-99D2-56432A1E3B44@HIDDEN>
Date: Thu, 30 May 2024 09:14:24 -0400
Message-ID: <yp1le3rqw5r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71120
Cc: 71120 <at> debbugs.gnu.org, Philip Kaludercic <philipk@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>,
 Philippe Schnoebelen <phs@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Mattias Engdeg=C3=A5rd <mattias.engdegard@HIDDEN> writes:

> Philippe Schnoebelen <phs@HIDDEN> writes:
>
>> When I need a list of 100 random dice throws I write
>>=20
>> 	(cl-loop for i from 1 to 100 collect (random 6))
>>=20
>> It compiles just fine.
>>=20
>> If instead I use
>>=20
>> 	(cl-loop for _i from 1 to 100 collect (random 6))
>>=20
>> then I get a compilation warning:
>>=20
>> 	foo.el:1:18: Warning: variable =E2=80=98_i=E2=80=99 not left unused
>
> Quite unfair that you have no a priori way of knowing whether your variab=
le name is actually the one that `cl-loop` uses for iteration or just one b=
ound for each iteration (as in `dotimes`).
>
> A sloppy reading of Common Lisp's `loop` spec, which we don't need to fol=
low since this isn't CL but we'd be fools to deviate too far from without a=
 good reason, didn't tell me anything.
>
> In particular nothing about whether the user is allowed to alter the vari=
able in order to change the iteration. For example, what should
>
>   (cl-loop for i from 1 to 100
>            when (=3D i 3) do (setq i 98)
>            collect i)
>
> return? Perhaps better not touch that.

If the spec doesn't say anything usually means it's left to the
implementors (IOW it's UB).

> Thus I don't think there's anything we really need to do here, do you?

I, for one, think the nicest option is the one SBCL (and I guess other
CL implementations) are using, that is to have 'i' 'ignorable', the
problem is that we don't support this at language level.

  Andrea




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71120; Package emacs. Full text available.

Message received at 71120 <at> debbugs.gnu.org:


Received: (at 71120) by debbugs.gnu.org; 30 May 2024 09:27:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 30 05:27:09 2024
Received: from localhost ([127.0.0.1]:54537 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sCc3w-0001EB-Ss
	for submit <at> debbugs.gnu.org; Thu, 30 May 2024 05:27:09 -0400
Received: from mail-lf1-f53.google.com ([209.85.167.53]:42475)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mattias.engdegard@HIDDEN>) id 1sCc3s-0001DJ-Mt
 for 71120 <at> debbugs.gnu.org; Thu, 30 May 2024 05:27:06 -0400
Received: by mail-lf1-f53.google.com with SMTP id
 2adb3069b0e04-52b27afe214so529996e87.1
 for <71120 <at> debbugs.gnu.org>; Thu, 30 May 2024 02:26:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1717061148; x=1717665948; darn=debbugs.gnu.org;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject
 :date:message-id:reply-to;
 bh=richXStWpQmZRwglxZD4hnPzeDk40fkGpMF3e4bTS3I=;
 b=Ex/xZ/4QAMxFEj9xNtUbbJ9rZY3nIQBO7aDqo/KxDiDQeTm7IL+7I3aqK/QJ4VCEyC
 36vrn1XZYkqlIE4462Hvswu9oNnUCoJMGnm+lcBpzExNDbsoezUMMtxmnF2yzJOTMNbK
 iIwRkAWcRRHkbcm8x/i1ukjoKCJEMn9kY4oOgm8JTY88alYew2XAy5aF+IjROUdEjmHI
 654T0a0qk6TmUaTYwcpDNcoQiXesdWVjPtHh2D5kCHRS+ysJdE61kiqMFa9cpNN01SXN
 NQyvVxom3VF0yi5KY9PWv1JMnNR24SsdDo2NfO0zphhSJ82oMnEnW/Z0HKAfDtu3t1XV
 twAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1717061148; x=1717665948;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=richXStWpQmZRwglxZD4hnPzeDk40fkGpMF3e4bTS3I=;
 b=rn2mCnT5Tidrv8ZU78C96QYV2BiAg0g9sU3NPR/2svouWcX40ARNZya73Uipi7s3iI
 f9vt0xDA6Cho2lq31cDg6h7n4L66HXULt9uuWYuUyFWc8kfhs/eilXzS/Djj2FET5jy/
 5+vyJrOun5p2/uatPi2y+LDTPI17KY3Ix8O+QVwEHyC2BzCLlUo4JH8JgEaI2ES1Kkbr
 7/Dc2SAxwYMg9RqpOPxfZtRIOnOvIWeQvA5Jrk7X11aM1EGy5gYPcGG7cbnZpni1mZfB
 yZhz8Uj9AniChZ/IQDGBwSvFyRpUBuejVN1UJF2hiB6u3a4hnvqQZiOQ/iBznXoZa79P
 wjcQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCWnHDfVrZeU4A8BmSlSaPov43Fch2avQDIa3KtHkNN/UIUxgj4AlAbpYPyKZvI+zONxNERq3/tfGz0W0Iglg4mFvvkDuh4=
X-Gm-Message-State: AOJu0YzJHcurBRhPplD80a7dCimW0/oJTmcrkV3fi616x/o0DF6+ZjTT
 QMTLr8eTEj5qPwZ6FHYGb2kuzUi6aeFyNSevRrYHnItKFZDRw2T3
X-Google-Smtp-Source: AGHT+IGMUsF8opmDCSZOpZMCrpGLfmxvKrGOAMwvglrbgR5EdZfFRe5aIZWKhAL7zG3FLJUcWULo1A==
X-Received: by 2002:a05:6512:344e:b0:524:4a7:5f1 with SMTP id
 2adb3069b0e04-52b7e0ee8a4mr420986e87.2.1717061147846; 
 Thu, 30 May 2024 02:25:47 -0700 (PDT)
Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se.
 [80.217.1.132]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-529b5ed674bsm1014417e87.18.2024.05.30.02.25.47
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 30 May 2024 02:25:47 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Subject: Re: bug#71120: 29.3; buglet in cl-loop
From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <87cyp4wdj7.fsf@HIDDEN>
Date: Thu, 30 May 2024 11:25:46 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <4ED83CF1-C697-46DF-99D2-56432A1E3B44@HIDDEN>
References: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN>
 <87cyp4wdj7.fsf@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 71120
Cc: 71120 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>,
 Philippe Schnoebelen <phs@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Philippe Schnoebelen <phs@HIDDEN> writes:

> When I need a list of 100 random dice throws I write
>=20
> 	(cl-loop for i from 1 to 100 collect (random 6))
>=20
> It compiles just fine.
>=20
> If instead I use
>=20
> 	(cl-loop for _i from 1 to 100 collect (random 6))
>=20
> then I get a compilation warning:
>=20
> 	foo.el:1:18: Warning: variable =E2=80=98_i=E2=80=99 not left =
unused

Quite unfair that you have no a priori way of knowing whether your =
variable name is actually the one that `cl-loop` uses for iteration or =
just one bound for each iteration (as in `dotimes`).

A sloppy reading of Common Lisp's `loop` spec, which we don't need to =
follow since this isn't CL but we'd be fools to deviate too far from =
without a good reason, didn't tell me anything.

In particular nothing about whether the user is allowed to alter the =
variable in order to change the iteration. For example, what should

  (cl-loop for i from 1 to 100
           when (=3D i 3) do (setq i 98)
           collect i)

return? Perhaps better not touch that.

Thus I don't think there's anything we really need to do here, do you?





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71120; Package emacs. Full text available.

Message received at 71120 <at> debbugs.gnu.org:


Received: (at 71120) by debbugs.gnu.org; 30 May 2024 01:45:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 29 21:45:45 2024
Received: from localhost ([127.0.0.1]:38425 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sCUrR-0000IH-Fo
	for submit <at> debbugs.gnu.org; Wed, 29 May 2024 21:45:45 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:43181)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1sCUrP-0000Hy-R5
 for 71120 <at> debbugs.gnu.org; Wed, 29 May 2024 21:45:44 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id CDC54100043;
 Wed, 29 May 2024 21:45:27 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1717033526;
 bh=t1efKYalRZ2LE9l4ZxgP5CHNT3lBAhC3xpSLRC8g83k=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=jdA9RD0cdeFgchIERnMa/afjLboZLJT6Fqr0CzbYlQ4Rtit+cPe2qYPEWNk3PkTRN
 5u6IAHikA3Ly02uDYO8hSEuvLXwBkLX1/LtXRkJeoyArmFSCwaCsPNmQD+kmuxIvEK
 lDKGFKuPGWMQ/tBM9wEqrcEKlcADCKCGZJrFAQf81WbzTKj9c4Q2qls2hZSZQ+MoAf
 eNx7DCFOOgd6GP4MRmXKbIKs6h/z7sF7SU8oUvjpuxftGGuuchr1R9ai/Nh+byWiCM
 n5HcnhPYKuXAUT+fvArzeUsDie+qAjbb1Nk3U4zU+WETSOVmyvD9pYCtErVYk/FJ+8
 SiAM2f4X8YCaw==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id E19A410002E;
 Wed, 29 May 2024 21:45:26 -0400 (EDT)
Received: from pastel (unknown [24.140.236.196])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A7321120209;
 Wed, 29 May 2024 21:45:26 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Andrea Corallo <acorallo@HIDDEN>
Subject: Re: bug#71120: 29.3; buglet in cl-loop
In-Reply-To: <yp1fru0s3pe.fsf@HIDDEN> (Andrea Corallo's message of
 "Wed, 29 May 2024 17:33:49 -0400")
Message-ID: <jwvr0dkyt4q.fsf-monnier+emacs@HIDDEN>
References: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN>
 <87cyp4wdj7.fsf@HIDDEN> <yp1fru0s3pe.fsf@HIDDEN>
Date: Wed, 29 May 2024 21:45:26 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.759 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71120
Cc: 71120 <at> debbugs.gnu.org,
 Mattias =?windows-1252?Q?Engd?= =?windows-1252?Q?eg=E5rd?=
 <mattiase@HIDDEN>, Philip Kaludercic <philipk@HIDDEN>,
 Philippe Schnoebelen <phs@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>>   (let* ((<fresh-variable> 1) (--cl-var-- nil))
>>     (while (<= <fresh-variable> 100)
>>       (let ((_i <fresh-variable>))
>> 	(setq --cl-var-- (cons (random 6) --cl-var--))
>> 	(setq <fresh-variable> (+ <fresh-variable> 1))))
>>     (nreverse --cl-var--))
>>
>> I have added Mattias and Stefan to the CCs, as they'll probably have
>> more qualified comments to add.

Not really: There's a similar problem with `cl-destructuring-bind` and
similarly, when I started to look at the corresponding code I quickly
gave up.

At least for `cl-destructuring-bind` I think I understand the intended
behavior well enough that I might be able to implement code which
behaves as we want (tho I don't know how to *modify* the existing code
to reach that stage).

In the case of `cl-loop` the intended behavior is much too complex for
my poor head, so I don't think I'd be able to decide whether it does the
right thing for all cases.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71120; Package emacs. Full text available.

Message received at 71120 <at> debbugs.gnu.org:


Received: (at 71120) by debbugs.gnu.org; 29 May 2024 21:49:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 29 17:49:31 2024
Received: from localhost ([127.0.0.1]:56449 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sCRAo-0000Bb-In
	for submit <at> debbugs.gnu.org; Wed, 29 May 2024 17:49:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acorallo@HIDDEN>) id 1sCRAm-0000BG-57
 for 71120 <at> debbugs.gnu.org; Wed, 29 May 2024 17:49:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acorallo@HIDDEN>)
 id 1sCRAV-0003HO-4x; Wed, 29 May 2024 17:49:11 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=pDJpNi2hb+n+FtmCJbRKndmHdQ8plg6bXcNsa8ufz04=; b=Ad6uqZo+0ntn1XmWe3w0
 vC0jEYtSqwQRMqGHtNRo8xH/uWPe6rCtJYaHn5T34SiODbyyChhuwh8DLVGf2pXrdyDPPa9JtGsIn
 IXHj+H6pHaCqxDCBwx2aUygoS2d39udcS9n+zpN8/oABGxmR1sdbZc5YVs7fevdxlaW97uBkLPaoo
 Jc/fw/yG7EhejAlQYNIFH+LKYSphm+y0fWPhTPurfCHLa8XJy4SBuVUXyh7TDnBezSzlvl9PCeinD
 s6QXrLqQ2EJRWHI0pnA/uwN2FNt4r6ruwWB6TQTQ3bve/gtmUh4GhtG67Kpbpuq95DVCyDd3Qx8kc
 9e3GnZaUHGeOLg==;
Received: from acorallo by fencepost.gnu.org with local (Exim 4.90_1)
 (envelope-from <acorallo@HIDDEN>)
 id 1sCRAU-0007ow-FA; Wed, 29 May 2024 17:49:10 -0400
From: Andrea Corallo <acorallo@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#71120: 29.3; buglet in cl-loop
In-Reply-To: <yp1fru0s3pe.fsf@HIDDEN> (Andrea Corallo's message of
 "Wed, 29 May 2024 17:33:49 -0400")
References: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN>
 <87cyp4wdj7.fsf@HIDDEN> <yp1fru0s3pe.fsf@HIDDEN>
Date: Wed, 29 May 2024 17:49:10 -0400
Message-ID: <yp1bk4os2zt.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71120
Cc: 71120 <at> debbugs.gnu.org,
 Mattias =?utf-8?Q?Engdeg=C3=A5rd?= <mattiase@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>,
 Philippe Schnoebelen <phs@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Andrea Corallo <acorallo@HIDDEN> writes:

> Philip Kaludercic <philipk@HIDDEN> writes:
>
>> Philippe Schnoebelen <phs@HIDDEN> writes:
>>
>>> When I need a list of 100 random dice throws I write
>>>
>>> 	(cl-loop for i from 1 to 100 collect (random 6))
>>>
>>> It compiles just fine.
>>>
>>> If instead I use
>>>
>>> 	(cl-loop for _i from 1 to 100 collect (random 6))
>>>
>>> then I get a compilation warning:
>>>
>>> 	foo.el:1:18: Warning: variable =E2=80=98_i=E2=80=99 not left unused
>>>
>>> It should be the other way around.
>>
>> The issue here is that the warning describes an issue in the output, in
>> the latter case
>>
>>   (let* ((_i 1) (--cl-var-- nil))
>>     (while (<=3D _i 100)
>>       (setq --cl-var-- (cons (random 6) --cl-var--))
>>       (setq _i (+ _i 1)))
>>     (nreverse --cl-var--))
>>
>> As you see, _i is both evaluated in (+ _i 1) and updated.
>>
>> Here you have a minimal working example of the warning:
>>
>>   (byte-compile (lambda () (let ((_x 3)) _x)))
>>
>>   ;; Warning: variable =E2=80=98_x=E2=80=99 not left unused
>>
>> My guess is that fixing this would require cl-loop to notice that the
>> counter is prefixed with a "_" and then use some other variable, but
>> that might lead to issues with existing code.  Perhaps this
>> transformation might be safe in that case:
>>
>>   (let* ((<fresh-variable> 1) (--cl-var-- nil))
>>     (while (<=3D <fresh-variable> 100)
>>       (let ((_i <fresh-variable>))
>> 	(setq --cl-var-- (cons (random 6) --cl-var--))
>> 	(setq <fresh-variable> (+ <fresh-variable> 1))))
>>     (nreverse --cl-var--))
>>
>> I have added Mattias and Stefan to the CCs, as they'll probably have
>> more qualified comments to add.
>
> This is the same transformation that came to my mind reading the orginal
> report, I think it should be safe.

As a datapoint, SBCL does expands this with inside a

(declare (ignore i))

Unfortuantelly we don't support it :/ and our 'ignore' doesn't work here
as goes in the opposite direction :(

  Andrea




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71120; Package emacs. Full text available.

Message received at 71120 <at> debbugs.gnu.org:


Received: (at 71120) by debbugs.gnu.org; 29 May 2024 21:34:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 29 17:34:10 2024
Received: from localhost ([127.0.0.1]:55715 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sCQvx-0007ro-VF
	for submit <at> debbugs.gnu.org; Wed, 29 May 2024 17:34:10 -0400
Received: from eggs.gnu.org ([209.51.188.92]:34354)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <acorallo@HIDDEN>) id 1sCQvw-0007rB-8Y
 for 71120 <at> debbugs.gnu.org; Wed, 29 May 2024 17:34:09 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <acorallo@HIDDEN>)
 id 1sCQve-0000Wv-Ec; Wed, 29 May 2024 17:33:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=DKDHKbWHQAcfP0rzw9QvrNctHARnk8k/X5EQ10nIZZA=; b=F5rYl3rFwOJkgDN4Fycz
 JPzvtFRM7btD2ibE8abLUPFnePAhkWKbhjf0ku5gBIIa9mmlNU5sNsWK5/IZZpPLd7qHZYMAAcXx+
 EtJC78XVKHRNJww/jBMg3bSU4ddsRtrR2vBSqwyNxktvvDlLB4lbNkAJ3ZspaF7W5DjMb09+ueuK6
 13dqyiUADsWBfP//qlYPy/vkJnxmnlR78x2jckYKU6n3H9rlCT5Re7BT81YMGYZawIGFdC2xB0VBf
 lEDt9yJ2195Xma0fE7Ac/lrWL2KQ7rZAVcWa+/PoLJglKHanNiY9ooYSZVqYTIUAPcnE2qaKduO3X
 VPOYT2oahn+27w==;
Received: from acorallo by fencepost.gnu.org with local (Exim 4.90_1)
 (envelope-from <acorallo@HIDDEN>)
 id 1sCQvd-00075P-Vr; Wed, 29 May 2024 17:33:50 -0400
From: Andrea Corallo <acorallo@HIDDEN>
To: Philip Kaludercic <philipk@HIDDEN>
Subject: Re: bug#71120: 29.3; buglet in cl-loop
In-Reply-To: <87cyp4wdj7.fsf@HIDDEN> (Philip Kaludercic's message of "Wed, 
 29 May 2024 20:47:56 +0000")
References: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN>
 <87cyp4wdj7.fsf@HIDDEN>
Date: Wed, 29 May 2024 17:33:49 -0400
Message-ID: <yp1fru0s3pe.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71120
Cc: 71120 <at> debbugs.gnu.org,
 Mattias =?utf-8?Q?Engdeg=C3=A5rd?= <mattiase@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>,
 Philippe Schnoebelen <phs@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Philip Kaludercic <philipk@HIDDEN> writes:

> Philippe Schnoebelen <phs@HIDDEN> writes:
>
>> When I need a list of 100 random dice throws I write
>>
>> 	(cl-loop for i from 1 to 100 collect (random 6))
>>
>> It compiles just fine.
>>
>> If instead I use
>>
>> 	(cl-loop for _i from 1 to 100 collect (random 6))
>>
>> then I get a compilation warning:
>>
>> 	foo.el:1:18: Warning: variable =E2=80=98_i=E2=80=99 not left unused
>>
>> It should be the other way around.
>
> The issue here is that the warning describes an issue in the output, in
> the latter case
>
>   (let* ((_i 1) (--cl-var-- nil))
>     (while (<=3D _i 100)
>       (setq --cl-var-- (cons (random 6) --cl-var--))
>       (setq _i (+ _i 1)))
>     (nreverse --cl-var--))
>
> As you see, _i is both evaluated in (+ _i 1) and updated.
>
> Here you have a minimal working example of the warning:
>
>   (byte-compile (lambda () (let ((_x 3)) _x)))
>
>   ;; Warning: variable =E2=80=98_x=E2=80=99 not left unused
>
> My guess is that fixing this would require cl-loop to notice that the
> counter is prefixed with a "_" and then use some other variable, but
> that might lead to issues with existing code.  Perhaps this
> transformation might be safe in that case:
>
>   (let* ((<fresh-variable> 1) (--cl-var-- nil))
>     (while (<=3D <fresh-variable> 100)
>       (let ((_i <fresh-variable>))
> 	(setq --cl-var-- (cons (random 6) --cl-var--))
> 	(setq <fresh-variable> (+ <fresh-variable> 1))))
>     (nreverse --cl-var--))
>
> I have added Mattias and Stefan to the CCs, as they'll probably have
> more qualified comments to add.

This is the same transformation that came to my mind reading the orginal
report, I think it should be safe.

BTW Philippe, you can workaround the bug with:

(cl-loop repeat 100 collect (random 6))

Bests

  Andrea




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71120; Package emacs. Full text available.

Message received at 71120 <at> debbugs.gnu.org:


Received: (at 71120) by debbugs.gnu.org; 29 May 2024 20:48:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 29 16:48:24 2024
Received: from localhost ([127.0.0.1]:53714 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sCQDf-0005bx-Kz
	for submit <at> debbugs.gnu.org; Wed, 29 May 2024 16:48:24 -0400
Received: from mout01.posteo.de ([185.67.36.65]:36539)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philipk@HIDDEN>) id 1sCQDd-0005bZ-RN
 for 71120 <at> debbugs.gnu.org; Wed, 29 May 2024 16:48:23 -0400
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 5137724002D
 for <71120 <at> debbugs.gnu.org>; Wed, 29 May 2024 22:48:01 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
 t=1717015685; bh=ADbFYwwf+mszdxEwcXuw8qaLBTtBU7Mz/AwLY+yO1ek=;
 h=From:To:Cc:Subject:OpenPGP:Date:Message-ID:MIME-Version:
 Content-Type:Content-Transfer-Encoding:From;
 b=d9nVWilfPaQ2nqhvrmN2h86X7QSuiO8D41Hf4vFtAN+q9W4J2xJb455+KyIrX4RP1
 3ns9g7qmvaMZjKN+yUXT7z9MtJBzq0B34rOrWJf43WIEk1gaQL7jN7uWpVRoEvwj+o
 ozWqRszHlm6OsNvJH96i/NSl8ic3VLYJlb96Ooq2GEYKjZltNlJ1FXc5IpqtonprGp
 PW1Nt+cohbPydYHwky62zP5uFrdwCc0PsKfNxfmFHzvryssfqNpzRRHzmI/1DQ3P1+
 nOQJgXLsvANOpPP7cxIXSSVuWFNKIzOQHtmxrByQ+EZDDt7Xitl+stQ4dJF34fPhwm
 vKD7pFTCedKMw==
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4VqM0G0RwTz9rxK;
 Wed, 29 May 2024 22:47:57 +0200 (CEST)
From: Philip Kaludercic <philipk@HIDDEN>
To: Philippe Schnoebelen <phs@HIDDEN>
Subject: Re: bug#71120: 29.3; buglet in cl-loop
In-Reply-To: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN> (Philippe
 Schnoebelen's message of "Wed, 22 May 2024 10:43:36 +0200")
References: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN>
OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66;
 url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66";
 preference=signencrypt
Date: Wed, 29 May 2024 20:47:56 +0000
Message-ID: <87cyp4wdj7.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 71120
Cc: 71120 <at> debbugs.gnu.org,
 Mattias =?utf-8?Q?Engdeg=C3=A5rd?= <mattiase@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Philippe Schnoebelen <phs@HIDDEN> writes:

> When I need a list of 100 random dice throws I write
>
> 	(cl-loop for i from 1 to 100 collect (random 6))
>
> It compiles just fine.
>
> If instead I use
>
> 	(cl-loop for _i from 1 to 100 collect (random 6))
>
> then I get a compilation warning:
>
> 	foo.el:1:18: Warning: variable =E2=80=98_i=E2=80=99 not left unused
>
> It should be the other way around.

The issue here is that the warning describes an issue in the output, in
the latter case

  (let* ((_i 1) (--cl-var-- nil))
    (while (<=3D _i 100)
      (setq --cl-var-- (cons (random 6) --cl-var--))
      (setq _i (+ _i 1)))
    (nreverse --cl-var--))

As you see, _i is both evaluated in (+ _i 1) and updated.

Here you have a minimal working example of the warning:

  (byte-compile (lambda () (let ((_x 3)) _x)))

  ;; Warning: variable =E2=80=98_x=E2=80=99 not left unused

My guess is that fixing this would require cl-loop to notice that the
counter is prefixed with a "_" and then use some other variable, but
that might lead to issues with existing code.  Perhaps this
transformation might be safe in that case:

  (let* ((<fresh-variable> 1) (--cl-var-- nil))
    (while (<=3D <fresh-variable> 100)
      (let ((_i <fresh-variable>))
	(setq --cl-var-- (cons (random 6) --cl-var--))
	(setq <fresh-variable> (+ <fresh-variable> 1))))
    (nreverse --cl-var--))

I have added Mattias and Stefan to the CCs, as they'll probably have
more qualified comments to add.

>
> The variable 'i' is unused in the first form and that deserves a
> warning at compile time. Otherwise the compiler will not help me catch
> the typo in
>
> 	(cl-loop for i from 0 to 10 do
> 	   (cl-loop for j from 0 to 10 do
> 	      (foo j j))) ;; <<<=3D=3D=3D typo, I meant (foo i j)
>
>
> --ph.schnoebelen, happy and thankful GNU Emacs user since 1983 (Thanks
>   to all involved!!)
>
>
>
>
>

--=20
	Philip Kaludercic on peregrine




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#71120; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 22 May 2024 14:48:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 22 10:48:40 2024
Received: from localhost ([127.0.0.1]:56365 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s9nGi-0003os-0c
	for submit <at> debbugs.gnu.org; Wed, 22 May 2024 10:48:40 -0400
Received: from lists.gnu.org ([209.51.188.17]:52086)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <phs@HIDDEN>) id 1s9hZe-0008BN-Ed
 for submit <at> debbugs.gnu.org; Wed, 22 May 2024 04:43:52 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <phs@HIDDEN>) id 1s9hZY-0008Qu-CV
 for bug-gnu-emacs@HIDDEN; Wed, 22 May 2024 04:43:44 -0400
Received: from mx.lmf.cnrs.fr ([195.220.198.153])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <phs@HIDDEN>) id 1s9hZV-00063P-VQ
 for bug-gnu-emacs@HIDDEN; Wed, 22 May 2024 04:43:44 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lmf.cnrs.fr; s=mail;
 t=1716367416; bh=Blpta2WMuXzlmDAqqazskBtpwxxYbt5yAXaS3GUuzgA=;
 h=Date:To:From:Subject:From;
 b=SIKoEstXapt4naR472j9PN+Srn/9fCpBvlQh8Le8FAUUdg/V7kDjcY8Fq+nAic51x
 LXT2+YsZPDjyYJes/1vVZw/MUzQXkyzUseJH4xxDU22ukdr5l1AJR1s9GVzmtSJCV4
 YiY42cCQ4X9uagXgFSlCUMp1fD7fTOIpnJGtjHQv900zEncHVZ7pyy18XK8k8dRZ7F
 sRTFkNfM7ncj1dZpp+zcakhwBgsFkQVjvSCkokLYH94Hl5YUQzYquQNuJdLXXLJ4qw
 z3vNj8Co4gqCb7KRsJlv9ues/ckAJsyAU7BEWMwgcWULOdIR4DpbIz+WwOnXFy3e8r
 wgBo3Lf+R8FFQ==
Received: from authenticated-user (mx.lmf.cnrs.fr [195.220.198.153])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mx.lmf.cnrs.fr (Postfix) with ESMTPSA id C83153F66E
 for <bug-gnu-emacs@HIDDEN>; Wed, 22 May 2024 10:43:36 +0200 (CEST)
Message-ID: <23fd70f8-6e01-45d7-b9f9-d81d53c95ffd@HIDDEN>
Date: Wed, 22 May 2024 10:43:36 +0200
MIME-Version: 1.0
Content-Language: fr
To: bug-gnu-emacs@HIDDEN
From: Philippe Schnoebelen <phs@HIDDEN>
Autocrypt: addr=phs@HIDDEN; keydata=
 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
Subject: 29.3; buglet in cl-loop
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=195.220.198.153; envelope-from=phs@HIDDEN;
 helo=mx.lmf.cnrs.fr
X-Spam_score_int: -19
X-Spam_score: -2.0
X-Spam_bar: --
X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Wed, 22 May 2024 10:48:36 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

When I need a list of 100 random dice throws I write

	(cl-loop for i from 1 to 100 collect (random 6))

It compiles just fine.

If instead I use

	(cl-loop for _i from 1 to 100 collect (random 6))

then I get a compilation warning:

	foo.el:1:18: Warning: variable ā€˜_iā€™ not left unused

It should be the other way around.

The variable 'i' is unused in the first form and that deserves a warning 
at compile time. Otherwise the compiler will not help me catch the typo in

	(cl-loop for i from 0 to 10 do
	   (cl-loop for j from 0 to 10 do
	      (foo j j))) ;; <<<=== typo, I meant (foo i j)


--ph.schnoebelen, happy and thankful GNU Emacs user since 1983 (Thanks 
to all involved!!)





Acknowledgement sent to Philippe Schnoebelen <phs@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#71120; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 30 May 2024 13:30:03 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.