Subject: Re: bug#41890: 28.0.50; [PATCH]: Add bindings for project.el

From: Eli Zaretskii <[email-masked]>
Date: Wed, 17 Jun 2020 19:33:00 +0300

> Cc: [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Wed, 17 Jun 2020 18:49:47 +0300
> 
> On 17.06.2020 17:27, Eli Zaretskii wrote:
> > I mean it isn't preloaded, but is loaded on demand.
> 
> Okay, but... the commands in the keymap will all be autoloaded. So 
> whenever somebody calls them, the aforementioned optional package will 
> get loaded. I'm not sure what the practical issue with that is.

I don't see how this is related to the issue at hand.  All I'm saying
is that a package, including its key bindings, shouldn't be loaded
until some of its feature is invoked.  Therefore, the best place for a
package's keybindings is in the package itself.  What you describe
seems to fit this principle.

> The issue on the other side (keeping the keymap definition in 
> project.el) is that it's an ELPA package as well. And so far we've said 
> that ELPA packages shouldn't significantly modify a user's Emacs just by 
> the virtue of being installed.

We could make the keybindings autoloaded without having them defined
them when the package loads, couldn't we?  By having the define-key on
the same line as the autoload cookie, like bookmark.el does.