Function: gnus-multi-decode-header

gnus-multi-decode-header is a byte-compiled function defined in gnus-art.el.gz.

Signature

(gnus-multi-decode-header START END)

Documentation

Apply the functions from gnus-encoded-word-methods that match.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-multi-decode-header (start end)
  "Apply the functions from `gnus-encoded-word-methods' that match."
  (unless (and gnus-decode-header-methods-cache
	       (eq gnus-newsgroup-name
		   (car gnus-decode-header-methods-cache)))
    (setq gnus-decode-header-methods-cache (list gnus-newsgroup-name))
    (dolist (x gnus-decode-header-methods)
      (if (symbolp x)
	  (nconc gnus-decode-header-methods-cache (list x))
	(if (and gnus-newsgroup-name
		 (string-match (car x) gnus-newsgroup-name))
	    (nconc gnus-decode-header-methods-cache
		   (list (cdr x)))))))
  (let ((xlist gnus-decode-header-methods-cache))
    (pop xlist)
    (save-restriction
      (narrow-to-region start end)
      (while xlist
	(funcall (pop xlist) (point-min) (point-max))))))