From: Eli Zaretskii <email@example.com> To: Maxim Nikulin <firstname.lastname@example.org> Cc: email@example.com Subject: bug#12972: [PATCH] Avoid regression in mailcap-view-file similar to Bug#44824 Date: Thu, 01 Jul 2021 21:38:15 +0300 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> (message from Maxim Nikulin on Fri, 2 Jul 2021 00:01:59 +0700) > From: Maxim Nikulin <firstname.lastname@example.org> > Date: Fri, 2 Jul 2021 00:01:59 +0700 > > --- a/lisp/net/mailcap.el > +++ b/lisp/net/mailcap.el > @@ -1177,7 +1177,23 @@ See \"~/.mailcap\", `mailcap-mime-data' and related files and variables." > (shell-quote-argument (convert-standard-filename file)) > command > nil t)) > - (start-process-shell-command command nil command))) > + ;; Handlers such as "gio open" and kde-open5 start viewer in background > + ;; and exit immediately. Avoid `start-process' since it assumes > + ;; :connection-type 'pty and kills children processes with SIGHUP > + ;; when temporary terminal session is finished (Bug#44824). > + ;; An alternative is `process-connection-type' let-bound to nil for > + ;; `start-process-shell-command' call (with no chance to report failure). > + (make-process > + :name "mailcap-view-file" :connection-type 'pipe :noquery t > + :buffer nil ; "*Messages*" may be suitable for debugging > + :sentinel (lambda (proc event) > + (when (and (memq (process-status proc) '(exit signal)) > + (/= (process-exit-status proc) 0)) > + (message > + "Command %s: %s." > + (mapconcat #'identity (process-command proc) " ") > + (substring event 0 -1)))) > + :command (list shell-file-name shell-command-switch command)))) I have two issues with this change: First, you replace start-process-shell-command with make-process, and I'm not sure I understand why. If all you want is to use pipes, why not simply bind process-connection-type around the call to start-process-shell-command? Does it not work for some reason? And second, I'm not sure we should make this change unconditionally. It isn't guaranteed that the handler will be one of those which have the problem, is it? And with other handlers, this could be an incompatible behavior change if the handler behaves differently when its standard handles are connected to a pipe rather than a terminal device. So I'd rather make this a conditional change, ideally only when one of the affected handlers is used (assuming we can detect that somehow). Thanks.
next prev parent reply other threads:[~2021-07-01 18:40 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <F3C1A7E58B2441F7A674239043AC031A@us.oracle.com> 2021-06-01 6:56 ` bug#12972: 24.3.50; Move `org-open-file' and associated code out of Org mode Lars Ingebrigtsen [not found] ` <email@example.com> 2021-06-02 16:20 ` Maxim Nikulin 2021-07-01 17:01 ` bug#12972: [PATCH] Avoid regression in mailcap-view-file similar to Bug#44824 Maxim Nikulin 2021-07-01 18:38 ` Eli Zaretskii [this message] [not found] ` <firstname.lastname@example.org> 2021-07-02 12:21 ` Maxim Nikulin 2021-07-02 12:37 ` Eli Zaretskii [not found] ` <email@example.com> 2021-07-02 16:24 ` Maxim Nikulin 2021-07-02 17:28 ` Eli Zaretskii [not found] ` <firstname.lastname@example.org> 2021-07-03 11:29 ` Maxim Nikulin 2021-07-03 11:56 ` Eli Zaretskii [not found] ` <email@example.com> 2021-07-04 13:37 ` Maxim Nikulin 2021-07-04 13:49 ` Eli Zaretskii 2021-07-05 13:12 ` Maxim Nikulin 2021-07-05 15:23 ` Eli Zaretskii 2021-07-30 12:01 ` bug#12972: 24.3.50; Move `org-open-file' and associated code out of Org mode Lars Ingebrigtsen 2021-07-30 12:24 ` Maxim Nikulin 2021-07-30 12:42 ` Lars Ingebrigtsen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://www.orgmode.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='Re: bug#12972: [PATCH] Avoid regression in mailcap-view-file similar to Bug#44824' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).