The previous sh version of git-commit evaluated the value of the defined editor, thus allowing arguments. Make the builtin version work the same, by adding an explicit check for arguments in the editor command, and extract them to an additional argument. Signed-off-by: Luciano Rocha <luciano@xxxxxxxxxxx> --- builtin-tag.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-) I personally use EDITOR="gvim -f", thus this patch. Created on top of ce85b053d827e2f7c2ee2683cc09393e4768cc22, git-describe is now: v1.5.4-rc0-75-g5f791e5 diff --git a/builtin-tag.c b/builtin-tag.c index 274901a..57dcfe0 100644 --- a/builtin-tag.c +++ b/builtin-tag.c @@ -46,7 +46,18 @@ void launch_editor(const char *path, struct strbuf *buffer, const char *const *e if (!editor) editor = "vi"; - if (strcmp(editor, ":")) { + if (strstr(editor, " -")) { + char *editor_cmd = xstrdup(editor); + char *editor_sep = strstr(editor_cmd, " -"); + const char *args[] = { editor_cmd, editor_sep + 1, + path, NULL }; + + *editor_sep = '\0'; + + if (run_command_v_opt_cd_env(args, 0, NULL, env)) + die("There was a problem with the editor %s.", + editor_cmd); + } else if (strcmp(editor, ":")) { const char *args[] = { editor, path, NULL }; if (run_command_v_opt_cd_env(args, 0, NULL, env)) -- Luciano Rocha <luciano@xxxxxxxxxxx> Eurotux Informática, S.A. <http://www.eurotux.com/>
Attachment:
pgpCcjTZCF3lG.pgp
Description: PGP signature