Subject: Re: bug#72426: 29.2.50; comint-pager doesn't affect async-shell-command

From: Eli Zaretskii <[email-masked]>
Date: Sat, 03 Aug 2024 18:38:56 +0300

> From: Spencer Baugh <[email-masked]>
> Date: Sat, 3 Aug 2024 06:47:10 -0400
> Cc: [email-masked]
> 
> On Sat, Aug 3, 2024, 1:48 AM Eli Zaretskii <[email-masked]> wrote:
> 
>  > From: Spencer Baugh <[email-masked]>
>  > Date: Fri, 02 Aug 2024 14:35:25 -0400
>  > 
>  > 
>  > 1. PAGER=less emacs -Q
>  > 2. (setq comint-pager "cat")
>  > 3. (async-shell-command "echo $PAGER")
>  > 4. Observe "less" rather than "cat".
>  > 
>  > I intended async-shell-command to also be affected when I added
>  > comint-pager; a patch to fix this will follow.
> 
>  Thanks, I don't think this is right: comint stuff should not affect
>  lower-level primitives, it should only affect comint and its callers.
> 
> comint-terminfo-terminal affects async-shell-command, why not this?

Ugh!  A mistake, IMNSHO.  But that ship sailed a long time ago, so we
cannot fix the mistake.  We can avoid enlarging the mistake, though.

> If the fact that the variable is in comint is the problem, I can rename it and move it elsewhere.

I don't think functions that are almost primitives should pay
attention to application-level features such as this one.

>  Lisp programs that use async-shell-command can arrange for
>  process-environment to have PAGER=SOMETHING as they see fit.
> 
> My intention is primarily to affect interactive usage of async-shell-command.

But comint-term-environment also affects "M-x compile".