aboutsummaryrefslogtreecommitdiff
path: root/xkbcomp/xkbparse.y
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-11-05 07:36:16 +0100
committermarha <marha@users.sourceforge.net>2012-11-05 07:36:16 +0100
commit1cc98f5a48924d750fbef7ea6b05a1ba49c28589 (patch)
tree24c2eebc8ef3536e89b355b099d844083646d190 /xkbcomp/xkbparse.y
parent67c290de36ddc1caae94c0892157ac16b90e4f99 (diff)
downloadvcxsrv-1cc98f5a48924d750fbef7ea6b05a1ba49c28589.tar.gz
vcxsrv-1cc98f5a48924d750fbef7ea6b05a1ba49c28589.tar.bz2
vcxsrv-1cc98f5a48924d750fbef7ea6b05a1ba49c28589.zip
xserver mesa xkbcomp git update 5 nov 2012
xserver: a194630f7f7b287cb4ea4a459df0745f4c0d4c1a mesa: ccbfe3dde94cd50a4e6468cfeabf95c79c9d8072 xkbcomp: a68c5b7b29eb1433b1be73b50c4248e10eab8e64
Diffstat (limited to 'xkbcomp/xkbparse.y')
-rw-r--r--xkbcomp/xkbparse.y10
1 files changed, 9 insertions, 1 deletions
diff --git a/xkbcomp/xkbparse.y b/xkbcomp/xkbparse.y
index 51b3bf7e9..d816bee6e 100644
--- a/xkbcomp/xkbparse.y
+++ b/xkbcomp/xkbparse.y
@@ -141,7 +141,7 @@ unsigned int parseDebug;
%type <str> KeyName MapName OptMapName KeySym
%type <sval> FieldSpec Ident Element String
%type <any> DeclList Decl
-%type <expr> OptExprList ExprList Expr Term Lhs Terminal ArrayInit
+%type <expr> OptExprList ExprList Expr Term Lhs Terminal ArrayInit KeySyms
%type <expr> OptKeySymList KeySymList Action ActionList Coord CoordList
%type <var> VarDecl VarDeclList SymbolsBody SymbolsVarDecl
%type <vmod> VModDecl VModDefList VModDef
@@ -717,8 +717,12 @@ OptKeySymList : KeySymList { $$= $1; }
KeySymList : KeySymList COMMA KeySym
{ $$= AppendKeysymList($1,$3); }
+ | KeySymList COMMA KeySyms
+ { $$= AppendKeysymList($1,strdup("NoSymbol")); }
| KeySym
{ $$= CreateKeysymList($1); }
+ | KeySyms
+ { $$= CreateKeysymList(strdup("NoSymbol")); }
;
KeySym : IDENT { $$= strdup(scanBuf); }
@@ -730,6 +734,10 @@ KeySym : IDENT { $$= strdup(scanBuf); }
}
;
+KeySyms : OBRACE KeySymList CBRACE
+ { $$= $2; }
+ ;
+
SignedNumber : MINUS Number { $$= -$2; }
| Number { $$= $1; }
;