Function: message-remove-ignored-headers

message-remove-ignored-headers is a byte-compiled function defined in message.el.gz.

Signature

(message-remove-ignored-headers B E &optional PRESERVE-MIME)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/message.el.gz
(defun message-remove-ignored-headers (b e &optional preserve-mime)
  (when (or message-forward-ignored-headers
	    message-forward-included-headers)
    (let ((saved-headers nil))
    (save-restriction
      (narrow-to-region b e)
      (goto-char b)
      (narrow-to-region (point)
			(or (search-forward "\n\n" nil t) (point)))
      ;; When forwarding as MIME, preserve some MIME headers.
      (when preserve-mime
	(let ((headers (buffer-string)))
	  (with-temp-buffer
	    (insert headers)
	    (message-remove-header
	     (if (listp message-forward-included-mime-headers)
		 (mapconcat
		  #'identity (cons "^$" message-forward-included-mime-headers)
		  "\\|")
	       message-forward-included-mime-headers)
	     t nil t)
	    (setq saved-headers (string-lines (buffer-string) t)))))
      (when message-forward-ignored-headers
	(let ((ignored (if (stringp message-forward-ignored-headers)
			   (list message-forward-ignored-headers)
			 message-forward-ignored-headers)))
	  (dolist (elem ignored)
	    (message-remove-header elem t))))
      (when message-forward-included-headers
	(message-remove-header
	 (if (listp message-forward-included-headers)
	     (mapconcat #'identity (cons "^$" message-forward-included-headers)
			"\\|")
	   message-forward-included-headers)
	 t nil t))
      ;; Insert the MIME headers, if any.
      (goto-char (point-max))
      (forward-line -1)
      (dolist (header saved-headers)
	(insert header "\n"))))))