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 "))))))