From 631e9c20f8a87c97d93810366242e0f80c546516 Mon Sep 17 00:00:00 2001 From: djcb Date: Sat, 28 Sep 2013 11:20:22 -0700 Subject: [PATCH] * mu: fix some problems with the option parser (so e.g. --version works again) --- mu/mu-config.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/mu/mu-config.c b/mu/mu-config.c index dbad5d11..aa0caca4 100644 --- a/mu/mu-config.c +++ b/mu/mu-config.c @@ -479,9 +479,14 @@ cmd_from_string (const char *str) for (i = 0; i != G_N_ELEMENTS(cmd_map); ++i) if (strcmp (str, cmd_map[i].name) == 0) return cmd_map[i].cmd; +#ifdef BUILD_GUILE + /* if we don't recognize it and it's not an option, it may be + * some script */ + if (str[0] == '-') + return MU_CONFIG_CMD_SCRIPT; +#endif /*BUILD_GUILE*/ - /* if we don't recognize it, it may be some script */ - return MU_CONFIG_CMD_SCRIPT; + return MU_CONFIG_CMD_UNKNOWN; } @@ -511,6 +516,14 @@ parse_cmd (int *argcp, char ***argvp, GError **err) } #endif /*!BUILD_GUILE*/ + if (MU_CONFIG.cmdstr && MU_CONFIG.cmdstr[0] != '-' && + MU_CONFIG.cmd == MU_CONFIG_CMD_UNKNOWN) { + mu_util_g_set_error (err, MU_ERROR_IN_PARAMETERS, + "unknown command '%s'", + MU_CONFIG.cmdstr); + return FALSE; + } + return TRUE; }