mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
;;;###autodef FORM FORM was used as a predicate for inclusion as an autodef. Now it is used as the replacement sexp in case the module is disabled. Oh, you don't know what autdefs are? Well let me explain (thanks for asking, by the way). An autdef'ed function, macro, or function alias is always available to be called, anywhere in Doom, even if its containing module is disabled. For instance: ;;;###autodef (defun say-hello! (name) ; the trailing ! denotes an autodef (message "Hello %s" name)) This makes it safe to call `do-something` without a check whether it exists (or if its module is enabled). When the module is enabled, an autoload entry is added to the Doom autoloads file: (autoload 'do-something "path/to/some/modules/autoloads") And it is autoloaded as normal when it is first used. However, if the module is disabled, then this is inserted instead: (defmacro do-something (&rest _)) This no-ops; it does nothing and doesn't evaluate its arguments. If FORM above was provided, that is used instead of a noop macro. It's a little smarter than simple substitution, but that's the gist of it.