Subject: bug#12972: [PATCH] Avoid regression in mailcap-view-file similar to Bug#44824

From: Eli Zaretskii <[email-masked]>
Date: Sat, 03 Jul 2021 14:56:20 +0300

> From: Maxim Nikulin <[email-masked]>
> Date: Sat, 3 Jul 2021 18:29:30 +0700
> 
> I am giving up with this issue.

That's too bad.  I see no reason to give up, and I urge you to
reconsider, please.

> >> Because of I can not imagine such case for mailcap handler in Emacs yet
> >> and, accordingly to you, "this could be an incompatible behavior change".
> > 
> > You don't need to imagine it, you just need to trust me that I know
> > what I'm talking about: it would be an incompatible change.
> 
> Is it a kind of Church of Emacs that I have to just believe in you? 

It isn't a church, but some kind of trust cannot harm.

> Previous time you were trying to convince me that unconditional 'pipe is 
> perfectly safe when I was unsure concerning behavior on Windows.

It is indeed safe for Windows, because Emacs on Windows always uses
pipes (as PTYs are not available there).

My concern here is for systems other than Windows and other than those
where you saw the issue.

Your patch unconditionally assumes that every handler will immediately
exit, and that it doesn't care about the connection type with the
parent Emacs process, but that is not guaranteed to be true.  What I'm
asking is to let some kind of "fire escape" for users who could be
adversely affected by this assumption.  Ideally, some automatic
detection of the handlers that need pipes would be the best.  If that
is not feasible, at least an option to control process-connection-type
would be enough.

> You prefer to keep reasons of your objections unveiled. I see no issue 
> with the patch. It can be by a few lines shorter but the price is worse 
> user experience. I have no idea how to move further.

I explained the issue I have with unconditionally changing the
interface.  I have explained it above again.  I hope it is clear
enough.

> Finally, the patch touches month-old unreleased code, so I see no point 
> to discuss that it is "incompatible".

Hmm... that's true.  So I guess an option to use PTYs should be good
enough here.

> P.S. It was my fault to use `make-process' in Org since the function is 
> not available in Emacs-24. I'm sorry for that incompatibility.

Great, thanks.  So I think it should be easy to adjust your patch to
have a variable that controls process-connection-type, and then it
could be installed.