Skip to content

Autoloading transient-define-prefix form fails #280

Closed
@alphapapa

Description

@alphapapa

Hi Jonas,

This seems to be the issue described in #254.

Please see this code in my listen package:

https://github.com/alphapapa/listen.el/blob/5abe25ff1678ffa694f7b062ca748ac143af47a1/listen.el#L331-L344

I explicitly (require 'transient), and I do:

;;;###autoload
(transient-define-prefix listen-menu () ...

But when I start Emacs, I get this error:

Error loading autoloads: (void-function transient-prefix)

Frustratingly, that error doesn't point to the source of the error. But I've narrowed it down to the autoloads for listen, as (featurep 'listen-autoloads) returns nil, and the functions autoloaded in listen-autoloads.el after this line are not defined:

(put 'listen-menu 'transient--prefix (transient-prefix :command 'listen-menu :info-manual "(listen)" :refresh-suffixes t))

If I manually M-x load-library RET listen-autoloads RET, then the rest of the file gets loaded and the functions are defined.

I don't understand how I could be the first (or even second) to encounter this problem, and I don't know how to fix it. By preventing my package's autoloads from loading completely, it's breaking some important functionality in the package.

I'd appreciate any help. Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    supportUser needs some help

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions