From 691790b8ea5192395a2eeac0f89a2f41d74f2ddb Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 8 Aug 2019 16:17:51 +0300 Subject: [PATCH] Avoid Groff hanging on MS-Windows when invoked by "M-x man" * lisp/man.el (Man-build-man-command): On MS-Windows, redirect stdin of 'man' to the null device, to make sure Groff exits immediately after formatting the man page. --- lisp/man.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/man.el b/lisp/man.el index 409fadb66b8..731d480cbee 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -624,7 +624,13 @@ This is necessary if one wants to dump man.el with Emacs." ;; so we don't need `2>' even with DOS shells ;; which do support stderr redirection. ((not (fboundp 'make-process)) " %s") - ((concat " %s 2>" null-device))))) + ((concat " %s 2>" null-device + ;; Some MS-Windows ports of Groff + ;; try to read stdin after exhausting + ;; the command-line arguments; make + ;; them exit if/when they do. + (if (eq system-type 'windows-nt) + (concat " <" null-device))))))) (flist Man-filter-list)) (while (and flist (car flist)) (let ((pcom (car (car flist))) -- 2.39.2