GNU bug report logs - #72344
[PATCH] Add a version of cl-once-only which handles lists of forms

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; Severity: wishlist; Reported by: Thuna <thuna.cing@HIDDEN>; Keywords: patch; dated Sun, 28 Jul 2024 21:18:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 72344) by debbugs.gnu.org; 19 Aug 2024 16:55:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 19 12:55:44 2024
Received: from localhost ([127.0.0.1]:59061 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sg5fU-00021W-0G
	for submit <at> debbugs.gnu.org; Mon, 19 Aug 2024 12:55:44 -0400
Received: from eggs.gnu.org ([209.51.188.92]:58128)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rms@HIDDEN>) id 1sg5fR-000213-2s
 for 72344 <at> debbugs.gnu.org; Mon, 19 Aug 2024 12:55:42 -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 <rms@HIDDEN>)
 id 1sg5ed-0004UJ-Ti; Mon, 19 Aug 2024 12:54:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From:
 mime-version; bh=9IOSkeOVFz9xxpQDSmvlljOcPVXa+L7d01TW9XmHdY8=; b=R/wJuHAlI58E
 y4enDWcgCSwB1CFCjLoWYZoLcAzHFTB30j+uRNXGZTMUq4GVYA6nBzRG8P9DAewhpZgdmlTmbc8l5
 6nFXueQ0tuq9Blt/TsVPMwk75wY8Q36S9jjvnTMtUvzaT2d/qs9uM8G2/qVvynD2TeJtOGfYoIqZc
 J2rrXSnV+0YagT2EKIyVBJUw54B6jP7GDi8ALGhgOSCy0rENUpoWFoMQoZY7ZbqngfBErzxJyTy3U
 S6qpbVWQz65ywkCUJ3Ujnz62iDVe04GJWY4xy2f/KESS/xVUkbaPVvlZIJCDRfwNaYEf5/jX7rmCh
 nQfQS1f0PIypvxs+f0a+lg==;
Received: from rms by fencepost.gnu.org with local (Exim 4.90_1)
 (envelope-from <rms@HIDDEN>)
 id 1sg5eY-0003CP-N2; Mon, 19 Aug 2024 12:54:47 -0400
Content-Type: text/plain; charset=Utf-8
From: Richard Stallman <rms@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <86bk1t7o7i.fsf@HIDDEN> (message from Eli Zaretskii on Thu, 15
 Aug 2024 19:20:01 +0300)
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN> <87o75vi43v.fsf@HIDDEN>
 <86jzgj89ev.fsf@HIDDEN> <87ikw2ioih.fsf@HIDDEN>
 <867cci8fl8.fsf@HIDDEN> <87y14x95s1.fsf@HIDDEN> <86bk1t7o7i.fsf@HIDDEN>
Message-Id: <E1sg5eY-0003CP-N2@HIDDEN>
Date: Mon, 19 Aug 2024 12:54:46 -0400
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, thuna.cing@HIDDEN, spwhitton@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>
Reply-To: rms@HIDDEN
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

I still maintain that we should integrate this fully accept this
construct into Emacs, by deleting `cl-' from its name.
-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)






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

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


Received: (at 72344) by debbugs.gnu.org; 15 Aug 2024 16:22:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 15 12:22:59 2024
Received: from localhost ([127.0.0.1]:49586 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sedFa-0002QM-LK
	for submit <at> debbugs.gnu.org; Thu, 15 Aug 2024 12:22:58 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35462)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sedFY-0002Q6-B9
 for 72344 <at> debbugs.gnu.org; Thu, 15 Aug 2024 12:22:56 -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 <eliz@HIDDEN>)
 id 1sedCm-00060C-9c; Thu, 15 Aug 2024 12:20:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=eDmV3A8dVA14PwKVnv6+vib6F9YIxEK/ljlXttwzrvY=; b=rabYlMUCt+8Q
 MW3Xi1PQBl1RfFRiHdVlNPD9T/X+RqWe0tZjFS+LrSak6dn0EEMy+QZELWOJKfgIcpBLL6XSY4x7Z
 NALJe384iUdjr24Icqn+ZfALBQYtJm7wmNlgfomVSYb73yM3OiE1m6Sihk7UsqeESpBRVbvvtXosU
 ZaqfU+TUFVO/Hqca9ddj0sDInPE83tKZt5578WM9IfT7Gjldcg42dPyBv9McQ5ohfN3VXwMZMLb58
 MlNdZX3b/CBe37Rk6CVQJPX2gm3bRJFaGwJhxz4p9Ojqrgz1VH4l7dLbWcfGmcRo6uUu3ftC+oUks
 xx7GwQVuuKLT5dQPUva1zA==;
Date: Thu, 15 Aug 2024 19:20:01 +0300
Message-Id: <86bk1t7o7i.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
In-Reply-To: <87y14x95s1.fsf@HIDDEN> (message from Thuna on Thu, 15 Aug
 2024 17:15:10 +0200)
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN> <87o75vi43v.fsf@HIDDEN>
 <86jzgj89ev.fsf@HIDDEN> <87ikw2ioih.fsf@HIDDEN>
 <867cci8fl8.fsf@HIDDEN> <87y14x95s1.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, spwhitton@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 (---)

> From: Thuna <thuna.cing@HIDDEN>
> Cc: spwhitton@HIDDEN, 72344 <at> debbugs.gnu.org
> Date: Thu, 15 Aug 2024 17:15:10 +0200
> 
> In the meanwhile, what do you think about the docstring?  It seems to me
> that it mentions what happens to FORMS more accurately, but if there are
> problems with it then I'll also need to look into changing that.

It still says something similar:

  +                                                         FORMS is
  +evaluated once during macroexpansion to obtain the list of forms.  In
  +the fully expanded code those forms will be evaluated once before BODY
  +and their results will be bound to fresh uninterned variables, one for
  +each form.

So I think we need to fix that as well.  I hope once we have the text
for the manual ready, it will be easier to figure out how to say the
same in the doc string.




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

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


Received: (at 72344) by debbugs.gnu.org; 15 Aug 2024 15:16:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 15 11:16:58 2024
Received: from localhost ([127.0.0.1]:49536 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1secDi-0000ki-GV
	for submit <at> debbugs.gnu.org; Thu, 15 Aug 2024 11:16:58 -0400
Received: from mail-lj1-f177.google.com ([209.85.208.177]:53442)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1secDg-0000kU-J5
 for 72344 <at> debbugs.gnu.org; Thu, 15 Aug 2024 11:16:57 -0400
Received: by mail-lj1-f177.google.com with SMTP id
 38308e7fff4ca-2f029e9c9cfso15500051fa.2
 for <72344 <at> debbugs.gnu.org>; Thu, 15 Aug 2024 08:16:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1723734914; x=1724339714; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=JdFpg/plmB4pljnPLfuVTPrXqMiJG2gcKoyCsGmYkFM=;
 b=Sz3GNdwefv88K+xAEHCsC5rjwTUjVDgFCQg4a2ng9uOx7L6gcou1Ga14ZzPe3grkmD
 O2h6+2ASUUA+oZfKLqRf3GWq2BCmn7Lu+VyISFdoXeBbUm7tVuKD5uW3fTmWIf2SgCEq
 rM3Dt5JBMDaeDwPa/dJQ//8NHTuR+VKNOGBY5k89PrG/Xu9pRzPseFMmdkW3WNa9UdwY
 hAU7iwpgIUsV5NQJgxJXv2h6LUvfXCdCqh5bFZFXrx5ROM1lmGG6I62zxorR+gRrCHyi
 jJ/Cr1bvXF/zbgvKQyDu+/O9GsPrGVvLVea5siAmavCGRgjUBBhzWQE9xTs7S7l+X0gK
 WlSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1723734914; x=1724339714;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=JdFpg/plmB4pljnPLfuVTPrXqMiJG2gcKoyCsGmYkFM=;
 b=qGfA4e+KlJfCGKtwgDUigcrb3V1fTXvS0MP1f6dQPSJf0qaqdlWUPhRm3+vrvnebxQ
 RMov/RDEsHrh8LRC2Ifnyuncx4d8MF8Eq3rEUTcKo1dd81HXFYwTcT6PAvLI7sjl9G9I
 q++Ghnr+ZY1iVXaJrHPz37PslTN9gURbl2XA5j8WHIvMvGADX+075OsdCZUY2gkECLGh
 AEUf9+R+HYA6Nwa5qbGFtShVR2oGYMG0tQB/QqNozDddANWZJoW6S2nF9TakLggzvZ29
 GTEIevhzvIEkd2ZxMDo3dcI3Ueiygr5dnufRvUoRh1a7qlM4bCWZi3t3YyPZLjb/4ji0
 fWyg==
X-Forwarded-Encrypted: i=1;
 AJvYcCV5flxRRKkozlFpT4lP0x4JoPiD+nayMKnJ2pDH9/CqyC+4xsgq7DE/GvKqLKIViQz9Y/GhzyjBEw9WxbLdC60yZyP2t+0=
X-Gm-Message-State: AOJu0YxFoBOG9CZ5FZkq+kW6kU+8nBxz+zeNARb4OkZAeS+u0HU9bq4e
 LV2iisGRoEb/2Dn5o7ZUefyfxJTp0Di51SoXVDTU7QWX5doPsqtI3JH9rg==
X-Google-Smtp-Source: AGHT+IGnYlOgXdOj7npkbfto+OTytLM7ogqQ7YlhO8rWvSpj4Rp13xYNvkgw8UqGtGE+K3cLwg8QuA==
X-Received: by 2002:a2e:b889:0:b0:2ef:226e:e150 with SMTP id
 38308e7fff4ca-2f3be5da1b0mr48591fa.32.1723734913136; 
 Thu, 15 Aug 2024 08:15:13 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a838396c62asm114459666b.209.2024.08.15.08.15.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 15 Aug 2024 08:15:12 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <867cci8fl8.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN> <87o75vi43v.fsf@HIDDEN>
 <86jzgj89ev.fsf@HIDDEN> <87ikw2ioih.fsf@HIDDEN>
 <867cci8fl8.fsf@HIDDEN>
Date: Thu, 15 Aug 2024 17:15:10 +0200
Message-ID: <87y14x95s1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, spwhitton@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 (-)

> Sorry, I'm now completely confused and bewildered.  Earlier you said
> 'it is "forms", which is evaluated to obtain a list of forms', now you
> seem to be saying that this evaluation is not relevant to the macro
> (i.e. is done before the macro is called)?

No, no, it's rather that the evaluation is a given, the same way it is
in, e.g. if-let (and also cl-once-only, where the evaluation of form(1)
to obtain form(2) during 2 isn't explicitly mentioned).

> Anyway, what I'm looking for is not _my_ understanding, but some text
> for the manual and the doc strings which will explain this to the
> reader.  So maybe suggest text that you think is both accurate and not
> supposed to confuse, and let's take it from there.

Regardless, if even you are confused, then something has certainly gone
wrong with my explanation, so I'll try to get another draft going.

In the meanwhile, what do you think about the docstring?  It seems to me
that it mentions what happens to FORMS more accurately, but if there are
problems with it then I'll also need to look into changing that.




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

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


Received: (at 72344) by debbugs.gnu.org; 15 Aug 2024 15:04:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 15 11:04:14 2024
Received: from localhost ([127.0.0.1]:49524 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sec1O-0000M2-Iw
	for submit <at> debbugs.gnu.org; Thu, 15 Aug 2024 11:04:14 -0400
Received: from mail-ed1-f47.google.com ([209.85.208.47]:42039)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1sec1N-0000Lq-38
 for 72344 <at> debbugs.gnu.org; Thu, 15 Aug 2024 11:04:13 -0400
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-5b8c2a6135eso1581391a12.0
 for <72344 <at> debbugs.gnu.org>; Thu, 15 Aug 2024 08:03:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1723734151; x=1724338951; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=p3ptNb4l5+IY5adR0fZ6oRH4kV8RH2Y2J/hrMB+E2/U=;
 b=GzVCvP/LWn52Yzl2c79qWP3m2RNnMqN4x0XA1anNzb5PQH2VcxCZ+x7AStUBr7Z456
 y74hQKuidu7R3C6Ydp402O8npCuPD6jBX/rlcGD26i0dCC29C6X8f71yJirrrcXqbnTE
 I1Xq//VHjXpjfRz1lXrLzf514YfGBT1mcr8o1LrhdOOwZLxUBAdUFaH9o/Z9Q9W4f1jL
 4Zm31VOlAcaRr9q+HffhyN/Xa9gglnSywwGYcoF6nNNLOCXbzYServS7r5YtgIwVdni2
 jyL7q6L4OjULkd2QnM/1iX5QCHfYLFL863EUNXy0dhPu1WGJN8sgqTr7VnoNNdNIKvv7
 3bWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1723734151; x=1724338951;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=p3ptNb4l5+IY5adR0fZ6oRH4kV8RH2Y2J/hrMB+E2/U=;
 b=VkgtIO/PRUjNJPA9qJibIlg74rGWHh3CluqSa1wlGX2W1WCBmzp5UCHDHxs2a/ivqf
 lW+xTzKN+GbzCYuRuQnMMDaYXlvhr9vXGMrA8tV0UD7wNLRblvhhyH2VRDspPQ8IPHvg
 CpAP+6Wfu6ALXb3cliGIvBa1F1/46g/GXv+ZeB7ACqr9gLzFNRIA6aBrQp+UQ3Rz0906
 sNJrUMOXwE1en9j4sR2pACmvS9tVLhrbKa9tVCjSjIhotHz7R3yMpHL3w57f9WXjsKG2
 XOXvivSV91cJlTKtxyfj/ntPZ1gaStpd5ZhodB/kuPU0d37I4xvAaa4Vpm2vs6WDd50q
 rbpQ==
X-Gm-Message-State: AOJu0YxPgPHe+n1W2IIDRxdrhKZK4qPdEC+Bpviq2Nj2PL18yvCf3+Ck
 Yaap0lnCdvhQALLLF6/rR2k19HLqTel7O2NTJxmL+s5KGkKw4FttL3gLzg==
X-Google-Smtp-Source: AGHT+IGRuBYYYSO35mPQvXeqKnN2JEPGdttiB3EqmofMLCaTcUR1nkM79VUZijs4gABMB5aPIM16gA==
X-Received: by 2002:a05:6402:350f:b0:5b7:faba:311b with SMTP id
 4fb4d7f45d1cf-5beb3ab507cmr3404233a12.5.1723734150029; 
 Thu, 15 Aug 2024 08:02:30 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5bebbbe2ce1sm999940a12.6.2024.08.15.08.02.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 15 Aug 2024 08:02:29 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <875xs22c74.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN> <87o75vi43v.fsf@HIDDEN>
 <875xs22c74.fsf@HIDDEN>
Date: Thu, 15 Aug 2024 17:02:27 +0200
Message-ID: <871q2pakxo.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

> Can you respin your patch to mention cl-once-only-multiple now we've
> agreed on that, please?

Yep, will do, sorry about that.




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

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


Received: (at 72344) by debbugs.gnu.org; 15 Aug 2024 12:39:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 15 08:39:24 2024
Received: from localhost ([127.0.0.1]:48506 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1seZlD-00043q-Nq
	for submit <at> debbugs.gnu.org; Thu, 15 Aug 2024 08:39:23 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:53424)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1seZlA-00043b-AP
 for 72344 <at> debbugs.gnu.org; Thu, 15 Aug 2024 08:39:21 -0400
DKIM-Signature: a=rsa-sha256;
 b=H54jIF27QfS32y7dnfg1xkM3NJXeW/fVqcy5aWuUjbPsp15tGV8sYA7j+gE5oI8PikWb4hXQw9KSYUEeWyZHPbNznfJZmEvslLk+JyXDb++w2bK98LJG9bKJgGWIu59A3WiQpZMvwbjJhN1wioMdG8pRVlIfGfjO7axGouZfc4YI1IJf7YnVnbhgDnok+v7HlqVI1mPCZgnI9dsR0ELz3hl1hVXWcewGO+fomCAUANz+K69gAIHpu8hBwXasHfoUCxSEbWcar6/Ep8OubKybMO0Dc79ha3o6TZNSB48+/VWomqteADYLz8UTPzG0JEWCOPT9B4eVD9YsBMxjPEIJyw==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=D2e7yq+3h8SNRrW2zCMpcKo/4iiOAX6Otr9r4o4JSGU=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=cCN+6tU9TGMt1/zEMmD4IWzh+djpetqi5qO84UdSnn+Y04/wRCkypZEvj+Kh11nVZsAY1g9R/kTwsrlBAA/W5j0xyJLEAlCF4rJBZT8qsu0pRh/1w/RvXWx4wzL+4WCErZxD8BGYdlrN3lBShkFGzv8dK+4N52gj9PZ7f/qm3f8Qd4CEuSuFnyjCRgyjMF9h7GTWqfxKvUFc4qg1+iaKEnJDuv39psJFP8p+D6ZhAr3fsvcoK3giPRmDa021FxiNhpSK99rBf1sAsYoXY8iszXE1S8SYtABFtiYR8D6TUmNCy+z0DcT36Ag6rCAdEj13+ltsoM+uj0p21vCtuekEqw==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=D2e7yq+3h8SNRrW2zCMpcKo/4iiOAX6Otr9r4o4JSGU=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 278863894; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Thu, 15 Aug 2024 12:38:31 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id A7B677EE69C; Thu, 15 Aug 2024 20:38:23 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87o75vi43v.fsf@HIDDEN> (Thuna's message of "Wed, 14 Aug 2024
 16:14:12 +0200")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <874j7xzvgx.fsf@HIDDEN> <87r0b1su7p.fsf@HIDDEN>
 <874j7o2kcq.fsf@HIDDEN> <87zfpg3r4q.fsf@HIDDEN>
 <87v80326ab.fsf@HIDDEN> <86mslffxfj.fsf@HIDDEN>
 <87o75vi43v.fsf@HIDDEN>
Date: Thu, 15 Aug 2024 20:38:23 +0800
Message-ID: <875xs22c74.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, Eli Zaretskii <eliz@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 (-)

Hello Thuna,

Can you respin your patch to mention cl-once-only-multiple now we've
agreed on that, please?

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 15 Aug 2024 06:29:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 15 02:29:24 2024
Received: from localhost ([127.0.0.1]:48203 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1seTz9-0002FW-Hn
	for submit <at> debbugs.gnu.org; Thu, 15 Aug 2024 02:29:23 -0400
Received: from eggs.gnu.org ([209.51.188.92]:34780)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1seTz7-0002FJ-J6
 for 72344 <at> debbugs.gnu.org; Thu, 15 Aug 2024 02:29:22 -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 <eliz@HIDDEN>)
 id 1seTyR-0003Zx-Cm; Thu, 15 Aug 2024 02:28:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=tLmzK65trtMKoEmGTd/meDlNsJ47hh8QTKZWoW1tQUc=; b=RTdagbceJIAz
 Lfz+kWTA1xJoQL6oTlFfO+9PoGNiJlI3x8yqcLvJgUeIcKJTr6RGoVzTvRPzcG8sB6tOQemqFeI33
 E6l91nRZgHLCrOxLOy+mU5Nx3pZE7g4woj7eeBnUo1Rtvm5IkBO0QzAEtC2iH6AieZamCpy+0hojT
 bM7yOnVVW9mjPBLKh5OsY+Qh8Jszz/77oosEWFNJXzgjIlC7OoVwvlWBnxDiZpjk3bR6pIW/vzmQc
 4TGgOY5zrOLU62DBpxP6bmMQk6qwn3irzfGuQFZf/dcwRMBHJpvPPFdriOV1+FOqfXTJOBW3Z4Gg7
 kxduR+ay3j8Y33x4L2ZWSQ==;
Date: Thu, 15 Aug 2024 09:28:35 +0300
Message-Id: <867cci8fl8.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
In-Reply-To: <87ikw2ioih.fsf@HIDDEN> (message from Thuna on Thu, 15 Aug
 2024 03:05:42 +0200)
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN> <87o75vi43v.fsf@HIDDEN>
 <86jzgj89ev.fsf@HIDDEN> <87ikw2ioih.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, spwhitton@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 (---)

> From: Thuna <thuna.cing@HIDDEN>
> Cc: spwhitton@HIDDEN, 72344 <at> debbugs.gnu.org
> Date: Thu, 15 Aug 2024 03:05:42 +0200
> 
> >> >> +@defmac cl-once-only* (variable forms) body
> >> >                                   ^^^^^
> >> > Shouldn't this be "forms@dots{}"? or maybe "form@dots{}"?
> >> 
> >> No, it is "forms", which is evaluated to obtain a list of forms, each of
> >> which is individually analogous to "form" in `cl-once-only' as used in
> >> the info.  Maybe I have failed to communicate this properly.  Would an
> >> example like
> >> 
> >>   (cl-defmacro foo ((&rest optforms) body &rest forms)
> >>     (cl-once-only* (all-forms (append optforms forms)) ...))
> >> 
> >> help?
> >
> > Not really.  What is missing is the explicit statement that FORMS  is
> > evaluated to yield a list of forms.  (Btw, why is it called "FORMS",
> > plural, when it is actually a single form that yields a list of forms
> > only when evaluated?).  The text you wrote:
> >
> >   +Each element of @var{variable} may be used to refer to the result of
> >   +evaluating the corresponding form in @var{forms} within @var{body}.
> >
> > doesn't mention that FORMS is evaluated, and makes it sound like FORMS
> > includes several forms to begin with ("corresponding form in FORMS").
> >
> > This is in direct contradiction with what you explained now, and
> > therefore this text needs to be amended.
> 
> Sorry, this whole thing is a bit confusing due to the layers involved, so let
> me try to explain it again and also try to explain my rationale.  Maybe it
> will answer some of your questions and/or clear up some miscommunication.
> 
> There are three evaluation times here:
> 1. [us] Evaluation of cl-once-only* while macroexpanding (defmacro foo ...)
> 2. [macro author] Evaluation of foo while macroexpanding (foo ...)
> 3. [macro user] Evaluation of the macroexpansion of (foo ...)
> 
> During 1, FORMS is a single form(1) and VARIABLE is a (non-constant)
> symbol(1).
> 
> During 2, this form(1) is evaluated to obtain a list of forms(2), and
> symbol(1) is bound to a list of symbols(2) within BODY.
> 
> During 3, each symbol(2) is bound to the result of evaluating the
> corresponding form(2).
> 
> The macro author interfaces with `cl-once-only*' by passing to it
> - a list of forms(2) which will be evaluated during 3.
> - a symbol(1) which, during 2, will be bound to a list of symbols(2), each of
>   which will hold the value of the corresponding form(2) during 3.
> so from their perspective FORMS is in fact a list of forms.
> 
> While I was writing I was trying to use terms the way a macro author would
> conceptualize, so the name "FORMS" follows from it being a list of forms(2)
> during 2.
> 
> Also, again from the macro author's perspective,
> > corresponding form in FORMS
> > it ... is evaluated to obtain a list of forms
> > FORMS includes several forms to begin with
> ends up reading as
> > corresponding form(2) in [the list of forms(2)]
> > [form(1)] ... is evaluated to obtain [the] list of forms(2)
> > [the list of forms(2)] includes several forms to begin with
> which isn't a contradiction.  I suspect you (understandably) read every `form'
> as form(1), under which interpretation it would indeed be a contradiction.
> 
> I agree that it needs to be mentioned that FORMS is evaluated (during 2).
> I'll probably need to rewrite this thing again, so I'll try to put it in then.

Sorry, I'm now completely confused and bewildered.  Earlier you said
'it is "forms", which is evaluated to obtain a list of forms', now you
seem to be saying that this evaluation is not relevant to the macro
(i.e. is done before the macro is called)?

Anyway, what I'm looking for is not _my_ understanding, but some text
for the manual and the doc strings which will explain this to the
reader.  So maybe suggest text that you think is both accurate and not
supposed to confuse, and let's take it from there.




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

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


