unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).