Commit 5fbffaf035f0c0edbcf7b2e747ccab9a234101ff

Pierre Le Marre 2023-05-13T07:17:58

Add warning when RMLVO with no layout but variant set 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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
diff --git a/src/context-priv.c b/src/context-priv.c
index e94385f..30f3f05 100644
--- a/src/context-priv.c
+++ b/src/context-priv.c
@@ -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. */