OK, I'm trying to have a buffer-local keymap variable which is
used by
add-minor-mode. I tried passing the symbol as the keymap argument,
but this does not seem to work. Looking at keymap.c,
get_relevant_minor_maps calls minor_mode_keymap_predicate which calls
get_keymap. Get_keymap seems to indicate that it will dereference
through any symbols, but I don't see how this works... it seems to be
looking through function slots. Can anyone clue me in as to the right
way to do this?
The prize is that ediff-minor-mode (which came to me in a dream this
weekend and will allow one to ignore the control frame and work from
the ediff buffers themselves) should work once this is resolved.
Ediff uses a lot of variables that are local to the control buffer, so this
might not be as easy as it seems.
Also, by design, the same buffer can be involved in several simultaneous
ediff sessions. So, you must somehow arrange that the right keymap will be
present at the right time.
In other words, good luck :-)
If you don't like the control frame, you might want to disable it, so the
ctl buffer will show up in small window of your working frame. This will
take only 2 lines out of your frame real estate.
--michael