diff options
| author | Junio C Hamano <gitster@pobox.com> | 2016-02-24 13:26:01 -0800 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2016-02-24 13:26:01 -0800 | 
| commit | c3b1e8d85133e2a19d372b7c166d5b49fcbbfef2 (patch) | |
| tree | 0db4cfbd62218fbf54be4160420b6e9c67cd60a0 /pager.c | |
| parent | 595bfefa6c31fa6d76b686ed79b024838db5933e (diff) | |
| parent | 708b8cc9a114ea1e5b90f5f52fd24ecade4e8b40 (diff) | |
| download | git-c3b1e8d85133e2a19d372b7c166d5b49fcbbfef2.tar.gz | |
Merge branch 'jc/am-i-v-fix'
The "v(iew)" subcommand of the interactive "git am -i" command was
broken in 2.6.0 timeframe when the command was rewritten in C.
* jc/am-i-v-fix:
  am -i: fix "v"iew
  pager: factor out a helper to prepare a child process to run the pager
  pager: lose a separate argv[]
Diffstat (limited to 'pager.c')
| -rw-r--r-- | pager.c | 19 | 
1 files changed, 11 insertions, 8 deletions
@@ -11,7 +11,6 @@   * something different on Windows.   */ -static const char *pager_argv[] = { NULL, NULL };  static struct child_process pager_process = CHILD_PROCESS_INIT;  static void wait_for_pager(int in_signal) @@ -64,6 +63,16 @@ const char *git_pager(int stdout_is_tty)  	return pager;  } +void prepare_pager_args(struct child_process *pager_process, const char *pager) +{ +	argv_array_push(&pager_process->args, pager); +	pager_process->use_shell = 1; +	if (!getenv("LESS")) +		argv_array_push(&pager_process->env_array, "LESS=FRX"); +	if (!getenv("LV")) +		argv_array_push(&pager_process->env_array, "LV=-c"); +} +  void setup_pager(void)  {  	const char *pager = git_pager(isatty(1)); @@ -80,14 +89,8 @@ void setup_pager(void)  	setenv("GIT_PAGER_IN_USE", "true", 1);  	/* spawn the pager */ -	pager_argv[0] = pager; -	pager_process.use_shell = 1; -	pager_process.argv = pager_argv; +	prepare_pager_args(&pager_process, pager);  	pager_process.in = -1; -	if (!getenv("LESS")) -		argv_array_push(&pager_process.env_array, "LESS=FRX"); -	if (!getenv("LV")) -		argv_array_push(&pager_process.env_array, "LV=-c");  	argv_array_push(&pager_process.env_array, "GIT_PAGER_IN_USE");  	if (start_command(&pager_process))  		return;  | 
