After upgrading to the latest version in the DARCS repository yesterday,
I noticed that key bindings defined for different window types, i.e. in
different `defbindings' clauses, that involve the same non-modifier keys
and differ only in modifier keys are not handled correctly.

For example, I have the following key binding defined in cfg_bindings.lua:

defbindings("WFrame", {
    submap(DEFAULT_PREFIX) {
        kpress("N", "WFrame.switch_next(_)"),
    },
})

where DEFAULT_PREFIX is defined as "Mod4+K" and DEFAULT_MOD is defined
as "Mod4+".

I also have the following key binding defined in cfg_ionws.lua:

defbindings("WIonWS", {
    submap(DEFAULT_PREFIX) {
       kpress(DEFAULT_MOD.."n",       "ionws_move_current(_, 'down')"),
    },
})

When I press "Mod4+K" followed by "Mod4+n", WFrame.switch_next is
called, rather than ionws_move_current.  The bindings worked correctly
with a version of ion-3 from December 2004.

Through testing, I found that this problem does not occur when `similar'
bindings are defined in the same defbindings clause.

-- 
Jeremy Maitin-Shepard

Reply via email to