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: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 <JISX0208> self-insert-command
--
Roy Smith
roy@panix.com