Function: mm-preferred-alternative-precedence

mm-preferred-alternative-precedence is a byte-compiled function defined in mm-decode.el.gz.

Signature

(mm-preferred-alternative-precedence HANDLES)

Documentation

Return the precedence based on HANDLES and mm-discouraged-alternatives.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/mm-decode.el.gz
(defun mm-preferred-alternative-precedence (handles)
  "Return the precedence based on HANDLES and `mm-discouraged-alternatives'."
  (setq handles (reverse handles))
  (dolist (disc (reverse mm-discouraged-alternatives))
    (dolist (handle (copy-sequence handles))
      (when (string-match disc (mm-handle-media-type handle))
	(setq handles (nconc (delete handle handles) (list handle))))))
  ;; Remove empty parts.
  (dolist (handle (copy-sequence handles))
    (when (and (bufferp (mm-handle-buffer handle))
	       (not (with-current-buffer (mm-handle-buffer handle)
		      (goto-char (point-min))
		      (re-search-forward "[^ \t\n]" nil t))))
      (setq handles (nconc (delete handle handles) (list handle)))))
  (mapcar #'mm-handle-media-type handles))