Commit 22684cd1dd1fd651803f27f3595e02d16b5df0e8

Ran Benita 2012-09-30T10:50:38

parser: remove XkbCompMapList rule This rule allows you to put several xkb_keymaps in one file. This doesn't make any sense: only the default/first can ever be used, yet the others are fully parsed as well. Different keymaps should just be put in different files. Signed-off-by: Ran Benita <ran234@gmail.com>

diff --git a/src/xkbcomp/parser.y b/src/xkbcomp/parser.y
index 5ffb38b..491e96c 100644
--- a/src/xkbcomp/parser.y
+++ b/src/xkbcomp/parser.y
@@ -172,22 +172,16 @@ _xkbcommon_error(struct YYLTYPE *loc, struct parser_param *param, const char *ms
 %type <geom>    Keys Key OverlayDecl OverlayKeyList OverlayKey OutlineList OutlineInList
 %type <geom>    DoodadDecl
 %type <file>    XkbFile XkbMapConfigList XkbMapConfig
-%type <file>    XkbCompositeMap XkbCompMapList
+%type <file>    XkbCompositeMap
 
 %%
 
-XkbFile         :       XkbCompMapList
+XkbFile         :       XkbCompositeMap
                         { $$ = param->rtrn = $1; }
                 |       XkbMapConfigList
                         { $$ = param->rtrn = $1; }
                 ;
 
-XkbCompMapList  :       XkbCompMapList XkbCompositeMap
-                        { $$ = (XkbFile *)AppendStmt(&$1->common, &$2->common); }
-                |       XkbCompositeMap
-                        { $$ = $1; }
-                ;
-
 XkbCompositeMap :       OptFlags XkbCompositeType OptMapName OBRACE
                             XkbMapConfigList
                         CBRACE SEMI
diff --git a/test/data/keymaps/default.xkb b/test/data/keymaps/default.xkb
deleted file mode 100644
index c40ceb9..0000000
--- a/test/data/keymaps/default.xkb
+++ /dev/null
@@ -1,15 +0,0 @@
-xkb_keymap {
-    xkb_keycodes  { include "evdev+aliases(qwerty)" };
-    xkb_types     { include "complete" };
-    xkb_compat    { include "complete" };
-    xkb_symbols   { include "pc+us" };
-    xkb_geometry  { include "pc(pc105)" };
-};
-
-default xkb_keymap {
-    xkb_keycodes  { include "evdev+aliases(qwertz)" };
-    xkb_types     { include "complete" };
-    xkb_compat    { include "complete" };
-    xkb_symbols   { include "pc+de" };
-    xkb_geometry  { include "pc(pc105)" };
-};
diff --git a/test/filecomp.c b/test/filecomp.c
index 1d7a127..0c1111a 100644
--- a/test/filecomp.c
+++ b/test/filecomp.c
@@ -41,8 +41,6 @@ main(void)
     struct xkb_context *ctx = test_get_context();
 
     assert(test_file(ctx, "keymaps/basic.xkb"));
-    /* XXX check we actually get qwertz here ... */
-    assert(test_file(ctx, "keymaps/default.xkb"));
     assert(test_file(ctx, "keymaps/comprehensive-plus-geom.xkb"));
     assert(test_file(ctx, "keymaps/no-types.xkb"));