Subject: bug#67070: 29.1; broken keybindings with emacs 29

From: Enrico Scholz <[email-masked]>
Date: Thu, 16 Nov 2023 15:33:52 +0100

Enrico Scholz <[email-masked]> writes:

>> What if you assign Super_L to a modifier bit just for testing?
>
> After an additional
>
> | add Mod3 = Super_L Super_R
>
> emacs reports 'H-M-x is undefined' on 'Meta_L (0x40) + x'.

Doing

| add Mod3 = Super_L Super_R Hyper_R Hyper_L

generates the expected 'M-x'

The Super or Hyper keys are probably coming from

$ setxkbmap
$ xkbcomp :0 - | grep Mod4
    modifier_map Mod4 { <LWIN> };
    modifier_map Mod4 { <RWIN> };
    modifier_map Mod4 { <SUPR> };
    modifier_map Mod4 { <HYPR> };

$ xmodmap ~/.Xmodmap
$ xkbcomp :0 - | grep Mod4
    modifier_map Mod4 { <LALT> };
    modifier_map Mod4 { <RALT> };
    modifier_map Mod4 { <RWIN> };
    modifier_map Mod4 { <META> };

  --> bad 'M-s-x' or 'H-M-x'

$ xkbcomp :0 - | xkbcomp - :0
$ xkbcomp :0 - | grep Mod4
    modifier_map Mod4 { <LALT> };
    modifier_map Mod4 { <RALT> };
    modifier_map Mod4 { <RWIN> };
    modifier_map Mod4 { <META> };

  --> expected 'M-x'

Enrico