The 'v'iew subcommand of the interactive mode of "git am -i" was broken by the rewrite to C we did at around 2.6.0 timeframe at 7ff26832 (builtin-am: implement -i/--interactive, 2015-08-04); we used to spawn the pager via the shell, accepting things like PAGER='less -S' in the environment, but the rewrite forgot and tried to directly spawn a command whose name is the entire string. The bug is understandable, because there are things we need to do other than just run_command() to run the pager, such as running it with default LESS/LV settings and running it via the shell, but these pieces of necessary knowledge about what is the right thing to do are hoarded by the setup_pager() entry point, which is only good if we are feeding our own standard output to the pager. A codepath that wants to run the pager but not on our output needs to do the right thing on its own. So the first patch in this series factors out a helper function to let the caller run the pager the right way. They make the third patch to fix the breakage in "am" trivial. I debated myself where the call of git_pager() should go (it could be argued that it conceptually belongs to the new prepare_pager_args() helper), but I opted for a simpler change. Junio C Hamano (3): pager: lose a separate argv[] pager: factor out a helper to prepare a child process to run the pager am -i: fix "v"iew builtin/am.c | 5 +++-- cache.h | 4 ++++ pager.c | 26 ++++++++++++++++++-------- 3 files changed, 25 insertions(+), 10 deletions(-) -- 2.7.1-460-gd45d0a4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html