xkbcomp: handle XKB file include's better
authorRan Benita <ran234@gmail.com>
Sat, 2 Mar 2013 22:11:27 +0000 (00:11 +0200)
committerDaniel Stone <daniel@fooishbar.org>
Mon, 18 Mar 2013 22:20:04 +0000 (22:20 +0000)
commit614f60e3fa213c0b692dc8e64709e8f9f228d7f7
treefd5e9c201cd9aa657580762c77e7c6063a993925
parenta7b1f80d34233e5d7e63ff80505480b0aaabfa02
xkbcomp: handle XKB file include's better

The 'merge_mode' situation is quite messy, and we've introduced a
regression compared to original xkbcomp: when handling a composite
include statement, such as
    replace "foo(bar)+baz(bla)|doo:dee"
and merging the entire resulting *Info back into the including *Info,
we actually use the merge mode that is set by the last part (here it is
"augment" because of the '|'), when we should be using the one set for
the whole statement (here "replace").

We also take the opportunity to clean up a bit.

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