unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Lennart Borgman <lennart.borgman@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 6305@debbugs.gnu.org
Subject: bug#6305: 24.0.50; Regression: most, but not all, keyboard  shortcuts are missing
Date: Mon, 31 May 2010 18:33:45 +0200	[thread overview]
Message-ID: <AANLkTin1yWhqlwwsiE8nGfr_ieP6QDLDdFowaV-mVvxU@mail.gmail.com> (raw)
In-Reply-To: <jwvk4qkytuo.fsf-monnier+emacs@gnu.org>

On Mon, May 31, 2010 at 5:31 PM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
>
>> I have also noticed that key bindings are not always shown in the
>> menus, but I wondered if that was because I was using
>> overriding-terminal-local-map there. I havn't had time to check,
>> however key bindings in global map and normal minor mode maps seems to
>> show up fine in the menus.
>
> I don't know where to start looking without a reproducible recipe.
> The fix for 6171 only touched tmm.el so it can't affect GUI menus.


I think the problem is this:

- Fwhere_is_internal calls Fcurrent_active_maps, but the latter does
not include overriding-terminal-local-map if the first arg is Qnil. It
is Qnil in this case so overriding-terminal-local-map is not
considered.

However using Qt for the first arg is no good either since then only
the overriding map(s) are considered. Obviously Fcurrent_active_maps
behaves this way for the key lookup in the command loop.

Perhaps there should be something like Freally_active_maps ()?


>> In the C code it looks up key bindings like this:
>>   (where-is-internal 'ido-kill-buffer nil t nil nil)
>> However it seems like key remapping is forgotten there.
>
> In which sense?


What was I thinking, I really should learn to be more explicit ... ;-)

Yes, of course it looks at remapping, but for menus it would be good
if this situation was handled too:

- Let us say `kill-buffer' is in the menus.
- It got remapped to `ido-kill-buffer'.

The code in parse_menu_item around line 8008 calls

	  keys = Fwhere_is_internal (def, Qnil, Qt, Qnil, Qnil);

Since the last arg is nil it does not find any binding for
`kill-buffer' AFAICS. Or do I miss something?





  reply	other threads:[~2010-05-31 16:33 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-29 21:38 bug#6305: 24.0.50; Regression: most, but not all, keyboard shortcuts are missing Drew Adams
2010-05-29 22:11 ` Lennart Borgman
2010-05-29 22:18   ` Drew Adams
2010-05-30  1:45     ` Lennart Borgman
2010-05-30  1:49       ` Lennart Borgman
2010-05-31 15:31   ` Stefan Monnier
2010-05-31 16:33     ` Lennart Borgman [this message]
2010-05-31 17:33       ` Drew Adams
2010-05-31 18:05         ` Lennart Borgman
2010-05-31 18:23         ` Stefan Monnier
2010-05-31 18:58           ` Drew Adams
2010-05-31 19:07           ` Lennart Borgman
2010-05-31 19:19             ` Drew Adams
2010-06-02 13:37               ` Drew Adams
2010-06-02 14:13                 ` Stefan Monnier
2010-05-31 19:37             ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTin1yWhqlwwsiE8nGfr_ieP6QDLDdFowaV-mVvxU@mail.gmail.com \
    --to=lennart.borgman@gmail.com \
    --cc=6305@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).