From: Jonas Bernoulli <jonas@bernoul.li>
To: "Kévin Le Gouguec" <kevin.legouguec@gmail.com>, 58875@debbugs.gnu.org
Cc: Lars Ingebrigtsen <larsi@gnus.org>
Subject: bug#58875: 29.0.50; emoji-insert triggers a Lisp error
Date: Wed, 02 Nov 2022 23:39:04 +0100 [thread overview]
Message-ID: <87mt99q8vr.fsf@bernoul.li> (raw)
In-Reply-To: <87leoxp69o.fsf@gmail.com>
Kévin Le Gouguec <kevin.legouguec@gmail.com> writes:
> Kévin Le Gouguec <kevin.legouguec@gmail.com> writes:
>
>> If I revert 2022-10-28 "* lisp/transient.el: Update to package version
>> v0.3.7-173-g81b29ca" (de5a3fa1e5), then I no longer get an error.
>>
>> Haven't dug deeper yet. FWIW it's not clear to me if the fault lies on
>> the side of transient.el or emoji.el: Magit and rg.el's transients work
>> fine AFAICT.
>
> Bisecting the transient repo with…
>
> ~/src/emacs/master/src/emacs -Q --batch \
> -L ~/.emacs.d/elpa/compat-28.1.2.2 \
> -L ~/src/emacs/transient/lisp \
> -eval '(emoji-insert)' || false
>
> … points to:
>
> ea851f3bde0b769b04ad03ab1a1341c013d0ddc6 is the first bad commit
> commit ea851f3bde0b769b04ad03ab1a1341c013d0ddc6
> Author: Jonas Bernoulli <jonas@bernoul.li>
> Date: Thu Oct 20 12:19:22 2022 +0200
>
> Turn suffix specifications into code instead of data
>
> The macro `transient-define-prefix' manipulates its GROUP arguments,
> but until now it expanded to new vectors using vector syntax, i.e.,
> data. An effort was made to evaluate lambda expressions, but that did
> not really work.
>
> Now the GROUP arguments are expanded into code, which evaluates to new
> vectors. This way lambda expressions are automatically evaluated and
> byte-compiled, but we now have to take care to quote certain lists and
> symbols.
>
> Functions such as `transient-insert-suffix' take group and suffix
> specs of the same form as `transient-define-prefix' but because there
> is no macro expansion step, they have to `eval' the result of parsing
> these specifications.
>
> Add a new macro `transient-define-groups', which can be used to define
> suffix groups that are shared between multiple prefix commands, but
> don't use it for `transient-common-commands' to avoid having to make
> a bunch of functions available at compile time.
>
> Still haven't actually looked at what the fuss is about. Based solely
> on emoji.el's use of internal transient-- functions, I'd be tempted to
> conclude that emoji--define-transient needs to be updated 🤔
Fixed with da89281837ae85b7656070b7afbd3e6d94293b88. Thanks for the
report.
Cheers,
Jonas
next prev parent reply other threads:[~2022-11-02 22:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-29 20:28 bug#58875: 29.0.50; emoji-insert triggers a Lisp error Kévin Le Gouguec
2022-10-30 17:31 ` Kévin Le Gouguec
2022-11-02 22:39 ` Jonas Bernoulli [this message]
2022-11-03 6:26 ` Eli Zaretskii
2022-11-03 17:32 ` Kévin Le Gouguec
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=87mt99q8vr.fsf@bernoul.li \
--to=jonas@bernoul.li \
--cc=58875@debbugs.gnu.org \
--cc=kevin.legouguec@gmail.com \
--cc=larsi@gnus.org \
/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).