Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.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)
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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}, ".
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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 [...]
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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-.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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 --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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.
bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.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 --=-=-=--
Thuna <thuna.cing@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#72344
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.