#include "indicators.h"
#include "action.h"
#include "compat.h"
+#include "parseutils.h"
typedef struct _SymInterpInfo
{
si = info->dflt;
si.defs.merge = merge;
- si.interp.sym = def->sym;
+ if (!LookupKeysym(def->sym, &si.interp.sym))
+ {
+ WARN("Could not resolve keysym %s\n", def->sym);
+ info->errorCount++;
+ return False;
+ }
si.interp.match = pred & XkbSI_OpMask;
si.interp.mods = mods;
if (!HandleInterpBody(def->def, xkb, &si, info))
}
InterpDef *
-InterpCreate(CARD32 sym, ExprDef * match)
+InterpCreate(char *sym, ExprDef * match)
{
InterpDef *def;
{
def->common.stmtType = StmtInterpDef;
def->common.next = NULL;
- def->sym = sym;
+ def->sym = strdup(sym);
def->match = match;
}
else
unsigned /* set */
);
-extern InterpDef *InterpCreate(CARD32 /* sym */ ,
+extern InterpDef *InterpCreate(char * /* sym */ ,
ExprDef * /* match */
);
;
InterpretMatch : KeySym PLUS Expr
- { $$= InterpCreate(XStringToKeysym($1), $3); }
+ { $$= InterpCreate($1, $3); }
| KeySym
- { $$= InterpCreate(XStringToKeysym($1), NULL); }
+ { $$= InterpCreate($1, NULL); }
;
VarDeclList : VarDeclList VarDecl