Function: gnus-agent-mode

gnus-agent-mode is a byte-compiled function defined in gnus-agent.el.gz.

Signature

(gnus-agent-mode)

Documentation

Minor mode for providing agent support in Gnus buffers.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-agent.el.gz
(defun gnus-agent-mode ()
  "Minor mode for providing agent support in Gnus buffers."
  (let* ((buffer (progn (string-match "^gnus-\\(.*\\)-mode$"
				      (symbol-name major-mode))
			(match-string 1 (symbol-name major-mode))))
	 (mode (intern (format "gnus-agent-%s-mode" buffer))))
    (setq-local gnus-agent-mode t)
    (set mode nil)
    (set (make-local-variable mode) t)
    ;; Set up the menu.
    (when (gnus-visual-p 'agent-menu 'menu)
      (funcall (intern (format "gnus-agent-%s-make-menu-bar" buffer))))
    (unless (assq mode minor-mode-alist)
      (push (cons mode (cdr gnus-agent-mode-status)) minor-mode-alist))
    (unless (assq mode minor-mode-map-alist)
      (push (cons mode (symbol-value (intern (format "gnus-agent-%s-mode-map"
						     buffer))))
	    minor-mode-map-alist))
    (when (derived-mode-p 'gnus-group-mode)
      (let ((init-plugged gnus-plugged)
            (gnus-agent-go-online nil))
        ;; g-a-t-p does nothing when gnus-plugged isn't changed.
        ;; Therefore, make certain that the current value does not
        ;; match the desired initial value.
        (setq gnus-plugged :unknown)
        (gnus-agent-toggle-plugged init-plugged)))
    (gnus-run-hooks 'gnus-agent-mode-hook
		    (intern (format "gnus-agent-%s-mode-hook" buffer)))))