summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xC.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/xC.c b/xC.c
index 75e5ea8..d65e85a 100644
--- a/xC.c
+++ b/xC.c
@@ -13887,22 +13887,27 @@ build_editor_command (struct app_context *ctx, const char *filename)
{
case 'F':
str_append (&argument, filename);
- break;
+ continue;
case 'L':
str_append_printf (&argument, "%zu", line_one_based);
- break;
+ continue;
case 'C':
str_append_printf (&argument, "%zu", column + 1);
- break;
+ continue;
case 'B':
str_append_printf (&argument, "%d", cursor + 1);
- break;
+ continue;
case '%':
case ' ':
str_append_c (&argument, *editor);
- break;
- default:
- print_warning ("unknown substitution variable");
+ continue;
+ }
+
+ const char *p = editor;
+ if (soft_assert (utf8_decode (&p, strlen (p)) > 0))
+ {
+ log_global_error (ctx, "Unknown substitution variable: %#&s",
+ xstrndup (editor, p - editor));
}
}
if (argument.len)