* package-quickstart: Error from transient etc after Emacs Rebuild
@ 2024-02-19 4:38 T.V Raman
2024-02-19 11:19 ` Jonas Bernoulli
0 siblings, 1 reply; 11+ messages in thread
From: T.V Raman @ 2024-02-19 4:38 UTC (permalink / raw)
To: emacs-devel
I built emacs from Git@HEAD this morning.
I'm seeing failures with transientm forge etc --
with package-quickstart set to t in early-init.el:
Error during quickstart: (void-variable forge-pull-topic)
Error loading autoloads: (void-function transient-define-suffix)
--
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 4:38 package-quickstart: Error from transient etc after Emacs Rebuild T.V Raman
@ 2024-02-19 11:19 ` Jonas Bernoulli
2024-02-19 15:19 ` T.V Raman
0 siblings, 1 reply; 11+ messages in thread
From: Jonas Bernoulli @ 2024-02-19 11:19 UTC (permalink / raw)
To: T.V Raman, emacs-devel
> Error during quickstart: (void-variable forge-pull-topic)
> Error loading autoloads: (void-function transient-define-suffix)
This should be fixed now.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 11:19 ` Jonas Bernoulli
@ 2024-02-19 15:19 ` T.V Raman
2024-02-19 16:40 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: T.V Raman @ 2024-02-19 15:19 UTC (permalink / raw)
To: Jonas Bernoulli; +Cc: emacs-devel
confirming, fixed after forge update today. Thanks for the quick
turnaround
--
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 15:19 ` T.V Raman
@ 2024-02-19 16:40 ` Eli Zaretskii
2024-02-19 17:08 ` T.V Raman
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2024-02-19 16:40 UTC (permalink / raw)
To: T.V Raman; +Cc: jonas, emacs-devel
> From: "T.V Raman" <raman@google.com>
> Cc: emacs-devel@gnu.org
> Date: Mon, 19 Feb 2024 07:19:51 -0800
>
> confirming, fixed after forge update today. Thanks for the quick
> turnaround
Where was this fixed? I don't think I see anything related in the
Emacs Git repository. What did I miss?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 16:40 ` Eli Zaretskii
@ 2024-02-19 17:08 ` T.V Raman
2024-02-19 17:37 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: T.V Raman @ 2024-02-19 17:08 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: jonas, emacs-devel
It was not emacs' fault -- the issue was in the latest release of forge,
but it ended up complaining about transient which is bundled in Emacs
--
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 17:08 ` T.V Raman
@ 2024-02-19 17:37 ` Eli Zaretskii
2024-02-19 19:06 ` T.V Raman
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2024-02-19 17:37 UTC (permalink / raw)
To: T.V Raman; +Cc: jonas, emacs-devel
> From: "T.V Raman" <raman@google.com>
> Cc: jonas@bernoul.li, emacs-devel@gnu.org
> Date: Mon, 19 Feb 2024 09:08:23 -0800
>
> It was not emacs' fault -- the issue was in the latest release of forge,
> but it ended up complaining about transient which is bundled in Emacs
Nowadays transient is part of Emacs, that's why I asked.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 17:37 ` Eli Zaretskii
@ 2024-02-19 19:06 ` T.V Raman
2024-02-19 19:23 ` Eli Zaretskii
0 siblings, 1 reply; 11+ messages in thread
From: T.V Raman @ 2024-02-19 19:06 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: jonas, emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
>> From: "T.V Raman" <raman@google.com>
>> Cc: jonas@bernoul.li, emacs-devel@gnu.org
>> Date: Mon, 19 Feb 2024 09:08:23 -0800
>>
>> It was not emacs' fault -- the issue was in the latest release of forge,
>> but it ended up complaining about transient which is bundled in Emacs
>
> Nowadays transient is part of Emacs, that's why I asked.
I know that which is why I too thought it was a fault in Emacs.
However the fault happened to be in forge's use of transient, which
Jonas has now fixed.
--
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 19:06 ` T.V Raman
@ 2024-02-19 19:23 ` Eli Zaretskii
2024-02-20 18:19 ` Jonas Bernoulli
0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2024-02-19 19:23 UTC (permalink / raw)
To: T.V Raman; +Cc: jonas, emacs-devel
> From: "T.V Raman" <raman@google.com>
> Cc: jonas@bernoul.li, emacs-devel@gnu.org
> Date: Mon, 19 Feb 2024 11:06:28 -0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
>
> >> From: "T.V Raman" <raman@google.com>
> >> Cc: jonas@bernoul.li, emacs-devel@gnu.org
> >> Date: Mon, 19 Feb 2024 09:08:23 -0800
> >>
> >> It was not emacs' fault -- the issue was in the latest release of forge,
> >> but it ended up complaining about transient which is bundled in Emacs
> >
> > Nowadays transient is part of Emacs, that's why I asked.
> I know that which is why I too thought it was a fault in Emacs.
>
> However the fault happened to be in forge's use of transient, which
> Jonas has now fixed.
I guess I was confused by the fact that you raised the issue here,
which led me to think the problem was in Emacs, and specifically in
transient.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-19 19:23 ` Eli Zaretskii
@ 2024-02-20 18:19 ` Jonas Bernoulli
2024-02-20 18:26 ` T.V Raman
2024-02-20 18:37 ` Eli Zaretskii
0 siblings, 2 replies; 11+ messages in thread
From: Jonas Bernoulli @ 2024-02-20 18:19 UTC (permalink / raw)
To: Eli Zaretskii, T.V Raman; +Cc: emacs-devel
Eli Zaretskii <eliz@gnu.org> writes:
> I guess I was confused by the fact that you raised the issue here,
> which led me to think the problem was in Emacs, and specifically in
> transient.
The issue was in Forge in this case, but its easy to make this sort of
mistake (I've done it before), so I would like to apply the following
commit, which prevents this, by allowing the use of plain
";;;###autoload". That's also more convenient and has the benefit that
the autoload will also contain the docstring.
Unfortunately authors of packages, which are not part of Emacs, won't be
able to take advantage of this until they require at least Emacs 30.
Maybe packages should be able to inform loaddefs-generate--make-autoload
if macros, which they define, should be treated the same as defun, using
some thing like:
(put 'specialized-defun 'autoload-function 'defun)
---
commit cd0d8dc86f5ad8ee800ab031c31c26af9667d8e9 (HEAD -> master)
Author: Jonas Bernoulli <jonas@bernoul.li>
Date: Tue Feb 20 18:49:20 2024 +0100
Allow trivially autoloading uses of transient's define macros
Since 49e41991b2f transient-define-prefix itself was autoloaded, but
that meant that when ever an autoload file was loaded which contained
an autoload for a command defined using that macro, transient itself
had to be loaded.
That shouldn't be necessary. For commands using these macros, an
autoload that is identical to what would have been generated if it
had been defined using defun, works just fine.
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--make-autoload): Allow uses of
transient-define-prefix, transient-define-suffix,
transient-define-infix and transient-define-argument
to be autoloaded using just ";;;autoload".
* lisp/transient.el (transient-define-prefix): No longer autoload.
diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el
index 238ec9d179b..581053f6304 100644
--- a/lisp/emacs-lisp/loaddefs-gen.el
+++ b/lisp/emacs-lisp/loaddefs-gen.el
@@ -201,8 +201,7 @@ loaddefs-generate--make-autoload
define-globalized-minor-mode defun defmacro
easy-mmode-define-minor-mode define-minor-mode
define-inline cl-defun cl-defmacro cl-defgeneric
- cl-defstruct pcase-defmacro iter-defun cl-iter-defun
- transient-define-prefix))
+ cl-defstruct pcase-defmacro iter-defun cl-iter-defun))
(macrop car)
(setq expand (let ((load-true-file-name file)
(load-file-name file))
@@ -218,13 +217,17 @@ loaddefs-generate--make-autoload
define-globalized-minor-mode
easy-mmode-define-minor-mode define-minor-mode
cl-defun defun* cl-defmacro defmacro*
- define-overloadable-function))
+ define-overloadable-function
+ transient-define-prefix transient-define-suffix
+ transient-define-infix transient-define-argument))
(let* ((macrop (memq car '(defmacro cl-defmacro defmacro*)))
(name (nth 1 form))
(args (pcase car
((or 'defun 'defmacro
'defun* 'defmacro* 'cl-defun 'cl-defmacro
- 'define-overloadable-function)
+ 'define-overloadable-function
+ 'transient-define-prefix 'transient-define-suffix
+ 'transient-define-infix 'transient-define-argument)
(nth 2 form))
('define-skeleton '(&optional str arg))
((or 'define-generic-mode 'define-derived-mode
@@ -246,7 +249,11 @@ loaddefs-generate--make-autoload
define-global-minor-mode
define-globalized-minor-mode
easy-mmode-define-minor-mode
- define-minor-mode))
+ define-minor-mode
+ transient-define-prefix
+ transient-define-suffix
+ transient-define-infix
+ transient-define-argument))
t)
(and (eq (car-safe (car body)) 'interactive)
;; List of modes or just t.
diff --git a/lisp/transient.el b/lisp/transient.el
index f9060f5ba85..bb35746e186 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -855,7 +855,6 @@ transient-subgroups
;;; Define
-;;;###autoload
(defmacro transient-define-prefix (name arglist &rest args)
"Define NAME as a transient prefix command.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-20 18:19 ` Jonas Bernoulli
@ 2024-02-20 18:26 ` T.V Raman
2024-02-20 18:37 ` Eli Zaretskii
1 sibling, 0 replies; 11+ messages in thread
From: T.V Raman @ 2024-02-20 18:26 UTC (permalink / raw)
To: jonas; +Cc: eliz, raman, emacs-devel
Thanks as ever Jonas!
--
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: package-quickstart: Error from transient etc after Emacs Rebuild
2024-02-20 18:19 ` Jonas Bernoulli
2024-02-20 18:26 ` T.V Raman
@ 2024-02-20 18:37 ` Eli Zaretskii
1 sibling, 0 replies; 11+ messages in thread
From: Eli Zaretskii @ 2024-02-20 18:37 UTC (permalink / raw)
To: Jonas Bernoulli; +Cc: raman, emacs-devel
> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: emacs-devel@gnu.org
> Date: Tue, 20 Feb 2024 19:19:41 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I guess I was confused by the fact that you raised the issue here,
> > which led me to think the problem was in Emacs, and specifically in
> > transient.
>
> The issue was in Forge in this case, but its easy to make this sort of
> mistake (I've done it before), so I would like to apply the following
> commit, which prevents this, by allowing the use of plain
> ";;;###autoload". That's also more convenient and has the benefit that
> the autoload will also contain the docstring.
Feel free, and thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-02-20 18:37 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-19 4:38 package-quickstart: Error from transient etc after Emacs Rebuild T.V Raman
2024-02-19 11:19 ` Jonas Bernoulli
2024-02-19 15:19 ` T.V Raman
2024-02-19 16:40 ` Eli Zaretskii
2024-02-19 17:08 ` T.V Raman
2024-02-19 17:37 ` Eli Zaretskii
2024-02-19 19:06 ` T.V Raman
2024-02-19 19:23 ` Eli Zaretskii
2024-02-20 18:19 ` Jonas Bernoulli
2024-02-20 18:26 ` T.V Raman
2024-02-20 18:37 ` Eli Zaretskii
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).