Function: nnmail-activate

nnmail-activate is a byte-compiled function defined in nnmail.el.gz.

Signature

(nnmail-activate BACKEND &optional FORCE)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnmail.el.gz
;; Activate a backend only if it isn't already activated.
;; If FORCE, re-read the active file even if the backend is
;; already activated.
(defun nnmail-activate (backend &optional force)
  (nnheader-init-server-buffer)
  (let (file timestamp file-time)
    (if (or (not (symbol-value (intern (format "%s-group-alist" backend))))
	    force
	    (and (setq file (ignore-errors
			      (symbol-value (intern (format "%s-active-file"
							    backend)))))
		 (setq file-time (file-attribute-modification-time
				  (file-attributes file)))
		 (or (not
		      (setq timestamp
			    (condition-case ()
				(symbol-value (intern
					       (format "%s-active-timestamp"
						       backend)))
			      (error 'none))))
		     (eq timestamp 'none)
		     (time-less-p timestamp file-time))))
	(save-excursion
	  (or (eq timestamp 'none)
	      (set (intern (format "%s-active-timestamp" backend))
		   file-time))
	  (funcall (intern (format "%s-request-list" backend)))))
    t))