GNU bug report logs -
#72333
Magit/Transient error message
Previous Next
Full log
Message #32 received at 72333 <at> debbugs.gnu.org (full text, mbox):
Hi,
On Sun, 28 Jul 2024 at 15:41, daniel szmulewicz <daniel.szmulewicz <at> gmail.com> wrote:
> 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
Well, that’s annoying. Using Guix revision d531237 (CommitDate: Thu Aug
29), I also get this error about Transient and thus it makes Magit
hardly usable with local fixes.
This issue is that emacs-magit does not use the package emacs-transient
but the built-in transient. I mean it fails similarly when removing
emacs-transient from the list of propagated-inputs.
Why is emacs-transient not loaded?
--8<---------------cut here---------------start------------->8---
$ ag --elisp 'defvar transient--buffer' $(./pre-inst-env guix build -S emacs-transient)
/gnu/store/jhbk7wzs9lh7myav6czyxx4i2wgyw3vl-emacs-transient-0.7.4-checkout/lisp/transient.el
1547:(defvar transient--buffer-name " *transient*"
1550:(defvar transient--buffer nil
$ ./pre-inst-env guix shell -C -E TERM emacs emacs-transient \
-- emacs --batch --eval "(progn (require 'transient) (print transient--buffer))"
Error: void-variable (transient--buffer)
mapbacktrace(#f(compiled-function (evald func args flags) #<bytecode 0x1a5b59c931aef3ca>))
debug-early-backtrace()
debug-early(error (void-variable transient--buffer))
(print transient--buffer)
(progn (require 'transient) (print transient--buffer))
command-line-1(("--eval" "(progn (require 'transient) (print transient--buffer))"))
command-line()
normal-top-level()
Symbol's value as variable is void: transient--buffer
--8<---------------cut here---------------end--------------->8---
And built-in transient is used instead?
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix shell -C -E TERM emacs emacs-transient \
-- emacs --batch --eval "(progn (require 'transient) (print transient--buffer-name))"
" *transient*"
--8<---------------cut here---------------end--------------->8---
Please note it works as expected with say Org:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix shell -C -E TERM emacs \
-- emacs --batch --eval "(print (org-version)))"
"9.6.15"
$ ./pre-inst-env guix shell -C -E TERM emacs emacs-org \
-- emacs --batch --eval "(print (org-version)))"
"9.7.10"
--8<---------------cut here---------------end--------------->8---
Cheers,
simon
This bug report was last modified 247 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.