Paul Fox <p...@foxharp.boston.ma.us> writes: > when i implemented the change, i wondered if some twisted emacs > workflow would be an issue. ;-) and i almost blocked SIGQUIT as > well -- the two programs i looked at for precedent (CVS and MH) both > block both SIGQUIT and SIGINT when spawning an editor. > > but since emacs users must have dealt with CVS for a long time before > dealing with git, how might they have done so?
I think I usually ran CVS via vc.el, which prompts for a commit message in Emacs before it runs cvs commit. So CVS did not need to run $EDITOR. I just tried emacsclient with CVS 1.12.13-MirDebian-9, and it behaves somewhat differently from Git with pf/editor-ignore-sigint. When I tell Emacs to send SIGINT to the *Shell* buffer, CVS prompts: cvs commit: warning: editor session failed Log message unchanged or not specified a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs Action: (continue) and then I can choose to abort. With strace, it looks like CVS sets SIG_IGN as the handler of SIGINT and SIGQUIT only in the parent process after forking, not in the child process that executes the editor. CVS also temporarily blocks signals by calling sigprocmask, but it undoes that before it forks or waits for the child process. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html