On Tue, Jul 07, 2020 at 12:19:59PM +0200, Trygve Aaberge wrote: > On Mon, Jul 06, 2020 at 17:14:03 -0400, Jeff King wrote: > > I guess to recreate that you'd need to trigger the pager inside the > > alias itself, like: > > > > $ git -c alias.foo='!{ echo foo; sleep 10; echo bar; } | less' foo > > ^C > > > > which does exhibit the annoying behavior (we exit, and pgrp loses > > the tty session leader bit, and the pager gets EIO). > > Yes, that's correct. So it's a rather niche use case. The main thing for me > was the first commit, but I figured I should fix this too while I was at it. I > don't think I have any current use cases where I would need this fix, but I > could imagine some existing. For instance, before stash list got the -p > option, I had this alias: > > stash-p = !git show $(git stash list | cut -d: -f1) > > And this is one use case where the pager is invoked inside the alias, so the > first patch doesn't help, but the second one fixes it. While this alias isn't > necessary anymore, there could be similar use cases. Thanks for this real-world example. I agree that particular one isn't necessary anymore, but to me it provides a compelling argument. It's not all that far-fetched that somebody runs a git command that triggers a pager inside a shell alias. -Peff