Function: Man-build-man-command

Man-build-man-command is a byte-compiled function defined in man.el.gz.

Signature

(Man-build-man-command)

Documentation

Builds the entire background manpage and cleaning command.

Source Code

;; Defined in /usr/src/emacs/lisp/man.el.gz
(defsubst Man-build-man-command ()
  "Builds the entire background manpage and cleaning command."
  (let ((command (concat manual-program " " Man-switches
                         (cond
                          ;; Already has %s
                          ((string-match "%s" manual-program) "")
                          ;; Stock MS-DOS shells cannot redirect stderr;
                          ;; `call-process' below sends it to /dev/null,
                          ;; 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
                                   ;; 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)))
	    (pargs (cdr (car flist))))
	(setq command
	      (concat command " | " pcom " "
		      (mapconcat (lambda (phrase)
				   (if (not (stringp phrase))
				       (error "Malformed Man-filter-list"))
				   phrase)
				 pargs " ")))
        (setq flist (cdr flist))))
    command))