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