Function: gnus-summary-from-or-to-or-newsgroups

gnus-summary-from-or-to-or-newsgroups is a byte-compiled function defined in gnus-sum.el.gz.

Signature

(gnus-summary-from-or-to-or-newsgroups HEADER FROM)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-summary-from-or-to-or-newsgroups (header from)
  (let ((gnus-tmp-from from)
        (mail-parse-charset gnus-newsgroup-charset)
	;; Is it really necessary to do this next part for each summary line?
	;; Luckily, doesn't seem to slow things down much.
	(mail-parse-ignored-charsets
	 (with-current-buffer gnus-summary-buffer
	   gnus-newsgroup-ignored-charsets)))
    (or
     (and gnus-ignored-from-addresses
          (cond ((functionp gnus-ignored-from-addresses)
                 (funcall gnus-ignored-from-addresses
                          (mail-strip-quoted-names gnus-tmp-from)))
                (t (string-match (gnus-ignored-from-addresses) gnus-tmp-from)))
	  (let ((extra-headers (mail-header-extra header))
		to
		newsgroups)
	    (cond
	     ((setq to (cdr (assq 'To extra-headers)))
	      (concat gnus-summary-to-prefix
		      (inline
			(gnus-summary-extract-address-component
			 (funcall gnus-decode-encoded-address-function to)))))
	     ((setq newsgroups
		    (or
		     (cdr (assq 'Newsgroups extra-headers))
		     (and
		      (memq 'Newsgroups gnus-extra-headers)
		      (eq (car (gnus-find-method-for-group
				gnus-newsgroup-name))
                          'nntp)
		      (gnus-group-real-name gnus-newsgroup-name))))
	      (concat gnus-summary-newsgroup-prefix newsgroups)))))
     (bidi-string-mark-left-to-right
      (inline
	(gnus-summary-extract-address-component gnus-tmp-from))))))