state: small style fix

Signed-off-by: Ran Benita <ran234@gmail.com>
keycodes: don't do unnecessary copies while merging

If 'into' in empty we can just steal 'from'.

Also move the alias-merging into the big function, it's nicer this way.

Signed-off-by: Ran Benita <ran234@gmail.com>
keymap: don't use darray for key aliases

With a little tweak to the copy-to-keymap routine in keycodes.c we can
use a normal array.

Signed-off-by: Ran Benita <ran234@gmail.com>
keycodes: remove file_id

The file_id thing is used to identify the XkbFile some statement
originally came from. This is needed to avoid spurious warnings; for
example, if you write the same alias twice in a file, that's redundant,
and you'd want a warning about it. However if intentionally override it
from another file, that's fine, and you shouldn't get a warning. So by
comparing the file_id's the needed log verbosity is changed.

However, the file_id mechanism is really not needed, because we already
have that info! Each KeyNamesInfo corresponds to one XkbFile, so if the
conflict occurred while handling that one file -> same_file = true, and
if it occurs while merging two Info's -> same_file = false.

Signed-off-by: Ran Benita <ran234@gmail.com>
keycodes: unwrap KeyNameInfo

We don't need the struct any more, it only contains one field now.

Signed-off-by: Ran Benita <ran234@gmail.com>
keycodes: remove KeyNamesInfo::merge

Not used.

Signed-off-by: Ran Benita <ran234@gmail.com>
types: put all copy-to-keymap code in one function

Signed-off-by: Ran Benita <ran234@gmail.com>
types: remove file_id

See previous commit.

Signed-off-by: Ran Benita <ran234@gmail.com>
compat: remove file_id

See previous commit.

Signed-off-by: Ran Benita <ran234@gmail.com>
symbols: remove file_id

See previous commits.

Signed-off-by: Ran Benita <ran234@gmail.com>
Remove file_id entirely

It is not used anymore.

Signed-off-by: Ran Benita <ran234@gmail.com>