[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Keymap initialization
Re: Keymap initialization
Mon, 26 Jun 2017 18:08:07 +0000
On Mon, Jun 26, 2017 at 13:41:50 -0400, Stefan Monnier wrote:
> >> This is anti-idiomatic: Emacs's own code has been making the
> >> opposite change over the years in most/all bundled packages.
> > I got sick and tired of having to do M-: (makunbound 'foo-map) before
> > loading files with changed keymaps. As a developer yourself, you should
> > welcome such changes.
> C-M-x on the (defvar foo-map ...) takes care of it as well. Or using
> `defconst` instead of `defvar` would do the trick also (although that's
> also less idiomatic). Or write a new M-x reload-file which causes all
> the defvars to be re-evaluated.
Workarounds, every one.
> >> I consider indispensable, but I really don't see why CC-mode's keymaps
> >> need to behave differently from all other major modes.
> > They don't.
> Obviously they do, which is why you made the change.
> > Precisely how these keymaps are constructed and loaded is of
> > lesser importance.
> It seems important enough for you to change from the idiomatic form to
> a non-idiomatic one.
<sigh>. It's of near zero importance to the Emacs team, it's of quite
some importance to the hacker who's currently changing the key maps.
> But yes, I do think it's of lesser importance, which is why I think it's
> more important that the downsides (e.g. the need to C-M-x or (makunbound
> 'foo-map), or the need to re-run your .emacs after reloading cc-mode.el,
> ...) be standardized.
Why do you think things should be standardised? (Not a rhetorical
> IOW, rather than make CC-mode yet-a-bit-more different from the rest of
> Emacs, I wish you would try to find a way to solve your problem globally.
> If this annoyance affects you, there's a good chance it affects many
> other developers, so finding a general solution would be a lot better.
That seems to presume that the way things are already done in Emacs is
at or near some optimum, and deviating from that way is therefore
sub-optimal. I don't think there's any evidence for this. I see some
"standard" ways of doing things in Emacs which I don't think are good.
People should feel free to try out various ways of doing things. Only
this way can new ideas come forth, leading to a gradual improvement in
Emacs when these ideas spread.
Setting key map entries at load time could be a general solution to that
particular annoyance. People, having seen it in CC Mode, will be able
to adapt it for their own modes, should they see fit.
Alan Mackenzie (Nuremberg, Germany).