Add warning when RMLVO with no layout but variant set
authorPierre Le Marre <dev@wismill.eu>
Sat, 13 May 2023 05:17:58 +0000 (07:17 +0200)
committerRan Benita <ran@unusedvar.com>
Sat, 13 May 2023 18:59:37 +0000 (21:59 +0300)
There is no feedback that they are both replaced with default values.
Fix it by adding a warning informing about missing layout and show the
defaults for both.

src/context-priv.c

index e94385f..30f3f05 100644 (file)
@@ -179,6 +179,16 @@ xkb_context_sanitize_rule_names(struct xkb_context *ctx,
      * the caller and one from the environment. */
     if (isempty(rmlvo->layout)) {
         rmlvo->layout = xkb_context_get_default_layout(ctx);
+        if (!isempty(rmlvo->variant)) {
+            const char *variant = xkb_context_get_default_variant(ctx);
+            log_warn(ctx,
+                "Layout not provided, but variant set to \"%s\": "
+                "ignoring variant and using defaults for both: "
+                "layout=\"%s\", variant=\"%s\".\n",
+                rmlvo->variant,
+                rmlvo->layout,
+                variant ? variant : "");
+        }
         rmlvo->variant = xkb_context_get_default_variant(ctx);
     }
     /* Options can be empty, so respect that if passed in. */