Interesting. Thanks for the information. On May 21, 2012, at 8:05 PM, Matt McClure wrote: > That's a bug. Emacs' process has the wrong pgid when its parent isn't an interactive shell. Here's a workaround for the same problem using Git. I would hope you can configure Mercurial similarly. > > http://static.matthewlmcclure.com/n/ > > Emacs C-g Kills `git commit` On Mac OS X > > 2012-02-22 > Workaround: Invoke Emacs via an interactive Bash shell. > > emacs.sh: > > #! /bin/bash -i emacs "$@" > In a shell: > > git config --global core.editor emacs.sh > See also: > http://thread.gmane.org/gmane.comp.version-control.git/158981 > http://www.cons.org/cracauer/sigint.html > > Matt McClure > http://matthewlmcclure.com > http://www.mapmyfitness.com/profile/matthewlmcclure > > On May 21, 2012, at 9:54 AM, Roy Smith wrote: > >> I'm running: >> >> GNU Emacs 22.1.1 >> OSX-10.6.8 >> Mercurial Distributed SCM (version 1.6.4+20101001) >> >> If I do "hg commit", emacs is run as I would expect, but if I type a Control-G, I get an "interrupted!" message, and emacs quits (leaving the terminal modes unrestored). >> >> Running ps shows that the command being executed is: >> >> emacs -nw /var/folders/p5/p5Gj6NRtF-yAXT+X0YVgJU+++TM/-Tmp-/hg-editor-wQEeGG.txt >> >> If I run that manually, I get normal operation. I assume there's something funky about the environment in which emacs is being executed, but I can't figure out what that might be. Any ideas? >> >> It doesn't seem to be related to the buffer; I get the same problem in other buffers. M-X make command summary shows, for both the normal and broken situations: >> >> C-g keyboard-quit self-insert-command >> >> -- >> Roy Smith >> roy@panix.com >> >> -- Roy Smith roy@panix.com