

I have to correct you: their example is more about making sure Magit will be loaded so it configures project-switch-commands
, before they call project-switch-project
. And don’t “solve” it by just loading Magit on init. I suppose naively it could be solved with
(autoload #'project-switch-project "magit")
and I’m not sure what’s the equivalent use-package expression. You have to be careful not to lose the usual guarantees of use-package wrt. graceful degradation (we don’t want an error “unknown file magit” – which is the whole point of use-package, otherwise you may as well just write the above form).
Maybe if Magit contained the following form?
i.e. autoloading an autoload :)