Function: mail-completion-at-point-function

mail-completion-at-point-function is an autoloaded and byte-compiled function defined in mailalias.el.gz.

Signature

(mail-completion-at-point-function)

Documentation

Compute completion data for mail aliases.

For use on completion-at-point-functions.

Source Code

;; Defined in /usr/src/emacs/lisp/mail/mailalias.el.gz
;;;###autoload
(defun mail-completion-at-point-function ()
  "Compute completion data for mail aliases.
For use on `completion-at-point-functions'."
  ;; Read the defaults first, if we have not done so.
  (sendmail-sync-aliases)
  (if (eq mail-aliases t)
      (progn
	(setq mail-aliases nil)
	(if (file-exists-p mail-personal-alias-file)
	    (build-mail-aliases))))
  (let ((list mail-complete-alist)
        (list-exp nil))
    (if (and (< 0 (mail-header-end))
	     (save-excursion
	       (if (re-search-backward "^[^\t ]" nil t)
		   (while list
		     (if (looking-at (car (car list)))
			 (setq list-exp (cdr (car list))
			       list ())
		       (setq list (cdr list)))))
	       list-exp))
	(let* ((end (point))
	       (beg (save-excursion
		      (skip-chars-backward "^ \t<,:")
		      (point)))
               (table (completion-table-dynamic
                       (lambda (prefix)
                         (let ((pattern prefix)) (eval list-exp))))))
          (list beg end table)))))