action: keep array of default actions, instead of list of changes
authorRan Benita <ran234@gmail.com>
Sun, 2 Sep 2012 08:29:31 +0000 (11:29 +0300)
committerRan Benita <ran234@gmail.com>
Mon, 3 Sep 2012 07:25:20 +0000 (10:25 +0300)
commit87bfd973331491f7ab54626b61eb3a1ff46f8dcd
tree867cdd0102c48aff40d2b76e11863f2abf736150
parent4ca85c7b3b46fb8d54d884a13c29cc78967f2313
action: keep array of default actions, instead of list of changes

The implementation of changing the default properties of actions, e.g. a
statements such as (from test/data/compat/basic):
    setMods.clearLocks= True;
    latchMods.clearLocks= True;
    latchMods.latchToLock= True;
works by keeping a list of ActionInfo's, each containing the neccesary
info from each statement, and then when some action comes up (e.g. in an
interpret statment) it goes through the list, and applies the relevent
ActionInfo's to the newly-constructed xkb_action.

Instead of doing this, we add a struct ActionsInfo, which contains an
array of xkb_actions, one for each type. When a default changing
statement appears, we change the action in the array; when a new action
comes up, we just copy from the array. This is simpler to figure out,
and pretty straightforward.

Signed-off-by: Ran Benita <ran234@gmail.com>
src/xkbcomp/action.c
src/xkbcomp/action.h
src/xkbcomp/compat.c
src/xkbcomp/symbols.c