Function: gnus-bind-mm-vars

gnus-bind-mm-vars is a macro defined in gnus-art.el.gz.

Signature

(gnus-bind-mm-vars &rest BODY)

Documentation

Bind some mm-* variables and execute BODY.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defmacro gnus-bind-mm-vars (&rest body)
  "Bind some mm-* variables and execute BODY."
  `(let (mm-html-inhibit-images
	 mm-html-blocked-images
	 (mm-w3m-safe-url-regexp mm-w3m-safe-url-regexp))
     (with-current-buffer
	 (cond ((derived-mode-p 'gnus-article-mode)
		(if (gnus-buffer-live-p gnus-article-current-summary)
		    gnus-article-current-summary
		  ;; Maybe we're in a mml-preview buffer
		  ;; and no group is selected.
		  (current-buffer)))
	       ((gnus-buffer-live-p gnus-summary-buffer)
		gnus-summary-buffer)
	       (t (current-buffer)))
       (setq mm-html-inhibit-images gnus-inhibit-images
	     mm-html-blocked-images (gnus-blocked-images))
       (when (or (not gnus-newsgroup-name)
		 (and (stringp gnus-safe-html-newsgroups)
		      (string-match gnus-safe-html-newsgroups
				    gnus-newsgroup-name))
		 (and (consp gnus-safe-html-newsgroups)
		      (member gnus-newsgroup-name gnus-safe-html-newsgroups)))
	 (setq mm-w3m-safe-url-regexp nil)))
     ,@body))