Subject: Re: bug#61552: Feature request: Add variable Man-prefer-synchronous-call

From: Robert Pluim <[email-masked]>
Date: Tue, 21 Feb 2023 11:44:14 +0100

>>>>> On Mon, 20 Feb 2023 18:11:17 +0000, Sebastian Tennant <[email-masked]> said:

    Sebastian> Quoth Basil Contovounesios <[email-masked]>
    Sebastian> on Thu, 16 Feb 2023 17:09:27 +0000:
    >> […]
    >> Please attach the patches here so that they can be tracked in this
    >> bugtracker.
    >> 
    >> Thanks,

    Sebastian> No problem Basil.  Here's a patch against master:

    Sebastian> From 179af66f885630a7bdf3d3f3146aceb8ad205ce6 Mon Sep 17 00:00:00 2001
    Sebastian> From: Sebastian Tennant <[email-masked]>
    Sebastian> Date: Thu, 10 Mar 2022 08:36:04 +0000
    Sebastian> Subject: [PATCH] Add user-customizable variable Man-prefer-synchronous-call

    Sebastian> * lisp/man.el (Man-getpage-in-background): Only call #'start-process
    Sebastian> when 'make-process satisfies #'fboundp AND Man-prefer-synchronous-call
    Sebastian> is bound to nil.

Your commit message should indicate that youʼve added a new defcustom,
and you should announce it in etc/NEWS (and add a description to the
manual, if that makes sense)

    Sebastian> ---
    Sebastian>  lisp/man.el | 9 ++++++++-
    Sebastian>  1 file changed, 8 insertions(+), 1 deletion(-)

    Sebastian> diff --git a/lisp/man.el b/lisp/man.el
    Sebastian> index 286edf9314e..fb4f8f02db7 100644
    Sebastian> --- a/lisp/man.el
    Sebastian> +++ b/lisp/man.el
    Sebastian> @@ -97,6 +97,12 @@ man
    Sebastian>    :group 'external
    Sebastian>    :group 'help)
 
    Sebastian> +(defcustom Man-prefer-synchronous-call nil
    Sebastian> +  "Non-nil means always call the Un*x man command synchronously,
    Sebastian> +rather than asynchronously, which is the default
    Sebastian> behaviour."

The first line should be a complete sentence. Something like

"Whether to call the Un*x 'manʼ command synchronously."

    Sebastian> +  :type 'boolean
    Sebastian> +  :group 'man)

This needs a :version tag

    Sebastian> +
    Sebastian>  (defcustom Man-filter-list nil
    Sebastian>    "Manpage cleaning filter command phrases.
    Sebastian>  This variable contains a list of the following form:
    Sebastian> @@ -1118,7 +1124,8 @@ Man-getpage-in-background
    Sebastian>  					"[cleaning...]")
    Sebastian>  				      'face 'mode-line-emphasis)))
    Sebastian>  	(Man-start-calling
    Sebastian> -	 (if (fboundp 'make-process)
    Sebastian> +	 (if (and (fboundp 'make-process)
    Sebastian> +                  (not Man-prefer-synchronous-call))
    Sebastian>  	     (let ((proc (start-process
    Sebastian>  			  manual-program buffer
    Sebastian>  			  (if (memq system-type '(cygwin windows-nt))
    Sebastian> -- 
    Sebastian> 2.30.2

Robert
--