[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#58875: 29.0.50; emoji-insert triggers a Lisp error
From: |
Jonas Bernoulli |
Subject: |
bug#58875: 29.0.50; emoji-insert triggers a Lisp error |
Date: |
Wed, 02 Nov 2022 23:39:04 +0100 |
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
- bug#58875: 29.0.50; emoji-insert triggers a Lisp error,
Jonas Bernoulli <=