compat: reject interpret modifier predicate with more than one value

Given

    interpret ISO_Level3_Shift+AnyOf(all,extraneous) { ... };

Previously, extraneous (and further) was ignored. Now it's rejected.

Signed-off-by: Ran Benita <ran@unusedvar.com>
master
Ran Benita 2019-11-12 22:31:46 +02:00
parent 7d44c7a9f9
commit 3d43f4806d
1 changed files with 1 additions and 1 deletions

View File

@ -265,7 +265,7 @@ ResolveStateAndPredicate(ExprDef *expr, enum xkb_match_operation *pred_rtrn,
if (expr->expr.op == EXPR_ACTION_DECL) {
const char *pred_txt = xkb_atom_text(info->ctx, expr->action.name);
if (!LookupString(symInterpretMatchMaskNames, pred_txt, pred_rtrn) ||
!expr->action.args) {
!expr->action.args || expr->action.args->common.next) {
log_err(info->ctx,
"Illegal modifier predicate \"%s\"; Ignored\n", pred_txt);
return false;