Hi Daniel,

> Running M-x magit-branch generates the following error:
> transient-setup: Symbol’s function definition is void:
> transient-prefix-object
>
> In order to reproduce:
>
> guix shell emacs emacs-magit -- emacs -Q
>
> M-x magit-version
> Magit 3.3.0-8.538cb2f, Transient 0.7.3, Git 2.45.2, Emacs 29.4, gnu/linux

It looks like this is because emacs is actually using the built-in (older)
version of transient, while magit relies on a function from a newer version.

Evaluating the following definition from the newer transient source code fixes
this particular issue for me (I've put it in my init.el for the time being):

#+begin_src lisp
  (defun transient-prefix-object ()
    (or transient--prefix transient-current-prefix))
#+end_src

This sounds similar to another issue with embark and org [1], however in that report it
was because emacs-org was not included in the environment; in this case, the
newer version of transient is already an input of magit in the guix package, so
I'm not sure what's happening here.

[1] https://github.com/oantolin/embark/issues/723

Cheers,

aurtzy



Reply via email to