Function: gnus-summary-remove-list-identifiers

gnus-summary-remove-list-identifiers is a byte-compiled function defined in gnus-sum.el.gz.

Signature

(gnus-summary-remove-list-identifiers)

Documentation

Remove identifiers in gnus-list-identifiers from articles in current group.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-summary-remove-list-identifiers ()
  "Remove identifiers in `gnus-list-identifiers' from articles in current group."
  (let ((regexp (gnus-group-get-list-identifiers gnus-newsgroup-name))
        changed subject)
    (when regexp
      (setq regexp (concat "^\\(?:R[Ee]: +\\)*\\(" regexp " *\\)"))
      (dolist (header gnus-newsgroup-headers)
	(setq subject (mail-header-subject header)
	      changed nil)
	(while (string-match regexp subject)
	  (setq subject
		(concat (substring subject 0 (match-beginning 1))
			(substring subject (match-end 0)))
		changed t))
	(when changed
	  (when (string-match "^\\(\\(?:R[Ee]: +\\)+\\)R[Ee]: +" subject)
	    (setq subject
		  (concat (substring subject 0 (match-beginning 1))
			  (substring subject (match-end 1)))))
	  (setf (mail-header-subject header) subject))))))