git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Trygve Aaberge <trygveaa@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: Regression: Ctrl-c from the pager in an alias exits it
Date: Fri, 6 Jan 2017 01:40:32 -0500	[thread overview]
Message-ID: <20170106064032.eqxxer5mx5hsh2md@sigill.intra.peff.net> (raw)
In-Reply-To: <20170105142529.GA15009@aaberge.net>

On Thu, Jan 05, 2017 at 03:25:29PM +0100, Trygve Aaberge wrote:

> I'm experiencing an issue when using aliases for commands that open the pager.
> When I press Ctrl-c from the pager, it exits. This does not happen when I
> don't use an alias and did not happen before. It causes problems because
> Ctrl-c is also used for other things, such as canceling a search that hasn't
> completed.
> 
> To reproduce, create e.g. the alias `l = log` and run `git l`. Then press
> Ctrl-c. The expected behavior is that nothing happens. The actual behavior is
> that the pager exits.

That's weird. I can't reproduce at all here. But I also can't think of a
thing that Git could do that would impact the behavior. For example:

  1. Git should never kill() the pager; in fact it waits for it to
     finish.

  2. Git can impact the pager environment and command line options, but
     those haven't changed anytime recently (and besides, I'm not sure
     there even is an option to convince less to die).

  3. Git can impact the set of blocked signals that the pager sees, but
     I think less would set up its own handler for SIGINT anyway.

I suppose it's possible that your shell or another program (tmux,
maybe?) catches the SIGINT and does a process-group kill. But then I
don't know why it would matter that you're using an alias. The process
tree without an alias:

  |-xterm,21861,peff
  |   `-bash,21863
  |       `-git,22376 log
  |           `-less,22377

and with:

  |-xterm,21861,peff
  |   `-bash,21863
  |       `-git,22391 l
  |           `-git-log,22393
  |               `-less,22394

are pretty similar.

Puzzling.

-Peff

  reply	other threads:[~2017-01-06  6:47 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-05 14:25 Regression: Ctrl-c from the pager in an alias exits it Trygve Aaberge
2017-01-06  6:40 ` Jeff King [this message]
2017-01-06  6:47   ` Jeff King
2017-01-06  7:26     ` Jeff King
2017-01-06  7:32       ` Jeff King
2017-01-06 13:19         ` Trygve Aaberge
2017-01-06 14:39         ` Johannes Sixt
2017-01-06 19:41           ` Jeff King
2017-01-06 22:42             ` Johannes Sixt
2017-01-06 23:20               ` Jeff King
2017-01-07  1:14                 ` [PATCH 0/3] fix ^C killing pager when running alias Jeff King
2017-01-07  1:16                   ` [PATCH 1/3] execv_dashed_external: use child_process struct Jeff King
2017-01-07  1:17                   ` [PATCH 2/3] execv_dashed_external: stop exiting with negative code Jeff King
2017-01-07  1:22                   ` [PATCH 3/3] execv_dashed_external: wait for child on signal death Jeff King
2017-01-07  7:28                     ` Johannes Sixt
2017-01-07  7:34                       ` Jeff King
2017-01-07  9:07                     ` Duy Nguyen
2017-01-07 23:26                   ` [PATCH 0/3] fix ^C killing pager when running alias Jacob Keller
2017-01-07 23:27                     ` Jacob Keller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170106064032.eqxxer5mx5hsh2md@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=trygveaa@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).