Function: mh-variant-set
mh-variant-set is an interactive and byte-compiled function defined in
mh-e.el.gz.
Signature
(mh-variant-set VARIANT)
Documentation
Set the MH variant to VARIANT.
Sets mh-progs, mh-lib, mh-lib-progs and
mh-flists-present-flag.
If the VARIANT is "autodetect", then first try nmh, then MH and
finally GNU mailutils MH.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/mh-e/mh-e.el.gz
(defun mh-variant-set (variant)
"Set the MH variant to VARIANT.
Sets `mh-progs', `mh-lib', `mh-lib-progs' and
`mh-flists-present-flag'.
If the VARIANT is \"autodetect\", then first try nmh, then MH and
finally GNU mailutils MH."
(interactive
(list (completing-read
"MH variant: "
(mapcar (lambda (x) (list (car x))) (mh-variants))
nil t)))
;; TODO Remove mu-mh backwards compatibility in 9.0.
(when (and (stringp variant)
(string-match "^mu-mh" variant))
(message
(format "%s\n%s; %s" "The variant name mu-mh has been renamed to gnu-mh"
"and will be removed in MH-E 9.0"
"try M-x customize-option mh-variant"))
(sit-for 5)
(setq variant (concat "gnu-mh" (substring variant (match-end 0)))))
(let ((valid-list (mapcar #'car (mh-variants))))
(cond
((eq variant 'none))
((eq variant 'autodetect)
(cond
((mh-variant-set-variant 'nmh)
(message "%s installed as MH variant" mh-variant-in-use))
((mh-variant-set-variant 'mh)
(message "%s installed as MH variant" mh-variant-in-use))
((mh-variant-set-variant 'gnu-mh)
(message "%s installed as MH variant" mh-variant-in-use))
(t
(message "No MH variant found on the system"))))
((member variant valid-list)
(when (not (mh-variant-set-variant variant))
(message "Warning: %s variant not found. Autodetecting..." variant)
(mh-variant-set 'autodetect)))
((null valid-list)
(message "Unknown variant %s; can't find MH anywhere" variant))
(t
(message "Unknown variant %s; use %s"
variant
(mapconcat (lambda (x) (format "%s" (car x)))
(mh-variants) " or "))))))