Function: mh-alias-reload

mh-alias-reload is an interactive and byte-compiled function defined in mh-alias.el.gz.

Signature

(mh-alias-reload)

Documentation

Reload MH aliases.

Since aliases are updated frequently, MH-E reloads aliases automatically whenever an alias lookup occurs if an alias source has changed. Sources include files listed in your "Aliasfile:" profile component and your password file if option mh-alias-local-users(var)/mh-alias-local-users(fun) is turned on. However, you can reload your aliases manually by calling this command directly.

This function runs mh-alias-reloaded-hook after the aliases have been loaded.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/mh-e/mh-alias.el.gz
(defun mh-alias-reload ()
  "Reload MH aliases.

Since aliases are updated frequently, MH-E reloads aliases
automatically whenever an alias lookup occurs if an alias source has
changed.  Sources include files listed in your \"Aliasfile:\" profile
component and your password file if option `mh-alias-local-users' is
turned on.  However, you can reload your aliases manually by calling
this command directly.

This function runs `mh-alias-reloaded-hook' after the aliases have
been loaded."
  (interactive)
  (save-excursion
    (message "Loading MH aliases...")
    (mh-alias-tstamp t)
    (mh-exec-cmd-quiet t "ali" "-nolist" "-nouser")
    (setq mh-alias-alist nil)
    (setq mh-alias-blind-alist nil)
    (while  (< (point) (point-max))
      (cond
       ((looking-at "^[ \t]"))          ;Continuation line
       ((looking-at "\\(.+\\): .+: .*$") ; A new -blind- MH alias
        (when (not (mh-assoc-string (match-string 1) mh-alias-blind-alist t))
          (setq mh-alias-blind-alist
                (cons (list (match-string 1)) mh-alias-blind-alist))
          (setq mh-alias-alist (cons (list (match-string 1)) mh-alias-alist))))
       ((looking-at "\\(.+\\): .*$")    ; A new MH alias
        (when (not (mh-assoc-string (match-string 1) mh-alias-alist t))
          (setq mh-alias-alist
                (cons (list (match-string 1)) mh-alias-alist)))))
      (forward-line 1)))
  (when mh-alias-local-users
    (setq mh-alias-passwd-alist (mh-alias-local-users))
    ;; Update aliases with local users, but leave existing aliases alone.
    (let ((local-users mh-alias-passwd-alist)
          user)
      (while local-users
        (setq user (car local-users))
        (if (not (mh-assoc-string (car user) mh-alias-alist t))
            (setq mh-alias-alist (append mh-alias-alist (list user))))
        (setq local-users (cdr local-users)))))
  (run-hooks 'mh-alias-reloaded-hook)
  (message "Loading MH aliases...done"))