From: Sean Whitton <spwhitton@spwhitton.name>
To: Thuna <thuna.cing@gmail.com>
Cc: 72344@debbugs.gnu.org
Subject: bug#72344: [PATCH] Add a version of cl-once-only which handles lists of forms
Date: Mon, 29 Jul 2024 16:09:41 +0900 [thread overview]
Message-ID: <8734nsk72i.fsf@melete.silentflame.com> (raw)
In-Reply-To: <87y15l1aj8.fsf@gmail.com> (Thuna's message of "Sun, 28 Jul 2024 23:17:31 +0200")
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
next prev parent reply other threads:[~2024-07-29 7:09 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-28 21:17 bug#72344: [PATCH] Add a version of cl-once-only which handles lists of forms Thuna
2024-07-29 0:39 ` Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-29 19:30 ` Thuna
2024-07-29 19:54 ` Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-29 7:09 ` Sean Whitton [this message]
2024-07-29 19:54 ` Thuna
2024-08-03 2:51 ` Sean Whitton
2024-08-03 22:40 ` Thuna
2024-08-06 1:41 ` Sean Whitton
2024-08-06 1:47 ` Sean Whitton
2024-08-09 5:44 ` Sean Whitton
2024-08-06 12:28 ` Thuna
2024-08-06 12:37 ` Sean Whitton
2024-08-13 21:17 ` Thuna
2024-08-13 21:36 ` Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-08-13 22:18 ` Thuna
2024-08-13 22:57 ` Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-08-14 0:01 ` Sean Whitton
2024-08-14 0:05 ` Sean Whitton
2024-08-14 2:21 ` Thuna
2024-08-14 6:09 ` Eli Zaretskii
2024-08-14 14:14 ` Thuna
2024-08-14 14:29 ` Eli Zaretskii
2024-08-15 1:05 ` Thuna
2024-08-15 6:28 ` Eli Zaretskii
2024-08-15 15:15 ` Thuna
2024-08-15 16:20 ` Eli Zaretskii
2024-08-19 16:54 ` Richard Stallman
2024-08-15 12:38 ` Sean Whitton
2024-08-15 15:02 ` Thuna
2024-08-14 9:47 ` Sean Whitton
2024-08-06 15:52 ` Drew Adams via Bug reports for GNU Emacs, the Swiss army knife of text editors
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8734nsk72i.fsf@melete.silentflame.com \
--to=spwhitton@spwhitton.name \
--cc=72344@debbugs.gnu.org \
--cc=thuna.cing@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).