the user's editor likely catches SIGINT (ctrl-C). but if the user spawns a command from the editor and uses ctrl-C to kill that command, the SIGINT will likely also kill git itself. (depending on the editor, this can leave the terminal in an unusable state.) Signed-off-by: Paul Fox <pgf@xxxxxxxxxxxxxxxxxxxx> --- krzysztof wrote: ... > editor.c: In function 'launch_editor': > editor.c:42:3: warning: implicit declaration of function 'sigchain_push' [-Wimplicit-function-declaration] > editor.c:44:3: warning: implicit declaration of function 'sigchain_pop' [-Wimplicit-function-declaration] sigh. i had that initially, lost the patch, and then recreated without it. but i'm surprised my build (i did rebuild! :-) doesn't emit those errors. in any case, here's the fixed patch. editor.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/editor.c b/editor.c index d834003..3ca361b 100644 --- a/editor.c +++ b/editor.c @@ -1,6 +1,7 @@ #include "cache.h" #include "strbuf.h" #include "run-command.h" +#include "sigchain.h" #ifndef DEFAULT_EDITOR #define DEFAULT_EDITOR "vi" @@ -37,8 +38,12 @@ int launch_editor(const char *path, struct strbuf *buffer, const char *const *en if (strcmp(editor, ":")) { const char *args[] = { editor, path, NULL }; + int ret; - if (run_command_v_opt_cd_env(args, RUN_USING_SHELL, NULL, env)) + sigchain_push(SIGINT, SIG_IGN); + ret = run_command_v_opt_cd_env(args, RUN_USING_SHELL, NULL, env); + sigchain_pop(SIGINT); + if (ret) return error("There was a problem with the editor '%s'.", editor); } -- 1.7.5.4 =--------------------- paul fox, pgf@xxxxxxxxxxxxxxxxxxxx (arlington, ma, where it's 26.6 degrees) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html