Function: rmail-autodetect
rmail-autodetect is a byte-compiled function defined in rmail.el.gz.
Signature
(rmail-autodetect)
Documentation
Determine the file name of the movemail program and return its flavor.
If rmail-movemail-program is non-nil, use it.
Otherwise, look for movemail in the directories in
rmail-movemail-search-path, those in exec-path(var)/exec-path(fun), and exec-directory.
Source Code
;; Defined in /usr/src/emacs/lisp/mail/rmail.el.gz
(defun rmail-autodetect ()
"Determine the file name of the `movemail' program and return its flavor.
If `rmail-movemail-program' is non-nil, use it.
Otherwise, look for `movemail' in the directories in
`rmail-movemail-search-path', those in `exec-path', and `exec-directory'."
(if rmail-movemail-program
(rmail-probe rmail-movemail-program)
(catch 'scan
(dolist (dir (append rmail-movemail-search-path exec-path
(list exec-directory)))
(when (and dir (file-accessible-directory-p dir))
;; Previously, this didn't have to work on Windows, because
;; rmail-insert-inbox-text before r1.439 fell back to using
;; (expand-file-name "movemail" exec-directory) and just
;; assuming it would work.
;; https://lists.gnu.org/r/bug-gnu-emacs/2008-02/msg00087.html
(let ((progname (expand-file-name
(concat "movemail"
(if (memq system-type '(ms-dos windows-nt))
".exe")) dir)))
(when (and (not (file-directory-p progname))
(file-executable-p progname))
(let ((x (rmail-probe progname)))
(when x
(setq rmail-movemail-program progname)
(throw 'scan x))))))))))