Received: (at 72344) by debbugs.gnu.org; 15 Aug 2024 01:07:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 14 21:07:29 2024
Received: from localhost ([127.0.0.1]:47808 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1seOxc-0001WD-JN
	for submit <at> debbugs.gnu.org; Wed, 14 Aug 2024 21:07:28 -0400
Received: from mail-ed1-f54.google.com ([209.85.208.54]:58745)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1seOxb-0001Vy-7J
 for 72344 <at> debbugs.gnu.org; Wed, 14 Aug 2024 21:07:27 -0400
Received: by mail-ed1-f54.google.com with SMTP id
 4fb4d7f45d1cf-5ba43b433beso711297a12.1
 for <72344 <at> debbugs.gnu.org>; Wed, 14 Aug 2024 18:06:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1723683945; x=1724288745; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=tezHSe93gv9YVyGJsyFSjfp9bAII8XHsY1fPclJKC0w=;
 b=XU1DX6KMKyl7DJ3N7xxNVAds73NTkcf7TuN1++V2uVCWrKMsILbigdw+cFMCIRsaHh
 OYz7G0awpeKzYtj0X5BbEasCO4VPIGl87GUdS5tx3seVWZ1IWNx39+uJ7whLlcAbYWSK
 T7/awgcSRo+biPeXzelQZtEYlPfO0WV4fv0Yqqjm59xmzbyHukp0pEET79kiKkOtCHll
 F11nxdgHufnQmk7/VLHyaccaM81+8XOF1S9CkU+PLLmF6NUQrGZKWdIHmw6M3Dx41Su0
 FE/F7Eg2DQTC5fL/OW6jWrLfxhUlCtiaRIrqfLkrhTIAz1tTb/CClYQ8Hk1Y9sBBZ9Tp
 lfHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1723683945; x=1724288745;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=tezHSe93gv9YVyGJsyFSjfp9bAII8XHsY1fPclJKC0w=;
 b=nv8OsQKzhPY93K3mqjTZKVzSBfTi//adZi1iU7MowxE+fmpwVqedUSDHwPec+/kahR
 ayfW090tVkIn7nthoDIl8KRrq8puVNhlXD9QqHJGu/71DFJhViLSG7x9n2zgEIJ2DEda
 6b7doxw4CsYfuB7X2+2081xTa9/WwpYj0mdlCW0T3bG7a0Ujiw3AL/FWrW6C7Ba9cqZ+
 EnGb1MzkXfWjja/XC913XXzB5ByskA4vCoDqN6QDnhPFYVEt4BTxU1HeKtSq+LJDimLc
 kKUninrbod6Ww4tigoNSJYOqM4YCil9ZYWpf+d0no0OtLhz6UgYtDx6qanbbwYtP9pIw
 difg==
X-Forwarded-Encrypted: i=1;
 AJvYcCX50FIROvoWLWJFbC4ieXc0re4pA7vnKbDAA0rJ0nyuAj/bbDRSMAtgTvelcVlPJbQTsJukoCM+rvvzU65kjl0CrtjWEwM=
X-Gm-Message-State: AOJu0Yzw3YXmJc9bUjM0/phMtOsj2/K+z3Ku2CJoWFAjzYxWrYgusgrg
 Et79SXn+OLPbCWcWYHhjv6gm74z7hb325DXFVGmPJywnebG8w7rz6EFESA==
X-Google-Smtp-Source: AGHT+IE/eyoVaN1KMUmAO+jRf8ba4VzZY2QaoQ7FTFwvA09LW9m0s2xiXlFSsAREchiSkVwfeWgLOw==
X-Received: by 2002:a17:907:6d21:b0:a80:aefa:14d3 with SMTP id
 a640c23a62f3a-a8367095088mr274551266b.63.1723683944697; 
 Wed, 14 Aug 2024 18:05:44 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a838393598fsm21500166b.133.2024.08.14.18.05.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 14 Aug 2024 18:05:44 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <86jzgj89ev.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN> <87o75vi43v.fsf@HIDDEN>
 <86jzgj89ev.fsf@HIDDEN>
Date: Thu, 15 Aug 2024 03:05:42 +0200
Message-ID: <87ikw2ioih.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, spwhitton@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 (-)

>> >> +@defmac cl-once-only* (variable forms) body
>> >                                   ^^^^^
>> > Shouldn't this be "forms@dots{}"? or maybe "form@dots{}"?
>> 
>> No, it is "forms", which is evaluated to obtain a list of forms, each of
>> which is individually analogous to "form" in `cl-once-only' as used in
>> the info.  Maybe I have failed to communicate this properly.  Would an
>> example like
>> 
>>   (cl-defmacro foo ((&rest optforms) body &rest forms)
>>     (cl-once-only* (all-forms (append optforms forms)) ...))
>> 
>> help?
>
> Not really.  What is missing is the explicit statement that FORMS  is
> evaluated to yield a list of forms.  (Btw, why is it called "FORMS",
> plural, when it is actually a single form that yields a list of forms
> only when evaluated?).  The text you wrote:
>
>   +Each element of @var{variable} may be used to refer to the result of
>   +evaluating the corresponding form in @var{forms} within @var{body}.
>
> doesn't mention that FORMS is evaluated, and makes it sound like FORMS
> includes several forms to begin with ("corresponding form in FORMS").
>
> This is in direct contradiction with what you explained now, and
> therefore this text needs to be amended.

Sorry, this whole thing is a bit confusing due to the layers involved, so let
me try to explain it again and also try to explain my rationale.  Maybe it
will answer some of your questions and/or clear up some miscommunication.

There are three evaluation times here:
1. [us] Evaluation of cl-once-only* while macroexpanding (defmacro foo ...)
2. [macro author] Evaluation of foo while macroexpanding (foo ...)
3. [macro user] Evaluation of the macroexpansion of (foo ...)

During 1, FORMS is a single form(1) and VARIABLE is a (non-constant)
symbol(1).

During 2, this form(1) is evaluated to obtain a list of forms(2), and
symbol(1) is bound to a list of symbols(2) within BODY.

During 3, each symbol(2) is bound to the result of evaluating the
corresponding form(2).

The macro author interfaces with `cl-once-only*' by passing to it
- a list of forms(2) which will be evaluated during 3.
- a symbol(1) which, during 2, will be bound to a list of symbols(2), each of
  which will hold the value of the corresponding form(2) during 3.
so from their perspective FORMS is in fact a list of forms.

While I was writing I was trying to use terms the way a macro author would
conceptualize, so the name "FORMS" follows from it being a list of forms(2)
during 2.

Also, again from the macro author's perspective,
> corresponding form in FORMS
> it ... is evaluated to obtain a list of forms
> FORMS includes several forms to begin with
ends up reading as
> corresponding form(2) in [the list of forms(2)]
> [form(1)] ... is evaluated to obtain [the] list of forms(2)
> [the list of forms(2)] includes several forms to begin with
which isn't a contradiction.  I suspect you (understandably) read every `form'
as form(1), under which interpretation it would indeed be a contradiction.

I agree that it needs to be mentioned that FORMS is evaluated (during 2).
I'll probably need to rewrite this thing again, so I'll try to put it in then.




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

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


Received: (at 72344) by debbugs.gnu.org; 14 Aug 2024 14:30:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 14 10:30:31 2024
Received: from localhost ([127.0.0.1]:47192 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1seF1D-0006Vy-Am
	for submit <at> debbugs.gnu.org; Wed, 14 Aug 2024 10:30:31 -0400
Received: from eggs.gnu.org ([209.51.188.92]:57826)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1seF1B-0006Vg-KJ
 for 72344 <at> debbugs.gnu.org; Wed, 14 Aug 2024 10:30:30 -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 <eliz@HIDDEN>)
 id 1seF0W-0004bZ-Vy; Wed, 14 Aug 2024 10:29:49 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=b7MWHZWlSqrSTrP9qG3sAMVXQ09AFO4sXl1mkIv70kk=; b=pNwMZeEVX5FK
 XMocxodAUmiCAD77YSXK9FngppDv/2TWYQhCrNmZRbu98EdpNb/jbDsVrNghdaXHCF4vPAy8eOwhj
 yQ3ZigK/NEOuhOk2k+TmRgOPUjeeQRLwRMZYw+F8KZeJmVfXqsuKOpRXjojvQEbrR8eFekJkNcaJ5
 7l2EYn1KONuQubQF4aqckIz2Jzq/qtFmeMXqEPP6tB5dk5F5aVfc6z6ONhmMyP93xA/6oYMezoc4K
 EXF+AMLbZkF+4GrJJUXZk6BTH60gD3YZUVqXbqLoRS9OyBuaZ6SVhTbDJkS3Z+dHPrXpKsaayupin
 7vkJVzuF7M9FR94e+cNCyw==;
Date: Wed, 14 Aug 2024 17:29:44 +0300
Message-Id: <86jzgj89ev.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
In-Reply-To: <87o75vi43v.fsf@HIDDEN> (message from Thuna on Wed, 14 Aug
 2024 16:14:12 +0200)
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN> <87o75vi43v.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, spwhitton@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 (---)

> From: Thuna <thuna.cing@HIDDEN>
> Cc: spwhitton@HIDDEN, 72344 <at> debbugs.gnu.org
> Date: Wed, 14 Aug 2024 16:14:12 +0200
> 
> >> +@defmac cl-once-only* (variable forms) body
> >                                    ^^^^^
> > Shouldn't this be "forms@dots{}"? or maybe "form@dots{}"?
> 
> No, it is "forms", which is evaluated to obtain a list of forms, each of
> which is individually analogous to "form" in `cl-once-only' as used in
> the info.  Maybe I have failed to communicate this properly.  Would an
> example like
> 
>   (cl-defmacro foo ((&rest optforms) body &rest forms)
>     (cl-once-only* (all-forms (append optforms forms)) ...))
> 
> help?

Not really.  What is missing is the explicit statement that FORMS  is
evaluated to yield a list of forms.  (Btw, why is it called "FORMS",
plural, when it is actually a single form that yields a list of forms
only when evaluated?).  The text you wrote:

  +Each element of @var{variable} may be used to refer to the result of
  +evaluating the corresponding form in @var{forms} within @var{body}.

doesn't mention that FORMS is evaluated, and makes it sound like FORMS
includes several forms to begin with ("corresponding form in FORMS").

This is in direct contradiction with what you explained now, and
therefore this text needs to be amended.

Thanks.




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

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


Received: (at 72344) by debbugs.gnu.org; 14 Aug 2024 14:16:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 14 10:16:08 2024
Received: from localhost ([127.0.0.1]:47163 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1seEnH-00062K-Tf
	for submit <at> debbugs.gnu.org; Wed, 14 Aug 2024 10:16:08 -0400
Received: from mail-ed1-f50.google.com ([209.85.208.50]:48336)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1seEnF-00061n-4D
 for 72344 <at> debbugs.gnu.org; Wed, 14 Aug 2024 10:16:05 -0400
Received: by mail-ed1-f50.google.com with SMTP id
 4fb4d7f45d1cf-5a15692b6f6so7654018a12.0
 for <72344 <at> debbugs.gnu.org>; Wed, 14 Aug 2024 07:15:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1723644864; x=1724249664; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=dc8WvzWiBVsdlXeEElrr5qt9SXXlJUE01wO/cOY1O6A=;
 b=GRx7fPYXIbQipEs5WdJ49TmZrvwzWmsVchXxAV8RryeW83fmSxVEGelp5Gp1mg6PeX
 2QQO8uV8Ib8tkrPQiB5aRAlBJbfUa4w4ivxHFpfTBCq/CAdGEjzmqE9NiaxvJtLSsXiy
 1wnpfevw1fkDVG4Q+HVfevE76xjzg7fdGiY37+zu+7plrB898dCNSXml5Bdwla6d3CQr
 50mFBvxpSjKOmTnjjSmNe0WyLETnE0SRa7i1me5E+s5rC7vUDO0FGLGxQYitUmy7DbCt
 rCOt9wq+VWb3sZBBAUDJBq5Slv1vL72lWpd3gxi3+yrCdGtD3VOZuvz+nMlcyhrdRVxw
 kFpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1723644864; x=1724249664;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=dc8WvzWiBVsdlXeEElrr5qt9SXXlJUE01wO/cOY1O6A=;
 b=K6InZ/sWFrEBs1vB764+vE/i7AO9fyOIjLAuH+unDcKWlWypfMK4x1Sf/TjYn+Y/Wk
 APiGIqkXyJbB9Af7rzCeFry7QQM9rALIVR3JPt6MlIcdgSICbDwnabPeGVJ4/ocA8mcb
 RdhKpkGMqJWTtbTi8I9F5PRZsY7uKu2zquBnETjm9jhpABR2UaQ2vKzE+zPfl1hjcBdn
 dAV2B3UPFaGe57N6PqPC1e20x/JYUTBKLM6LYI/5HgFltvYDp8/S8emcWowOFG+mywgG
 fUDIYkRJGyV0abiqos7oRiPh5hVtqYUzJDdJWw1kJf/0Iyw/xO2wY0X5ZFpTCzYnGVXT
 KvYw==
X-Forwarded-Encrypted: i=1;
 AJvYcCUXFGrZIqNPzpShbD8NFZW/3vzIp06t03CJneX+HbdF7k8z+B3eruLbSsSeToO/UO8q8rbHOUC0rMMD8cB+WmzkUUrPlJ8=
X-Gm-Message-State: AOJu0YygtMUseijyVci8yp9X7b13mWE/4+9WONDqXcd0/OijjMQLViS+
 kX9623MpELtI5/3zrC5wkvKNoe7rFQnJBCnRPmfM8YZU6gqYI5R4vz5S69wbChE=
X-Google-Smtp-Source: AGHT+IEX0afSdrw6+6wXuMBLrYw9XJ5asHY2Ww2dazdZlp5rv0aQ7qSfNiTbe/jHgsRXu9pm9fqF8Q==
X-Received: by 2002:a17:906:dc93:b0:a80:d683:4d23 with SMTP id
 a640c23a62f3a-a8367070e5cmr203418566b.62.1723644863618; 
 Wed, 14 Aug 2024 07:14:23 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a80f414e31bsm175614666b.152.2024.08.14.07.14.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 14 Aug 2024 07:14:23 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <86mslffxfj.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
 <86mslffxfj.fsf@HIDDEN>
Date: Wed, 14 Aug 2024 16:14:12 +0200
Message-ID: <87o75vi43v.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, spwhitton@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 (-)

>> +@defmac cl-once-only* (variable forms) body
>                                    ^^^^^
> Shouldn't this be "forms@dots{}"? or maybe "form@dots{}"?

No, it is "forms", which is evaluated to obtain a list of forms, each of
which is individually analogous to "form" in `cl-once-only' as used in
the info.  Maybe I have failed to communicate this properly.  Would an
example like

  (cl-defmacro foo ((&rest optforms) body &rest forms)
    (cl-once-only* (all-forms (append optforms forms)) ...))

help?  (I am not sure how I would integrate this into the info but
still.)

>> +This macro is a version of @code{cl-once-only} which takes an
>> +arbitrarily long list of forms.  This macro is primarily meant to be
>> +used where the number of forms is unknown and thus @code{cl-once-only}
>> +cannot work, such as those obtained by a @code{&body} argument.
>
> The last sentence above needs to be restructured.  Perhaps simply move
> the "such as" part to the end of the previous sentence.

Yes, that would work.

>> +In a call like @code{(my-list ((pop foo) (cl-incf bar) ...) ...)} the
>                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Such long expressions should be wrapped in @w{..}, to prevent them
> from being split between two lines.  Also, please use @dots{} instead
> of a literal "..." to generate ellipsis (it will look better in the
> printed version of the manual).

Yes, sorry, that was the case in the previous draft but I ended up
missing it when switching from the org document to texi.

>> +@code{pop} and @code{cl-incf} will be evaluated exactly once, ensuring
>> +their side effects are not applied twice.  This code is however very
>> +complex, in the same way code not using @code{cl-once-only} is.
>> +
>> +Using @code{cl-once-only} is not possible directly due to it expecting
>> +individual forms which can be evaluated.  This can be worked around by
>> +assigning to a variable @code{`(list ,@@vars)} which @emph{can} be
>> +evaluated:
>> +
>> +@example
>> +(defmacro my-list (vals &rest forms)
>> +  (cl-once-only ((vals `(list ,@@vals)))
>> +    `(list (cl-first ,vals)
>> +           (cl-second ,vals)
>> +           ,vals                        ; Does not splice
>> +           (progn ,@@forms))))
>> +@end example
>> +
>> +There are two problems which both result from the fact that @code{vals}
>> +is not a list inside the body of @code{cl-once-only}: 1. @code{vals}
>> +cannot be spliced in the way it can in the previous example and
>> +2. accessing individual elements of @code{vals} can only be done by
>> +accessing the resulting list @emph{during evaluation}.  Compare this to
>> +the example using @code{cl-once-only*}:
>
> Please replace "1. " and "2. " with "First, " and "Second, ",
> respectively.  Alternatively, if you really want a numbered list, you
> could use
>
>  @enumerate
>  @item @code{vals} cannot be spliced in the way [...]

I'll switch to "{First,Second}, ".




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

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


Received: (at 72344) by debbugs.gnu.org; 14 Aug 2024 09:47:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 14 05:47:59 2024
Received: from localhost ([127.0.0.1]:46135 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1seAbn-0006WR-Fn
	for submit <at> debbugs.gnu.org; Wed, 14 Aug 2024 05:47:59 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:33458)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1seAbk-0006WB-PS
 for 72344 <at> debbugs.gnu.org; Wed, 14 Aug 2024 05:47:57 -0400
DKIM-Signature: a=rsa-sha256;
 b=PxVVP81pALPu2iCO6o+teajJ7BQmrreX7E/aNPw2xzYFz583OsmAy1Bt7qQBLORrxLXbvFyT0Pj4MMZa0B3hOFShAvXWlTeRMRCdVOoyQJcXVIaTa/Y4e1V5Gt6+XDHMb1tk5aPruCU146D49LJ7SXAaX8BV9OuH/of8hmaSjczOsLlhJ5bBMLB3FvCJBSu448YBzL4k+dhyOVVGpjAGKnXJEmuKalr3TCyhT9JOrJ1IhgREirsLLxdBu9/Bjys3aRlBdFpinzuqXwH4JHTw1MrnML9DO4aCO9LNjDutaHl+Elc+TKK/hQjI9O/wJ1YW1stXP4UpTsicxu3FeEaaxA==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=nK/lshYWzzM3jFbMdY2w5fMoIDJoRIVrPK+5e155UuE=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=Aa2oKcMgJqcxmF5ktN8pd+aYaqCh8NniL3OZiGbbX5F3flNOpr5cJFnCC7lCMaJXpY+xHDh5R6v84faidcj1AjMAW0QmRJPiMWm09XqzNB5pP7I12hiwkfVHSszgm5zPGnJR1AEjex8lNoSISVF61bhoyF88xaNQkQt140XZYQsJlJH56A60KN1AnBRF/EA+NhHkpPmgoqvXahKJ4kuCmXyjQbbrr+i/PRIFXGUkRh29H+AMSKC9uGRp7oGc/zcUKbqxnTHv0l5STo1frS1r8MKg2Cm9VTa1d+z4sxRLrY6YXpI8Ttw7rcJQMaS5TqqbFk1nOlVq1/ZT2fxl5RnSPA==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=nK/lshYWzzM3jFbMdY2w5fMoIDJoRIVrPK+5e155UuE=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 939008562; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 14 Aug 2024 09:47:10 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id B80EB7EE260; Wed, 14 Aug 2024 17:47:05 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87v80326ab.fsf@HIDDEN> (Thuna's message of "Wed, 14 Aug 2024
 04:21:32 +0200")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <874j7xzvgx.fsf@HIDDEN> <87r0b1su7p.fsf@HIDDEN>
 <874j7o2kcq.fsf@HIDDEN> <87zfpg3r4q.fsf@HIDDEN>
 <87v80326ab.fsf@HIDDEN>
Date: Wed, 14 Aug 2024 17:47:05 +0800
Message-ID: <87wmkj3086.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

Hello,

On Wed 14 Aug 2024 at 04:21am +02, Thuna wrote:

>> You're not keen on either of my other suggestions, right?
>>
>>     cl-once-only-many, cl-once-only-these
>
> No, I am really *really* not that enthusiastic about either of those
> names.  `*-these' is completely out of the question, and `*-many'
> is... fine, but IMO sounds worse than `*-multiple'.

Okay, then let's go with cl-once-only-multiple.

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 14 Aug 2024 06:12:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 14 02:12:01 2024
Received: from localhost ([127.0.0.1]:45867 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1se7Em-00013p-LD
	for submit <at> debbugs.gnu.org; Wed, 14 Aug 2024 02:12:01 -0400
Received: from eggs.gnu.org ([209.51.188.92]:34644)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1se7El-00013Z-4b
 for 72344 <at> debbugs.gnu.org; Wed, 14 Aug 2024 02:12:00 -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 <eliz@HIDDEN>)
 id 1se7C0-0007Qp-Im; Wed, 14 Aug 2024 02:09:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=LQ/EFdomSb1g/FgQRMhx+Fxzzfxq7X/a5roPSbfS45c=; b=b0w2BLwa9tWd
 /2656/wG/Xvwked0gAQ/MpuVkYF+EsyYvUCu6WCX26MSHwHT+1iafsSVz1A+ymZ20YPJJWydsV6ko
 s5qgnxvYiGZWDDv4ahWKOby+PHI4UYkU18dSJnDIhlfQBlwJA2OhKXcZkmW8ferVwf//jQxTT5iMi
 CV2VIrAlYmGBf2OteBTWNWUgWVrZ1DJavnT73aTb4ZnFqJn57HcDzmu6jWICNCuGDKsGWh8zyRij7
 g+cQ3dbcPyUE1HcwghF9kirz9WSVJXkl5+yufd7ZQwhRaVdBELdiy+tnC3ETspIa+Hp7Q6wpObOUM
 ft05cc+GFt83WuuuJanBTA==;
Date: Wed, 14 Aug 2024 09:09:04 +0300
Message-Id: <86mslffxfj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
In-Reply-To: <87v80326ab.fsf@HIDDEN> (message from Thuna on Wed, 14 Aug
 2024 04:21:32 +0200)
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN> <87v80326ab.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, spwhitton@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 (---)

> Cc: 72344 <at> debbugs.gnu.org
> From: Thuna <thuna.cing@HIDDEN>
> Date: Wed, 14 Aug 2024 04:21:32 +0200
> 
> Oops, sorry for the bad patch, I've attached the full diff.

Thanks, a few comments about the changes to the manual:

> +@defmac cl-once-only* (variable forms) body
                                   ^^^^^
Shouldn't this be "forms@dots{}"? or maybe "form@dots{}"?

> +This macro is a version of @code{cl-once-only} which takes an
> +arbitrarily long list of forms.  This macro is primarily meant to be
> +used where the number of forms is unknown and thus @code{cl-once-only}
> +cannot work, such as those obtained by a @code{&body} argument.

The last sentence above needs to be restructured.  Perhaps simply move
the "such as" part to the end of the previous sentence.

> +In a call like @code{(my-list ((pop foo) (cl-incf bar) ...) ...)} the
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Such long expressions should be wrapped in @w{..}, to prevent them
from being split between two lines.  Also, please use @dots{} instead
of a literal "..." to generate ellipsis (it will look better in the
printed version of the manual).

> +@code{pop} and @code{cl-incf} will be evaluated exactly once, ensuring
> +their side effects are not applied twice.  This code is however very
> +complex, in the same way code not using @code{cl-once-only} is.
> +
> +Using @code{cl-once-only} is not possible directly due to it expecting
> +individual forms which can be evaluated.  This can be worked around by
> +assigning to a variable @code{`(list ,@@vars)} which @emph{can} be
> +evaluated:
> +
> +@example
> +(defmacro my-list (vals &rest forms)
> +  (cl-once-only ((vals `(list ,@@vals)))
> +    `(list (cl-first ,vals)
> +           (cl-second ,vals)
> +           ,vals                        ; Does not splice
> +           (progn ,@@forms))))
> +@end example
> +
> +There are two problems which both result from the fact that @code{vals}
> +is not a list inside the body of @code{cl-once-only}: 1. @code{vals}
> +cannot be spliced in the way it can in the previous example and
> +2. accessing individual elements of @code{vals} can only be done by
> +accessing the resulting list @emph{during evaluation}.  Compare this to
> +the example using @code{cl-once-only*}:

Please replace "1. " and "2. " with "First, " and "Second, ",
respectively.  Alternatively, if you really want a numbered list, you
could use

 @enumerate
 @item @code{vals} cannot be spliced in the way [...]





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

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


Received: (at 72344) by debbugs.gnu.org; 14 Aug 2024 02:23:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 13 22:23:17 2024
Received: from localhost ([127.0.0.1]:45782 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1se3fR-0003Rs-9y
	for submit <at> debbugs.gnu.org; Tue, 13 Aug 2024 22:23:17 -0400
Received: from mail-ed1-f53.google.com ([209.85.208.53]:44459)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1se3fP-0003Rf-BU
 for 72344 <at> debbugs.gnu.org; Tue, 13 Aug 2024 22:23:16 -0400
Received: by mail-ed1-f53.google.com with SMTP id
 4fb4d7f45d1cf-5bb8e62570fso7347584a12.1
 for <72344 <at> debbugs.gnu.org>; Tue, 13 Aug 2024 19:22:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1723602095; x=1724206895; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=EnhDh7awiuU+e+NPtaoqwzzppMQ1GRU8Q7jqB1mshMc=;
 b=Ko56gHQdfbVg0CULAECDU7DbWNwCeJ6/S1FeLmaB2oQbDG5eK16xRYRMCI6S9JJAt2
 rR44AYWuACCBiFNU3HYhCD2gbaUS1Uw9vy6fvjnPCzugNc7l3+47c21EvpSJT/eCEsV9
 TX3NyTxWA3eZTlGlnq3U12hmzg3tzQzvT+3PQrPEyZjft6cZBuDc9Nn0u+kI0mHJhioY
 6R1v8QYa4xSopaexW+Grp4LNkoDanxW9qxNPMzLPc3QyWcoFDHpm3GZwqxxDA/xmns49
 8M4RvleIpBrJIKjfIVFOPHNXldJ1pdTmiRMF9ujSQO4u+049+xgo6XdJAKVakeB/hF5y
 Ki+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1723602095; x=1724206895;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=EnhDh7awiuU+e+NPtaoqwzzppMQ1GRU8Q7jqB1mshMc=;
 b=P5OBU4e8I5R5WcgKHl4KngsTLCzCHNm9BpIPwWHjshlETripqepy7qLkocx8u8xb/3
 IluElHDae/A7kQ65zrLQrgJ3zox2rmfN1P1KRJwJDNZVdNyCcDoKHhHCr+dcOds0hUq5
 W7iZZlrkaArONtus7zQelzXVs5TbESlNuiRc+Ijahm4+l9OXp0LYESIFePSqB8rf05Gk
 CDq1/PhRPk/8JaURmAJtBEDjS7NYjGA11QFYsVlujJIsCUrjevyKYNGp6efqXxe/Lp3D
 QgKCoLmOVg9p6yWGDxQbBDOjfw0oNGMatl+/th1OrSETiQDy0PG9+d72Se4Dz7Q+aj/0
 Tgzg==
X-Gm-Message-State: AOJu0YwvcXflpTq1BiahkrWNPriual26VQtXptAaK/xf5OfVgfSfyJce
 8y/u24uo251YJcU/DS96KqyJEgytP72tniJGswXONL9IW871Ou9CkyVmFEj0jDk=
X-Google-Smtp-Source: AGHT+IFd6vljN/LrNMMUssTcTsiI11xiyCSEWK4hmz3Z8DBPciIhBoHXxQzWH2Ld0gy8Qmt0SbCJqQ==
X-Received: by 2002:a05:6402:2789:b0:5a2:5bd2:ca50 with SMTP id
 4fb4d7f45d1cf-5bea1cac6d8mr719318a12.25.1723602094566; 
 Tue, 13 Aug 2024 19:21:34 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5bd1a602da2sm3634534a12.93.2024.08.13.19.21.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Aug 2024 19:21:33 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87zfpg3r4q.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <87zfpg3r4q.fsf@HIDDEN>
Date: Wed, 14 Aug 2024 04:21:32 +0200
Message-ID: <87v80326ab.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

--=-=-=
Content-Type: text/plain

> You're not keen on either of my other suggestions, right?
>
>     cl-once-only-many, cl-once-only-these

No, I am really *really* not that enthusiastic about either of those
names.  `*-these' is completely out of the question, and `*-many'
is... fine, but IMO sounds worse than `*-multiple'.

> I guess I am hung up on how -multiple- is already used in CL names,
> but it comes *before* the things that are multiple.  But I believe you
> don't like cl-multiple-once-only.

`multiple' seems to be used exclusively in `cl-multiple-value-*' names,
so there is some possibility that this might maybe be confused as a part
of that suite, but I don't think it's a particularly significant one.

> The interdiff isn't too helpful to me here.  I'd prefer to review a
> complete patch against master.

Oops, sorry for the bad patch, I've attached the full diff.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=cl-texi-second-draft.patch

diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 113029700ec..de9f0565d03 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -999,7 +999,7 @@ Control Structure
 * Iteration::              @code{cl-do}, @code{cl-dotimes}, @code{cl-dolist}, @code{cl-do-symbols}.
 * Loop Facility::          The Common Lisp @code{loop} macro.
 * Multiple Values::        @code{cl-values}, @code{cl-multiple-value-bind}, etc.
-* Macro-Writing Macros::   @code{cl-with-gensyms}, @code{cl-once-only}.
+* Macro-Writing Macros::   @code{cl-with-gensyms}, @code{cl-once-only}, @code{cl-once-only*}.
 @end menu
 
 @node Assignment
@@ -2683,6 +2683,73 @@ Macro-Writing Macros
 @end example
 @end defmac
 
+@defmac cl-once-only* (variable forms) body
+This macro is a version of @code{cl-once-only} which takes an
+arbitrarily long list of forms.  This macro is primarily meant to be
+used where the number of forms is unknown and thus @code{cl-once-only}
+cannot work, such as those obtained by a @code{&body} argument.
+
+Each element of @var{variable} may be used to refer to the result of
+evaluating the corresponding form in @var{forms} within @var{body}.
+@code{cl-once-only*} binds @var{variable} to a list of fresh uninterned
+symbols.  @code{cl-once-only*} furthermore wraps the final expansion
+such that each form is evaluated in order and its result is bound to the
+corresponding symbol.
+
+Like @code{cl-once-only}, the first argument can be a symbol @var{variable}, which
+is equivalent to writing @code{(variable variable)}.
+
+Consider the following macro:
+
+@example
+(defmacro my-list (vals &rest forms)
+  (let ((val-results (mapcar (lambda (_) (gensym)) vals)))
+    `(let* ,(cl-mapcar #'list val-results vals)
+       (list ,(cl-first val-results)
+             ,(cl-second val-results)
+             ,@@val-results
+             (progn ,@@forms)))))
+@end example
+
+In a call like @code{(my-list ((pop foo) (cl-incf bar) ...) ...)} the
+@code{pop} and @code{cl-incf} will be evaluated exactly once, ensuring
+their side effects are not applied twice.  This code is however very
+complex, in the same way code not using @code{cl-once-only} is.
+
+Using @code{cl-once-only} is not possible directly due to it expecting
+individual forms which can be evaluated.  This can be worked around by
+assigning to a variable @code{`(list ,@@vars)} which @emph{can} be
+evaluated:
+
+@example
+(defmacro my-list (vals &rest forms)
+  (cl-once-only ((vals `(list ,@@vals)))
+    `(list (cl-first ,vals)
+           (cl-second ,vals)
+           ,vals                        ; Does not splice
+           (progn ,@@forms))))
+@end example
+
+There are two problems which both result from the fact that @code{vals}
+is not a list inside the body of @code{cl-once-only}: 1. @code{vals}
+cannot be spliced in the way it can in the previous example and
+2. accessing individual elements of @code{vals} can only be done by
+accessing the resulting list @emph{during evaluation}.  Compare this to
+the example using @code{cl-once-only*}:
+
+@example
+(defmacro my-list (vals &rest forms)
+  (cl-once-only* vals
+    `(list ,(cl-first vals)
+           ,(cl-second vals)
+           ,@@vals
+           (progn ,@@forms))))
+@end example
+
+which preserves the fact the @var{vals} is a list and removes
+boiler-plate code for generating and assigning temporary variables.
+@end defmac
+
 @node Macros
 @chapter Macros
 
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 2e501005bf7..adb9cb29104 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2544,6 +2544,54 @@ cl-once-only
                           collect `(,(car name) ,gensym))
              ,@body)))))
 
+(defmacro cl-once-only* (listvar &rest body)
+  "Generate code to evaluate the list of FORMS just once in BODY.
+
+This is a macro to be used while defining other macros.  FORMS is
+evaluated once during macroexpansion to obtain the list of forms.  In
+the fully expanded code those forms will be evaluated once before BODY
+and their results will be bound to fresh uninterned variables, one for
+each form.
+
+Within the macro VARIABLE is a list of these symbols in order, such that
+each form in FORMS can be accessed by using the corresponding element in
+VARIABLE.
+
+The common case of `(cl-once-only* (VARIABLE VARIABLE) ...)' can be
+written shortly as `(cl-once-only* VARIABLE ...)'.
+
+For example, the following macro:
+
+  (defmacro my-list (head &rest args)
+    (cl-once-only* args
+      \\=`(list (,head ,@args) ,@args)))
+
+when called like
+
+  (let ((x \\='(1 5 4)))
+    (my-list + (pop x) (1+ (pop x)) (1- (pop x))))
+
+will expand into
+
+  (let ((x \\='(1 5 4)))
+    (let* ((arg1 (pop x)) (arg2 (1+ (pop x))) (arg3 (1- (pop x))))
+      (list (+ arg1 arg2 arg3) arg1 arg2 arg3)))
+
+and the arguments will be evaluated only once and in order.
+
+\(fn (VARIABLE FORMS) &body BODY)"
+  (declare (debug ([&or symbolp (symbolp form)] body)) (indent 1))
+  (let* ((variable (if (symbolp listvar) listvar (nth 0 listvar)))
+         (forms    (if (symbolp listvar) listvar (nth 1 listvar)))
+         (results* (gensym (symbol-name variable))))
+    (cl-once-only (forms)
+      `(let ((,results*
+              (cl-loop for i from 1 to (length ,forms) collect
+                       (make-symbol (format "%s$%d" ',(symbol-name variable) i)))))
+         `(let* ,(cl-mapcar #'list ,results* ,forms)
+            ,(let ((,variable ,results*))
+               ,@body))))))
+
 ;;; Multiple values.
 
 ;;;###autoload

--=-=-=--




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

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


Received: (at 72344) by debbugs.gnu.org; 14 Aug 2024 00:06:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 13 20:06:47 2024
Received: from localhost ([127.0.0.1]:45711 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1se1XK-0006qN-L4
	for submit <at> debbugs.gnu.org; Tue, 13 Aug 2024 20:06:46 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:47194)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1se1XI-0006py-8b
 for 72344 <at> debbugs.gnu.org; Tue, 13 Aug 2024 20:06:44 -0400
DKIM-Signature: a=rsa-sha256;
 b=eAlvFegk7ZJj8vwLVxMUSBTYIPNOXQN9a5y0pkY7aH63ddtSydZVh2kLGVyg9kyHCzPPptM93D8TMYfrTahySL5s2waobBRiSb2psF8jlBHca0xREGeNHEKY4OhPl/rzsVxL9nG4ur7xxLhLt2NRU8m84c9cVNZdVJvgLPIvRJwPKBrmeIUw7h6jo3upHmjzvAJnnwqROigcSG6Ts0RLxMxyRyDUw+WjA7D0zYwgNHfczv+tvcNIA1aYFsTvrUGqVq+CmDlNhz5NnK3/82sOeO7iUVDNOTZLNVAMM6O7z1Z+8ptYJNFdvf34dTnNj/VLRdYLZFcbHxu6AcJ3A7rG8w==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=4cbHLJPkT6vG0Oe7quy53MdNdv47MoRrm/Dapg9tdIM=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=lCc4JMGYKBi1gp+H+rof2y8+Gz6+ceniOJ0ixdOE8pXvQr0Pr8QDjfQH8FC7CtJ6jJPx5j/Zrw6BmQA4d4cneVowkgRgGjOt6auh088drUR4pAmJZ5mNJlIhD4vX0Zu0sZdtso/RQQRQnbgmMwl2JLYF8+WtA8156XPTVLGU0cD6agXQfHt0gqMrTDyzfUyrwjX3FEnLm2i3KZI9tc0aQFu1drlp1RWLJDPr7vcTqX4oyYVhhn+kp1poIY7NjhCqR7gln7oRqH8GHgaFxRznUCad0QbPM4gfiV/FgGyKdcKMWdcPdlHJIyr5nzqcFvITCiPwNnxHlPBIkIMcx2YfNA==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=4cbHLJPkT6vG0Oe7quy53MdNdv47MoRrm/Dapg9tdIM=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 1136058345; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 14 Aug 2024 00:05:59 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 61A727EC58F; Wed, 14 Aug 2024 08:05:57 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <874j7o2kcq.fsf@HIDDEN> (Thuna's message of "Tue, 13 Aug 2024
 23:17:41 +0200")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <874j7xzvgx.fsf@HIDDEN> <87r0b1su7p.fsf@HIDDEN>
 <874j7o2kcq.fsf@HIDDEN>
Date: Wed, 14 Aug 2024 08:05:57 +0800
Message-ID: <87zfpg3r4q.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, drew.adams@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 (-)

Hello,

On Tue 13 Aug 2024 at 11:17pm +02, Thuna wrote:

>>> If `cl-once-only-multiple' is fine by you then I would prefer that over
>>> `cl-once-only-rest' and `cl-once-only-mult'.  It would help to get more
>>> suggestions, but I don't think anyone else will be chiming in at this
>>> point.
>>
>> It's just really long :)
>
> I do agree that it's decently long, but it's probably fine...?
> `cl-destructuring-bind' is the same length and I don't find that too
> annoying to write out, though maybe that's just me.

You're not keen on either of my other suggestions, right?

    cl-once-only-many, cl-once-only-these

I guess I am hung up on how -multiple- is already used in CL names, but
it comes *before* the things that are multiple.  But I believe you don't
like cl-multiple-once-only.

> I don't have any new ideas for the name, but here's a second draft which
> tries to adapt the example used in `cl-once-only'.  I was unable to get
> the `mapcar' in the first example any more concise, so some thoughts on
> rewording and fixing various parts of the text would be nice.

The interdiff isn't too helpful to me here.  I'd prefer to review a
complete patch against master.

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 14 Aug 2024 00:02:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 13 20:02:06 2024
Received: from localhost ([127.0.0.1]:45705 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1se1Sn-0006fW-Tc
	for submit <at> debbugs.gnu.org; Tue, 13 Aug 2024 20:02:06 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:46062)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1se1Sl-0006eq-8r
 for 72344 <at> debbugs.gnu.org; Tue, 13 Aug 2024 20:02:04 -0400
DKIM-Signature: a=rsa-sha256;
 b=Id0v7La/I9W7G+JTSUlSuZj2WhgDG5LZwcCsDuEmplOS8hPW7o6PBAjyEnUtxHFIh8HJr3Ai29FhvVkqdNl9iYqvB29P1AbkHtgqnjxccywtd5rQtwTpzdFgeyekkkmtMLuJC/Gus+Q7kfPBLU7c/qa9+xBzHN6+Qb3/jHdwbQzoqxYcoMb+v5rn4X6/2HLRZ2C+rpjdyEqA/wVUKK+BC8N+ltTBvIk9xjRqTXJh7baJNMebWlfkh2nD9kiZin1x+mAeSKyVEfv30N9g3nTKzMPXew3feZzhTqp3bf02p3n4lyPt6/alYxPJAusfnqOg3ctxn+DtBJlDCMDBJ7sfcw==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=S0/9ORI4i22UV1L5jfI+zK1Cfg0y0yaZzPYz8t30aD0=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=TxOzcDL7R0z4vM136VZpDZrnWK+4v3nLAZ7qOsriUFERCxBRZQ1+SYyuFDwP1/7WlcBKlEz/BMGphlkkCJx2BKftrRE8q08TuApFG1JZ6rBLntASv7C2B30Zhqf1jT0SyHMmzpnXuIBmf+WHBUDn+ss9aDEHkvtl/mbfoEbynAaNMK4bFSPrmR7vPyXKzmXb4OV2wNyx0CXeTQV10m1tbZvSRvCd06Mmp5fDZlInS32iAtTxnIoXHpT78gjjWe6Td2FOWFszx8aAIv/lSfevTioEA8XvvYbGdLt+6D+ylhkwwVS1Sb4LwGnSm8m4pjKdU2T4+tHNq1VoNqB+WETNTw==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=S0/9ORI4i22UV1L5jfI+zK1Cfg0y0yaZzPYz8t30aD0=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -734656803; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Wed, 14 Aug 2024 00:01:20 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 3E8FB7EC82B; Wed, 14 Aug 2024 08:01:16 +0800 (CST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: [External] : Re: bug#72344: [PATCH] Add a version of
 cl-once-only which handles lists of forms
In-Reply-To: <87y15012yo.fsf@HIDDEN> (Thuna's message of "Wed, 14 Aug 2024
 00:18:39 +0200")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <874j7xzvgx.fsf@HIDDEN> <87r0b1su7p.fsf@HIDDEN>
 <874j7o2kcq.fsf@HIDDEN>
 <DS7PR10MB5232BABC88D397563AB472CBF3862@HIDDEN>
 <87y15012yo.fsf@HIDDEN>
Date: Wed, 14 Aug 2024 08:01:16 +0800
Message-ID: <87bk1w55wz.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, Drew Adams <drew.adams@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 (-)

Hello,

On Wed 14 Aug 2024 at 12:18am +02, Thuna wrote:

>>> If Drew wants to start a new conversation to move `cl-once-only' (and
>>> also this) out of cl-lib we can also just go with any name now and then
>>> finalize it afterwards, though of all the names the one I favor is still
>>> `cl-once-only-multiple' above all others (sans `cl-once-only*' which is
>>> not an option - unless if you changed your mind about it?).
>>
>> I've said all I have to say on the matter.  I seem to be a minority of
>> one, and won't bother starting any new thread about it.
>
> I don't know what the overall opinion is, but I do not necessarily
> disagree with you that cl-lib should be for (and only for) emulating
> Common Lisp.  While I do not know the scope and extent of the changes
> you want to make, I support moving with-gensyms and once-only (and
> consequently this) out of cl-lib.  However I simply do not have the
> energy to start (more) arguments and try to convince people to make this
> change.

They were quite deliberately put under cl-, actually, when I added them.

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 13 Aug 2024 22:58:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 13 18:58:08 2024
Received: from localhost ([127.0.0.1]:45646 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1se0Su-0004UK-GV
	for submit <at> debbugs.gnu.org; Tue, 13 Aug 2024 18:58:08 -0400
Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:22416)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <drew.adams@HIDDEN>) id 1se0Sr-0004UA-MV
 for 72344 <at> debbugs.gnu.org; Tue, 13 Aug 2024 18:58:07 -0400
Received: from pps.filterd (m0246629.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 47DLfWmX023947;
 Tue, 13 Aug 2024 22:57:30 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=
 from:to:cc:subject:date:message-id:references:in-reply-to
 :content-type:content-transfer-encoding:mime-version; s=
 corp-2023-11-20; bh=+TQyC2QcqK8ZrHRkHxorXahxOaFGbJBY2NvzVBhbv/k=; b=
 l/oEZYiZCCChnJLqcG+I1uFiBjZNlA/kDoSW+D79h9gd85otEQPUzyxgyqdCLoTn
 FlnvDt6BPtkq+LDFNbhkfAevJfvGx/NS+i2TAVIPITi+GRKxNIJqB+z8IM/dy7xi
 0NHjT/Qru/mDmttHBdg6lteGxIA9vVe92LTbbi6Y/dIEnG1UzFGHc8f39sZKO5ai
 l4pY865mx1hi6WkBPY11mH5hj7y9NR+csGDq9180YNLe0JPewPwXGS7uBOVU6JSD
 9iEGZwGJd1rKZzPVGe/xLbcCiRkpgj6cdmKIXWrKdsB1CsYqyv6p+f2xb6ccPfHy
 2hNTuZbXVzQMtMfOLC1nqg==
Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta02.appoci.oracle.com [147.154.18.20])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40x03971jm-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Aug 2024 22:57:30 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 47DMmlSP020856; Tue, 13 Aug 2024 22:57:28 GMT
Received: from nam12-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 40wxnfnsvx-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Aug 2024 22:57:28 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=roAQT6p1jhgpVkB7zhEV4/zhtRIVns8qBfyikmVQ6jZFTFzNPJ06i/3K8sTV2dX5nuqyM7Cxe6/seXxNIltQAlpw1svIyDcjl6EULKDzbpxIEz28CL5iiwMXd/W+iJ4SiD9nkLWr2T9gOnu2CS+nf/sEKsZogFeC3/Mccy+ClAoyjANcdmmt/CoBSQIJLiFnkQ0Iz3KOjFkeL/oRWJFoy7AzCXj4KSwjopKVfAN4y0JntVJ9K2AtqQnQHYhk865fcrr4lo1TUBEd9LUlK6hB6QiBpy2ld5zzY+ic32nGfipxF8Xph5C6z1TeN8Qvj8DFlHrMlfyINe3haNQzkH5nkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+TQyC2QcqK8ZrHRkHxorXahxOaFGbJBY2NvzVBhbv/k=;
 b=f8cXwVLFNZ4rKYzdUMLukyJcwxBBqOzy/IAUxoOzNKt7DL/wSP5dHsrdxd/zE1E12mz4zvjZ4G3j1cXFhKeUU5iR5g5rjU1bFwI+9i9Oiv6qGf2pdC79sbOM2OK4nltEWrBAqaUN15MrOCZRJ/TRw1HglqoI6XREQ4eX7XNlQbb2bBLQp7ZsyOCZMGFqyDEwGuq6EaYAOkHHQJgHhdKgUxrSYJFkt0+Aqo3R3MZd2ueRCKxP0iLXuj9A4K4EKM22dDHp/2Rpvv2We1i9rL91fS9lrrEB8fIE5Idcdkx7wv6jvbVnddgvRnOvoJvGJeS0ErejIVktjUczf/KMA1H0tQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+TQyC2QcqK8ZrHRkHxorXahxOaFGbJBY2NvzVBhbv/k=;
 b=ROysYQRLW1d5/etIEzUR1pi3zUHvMS6cw9Pd6eppp2TDhXoj2PSkm54o2DGioi8l2rKC5LXy1W3sRXW7xC7EoyMnF8daXBWckRH7fzCz5UWCw6a3FvNKs9BXrfA6KMZv6Iyq/Q9kcvi756LSuzaQErvWdepkktchXbMWKOMoKts=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by CH3PR10MB7986.namprd10.prod.outlook.com (2603:10b6:610:1cc::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.15; Tue, 13 Aug
 2024 22:57:21 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%3]) with mapi id 15.20.7875.016; Tue, 13 Aug 2024
 22:57:21 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: RE: [External] : Re: bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Topic: [External] : Re: bug#72344: [PATCH] Add a version of
 cl-once-only which handles lists of forms
Thread-Index: AQHa7c7E5MTcThhNNkaf80wrk/R6qbIly+Bw
Date: Tue, 13 Aug 2024 22:57:21 +0000
Message-ID: <DS7PR10MB5232086F8A167DC6B381CAAFF3862@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <874j7xzvgx.fsf@HIDDEN> <87r0b1su7p.fsf@HIDDEN>
 <874j7o2kcq.fsf@HIDDEN>
 <DS7PR10MB5232BABC88D397563AB472CBF3862@HIDDEN>
 <87y15012yo.fsf@HIDDEN>
In-Reply-To: <87y15012yo.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|CH3PR10MB7986:EE_
x-ms-office365-filtering-correlation-id: 09bdfad9-0cc6-4065-c459-08dcbbeb49f8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?HPVOwldFx7iElIhJCWrHVufK5Bq95B5cD77muN9Xu5A3lZWmID72coUr+s8Y?=
 =?us-ascii?Q?miXfnrtzDCaFglb5E2av1hLev3zm8JdjYpv/mhedc+AW1G7QYaFHBx3e1Orn?=
 =?us-ascii?Q?8pLCViBtxBpQQpkq6CrjbCqSoh1NEcSUol29rqruOw0PLUZqhkbO8tcr19kY?=
 =?us-ascii?Q?pjYJFliqkjwbpCq8GKEOEe1RqxEZtaUe1EC5odTj5TnxdsMwuqOKdTu7k2tV?=
 =?us-ascii?Q?wW1aEcdJCDk9uH6W2KLyfzW5EoHJJDaBUESplgj70PvOhblBj2nLieT7vboT?=
 =?us-ascii?Q?oy5omKxMT4iSenbwI4fZmj+n8TgNB7oSVSU/jpt++Qte/eQPf74OceqcRQLH?=
 =?us-ascii?Q?sOfz07J7e+74mkzUrsGiMCksiXj1gJsXdG66v7Z//s9u3mLce76HVKibKx7V?=
 =?us-ascii?Q?T4HNCMp5Wxx0I8+Q2puYzD8APQeivtfO0zupnSlHQRTi0S1R+amRD3nD0Kxk?=
 =?us-ascii?Q?DR8edwwI3wk7mwZevO3q1ZTdb+szIcbGJ21TiHsAJ+3SNbTt7nPjBVHUkS7B?=
 =?us-ascii?Q?BYUyTRnXsggRCDrh9hAhdEKY7mGvcwvMSlJ4ox1fbBd1PGZuphK+DjdS1BbZ?=
 =?us-ascii?Q?JvNqPyi8o7/tv16PBF/4hU1j6HyDTssax8PfwSWghChuTaMGUrUZzuGNRoXv?=
 =?us-ascii?Q?v7ZXDW7dvKSHFZPhd+3IsYe4UyDjo4IdZ7CUJTAml0VLx2i9e27pVXPY4Bfy?=
 =?us-ascii?Q?Vj53+ZVdls88ZPqA3sjTw+5fDmxCOSe43oOTaW1ggQ3oX24hINbB6hQhTkdd?=
 =?us-ascii?Q?YpECn8e0Gf4ydDiutEu7AV/Z4d96FL+SaEgWewHnApPrNjv27i8SrX/RmBuj?=
 =?us-ascii?Q?tpMmXeXtGz7kkLCFEjBTVShH5Gn4T6LluVriJkh5xF+z8h+Fjmu6H8AGRnCS?=
 =?us-ascii?Q?pRfo1PE8nCyJTVQoRLve5Zm65jKiRcH+mdLtkDXqhpqSujIzDHFgIQbKlgc4?=
 =?us-ascii?Q?oiUeDcSjHD+J9RYnJimS6xCvOfcj2lO0YHV3KXm1jFvt4074SnRR2z7bTnZ5?=
 =?us-ascii?Q?ooPean4rHeRSF+fKCELz7oYN6bvoHkUNi78WOaNo24eXV33pueAASHRL5xsg?=
 =?us-ascii?Q?RjBFnOMNwUB4efFaYiQOF2PwUqyYYz0zd4x6byS0rVql+7VPv8LOa2nG39mk?=
 =?us-ascii?Q?eXfFZhFiTLMd9PHv1sPsLE8DAqJl7SiL2z5/+fBhRfg4cejNswMNhN6FJeN9?=
 =?us-ascii?Q?A2/mbVPkjviASX0QfHgydmW7FkZJMvsBUcMKFkpCn0gDAuIhAcv4AOhWYlTh?=
 =?us-ascii?Q?oX+vRzPmpiz5RkqgtKEBlzH4pZwGXEXdbMchDSMM3cuFxZt3Frza8dCacO8c?=
 =?us-ascii?Q?JysWY8wYhezWsONMuAt4IAHLMrGSjmuH3QVFgcq7a57rMnEy21cFGjuK7xzL?=
 =?us-ascii?Q?0U87Uq0tX1CkTCp7tXkTWYvCFB+UdihcwmY0IONkT/cDQE2Rcg=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?LUZRmUN+Q0ypT4G+QnkpLF+eZrrWYPO+WUOEulFciZYuBAHaQn5GxegN7fle?=
 =?us-ascii?Q?2//V5nvq9nmTnqLELKcIjCaJbb/vXvJkoiRZu2i14WgOosuUnERIAquDDqs0?=
 =?us-ascii?Q?1vqltkCYLrDmCPgkkhpBpB9O2wMeqr9yyanHodptQZA0H/Kbd0VZKmuWkXPn?=
 =?us-ascii?Q?yF9bk9Ugi6usPQzLzPfGAnF1f+6Vyk0RdxMXziLRJ81rp8LQyG2GG4jKFISY?=
 =?us-ascii?Q?VHIKfJeFGbOOdw20pMF4LIH6+2gCDXqVipQfJyqgLm4iqBkGnjlI9wFxIKrI?=
 =?us-ascii?Q?0a6V4b53hgmpjTsvfUIDddNFGrUAaq3G2YSXeabiqKYxtyqAk2cKeI5tyoZf?=
 =?us-ascii?Q?PuA4VljqfdDrMzEVZlBoVdjPwnI7JsEdGrHBTWheSkJXfm8Z6B0cXqOtPXne?=
 =?us-ascii?Q?4Uf264X6XnMhYtE1+ZxIyPY/TtND8Uu/FMDzxvjo3ZhU+G3PhLcLE25u8MUe?=
 =?us-ascii?Q?Do3H+ud17HKwDklBb9UOMnQydha88qmf5q0bVQxVDNMRnNh5U0Cn98oF+luE?=
 =?us-ascii?Q?isuZc7JO0q2grxdfLqM8Jcgpfc4Elyup3tBRSO74dCFARnXKPnzubsPibo21?=
 =?us-ascii?Q?TlIIsgqS9yTvy78gpYUvuWkqls3qqsytMjU5hvqlimchtlOXWKL+iXYVibuj?=
 =?us-ascii?Q?nHZoqEWJg/FZ/h1fYGyu4aQQ+KWcVaXepkERF9SdL9tY5DZ38v/g9Y1ldcjf?=
 =?us-ascii?Q?1XF1cns+Cif9bkFWt6+4Dtm1FyPr1VHsKK7lfnkHjGfQmYPMDSJPF+uy9Gd8?=
 =?us-ascii?Q?4i0KAzv4jHAtdF5B1Zas/BJHoGsvrycSrNyzlKznYSHMQxOdDUWRLoIxwKG3?=
 =?us-ascii?Q?238Cs2Gs/aIwj55ugY6yiu9CMiKz2LGKjLj+DilTCMeIqWZrbPWiBduyblkV?=
 =?us-ascii?Q?BMcKoPxl3/hKzyFqv+qo+oiiX7RyANn8eUawOZRYwtSk9MoM8OeAYt4e+IWe?=
 =?us-ascii?Q?HLemnfjfyWYGN4r5ykjEV7erPUiFI0EE/lpGrM9xASichLp3F5WXl6c+l+fe?=
 =?us-ascii?Q?ubqP7x3VYzM+Q5ugfwHfyXl+aNqvwD/SJ6Fn362EuXaI3pjmlB473eD5HmCj?=
 =?us-ascii?Q?aFcxlDunypHfV/NAQhuT3KcC9nWY0r0q3g5213r2+Kh4aPw+D12nNeg3WDR5?=
 =?us-ascii?Q?vGXVR2e0lw5lWx9W85BvZmbRtIGyKBmOtPB3J7p0V4jFH0LJTqLC+9Vhtehm?=
 =?us-ascii?Q?bIPnOXBh/cETD+AA8aquaBd/j3nKJu8zEW5FVybZSbuR5Rp0izU+fvFOxbkZ?=
 =?us-ascii?Q?aL0vYAso11BnnvN4qNgq1/m75mxwTRMwXtvDSwEH4pzLr3DYaijqI9mC+qml?=
 =?us-ascii?Q?gfoxTtMPqYkeq/UdItN88AfuPUIpm95TdB138oedB0o9fUWaDky5MXy1LDAR?=
 =?us-ascii?Q?K/0PTyFfXy9WMQHwK1tFh2ToLjSDpvtTqGITY7Z/ti6Jogy5qU/pCs4q6mIQ?=
 =?us-ascii?Q?D6Xg0hZIsmRYFnabGMfpyC38FGbV4HvstPfdFmA3LJ7DV6Q4wiyf4vnWK1m2?=
 =?us-ascii?Q?EBsSraae8q+z1O2HIfec6IT6+Ykthc5X67yIXln6nOh4vVJTc4Jj6CHe2MEG?=
 =?us-ascii?Q?O4yR3udnGpjB5AKN9kyMh100QhY4wsbHp7FP7LdN?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5vEn7Y/I/RuMYd3Em8NOOULf5gS6/mQpBDVbdaHe2/KvVSm1IyyJERsG5RAoUFhjWmeFZPhJt/aAI+FFD3Ggp0jSDKy8lMXw44YRTSWNKSZtO0BgfnYU/RC5VwnMqadLZ7g9Dv2lHAV+udyCSBkGygyKmsD2qsidSctmNYg0tajYABYsKA3qIQobWJ0Gn0AF1Rj6SWcm+rGcLPAjIIwTHvevqYaaSyrTC9F07KHtnNWZNKM6flJVmPUV77eh4dzxm087lqvI8Lt2dN2HNcR6+goeQ8x5tASUgMAw9rctZi4MvjW28B7gpqudShbY3wKeHQtpgFyfyCJJFHw/R/S6Rohes5nYjNzTHZkYjZyMfmi60SfUcIJbwouk3A3w78taouZpD048wdFsfyCsihw2Lv0Hp5yLkpc32cstF9RJ0QcUMefcYR3b9lLZn8d9y1R2J0qlZIJYkyPbnCV2NOAjYRiTH6hwHuz5StvMK6lz+jmjVrQO+VuLK43YpYrZ4hFec9MybTnoUiz5qE4WCaLkHvE3jUvdJcY99v7sHEjA82KvevLxVbXf1FU5++AsdY4CH00eanzKYZisGFzMwPbU1wkSbSXojPI6QHs37YtN3L4=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09bdfad9-0cc6-4065-c459-08dcbbeb49f8
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2024 22:57:21.1966 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YIYwdrfxklwjEsZoSZbK2VfWmCZ0uHXKoOhONhQJ18R6ceTZJI+/btqH5dB3BrgvmCd1cCums8kTjfLyJai6xg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB7986
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16
 definitions=2024-08-13_12,2024-08-13_02,2024-05-17_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0
 mlxscore=0 bulkscore=0
 phishscore=0 malwarescore=0 suspectscore=0 spamscore=0 mlxlogscore=999
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000
 definitions=main-2408130165
X-Proofpoint-ORIG-GUID: _15ywcY5f1czB3nnTTsZYZccFm6nKudd
X-Proofpoint-GUID: _15ywcY5f1czB3nnTTsZYZccFm6nKudd
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: "72344 <at> debbugs.gnu.org" <72344 <at> debbugs.gnu.org>,
 Sean Whitton <spwhitton@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 (-)

> >> If Drew wants to start a new conversation to move `cl-once-only' (and
> >> also this) out of cl-lib we can also just go with any name now and
> then
> >> finalize it afterwards, though of all the names the one I favor is
> still
> >> `cl-once-only-multiple' above all others (sans `cl-once-only*' which
> is
> >> not an option - unless if you changed your mind about it?).
> >
> > I've said all I have to say on the matter.  I seem to be a minority of
> > one, and won't bother starting any new thread about it.
>=20
> I don't know what the overall opinion is, but I do not necessarily
> disagree with you that cl-lib should be for (and only for) emulating
> Common Lisp.  While I do not know the scope and extent of the changes
> you want to make, I support moving with-gensyms and once-only (and
> consequently this) out of cl-lib.  However I simply do not have the
> energy to start (more) arguments and try to convince people to make this
> change.

Understood.  Thanks for your consideration.

> > I have no objection to using prefix cl-- (internal prefix) for utility
> > functions & macros in the library - i.e., for plumbing needed to
> > support the actual emulation.
>=20
> When talking about this patch in a vacuum, I am vehemently opposed to
> using the `cl--' prefix - this macro is a public-facing one, and making
> it internal is a guaranteed way to make sure no one uses it.  It also
> does not make sense that this macro (and only this macro) should be left
> out of cl-lib, since this is a near-identical version of `cl-once-only'
> with minor changes.

Also understood.




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

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


Received: (at 72344) by debbugs.gnu.org; 13 Aug 2024 22:20:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 13 18:20:24 2024
Received: from localhost ([127.0.0.1]:45615 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sdzsO-00036T-0N
	for submit <at> debbugs.gnu.org; Tue, 13 Aug 2024 18:20:24 -0400
Received: from mail-ej1-f42.google.com ([209.85.218.42]:48357)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1sdzsL-000369-Mp
 for 72344 <at> debbugs.gnu.org; Tue, 13 Aug 2024 18:20:22 -0400
Received: by mail-ej1-f42.google.com with SMTP id
 a640c23a62f3a-a7a8caef11fso682879366b.0
 for <72344 <at> debbugs.gnu.org>; Tue, 13 Aug 2024 15:19:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1723587521; x=1724192321; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=A7GlCokHb+iy7EvOg/Jm1N9A9b8IQHiLgP3eRHR7wh0=;
 b=iLMj7EUFFJ3WfoPNIppOl4rhY3Ia6fl6WB/fVVjajdOxN/k6uN6jdbw4LnkeuXZ3wq
 cSiBXuWJOKRITNA2xBdJHzGYi8/SW96ODaMATo88nLp1vvvghq7vtuGVkTNu9tf6w1o/
 gWuoaVjZ2Oee2000B4XUn+BJZY7AkTSIGQX5tR+NqtITTR0Ag/WgNnst464hxi3ZOnJ7
 iJL29c6GGlcRw8s03BpzRcpnWBsMdhX+55P1ydct6/jlVx84NkOPUPA5+yqg3XM1ZNzw
 87tETAVAqfOu2xd+ytzTDE7Sd+I6qFA1hIGxtep+YgceDolvPl9GlN8Foeueaj6UzPaa
 QLCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1723587521; x=1724192321;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=A7GlCokHb+iy7EvOg/Jm1N9A9b8IQHiLgP3eRHR7wh0=;
 b=nG4EwJWAeMslfnJomlwJAOcPkdCo8uNM5PwZ/Jf6YtkfKbS7iQ5M/tegdumdlqHExH
 YcsmbmhD3KUcP6WiS1PJRkQAg2aIlDMl4bdgvrvRj0UqZfdRsf5dImcomDTVOO6kVcmy
 d7SyePNOHq9fWOOemBhQJ4uEcIziemPg1Bu9SlL+DcGL931uQHlz1GOHb+vfDv6vxg2b
 4yyvpTde2D/UKTT/E2rAagEnEu/6JsEORH+qIWA5EeXOoMxLADkD85P6eKgq/o2nuWw2
 D1XsKFQzHrTMfbhuP5nlMkL/TPQQqCPYmCKz/o21M+llOEqEDe5AcNRkn1ry7mfLAoON
 5e3g==
X-Gm-Message-State: AOJu0YzkyWUPKIcGGwPkFipO9D//94E8N1wuy88CwYozRe1MLdH+eBMF
 PJXlKag/3Esl6IfEryj4lO10b6Th48iN3/UOHBV8lQiAdhtEiW3/
X-Google-Smtp-Source: AGHT+IHJEQlcM/OgVeWv43pKVS/aO25KdKDwMueHv6ZtYfhgehDzIJCR/hr+mlzUZ2g7yIAsrttPsQ==
X-Received: by 2002:a17:907:e2e7:b0:a77:eb34:3b4b with SMTP id
 a640c23a62f3a-a8366c0b1b8mr49939066b.11.1723587521205; 
 Tue, 13 Aug 2024 15:18:41 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a80f3fa7c27sm103658166b.66.2024.08.13.15.18.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Aug 2024 15:18:40 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Drew Adams <drew.adams@HIDDEN>
Subject: RE: [External] : Re: bug#72344: [PATCH] Add a version of
 cl-once-only which handles lists of forms
In-Reply-To: <DS7PR10MB5232BABC88D397563AB472CBF3862@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN> <874j7o2kcq.fsf@HIDDEN>
 <DS7PR10MB5232BABC88D397563AB472CBF3862@HIDDEN>
Date: Wed, 14 Aug 2024 00:18:39 +0200
Message-ID: <87y15012yo.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, Sean Whitton <spwhitton@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 (-)

>> If Drew wants to start a new conversation to move `cl-once-only' (and
>> also this) out of cl-lib we can also just go with any name now and then
>> finalize it afterwards, though of all the names the one I favor is still
>> `cl-once-only-multiple' above all others (sans `cl-once-only*' which is
>> not an option - unless if you changed your mind about it?).
>
> I've said all I have to say on the matter.  I seem to be a minority of
> one, and won't bother starting any new thread about it.

I don't know what the overall opinion is, but I do not necessarily
disagree with you that cl-lib should be for (and only for) emulating
Common Lisp.  While I do not know the scope and extent of the changes
you want to make, I support moving with-gensyms and once-only (and
consequently this) out of cl-lib.  However I simply do not have the
energy to start (more) arguments and try to convince people to make this
change.

> I have no objection to using prefix cl-- (internal prefix) for utility
> functions & macros in the library - i.e., for plumbing needed to
> support the actual emulation.

When talking about this patch in a vacuum, I am vehemently opposed to
using the `cl--' prefix - this macro is a public-facing one, and making
it internal is a guaranteed way to make sure no one uses it.  It also
does not make sense that this macro (and only this macro) should be left
out of cl-lib, since this is a near-identical version of `cl-once-only'
with minor changes.




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

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


Received: (at 72344) by debbugs.gnu.org; 13 Aug 2024 21:36:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 13 17:36:51 2024
Received: from localhost ([127.0.0.1]:45594 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sdzCF-0001c7-GI
	for submit <at> debbugs.gnu.org; Tue, 13 Aug 2024 17:36:51 -0400
Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:50160)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <drew.adams@HIDDEN>) id 1sdzCC-0001bq-K2
 for 72344 <at> debbugs.gnu.org; Tue, 13 Aug 2024 17:36:50 -0400
Received: from pps.filterd (m0333521.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 47DJBX1a014352;
 Tue, 13 Aug 2024 21:36:13 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=
 from:to:cc:subject:date:message-id:references:in-reply-to
 :content-type:content-transfer-encoding:mime-version; s=
 corp-2023-11-20; bh=d8q51rqczNIzvB2x3N1rDRl9/jgvRtnrE4+YBefw/bE=; b=
 SJPs3c06IdZganzEpBn5z3p7d/4gHaaZmuMON/Yn1YMHwhFjYIkg0hlZUukdx+h0
 ZkgDO5YPo1eYjVsqS42BznuVBrQ6syeDD5JYhn2onjeA4aq684T0lRyAriVQGt3T
 bm4+nYQBf2jcQtcavwYlcza3pTeU94SlGLuQFUBeN8WYYXUCymuidlduDH8m5pOm
 q1L282lij0Ea2IfHDS9Il2DdxJiQJzQ2vbL808qFXUfk0TqzuC5u4vVVe+yd9dV6
 VXfEpPFaY5vrWwKvVXm9TvcxzYNnreBhV7DeXkeI8n8nsvtNuQ0BX0JorSuaFvUr
 yyg1kEJKpc5Df+8MsoU2PQ==
Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta03.appoci.oracle.com [138.1.37.129])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40wy4bf452-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Aug 2024 21:36:12 +0000 (GMT)
Received: from pps.filterd
 (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 47DK1bNC017731; Tue, 13 Aug 2024 21:36:12 GMT
Received: from nam12-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam12lp2177.outbound.protection.outlook.com [104.47.55.177])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 40wxna1bnr-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Aug 2024 21:36:12 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=HEiDLadAMuZyz4OGY32J217v6vH4zb3cpzpOmQOl2CmHWI2Qkkz/xzV0p4sJUhk608vTPuqHzdZzCnrj1cQKszyslZiSN5F6bTtbrWbxYUgmfDME5HqSyxlEe+sWoP7HU8nnpv5B1EmBwp+nyN0aJOpHD3F/zLraITiNuQgB4uC3VXcg1B0Moi/kq83m3PKxZllz9gHGzgWbBttQlN+cRUclfD9HwEjFZh+gSr12MypL7sf+Z7zARlH1iQJU7WyR2kjzVJAO2YXcZKwB3YAi0BlChDxg4s6/xMBlgbJ0L9UyD/KmSJXZu7TFWEBOWb/ObVToC9UwQoHOUwUog0Tvxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d8q51rqczNIzvB2x3N1rDRl9/jgvRtnrE4+YBefw/bE=;
 b=aPWa8VQ4L4qG+lxoDt9wtLUojNbt0yJnQmE+RZz+qOOvAJsQXf8wX8s8GGugdP48iRwOK4K/Bg/SWjoFSmX/Y9erNHPpXZxF+8DsfCu4oQ86mS/FaA+E7oQIuRhe9VUnynQZAqxe+RcD/HPLQS/aWfpYXTPFzoH8N1mmRxvTWhlx1bqH2I2pVEM54UvszMNP6gM5aCouA00mb6hJYrYwp+p4gBoAEffQroNGKV4Zs05Q78RCvzdLPhrQvF3S+oxo7yWtZE5YyeVZPnERLirmDLjlDclOUlzCDGSmjq+clcfY2hwghEbUIpm5b9q4hkxLIbY0Xed7JmxeY481q9Y/hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d8q51rqczNIzvB2x3N1rDRl9/jgvRtnrE4+YBefw/bE=;
 b=Wx+QNqd+PUscpDiUF6+Qr45CAvSrE9DsPqVtC0jpKYgSn/gTFC53rGlCTzJ+PcGHKwpSkj1I0+zhK8ycJHVv+fjAr4UPhlMkoO9sEn7CycukLbztvFzaz0w3d+EryMVzx0ZUHAeAoIV/0aOkPzUdMIE8Men0FLDNLgxxNRfdjbQ=
Received: from DS7PR10MB5232.namprd10.prod.outlook.com (2603:10b6:5:3aa::24)
 by SN7PR10MB6617.namprd10.prod.outlook.com (2603:10b6:806:2ac::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.12; Tue, 13 Aug
 2024 21:36:08 +0000
Received: from DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324]) by DS7PR10MB5232.namprd10.prod.outlook.com
 ([fe80::8303:658f:14f8:2324%3]) with mapi id 15.20.7875.016; Tue, 13 Aug 2024
 21:36:08 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>, Sean Whitton <spwhitton@HIDDEN>
Subject: RE: [External] : Re: bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Topic: [External] : Re: bug#72344: [PATCH] Add a version of
 cl-once-only which handles lists of forms
Thread-Index: AQHa7cZxUVbye0rN2kqb0DhBOq+ALLIlscSw
Date: Tue, 13 Aug 2024 21:36:08 +0000
Message-ID: <DS7PR10MB5232BABC88D397563AB472CBF3862@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <874j7xzvgx.fsf@HIDDEN> <87r0b1su7p.fsf@HIDDEN>
 <874j7o2kcq.fsf@HIDDEN>
In-Reply-To: <874j7o2kcq.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS7PR10MB5232:EE_|SN7PR10MB6617:EE_
x-ms-office365-filtering-correlation-id: 81b22ac1-8811-41bc-3579-08dcbbdff198
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?84rov2Ds1P3nHZep6eUlE7ToOE7fXNfRc64DSXVb1ZoSUGVxr1p9lWvsUPyD?=
 =?us-ascii?Q?WKQushfph2kYZt4g8hAtBqLTgaRKRU0OyVVYWCdmOUHAR7Y9zS5TMSnViIQx?=
 =?us-ascii?Q?lbvF2Jf7lkEkg5mOsWj8HCwu15jcK0QNd9TUYck9CfK22jRNj0zbX+s3Bo86?=
 =?us-ascii?Q?NiQCWiqSow3x+CNuPNRMOwP957oanPcCsddd+psSH+pMDF4nk3TOlJ+01E2k?=
 =?us-ascii?Q?YT/yLppdPKo5w3Hbsff4nrcE7l4UF2e6Bs3KUgmDEhU9sZUxvwSmR3qhzVKr?=
 =?us-ascii?Q?Dix/7+3J8Iz4Z5B+ma9LZ44XHoeQYgW3lFB92UsLnUf9S8UUShS+HCqoYwtH?=
 =?us-ascii?Q?0RLgbrfBq8OZu0VzgeAo6IKB6VJ8bCJptSs7V2roEGujsyX850y8mK1YsfKr?=
 =?us-ascii?Q?tGgFYl0b5rt76PCCY7Nx4qTfd1sxcW/u4EX3gJf9clec+VWmr2/CLyi/JuPX?=
 =?us-ascii?Q?i98qBld0ijqNLH/COya97yE3u1qJS/sqsL6Q3HoMvHpfQUtphvw4lKSJgAwd?=
 =?us-ascii?Q?To3/kP3cy4wcBh/aPdN5JQQ6ECyFU+sTFOH0LV1FhwZ+9mNGWgWvO9ufeZtP?=
 =?us-ascii?Q?+iOfb3BBprKyXmZhzUhjUUesnEy3Z/7sV72syhxXfaWtS0PBZa4SmpMFoH9U?=
 =?us-ascii?Q?pwF6MV8sujMX+L1hitl+l9IEh9zKsMFWZqDShxrUEobqKHCkxRjybqDQevxc?=
 =?us-ascii?Q?auo4zixmgDwESKrmVKCnBt8AY7FeAxyHu1C6KZ9kQ8UQ30LSeieqsR0PCBwj?=
 =?us-ascii?Q?Ax31+WR7giCJ0zCWhDxSa+h1+BtERMGaq4q1KqqFJvvdhvCzgcF1h1b0ZZ7r?=
 =?us-ascii?Q?UQOnQ+0C6ThLusbPBFWLWOFJqwaMuMs9d4qI1zZKzpL92cZ2uifxu3cdlIsN?=
 =?us-ascii?Q?VYRuA9h+9baY4Ni+fioKAE6hCDBljBFhlwz6866E0E54oTV41lpFiPQky02I?=
 =?us-ascii?Q?g+FqbNMx5SU6EQl1Iy5I6kucafENkw/EKNJhiSqSSr8jtrs5ooCPUcNXY0f3?=
 =?us-ascii?Q?tXIWFCR6bpleL0CgTQb9OiuPZK9xgpGbWNkd+MAgfPmF5CXrfKiYNjCpJ3mZ?=
 =?us-ascii?Q?S9t1r42gIAHGTuGo34TFWmwMVF+Vc0SZFdmbODp+ZJk8yAPoAGvi6wke6x2t?=
 =?us-ascii?Q?I88AxcHUPX7ATqLXVDKGjvjlkWovwS4/CRBq8eFjV96N07YrD0Bf2d3NPeNh?=
 =?us-ascii?Q?66SdGeTt426xkpClEmRm9BouG3TqPoQSoHtWKQh5wOm+ClGAlAOVp43na8XL?=
 =?us-ascii?Q?h6Lg/dK3Tf2OLdrUTEyeLL1q4lLTEQm6CONdFeTaaMlrXnUPhjNP/Qk28eFB?=
 =?us-ascii?Q?mvSbOgD+QAHbQq1OvzQ0dJLFjmTKAqqcjtoKPOr8xWqZ/wcJMZzBc3fMhCVo?=
 =?us-ascii?Q?cB/CyiN+NHU7M5TFdiiPIUKHMmuz5H3kpxPGdQSUsPDRzPSFeQ=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS7PR10MB5232.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?oPYhFqPLcvUoHQKRm9E4A7VSSn0A485X4sQeX/NPas0kp9l+3ne99zzmqq1N?=
 =?us-ascii?Q?bOoMKKjKyzIK8lVJynrxaXcXWlV/3fQGkjBJ5dpZwcMKiZBh0YycDK89uEI0?=
 =?us-ascii?Q?qgLK8BxvF2g3Qo5pgjfAYYuLKPgRx1LSaeR8jwXW/ygYuwYecbUeoiYMzzzg?=
 =?us-ascii?Q?+8LdMWeJsY62gKCWZkPMmu/evVwRQYJ/fsMnZgy7QP8dFa4EMEcwDFESJIeq?=
 =?us-ascii?Q?AsvZYN5cQafmAjl3QNQkRoI/RjYoYYgRkTFp047CfDDXRHOGNRkw3/Uf+Hgw?=
 =?us-ascii?Q?V8RREF/x0dsokwyFxrmVeF5S1rB4j3Cn0Cg7doWhnG+Fc9CFohzhsVTJkiqU?=
 =?us-ascii?Q?mDy5Dv/l69ezKhEbsUGYh2jXiEhArLoXYPk4I6uV39Ix/3m77L6FwhMl+H+7?=
 =?us-ascii?Q?ckaXaVBJmcBx+wUaGrMosaPgfm3ktuzhj46LAATrVAmhtzaGefQS67yBiNSb?=
 =?us-ascii?Q?XvAd13W/VbZESJNCbedZGCCBKYueGZaG3wmwyyyPSR7VZe6wwSqoZQXGEmgY?=
 =?us-ascii?Q?WHg985MFvgZ20K6WrnJCt5NwTVWgN9FKD5yZhyd1ka71yVlMqpO0XrTar/uU?=
 =?us-ascii?Q?zKW3leIvyjicqzBCemUsWjxGfXtM3f3K71Nv/rGQJOsyry3pR+pZG1YBC7+s?=
 =?us-ascii?Q?StPN21/IkduaUpRwViYddraHT+19e466ObuJAo7Cbx2J0nEcu7scFsltN0CJ?=
 =?us-ascii?Q?oQGXsdxBXtYj55zQZFbJoh+E2PIzu1G4Z+KLWkKQxWqefVOPJp0AHgxW7hbB?=
 =?us-ascii?Q?G2a3GpZUw3hTaJDjGCoodqyrgSp6Lb19fOxqshcTWSv2ryyPucibs2+MJ9ES?=
 =?us-ascii?Q?TGovN6JGmmNkEc+kWd59SP6w+RU2wkjhcxL2D3oPxXdJpK/Z+lOVJssOwGXg?=
 =?us-ascii?Q?KNuOyfKz3IeGSYceyeiGex3S9RDa+9gXKAKrJRVKuN5KKGR9BAt6jBGlz8RH?=
 =?us-ascii?Q?IJWw5fIiKPjjjBkjNu8zVjNQPPnbMnIbAcqWamI8QPY7dsaSv8UYA4Qp5EYB?=
 =?us-ascii?Q?Hs9fXdyVQmSkumr2UXz4/vEeH5OaYPmfJ576kV+ikoM7IfB9E9AcT8dnQk4h?=
 =?us-ascii?Q?hOrtZf7eWc9azqnZpJ/b6EHTKAWl/mxyHIDyJuGL+HQw8aScCK4OoGqphCUR?=
 =?us-ascii?Q?c/LEU6Ev6VwkuH+MKWYNdJensTZu9GortplEUikq1wT6vUHc1IuxFhB7VGWo?=
 =?us-ascii?Q?0gGOXARzRDiDPFDBGWrWJ7pi2mGYiqIUyContGiBURyHP97j2jVMUw45ABxQ?=
 =?us-ascii?Q?70+/sShZrE2Cd8hWnz31Lz2RnbX/8rB+6MNdnPqxqMf/DaD3Gm4DuYE12Da6?=
 =?us-ascii?Q?yRiusufolTbOCmQGGGNxPAS7kCx435mycfSnTWjQ+S9ld3HAaPW9p359bVtJ?=
 =?us-ascii?Q?z06yZs6KYXbpJqYHCD1rB6nl7TCWSjJ7why1GzZ2N3G/JJk5yhfOYl4f9Tex?=
 =?us-ascii?Q?zFRtjJ61BS1PMZpY5gfLkhopObtNOIEh5fUbwJLsXW2bPa70eAhMiZ1b0LH3?=
 =?us-ascii?Q?69oP03aXJNw+X7mi0ZQh8kO5Hj2C0u/mZSNlWSv4kqIBaaid40SYXTtZ71UF?=
 =?us-ascii?Q?v8i33jNvmNYYhDAKyET3LwPiDaP99XmId90Y2T6j?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 90dCsWtFuWFpTGoSquzWpOyxTlcm+kKXE34Uwr10d9HNGYr9n+wZS0jzca5JF36dTtkMUMBrtlfJtgiLdid2JyBOMV+ypS27sSYyuBpGCSEXfdqUV6GgX3n59wGF3q755uZQyWQt0MfzUb8QHNEWbfnzi7Pt6nvoJS0s2zwwaG1A0XvsdUrMFCSL3sHihGUkv6/zQninGm7KjAmBZ0ww75QCLTwLBOCBQZ+eMuNL6ZuLZsZzlp8mofRgwqlel9v/REf1fEKfcPbjGK8JtdtTJ+rNJqi1fhRGaUmQZbUnFXsOtoQCw37Nj1Nx4BLRJFdVqyC/+UNRRPjURnz0BZHJnYCc6ZV9kgg/bGxCvtfnMbJqzlwV9tHWpu3dv5CRaNEDmES2dRJ65ahaZL12Yh7zYeupEMkMrWyeXrNNsoJf3W8P7zOhiuH5o92xRUWKqtng00gR8/cFnJgttxdHA338l0mB3Ny8VSlftZQ3nA6T5yhNip+qkz/foVOC38k7Rexe++zF+90wR6o4apRoP6etQbN76JyCEi69GJXYnqeSa59mx6bARKymHqTIue7tL7R7uGsYBXIgtCpcM5bJIv6B/FaMoBQUH8aiFAoyeNONW5w=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR10MB5232.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81b22ac1-8811-41bc-3579-08dcbbdff198
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2024 21:36:08.4796 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 4Ced+BPYo1P8WiiqbCi3xwkJKDAAuQxIWaOoLWptZzdVZwm0edBlAoqpCK9/DsvyWMLmWAmf1QkkSTHSJiFMQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR10MB6617
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16
 definitions=2024-08-13_12,2024-08-13_02,2024-05-17_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0
 adultscore=0 spamscore=0
 phishscore=0 malwarescore=0 suspectscore=0 bulkscore=0 mlxlogscore=999
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000
 definitions=main-2408130156
X-Proofpoint-GUID: G6MGNYJyGI73bkWxOazd_764LZY2fAzJ
X-Proofpoint-ORIG-GUID: G6MGNYJyGI73bkWxOazd_764LZY2fAzJ
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: "72344 <at> debbugs.gnu.org" <72344 <at> debbugs.gnu.org>
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 (-)

> If Drew wants to start a new conversation to move `cl-once-only' (and
> also this) out of cl-lib we can also just go with any name now and then
> finalize it afterwards, though of all the names the one I favor is still
> `cl-once-only-multiple' above all others (sans `cl-once-only*' which is
> not an option - unless if you changed your mind about it?).

I've said all I have to say on the matter.
I seem to be a minority of one, and won't
bother starting any new thread about it.

I will however, repeat it here, for the record.

We've deviated from prefix cl- being only for
emulations of Common Lisp constructs.  At
first just a little, but more and more over
time.  I really don't see the point of that.
And I've never heard any good reason for it.

I understand that cl- is a library prefix,
so the functions etc. defined there should
take the library prefix.

What I object to is adding non-internal
constructs to this library that aren't
part of Common Lisp (and are generally not
even related).

I have no objection to using prefix cl--
(internal prefix) for utility functions &
macros in the library - i.e., for plumbing
needed to support the actual emulation.

Since the point of the library is (used to
be, at least) ONLY to emulate CL constructs,
I think cl- should be reserved for those
constructs, and anything else in it should
use cl--.

Yes, that would mean moving un-CL functions
etc. out of the library, to somewhere else.
And yes, that would mean replacing their
cl- prefix with whatever prefix is right
for their new location.  And enforce the
rule thereafter that you don't get to add
wonderful-whatever-function to the library
and give it prefix cl-.




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

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


Received: (at 72344) by debbugs.gnu.org; 13 Aug 2024 21:20:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 13 17:20:07 2024
Received: from localhost ([127.0.0.1]:45587 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sdyw2-0000tM-JM
	for submit <at> debbugs.gnu.org; Tue, 13 Aug 2024 17:20:07 -0400
Received: from mail-ej1-f54.google.com ([209.85.218.54]:48529)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1sdyw0-0000sZ-EH
 for 72344 <at> debbugs.gnu.org; Tue, 13 Aug 2024 17:20:05 -0400
Received: by mail-ej1-f54.google.com with SMTP id
 a640c23a62f3a-a7a9185e1c0so458370766b.1
 for <72344 <at> debbugs.gnu.org>; Tue, 13 Aug 2024 14:19:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1723583905; x=1724188705; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=sEcUldk5hTpn0DJEC6ubcdK1FmdXdhnMLlw+ujd8o7c=;
 b=AP7pkxrJqMJA5lteJbS4TyIt9ZPUBpb0eV4FbMpKzQ5N2klr8efMmZJ2OAN3Sv4tGu
 g6CdDxEKcwXgf9lpg7n4TBsD0RF1e9mW7Wqm5MHQarjpvlT3NpjQbhCAmNU0iZz4uL6M
 dncr9N9tlGqmaV9fVw5J+GCybrofL9efvLoB82B1o/bH6WRtOYLQhNLNVQigtTFtStcX
 06Q6512acu1PAHMC1FEMGpGdptR6vuZN0BVN+rkiVyVAo2r1W3aFh2w7PZJAsYqWSIRE
 VWrawPHZ+RLhpRJFqA38CtpVvR7yzvM3dwOyGh0kxV5Lbw6pjXxGESjllyT3eQWcrrr/
 ZyXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1723583905; x=1724188705;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=sEcUldk5hTpn0DJEC6ubcdK1FmdXdhnMLlw+ujd8o7c=;
 b=qHYD5zZ2RGhkyeYRKl+6iC51tvdnXGJaRs1KroQCtUMKtKv55gM39kCVZ1Dr36pBhn
 a3qH6wkP0FoWwChjw3iQ87zSb7ApZdD2v0yTH+vu1cBOIf8H1wPhJeXYS0rPTy6CxvxM
 /zAjfuY1tp7ymWVbrn0w7IjucRXoh8rAijAqLSdx+xIcSKlNxmrlKUQjHtkszK7isUN+
 XtE0KU+tNYGf2t7PrTtn1kFabJ/DfjtYjTorMs8OOv+d/SF18WcHpC7BW0Oq3M+vWB1x
 fur9U44yCAEFNIGNhzcUurOgXpShMgu23+ep8HYQ9crGMJ4fUYUBc9NAjwpTjkri3yqn
 DUBQ==
X-Gm-Message-State: AOJu0YxRbyjE4d8hN3fjTYrPEoLQktwVjZDuCBQGwk4notij7z7WL1hT
 AKzZnGuS/j9oqAPhaoi6/JtywLqp/6+DWU1oqaaTR06mVaixkDSs
X-Google-Smtp-Source: AGHT+IE1aDWm0L68p7Q6fu3Hu5jSvDrtK9yEb0CDznvXObT3xqroXpb//5Y146thkHud5f0fP4mhwA==
X-Received: by 2002:a17:907:d3d2:b0:a7a:aa35:4089 with SMTP id
 a640c23a62f3a-a8366c34018mr46188766b.24.1723583904135; 
 Tue, 13 Aug 2024 14:18:24 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a80f414e50esm98436166b.184.2024.08.13.14.18.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Aug 2024 14:18:23 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87r0b1su7p.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN> <874j7xzvgx.fsf@HIDDEN>
 <87r0b1su7p.fsf@HIDDEN>
Date: Tue, 13 Aug 2024 23:17:41 +0200
Message-ID: <874j7o2kcq.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org, drew.adams@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 (-)

--=-=-=
Content-Type: text/plain

>> If `cl-once-only-multiple' is fine by you then I would prefer that over
>> `cl-once-only-rest' and `cl-once-only-mult'.  It would help to get more
>> suggestions, but I don't think anyone else will be chiming in at this
>> point.
>
> It's just really long :)

I do agree that it's decently long, but it's probably fine...?
`cl-destructuring-bind' is the same length and I don't find that too
annoying to write out, though maybe that's just me.

> Let's give ourselves time to think of something shorter.

I don't have any new ideas for the name, but here's a second draft which
tries to adapt the example used in `cl-once-only'.  I was unable to get
the `mapcar' in the first example any more concise, so some thoughts on
rewording and fixing various parts of the text would be nice.

If Drew wants to start a new conversation to move `cl-once-only' (and
also this) out of cl-lib we can also just go with any name now and then
finalize it afterwards, though of all the names the one I favor is still
`cl-once-only-multiple' above all others (sans `cl-once-only*' which is
not an option - unless if you changed your mind about it?).


--=-=-=
Content-Type: text/x-patch
Content-Disposition: inline; filename=cl-texi-second-draft.patch

diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 57e2f3a6c3b..de9f0565d03 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -2684,10 +2684,10 @@ Macro-Writing Macros
 @end defmac
 
 @defmac cl-once-only* (variable forms) body
-This macro is a version of @code{cl-once-only} which takes a list of
-forms.  This macro is primarily meant to be used where the number of
-forms is unknown and thus @code{cl-once-only} cannot work, such as those
-obtained by a @code{&body} argument.
+This macro is a version of @code{cl-once-only} which takes an
+arbitrarily long list of forms.  This macro is primarily meant to be
+used where the number of forms is unknown and thus @code{cl-once-only}
+cannot work, such as those obtained by a @code{&body} argument.
 
 Each element of @var{variable} may be used to refer to the result of
 evaluating the corresponding form in @var{forms} within @var{body}.
@@ -2696,38 +2696,58 @@ Macro-Writing Macros
 such that each form is evaluated in order and its result is bound to the
 corresponding symbol.
 
-Like @code{cl-once-only}, the first argument can be a symbol
-@var{variable}, which is equivalent to writing @code{(variable
-variable)}.
+Like @code{cl-once-only}, the first argument can be a symbol @var{variable}, which
+is equivalent to writing @code{(variable variable)}.
 
 Consider the following macro:
 
 @example
-(defmacro my-list (head &rest args)
-  (cl-once-only ((args `(list ,@@args))
-    `(list (apply #',head ,args)
-           ,args
-           (nth 1 ,args))))
+(defmacro my-list (vals &rest forms)
+  (let ((val-results (mapcar (lambda (_) (gensym)) vals)))
+    `(let* ,(cl-mapcar #'list val-results vals)
+       (list ,(cl-first val-results)
+             ,(cl-second val-results)
+             ,@@val-results
+             (progn ,@@forms)))))
 @end example
 
-This macro is such that it will evaluate @var{args} only once, however
-that @var{args} was a list is lost once we are in @code{cl-once-only}.
-Furthermore, to access any specific element of @var{args} we must obtain
-the element during evaluation via @code{(nth N ,args)}.
+In a call like @code{(my-list ((pop foo) (cl-incf bar) ...) ...)} the
+@code{pop} and @code{cl-incf} will be evaluated exactly once, ensuring
+their side effects are not applied twice.  This code is however very
+complex, in the same way code not using @code{cl-once-only} is.
 
-Consider the alternative using @code{cl-once-only*}:
+Using @code{cl-once-only} is not possible directly due to it expecting
+individual forms which can be evaluated.  This can be worked around by
+assigning to a variable @code{`(list ,@@vars)} which @emph{can} be
+evaluated:
 
 @example
-(defmacro my-list (head &rest args)
-  (cl-once-only* args
-    `(list (,head ,@@args)
-           (list ,@@args)
-           ,(nth 1 args))))
+(defmacro my-list (vals &rest forms)
+  (cl-once-only ((vals `(list ,@@vals)))
+    `(list (cl-first ,vals)
+           (cl-second ,vals)
+           ,vals                        ; Does not splice
+           (progn ,@@forms))))
+@end example
+
+There are two problems which both result from the fact that @code{vals}
+is not a list inside the body of @code{cl-once-only}: 1. @code{vals}
+cannot be spliced in the way it can in the previous example and
+2. accessing individual elements of @code{vals} can only be done by
+accessing the resulting list @emph{during evaluation}.  Compare this to
+the example using @code{cl-once-only*}:
+
+@example
+(defmacro my-list (vals &rest forms)
+  (cl-once-only* vals
+    `(list ,(cl-first vals)
+           ,(cl-second vals)
+           ,@@vals
+           (progn ,@@forms))))
 @end example
 
-which preserves the fact that @var{args} is a list and allows immediate
-access to individual arguments by simply choosing the corresponding
-element in @var{args}.
+which preserves the fact the @var{vals} is a list and removes
+boiler-plate code for generating and assigning temporary variables.
 @end defmac
 
 @node Macros

--=-=-=--




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

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


Received: (at 72344) by debbugs.gnu.org; 9 Aug 2024 05:45:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Aug 09 01:45:15 2024
Received: from localhost ([127.0.0.1]:37524 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1scIR9-00046e-7k
	for submit <at> debbugs.gnu.org; Fri, 09 Aug 2024 01:45:15 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:33786)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1scIR6-00046R-K8
 for 72344 <at> debbugs.gnu.org; Fri, 09 Aug 2024 01:45:13 -0400
DKIM-Signature: a=rsa-sha256;
 b=ZymhelagQS5n5p7ay8aUY6eOnOXikNaj6MdVdBukUvCH6fpPWzr1eAc1xpwoGghbF8SlpTrN7NF76yqEJ20dZoBT6bYE31dAvAl6rH9sJzCGkSM4W2j7fLj2j4o7N4UmkrQGotnYIyrQHGMAo0qRHvG1Mk4r6tigvPTLiuRdhMuXH8bwnYJtp4S6nYADf+Nz8Dk/erASfghaUzDyEuZC+4HhvrQ15cx655v7cWTJ/zUMGHbYVHsC7b6k7Y/7FOx1Rb5YqXuEkQAtSY52SfwxX3fTtfTLBUNM4MxTLlJMhVL5A68IiT6B7no3PIRVlrFG16fWuCf0yQFimQKfkeUNZg==;
 s=purelymail3; d=spwhitton.name; v=1;
 bh=s7LUBeFpR6l8E8p9c+SBGcyqlgLTPI5M0bMbNny4IiE=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=MLCTJ3vtPvyfMO6fegkFOrIRy67xD6Uczs0E6S1uzfYM1i341Psz3oz2rNuAPjus2ZIXap0nQybnH8iT1rRKgiRTKO2RCGono/IkQ8uCcoOvzveCFsMb3BJtB9qfBz43s4G1wed1wVJ35Dujep9LeH4euJ+m68xsPcM/sYD3jRZQJuweOeVVm9E/DArhmhrrI1MHXQGMQhGmVXBtY4GeuXc7tWN9RMKsqubgcrxJQ1geHhsafFBxi1Qn2neudMuQ4YOf0GvdHYi7TnpCYnc/ZAGnBcIsGP/pQqN2eMWAU+aeug8n48qUL6PGNN5vj3MVGxjW1CIVLn2XxYR5bkUl/w==;
 s=purelymail3; d=purelymail.com; v=1;
 bh=s7LUBeFpR6l8E8p9c+SBGcyqlgLTPI5M0bMbNny4IiE=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 1119003421; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Fri, 09 Aug 2024 05:44:36 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id DD5CB7E7FD1; Fri,  9 Aug 2024 14:44:32 +0900 (KST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87wmkuzak2.fsf@HIDDEN> (Sean Whitton's message
 of "Tue, 06 Aug 2024 09:47:57 +0800")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <87wmkuzak2.fsf@HIDDEN>
Date: Fri, 09 Aug 2024 13:44:32 +0800
Message-ID: <87ikwal073.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

Hello Thuna,

cl-once-only-many
cl-once-only-these

?

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 6 Aug 2024 15:53:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 06 11:53:16 2024
Received: from localhost ([127.0.0.1]:32933 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sbMUu-0001ze-Cz
	for submit <at> debbugs.gnu.org; Tue, 06 Aug 2024 11:53:16 -0400
Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:10214)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <drew.adams@HIDDEN>) id 1sbMUr-0001zQ-EA
 for 72344 <at> debbugs.gnu.org; Tue, 06 Aug 2024 11:53:14 -0400
Received: from pps.filterd (m0246631.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 476ENYBT031228;
 Tue, 6 Aug 2024 15:52:48 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=
 from:to:cc:subject:date:message-id:references:in-reply-to
 :content-type:content-transfer-encoding:mime-version; s=
 corp-2023-11-20; bh=cpFbLg633xYvhWcfXF815gxfhpwj8fwQmJF/TrbVMdU=; b=
 VCzjWLPm0TPC2J8i44WyDhSccmRciDPk21hv9RZ15y3jOcosZowltIMWGR6/sBBo
 73qF6RxviI7xd2FdCA1Lv5fzemRFQGsbGlcmXzEM05wy0xpwISvXACdbCzIqx7+D
 eyNi6t4b1RHcnud6/wVFz9kuUZcIzxCZCmnr5xvRCN62meePIqS98dVMrnlCkgEs
 7SVpwFi5DeeEPADeKDpzX1c2aJRpyyhWRSd9cut0XeZjdl4T4sl3XcQdHnGUjmi+
 Pq6FHo/3+qfRuGlcWDermmsim3qTCe1gwSvZRNszBwTayUvyeZT4lUIPctj2fOu4
 YqZarlENXYho8B4WubdhRQ==
Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta01.appoci.oracle.com [130.35.100.223])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40sbb2nqk6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 06 Aug 2024 15:52:48 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 476FHfYQ027309; Tue, 6 Aug 2024 15:52:47 GMT
Received: from nam10-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 40sb0f4krf-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 06 Aug 2024 15:52:47 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rpCjQlGDP0BcSgLSQfATv+OnH9bSL0+hol/PwrXw430lJfo8IaY71qVjfVrrjIjl3sMF7OloHexAlZoOPTx7N4Vc1eEV2Q8bWdObnvapeyNjoHo4Lg7SECxg/cgSOOJQblg75CFHN65RL9V0h4774voFTEvFaBDMpRBZjcHksrv4Gj/4WWMR6KSg10hz16GpxQOdVH63qi1W+rrgtuAhGbdheBp7Fsxpeh8BwlRiR1MsNLFDvCn32xGjYLfzeFdRs4HFqUnR51kFCwtj27JMKA92E/T61zxjDZEQk547S/ucDd3WGGfSq57qZ8wGmKhzdmjiCqyyNo/9IKfG1QRDTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cpFbLg633xYvhWcfXF815gxfhpwj8fwQmJF/TrbVMdU=;
 b=of2PqUncibWaqKVf76p/nvlXOAA91fc3C0RCnUEH6KqymX6U5w6XQ8E3iI8UBsm21Tmz9DGRQ/2HhaSp7N+0bzMJRa7o+55yn71C30vNhAJmT9hpR/MKUa7ZQy6htZOSEc9ikhWFuPxobf7N7Ynrna7jhWYyTxwMqYj5/vK3nsZKqfHh1ujArL6kPYu11PXzH7i07lD7aPTYQtfgXZsB+lZgKydSac01VNXQ13NYNI4D1tCepehirRHmzt6jju1faLy1FsVjfcI4dtqafKOmwF7b6jdKe4cASencJo9+otGB1ex96Q2MicoDtviP5ZgGgqtSObJefbO6aio0q4cUDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cpFbLg633xYvhWcfXF815gxfhpwj8fwQmJF/TrbVMdU=;
 b=ci+b8Ke+rEYWjK7LjHsv9/Jcl7gfVKoUZCI/FW7hnjL5FWg4K8VHRuOXZ8soeqA9n+1EiM5oIZV4RwBZt2JSqDNyDz0TVaOmYnfabfo+qiQVuFR3OYbeSUUAPG5OMm60q8PnQeg+LpbYSyucl+fRjq52Zw8nRhpgnnk5cjMssHk=
Received: from BLAPR10MB5219.namprd10.prod.outlook.com (2603:10b6:208:321::22)
 by DS0PR10MB8104.namprd10.prod.outlook.com (2603:10b6:8:1f4::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.26; Tue, 6 Aug
 2024 15:52:44 +0000
Received: from BLAPR10MB5219.namprd10.prod.outlook.com
 ([fe80::8179:21ba:b158:7d50]) by BLAPR10MB5219.namprd10.prod.outlook.com
 ([fe80::8179:21ba:b158:7d50%4]) with mapi id 15.20.7828.023; Tue, 6 Aug 2024
 15:52:44 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>, Thuna <thuna.cing@HIDDEN>
Subject: RE: [External] : bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Topic: [External] : bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Index: AQHa56IPRw+Uqa5tOkuGvNHe0CejVrIaYafg
Date: Tue, 6 Aug 2024 15:52:44 +0000
Message-ID: <BLAPR10MB521929C48BA21DE051CD8967F3BF2@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
In-Reply-To: <871q321l7d.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BLAPR10MB5219:EE_|DS0PR10MB8104:EE_
x-ms-office365-filtering-correlation-id: be6d0df6-5f48-43dc-c67a-08dcb62fcfb0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?HLCxLp2FND/gf/frAYOEIpJkMtqXKBW9Gu4YUACrMY7W22PJkzut9fi57NZj?=
 =?us-ascii?Q?Qc6yL8S6nEkFZchE9wO9sgcsZr/AbSgT1ZzsdH5bYYbhHttKmIbcm+5xa18J?=
 =?us-ascii?Q?EdQHtxByreyepqHaVu6EIqxeXxkt+cIW8vrVFvYDiFUtnUsmPiAptIG5eRxs?=
 =?us-ascii?Q?MY3hPPqy+uGgKXpvSrhEtEcSAUbmAsQaXB4qo8iUhP/Y1l8dkrRG9KVtUVZr?=
 =?us-ascii?Q?UhvTiPZTreWTj7JZlcTDpv+rrQYE4YHXudANZQrBl4ePSKsOP/Ciwb+mtyaJ?=
 =?us-ascii?Q?VBNXszV2nUBOpCO8lVL75n4HXGfWMPdUd5JjpNrOf4YfdGEIk/VcZ1GG0hDl?=
 =?us-ascii?Q?p2BH4OMGIb3n08Bh19SqwMDq3Bfz6IU550emz8b6w8foAoRJt/gwNJ0YRPbT?=
 =?us-ascii?Q?l8FdRZNf38tqY259c5El7wYH+zFZ5ChZrQ1MRwgIW+DuK1W+rj/3GwEXvWUQ?=
 =?us-ascii?Q?ngKd9WIWcztd/UP3hVc+Q43iRj0n7yMzXQ13q6vbQDDAdoBa5qAICu+xFGL7?=
 =?us-ascii?Q?aZCtDa4cNcAnBFqAZN11E2ZTcDFF+PMHEEYqCBOiLNwgg7sFnjzMswhJNmlt?=
 =?us-ascii?Q?KHaHzxRn2xSeiH/eZdnS6+S0Ek6ZMAIttEGeKNmnrL8yaiaR0ZdGRx2PqLPW?=
 =?us-ascii?Q?FZ11RYVxMZorKX4OiNuD1hd/5tNcE0CPmnw3e60ch/aQdXCB3NtnksIasZ8H?=
 =?us-ascii?Q?71SZ6oufUqPyrRyILcfYM1+RMZJce2Uu9HoafAYvkzM78/klT8qaxjLH1q64?=
 =?us-ascii?Q?wB7HzI59khY7Qu7YnJu2JJbjsyta/52r2klyEFkc5v3eA9t2Jf1Pujp9/ir5?=
 =?us-ascii?Q?AF+YhKUhHg1Ae0RnL2lEgXz/ZGf2qfQXipLuHpTOIJt0PLUF1Yn28Oq6OSot?=
 =?us-ascii?Q?p1tcJFvMg6/Z8+yjRF5WcViG0ZdDq1mEPDCnGbwRqF2GNYO4//T8zjWnJhUU?=
 =?us-ascii?Q?QovxuRbYrFlQrLU8TmcetBAxTLVXgzyqcucqV4BFSv1ZkRayDt9lK5bk9Wtu?=
 =?us-ascii?Q?EfEHGeljVfMCnnbVUD2Jy9mnCkg13mPX86S3syjNDXK11sTfwGJhNWjvaDy8?=
 =?us-ascii?Q?7F70I4qYwBX9yRJPLPSg+bpW4I1r/iWpPAvm6DTK/DXZPPxSCQt5c8JzFLhT?=
 =?us-ascii?Q?1eFbSUtiwYAJ/MKPd9vyowp0hrH1L2U28+jFTgypyP5h/UCw4Cb9qxSwTHLY?=
 =?us-ascii?Q?RilQmRWFoZkTrAPDR+HZFn3PWsOPN3X8d7XolZ3eEEdwQYUnlBuxd46SFg5L?=
 =?us-ascii?Q?rUakI4954EAhkduyc+PA785xSZ8AXrdU0JOaBVlINB3TwhhFwcm8t+8KemTZ?=
 =?us-ascii?Q?wcLzi3cMXiy8rmfMkLxL2sW9+Pi5VfVG8PCN6ZmI7Tq/Ozleu8gh/0iNX+CW?=
 =?us-ascii?Q?IQuKGyAj5xZSFrBmQYaHRkzLaP/s1YqZ6IKIelkxL6jVdri7ww=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:BLAPR10MB5219.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?qbRJjrAAyoUOgIU5uecTTZ6wOCH/BqFiFBeUNucXtSAFV3jJdu6Kz/l29nBj?=
 =?us-ascii?Q?2iKLQp5mWm3/T7sUoYxQ0rWVvB038qsWElZ25tTZms/R9kd0QW25OUUmz/A/?=
 =?us-ascii?Q?hxved36gCHoLIWHErcCImVvKjZIgwhp018fmE6lFgEZlxuRd/gYc+8G6aB2A?=
 =?us-ascii?Q?xEOKbQC8GLphIeTxpytgf8cPEP5BnQCa8066wRYBY0w+Gq1MvgyPmcHDPhNl?=
 =?us-ascii?Q?nSis8deKwJBYkKsZ6ABbof/oau8knaLy0uad4ax8zOxDyWjA+5Ek1GNkycY2?=
 =?us-ascii?Q?BCq2urLmusS3c0sNs44+6qq04s0UGTUlJdhvP8YD4Y1H9e1Rd01bnewUADzk?=
 =?us-ascii?Q?i+LcZ+8VXDug7ZQGHlKSKNbjIdIvUF4T/JeZfzRuWKv6AahlATKHo3dfWfVf?=
 =?us-ascii?Q?ABZpOejdIzy+bAG9p+fT9f97GfBeuu3otCiP6a6ENnbuRsp4ULvS42YMEwAd?=
 =?us-ascii?Q?uu5e4eLS7u4A2ENAm6w8UH8Z0N/qofLFfWx2sEpqkAc2S+AA/Gz2tCX3YVMZ?=
 =?us-ascii?Q?WG/Qf5veSY+V/w0On7alazX3hUgffpKWlbeyeje+UgWnJ8e+3Wa3YBEXVlly?=
 =?us-ascii?Q?9MIASy8LhAfUkPn9T84Z8KGjqEoZLqjVtJdj4YBZ2FZralXnOXDnGL6RrlUm?=
 =?us-ascii?Q?0E14N08DUeZ9pxQpOxo7+Sg2F4TiHBLt0byT81yuva0ZbRXTi6mvdlbAV46d?=
 =?us-ascii?Q?UsDtRCRR96byjpL303rnpn0l8Y6vkTZLvYxp6htPq4OyS9luxpv/fGaf4bAK?=
 =?us-ascii?Q?MTKgk2zD8IYg+dfL6oKTcX17zu5leixl5wJtJvumQjKroVyLV1d4QFXVzDPq?=
 =?us-ascii?Q?GNQhrg4Vn3tFKbSxkCcU4PgM/B4vT2ojgUYpIfQkYDffjCaAloH+tRGz3tQD?=
 =?us-ascii?Q?etPp4/9Hy7MGYuJIJGpYLMCiN5rIBs4bx/Fl1njDRS9ftq7l+jUSDjaFviLb?=
 =?us-ascii?Q?43Io0AHQBdc6R3ysmhQj+F1OiiyXCRcwvgGxazcLElj6RSJaJjvIka/sfmFO?=
 =?us-ascii?Q?OHIWKWDL4z9Mply2NiPLJozjLg0yso/mXttUesJGQL14AHFktaASYaPYT3y4?=
 =?us-ascii?Q?nD+mJcEKmwsv+Y9M9JhgTKGcnaFDG2LPhAp1Ah3551juesJY2+5c3iQYBU4r?=
 =?us-ascii?Q?iAQDw+lK1vVhD9OFHuMvmuxy25Fw/jwGl/SlQp9yBv+TlJZjV1bu/Py4Lw0s?=
 =?us-ascii?Q?JcO70R/yG3UREJWDFrx/BPQAyunOnNdtiAWGel30K9vYWLccofgIK4Kefful?=
 =?us-ascii?Q?dtUvfCnIs/I4Y+hzWm4e+2QlGF48ZTnxI/tUVYx0Ilyd3ifYZapZ3w587KX1?=
 =?us-ascii?Q?JXcjuAWdz/Fw3h6enSiyG0Sm6NFHxg8ImrSIg4h+N3PNXn+00uGtQ2z64tco?=
 =?us-ascii?Q?tTzVs1NFtguLB6HErZRyAeI/Xwj+rme3HoxF90TIZD1ydf/Excf2d/8SOXIZ?=
 =?us-ascii?Q?UoVOzuduSn8PdpYHJQi4AllLhZJrLz9fIz7AklCQWpxqV0yDAmvSwAT9C/6b?=
 =?us-ascii?Q?YxrvVh2tZRhhQHMdRXQ6SsjrUxW1MdvpF0AoXLO0hP3kysH1Xk7AY20DnaLp?=
 =?us-ascii?Q?oO26Li30zoMvtuEbSs7smm7qTGS5luomBLeOzQmC?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: SzTlKLNi5nw75T/zO2QMH6F4/OhGJsZ+wSRJAJcTD+0vKIhcb/0tGbsbtEmW0sZgUQ1u7LYubupLomr1GyS0peVbm0gsGbzz6kc9GCZFVD5z5KkQOY2mbDpsxpQR6STpfIbSBBbyaZZDl+slmg+xb0iW4qpBaFWd4rvs50mpN98hdCiaznQIZNjJYqTcJTUxfh7W+blviSEH74m9dpYYD8eNKqWqEx5cXrjoqAF7g6O3ue98/qSE/4XyntPBsinWOoYraQ92POBfbR+vAHw1WfUxogCQ5pmdb1N9j714frELp+OcHuUmho+7rNGdrw80ba5EpwMAUdCDywl5aWjAil0f+ZapNl9IXK0DTuDTZKac48/SujNtmUCc65RTWBaRGCUJ1+ibEcPki2YMNMjHnkH11EbM9wOnBW5kxJFJ3PmbyQF9xDmMWeiSlDkhvKHSq0rSYTvdMEcvk9kv8WqzNj4znIYgSFdLHbL5KqE/GqbdpREUk2t3QrPWSKkdauO9YYjAYNgFKB71YayOIGJVrr+q20RTHdAlEssliQpExlg9XKud7vk4ObnbVlolKkw54KOIVLIZdLY4WkORRGCHAn8ZZLdFf3gQKWEhtxNVo8Y=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5219.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be6d0df6-5f48-43dc-c67a-08dcb62fcfb0
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Aug 2024 15:52:44.3570 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: RFO7OKAeY2VuFGD4Sv6qhCDSHPQT+IDB+uXb6gPmrPCEVYmmG21p2YNAboLMvQ89mRWOiL6iZ/FJCU4TmmxfUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB8104
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16
 definitions=2024-08-06_12,2024-08-06_01,2024-05-17_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 suspectscore=0 adultscore=0
 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 mlxlogscore=971
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000
 definitions=main-2408060111
X-Proofpoint-GUID: xEjFeaxSbGkTp6N9ZSHKw2vxohqLi1oF
X-Proofpoint-ORIG-GUID: xEjFeaxSbGkTp6N9ZSHKw2vxohqLi1oF
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 72344
Cc: "72344 <at> debbugs.gnu.org" <72344 <at> debbugs.gnu.org>
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.7 (-)

s/cl-/cl--, please.  None of the constructs
mentioned correspond to actual Common Lisp
constructs.





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

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


Received: (at 72344) by debbugs.gnu.org; 6 Aug 2024 12:38:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 06 08:38:10 2024
Received: from localhost ([127.0.0.1]:60387 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sbJS6-0003V9-FE
	for submit <at> debbugs.gnu.org; Tue, 06 Aug 2024 08:38:10 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:57764)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1sbJS4-0003Us-Dv
 for 72344 <at> debbugs.gnu.org; Tue, 06 Aug 2024 08:38:09 -0400
DKIM-Signature: a=rsa-sha256;
 b=HJX97oNcGYykTCKdynQpNDdRWcAbCUcefeganN99GclcRzH28zHrJW12GOUe8qQLHdqrZmR9RW/fL1oramEY2nCLrlG2oRWpMmrS6h+V9Rc7dc+ZcYLs4XNXswPFcUzL9Datbj8GnLqIjajmiMfOVfqjnnbQ9Y9MsuxyJcM3lDWMQtr118+u0IP7/HsD+MiWPkOjzQ7fxmkczfYFPBxp/sC178Nqo3xTbOFv6sC3PadNNyxH9bpFs+Z7P4Ux8/72P4SOmVh0wsck2DDF47G3zosAd8GUP4jiU4g0K9nRw9x88u3UkWzvOVDsD+ITyAFARo8jA0mTuIwztz0gn1aFqA==;
 s=purelymail3; d=spwhitton.name; v=1;
 bh=oz2tIZ7KGHmxV/jx0tHf93sKqKxooUE9VoGAUwpEzBU=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=dPfJRr72EGjtPjQeViRtj2R9bu8Um/qe/Z2XrgsTGc4KJaYKxtVY+EJQUFuB6Uqs20uCt+1Td/+asLCCom1CK4xbtZjYp85LjQeQ7qQzMiytStvVa39LeA5Y675+mq+KJJUvUGyxkDBkgYY6Ux/5PvL3CkUnyOPnkkePeQliiFKhV1F7sqv+bSpRksl2l0YgewGT/xkwtrXM83nVIuuM3g28dXQYLrKSvVqBf+eCj+n154CbMNOBWJtBKbSN4K1grNDkc9QTeMK9L+L7d+8h3jlkFvLdMI6PMrQgq1q6XfR5mWOaGFrBQfO15BM2APi6gPUfCcGpbx+Jog51erJp1A==;
 s=purelymail3; d=purelymail.com; v=1;
 bh=oz2tIZ7KGHmxV/jx0tHf93sKqKxooUE9VoGAUwpEzBU=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 195583735; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 06 Aug 2024 12:37:32 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 2B1537E77B3; Tue,  6 Aug 2024 21:37:30 +0900 (KST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <874j7xzvgx.fsf@HIDDEN> (Thuna's message of "Tue, 06 Aug 2024
 14:28:30 +0200")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
 <874j7xzvgx.fsf@HIDDEN>
Date: Tue, 06 Aug 2024 20:37:30 +0800
Message-ID: <87r0b1su7p.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

Hello,

On Tue 06 Aug 2024 at 02:28pm +02, Thuna wrote:

> If `cl-once-only-multiple' is fine by you then I would prefer that over
> `cl-once-only-rest' and `cl-once-only-mult'.  It would help to get more
> suggestions, but I don't think anyone else will be chiming in at this
> point.

It's just really long :)

Let's give ourselves time to think of something shorter.

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 6 Aug 2024 12:30:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 06 08:30:05 2024
Received: from localhost ([127.0.0.1]:60380 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sbJKH-0003Eh-FZ
	for submit <at> debbugs.gnu.org; Tue, 06 Aug 2024 08:30:05 -0400
Received: from mail-wr1-f43.google.com ([209.85.221.43]:54709)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1sbJKF-0003Dn-6E
 for 72344 <at> debbugs.gnu.org; Tue, 06 Aug 2024 08:30:04 -0400
Received: by mail-wr1-f43.google.com with SMTP id
 ffacd0b85a97d-3683178b226so304717f8f.1
 for <72344 <at> debbugs.gnu.org>; Tue, 06 Aug 2024 05:29:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1722947313; x=1723552113; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=bqPIQ6+voRJZuqqo0Ns73MvjYOhaSe1Ao3X109B7hKs=;
 b=S5Eg+fWyPznMGWZ95obido2FyhcDdZi9eUf4C2pLRTptu/uNlwcyseRa//Mtyc2Dwp
 Pc7TtiOmOM7DMNnrEpKZCeXkkP6ImyeoUbOKwB0vaNUuqE9dbnGDe1I1cQGoBCTG1AWo
 gHSOVxSH+ZG64BG3e6kCci+1kuJrdhOJR3C5MfyA4G8oqmA7SAbjAh5SQxLJ+oCUKESW
 G9TlzLS19jtv22JeHYzgO1yCu6JUxn6QZeHQjpBOOrgN6T6MIglNOJdFn1EjjAK5BFNh
 DWlbLt0kh0k0zwObA2EzPjrTfp67/6Sj14KMJ0UYTxAog2y7hXxKyFm16b/njklylESN
 Hujg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1722947313; x=1723552113;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=bqPIQ6+voRJZuqqo0Ns73MvjYOhaSe1Ao3X109B7hKs=;
 b=XpO2UqDsGt2P+J2G82RGyD3nZPK7uPVaTB4iDqpHfnRYGFAFHKmKo5Nk8t9d+a1TDi
 1utDCp1+ws0jmwpTQFvhkdQkNE/g1S27vPyQpJxtoo3mtipdGaPTZ1z3jJ0MiJBmdGsL
 F3LQkO0KieiGeHUes2vFG7qF5peRObMYVoxpcVKy+HFVQ6lLvftB8XbgkuNTip/NoivT
 iYgv4KZ91kZ66UHPu1qaKljAORBlruWS33tHxw6pWdY9+XFDZqXLwJfLGg7GhWP+Wk8P
 8lNHu+X5r+2kTOYziJLXLHlHeiRHNqdxKLERyMo4fJUIWqA8Klee5/t5QaYX/OMIYwop
 6aNQ==
X-Gm-Message-State: AOJu0YzuONgHpbl2MopqQQeAuimx/3fEPiPzYqcRbd+nUC7rRNdRcMAd
 Lcvtypjn069yxgjp2SH6DflJlt+WhNOGf/6Gvw9LvQyk3IYEKOMMduRQ1A==
X-Google-Smtp-Source: AGHT+IEvz0cXeJilwebh3Hgx4jpZC+cK6qo9v2vcFk4aKr7JdydDvRcNVvVZdt3JYKseMR3tWgHbcw==
X-Received: by 2002:adf:e98a:0:b0:368:4d33:9aac with SMTP id
 ffacd0b85a97d-36bbc0fc757mr8456282f8f.31.1722947312804; 
 Tue, 06 Aug 2024 05:28:32 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-36bbd02a451sm13038952f8f.63.2024.08.06.05.28.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Aug 2024 05:28:32 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <871q321l7d.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN> <871q35mdrd.fsf@HIDDEN>
 <871q321l7d.fsf@HIDDEN>
Date: Tue, 06 Aug 2024 14:28:30 +0200
Message-ID: <874j7xzvgx.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

> Looks good.  I wonder if it might be easier to read if you could somehow
> extend the example I used for cl-once-only ?

I'll look into it, though the whole thing really needs a do-over, and I
am not sure if I am the right person for that.  I'll whip up another
draft in a day or so and we can see how that looks.

>> (Do we want a NEWS entry also?)
>
> Yes, probably appropriate.

What about something like this?

  +++
  *** New macro `cl-once-only*'.
  This macro is a version of `cl-once-only' which takes a list of forms.
  This can be used when there are an arbitrary number of arguments which
  need to be evaluated exactly once.

Also, I put it under "Lisp Changes in Emacs" but is that right?

>>> cl-seq-once-only ?
>>
>> How about `cl-once-only-multiple'?  The name should probably be of the
>> form `cl-once-only<something>', rather than `cl-<something>-once-only' I
>> think.
>
> There are already several cl-multiple-... so maybe cl-once-only-mult ?
> cl-once-only-multiple is fine with me, though.
>
> cl-once-only-rest, as a reference to &rest ?

If `cl-once-only-multiple' is fine by you then I would prefer that over
`cl-once-only-rest' and `cl-once-only-mult'.  It would help to get more
suggestions, but I don't think anyone else will be chiming in at this
point.




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

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


Received: (at 72344) by debbugs.gnu.org; 6 Aug 2024 01:48:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 05 21:48:35 2024
Received: from localhost ([127.0.0.1]:59624 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sb9JT-0006NR-JL
	for submit <at> debbugs.gnu.org; Mon, 05 Aug 2024 21:48:35 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:58486)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1sb9JQ-0006NB-SV
 for 72344 <at> debbugs.gnu.org; Mon, 05 Aug 2024 21:48:33 -0400
DKIM-Signature: a=rsa-sha256;
 b=JW4GLHJns66jV0fqUUCPuRnMJ/h9xqz/jyjiawcVXZNVeWHgX5VL9pVNSrOgYCGm1qa49nVOW5PdiExuwJ7kLIdKuyGXZC3v9Noqqr4HWUYb/Ow/+WBF51vaVpvqn5KBq/qQ4ajQtlB+IPFTD8ZIWF79s0a51OdfWOhvPrCHeEJyaiUQFh5OCNlQqoaRsfVUEPJtw60TPoqhCjG9Gl8K0wJX2Gbbl3HobW/gNsAxaK561+t1SEoV9EpRn9ctsuW7RHCbPx0ggP2MoaRjHSiFjPSsKDQOtH5lqd4ZyRftxz4/k0VZNvFBsizXwBQT5lqTFnd0XEn+79Jzarak0nHG1w==;
 s=purelymail3; d=spwhitton.name; v=1;
 bh=CbVpVqZqvPWsvWkS0j+6UMoEpaU7X9eUFTBnx/HTe64=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=WLSzsVRDhh3xe8iLFnggEWcgXLJvltzGGbJvAVZyWneE6Gydhs1OveAJwlAhL7bpI0E+bO9CSMmjQT0DVWw8vhdEsZ1Ydam3kNten7zjyRB5QJtGusUzXzPo5m0mR59viyzB/ImEV90iD6HplSbyiBvMwa0l6/yy1uRQJoLPuCJ9g6AUOVx+94JmzyVZYunWBho9aat8UUFvxC4r0luQXBfwMVDdRSlsHQbhaDj3PaECNuLLcHIVG9YEOod0fmx2r6wJhRGpFC092/3xSMVeAYQB8j3toXIQbW2qf291D9Qfa1nwienKkFjnOjS19PsMPhhRC9l0dYEKFLjNzcC9ww==;
 s=purelymail3; d=purelymail.com; v=1;
 bh=CbVpVqZqvPWsvWkS0j+6UMoEpaU7X9eUFTBnx/HTe64=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 1467900547; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 06 Aug 2024 01:48:01 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 8BC517E5B96; Tue,  6 Aug 2024 10:47:57 +0900 (KST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <871q321l7d.fsf@HIDDEN> (Sean Whitton's message
 of "Tue, 06 Aug 2024 09:41:58 +0800")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN> <871q321l7d.fsf@HIDDEN>
Date: Tue, 06 Aug 2024 09:47:57 +0800
Message-ID: <87wmkuzak2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

Hello,

On Tue 06 Aug 2024 at 09:41am +08, Sean Whitton wrote:

> There are already several cl-multiple-... so maybe cl-once-only-mult ?
> cl-once-only-multiple is fine with me, though.

cl-once-only-rest, as a reference to &rest ?

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 6 Aug 2024 01:42:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 05 21:42:36 2024
Received: from localhost ([127.0.0.1]:59618 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sb9Df-0006Ae-NV
	for submit <at> debbugs.gnu.org; Mon, 05 Aug 2024 21:42:36 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:57696)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1sb9Dd-0006AM-8M
 for 72344 <at> debbugs.gnu.org; Mon, 05 Aug 2024 21:42:34 -0400
DKIM-Signature: a=rsa-sha256;
 b=D1APaRvg/F/tYVI4ijlW1Igh7WTJmzMCh8uusE103czSwA6z8eA4f8T+64IasuF0H5RSJZefk0C81eCzTNRMt1H8lNwqCRqYsxJEGJuS/1B0hiTEBcWGDvxfaDHYhTra5y/vT1h0h90jQ9V5Eypc+b4kJcV6KVHmwuJQP6FRtMKvwmOdQmYk6QB1lP6C2iIPi4BPxWXouYdUVWnG0PoufQueNxm6HixJhN1gq0zVRlLLvjMMj8QdEkoHu8qST4pi4aiabAn66tMFk1LZHrQyZS+K8mXhqg57TEhNGkFEe30bjyOORBo8IL/Lr1A/kBOrqTsMclBuzjP4FisU1w7xWg==;
 s=purelymail3; d=spwhitton.name; v=1;
 bh=FSiWdToayv4nDtg+i7rHv5SWyF4aYOkMWwe5ptOhVgQ=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=LmOg827TptGDN9ePlxfAPkR/5UvvsnjTWElnnhdHhKkplAI0uEpP6k4hiToaYF2TFv4t6penC7t3YC36/xSwfNWV/FYlvjA7Y+3WbkPG8b8RABZ2SpyxZItWnL/89MKos8dtIlM5tPyccdzCYIpU3FPcFiYZziiFLIAm2WtjM47WmUQIf/DLnFwi93zFYYYDovBjt87B9BuXkCQe5oT+CZzLf/i+6XlN4W48jgqpkpW1r5Wg9T5OwUgg5Ig12IUt+tdNr6fvc5/Me27QRlI8v3nUiRh0aO0GhesJG65I+UTwEu6UjDFPvsc8AWvsOG7SPYiV3Mp6Z9VrmpCwZ4Ei7g==;
 s=purelymail3; d=purelymail.com; v=1;
 bh=FSiWdToayv4nDtg+i7rHv5SWyF4aYOkMWwe5ptOhVgQ=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id -1554353320; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Tue, 06 Aug 2024 01:42:01 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 24BF67E4C3F; Tue,  6 Aug 2024 10:41:58 +0900 (KST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <871q35mdrd.fsf@HIDDEN> (Thuna's message of "Sun, 04 Aug 2024
 00:40:22 +0200")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN> <87ikwi5neo.fsf@HIDDEN>
 <871q35mdrd.fsf@HIDDEN>
Date: Tue, 06 Aug 2024 09:41:58 +0800
Message-ID: <871q321l7d.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

Hello,

On Sun 04 Aug 2024 at 12:40am +02, Thuna wrote:

> I've written a draft for what it could look like.  It needs proofreading
> and editing, but it should be a fine-ish place to start from at least.
> It uses `cl-once-only*' as the name of the macro but that's just a
> placeholder for now.

Looks good.  I wonder if it might be easier to read if you could somehow
extend the example I used for cl-once-only ?

> (Do we want a NEWS entry also?)

Yes, probably appropriate.

> I've also made it so that the first argument can either be of the form
> (VARIABLE FORMS) or VARIABLE - how it worked before - which stands for
> (VARIABLE VARIABLE), so as to keep parity with `cl-once-only'.

Nice.

>> I think we should reserve the starred name for now.  As you said, your
>> macro doesn't come up often, and we might later come up with a variant
>> of cl-once-only that we want to use very often.
>
> I see that point, and it is completely fair.  I have no problem
> conceding the starred name.

Cool.

>> cl-seq-once-only ?
>
> How about `cl-once-only-multiple'?  The name should probably be of the
> form `cl-once-only<something>', rather than `cl-<something>-once-only' I
> think.

There are already several cl-multiple-... so maybe cl-once-only-mult ?
cl-once-only-multiple is fine with me, though.

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 3 Aug 2024 22:41:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 03 18:41:54 2024
Received: from localhost ([127.0.0.1]:54923 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1saNRi-0003Fx-2z
	for submit <at> debbugs.gnu.org; Sat, 03 Aug 2024 18:41:54 -0400
Received: from mail-wm1-f51.google.com ([209.85.128.51]:56745)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1saNRg-0003FZ-Oq
 for 72344 <at> debbugs.gnu.org; Sat, 03 Aug 2024 18:41:53 -0400
Received: by mail-wm1-f51.google.com with SMTP id
 5b1f17b1804b1-4281c164408so55990015e9.1
 for <72344 <at> debbugs.gnu.org>; Sat, 03 Aug 2024 15:41:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1722724826; x=1723329626; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=5cQFhVV2qGc/Gj69EmlfFgi1sxacw89egnsjAo4mUcs=;
 b=lojifw5YUSaCZBbx85ujm+C1MwJdsZUnu2dTBrGd9fQ1lYtMX+/yh9ivIdbo9/WcQ9
 cFOwX8WWVs2JBkvbPz0hmqblBgbDCZDoWL0sskmMXHq1YowMCy2oVFgY063aNryZZIIy
 xA1Vv/j0QTUrpbI/GK2tPWWxjpI2a/TRkfJwwXLO7M34XAs0H2YpmAsqsgNvZL9npXPT
 hfNb9TIwSNIc33EorKDuPP3Ol5xSK75GRkIWGLkwgvqYQSg0jrY9BgXBLtzELzW2x6zx
 2QXumru2+/BeTZ9N7berMWszX2Vm1MvpaOkcMsN60bztUZzGlWEMAavAIUg/Y2PALsQQ
 BLUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1722724826; x=1723329626;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=5cQFhVV2qGc/Gj69EmlfFgi1sxacw89egnsjAo4mUcs=;
 b=Oi4rJbS5F0mWf/otwyYmFEdDdnwUxIlxhCuffZLgRs6M+ES7yKiS68KfLWDiax2yA9
 vluE3Iqftmq9mmEa4sKRos7NpS2D0lLSB2mAEWUPbb+jKgpaU1y6uG5zqpEopeO91r/Q
 SAbf+WVReXyGqvmuwx1wjkzM0Xc+fXZoxCNRDt4ml2tnrC/YK0JzI0Xwufsl6OP9e4sl
 VwyC4zs4V4nQ8bZULWcIUjcHHvfKoqdrhIlUt9O9DVr/iNrmhOcVtloZzMIiPQWN9iV7
 pR5imVAY8KV2T4GaK+/d61HeqrfiURmskd7sN7i4BT3STElJzOOFUxHPAIf3q+3EKt0Z
 0oZg==
X-Gm-Message-State: AOJu0YyfxmQLAJakAwdlbN2FODcYerwEI3rRMd3MyN5EHEc5viN9/k4D
 Ls7RVQuSJABqPXK+eMf0bE0LcWlriUhdjXvHr5tDwq6mAkSvUivKpRpe9e2r
X-Google-Smtp-Source: AGHT+IEHQIYckJbCeb08dN3csfd1IbqOaJTpwrOCEGRDcNIcZ9oYzJ4EqZdqcv+7ToNwf/jd+60fVg==
X-Received: by 2002:a05:600c:a47:b0:427:fa39:b0a1 with SMTP id
 5b1f17b1804b1-428e6b930e9mr43873935e9.36.1722724825701; 
 Sat, 03 Aug 2024 15:40:25 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4282b8adc7dsm139915085e9.14.2024.08.03.15.40.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 03 Aug 2024 15:40:25 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87ikwi5neo.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <8734nsk72i.fsf@HIDDEN> <87plqw0y9j.fsf@HIDDEN>
 <87ikwi5neo.fsf@HIDDEN>
Date: Sun, 04 Aug 2024 00:40:22 +0200
Message-ID: <871q35mdrd.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

--=-=-=
Content-Type: text/plain

> Thanks.  If you have indeed been coming across this in practice, then it
> seems worth adding a macro like this.
>
> Btw, I think we would want to see an update to cl.texi along with your
> change.

I've written a draft for what it could look like.  It needs proofreading
and editing, but it should be a fine-ish place to start from at least.
It uses `cl-once-only*' as the name of the macro but that's just a
placeholder for now.  (Do we want a NEWS entry also?)

I've also made it so that the first argument can either be of the form
(VARIABLE FORMS) or VARIABLE - how it worked before - which stands for
(VARIABLE VARIABLE), so as to keep parity with `cl-once-only'.

I've attached the change to cl.texi and the full implementation of
`cl-once-only*' as a single patch.

>> I don't necessarily think that that name is bad but it doesn't quite get
>> to the heart of the macro either.
>>
>> The macro is meant to be a `cl-once-only' which works on a list of
>> forms, and I feel that the "of forms" part is more important than the
>> "list" part, which is conceptually more likely to take on a meaning of
>> some ambiguous "collection" rather than a chain of cons cells.
>
> I think we should reserve the starred name for now.  As you said, your
> macro doesn't come up often, and we might later come up with a variant
> of cl-once-only that we want to use very often.

I see that point, and it is completely fair.  I have no problem
conceding the starred name.

> cl-seq-once-only ?

How about `cl-once-only-multiple'?  The name should probably be of the
form `cl-once-only<something>', rather than `cl-<something>-once-only' I
think.


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Add-a-version-of-cl-once-only-which-works-on-a-list-.patch

From 18f72562f888d0abe56601544b23358429b7afcd Mon Sep 17 00:00:00 2001
From: Thuna <thuna.cing@HIDDEN>
Date: Sun, 4 Aug 2024 00:30:44 +0200
Subject: [PATCH] Add a version of cl-once-only which works on a list of forms

---
 doc/misc/cl.texi           | 49 +++++++++++++++++++++++++++++++++++++-
 lisp/emacs-lisp/cl-macs.el | 48 +++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+), 1 deletion(-)

diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 113029700ec..57e2f3a6c3b 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -999,7 +999,7 @@ Control Structure
 * Iteration::              @code{cl-do}, @code{cl-dotimes}, @code{cl-dolist}, @code{cl-do-symbols}.
 * Loop Facility::          The Common Lisp @code{loop} macro.
 * Multiple Values::        @code{cl-values}, @code{cl-multiple-value-bind}, etc.
-* Macro-Writing Macros::   @code{cl-with-gensyms}, @code{cl-once-only}.
+* Macro-Writing Macros::   @code{cl-with-gensyms}, @code{cl-once-only}, @code{cl-once-only*}.
 @end menu
 
 @node Assignment
@@ -2683,6 +2683,53 @@ Macro-Writing Macros
 @end example
 @end defmac
 
+@defmac cl-once-only* (variable forms) body
+This macro is a version of @code{cl-once-only} which takes a list of
+forms.  This macro is primarily meant to be used where the number of
+forms is unknown and thus @code{cl-once-only} cannot work, such as those
+obtained by a @code{&body} argument.
+
+Each element of @var{variable} may be used to refer to the result of
+evaluating the corresponding form in @var{forms} within @var{body}.
+@code{cl-once-only*} binds @var{variable} to a list of fresh uninterned
+symbols.  @code{cl-once-only*} furthermore wraps the final expansion
+such that each form is evaluated in order and its result is bound to the
+corresponding symbol.
+
+Like @code{cl-once-only}, the first argument can be a symbol
+@var{variable}, which is equivalent to writing @code{(variable
+variable)}.
+
+Consider the following macro:
+
+@example
+(defmacro my-list (head &rest args)
+  (cl-once-only ((args `(list ,@@args))
+    `(list (apply #',head ,args)
+           ,args
+           (nth 1 ,args))))
+@end example
+
+This macro is such that it will evaluate @var{args} only once, however
+that @var{args} was a list is lost once we are in @code{cl-once-only}.
+Furthermore, to access any specific element of @var{args} we must obtain
+the element during evaluation via @code{(nth N ,args)}.
+
+Consider the alternative using @code{cl-once-only*}:
+
+@example
+(defmacro my-list (head &rest args)
+  (cl-once-only* args
+    `(list (,head ,@@args)
+           (list ,@@args)
+           ,(nth 1 args))))
+@end example
+
+which preserves the fact that @var{args} is a list and allows immediate
+access to individual arguments by simply choosing the corresponding
+element in @var{args}.
+@end defmac
+
 @node Macros
 @chapter Macros
 
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 2e501005bf7..adb9cb29104 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2544,6 +2544,54 @@ cl-once-only
                           collect `(,(car name) ,gensym))
              ,@body)))))
 
+(defmacro cl-once-only* (listvar &rest body)
+  "Generate code to evaluate the list of FORMS just once in BODY.
+
+This is a macro to be used while defining other macros.  FORMS is
+evaluated once during macroexpansion to obtain the list of forms.  In
+the fully expanded code those forms will be evaluated once before BODY
+and their results will be bound to fresh uninterned variables, one for
+each form.
+
+Within the macro VARIABLE is a list of these symbols in order, such that
+each form in FORMS can be accessed by using the corresponding element in
+VARIABLE.
+
+The common case of `(cl-once-only* (VARIABLE VARIABLE) ...)' can be
+written shortly as `(cl-once-only* VARIABLE ...)'.
+
+For example, the following macro:
+
+  (defmacro my-list (head &rest args)
+    (cl-once-only* args
+      \\=`(list (,head ,@args) ,@args)))
+
+when called like
+
+  (let ((x \\='(1 5 4)))
+    (my-list + (pop x) (1+ (pop x)) (1- (pop x))))
+
+will expand into
+
+  (let ((x \\='(1 5 4)))
+    (let* ((arg1 (pop x)) (arg2 (1+ (pop x))) (arg3 (1- (pop x))))
+      (list (+ arg1 arg2 arg3) arg1 arg2 arg3)))
+
+and the arguments will be evaluated only once and in order.
+
+\(fn (VARIABLE FORMS) &body BODY)"
+  (declare (debug ([&or symbolp (symbolp form)] body)) (indent 1))
+  (let* ((variable (if (symbolp listvar) listvar (nth 0 listvar)))
+         (forms    (if (symbolp listvar) listvar (nth 1 listvar)))
+         (results* (gensym (symbol-name variable))))
+    (cl-once-only (forms)
+      `(let ((,results*
+              (cl-loop for i from 1 to (length ,forms) collect
+                       (make-symbol (format "%s$%d" ',(symbol-name variable) i)))))
+         `(let* ,(cl-mapcar #'list ,results* ,forms)
+            ,(let ((,variable ,results*))
+               ,@body))))))
+
 ;;; Multiple values.
 
 ;;;###autoload
-- 
2.44.2


--=-=-=--




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

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


Received: (at 72344) by debbugs.gnu.org; 3 Aug 2024 02:52:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Aug 02 22:52:21 2024
Received: from localhost ([127.0.0.1]:53935 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sa4sX-0005FL-AH
	for submit <at> debbugs.gnu.org; Fri, 02 Aug 2024 22:52:21 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:60428)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1sa4sU-0005F3-9A
 for 72344 <at> debbugs.gnu.org; Fri, 02 Aug 2024 22:52:19 -0400
DKIM-Signature: a=rsa-sha256;
 b=dFVs3kAgsB19uxdw/PMmIdhlnK0MpfRfCn99itFEr56yCLD5fxEQHyE/W7bJYmYTyoIwXhkTEx5BsW3VdhlucKuaYLzfOjEMGeeu/Mp0M7AqBXK7jWnJcGBTldRpbfQE6UECx8nQtzJ70w9pxMOIByxdRT6oyfMDO0IfnG/6Cxvo1tnagKHJMmLFG1SxikV5E6DqZqYg5QphmVBf007KELibwqemWmabdf9043ePi1OyZYooF5tyvrRlzx390FQBCjhtuY8XAf6o4C9Xlnfm/JCzSyA11LlGWJDYVCyTNRwsDUMgOx6cGWTi038RF4n/7ybRU1tTvDiFHFn94nokLA==;
 s=purelymail2; d=spwhitton.name; v=1;
 bh=MtDYlEbh6oBWphvajBjPaQvWjJ2l09E06fkoxypJ6Fk=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=oo4UKODeJbAUoK7gc4ixXpwyj6aOSQ02mxjPi0N2I0QYclQA7XHvfA0/07dZlctKy+V7dMKyD2xvHHcSyxmwi3SI2RYfsOlO06N09e12tkD/n08FATXJNEIhsE7YuRmb6RyjOVN7HFu7RPthEFp2ME3njjgoVXUYeEx1njoI7e9/D+InI4YDN5X6Ub0oELzbPwP4D8Kb3H6gUNh0wPSNkh4sPalaZOGjJEgHNDNRX1y0AK+omiwVt9MjCmzsdRB7YTBGOakk0iwF+p/FWU/Xbr6eL8v0tYrRfqxjyOdcUxuo3MpWy5CzjbpIziaNjulQWKQA567xzjRppg9klgLldA==;
 s=purelymail2; d=purelymail.com; v=1;
 bh=MtDYlEbh6oBWphvajBjPaQvWjJ2l09E06fkoxypJ6Fk=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 797358454; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Sat, 03 Aug 2024 02:51:46 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 32F767E0CF5; Sat,  3 Aug 2024 11:51:43 +0900 (KST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87plqw0y9j.fsf@HIDDEN> (Thuna's message of "Mon, 29 Jul 2024
 21:54:48 +0200")
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
 <87plqw0y9j.fsf@HIDDEN>
Date: Sat, 03 Aug 2024 10:51:43 +0800
Message-ID: <87ikwi5neo.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

Hello,

On Mon 29 Jul 2024 at 09:54pm +02, Thuna wrote:

> `cl-once-only*' is meant to work in situations where `cl-once-only' does
> not, namely a situation where you do not know the number of forms to be
> evaluated.
>
> While such a situation *could* exist without, the cases which benefit
> from `cl-once-only*' are overwhelmingly likely to be of the
>
>   (defmacro _ (control &rest args)
>     `(progn
>        (do-something-with-control ,@args)
>        (foo ,@args)))
>
> variety.  The problem here is that the forms in ARGS will be evaluated
> twice while we only want it to happen once.  An alternative way to
> achieve this would be to do
>
>   (defmacro _ (control &rest args)
>     (cl-with-gensyms (argslist)
>       `(let ((,argslist (list ,@args)))
>          ...)))
>
> and either let-bind ARGS to ARGSLIST or only refer to ARGSLIST within
> the body, keeping in mind that ARGSLIST is only a symbol during
> macroexpansion and that in order to refer to individual arguments you
> need to do (nth N ,ARGSLIST) such that the expanded code itself finds
> the relevant argument among all the ones.
>
> With `cl-once-only*', ARGSLIST (or rather ARGS) is not a symbol but a
> list of symbols so to refer to the individual argument you do ,(nth N
> ARGS) and you can simply wrap your macro which worked (sans the double
> evaluating) without the `cl-once-only*' and it should simply* work out of
> the box.

Thanks.  If you have indeed been coming across this in practice, then it
seems worth adding a macro like this.

Btw, I think we would want to see an update to cl.texi along with your
change.

> I don't necessarily think that that name is bad but it doesn't quite get
> to the heart of the macro either.
>
> The macro is meant to be a `cl-once-only' which works on a list of
> forms, and I feel that the "of forms" part is more important than the
> "list" part, which is conceptually more likely to take on a meaning of
> some ambiguous "collection" rather than a chain of cons cells.

I think we should reserve the starred name for now.  As you said, your
macro doesn't come up often, and we might later come up with a variant
of cl-once-only that we want to use very often.

cl-seq-once-only ?

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 29 Jul 2024 19:56:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jul 29 15:56:08 2024
Received: from localhost ([127.0.0.1]:46397 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sYWTX-0005Mi-VZ
	for submit <at> debbugs.gnu.org; Mon, 29 Jul 2024 15:56:08 -0400
Received: from mail-ed1-f41.google.com ([209.85.208.41]:60742)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1sYWTV-0005Ma-J6
 for 72344 <at> debbugs.gnu.org; Mon, 29 Jul 2024 15:56:06 -0400
Received: by mail-ed1-f41.google.com with SMTP id
 4fb4d7f45d1cf-5a20de39cfbso5658640a12.1
 for <72344 <at> debbugs.gnu.org>; Mon, 29 Jul 2024 12:55:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1722282890; x=1722887690; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=h1NwwleAFh4TMlDPLRwIeIvPbx9cSlD6NtrcThHCFd8=;
 b=QXYV+Vgfw/qG6DNHTLpJn5nUEkal8E/zYDlnckfukQefi64sThfyd1+WgGzcHjtvT3
 Wz6GUmfSj/blszoplVOFGTN5ANQEGEHUaJKWU1lOCyWh3cmgTtH17MjM1yOluk10gvtw
 gA1vNg4zrchbuUTWBI8ZA0AwNcOu+dO8k21oGSgVpMZbVS89MQ47z38DHnfhHNAIo9BW
 OS4tX3myWeWw/6XKZMsfu00aWKUbl+JdgvfzZ9g/SJyl+yWwiZhtNRZ07Vt/Ynmq61Wi
 lsCZmb23DIPiWM+DVUzil42wwd3bbsoA5zdLHEN5lnQQvB5rIxSSqFI8SHp01qC5B/lF
 7tIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1722282890; x=1722887690;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=h1NwwleAFh4TMlDPLRwIeIvPbx9cSlD6NtrcThHCFd8=;
 b=RcX0eti/S9kDaFJwTzdyiNqSUgDS3tOUYMEI3QHE+D+Kh5xiMr3ECq8yxthNOcWthA
 cJ4jBVbb8C5lyBAhOYInNleeIn0dHJw65w3xvhrcAIqdzuyoT5pIX+aPqb17/0Hht/V4
 EcCQRZy3KEXoxBS0k6sdNHb/m3YPQGDDqitqF7gRVxWqDvMGYVW3hzeOsCEMhbihTsLS
 LVb4bFdUt2Yo7UtZqaeh6gO5FpaQkJwWvrxvE5Ey2J4C1OBv4UFoGEZXDvo0Ka0JvI/R
 J9uVo90TnFbyuLtkgdaxSrL24RQde06R8wodEoSDFCHF3/JJIDyv6w5P6EyYsJnD3n3H
 eS+g==
X-Gm-Message-State: AOJu0Ywe8IOHQBT9rplH35GK5sd+l3G9Y1UKTxQMrZ5OlA5EAoSBaKsu
 KDSlOmmy58TAK70i7r37q5SMpP0uBNlhcMlTGYSs3QvkX9+xGdUHpo9aVHV47vI=
X-Google-Smtp-Source: AGHT+IFq62WVJ3BU51iRvSRrVqTHocFw24vfpNeX5/g7DxYqs49FJUpu62RckK86kX3EfegYKfQvDw==
X-Received: by 2002:a17:907:c50a:b0:a77:a630:cf89 with SMTP id
 a640c23a62f3a-a7d3fa3c67cmr608597066b.0.1722282889954; 
 Mon, 29 Jul 2024 12:54:49 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a7acad41b30sm545000866b.111.2024.07.29.12.54.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Jul 2024 12:54:49 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Sean Whitton <spwhitton@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <8734nsk72i.fsf@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN> <8734nsk72i.fsf@HIDDEN>
Date: Mon, 29 Jul 2024 21:54:48 +0200
Message-ID: <87plqw0y9j.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)


> To be honest, cl-once-only* seems quite esoteric.  Could you perhaps
> show me a direct comparison between some cl-once-only code and how it is
> made more readable by cl-once-only*?  That seems to me to be the key
> criteria.

`cl-once-only*' is meant to work in situations where `cl-once-only' does
not, namely a situation where you do not know the number of forms to be
evaluated.

While such a situation *could* exist without, the cases which benefit
from `cl-once-only*' are overwhelmingly likely to be of the

  (defmacro _ (control &rest args)
    `(progn
       (do-something-with-control ,@args)
       (foo ,@args)))

variety.  The problem here is that the forms in ARGS will be evaluated
twice while we only want it to happen once.  An alternative way to
achieve this would be to do

  (defmacro _ (control &rest args)
    (cl-with-gensyms (argslist)
      `(let ((,argslist (list ,@args)))
         ...)))

and either let-bind ARGS to ARGSLIST or only refer to ARGSLIST within
the body, keeping in mind that ARGSLIST is only a symbol during
macroexpansion and that in order to refer to individual arguments you
need to do (nth N ,ARGSLIST) such that the expanded code itself finds
the relevant argument among all the ones.

With `cl-once-only*', ARGSLIST (or rather ARGS) is not a symbol but a
list of symbols so to refer to the individual argument you do ,(nth N
ARGS) and you can simply wrap your macro which worked (sans the double
evaluating) without the `cl-once-only*' and it should simply* work out of
the box.

(* There is a problem with, say, checking `macroexp-const-p' on the
given arguments, but that is not something that is too difficult to
correct, within reason, and `cl-once-only' doesn't do it either so I
don't think it matters too much.)

> Also, I wonder if a name like cl-list-once-only would be better.

I don't necessarily think that that name is bad but it doesn't quite get
to the heart of the macro either.

The macro is meant to be a `cl-once-only' which works on a list of
forms, and I feel that the "of forms" part is more important than the
"list" part, which is conceptually more likely to take on a meaning of
some ambiguous "collection" rather than a chain of cons cells.




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

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


Received: (at 72344) by debbugs.gnu.org; 29 Jul 2024 19:54:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jul 29 15:54:39 2024
Received: from localhost ([127.0.0.1]:46393 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sYWS7-0005KE-E0
	for submit <at> debbugs.gnu.org; Mon, 29 Jul 2024 15:54:39 -0400
Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:20890)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <drew.adams@HIDDEN>) id 1sYWS4-0005K4-Gw
 for 72344 <at> debbugs.gnu.org; Mon, 29 Jul 2024 15:54:38 -0400
Received: from pps.filterd (m0246629.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46TJHEpi027905;
 Mon, 29 Jul 2024 19:54:22 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=
 from:to:cc:subject:date:message-id:references:in-reply-to
 :content-type:content-transfer-encoding:mime-version; s=
 corp-2023-11-20; bh=yR+NHzHl4ezuRla/OD4rJwQGgxW5sf2ckOZSBdjeKbI=; b=
 L/HdiBAyH7JVoLYO+IqH5Mzt5H2rK7M6OVw6UW1yu3m76K87+3+ejTF9DdLsOF11
 WP8fXaOLEk7XJ3ZOETkIeuNBmRYGJZPN1tMOQzUH39AFIrRD17INLxY6yfmMimXa
 wBmGB+lep5wYMlsvEeBFwe+nK7CYYvDHfN1y6v83AaTxsRHH/daHTcxgbPNvlame
 ufwrqLfcj1pFB9IqgciOPeJNRQ/4pTReD1HkX+zYEnRXraNGWJe7SOuwQN6l4glk
 XdJJ9QvgXpTUMwNxC5SzgNMd80l2fmT86Ny/4yth4bnrq8NPyWuD8+gXFLeHykpp
 x6pKilOfAwjzkMqsdlMq7w==
Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta03.appoci.oracle.com [138.1.37.129])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40mrs8kfu7-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 29 Jul 2024 19:54:21 +0000 (GMT)
Received: from pps.filterd
 (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 46TJFHX8035585; Mon, 29 Jul 2024 19:54:20 GMT
Received: from nam10-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 40nvnv8e7g-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 29 Jul 2024 19:54:20 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QIKoh0xBpxIqSUDg2pvPAB1XQDjrLnj8YXKQcI50eTUOcy9qaZNtHe2zlEOaKcCiN7KyhNEZOMw1fbq9HF7crNKzmzb/c45pLnsQYuTPSiitKCfqsPZ05LeKxI9YnA3npsgCgSCY5kyQze9T4ViRw1y7qII/VoYWKSfpMT40xWEi7TjOFISokOWLdKgXPDam/yRBi8tQezuZFYC5CYiTvi5cPTLT9OuMlnvqTRTV2neCuAS83nm8izWXnXRRDwNu8nr50MMNMt+JzI40PaNk2YqGMnrtdPALQOfBhfaXWlxSTvJC0ZWAkZUQI6djEGPmb1lFBCjtxdWVDu9z5XsoHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yR+NHzHl4ezuRla/OD4rJwQGgxW5sf2ckOZSBdjeKbI=;
 b=gPYY0/IqCmSLenD7Z1W2veiQ9f5usfpkGtoph3qMIOlcaOKsNdRJ9qti6c5Z40bpfkZWldNXgtpQpJwkzENhIqv2O5s74bePu9jctoBom4wV4oIBRKO4cCN5Po47g0BkxI2nyqvfoV/IqLpjNxEENLcH9CkIJyUXg8MoBF99GZ3SH0Z5YmxK0mvkDdEKiZ5vfk0WG/NjOnGD7HLSyVw/6dGup/U5gMEAsb+HBjGwAM9hNns6tfog6XF+l4G0Tjie0gHzsM5GHCRzTnWbjUWXdbc+dpQ8OeGsaIKQMxJ7jpnAuzV5K9TOFKK03JI7h4cAKMX5JlRfyVJKfSnlAzCy8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yR+NHzHl4ezuRla/OD4rJwQGgxW5sf2ckOZSBdjeKbI=;
 b=hKH/BfEjeDyn2cjNi6azoDicIjoXAkg/mFa2ksCaiFjd/OzrVt5eAkaDHFAJCMbwPMizjF+DxQG47vP/IbChukfz97R/m8VTtTA4hX4/tvDb0+45RCNVF5agzB/cI7js6/x+yTnUtTuxjNsqbPKEcXUUxDb4MONSOp0NSlhn87U=
Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19)
 by CY8PR10MB6803.namprd10.prod.outlook.com (2603:10b6:930:9a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.26; Mon, 29 Jul
 2024 19:54:18 +0000
Received: from SJ0PR10MB5488.namprd10.prod.outlook.com
 ([fe80::b75a:ef76:884a:dd27]) by SJ0PR10MB5488.namprd10.prod.outlook.com
 ([fe80::b75a:ef76:884a:dd27%7]) with mapi id 15.20.7807.026; Mon, 29 Jul 2024
 19:54:17 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: RE: [External] : bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Topic: [External] : bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Index: AQHa4e3AlxkPazB2UkqYPBrLTWpNAbIOGJjg
Date: Mon, 29 Jul 2024 19:54:17 +0000
Message-ID: <SJ0PR10MB548835D2E62D95E503E3C702F3B72@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <SJ0PR10MB5488E62CFB86E131962E3CAFF3B72@HIDDEN>
 <87sevs0zel.fsf@HIDDEN>
In-Reply-To: <87sevs0zel.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|CY8PR10MB6803:EE_
x-ms-office365-filtering-correlation-id: 6b834b38-1fe8-4b47-afcd-08dcb0083b0b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?kiuI8qUZ/W6X4hHmlWSg6UiY2/CG+bAPR80hZUsPp5RhDlMdSIbXvI2zg7gh?=
 =?us-ascii?Q?bHvlcvKy6WOIR2EzZv0MYDeu1GuSlkyIewGCLEMOLZLC1mp0oTYZbTgWWc4O?=
 =?us-ascii?Q?TpR41eewwItR7nj0Bq2UpDWOmQbQ3uEhqobPeIcK99kvki9NNsh8eLQUQpHa?=
 =?us-ascii?Q?yBoI5CxlZSLE9MjVW9sDnntvi3s2mZpdzVkPLStFT6Te5me6h0qtrbZiR76q?=
 =?us-ascii?Q?RZWcWDCSi6ZHAlR/WxuONV8/inWlSXS51GvqtdfK9dhHPuoVTUyxdb/Fev6C?=
 =?us-ascii?Q?Db5SmQA1/b17Y7Nu3r5NjZ6xeG++RnSpREcUw3hOGPSmi2qIM6JCreDypWfU?=
 =?us-ascii?Q?inSiXiXC0pvA61D064HQpGSw1GeSKprDuUkIoeupDiJg1S8wYGmGfXBFqzAa?=
 =?us-ascii?Q?bwkL1Ju/GbXCAGHLMmjsCZ4HesLvclZh5iNSs0tJTUW5Q80MKqI+bv8SfDav?=
 =?us-ascii?Q?wv044rrVBA8hpNxOJ0DU7DwYRBHtXsW1sUgq6W3ANkGQiJq145uVVSVyaOuS?=
 =?us-ascii?Q?JlJrtJn/fjhSeLI8LIFCu7PfbuwacljZDWAATi1oa3iu4zqr6iGHSzrWgccE?=
 =?us-ascii?Q?dVS7Trd5dc/TB7efCX4uGijtyJRR8TM69V+xw6LGgBbxVMLIr+5pBHNddL8w?=
 =?us-ascii?Q?I8JOdi871iGj5vQ3E/mEHxeRIqj8MIPJjWVpHompZt80eqNtT07DO71P7Uxb?=
 =?us-ascii?Q?hHOsq4LRqeWiix039Va/SC/CzlQWVhzKZ9wUjEfbyOfR+/pAeO8HfE02GpJc?=
 =?us-ascii?Q?cZFtQcNZEe+Y9aJPRpd4ZIVN3oE1SmwrW9qIUh/U8BYyS2v/ASJJmT/990cE?=
 =?us-ascii?Q?QY6qr4Rx/NaoijFwVdRIPDkMGbun/2fxH0Pe4YqHtthHSejnyuJ+yUmP7Ozz?=
 =?us-ascii?Q?aKue1gZrzJiezO0puFs+VEbiQ6WWn3gWNarSb3Y3SoIXhpmorCSaO8QlGy6F?=
 =?us-ascii?Q?ijjDz11phNNOq0g/QyhxoCi31kHShfC62sterK7yeBpwsqPyr5viOKrQkxkR?=
 =?us-ascii?Q?zg3CTG50ZQ1KKoI54DkJfB7jsa0bAF3i2mT5fK+FiCIAoKq+pjDoQgNxbFsT?=
 =?us-ascii?Q?xFzM8XIGJ75+Gm9WEGTCg0VKlbuaOcYSeIUFggs2vR3dbBeLfO492q3cpJxK?=
 =?us-ascii?Q?z7Q78JkfmkiZTK+YiPXjmWG5fGrfaVpIeT6WBR4rZCUPdYxcbB/CfdLDz/y5?=
 =?us-ascii?Q?EuZVGv2Pc6NAFoe+RnPkpVgPOKSXzIZxicEaX/kYgm4c46lZAWESg8lFQYnc?=
 =?us-ascii?Q?nJ2sV665wkDikHk6F7vGa/I+Z5MRAL5EGZ+okaK2yNCT4gLL53Qrj7OXhR1R?=
 =?us-ascii?Q?45Vw1vyjypcYy4GhagGYnu07lFs8r7nCS4EVPJyjaFY5MGHGWevhMiSY8UFr?=
 =?us-ascii?Q?YTxkSc7hhNeECviYGFG+/ukmhfHh80Wtm3n/PbHdUXDqd4g7Gg=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?uCejt4rEZbCxFiW1g0q1TnW2h5e8+tg7n9dUgE2nh2fBXgzf2pnyj3GvmoAt?=
 =?us-ascii?Q?rrvn8erv8TWuiTUMgQHC1EzmXWTV41K4eZREjPJ2IPxl43D7ziksI/CsBHVH?=
 =?us-ascii?Q?12+00rHIZPwVE3+3FcU891F4VrADKYcHyO4VORrAH42ymBbusnCgaagB87tY?=
 =?us-ascii?Q?hFTu/CmUYh07GCcmZ9EyiWssM//dZ+Wwpqp7iITgYzRxnKs7Vht9IozuRHcH?=
 =?us-ascii?Q?Pc2iSaKxfS9eAX9StZ4Zm2R/VpZkiHkf57tooJy9DaMVZp+wOoD3rfWT9WDt?=
 =?us-ascii?Q?43o3EkpIApiqZ5g11hmT+tbg+JI1aH6xBa4/FbBU+09tOis2STupMygNnqQY?=
 =?us-ascii?Q?gB1U1JcxQxvUYYYXNnDeZ/7xUwoAwPwI21D97YxFRyFglagU7vfCR68cKqzT?=
 =?us-ascii?Q?sVDYr4onYIaISW5yj+L0vZrRtqdymiM3BtxsnE/cKiyn2sC/JTpTIlcSrBYj?=
 =?us-ascii?Q?8hBOR6FYJukHWjDKgdLct4zk3XkHiDJbXZ6yh/95ML+xZzE7SSywC+k6NLO7?=
 =?us-ascii?Q?Z0g7tIPlXYqAz8lQtMi6miaIw9+d3NjEmg83CBwPEYglIsYbmzzIoO3r6ho0?=
 =?us-ascii?Q?+2AcvINr0KIySiCvHTRxBsa+o93oJj/SjtV3yqDY3Xm314Sh2+rHwof1+lkh?=
 =?us-ascii?Q?JgWrYkIdODSMOvEUcliM8GiDNe4YrFthI7Sycgd06/0YuwfoTuEz0JBZy2cT?=
 =?us-ascii?Q?hQDFeaB2Bh4gFmKb1vUp+qY89rebTiQnIq+aH7cSeGgT75uS8wJGQjzXGRW2?=
 =?us-ascii?Q?yxN73Od6BBxJw8xtc0rcRPtIb+oGppiU1kQYcHti4gokIBZERhU5joHec7Hw?=
 =?us-ascii?Q?f/5QMTHWEDeIbZ9Lc5FUB0kNhANXgGJsh3BRINb5KKbkM5Z1ZENI2jyhOgt/?=
 =?us-ascii?Q?YtCTDOvurSs/6olU9DVFzRp5TNzUUYxOmY4jB0/CRJ7NfqeLVD/9QNwH2B8t?=
 =?us-ascii?Q?LTB5bVL09XCvP1AbXBFqcuP/1Wd2Urs82nHzbbj+BIIH3GxmZTJBzeGmMvwt?=
 =?us-ascii?Q?aoK7iFsE6f+soYMX8VLNEltWY74u9F5bp3Vsivji6DNNsvso2QmBkbzBBXwm?=
 =?us-ascii?Q?olcPBgtmoQEZaCgHT2gqCQ7odI+5hoLabicKSrrY6m8v1lc8OqOaqv5cGUuD?=
 =?us-ascii?Q?Mnr8LwvRl1KwiF7AvGXmqsmRQz0itjgRpgBqz/e9Cl/gEm2v8alxQMEAxjpd?=
 =?us-ascii?Q?T/j+Sc4pOjRFxcL7hY4pVTkgPNbJlAP0yG4yGXEPEEhpMAAlwjuF3ZOrr3VR?=
 =?us-ascii?Q?cPPskaanMoyleGFgU5r7o/HEPRu57IZh5AX4yyEzSJIqBn4HigSPIAgybcoo?=
 =?us-ascii?Q?9hnjXu6/J7hoXV5qAMK1/tIaE30LnnzY7bcewp5F+MUXiaTb6dRw4KWGq2Z6?=
 =?us-ascii?Q?BlpAEmUp1f58hJgP5cFzRilNxPp4lMD7ktYcaaaYV6uxjkQQCABCbHLONYi4?=
 =?us-ascii?Q?dLlIZSaNhuNqxtt6roUyPdzPyYBdTiLoOTOb15Fc4ZesgxKXxfKUMZhWKPmf?=
 =?us-ascii?Q?dNgHsULlrsL6hcMvDss9AdagUPGGnCw+oOZSdc8e/Sq2gG1nQ77XCeh3HfYH?=
 =?us-ascii?Q?sQrktKjX9oZOIxg8oD9sEW88BJwrzaOh221yVUf3?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: XT0NStxTzv0zE6TDWegoJpq99zL5cXN6mATILlvHnXEXG9GNFAinHMr1Cf5EiyB03LBdela9qq/8U1Q78B4iFAvkqjIP9Lz6xvCfyv1Gj0zS80uzw2AJ5m9UPLpl9qXTzHB4v0OBoEi6Q86Rd8fkwWf+0aHqqSt/QjWozqFgOul7Jl5wV5WVdQwoWwb/NAv1CG5VAQ+vJaLcugoblLsA90HXWM/qvafZ+VQCUkSRLAr/eYKaCb12HtNBnftm22S3hN2pkbPgvmxNgLaJlIbs3ZucQoL6pzUUoR05uCu9xZwZb/GxcSnlBEi2vva7YFlMGPlFLqlPTCc/z8lWUwX4S9axwxM3uN1V1cLv7rF/k1380AUAOrvpNQqUAEE1rV2NG13V5iS9bhE3ZsUn0MX7mq02R5KB7gtk9aOL6G7ndvf4PAoEsG4x3CqiwTEMv8hjxAxfruZy7sPHObeGfjAjFgsq9b80kBt0twDJRdBTlFEVFgGl5E/daMOHtMu9FeZWe7dV9FYiupOmT1TwCZuZeIaFpOvi5Ue61/+vroVkB+XtaELfScmv/BJjT+mkS8ud5sOHhRzSp3y3q2+iZTLDUWAuRAVr9M7BJqG2tVzkonY=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b834b38-1fe8-4b47-afcd-08dcb0083b0b
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2024 19:54:17.6580 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9g/P0WQHxCLk6zbFa+etTrx5D0Uwx969eI2ST3t9qs9MCfo/SRRs6+U4WDAI6a3dZ2D2kmOMKEx9gRQC7SoJAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6803
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16
 definitions=2024-07-29_18,2024-07-26_01,2024-05-17_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0
 adultscore=0
 mlxlogscore=999 mlxscore=0 suspectscore=0 malwarescore=0 bulkscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2407110000 definitions=main-2407290134
X-Proofpoint-GUID: 9sN-9dTTAsm0f2qC6-jFz_eGQu26MFMT
X-Proofpoint-ORIG-GUID: 9sN-9dTTAsm0f2qC6-jFz_eGQu26MFMT
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: "72344 <at> debbugs.gnu.org" <72344 <at> debbugs.gnu.org>
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 (-)

> > What does this have to do with Common Lisp or its
> > emulation?
>=20
> It is not about emulating Common Lisp, but it makes sense to keep this
> next to `cl-once-only' as it is a variation of it.
>=20
> > We shouldn't have _any_ functions, vars, macros, ...
> > whose names use the prefix `cl-' (and not `cl--').
> > It's really unfortunate that we still do have some.
>=20
> I assume you mean that the `cl-' prefix should only be for names which
> exist in Common Lisp, and while I am sympathetic towards that opinion
> `cl-once-only' and `cl-with-gensyms' are macros which are firmly(?)
> embedded in cl-lib.

Yes, my plaint is also for `cl-once-only' and the like.

Firmly?  Those were both just added by Someone(TM)
in Emacs 29 - after _decades_ of Elisp CL emulation.

The original direction/intent of that emulation is
running down the drain - first a drip drip, then a
trickle, soon a steady stream...  Might as well use
prefix `xl-' or `xxl-'.

> The only other place where they would make sense,
> as far as I am aware, is subr or subr-x, but I am not particularly
> interested in making and defending the argument that they should be
> moved there.

As I said, it would be fine to use `cl--' as the
prefix, indicating that it's in some sense "internal".
In this case, at least in the sense that it doesn't
emulate any CL construct.

As I said, just one opinion.  Those who don't care
whether users can tell what's intended to emulate
CL, and what's not, won't agree.

What's not CL emulation is (1) just "plumbing" for
some actual emulation or (2) unrelated stuff that
Someone(TM) thought was clever to add.  Too bad.




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

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


Received: (at 72344) by debbugs.gnu.org; 29 Jul 2024 19:31:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jul 29 15:31:35 2024
Received: from localhost ([127.0.0.1]:46385 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sYW5m-0004o7-PM
	for submit <at> debbugs.gnu.org; Mon, 29 Jul 2024 15:31:35 -0400
Received: from mail-lf1-f52.google.com ([209.85.167.52]:50555)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1sYW5k-0004nr-GD
 for 72344 <at> debbugs.gnu.org; Mon, 29 Jul 2024 15:31:33 -0400
Received: by mail-lf1-f52.google.com with SMTP id
 2adb3069b0e04-52efbc57456so4095318e87.1
 for <72344 <at> debbugs.gnu.org>; Mon, 29 Jul 2024 12:31:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1722281413; x=1722886213; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=7Rkw0O2J2LAALtCXduTb1B5CCiGrn8c+d3yhuIY+Lnw=;
 b=PWERWaaj0gbo5849BZhk2aDRRQcSfAr9dyM8JqTfm03mX/JjIHhgYcEcAcU2X86aS4
 qRlehyUl6gvm01PLJ6EIszh0MQFCkhdP6ZzHkcn/D35MScxkUHL+13JoY9NxY4jYKTYj
 U1CzaUe15XW/pE2K1q8SwM04ErvkRbHljKilXxO4RrXGEi7B+JwkuawxKUbhosIqtZfu
 oDz8iW3GQvpgL6hNf+eDIY7Mr9lCieKv+16rqCX+LV/82VtAECr4tWcw40htU89OtNqa
 sLbVfg5Y3FJex3UZO+nKAtXbjZuChyzxQYR4gn3X0XPhsf0oXBNSqoyOi8i9kh2nT5RO
 ZSlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1722281413; x=1722886213;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=7Rkw0O2J2LAALtCXduTb1B5CCiGrn8c+d3yhuIY+Lnw=;
 b=X87SHqYkifmX35TbwE5rODfY96RudzkBbFZAg2xYloAmKtbaMcZW09gqFYhY0GiGQ0
 ngiuz6RNeyAAeP4Ft4SfruAKvtNLIJ+8V2RZmisTOveVweRNascyo22A0iIXwI7WCW4n
 FQEjtUULfEOV1AFouN5ZC0AC4owxB97Z08hObI3L7asYIKcLS1ngaIJnvp8tdn4mZuxm
 YBcgyhUVjYMvznY4mc4qiigQLG8lc+kflHUK9otZlsD2I2Q0a9fLdkTBCdJNNWntcPCC
 epDoFkzhRvdoTBqdsYJGdlgPSpie0672o7g4e1rGuE1Y2ZNhZc7hTC2ssynBK2MKJ9UL
 wSfA==
X-Gm-Message-State: AOJu0YxSwkVnYQA3ABS7pqr5SySwao8UPzhlOL8h4sMoTexY9PReFUAO
 r5ZVB0mdxcssi9DBWxlygXS+BSwodbNnTf04R/RFhiVtC+qNGMKMxqeOVcIrRGI=
X-Google-Smtp-Source: AGHT+IHtFLVKPj7o0pdbOb7oiPfeF8hZ64E22npESuHf65R3FGXZ9qGU/GC1Zjkw9WU+ubNAONEbwg==
X-Received: by 2002:ac2:5f8b:0:b0:52c:def4:386b with SMTP id
 2adb3069b0e04-5309b280a5dmr5453992e87.35.1722281412216; 
 Mon, 29 Jul 2024 12:30:12 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5b10e20dbb8sm3333308a12.49.2024.07.29.12.30.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Jul 2024 12:30:11 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: Drew Adams <drew.adams@HIDDEN>
Subject: RE: [External] : bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
In-Reply-To: <SJ0PR10MB5488E62CFB86E131962E3CAFF3B72@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
 <SJ0PR10MB5488E62CFB86E131962E3CAFF3B72@HIDDEN>
Date: Mon, 29 Jul 2024 21:30:10 +0200
Message-ID: <87sevs0zel.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)


> What does this have to do with Common Lisp or its
> emulation?

It is not about emulating Common Lisp, but it makes sense to keep this
next to `cl-once-only' as it is a variation of it.

> We shouldn't have _any_ functions, vars, macros, ...
> whose names use the prefix `cl-' (and not `cl--').
> It's really unfortunate that we still do have some.

I assume you mean that the `cl-' prefix should only be for names which
exist in Common Lisp, and while I am sympathetic towards that opinion
`cl-once-only' and `cl-with-gensyms' are macros which are firmly(?)
embedded in cl-lib.  The only other place where they would make sense,
as far as I am aware, is subr or subr-x, but I am not particularly
interested in making and defending the argument that they should be
moved there.




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

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


Received: (at 72344) by debbugs.gnu.org; 29 Jul 2024 07:10:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jul 29 03:10:08 2024
Received: from localhost ([127.0.0.1]:44801 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sYKWF-0002eB-OA
	for submit <at> debbugs.gnu.org; Mon, 29 Jul 2024 03:10:08 -0400
Received: from sendmail.purelymail.com ([34.202.193.197]:40704)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1sYKWD-0002dW-8t
 for 72344 <at> debbugs.gnu.org; Mon, 29 Jul 2024 03:10:06 -0400
DKIM-Signature: a=rsa-sha256;
 b=jnBBTz2f0QLE7TiqugJGkNDmLGBemmxzhnAl3Cs4djUO+2tqsj/39yq0RNoasb1YwCY2aYoqyHpDQwJzzfniTkD0d4dzcb7fLewJuw+2mzOGrwWoKsDmkOHzsdkHYwvLIuYDS9pV0tko5VKJ18r8pc480byrZpElsf0K2Q0mU6OPN4eFPI1U1BT+gD+BHwmYz8p2kcequrUsICavneYladjypCTrP8fupAM2EKWLbIECxGVz5ubBRiN3cgl7cPqbTnLyk4p2czXpeOyHlleoSNtt4sRgplHBB8el8BqLTxOoimmelqjXfkDcpQAvO06mJSRDir+WUMG5szDE9YblTQ==;
 s=purelymail1; d=spwhitton.name; v=1;
 bh=7bhm1DjlvqTfOi9SW4kZhjHF203lid7/QuJU0JvFDvQ=;
 h=Received:Received:From:To:Subject:Date; 
DKIM-Signature: a=rsa-sha256;
 b=pbuKcsvI8bzwq6w7Xf0h1LGTQZYbIueYujyE38q0jeAgckp5Obsz0XUzHJj/yuhSmTS++woRgFfnUAeM7zIBxsH3za6n0sfdHP5V4GCZiH5Ba2Z305dtvqyrByHb6pPqXhwAGWYSbIcjQtwZ8Z75n0e2S9ll/e9imOTc1VHq75lWLX7btx9+nsDC8h9AVEM0iZbmD6BRPbZWetJHHTNTNJmygQ6VzLMdFz0THB+DrWXSgTsvbZznoMTl2a3Aht9m9qmu96ZsVRCtz8k7ibRkfukxt4UmdwmYKOp/8D/zr9cp0zi+gRaknr20ihQIyVHEZGz6S05EbWn4Jqyi6CNE/Q==;
 s=purelymail1; d=purelymail.com; v=1;
 bh=7bhm1DjlvqTfOi9SW4kZhjHF203lid7/QuJU0JvFDvQ=;
 h=Feedback-ID:Received:Received:From:To:Subject:Date; 
Feedback-ID: 20115:3760:null:purelymail
X-Pm-Original-To: 72344 <at> debbugs.gnu.org
Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPSA id 259145025; 
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384);
 Mon, 29 Jul 2024 07:09:44 +0000 (UTC)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 911E57EE8A9; Mon, 29 Jul 2024 16:09:41 +0900 (KST)
From: Sean Whitton <spwhitton@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>
Subject: Re: bug#72344: [PATCH] Add a version of cl-once-only which handles
 lists of forms
In-Reply-To: <87y15l1aj8.fsf@HIDDEN> (Thuna's message of "Sun, 28 Jul 2024
 23:17:31 +0200")
References: <87y15l1aj8.fsf@HIDDEN>
Date: Mon, 29 Jul 2024 16:09:41 +0900
Message-ID: <8734nsk72i.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 72344
Cc: 72344 <at> debbugs.gnu.org
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 (-)

Hello Thuna,

On Sun 28 Jul 2024 at 11:17pm +02, Thuna wrote:

> Attached is the macro `cl-once-only*', which takes a symbol which is
> bound to a list of form (such as those contained in a `&rest args' in
> `defmacro') and binds that variable to a list of symbols where each
> symbol is bound to the result of evaluating (in order) the corresponding
> form.  The docstring provides an example which might illustrate what it
> does better then I did here.
>
> I don't expect this to be used too often but it could be somewhat handy
> in macros with a `&rest args' which are supposed to be evaluated.
>
> (My motivation for this is to use this macro in another patch which I
> didn't want to make longer with out-of-scope additions.  If this is
> considered not worth polluting the `cl-' namespace over I can just write
> the forms by hand so it's fine either way.)

I'm the author of cl-once-only.  I'm interested in macro-writing macros
in the CL tradition.

To be honest, cl-once-only* seems quite esoteric.  Could you perhaps
show me a direct comparison between some cl-once-only code and how it is
made more readable by cl-once-only*?  That seems to me to be the key
criteria.

Also, I wonder if a name like cl-list-once-only would be better.

Thanks!

-- 
Sean Whitton




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

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


Received: (at 72344) by debbugs.gnu.org; 29 Jul 2024 00:39:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 28 20:39:32 2024
Received: from localhost ([127.0.0.1]:44622 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sYEQF-0000uh-Lr
	for submit <at> debbugs.gnu.org; Sun, 28 Jul 2024 20:39:31 -0400
Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:40376)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <drew.adams@HIDDEN>) id 1sYEQD-0000uV-B7
 for 72344 <at> debbugs.gnu.org; Sun, 28 Jul 2024 20:39:30 -0400
Received: from pps.filterd (m0246632.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 46SMqU6s001926;
 Mon, 29 Jul 2024 00:39:16 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=
 from:to:subject:date:message-id:references:in-reply-to
 :content-type:content-transfer-encoding:mime-version; s=
 corp-2023-11-20; bh=xz+Rmu+nNqpz8cEFamibcSuwqCJP5PCQxFNFtqxh9uM=; b=
 bWF29okrQzgEcS9qJhNpME7wuet1evWTKxoNa7Hc5o2yaYxBn3wODjW2UoMynaLf
 tpnWknGn5DAys1G8KQLwS0a0IH3rlgFStvcXNaqYdjOBwrNZiKzw/cjvNlV21Mal
 G2Zu4FLX9WE/WiD8rR/0tGd9fmDdIlAN0V1LVuvBW3zPDFPnmZJQxMSNDh1XKhny
 r/vMErN97NnUPq6gnDELtDq6ZekOHoHzoM+5tBsstf057pMH3jYa8elg3XS+Jwfm
 aNsebTFxhqyZ4ZKsMmD9X+//YKGktFfTetHYcgRP9fRpm6FFA7YO8c3vV42PcZF/
 zbEzx846XTD7RLUa4LPhqw==
Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta01.appoci.oracle.com [130.35.100.223])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40mrgs1fw4-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 29 Jul 2024 00:39:16 +0000 (GMT)
Received: from pps.filterd
 (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 46SKw0jX012337; Mon, 29 Jul 2024 00:39:15 GMT
Received: from nam10-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101])
 by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 40nkh4kerg-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 29 Jul 2024 00:39:15 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nFKmvvpIiZY/1ZulxSqNHodFPFA3McLoAzoPRSVHuE9JuQ7OWVlPzca9AAQ02mBpFBuU/QPS47f2pmK8WfpTZXGL+HYR4CnLorhKZ+kIHnH7Jht+HcSEaxN6FdrQ5oPT+3MIMKZXNJEx8NRucTNqjBaJQZKsaE0zQJ8BAScQ8nm1CUoxfwCfFiXKs0SfgOr14qaTGlKmRDL00xs/3FK6CehMErxjqtLBHRWfYWZhCJrd1a2NLAdvYjohDWchONNmd4hiEN+FgvwkdDL+qDhdsmRUJSH94BtDiijwLg/BAQvcBpdywMdf+VNXcLbFc3kctwFlmy5mFnuHNiAq74l9Hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xz+Rmu+nNqpz8cEFamibcSuwqCJP5PCQxFNFtqxh9uM=;
 b=T6NQK+KOvDQA9LYpWAMfuG7eYShXv2lu/U3boSFJSARUO2JmZtiq3Cao0T0ZVDPKvsuPGHZ2/h8Y6wGUi8JJKNex3wmaH7b9Q/djbLXX8/6fLCsS1ceoDxB25+OzrpGRXO0M+ULWwoxvHkwgjrdbGgMBOlyLpqXOk/naMaI9EVg9zzFXzwa7RDNoX9ASz+L7hWVVScl2SKwKmyB35yLMrmrgTov0HWd6qedcD0pHcfxQnZvIMoTzk2t424KqY36asaTx7vZSDbgjvdDmRtlU3iRuz/SWLdsOq5pwycNmXFuQT5Q/P6sLN0XIEsaxj17AxE/DQNzuYikISC4Ob8E8AQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xz+Rmu+nNqpz8cEFamibcSuwqCJP5PCQxFNFtqxh9uM=;
 b=inVjFFT1k3xsRRSmYgeyS9hmMIWX9ELVhfCI1bR8V/ix10In2X1TlT38acmCniVLpCSgpWp9ZwwmLvQyKel+0XRndC6WhTWeeeJzQ7TskojcY8w2bZKCICSw4f1Jb0QOn+RM7aektL5qLtluJL873JsMgcTYcMP7oeZIPwwZyC4=
Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19)
 by SJ0PR10MB5648.namprd10.prod.outlook.com (2603:10b6:a03:3e0::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.27; Mon, 29 Jul
 2024 00:39:13 +0000
Received: from SJ0PR10MB5488.namprd10.prod.outlook.com
 ([fe80::b75a:ef76:884a:dd27]) by SJ0PR10MB5488.namprd10.prod.outlook.com
 ([fe80::b75a:ef76:884a:dd27%7]) with mapi id 15.20.7807.026; Mon, 29 Jul 2024
 00:39:13 +0000
From: Drew Adams <drew.adams@HIDDEN>
To: Thuna <thuna.cing@HIDDEN>, "72344 <at> debbugs.gnu.org"
 <72344 <at> debbugs.gnu.org>
Subject: RE: [External] : bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Topic: [External] : bug#72344: [PATCH] Add a version of cl-once-only
 which handles lists of forms
Thread-Index: AQHa4TOqRmfXRLtfOECQbwj+rjFoS7IM29Ow
Date: Mon, 29 Jul 2024 00:39:13 +0000
Message-ID: <SJ0PR10MB5488E62CFB86E131962E3CAFF3B72@HIDDEN>
References: <87y15l1aj8.fsf@HIDDEN>
In-Reply-To: <87y15l1aj8.fsf@HIDDEN>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|SJ0PR10MB5648:EE_
x-ms-office365-filtering-correlation-id: 0fa0980b-d7c4-4147-c12a-08dcaf66de60
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info: =?us-ascii?Q?UCuteLDJohlhmBz5mrsGLEtiduzysK8EsnNTtchXvkvHMOeKgNrf4hWlCsSr?=
 =?us-ascii?Q?WvqTPI3hCvTUsYSE19WxgPYxIy9sUS6KbM4b5x2IaiPRdtNeXHZrBltwyQHM?=
 =?us-ascii?Q?BvCenMANH8zscdSvvIFEDnaULFQb8jgzi38R14ZXg+vVpQ1sK9mciOn+2dw/?=
 =?us-ascii?Q?CE3BcTWG76eERhOZfoCrFdF7WxTQpySkznIwWQX2RMOzA/2mo03wX+VR668g?=
 =?us-ascii?Q?6tUlrSGpR5/+ZKxzbC8133nKYzTWwNHUvUrHmG6eu+67ihqG6TmQgUc8Kzbp?=
 =?us-ascii?Q?sbjVjBPgPk7G8OHvsomm6X1pNQgVhRNdDigYXe0gKWQVdpxMkYcSAswKPaEJ?=
 =?us-ascii?Q?+0oGqCVTDG2ZkbrMMCzUTSHKbMIeyhf96Mi/19WIqLYcQ0wzAhaQ3ioQaHzP?=
 =?us-ascii?Q?CwEnsaZWJIeVwiZnsMx+AP66aUe6W7+W5em9i/0lXmL7KBPAaaheISU371K+?=
 =?us-ascii?Q?DyXcOCn0FL2L0H/bdwGaixTEVSAgkB8YQsexrYmdP9e11ERnF65zHqONRIuS?=
 =?us-ascii?Q?21QGmJuM9F0pT0JpgQfBfv82GTjRzIPghUVrPB75X6263QiSermJRcc7mF30?=
 =?us-ascii?Q?A7NcsJCUeK2rFhev6j6rQ0qwNO4leWcBGv29qUzFfQgK1fYBsev1QCQ8Ue82?=
 =?us-ascii?Q?7iGhs8zbNtl6s0J6Uo8nh+RZ1ip6CJr5SuJARv9KhqlFDXk/lJOgh/Agmf5G?=
 =?us-ascii?Q?QYSyDd3mNzIuAfWlV7jGIQxDp5lc4RwViuP2MbIB8Z4lw4aRSlLjdYsK3+am?=
 =?us-ascii?Q?AFK0aSSLqRCHFtAaK6+NlNq/tQXE2Bfc1MaJh8oco00nWGlZOLe0JmC+qFVx?=
 =?us-ascii?Q?e24Yla/FnBTpzswPqsXbENWF3o0HswsVSNdXozbTWrpri/2Z+x96rzSEus58?=
 =?us-ascii?Q?By5zo1nLZIw/sJk78S92+65h54WGmY8wtO7SPYi1R5Whe4QvRSfwM10B/eW2?=
 =?us-ascii?Q?/KHwut8e9ugZq23twDh7/GULluzecxB6VX4RVgRV0PHUvxwLyXbV6DYEA6qm?=
 =?us-ascii?Q?65rx3UwLzZhUAzPKqU470tV+s1tEjdQf5Ydj5I33jAimhTQIuyttx63RQmjF?=
 =?us-ascii?Q?R84TP9N8xP+2h8x56Ka+vZDbU9v3DjM/d2yWct9QxgtKCF+JrFMTegbFGDO/?=
 =?us-ascii?Q?QzE6O8jdSDv/k3dmKLpE0kYnVozE/fTN9+/SWwd7jTEEM4yz5nEimPLIgEhk?=
 =?us-ascii?Q?vPefIzzphu4dq2ZQSG3UxU182bVoDAIiTJdGbtIGuMponCVVAHiEyomMOj08?=
 =?us-ascii?Q?ZH2StMx3ds8WiUEW/WEMg9kQbrn29aKjP6PsauSUK52YbZIc19ziMPkdjn9P?=
 =?us-ascii?Q?81AGIMHkrVUu3CGcavq9SRu/R5/btn5FGY7Cr7jBGHRIxmnG5bCbG+okQrNI?=
 =?us-ascii?Q?Omywnu6CkM1VUbXfYe4TmlC7y/J76p6NGaEaWxn0kCjoKdQVWQ=3D=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?+/BKJCC/5WXCVu183OzuCRctjcPF/W1GwWygeJhOpTnC7d7EaN0pAMUQvfFl?=
 =?us-ascii?Q?DxPX73gRWrCGq4OPbs8xQffyFVyyy1C94SGeV8TcTNsk+xNHn51ywrj/ka+o?=
 =?us-ascii?Q?XxNSUQJhvCAyhGpRnf+X1N62Hfv95dlKvFRF7xQae+I38sgJ1M0h0GbGccEM?=
 =?us-ascii?Q?73NGgLvpIMSS6U7aC7Vqkw0/Qc39jy91Dz0aD3boNx8coRuIUvAO75VJUd5Q?=
 =?us-ascii?Q?FsHS5AilNoro7uuAo8Ph1VRUXbPypxw4tR/hDHCkNeimW9a45lOHmuz/GASq?=
 =?us-ascii?Q?XAn8K1EGk/exF0+lZAUOl6KRELBtbpxaaUgPCxW8AshYqlLxvkwXo8QNWuaE?=
 =?us-ascii?Q?gG/93eRzff+51TXt86WWM4FDeIeVSmV21a/IHT/gYRqQxPNqCgpH8GmwGbSh?=
 =?us-ascii?Q?BbsqCGo1jcF5dc18sjOf/7v0KMtl4ZxsHQE3p2bdBIyI0bxgOkOBoTEzxpvV?=
 =?us-ascii?Q?bL7KNrQ6/TMdRHAUUzGwaxh24R303NkHIqFbreAAv7Rda9kF863klTsYEMFS?=
 =?us-ascii?Q?NZaEC4Tw3ZOMEAtI3kdZ/xIYOt657mYjlLvHcTrCeT8LpbdThi5Z3eJuWv0x?=
 =?us-ascii?Q?By9/DAXHTE+14JsTB0dNFILq10wVZaoLeXfdmDUOvtPjSFeCOmVJJFGFXIBI?=
 =?us-ascii?Q?AX/BtE9dG1RBbpkZKGNqpXdVnU0afxJW0HibIkl4QOL0mjo8RfwpEgq+TGiU?=
 =?us-ascii?Q?waEzV7sIOGxht8mir9cfD7T/sx0qP4381zYIikn5T3zjC0ve9ijAzXI0OAVy?=
 =?us-ascii?Q?yb07hV4nYKuo8esMec57TCgT0jtlxExXA9jabEfbGVd/lhjStrp5q7IObXVK?=
 =?us-ascii?Q?nmDlW5MW58cbe6OEPdsk13fIhXpdqRsYcxs/Trne7Q1PK2mqr8ilfveOSG8M?=
 =?us-ascii?Q?TFF7F5LdsM7n48/T6ab1k/XAAqp5bMgLPvGwtc9WVozPIza4IvegWOnVWeAW?=
 =?us-ascii?Q?/jWqIWMIRCdTgq5BXDAEdJq1Dk+dcuINSgE4r2BYHMeHL3eQr00LluC0xpjH?=
 =?us-ascii?Q?P3IItKd6u+NgSR4zGg/pKcl4AQGW0Lvq+Hdg4SSO7pMchntqUr+Zz1nEPKAA?=
 =?us-ascii?Q?dRQ2E3X5IU/DRTewDW9sKThKGSGJ5lhW/1Aj0TLTUnbLd6xgMV3fAaYdTl9a?=
 =?us-ascii?Q?l/oC+mBjYGadn3yqMehI9RBOYANPc+74dK4Yo+IMgJIQV6jp+JVZpRdSoNoO?=
 =?us-ascii?Q?yuwYE3pRlZvC8Zs760NCE0Q6hxFBju8faV6skoTxDnGzVMFSGAYMgs0XHqeV?=
 =?us-ascii?Q?VX+BRvC3KcV8S5IoQUrWp+Gxzt2PZKSXrBngrKH1td8RiHDOBZ62k4ModQYY?=
 =?us-ascii?Q?sKu7Wy9+SbL2ymVyb1qeKsxbvdPOdmsBPnjnw7Y0yak5OG4ALozl8htbOaNO?=
 =?us-ascii?Q?aW8pmTqLZADKvI2tgttMN+8Ko0aKG5GN10sNVBhqnS2m+bJFqhRaASNpcWL/?=
 =?us-ascii?Q?ebBtYhsYYNhP8vz6HPCBpbic8B9qzPPcO3DQWG7rS9S87o0qoj5/m0WqgEBR?=
 =?us-ascii?Q?U5WQxhi0soHNQ9IYOaTh7RwrbznjTpjGVoqNxsxV4Y0Ubt87A4j6QQI68zCL?=
 =?us-ascii?Q?mi636iH5dmc+QFlsodcOU3QbIoSlaiEUHPitV0eI?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: IkenV3p5dR/nC9ZsM1N8mySloLEdWQivYQ/7CeF8jWOJf5dry2WFcMdaYoRQtf5HSF0Jh+gcNkr27qGWyERH9VsBzeYBGaG1FuM/wT9q0FHl8/q6o5d3YIs78J6q9rCWFb6AppdS6M4ciO0BuxnKX6MmoZWhTWrLhZ9baM3aOEBNZLM4uCizMONcCSUAIDiaB9VxrWkzX1YwTNQGN2wxW1JxLcrs1KcwwdalZH3VNXti5G9MDCUsnyPPN7cMJbR/BgHypnxCiCqIrSIpnNNTRsxCi7qhHpFkLGZCItafH/x7mWJXZPmW4fHaIVWKdiTxTaN8Mx4l2KqtBIxN5nK0bg9RdxI0NuaDKJDzF9MXs3pV7n4A031f+sfl5x1L4q+YGerKRxJm6zfcRJurAzAVSuBnuB2RmAqj61gUqCflpvNfAObrx+f2rGQYOmKeN4/+mPbwh3AoWlQ2nzoH/iWdF6WUtovovzEnWQcIEKUcSfRuPx7kKsc0gLaVEweiNKwvltdRo1Nh3sv9HuP+eNx9y+7X9ztarQvY3No14QWkTNC2mckJmdgLfP8urNSpxCAr6kU7d4z5tPzqlMtGKvEgw+1vhth7kZGrMDrkPneZq4U=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fa0980b-d7c4-4147-c12a-08dcaf66de60
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2024 00:39:13.1801 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: vCihctySr8dNFa/ZhBnySBB2lVydXxonV6n89JLSInNcEvXjsWMkwU+gF1MDLIj1uGK7X1fq22/8ZyqF198Fng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB5648
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16
 definitions=2024-07-28_16,2024-07-26_01,2024-05-17_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=919
 malwarescore=0
 suspectscore=0 mlxscore=0 spamscore=0 adultscore=0 phishscore=0
 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2407110000 definitions=main-2407290002
X-Proofpoint-GUID: 3yevswaLJBPHPhpkpi2A1SRJPkpLj7DD
X-Proofpoint-ORIG-GUID: 3yevswaLJBPHPhpkpi2A1SRJPkpLj7DD
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 72344
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.7 (-)

> Attached is the macro `cl-once-only*', which takes a symbol which is
> bound to a list of form (such as those contained in a `&rest args' in
> `defmacro') and binds that variable to a list of symbols where each
> symbol is bound to the result of evaluating (in order) the corresponding
> form.  The docstring provides an example which might illustrate what it
> does better then I did here.
>=20
> I don't expect this to be used too often but it could be somewhat handy
> in macros with a `&rest args' which are supposed to be evaluated.
>=20
> (My motivation for this is to use this macro in another patch which I
> didn't want to make longer with out-of-scope additions.  If this is
> considered not worth polluting the `cl-' namespace over I can just write
> the forms by hand so it's fine either way.)

What does this have to do with Common Lisp or its
emulation?

We shouldn't have _any_ functions, vars, macros, ...
whose names use the prefix `cl-' (and not `cl--').
It's really unfortunate that we still do have some.

Using `cl--` (the internal prefix) isn't problematic,
a priori.
___

Just one opinion.







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

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


Received: (at submit) by debbugs.gnu.org; 28 Jul 2024 21:17:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 28 17:17:52 2024
Received: from localhost ([127.0.0.1]:44398 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sYBH6-0004Gn-Ga
	for submit <at> debbugs.gnu.org; Sun, 28 Jul 2024 17:17:52 -0400
Received: from lists.gnu.org ([209.51.188.17]:41018)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <thuna.cing@HIDDEN>) id 1sYBH3-0004Gd-OB
 for submit <at> debbugs.gnu.org; Sun, 28 Jul 2024 17:17:51 -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 <thuna.cing@HIDDEN>)
 id 1sYBGr-00019w-DS
 for bug-gnu-emacs@HIDDEN; Sun, 28 Jul 2024 17:17:37 -0400
Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <thuna.cing@HIDDEN>)
 id 1sYBGp-0006z8-IO
 for bug-gnu-emacs@HIDDEN; Sun, 28 Jul 2024 17:17:37 -0400
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-367990aaef3so1061114f8f.0
 for <bug-gnu-emacs@HIDDEN>; Sun, 28 Jul 2024 14:17:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1722201453; x=1722806253; darn=gnu.org;
 h=mime-version:message-id:date:subject:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=sIIGmNK6k2IzqDKYJ1M0naYRvufu5OLWXuBNK2CSMhA=;
 b=S/w49QGbL8ayfol8y0+eQ+wKTWDWqyIA+1QtTQJLutW2IfQshcea0nFl6UN7EKbHAr
 9ht5npNe2n5qKsXgSw/pyGJWhxs548rD3m7TVVr4ony/pSbz9Rc2EKE9lLwNlFrWUv+N
 +TdiImgreND5UFKlai5ONJp+87sXbP0ZB0lDrAXVz/8RXWCyZbsFSEkULIEbzlLFwuCs
 mQQgmwfUpZ/STSVen25Agu+uPs4z2AnbwtsA3pxpNxPWiyIoRPiCH2nGlHjADDfq4xLM
 N167IZ/UG8tQuZls1VJcel/lkHd845hH9XOcZQJvxBqn/wCkEIkyvZzAmfijd40vjh7Z
 ldsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1722201453; x=1722806253;
 h=mime-version:message-id:date:subject:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=sIIGmNK6k2IzqDKYJ1M0naYRvufu5OLWXuBNK2CSMhA=;
 b=HVbQTbhHKJU35y6bwi/pZdR/KZQ/4O47G2kAD66b1ySng8XZmPe8ewMpNXV4VaT64W
 pw4ITNNYhITqqzFiETxSFHRXko+Q00mTDn+HmCUiJ3aLLXpeBp3fqNPRTCQmzFfOf+xT
 fvRt9TFTVYwpuEzv0pj8suC9hup13nXz2qNtaXoaf8OdFts6+sgwOsloh+2hYyEQy8Wa
 etHsM1ABabmsbv5vD/Ux4UmVZm9yUbsmGFXiVXZlPv0bGCf/Q+RfnwyS6JlTZhdgAs35
 D4qC89rwb3oKKppW9yH/8yvs3l0+oLkV4vro7uW5VSsy2EJ8cNbTQLYCJ1cNSQ+E6zTU
 9vcQ==
X-Gm-Message-State: AOJu0YwZJo8FvVv+YX/AgMsPCiWl5Y8U4xFo+2GZUJ39G23D2y+vPFML
 TOclYALrI3I23mH3hBPyFouvDbn2ThP/5ha3nDzwXzNrYb+Tby884pEa8w==
X-Google-Smtp-Source: AGHT+IFTwxqBgDFFwTWsptAZPwuzjHSpKhats60LnBsHX5Q2EbDkkED5KVxqiGzx5uNzcwJUfZbO7w==
X-Received: by 2002:a5d:52c5:0:b0:360:7c4b:58c3 with SMTP id
 ffacd0b85a97d-36b5d0c2df7mr3304840f8f.54.1722201453077; 
 Sun, 28 Jul 2024 14:17:33 -0700 (PDT)
Received: from thuna-lis3 ([85.106.105.81]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5af65c0fedcsm3393309a12.55.2024.07.28.14.17.32
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Jul 2024 14:17:32 -0700 (PDT)
From: Thuna <thuna.cing@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] Add a version of cl-once-only which handles lists of forms
Date: Sun, 28 Jul 2024 23:17:31 +0200
Message-ID: <87y15l1aj8.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2a00:1450:4864:20::42b;
 envelope-from=thuna.cing@HIDDEN; helo=mail-wr1-x42b.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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-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 (--)

--=-=-=
Content-Type: text/plain

Attached is the macro `cl-once-only*', which takes a symbol which is
bound to a list of form (such as those contained in a `&rest args' in
`defmacro') and binds that variable to a list of symbols where each
symbol is bound to the result of evaluating (in order) the corresponding
form.  The docstring provides an example which might illustrate what it
does better then I did here.

I don't expect this to be used too often but it could be somewhat handy
in macros with a `&rest args' which are supposed to be evaluated.

(My motivation for this is to use this macro in another patch which I
didn't want to make longer with out-of-scope additions.  If this is
considered not worth polluting the `cl-' namespace over I can just write
the forms by hand so it's fine either way.)


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-Add-a-version-of-cl-once-only-which-handles-lists-of.patch

From e8af4374454965d541ad3b8062e6793217d4e86f Mon Sep 17 00:00:00 2001
From: Thuna <thuna.cing@HIDDEN>
Date: Sun, 28 Jul 2024 22:26:41 +0200
Subject: [PATCH] Add a version of cl-once-only which handles lists of forms

* lisp/emacs-lisp/cl-macs.el (cl-once-only*): Define macro.
---
 lisp/emacs-lisp/cl-macs.el | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 2e501005bf7..70d66b3a250 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2544,6 +2544,43 @@ cl-once-only
                           collect `(,(car name) ,gensym))
              ,@body)))))
 
+(defmacro cl-once-only* (listvar &rest body)
+  "Generate code to evaluate the list of forms LISTVAR just once in BODY.
+
+This is a macro to be used while defining other macros.  LISTVAR should
+be a variable which holds a list of forms, such as ARGS in a function
+call of the form \\=`(,head ,@args).  Within BODY, the variable LISTVAR
+will be bound to a list of uninterned symbols of the same length, all of
+which are variables in the final macroexpansion which are bound to the
+result of evaluating the corresponding form.
+
+For example, the following macro
+
+  (defmacro my-list (head &rest args)
+    (cl-once-only* args
+      \\=`(list (,head ,@args) ,@args)))
+
+when called like
+
+  (let ((x \\='(1 5 4)))
+    (my-list + (pop x) (1+ (pop x)) (1- (pop x))))
+
+will expand into
+
+  (let ((x \\='(1 5 4)))
+    (let* ((arg1 (pop x)) (arg2 (1+ (pop x))) (arg3 (1- (pop x))))
+      (list (+ arg1 arg2 arg3) arg1 arg2 arg3)))
+
+and the arguments will be evaluated only once and in order."
+  (declare (debug (arg body)) (indent 1))
+  (let ((args (gensym (symbol-name listvar))))
+    `(let ((,args
+            (cl-loop for i from 1 to (length ,listvar) collect
+                     (make-symbol (format "%s$%d" ',(symbol-name args) i)))))
+       `(let* ,(cl-mapcar #'list ,args ,listvar)
+          ,(let ((,listvar ,args))
+             ,@body)))))
+
 ;;; Multiple values.
 
 ;;;###autoload
-- 
2.44.2


--=-=-=--




Acknowledgement sent to Thuna <thuna.cing@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#72344; 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, 13 Feb 2025 07:15:02 UTC

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