git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Manual hunk edit mode + emacs + ^G == garbage

From
Kevin Ballard <kevin@sb.org>
Date
Oct 13, 2010, 22:49 UTC
Message-ID
<54F2B62F-E768-49D8-96CB-780DA3ECBF0E@sb.org>
In-Reply-To
<m27hhld8d9.fsf@igel.home>
On Oct 13, 2010, at 3:40 PM, Andreas Schwab wrote:
Show 8 quoted lines
> Kevin Ballard <kevin@sb.org> writes:
> 
>> I've been investigating this on the emacs side as well. At the moment, my suspicion is that ^G causes emacs to trigger (keyboard-quit), but at the same time the surrounding environment (e.g. git) is sending a SIGINT to emacs, which normally acts like ^G but in this case may be triggering the emergency exit mode of emacs. Is there some reason that the interactive add would be sending SIGINT to emacs when I type ^G?
> 
> If you are using text mode (-nw) then Emacs redefines the INTR character
> of the terminal to ^G.  On the other hand it should also put itself into
> its own process group, so the parent should not receive the terminal
> signals.  And this is what happens here when I try it.
I am indeed using text mode. And when I test, invoking `emacs` directly gives it its on process group, but invoking emacs from `git add -p`+e doesn't.

kevin@Brandybuck:~> ps -jp 34581 34540 USER PID PPID PGID SESS JOBC STAT TT TIME COMMAND kevin 34540 34539 34538 7d29d68 1 S+ s001 0:00.08 /usr/bin/perl /usr/local/libexec/git-core/git-add--interactive -- kevin 34581 34540 34538 7d29d68 1 S+ s001 0:00.61 /usr/bin/emacs /Users/kevin/Dev/Work/Standard9/inkling-ipad/.git/

Any idea why this would be?
-Kevin Ballard
Previous: Andreas SchwabNext: Ævar Arnfjörð Bjarmason
Message 5 of 10 in “Manual hunk edit mode + emacs + ^G == garbage”
  1. Kevin BallardOct 13, 2010
  2. Drew NorthupOct 13, 2010
  3. Kevin BallardOct 13, 2010
  4. Andreas SchwabOct 13, 2010
  5. Kevin BallardOct 13, 2010
  6. Ævar Arnfjörð BjarmasonOct 14, 2010
  7. Kevin BallardOct 14, 2010
  8. Miles BaderOct 14, 2010
  9. Kevin BallardOct 15, 2010
  10. Matt McClureFeb 22, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.